diff options
author | Joerg Mueller <nexyon@gmail.com> | 2009-07-26 13:28:33 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2009-07-26 13:28:33 +0400 |
commit | 154c7c97f4fb0b2a54c13c4155b1dd33c3b2f9dc (patch) | |
tree | 25c6d198f377ccb97cfa3cc1aad735b43e8a4071 /source/blender/editors | |
parent | 25aa8d37b5cfcbf3d318ec26d3dcb7d5694199e5 (diff) | |
parent | a934773475182feeddc4dd208dc5222975d9206a (diff) |
* 2.5 merge revision 21713 to 21915
* fixed a bug in the OpenAL Device resulting in a crash when exiting while sounds are playing
Diffstat (limited to 'source/blender/editors')
94 files changed, 10566 insertions, 8075 deletions
diff --git a/source/blender/editors/animation/anim_channels.c b/source/blender/editors/animation/anim_channels.c index 6cb00f9285b..6b31fbe25a9 100644 --- a/source/blender/editors/animation/anim_channels.c +++ b/source/blender/editors/animation/anim_channels.c @@ -48,6 +48,7 @@ #include "DNA_camera_types.h" #include "DNA_curve_types.h" #include "DNA_object_types.h" +#include "DNA_particle_types.h" #include "DNA_screen_types.h" #include "DNA_scene_types.h" #include "DNA_space_types.h" @@ -981,6 +982,20 @@ static void setflag_anim_channels (bAnimContext *ac, short setting, short mode, } } break; + case ANIMTYPE_FILLPARTD: + { + Object *ob= (Object *)ale->data; + + // XXX - settings should really be moved out of ob->nlaflag + if ((onlysel == 0) || (ob->flag & SELECT)) { + if (setting == ACHANNEL_SETTING_EXPAND) { + if (mode == ACHANNEL_SETFLAG_TOGGLE) ob->nlaflag ^= OB_ADS_SHOWPARTS; + else if (mode == ACHANNEL_SETFLAG_ADD) ob->nlaflag |= OB_ADS_SHOWPARTS; + else ob->nlaflag &= ~OB_ADS_SHOWPARTS; + } + } + } + break; case ANIMTYPE_DSMAT: { @@ -1048,6 +1063,17 @@ static void setflag_anim_channels (bAnimContext *ac, short setting, short mode, } } break; + case ANIMTYPE_DSPART: + { + ParticleSettings *part= (ParticleSettings*)ale->data; + + if (ASUBCHANNEL_SEL_OK(ale)) { + if (setting == ACHANNEL_SETTING_EXPAND) { + ACHANNEL_SET_FLAG(part, mode, PART_DS_EXPAND); + } + } + } + break; case ANIMTYPE_GROUP: { @@ -1605,6 +1631,13 @@ static int mouse_anim_channels (bAnimContext *ac, float x, int channel_index, sh notifierFlags |= ND_ANIMCHAN_EDIT; } break; + case ANIMTYPE_FILLPARTD: + { + Object *ob= (Object *)ale->data; + ob->nlaflag ^= OB_ADS_SHOWPARTS; // XXX + notifierFlags |= ND_ANIMCHAN_EDIT; + } + break; case ANIMTYPE_DSMAT: { @@ -1648,6 +1681,13 @@ static int mouse_anim_channels (bAnimContext *ac, float x, int channel_index, sh notifierFlags |= ND_ANIMCHAN_EDIT; } break; + case ANIMTYPE_DSPART: + { + ParticleSettings *part= (ParticleSettings *)ale->data; + part->flag ^= PART_DS_EXPAND; + notifierFlags |= ND_ANIMCHAN_EDIT; + } + break; case ANIMTYPE_GROUP: { diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c index ecc8012f3ec..5676fee5bac 100644 --- a/source/blender/editors/animation/anim_filter.c +++ b/source/blender/editors/animation/anim_filter.c @@ -62,6 +62,7 @@ #include "DNA_material_types.h" #include "DNA_mesh_types.h" #include "DNA_object_types.h" +#include "DNA_particle_types.h" #include "DNA_space_types.h" #include "DNA_scene_types.h" #include "DNA_screen_types.h" @@ -484,6 +485,16 @@ bAnimListElem *make_new_animlistelem (void *data, short datatype, void *owner, s 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_DSMAT: { @@ -551,6 +562,17 @@ bAnimListElem *make_new_animlistelem (void *data, short datatype, void *owner, s ale->datatype= ALE_ACT; } break; + case ANIMTYPE_DSPART: + { + ParticleSettings *part= (ParticleSettings*)ale->data; + AnimData *adt= part->adt; + + ale->flag= FILTER_PART_OBJD(part); + + ale->key_data= (adt) ? adt->action : NULL; + ale->datatype= ALE_ACT; + } + break; case ANIMTYPE_GROUP: { @@ -1008,6 +1030,60 @@ static int animdata_filter_dopesheet_mats (ListBase *anim_data, bDopeSheet *ads, return items; } +static int animdata_filter_dopesheet_particles (ListBase *anim_data, bDopeSheet *ads, Base *base, 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; + + 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 settings? */ + if (FILTER_PART_OBJC(ob) || (filter_mode & ANIMFILTER_CURVESONLY)) { + if ((filter_mode & ANIMFILTER_CHANNELS)){ + ale = make_new_animlistelem(psys->part, ANIMTYPE_DSPART, base, ANIMTYPE_OBJECT, (ID *)psys->part); + if (ale) { + BLI_addtail(anim_data, ale); + items++; + } + } + + if (FILTER_PART_OBJD(psys->part) || (filter_mode & ANIMFILTER_CURVESONLY)) { + ANIMDATA_FILTER_CASES(psys->part, + { /* AnimData blocks - do nothing... */ }, + items += animdata_filter_nla(anim_data, psys->part->adt, filter_mode, psys->part, ANIMTYPE_DSPART, (ID *)psys->part);, + items += animdata_filter_fcurves(anim_data, psys->part->adt->drivers.first, NULL, psys->part, ANIMTYPE_DSPART, filter_mode, (ID *)psys->part);, + items += animdata_filter_action(anim_data, psys->part->adt->action, filter_mode, psys->part, ANIMTYPE_DSPART, (ID *)psys->part);) + } + } + } + + /* return the number of items added to the list */ + return items; +} + static int animdata_filter_dopesheet_obdata (ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode) { bAnimListElem *ale=NULL; @@ -1229,6 +1305,10 @@ static int animdata_filter_dopesheet_ob (ListBase *anim_data, bDopeSheet *ads, B } if (obdata_ok) items += animdata_filter_dopesheet_obdata(anim_data, ads, base, filter_mode); + + /* particles */ + if(ob->particlesystem.first && !(ads->filterflag & ADS_FILTER_NOPART)) + items += animdata_filter_dopesheet_particles(anim_data, ads, base, filter_mode); /* return the number of items added to the list */ return items; @@ -1406,7 +1486,7 @@ static int animdata_filter_dopesheet (ListBase *anim_data, bDopeSheet *ads, int if (base->object) { Object *ob= base->object; Key *key= ob_get_key(ob); - short actOk=1, keyOk=1, dataOk=1, matOk=1; + short actOk=1, keyOk=1, dataOk=1, matOk=1, partOk=1; /* firstly, check if object can be included, by the following fanimors: * - if only visible, must check for layer and also viewport visibility @@ -1548,9 +1628,35 @@ static int animdata_filter_dopesheet (ListBase *anim_data, bDopeSheet *ads, int 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) + if (!actOk && !keyOk && !dataOk && !matOk && !partOk) continue; } else { @@ -1599,9 +1705,22 @@ static int animdata_filter_dopesheet (ListBase *anim_data, bDopeSheet *ads, int dataOk= 0; break; } + + /* particles */ + partOk = 0; + if(ob->particlesystem.first) { + ParticleSystem *psys = ob->particlesystem.first; + for(; psys; psys=psys->next) { + if(psys->part && ANIMDATA_HAS_KEYS(psys->part)) { + partOk = 1; + break; + } + + } + } /* check if all bad (i.e. nothing to show) */ - if (!actOk && !keyOk && !dataOk && !matOk) + if (!actOk && !keyOk && !dataOk && !matOk && !partOk) continue; } diff --git a/source/blender/editors/animation/anim_ops.c b/source/blender/editors/animation/anim_ops.c index 45fe05dec4a..4e669a01e09 100644 --- a/source/blender/editors/animation/anim_ops.c +++ b/source/blender/editors/animation/anim_ops.c @@ -394,10 +394,10 @@ void ED_operatortypes_anim(void) WM_operatortype_append(ANIM_OT_insert_keyframe); WM_operatortype_append(ANIM_OT_delete_keyframe); WM_operatortype_append(ANIM_OT_insert_keyframe_menu); - //WM_operatortype_append(ANIM_OT_delete_keyframe_menu); + WM_operatortype_append(ANIM_OT_delete_keyframe_v3d); WM_operatortype_append(ANIM_OT_insert_keyframe_button); WM_operatortype_append(ANIM_OT_delete_keyframe_button); - WM_operatortype_append(ANIM_OT_delete_keyframe_old); // xxx remove? + WM_operatortype_append(ANIM_OT_add_driver_button); WM_operatortype_append(ANIM_OT_remove_driver_button); diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c index 78ceb4a0149..2107e6e4252 100644 --- a/source/blender/editors/animation/keyframes_draw.c +++ b/source/blender/editors/animation/keyframes_draw.c @@ -445,28 +445,16 @@ static void draw_keylist(View2D *v2d, DLRBT_Tree *keys, DLRBT_Tree *blocks, floa /* draw keys */ if (keys) { for (ak= keys->first; ak; ak= ak->next) { + /* optimisation: if keyframe doesn't appear within 5 units (screenspace) in visible area, don't draw + * - this might give some improvements, since we current have to flip between view/region matrices + */ + if (IN_RANGE_INCL(ak->cfra, v2d->cur.xmin, v2d->cur.xmax) == 0) + continue; + /* draw using OpenGL - uglier but faster */ - // NOTE: a previous version of this didn't work nice for some intel cards + // NOTE1: a previous version of this didn't work nice for some intel cards + // NOTE2: if we wanted to go back to icons, these are icon = (ak->sel & SELECT) ? ICON_SPACE2 : ICON_SPACE3; draw_keyframe_shape(ak->cfra, ypos, xscale, 5.0f, (ak->sel & SELECT), KEYFRAME_SHAPE_BOTH); - -#if 0 // OLD CODE - //int sc_x, sc_y; - - /* get co-ordinate to draw at */ - //gla2DDrawTranslatePt(di, ak->cfra, ypos, &sc_x, &sc_y); - - /* draw using icons - old way which is slower but more proven */ - //if (ak->sel & SELECT) UI_icon_draw_aspect((float)sc_x-7, (float)sc_y-6, ICON_SPACE2, 1.0f); - //else UI_icon_draw_aspect((float)sc_x-7, (float)sc_y-6, ICON_SPACE3, 1.0f); -#endif // OLD CODE -#if 0 // NEW NON-WORKING CODE - /* draw icon */ - // FIXME: this draws slightly wrong, as we need to apply some offset for icon, but that depends on scaling - // so for now disabled - //int icon = (ak->sel & SELECT) ? ICON_SPACE2 : ICON_SPACE3; - //UI_icon_draw_aspect(ak->cfra, ypos-6, icon, 1.0f); -#endif // NEW NON-WORKING CODE - } } diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index 251c59c47c9..60d0aa2c7bd 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -1081,9 +1081,15 @@ static int insert_key_menu_invoke (bContext *C, wmOperator *op, wmEvent *event) pup= uiPupMenuBegin(C, "Insert Keyframe", 0); layout= uiPupMenuLayout(pup); - /* active Keying Set */ - uiItemIntO(layout, "Active Keying Set", 0, "ANIM_OT_insert_keyframe_menu", "type", i++); - uiItemS(layout); + /* active Keying Set + * - only include entry if it exists + */ + if (scene->active_keyingset) { + uiItemIntO(layout, "Active Keying Set", 0, "ANIM_OT_insert_keyframe_menu", "type", i++); + uiItemS(layout); + } + else + i++; /* user-defined Keying Sets * - these are listed in the order in which they were defined for the active scene @@ -1112,7 +1118,7 @@ static int insert_key_menu_invoke (bContext *C, wmOperator *op, wmEvent *event) void ANIM_OT_insert_keyframe_menu (wmOperatorType *ot) { /* identifiers */ - ot->name= "Insert Keyframe"; + ot->name= "Insert Keyframe Menu"; ot->idname= "ANIM_OT_insert_keyframe_menu"; /* callbacks */ @@ -1217,7 +1223,7 @@ void ANIM_OT_delete_keyframe (wmOperatorType *ot) * -- Joshua Leung, Jan 2009 */ -static int delete_key_old_exec (bContext *C, wmOperator *op) +static int delete_key_v3d_exec (bContext *C, wmOperator *op) { Scene *scene= CTX_data_scene(C); float cfra= (float)CFRA; // XXX for now, don't bother about all the yucky offset crap @@ -1255,15 +1261,15 @@ static int delete_key_old_exec (bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void ANIM_OT_delete_keyframe_old (wmOperatorType *ot) +void ANIM_OT_delete_keyframe_v3d (wmOperatorType *ot) { /* identifiers */ ot->name= "Delete Keyframe"; - ot->idname= "ANIM_OT_delete_keyframe_old"; + ot->idname= "ANIM_OT_delete_keyframe_v3d"; /* callbacks */ ot->invoke= WM_operator_confirm; - ot->exec= delete_key_old_exec; + ot->exec= delete_key_v3d_exec; ot->poll= ED_operator_areaactive; @@ -1341,7 +1347,7 @@ static int insert_key_button_exec (bContext *C, wmOperator *op) void ANIM_OT_insert_keyframe_button (wmOperatorType *ot) { /* identifiers */ - ot->name= "Insert Keyframe"; + ot->name= "Insert Keyframe (Buttons)"; ot->idname= "ANIM_OT_insert_keyframe_button"; /* callbacks */ @@ -1349,7 +1355,7 @@ void ANIM_OT_insert_keyframe_button (wmOperatorType *ot) ot->poll= modify_key_op_poll; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag= OPTYPE_UNDO; /* properties */ RNA_def_boolean(ot->srna, "all", 1, "All", "Insert a keyframe for all element of the array."); @@ -1411,7 +1417,7 @@ static int delete_key_button_exec (bContext *C, wmOperator *op) void ANIM_OT_delete_keyframe_button (wmOperatorType *ot) { /* identifiers */ - ot->name= "Delete Keyframe"; + ot->name= "Delete Keyframe (Buttons)"; ot->idname= "ANIM_OT_delete_keyframe_button"; /* callbacks */ @@ -1419,7 +1425,7 @@ void ANIM_OT_delete_keyframe_button (wmOperatorType *ot) ot->poll= modify_key_op_poll; /* flags */ - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + ot->flag= OPTYPE_UNDO; /* properties */ RNA_def_boolean(ot->srna, "all", 1, "All", "Delete keyfames from all elements of the array."); diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c index 0f8de7f607d..01b8224298b 100644 --- a/source/blender/editors/animation/keyingsets.c +++ b/source/blender/editors/animation/keyingsets.c @@ -233,7 +233,7 @@ char *ANIM_build_keyingsets_menu (ListBase *list, short for_edit) BLI_dynstr_append(pupds, " %x0|"); } else - BLI_dynstr_append(pupds, "<No Keying Set Active>%x0|"); + BLI_dynstr_append(pupds, "No Keying Set%x0|"); /* loop through keyingsets, adding them */ for (ks=list->first, i=1; ks; ks=ks->next, i++) { diff --git a/source/blender/editors/armature/armature_intern.h b/source/blender/editors/armature/armature_intern.h index d5ad63ca21b..bf329270b8c 100644 --- a/source/blender/editors/armature/armature_intern.h +++ b/source/blender/editors/armature/armature_intern.h @@ -33,28 +33,50 @@ struct wmOperatorType; /* editarmature.c operators */ void ARMATURE_OT_bone_primitive_add(struct wmOperatorType *ot); -void ARMATURE_OT_bones_align(struct wmOperatorType *ot); + +void ARMATURE_OT_align(struct wmOperatorType *ot); void ARMATURE_OT_calculate_roll(struct wmOperatorType *ot); void ARMATURE_OT_switch_direction(struct wmOperatorType *ot); + void ARMATURE_OT_subdivs(struct wmOperatorType *ot); void ARMATURE_OT_subdivide_simple(struct wmOperatorType *ot); void ARMATURE_OT_subdivide_multi(struct wmOperatorType *ot); + void ARMATURE_OT_parent_set(struct wmOperatorType *ot); void ARMATURE_OT_parent_clear(struct wmOperatorType *ot); + void ARMATURE_OT_select_all_toggle(struct wmOperatorType *ot); void ARMATURE_OT_select_inverse(struct wmOperatorType *ot); void ARMATURE_OT_select_hierarchy(struct wmOperatorType *ot); void ARMATURE_OT_select_linked(struct wmOperatorType *ot); + void ARMATURE_OT_delete(struct wmOperatorType *ot); -void ARMATURE_OT_duplicate_selected(struct wmOperatorType *ot); +void ARMATURE_OT_duplicate(struct wmOperatorType *ot); void ARMATURE_OT_extrude(struct wmOperatorType *ot); void ARMATURE_OT_click_extrude(struct wmOperatorType *ot); +void ARMATURE_OT_fill(struct wmOperatorType *ot); +void ARMATURE_OT_merge(struct wmOperatorType *ot); +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); + +/* ******************************************************* */ +/* Pose-Mode Operators */ void POSE_OT_hide(struct wmOperatorType *ot); void POSE_OT_reveal(struct wmOperatorType *ot); + +void POSE_OT_apply(struct wmOperatorType *ot); + 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_copy(struct wmOperatorType *ot); +void POSE_OT_paste(struct wmOperatorType *ot); + void POSE_OT_select_all_toggle(struct wmOperatorType *ot); void POSE_OT_select_inverse(struct wmOperatorType *ot); void POSE_OT_select_parent(struct wmOperatorType *ot); @@ -62,6 +84,24 @@ void POSE_OT_select_hierarchy(struct wmOperatorType *ot); void POSE_OT_select_linked(struct wmOperatorType *ot); void POSE_OT_select_constraint_target(struct wmOperatorType *ot); +void POSE_OT_groups_menu(struct wmOperatorType *ot); +void POSE_OT_group_add(struct wmOperatorType *ot); +void POSE_OT_group_remove(struct wmOperatorType *ot); +void POSE_OT_group_remove(struct wmOperatorType *ot); +void POSE_OT_group_assign(struct wmOperatorType *ot); +void POSE_OT_group_unassign(struct wmOperatorType *ot); + +void POSE_OT_paths_calculate(struct wmOperatorType *ot); +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_flags_set(struct wmOperatorType *ot); + +/* ******************************************************* */ +/* Etch-A-Ton */ + void SKETCH_OT_gesture(struct wmOperatorType *ot); void SKETCH_OT_delete(struct wmOperatorType *ot); void SKETCH_OT_draw_stroke(struct wmOperatorType *ot); @@ -70,12 +110,14 @@ void SKETCH_OT_finish_stroke(struct wmOperatorType *ot); void SKETCH_OT_cancel_stroke(struct wmOperatorType *ot); void SKETCH_OT_select(struct wmOperatorType *ot); +/* ******************************************************* */ /* PoseLib */ void POSELIB_OT_pose_add(struct wmOperatorType *ot); void POSELIB_OT_pose_remove(struct wmOperatorType *ot); void POSELIB_OT_pose_rename(struct wmOperatorType *ot); void POSELIB_OT_browse_interactive(struct wmOperatorType *ot); +/* ******************************************************* */ /* editarmature.c */ struct bArmature; struct EditBone; diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c index df32f452a38..bfe3befe1b3 100644 --- a/source/blender/editors/armature/armature_ops.c +++ b/source/blender/editors/armature/armature_ops.c @@ -110,7 +110,7 @@ void ED_operatortypes_armature(void) /* EDIT ARMATURE */ WM_operatortype_append(ARMATURE_OT_bone_primitive_add); - WM_operatortype_append(ARMATURE_OT_bones_align); + WM_operatortype_append(ARMATURE_OT_align); WM_operatortype_append(ARMATURE_OT_calculate_roll); WM_operatortype_append(ARMATURE_OT_switch_direction); WM_operatortype_append(ARMATURE_OT_subdivs); @@ -126,9 +126,17 @@ void ED_operatortypes_armature(void) WM_operatortype_append(ARMATURE_OT_select_linked); WM_operatortype_append(ARMATURE_OT_delete); - WM_operatortype_append(ARMATURE_OT_duplicate_selected); + WM_operatortype_append(ARMATURE_OT_duplicate); WM_operatortype_append(ARMATURE_OT_extrude); WM_operatortype_append(ARMATURE_OT_click_extrude); + WM_operatortype_append(ARMATURE_OT_fill); + WM_operatortype_append(ARMATURE_OT_merge); + WM_operatortype_append(ARMATURE_OT_separate); + + WM_operatortype_append(ARMATURE_OT_autoside_names); + WM_operatortype_append(ARMATURE_OT_flip_names); + + WM_operatortype_append(ARMATURE_OT_flags_set); /* SKETCH */ WM_operatortype_append(SKETCH_OT_gesture); @@ -143,10 +151,15 @@ void ED_operatortypes_armature(void) WM_operatortype_append(POSE_OT_hide); WM_operatortype_append(POSE_OT_reveal); + WM_operatortype_append(POSE_OT_apply); + WM_operatortype_append(POSE_OT_rot_clear); WM_operatortype_append(POSE_OT_loc_clear); WM_operatortype_append(POSE_OT_scale_clear); + WM_operatortype_append(POSE_OT_copy); + WM_operatortype_append(POSE_OT_paste); + WM_operatortype_append(POSE_OT_select_all_toggle); WM_operatortype_append(POSE_OT_select_inverse); @@ -155,6 +168,20 @@ void ED_operatortypes_armature(void) WM_operatortype_append(POSE_OT_select_linked); WM_operatortype_append(POSE_OT_select_constraint_target); + WM_operatortype_append(POSE_OT_groups_menu); + WM_operatortype_append(POSE_OT_group_add); + WM_operatortype_append(POSE_OT_group_remove); + WM_operatortype_append(POSE_OT_group_assign); + WM_operatortype_append(POSE_OT_group_unassign); + + WM_operatortype_append(POSE_OT_paths_calculate); + WM_operatortype_append(POSE_OT_paths_clear); + + WM_operatortype_append(POSE_OT_autoside_names); + WM_operatortype_append(POSE_OT_flip_names); + + WM_operatortype_append(POSE_OT_flags_set); + /* POSELIB */ WM_operatortype_append(POSELIB_OT_browse_interactive); @@ -176,7 +203,7 @@ void ED_keymap_armature(wmWindowManager *wm) /* only set in editmode armature, by space_view3d listener */ // WM_keymap_add_item(keymap, "ARMATURE_OT_hide", HKEY, KM_PRESS, 0, 0); - WM_keymap_add_item(keymap, "ARMATURE_OT_bones_align", AKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_align", AKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); WM_keymap_add_item(keymap, "ARMATURE_OT_calculate_roll", NKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_add_item(keymap, "ARMATURE_OT_switch_direction", FKEY, KM_PRESS, KM_ALT, 0); @@ -206,12 +233,25 @@ void ED_keymap_armature(wmWindowManager *wm) RNA_boolean_set(kmi->ptr, "extend", 1); WM_keymap_add_item(keymap, "ARMATURE_OT_select_linked", LKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_delete", XKEY, KM_PRESS, 0, 0); - WM_keymap_add_item(keymap, "ARMATURE_OT_duplicate_selected", DKEY, KM_PRESS, KM_SHIFT, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "ARMATURE_OT_extrude", EKEY, KM_PRESS, 0, 0); kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_extrude", EKEY, KM_PRESS, KM_SHIFT, 0); RNA_boolean_set(kmi->ptr, "forked", 1); WM_keymap_add_item(keymap, "ARMATURE_OT_click_extrude", LEFTMOUSE, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_fill", FKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "ARMATURE_OT_merge", MKEY, KM_PRESS, KM_ALT, 0); + + WM_keymap_add_item(keymap, "ARMATURE_OT_separate", PKEY, KM_PRESS, /*KM_CTRL|KM_ALT*/0, 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 /* Armature -> Etch-A-Ton ------------------------ */ WM_keymap_add_item(keymap, "SKETCH_OT_delete", XKEY, KM_PRESS, 0, 0); @@ -225,13 +265,22 @@ void ED_keymap_armature(wmWindowManager *wm) WM_keymap_add_item(keymap, "POSE_OT_hide", HKEY, KM_PRESS, 0, 0); kmi= WM_keymap_add_item(keymap, "POSE_OT_hide", HKEY, KM_PRESS, KM_SHIFT, 0); - RNA_boolean_set(kmi->ptr, "unselected", 1); + RNA_boolean_set(kmi->ptr, "unselected", 1); WM_keymap_add_item(keymap, "POSE_OT_reveal", HKEY, KM_PRESS, KM_ALT, 0); + + WM_keymap_add_item(keymap, "POSE_OT_apply", AKEY, KM_PRESS, KM_CTRL, 0); + /*clear pose*/ WM_keymap_add_item(keymap, "POSE_OT_rot_clear", RKEY, KM_PRESS, KM_ALT, 0); WM_keymap_add_item(keymap, "POSE_OT_loc_clear", GKEY, KM_PRESS, KM_ALT, 0); WM_keymap_add_item(keymap, "POSE_OT_scale_clear", SKEY, KM_PRESS, KM_ALT, 0); + // for now, we include hotkeys for copy/paste + 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); + RNA_boolean_set(kmi->ptr, "flipped", 1); + WM_keymap_add_item(keymap, "POSE_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "POSE_OT_select_inverse", IKEY, KM_PRESS, KM_CTRL, 0); @@ -251,9 +300,24 @@ void ED_keymap_armature(wmWindowManager *wm) WM_keymap_add_item(keymap, "POSE_OT_select_linked", LKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "POSE_OT_constraint_add_with_targets", CKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0); + WM_keymap_add_item(keymap, "POSE_OT_constraints_clear", CKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); + WM_keymap_add_item(keymap, "POSE_OT_ik_add", IKEY, KM_PRESS, /*KM_CTRL|*/KM_SHIFT, 0); + WM_keymap_add_item(keymap, "POSE_OT_ik_clear", IKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); + + WM_keymap_add_item(keymap, "POSE_OT_groups_menu", 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 + // XXX this should probably be in screen instead... here for testing purposes in the meantime... - Aligorith WM_keymap_verify_item(keymap, "ANIM_OT_insert_keyframe_menu", IKEY, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "ANIM_OT_delete_keyframe_old", IKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_verify_item(keymap, "ANIM_OT_delete_keyframe_v3d", IKEY, KM_PRESS, KM_ALT, 0); /* Pose -> PoseLib ------------- */ /* only set in posemode, by space_view3d listener */ diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c index 49f13d99af9..f20c38a0246 100644 --- a/source/blender/editors/armature/editarmature.c +++ b/source/blender/editors/armature/editarmature.c @@ -100,9 +100,6 @@ /* ************* XXX *************** */ static int okee() {return 0;} static int pupmenu() {return 0;} -static void waitcursor() {}; -static void error() {}; -static void error_libdata() {} static void BIF_undo_push() {} static void adduplicate() {} /* ************* XXX *************** */ @@ -374,6 +371,7 @@ void apply_rot_armature (Scene *scene, Object *ob, float mat[3][3]) ED_armature_edit_free(ob); } +/* exported for use in editors/object/ */ /* 0 == do center, 1 == center new, 2 == center cursor */ void docenter_armature (Scene *scene, View3D *v3d, Object *ob, int centermode) { @@ -430,25 +428,7 @@ void docenter_armature (Scene *scene, View3D *v3d, Object *ob, int centermode) ED_armature_edit_free(ob); } -/* helper for apply_armature_pose2bones - fixes parenting of objects that are bone-parented to armature */ -static void applyarmature_fix_boneparents (Scene *scene, Object *armob) -{ - Object workob, *ob; - - /* go through all objects in database */ - for (ob= G.main->object.first; ob; ob= ob->id.next) { - /* if parent is bone in this armature, apply corrections */ - if ((ob->parent == armob) && (ob->partype == PARBONE)) { - /* apply current transform from parent (not yet destroyed), - * then calculate new parent inverse matrix - */ - ED_object_apply_obmat(ob); - - what_does_parent(scene, ob, &workob); - Mat4Invert(ob->parentinv, workob.obmat); - } - } -} +/* ---------------------- */ static EditBone *editbone_name_exists (ListBase *edbo, char *name) { @@ -490,28 +470,52 @@ void unique_editbone_name (ListBase *edbo, char *name, EditBone *bone) } } +/* helper for apply_armature_pose2bones - fixes parenting of objects that are bone-parented to armature */ +static void applyarmature_fix_boneparents (Scene *scene, Object *armob) +{ + Object workob, *ob; + + /* go through all objects in database */ + for (ob= G.main->object.first; ob; ob= ob->id.next) { + /* if parent is bone in this armature, apply corrections */ + if ((ob->parent == armob) && (ob->partype == PARBONE)) { + /* apply current transform from parent (not yet destroyed), + * then calculate new parent inverse matrix + */ + ED_object_apply_obmat(ob); + + what_does_parent(scene, ob, &workob); + Mat4Invert(ob->parentinv, workob.obmat); + } + } +} + /* set the current pose as the restpose */ -void apply_armature_pose2bones(Scene *scene, Object *obedit) +static int apply_armature_pose2bones_exec (bContext *C, wmOperator *op) { - bArmature *arm= obedit->data; + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); // must be active object, not edit-object + bArmature *arm= get_armature(ob); bPose *pose; bPoseChannel *pchan; EditBone *curbone; /* don't check if editmode (should be done by caller) */ - if (object_data_is_libdata(obedit)) { - error_libdata(); - return; + if (ob->type!=OB_ARMATURE) + return OPERATOR_CANCELLED; + if (object_data_is_libdata(ob)) { + BKE_report(op->reports, RPT_ERROR, "Cannot apply pose to lib-linked armature."); //error_libdata(); + return OPERATOR_CANCELLED; } /* helpful warnings... */ // TODO: add warnings to be careful about actions, applying deforms first, etc. /* Get editbones of active armature to alter */ - ED_armature_to_edit(obedit); + ED_armature_to_edit(ob); /* get pose of active object and move it out of posemode */ - pose= obedit->pose; + pose= ob->pose; for (pchan=pose->chanbase.first; pchan; pchan=pchan->next) { curbone= editbone_name_exists(arm->edbo, pchan->name); @@ -530,7 +534,7 @@ void apply_armature_pose2bones(Scene *scene, Object *obedit) /* obtain new auto y-rotation */ VecSubf(delta, curbone->tail, curbone->head); - vec_roll_to_mat3(delta, 0.0, premat); + vec_roll_to_mat3(delta, 0.0f, premat); Mat3Inv(imat, premat); /* get pchan 'visual' matrix */ @@ -545,26 +549,46 @@ void apply_armature_pose2bones(Scene *scene, Object *obedit) } /* clear transform values for pchan */ - pchan->loc[0]= pchan->loc[1]= pchan->loc[2]= 0; - pchan->quat[1]= pchan->quat[2]= pchan->quat[3]= 0; - pchan->quat[0]= pchan->size[0]= pchan->size[1]= pchan->size[2]= 1; + pchan->loc[0]= pchan->loc[1]= pchan->loc[2]= 0.0f; + pchan->eul[0]= pchan->eul[1]= pchan->eul[2]= 0.0f; + pchan->quat[1]= pchan->quat[2]= pchan->quat[3]= 0.0f; + pchan->quat[0]= pchan->size[0]= pchan->size[1]= pchan->size[2]= 1.0f; /* set anim lock */ curbone->flag |= BONE_UNKEYED; } /* convert editbones back to bones */ - ED_armature_from_edit(scene, obedit); + ED_armature_from_edit(scene, ob); /* flush positions of posebones */ - where_is_pose(scene, obedit); + where_is_pose(scene, ob); /* fix parenting of objects which are bone-parented */ - applyarmature_fix_boneparents(scene, obedit); + applyarmature_fix_boneparents(scene, ob); + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob); + + return OPERATOR_FINISHED; +} + +void POSE_OT_apply (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Apply Pose as Rest Pose"; + ot->idname= "POSE_OT_apply"; + ot->description= "Apply the current pose as the new rest pose."; - BIF_undo_push("Apply new restpose"); + /* callbacks */ + ot->exec= apply_armature_pose2bones_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } +/* ---------------------- */ /* Helper function for armature joining - link fixing */ static void joined_armature_fix_links(Object *tarArm, Object *srcArm, bPoseChannel *pchan, EditBone *curbone) @@ -669,6 +693,7 @@ static void joined_armature_fix_links(Object *tarArm, Object *srcArm, bPoseChann } } +/* join armature exec is exported for use in object->join objects operator... */ int join_armature_exec(bContext *C, wmOperator *op) { Scene *scene= CTX_data_scene(C); @@ -776,6 +801,8 @@ int join_armature_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } +/* ---------------------- */ + /* Helper function for armature separating - link fixing */ static void separated_armature_fix_links(Object *origArm, Object *newArm) { @@ -974,19 +1001,22 @@ static void separate_armature_bones (Scene *scene, Object *ob, short sel) } /* separate selected bones into their armature */ -void separate_armature (Scene *scene, View3D *v3d) +static int separate_armature_exec (bContext *C, wmOperator *op) { - Object *obedit= scene->obedit; // XXX get from context + Scene *scene= CTX_data_scene(C); + Object *obedit= CTX_data_edit_object(C); Object *oldob, *newob; - Base *base, *oldbase, *newbase; + Base *oldbase, *newbase; bArmature *arm; - if ( okee("Separate")==0 ) return; - - waitcursor(1); - + /* sanity checks */ + if (obedit == NULL) + return OPERATOR_CANCELLED; arm= obedit->data; + /* set wait cursor in case this takes a while */ + WM_cursor_wait(1); + /* we are going to do this as follows (unlike every other instance of separate): * 1. exit editmode +posemode for active armature/base. Take note of what this is. * 2. duplicate base - BASACT is the new one now @@ -996,13 +1026,12 @@ void separate_armature (Scene *scene, View3D *v3d) */ /* 1) only edit-base selected */ - base= FIRSTBASE; - for (base= FIRSTBASE; base; base= base->next) { - if (base->lay & v3d->lay) { - if (base->object==obedit) base->flag |= 1; - else base->flag &= ~1; - } + // TODO: use context iterators for this? + CTX_DATA_BEGIN(C, Base *, base, visible_bases) { + if (base->object==obedit) base->flag |= 1; + else base->flag &= ~1; } + CTX_DATA_END; /* 1) store starting settings and exit editmode */ oldob= obedit; @@ -1040,10 +1069,29 @@ void separate_armature (Scene *scene, View3D *v3d) ED_armature_to_edit(obedit); + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, obedit); + /* recalc/redraw + cleanup */ - waitcursor(0); + WM_cursor_wait(0); - BIF_undo_push("Separate Armature"); + return OPERATOR_FINISHED; +} + +void ARMATURE_OT_separate (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Separate Armature"; + ot->idname= "ARMATURE_OT_separate"; + ot->description= "Isolate selected bones into a separate armature."; + + /* callbacks */ + ot->invoke= WM_operator_confirm; + ot->exec= separate_armature_exec; + ot->poll= ED_operator_editarmature; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } /* **************** END tools on Editmode Armature **************** */ @@ -1204,72 +1252,106 @@ static EditBone *editbone_get_child(bArmature *arm, EditBone *pabone, short use_ return chbone; } - -/* used by posemode and editmode */ -void setflag_armature (Scene *scene, short mode) +/* callback for posemode setflag */ +static int pose_setflag_exec (bContext *C, wmOperator *op) { - Object *obedit= scene->obedit; // XXX get from context - Object *ob; - bArmature *arm; - int flag; - - /* get data */ - if (obedit) - ob= obedit; - else if (OBACT) - ob= OBACT; - else - return; - arm= (bArmature *)ob->data; + int flag= RNA_enum_get(op->ptr, "type"); + int mode= RNA_enum_get(op->ptr, "mode"); - /* get flag to set (sync these with the ones used in eBone_Flag */ - if (mode == 2) - flag= pupmenu("Disable Setting%t|Draw Wire%x1|Deform%x2|Mult VG%x3|Hinge%x4|No Scale%x5|Locked%x6"); - else if (mode == 1) - flag= pupmenu("Enable Setting%t|Draw Wire%x1|Deform%x2|Mult VG%x3|Hinge%x4|No Scale%x5|Locked%x6"); - else - flag= pupmenu("Toggle Setting%t|Draw Wire%x1|Deform%x2|Mult VG%x3|Hinge%x4|No Scale%x5|Locked%x6"); - switch (flag) { - case 1: flag = BONE_DRAWWIRE; break; - case 2: flag = BONE_NO_DEFORM; break; - case 3: flag = BONE_MULT_VG_ENV; break; - case 4: flag = BONE_HINGE; break; - case 5: flag = BONE_NO_SCALE; break; - case 6: flag = BONE_EDITMODE_LOCKED; break; - default: return; - } - - /* determine which mode armature is in */ - if ((!obedit) && (ob->flag & OB_POSEMODE)) { - /* deal with pose channels */ - bPoseChannel *pchan; - - /* set setting */ - for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone) && (arm->layer & pchan->bone->layer)) { - if (pchan->bone->flag & BONE_SELECTED) { - bone_setflag(&pchan->bone->flag, flag, mode); - } - } - } + /* loop over all selected pchans */ + CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pchans) + { + bone_setflag(&pchan->bone->flag, flag, mode); } - else if (obedit) { - /* deal with editbones */ - EditBone *curbone; - - /* set setting */ - for (curbone= arm->edbo->first; curbone; curbone= curbone->next) { - if (arm->layer & curbone->layer) { - if (curbone->flag & BONE_SELECTED) { - bone_setflag(&curbone->flag, flag, mode); - } - } - } + CTX_DATA_END; + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, CTX_data_active_object(C)); + + return OPERATOR_FINISHED; +} + +/* callback for editbones setflag */ +static int armature_bones_setflag_exec (bContext *C, wmOperator *op) +{ + Object *ob= CTX_data_active_object(C); + 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)); - BIF_undo_push("Change Bone Setting"); + 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 */ + 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 */ + 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 ********************** */ @@ -1454,8 +1536,6 @@ void ARMATURE_OT_select_linked(wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; - - /* props */ } /* does bones and points */ @@ -1598,10 +1678,8 @@ static int armature_delete_selected_exec(bContext *C, wmOperator *op) /* cancel if nothing selected */ if (CTX_DATA_COUNT(C, selected_bones) == 0) - return OPERATOR_CANCELLED; - - /* if (okee("Erase selected bone(s)")==0) return; */ - + return OPERATOR_CANCELLED; + /* Select mirrored bones */ if (arm->flag & ARM_MIRROR_EDIT) { for (curBone=arm->edbo->first; curBone; curBone=curBone->next) { @@ -1692,7 +1770,7 @@ void ARMATURE_OT_delete(wmOperatorType *ot) * toggle==2: only active tag * toggle==3: swap (no test) */ -void deselectall_armature(Object *obedit, int toggle, int doundo) +void ED_armature_deselectall(Object *obedit, int toggle, int doundo) { bArmature *arm= obedit->data; EditBone *eBone; @@ -1764,7 +1842,7 @@ void mouse_armature(bContext *C, short mval[2], int extend) if (nearBone) { if (!extend) - deselectall_armature(obedit, 0, 0); + ED_armature_deselectall(obedit, 0, 0); /* by definition the non-root connected bones have no root point drawn, so a root selection needs to be delivered to the parent tip */ @@ -2142,7 +2220,7 @@ void add_primitive_bone(Scene *scene, View3D *v3d, RegionView3D *rv3d) Mat3MulMat3(totmat, obmat, viewmat); Mat3Inv(imat, totmat); - deselectall_armature(obedit, 0, 0); + ED_armature_deselectall(obedit, 0, 0); /* Create a bone */ bone= add_editbone(obedit, "Bone"); @@ -2195,7 +2273,7 @@ static int armature_click_extrude_exec(bContext *C, wmOperator *op) to_root= 1; } - deselectall_armature(obedit, 0, 0); + ED_armature_deselectall(obedit, 0, 0); /* we re-use code for mirror editing... */ flipbone= NULL; @@ -2642,11 +2720,11 @@ static int armature_duplicate_selected_invoke(bContext *C, wmOperator *op, wmEve return retv; } -void ARMATURE_OT_duplicate_selected(wmOperatorType *ot) +void ARMATURE_OT_duplicate(wmOperatorType *ot) { /* identifiers */ ot->name= "Duplicate Selected Bone(s)"; - ot->idname= "ARMATURE_OT_duplicate_selected"; + ot->idname= "ARMATURE_OT_duplicate"; /* api callbacks */ ot->invoke = armature_duplicate_selected_invoke; @@ -2721,6 +2799,7 @@ static void chains_find_tips (ListBase *edbo, ListBase *list) } } +/* --------------------- */ static void fill_add_joint (EditBone *ebo, short eb_tail, ListBase *points) { @@ -2774,23 +2853,29 @@ static void fill_add_joint (EditBone *ebo, short eb_tail, ListBase *points) } /* bone adding between selected joints */ -void fill_bones_armature(Scene *scene, View3D *v3d) +static int armature_fill_bones_exec (bContext *C, wmOperator *op) { - Object *obedit= scene->obedit; // XXX get from context - bArmature *arm= obedit->data; - EditBone *ebo, *newbone=NULL; + Object *obedit= CTX_data_edit_object(C); + bArmature *arm= (obedit) ? obedit->data : NULL; + Scene *scene= CTX_data_scene(C); + View3D *v3d= (View3D *)CTX_wm_space_data(C); + EditBone *newbone=NULL; ListBase points = {NULL, NULL}; int count; + /* sanity checks */ + if ELEM(NULL, obedit, arm) + return OPERATOR_CANCELLED; + /* loop over all bones, and only consider if visible */ - for (ebo= arm->edbo->first; ebo; ebo= ebo->next) { - if (EBONE_VISIBLE(arm, ebo)) { - if (!(ebo->flag & BONE_CONNECTED) && (ebo->flag & BONE_ROOTSEL)) - fill_add_joint(ebo, 0, &points); - if (ebo->flag & BONE_TIPSEL) - fill_add_joint(ebo, 1, &points); - } + CTX_DATA_BEGIN(C, EditBone *, ebone, visible_bones) + { + if (!(ebone->flag & BONE_CONNECTED) && (ebone->flag & BONE_ROOTSEL)) + fill_add_joint(ebone, 0, &points); + if (ebone->flag & BONE_TIPSEL) + fill_add_joint(ebone, 1, &points); } + CTX_DATA_END; /* the number of joints determines how we fill: * 1) between joint and cursor (joint=head, cursor=tail) @@ -2800,8 +2885,8 @@ void fill_bones_armature(Scene *scene, View3D *v3d) count= BLI_countlist(&points); if (count == 0) { - error("No joints selected"); - return; + BKE_report(op->reports, RPT_ERROR, "No joints selected"); + return OPERATOR_CANCELLED; } else if (count == 1) { EditBonePoint *ebp; @@ -2830,14 +2915,14 @@ void fill_bones_armature(Scene *scene, View3D *v3d) ebp2= ebp->next; if ((ebp->head_owner==ebp2->tail_owner) && (ebp->head_owner!=NULL)) { - error("Same bone selected..."); + BKE_report(op->reports, RPT_ERROR, "Same bone selected..."); BLI_freelistN(&points); - return; + return OPERATOR_CANCELLED; } if ((ebp->tail_owner==ebp2->head_owner) && (ebp->tail_owner!=NULL)) { - error("Same bone selected..."); + BKE_report(op->reports, RPT_ERROR, "Same bone selected..."); BLI_freelistN(&points); - return; + return OPERATOR_CANCELLED; } /* find which one should be the 'head' */ @@ -2904,19 +2989,35 @@ void fill_bones_armature(Scene *scene, View3D *v3d) } else { // FIXME.. figure out a method for multiple bones - error("Too many points selected"); + BKE_report(op->reports, RPT_ERROR, "Too many points selected"); printf("Points selected: %d \n", count); BLI_freelistN(&points); - return; + return OPERATOR_CANCELLED; } /* free points */ BLI_freelistN(&points); - /* undo + updates */ - BIF_undo_push("Fill Bones"); + return OPERATOR_FINISHED; } +void ARMATURE_OT_fill (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Fill Between Joints"; + ot->idname= "ARMATURE_OT_fill"; + ot->description= "Add bone between selected joint(s) and/or 3D-Cursor."; + + /* callbacks */ + ot->exec= armature_fill_bones_exec; + ot->poll= ED_operator_editarmature; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* --------------------- */ + /* this function merges between two bones, removes them and those in-between, * and adjusts the parent relationships for those in-between */ @@ -2986,19 +3087,19 @@ static void bones_merge(Object *obedit, EditBone *start, EditBone *end, EditBone } } -/* bone merging - has a menu! */ -void merge_armature(Scene *scene) + +static int armature_merge_exec (bContext *C, wmOperator *op) { - Object *obedit= scene->obedit; // XXX get from context - bArmature *arm= obedit->data; - short val= 0; + Object *obedit= CTX_data_edit_object(C); + bArmature *arm= (obedit) ? obedit->data : NULL; + short type= RNA_enum_get(op->ptr, "type"); - /* process a menu to determine how to merge */ - // TODO: there's room for more modes of merging stuff... - val= pupmenu("Merge Selected Bones%t|Within Chains%x1"); - if (val <= 0) return; + /* sanity checks */ + if ELEM(NULL, obedit, arm) + return OPERATOR_CANCELLED; - if (val == 1) { + /* for now, there's only really one type of merging that's performed... */ + if (type == 1) { /* go down chains, merging bones */ ListBase chains = {NULL, NULL}; LinkData *chain, *nchain; @@ -3006,7 +3107,7 @@ void merge_armature(Scene *scene) /* get chains (ends on chains) */ chains_find_tips(arm->edbo, &chains); - if (chains.first == NULL) return; + if (chains.first == NULL) return OPERATOR_CANCELLED; /* each 'chain' is the last bone in the chain (with no children) */ for (chain= chains.first; chain; chain= nchain) { @@ -3054,9 +3155,35 @@ void merge_armature(Scene *scene) BLI_freelistN(&chains); } - /* undo + updates */ + /* updates */ ED_armature_sync_selection(arm->edbo); - BIF_undo_push("Merge Bones"); + WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, obedit); + + return OPERATOR_FINISHED; +} + +void ARMATURE_OT_merge (wmOperatorType *ot) +{ + static EnumPropertyItem merge_types[] = { + {1, "WITHIN_CHAIN", 0, "Within Chains", ""}, + {0, NULL, 0, NULL, NULL} + }; + + /* identifiers */ + ot->name= "Merge Bones"; + ot->idname= "ARMATURE_OT_merge"; + ot->description= "Merge continuous chains of selected bones."; + + /* callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= armature_merge_exec; + ot->poll= ED_operator_editarmature; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* properties */ + RNA_def_enum(ot->srna, "type", merge_types, 0, "Type", ""); } /* ************** END Add/Remove stuff in editmode ************ */ @@ -3311,7 +3438,7 @@ static int armature_bone_primitive_add_exec(bContext *C, wmOperator *op) Mat3MulMat3(totmat, obmat, viewmat); Mat3Inv(imat, totmat); - deselectall_armature(obedit, 0, 0); + ED_armature_deselectall(obedit, 0, 0); /* Create a bone */ bone= add_editbone(obedit, name); @@ -4111,11 +4238,12 @@ static int armature_align_bones_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void ARMATURE_OT_bones_align(wmOperatorType *ot) +void ARMATURE_OT_align(wmOperatorType *ot) { /* identifiers */ ot->name= "Align Bones"; - ot->idname= "ARMATURE_OT_bones_align"; + ot->idname= "ARMATURE_OT_align"; + ot->description= "Align selected bones to the active bone (or to their parent)."; /* api callbacks */ ot->invoke = WM_operator_confirm; @@ -4616,44 +4744,28 @@ void add_verts_to_dgroups(Scene *scene, Object *ob, Object *par, int heat, int m MEM_freeN(verts); } -void create_vgroups_from_armature(Scene *scene, Object *ob, Object *par) +void create_vgroups_from_armature(Scene *scene, Object *ob, Object *par, int mode) { /* Lets try to create some vertex groups * based on the bones of the parent armature. */ bArmature *arm= par->data; - short mode; - /* Prompt the user on whether/how they want the vertex groups - * added to the child mesh */ - mode= pupmenu("Create Vertex Groups? %t|" - "Don't Create Groups %x1|" - "Name Groups %x2|" - "Create From Envelopes %x3|" - "Create From Bone Heat %x4|"); - - mode= 3; // XXX - - switch (mode) { - case 2: + if(mode == ARM_GROUPS_NAME) { /* Traverse the bone list, trying to create empty vertex * groups cooresponding to the bone. */ - bone_looper(ob, arm->bonebase.first, NULL, - add_defgroup_unique_bone); + bone_looper(ob, arm->bonebase.first, NULL, add_defgroup_unique_bone); + if (ob->type == OB_MESH) create_dverts(ob->data); - - break; - - case 3: - case 4: + } + else if(mode == ARM_GROUPS_ENVELOPE || mode == ARM_GROUPS_AUTO) { /* Traverse the bone list, trying to create vertex groups * that are populated with the vertices for which the * bone is closest. */ - add_verts_to_dgroups(scene, ob, par, (mode == 4), 0); - break; + add_verts_to_dgroups(scene, ob, par, (mode == ARM_GROUPS_AUTO), 0); } } /* ************* Clear Pose *****************************/ @@ -5229,48 +5341,111 @@ void ED_armature_bone_rename(bArmature *arm, char *oldnamep, char *newnamep) } } -/* context editmode object */ -void armature_flip_names(Scene *scene) + +static int armature_flip_names_exec (bContext *C, wmOperator *op) { - Object *obedit= scene->obedit; // XXX get from context - bArmature *arm= obedit->data; - EditBone *ebone; + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_edit_object(C); + bArmature *arm; char newname[32]; - for (ebone = arm->edbo->first; ebone; ebone=ebone->next) { - if (arm->layer & ebone->layer) { - if (ebone->flag & BONE_SELECTED) { - BLI_strncpy(newname, ebone->name, sizeof(newname)); - bone_flip_name(newname, 1); // 1 = do strip off number extensions - ED_armature_bone_rename(arm, ebone->name, newname); - } - } + /* paranoia checks */ + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + arm= ob->data; + + /* loop through selected bones, auto-naming them */ + CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones) + { + BLI_strncpy(newname, ebone->name, sizeof(newname)); + bone_flip_name(newname, 1); // 1 = do strip off number extensions + ED_armature_bone_rename(arm, ebone->name, newname); } + CTX_DATA_END; + + /* since we renamed stuff... */ + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); - BIF_undo_push("Flip names"); + return OPERATOR_FINISHED; } -/* context: edtimode armature */ -void armature_autoside_names(Scene *scene, short axis) +void ARMATURE_OT_flip_names (wmOperatorType *ot) { - Object *obedit= scene->obedit; // XXX get from context - bArmature *arm= obedit->data; - EditBone *ebone; + /* identifiers */ + ot->name= "Flip Names"; + ot->idname= "ARMATURE_OT_flip_names"; + ot->description= "Flips (and corrects) the names of selected bones."; + + /* api callbacks */ + ot->exec= armature_flip_names_exec; + ot->poll= ED_operator_editarmature; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + + +static int armature_autoside_names_exec (bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_edit_object(C); + bArmature *arm; char newname[32]; + short axis= RNA_enum_get(op->ptr, "axis"); - for (ebone = arm->edbo->first; ebone; ebone=ebone->next) { - if (arm->layer & ebone->layer) { - if (ebone->flag & BONE_SELECTED) { - BLI_strncpy(newname, ebone->name, sizeof(newname)); - bone_autoside_name(newname, 1, axis, ebone->head[axis], ebone->tail[axis]); - ED_armature_bone_rename(arm, ebone->name, newname); - } - } + /* paranoia checks */ + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + arm= ob->data; + + /* loop through selected bones, auto-naming them */ + CTX_DATA_BEGIN(C, EditBone *, ebone, selected_editable_bones) + { + BLI_strncpy(newname, ebone->name, sizeof(newname)); + bone_autoside_name(newname, 1, axis, ebone->head[axis], ebone->tail[axis]); + ED_armature_bone_rename(arm, ebone->name, newname); } + CTX_DATA_END; + + /* since we renamed stuff... */ + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); - BIF_undo_push("Auto-side name"); + return OPERATOR_FINISHED; +} + +void ARMATURE_OT_autoside_names (wmOperatorType *ot) +{ + static EnumPropertyItem axis_items[]= { + {0, "XAXIS", 0, "X-Axis", "Left/Right"}, + {1, "YAXIS", 0, "Y-Axis", "Front/Back"}, + {2, "ZAXIS", 0, "Z-Axis", "Top/Bottom"}, + {0, NULL, 0, NULL, NULL}}; + + /* identifiers */ + ot->name= "AutoName by Axis"; + ot->idname= "ARMATURE_OT_autoside_names"; + ot->description= "Automatically renames the selected bones according to which side of the target axis they fall on."; + + /* api callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= armature_autoside_names_exec; + ot->poll= ED_operator_editarmature; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* settings */ + RNA_def_enum(ot->srna, "axis", axis_items, 0, "Axis", "Axis tag names with."); } + + /* if editbone (partial) selected, copy data */ /* context; editmode armature, with mirror editing enabled */ void transform_armature_mirror_update(Object *obedit) diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c index ccf82fbc7ac..e9ebdb87a3c 100644 --- a/source/blender/editors/armature/poseobject.c +++ b/source/blender/editors/armature/poseobject.c @@ -21,6 +21,7 @@ * All rights reserved. * * Contributor(s): Ton Roosendaal, Blender Foundation '05, full recode. + * Joshua Leung * * ***** END GPL LICENSE BLOCK ***** * support for animation modes - Reevan McKay @@ -50,6 +51,7 @@ #include "DNA_view3d_types.h" #include "DNA_userdef_types.h" +#include "BKE_animsys.h" #include "BKE_action.h" #include "BKE_armature.h" #include "BKE_blender.h" @@ -63,6 +65,7 @@ #include "BKE_modifier.h" #include "BKE_object.h" #include "BKE_utildefines.h" +#include "BKE_report.h" #include "BIF_gl.h" @@ -81,17 +84,16 @@ #include "ED_transform.h" /* for autokey TFM_TRANSLATION, etc */ #include "ED_view3d.h" +#include "UI_interface.h" + #include "armature_intern.h" /* ************* XXX *************** */ static int movetolayer_short_buts() {return 1;} -static int okee() {return 0;} static int pupmenu() {return 0;} -static void waitcursor() {}; static void error() {}; static void BIF_undo_push() {} static void countall() {} -static void add_constraint() {} static void autokeyframe_pose_cb_func() {} /* ************* XXX *************** */ @@ -200,10 +202,12 @@ int ED_pose_channel_in_IK_chain(Object *ob, bPoseChannel *pchan) /* ********************************************** */ -/* For the object with pose/action: create path curves for selected bones - * This recalculates the WHOLE path within the pchan->pathsf and pchan->pathef range +/* For the object with pose/action: update paths for those that have got them + * This should selectively update paths that exist... + * + * To be called from various tools that do incremental updates */ -void pose_calculate_path(bContext *C, Scene *scene, Object *ob) +void ED_pose_recalculate_paths(bContext *C, Scene *scene, Object *ob) { bArmature *arm; bPoseChannel *pchan; @@ -212,29 +216,28 @@ void pose_calculate_path(bContext *C, Scene *scene, Object *ob) int cfra; int sfra, efra; - if (ob==NULL || ob->pose==NULL) + /* sanity checks */ + if ELEM(NULL, ob, ob->pose) return; arm= ob->data; - /* version patch for older files here (do_versions patch too complicated) */ - if ((arm->pathsf == 0) || (arm->pathef == 0)) { - arm->pathsf = SFRA; - arm->pathef = EFRA; - } - if (arm->pathsize == 0) { - arm->pathsize = 1; - } - /* set frame values */ - cfra= CFRA; - sfra = arm->pathsf; - efra = arm->pathef; - if (efra <= sfra) { - error("Can't calculate paths when pathlen <= 0"); - return; + cfra = CFRA; + sfra = efra = cfra; + for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { + if ((pchan->bone) && (arm->layer & pchan->bone->layer)) { + if (pchan->path) { + /* if the pathsf and pathef aren't initialised, abort! */ + if (ELEM(0, pchan->pathsf, pchan->pathef)) + return; + + /* try to increase area to do (only as much as needed) */ + sfra= MIN2(sfra, pchan->pathsf); + efra= MAX2(efra, pchan->pathef); + } + } } - - waitcursor(1); + if (efra <= sfra) return; /* hack: for unsaved files, set OB_RECALC so that paths can get calculated */ if ((ob->recalc & OB_RECALC)==0) { @@ -244,35 +247,30 @@ void pose_calculate_path(bContext *C, Scene *scene, Object *ob) else ED_anim_object_flush_update(C, ob); - - /* malloc the path blocks */ - for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone) && (pchan->bone->flag & BONE_SELECTED)) { - if (arm->layer & pchan->bone->layer) { - pchan->pathlen= efra-sfra+1; - pchan->pathsf= sfra; - pchan->pathef= efra+1; - if (pchan->path) - MEM_freeN(pchan->path); - pchan->path= MEM_callocN(3*pchan->pathlen*sizeof(float), "pchan path"); - } - } - } - + /* calculate path over requested range */ for (CFRA=sfra; CFRA<=efra; CFRA++) { /* do all updates */ for (base= FIRSTBASE; base; base= base->next) { if (base->object->recalc) { int temp= base->object->recalc; + + if (base->object->adt) + BKE_animsys_evaluate_animdata(&base->object->id, base->object->adt, (float)CFRA, ADT_RECALC_ALL); + + /* update object */ object_handle_update(scene, base->object); base->object->recalc= temp; } } for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone) && (pchan->bone->flag & BONE_SELECTED)) { - if (arm->layer & pchan->bone->layer) { - if (pchan->path) { + if ((pchan->bone) && (arm->layer & pchan->bone->layer)) { + if (pchan->path) { + /* only update if: + * - in range of this pchan's existing path + * - ... insert evil filtering/optimising conditions here... + */ + if (IN_RANGE(CFRA, pchan->pathsf, pchan->pathef)) { fp= pchan->path+3*(CFRA-sfra); if (arm->pathflag & ARM_PATH_HEADS) { @@ -289,16 +287,35 @@ void pose_calculate_path(bContext *C, Scene *scene, Object *ob) } } - waitcursor(0); - + /* reset flags */ CFRA= cfra; + ob->pose->flag &= ~POSE_RECALCPATHS; + + /* flush one final time - to restore to the original state */ + for (base= FIRSTBASE; base; base= base->next) { + if (base->object->recalc) { + int temp= base->object->recalc; + + if (base->object->adt) + BKE_animsys_evaluate_animdata(&base->object->id, base->object->adt, (float)CFRA, ADT_RECALC_ALL); + + object_handle_update(scene, base->object); + base->object->recalc= temp; + } + } } -/* For the object with pose/action: update paths for those that have got them - * This should selectively update paths that exist... +/* --------- */ + +/* For the object with pose/action: create path curves for selected bones + * This recalculates the WHOLE path within the pchan->pathsf and pchan->pathef range */ -void pose_recalculate_paths(bContext *C, Scene *scene, Object *ob) +static int pose_calculate_paths_exec (bContext *C, wmOperator *op) { + wmWindow *win= CTX_wm_window(C); + ScrArea *sa= CTX_wm_area(C); + Scene *scene= CTX_data_scene(C); + Object *ob; bArmature *arm; bPoseChannel *pchan; Base *base; @@ -306,29 +323,35 @@ void pose_recalculate_paths(bContext *C, Scene *scene, Object *ob) int cfra; int sfra, efra; - if (ob==NULL || ob->pose==NULL) - return; + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; + else + ob= CTX_data_active_object(C); + + /* only continue if there's an object */ + if ELEM(NULL, ob, ob->pose) + return OPERATOR_CANCELLED; arm= ob->data; - /* set frame values */ - cfra = CFRA; - sfra = efra = cfra; - for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone) && (arm->layer & pchan->bone->layer)) { - if (pchan->path) { - /* if the pathsf and pathef aren't initialised, abort! */ - if (ELEM(0, pchan->pathsf, pchan->pathef)) - return; - - /* try to increase area to do (only as much as needed) */ - sfra= MIN2(sfra, pchan->pathsf); - efra= MAX2(efra, pchan->pathef); - } - } + /* version patch for older files here (do_versions patch too complicated) */ + if ((arm->pathsf == 0) || (arm->pathef == 0)) { + arm->pathsf = SFRA; + arm->pathef = EFRA; + } + if (arm->pathsize == 0) { + arm->pathsize = 1; } - if (efra <= sfra) return; - waitcursor(1); + /* get frame values to use */ + cfra= CFRA; + sfra = arm->pathsf; + efra = arm->pathef; + + if (efra <= sfra) { + BKE_report(op->reports, RPT_ERROR, "Can't calculate paths when pathlen <= 0"); + return OPERATOR_CANCELLED; + } /* hack: for unsaved files, set OB_RECALC so that paths can get calculated */ if ((ob->recalc & OB_RECALC)==0) { @@ -338,24 +361,42 @@ void pose_recalculate_paths(bContext *C, Scene *scene, Object *ob) else ED_anim_object_flush_update(C, ob); + /* alloc the path cache arrays */ + for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { + if ((pchan->bone) && (pchan->bone->flag & BONE_SELECTED)) { + if (arm->layer & pchan->bone->layer) { + pchan->pathlen= efra-sfra+1; + pchan->pathsf= sfra; + pchan->pathef= efra+1; + if (pchan->path) + MEM_freeN(pchan->path); + pchan->path= MEM_callocN(3*pchan->pathlen*sizeof(float), "pchan path"); + } + } + } + + /* step through frame range sampling the values */ for (CFRA=sfra; CFRA<=efra; CFRA++) { + /* for each frame we calculate, update time-cursor... (may be too slow) */ + WM_timecursor(win, CFRA); + /* do all updates */ for (base= FIRSTBASE; base; base= base->next) { if (base->object->recalc) { int temp= base->object->recalc; + + if (base->object->adt) + BKE_animsys_evaluate_animdata(&base->object->id, base->object->adt, (float)CFRA, ADT_RECALC_ALL); + object_handle_update(scene, base->object); base->object->recalc= temp; } } for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone) && (arm->layer & pchan->bone->layer)) { - if (pchan->path) { - /* only update if: - * - in range of this pchan's existing path - * - ... insert evil filtering/optimising conditions here... - */ - if (IN_RANGE(CFRA, pchan->pathsf, pchan->pathef)) { + if ((pchan->bone) && (pchan->bone->flag & BONE_SELECTED)) { + if (arm->layer & pchan->bone->layer) { + if (pchan->path) { fp= pchan->path+3*(CFRA-sfra); if (arm->pathflag & ARM_PATH_HEADS) { @@ -372,18 +413,55 @@ void pose_recalculate_paths(bContext *C, Scene *scene, Object *ob) } } - waitcursor(0); + /* restore original cursor */ + WM_cursor_restore(win); + /* reset current frame, and clear flags */ CFRA= cfra; ob->pose->flag &= ~POSE_RECALCPATHS; + + /* flush one final time - to restore to the original state */ + for (base= FIRSTBASE; base; base= base->next) { + if (base->object->recalc) { + int temp= base->object->recalc; + + if (base->object->adt) + BKE_animsys_evaluate_animdata(&base->object->id, base->object->adt, (float)CFRA, ADT_RECALC_ALL); + + object_handle_update(scene, base->object); + base->object->recalc= temp; + } + } + + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + + return OPERATOR_FINISHED; } +void POSE_OT_paths_calculate (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Calculate Bone Paths"; + ot->idname= "POSE_OT_paths_calculate"; + ot->description= "Calculate paths for the selected bones."; + + /* api callbacks */ + ot->exec= pose_calculate_paths_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* --------- */ + /* for the object with pose/action: clear path curves for selected bones only */ -void pose_clear_paths(Object *ob) +void ED_pose_clear_paths(Object *ob) { bPoseChannel *pchan; - if (ob==NULL || ob->pose==NULL) + if ELEM(NULL, ob, ob->pose) return; /* free the path blocks */ @@ -395,11 +473,51 @@ void pose_clear_paths(Object *ob) } } } +} + +/* operator callback for this */ +static int pose_clear_paths_exec (bContext *C, wmOperator *op) +{ + ScrArea *sa= CTX_wm_area(C); + Object *ob; + + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; + else + ob= CTX_data_active_object(C); + + /* only continue if there's an object */ + if ELEM(NULL, ob, ob->pose) + return OPERATOR_CANCELLED; + + /* for now, just call the API function for this (which is shared with backend functions) */ + ED_pose_clear_paths(ob); + + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + return OPERATOR_FINISHED; } +void POSE_OT_paths_clear (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Clear Bone Paths"; + ot->idname= "POSE_OT_paths_clear"; + ot->description= "Clear path caches for selected bones."; + + /* api callbacks */ + ot->exec= pose_clear_paths_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} +/* ******************* Select Constraint Target Operator ************* */ +// XXX this function is to be removed when the other stuff is recoded void pose_select_constraint_target(Scene *scene) { Object *obedit= scene->obedit; // XXX context @@ -587,60 +705,6 @@ void POSE_OT_select_hierarchy(wmOperatorType *ot) } -void pose_add_IK(Scene *scene) -{ - Object *obedit= scene->obedit; // XXX context - Object *ob= OBACT; - - /* paranoia checks */ - if(!ob && !ob->pose) return; - if(ob==obedit || (ob->flag & OB_POSEMODE)==0) return; - - add_constraint(1); /* 1 means only IK */ -} - -/* context: all selected channels */ -void pose_clear_IK(Scene *scene) -{ - Object *obedit= scene->obedit; // XXX context - Object *ob= OBACT; - bArmature *arm= ob->data; - bPoseChannel *pchan; - bConstraint *con; - bConstraint *next; - - /* paranoia checks */ - if(!ob && !ob->pose) return; - if(ob==obedit || (ob->flag & OB_POSEMODE)==0) return; - - if(pose_has_protected_selected(ob, 0, 1)) - return; - - if(okee("Remove IK constraint(s)")==0) return; - - for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if(arm->layer & pchan->bone->layer) { - if(pchan->bone->flag & (BONE_ACTIVE|BONE_SELECTED)) { - - for(con= pchan->constraints.first; con; con= next) { - next= con->next; - if(con->type==CONSTRAINT_TYPE_KINEMATIC) { - BLI_remlink(&pchan->constraints, con); - free_constraint_data(con); - MEM_freeN(con); - } - } - pchan->constflag &= ~(PCHAN_HAS_IK|PCHAN_HAS_TARGET); - } - } - } - - DAG_object_flush_update(scene, ob, OB_RECALC_DATA); // and all its relations - - BIF_undo_push("Remove IK constraint(s)"); -} - - void pose_copy_menu(Scene *scene) { Object *obedit= scene->obedit; // XXX context @@ -833,81 +897,132 @@ void pose_copy_menu(Scene *scene) /* ******************** copy/paste pose ********************** */ -static bPose *g_posebuf=NULL; +/* Global copy/paste buffer for pose - cleared on start/end session + before every copy operation */ +static bPose *g_posebuf = NULL; void free_posebuf(void) { if (g_posebuf) { - // was copied without constraints - BLI_freelistN (&g_posebuf->chanbase); - MEM_freeN (g_posebuf); + /* was copied without constraints */ + BLI_freelistN(&g_posebuf->chanbase); + MEM_freeN(g_posebuf); } + g_posebuf=NULL; } -void copy_posebuf (Scene *scene) -{ - Object *ob= OBACT; +/* ---- */ - if (!ob || !ob->pose){ - error ("No Pose"); - return; +static int pose_copy_exec (bContext *C, wmOperator *op) +{ + Object *ob= CTX_data_active_object(C); + + /* sanity checking */ + if ELEM(NULL, ob, ob->pose) { + BKE_report(op->reports, RPT_ERROR, "No Pose to Copy"); + return OPERATOR_CANCELLED; } + /* free existing pose buffer */ free_posebuf(); - set_pose_keys(ob); // sets chan->flag to POSE_KEY if bone selected + /* sets chan->flag to POSE_KEY if bone selected, then copy those bones to the buffer */ + set_pose_keys(ob); copy_pose(&g_posebuf, ob->pose, 0); + + + return OPERATOR_FINISHED; +} +void POSE_OT_copy (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Copy Pose"; + ot->idname= "POSE_OT_copy"; + ot->description= "Copies the current pose of the selected bones to copy/paste buffer."; + + /* api callbacks */ + ot->exec= pose_copy_exec; + ot->poll= ED_operator_posemode; + + /* flag */ + ot->flag= OPTYPE_REGISTER; } -void paste_posebuf (Scene *scene, int flip) +/* ---- */ + +static int pose_paste_exec (bContext *C, wmOperator *op) { - Object *ob= OBACT; + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); bPoseChannel *chan, *pchan; - float eul[4]; char name[32]; + int flip= RNA_boolean_get(op->ptr, "flipped"); - if (!ob || !ob->pose) - return; + /* sanity checks */ + if ELEM(NULL, ob, ob->pose) + return OPERATOR_CANCELLED; - if (!g_posebuf){ - error ("Copy buffer is empty"); - return; + if (g_posebuf == NULL) { + BKE_report(op->reports, RPT_ERROR, "Copy buffer is empty"); + return OPERATOR_CANCELLED; } - /* - // disabled until protected bones in proxies follow the rules everywhere else! - if(pose_has_protected_selected(ob, 1, 1)) - return; - */ - - /* Safely merge all of the channels in this pose into - any existing pose */ - for (chan=g_posebuf->chanbase.first; chan; chan=chan->next) { + /* 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) { + /* get the name - if flipping, we must flip this first */ BLI_strncpy(name, chan->name, sizeof(name)); if (flip) - bone_flip_name (name, 0); // 0 = don't strip off number extensions + bone_flip_name(name, 0); /* 0 = don't strip off number extensions */ /* only copy when channel exists, poses are not meant to add random channels to anymore */ pchan= get_pose_channel(ob->pose, name); if (pchan) { - /* only loc rot size */ - /* only copies transform info for the pose */ + /* only loc rot size + * - only copies transform info for the pose + */ VECCOPY(pchan->loc, chan->loc); VECCOPY(pchan->size, chan->size); - QUATCOPY(pchan->quat, chan->quat); 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) { + VECCOPY(pchan->eul, chan->eul); + } + else { + QUATCOPY(pchan->quat, chan->quat); + } + } + else if (pchan->rotmode) { + /* quat to euler */ + QuatToEul(chan->quat, pchan->eul); + } + else { + /* euler to quat */ + EulToQuat(chan->eul, pchan->quat); + } + + /* paste flipped pose? */ if (flip) { pchan->loc[0]*= -1; - QuatToEul(pchan->quat, eul); - eul[1]*= -1; - eul[2]*= -1; - EulToQuat(eul, pchan->quat); + /* has to be done as eulers... */ + if (pchan->rotmode) { + pchan->eul[1] *= -1; + pchan->eul[2] *= -1; + } + else { + float eul[3]; + + QuatToEul(pchan->quat, eul); + eul[1]*= -1; + eul[2]*= -1; + EulToQuat(eul, pchan->quat); + } } #if 0 // XXX old animation system @@ -915,6 +1030,7 @@ void paste_posebuf (Scene *scene, int flip) ID *id= &ob->id; /* Set keys on pose */ + // TODO: make these use keyingsets.... if (chan->flag & POSE_ROT) { insertkey(id, ID_PO, pchan->name, NULL, AC_QUAT_X, 0); insertkey(id, ID_PO, pchan->name, NULL, AC_QUAT_Y, 0); @@ -957,8 +1073,29 @@ void paste_posebuf (Scene *scene, int flip) where_is_pose(scene, ob); ob->recalc= 0; } + + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE|ND_TRANSFORM, ob); + + return OPERATOR_FINISHED; +} - BIF_undo_push("Paste Action Pose"); +void POSE_OT_paste (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Paste Pose"; + ot->idname= "POSE_OT_paste"; + ot->description= "Pastes the stored pose on to the current pose."; + + /* api callbacks */ + ot->exec= pose_paste_exec; + ot->poll= ED_operator_posemode; + + /* flag */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* properties */ + RNA_def_boolean(ot->srna, "flipped", 0, "Flipped on X-Axis", ""); } /* ********************************************** */ @@ -988,216 +1125,320 @@ void pose_adds_vgroups(Scene *scene, Object *meshobj, int heatweights) /* ********************************************** */ -/* adds a new pose-group */ -void pose_add_posegroup (Scene *scene) + +static int pose_group_add_exec (bContext *C, wmOperator *op) { - Object *ob= OBACT; - bPose *pose= (ob) ? ob->pose : NULL; - bActionGroup *grp; + ScrArea *sa= CTX_wm_area(C); + Object *ob; - if (ELEM(NULL, ob, ob->pose)) - return; + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; + else + ob= CTX_data_active_object(C); + + /* only continue if there's an object */ + if (ob == NULL) + return OPERATOR_CANCELLED; - grp= MEM_callocN(sizeof(bActionGroup), "PoseGroup"); - strcpy(grp->name, "Group"); - BLI_addtail(&pose->agroups, grp); - BLI_uniquename(&pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), 32); + /* for now, just call the API function for this */ + pose_add_group(ob); - pose->active_group= BLI_countlist(&pose->agroups); + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); - BIF_undo_push("Add Bone Group"); + return OPERATOR_FINISHED; +} + +void POSE_OT_group_add (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Add Bone Group"; + ot->idname= "POSE_OT_group_add"; + ot->description= "Add a new bone group."; + /* api callbacks */ + ot->exec= pose_group_add_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; } -/* Remove the active bone-group */ -void pose_remove_posegroup (Scene *scene) + +static int pose_group_remove_exec (bContext *C, wmOperator *op) { - Object *ob= OBACT; - bPose *pose= (ob) ? ob->pose : NULL; - bActionGroup *grp = NULL; - bPoseChannel *pchan; + ScrArea *sa= CTX_wm_area(C); + Object *ob; - /* sanity checks */ - if (ELEM(NULL, ob, pose)) - return; - if (pose->active_group <= 0) - return; + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; + else + ob= CTX_data_active_object(C); - /* get group to remove */ - grp= BLI_findlink(&pose->agroups, pose->active_group-1); - if (grp) { - /* adjust group references (the trouble of using indices!): - * - firstly, make sure nothing references it - * - also, make sure that those after this item get corrected - */ - for (pchan= pose->chanbase.first; pchan; pchan= pchan->next) { - if (pchan->agrp_index == pose->active_group) - pchan->agrp_index= 0; - else if (pchan->agrp_index > pose->active_group) - pchan->agrp_index--; - } - - /* now, remove it from the pose */ - BLI_freelinkN(&pose->agroups, grp); - pose->active_group= 0; - - BIF_undo_push("Remove Bone Group"); - } + /* only continue if there's an object */ + if (ob == NULL) + return OPERATOR_CANCELLED; + + /* for now, just call the API function for this */ + pose_remove_group(ob); + + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + return OPERATOR_FINISHED; } -char *build_posegroups_menustr (bPose *pose, short for_pupmenu) +void POSE_OT_group_remove (wmOperatorType *ot) { - DynStr *pupds= BLI_dynstr_new(); + /* identifiers */ + ot->name= "Remove Bone Group"; + ot->idname= "POSE_OT_group_remove"; + ot->description= "Removes the active bone group."; + + /* api callbacks */ + ot->exec= pose_group_remove_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ------------ */ + +/* invoke callback which presents a list of bone-groups for the user to choose from */ +static int pose_groups_menu_invoke (bContext *C, wmOperator *op, wmEvent *evt) +{ + ScrArea *sa= CTX_wm_area(C); + Object *ob; + bPose *pose; + + uiPopupMenu *pup; + uiLayout *layout; bActionGroup *grp; - char *str; - char buf[16]; int i; - /* add title first (and the "none" entry) */ - BLI_dynstr_append(pupds, "Bone Group%t|"); - if (for_pupmenu) - BLI_dynstr_append(pupds, "Add New%x0|"); + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; else - BLI_dynstr_append(pupds, "BG: [None]%x0|"); + ob= CTX_data_active_object(C); + + /* only continue if there's an object, and a pose there too */ + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + pose= ob->pose; - /* loop through groups, adding them */ - for (grp= pose->agroups.first, i=1; grp; grp=grp->next, i++) { - if (for_pupmenu == 0) - BLI_dynstr_append(pupds, "BG: "); - BLI_dynstr_append(pupds, grp->name); + /* if there's no active group (or active is invalid), create a new menu to find it */ + if (pose->active_group <= 0) { + /* create a new menu, and start populating it with group names */ + pup= uiPupMenuBegin(C, op->type->name, 0); + layout= uiPupMenuLayout(pup); - sprintf(buf, "%%x%d", i); - BLI_dynstr_append(pupds, buf); + /* special entry - allow to create new group, then use that + * (not to be used for removing though) + */ + if (strstr(op->idname, "assign")) { + uiItemIntO(layout, "New Group", 0, op->idname, "type", 0); + uiItemS(layout); + } - if (grp->next) - BLI_dynstr_append(pupds, "|"); + /* add entries for each group */ + for (grp= pose->agroups.first, i=1; grp; grp=grp->next, i++) + uiItemIntO(layout, grp->name, 0, op->idname, "type", i); + + /* finish building the menu, and process it (should result in calling self again) */ + uiPupMenuEnd(C, pup); + + return OPERATOR_CANCELLED; + } + else { + /* just use the active group index, and call the exec callback for the calling operator */ + RNA_int_set(op->ptr, "type", pose->active_group); + return op->type->exec(C, op); } - - /* convert to normal MEM_malloc'd string */ - str= BLI_dynstr_get_cstring(pupds); - BLI_dynstr_free(pupds); - - return str; } /* Assign selected pchans to the bone group that the user selects */ -void pose_assign_to_posegroup (Scene *scene, short active) +static int pose_group_assign_exec (bContext *C, wmOperator *op) { - Object *ob= OBACT; - bArmature *arm= (ob) ? ob->data : NULL; - bPose *pose= (ob) ? ob->pose : NULL; + ScrArea *sa= CTX_wm_area(C); + Object *ob; + bArmature *arm; + bPose *pose; bPoseChannel *pchan; - char *menustr; - int nr; short done= 0; - /* sanity checks */ - if (ELEM3(NULL, ob, pose, arm)) - return; - - /* get group to affect */ - if ((active==0) || (pose->active_group <= 0)) { - menustr= build_posegroups_menustr(pose, 1); - nr= 0; // XXX pupmenu_col(menustr, 20); - MEM_freeN(menustr); - - if (nr < 0) - return; - else if (nr == 0) { - /* add new - note: this does an undo push and sets active group */ - pose_add_posegroup(scene); - } - else - pose->active_group= nr; - } + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; + else + ob= CTX_data_active_object(C); + + /* only continue if there's an object, and a pose there too */ + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + arm= ob->data; + pose= ob->pose; + + /* set the active group number to the one from operator props + * - if 0 after this, make a new group... + */ + pose->active_group= RNA_int_get(op->ptr, "type"); + if (pose->active_group == 0) + pose_add_group(ob); /* add selected bones to group then */ + // NOTE: unfortunately, we cannot use the context-iterators here, since they might not be defined... + // CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) for (pchan= pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone->flag & BONE_SELECTED) && (pchan->bone->layer & arm->layer)) { - pchan->agrp_index= pose->active_group; - done= 1; + /* ensure that PoseChannel is on visible layer and is not hidden in PoseMode */ + // NOTE: sync this view3d_context() in space_view3d.c + if ((pchan->bone) && (arm->layer & pchan->bone->layer) && !(pchan->bone->flag & BONE_HIDDEN_P)) { + if (pchan->bone->flag & (BONE_SELECTED|BONE_ACTIVE)) { + pchan->agrp_index= pose->active_group; + done= 1; + } } } + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + + /* report done status */ if (done) - BIF_undo_push("Add Bones To Group"); - + return OPERATOR_FINISHED; + else + return OPERATOR_CANCELLED; } -/* Remove selected pchans from their bone groups */ -void pose_remove_from_posegroups (Scene *scene) +void POSE_OT_group_assign (wmOperatorType *ot) { - Object *ob= OBACT; - bArmature *arm= (ob) ? ob->data : NULL; - bPose *pose= (ob) ? ob->pose : NULL; + /* identifiers */ + ot->name= "Add Selected to Bone Group"; + ot->idname= "POSE_OT_group_assign"; + ot->description= "Add selected bones to the chosen bone group."; + + /* api callbacks */ + ot->invoke= pose_groups_menu_invoke; + ot->exec= pose_group_assign_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; + + /* properties */ + RNA_def_int(ot->srna, "type", 0, 0, 10, "Bone Group Index", "", 0, INT_MAX); +} + + +static int pose_group_unassign_exec (bContext *C, wmOperator *op) +{ + ScrArea *sa= CTX_wm_area(C); + Object *ob; + bArmature *arm; + bPose *pose; bPoseChannel *pchan; short done= 0; - /* sanity checks */ - if (ELEM3(NULL, ob, pose, arm)) - return; + /* since this call may also be used from the buttons window, we need to check for where to get the object */ + if (sa->spacetype == SPACE_BUTS) + ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; + else + ob= CTX_data_active_object(C); - /* remove selected bones from their groups */ + /* only continue if there's an object, and a pose there too */ + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + pose= ob->pose; + arm= ob->data; + + /* add selected bones to ungroup then */ + // NOTE: unfortunately, we cannot use the context-iterators here, since they might not be defined... + // CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) for (pchan= pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone->flag & BONE_SELECTED) && (pchan->bone->layer & arm->layer)) { - if (pchan->agrp_index) { - pchan->agrp_index= 0; - done= 1; + /* ensure that PoseChannel is on visible layer and is not hidden in PoseMode */ + // NOTE: sync this view3d_context() in space_view3d.c + if ((pchan->bone) && (arm->layer & pchan->bone->layer) && !(pchan->bone->flag & BONE_HIDDEN_P)) { + if (pchan->bone->flag & (BONE_SELECTED|BONE_ACTIVE)) { + if (pchan->agrp_index) { + pchan->agrp_index= 0; + done= 1; + } } } } + /* notifiers for updates */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + + /* report done status */ if (done) - BIF_undo_push("Remove Bones From Groups"); - + return OPERATOR_FINISHED; + else + return OPERATOR_CANCELLED; } -/* Ctrl-G in 3D-View while in PoseMode */ -void pgroup_operation_with_menu (Scene *scene) +void POSE_OT_group_unassign (wmOperatorType *ot) { - Object *ob= OBACT; - bArmature *arm= (ob) ? ob->data : NULL; - bPose *pose= (ob) ? ob->pose : NULL; - bPoseChannel *pchan= NULL; - int mode; + /* identifiers */ + ot->name= "Remove Selected from Bone Groups"; + ot->idname= "POSE_OT_group_unassign"; + ot->description= "Add selected bones from all bone groups"; - /* sanity checks */ - if (ELEM3(NULL, ob, pose, arm)) - return; + /* api callbacks */ + ot->exec= pose_group_unassign_exec; + ot->poll= ED_operator_posemode; - /* check that something is selected */ - for (pchan= pose->chanbase.first; pchan; pchan= pchan->next) { - if ((pchan->bone->flag & BONE_SELECTED) && (pchan->bone->layer & arm->layer)) - break; - } - if (pchan == NULL) - return; + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ----------------- */ + +static int pose_groupOps_menu_invoke (bContext *C, wmOperator *op, wmEvent *evt) +{ + Object *ob= CTX_data_active_object(C); + uiPopupMenu *pup= uiPupMenuBegin(C, op->type->name, 0); + uiLayout *layout= uiPupMenuLayout(pup); + + /* sanity check - must have object with pose */ + if ELEM(NULL, ob, ob->pose) + return OPERATOR_CANCELLED; /* get mode of action */ - if (pchan) - mode= pupmenu("Bone Groups%t|Add Selected to Active Group%x1|Add Selected to Group%x2|%|Remove Selected From Groups%x3|Remove Active Group%x4"); - else - mode= pupmenu("Bone Groups%t|Add New Group%x5|Remove Active Group%x4"); + if (CTX_DATA_COUNT(C, selected_pchans)) { + /* if selected bone(s), include options to add/remove to active group */ + uiItemO(layout, "Add Selected to Active Group", 0, "POSE_OT_group_assign"); - /* handle mode */ - switch (mode) { - case 1: - pose_assign_to_posegroup(scene, 1); - break; - case 2: - pose_assign_to_posegroup(scene, 0); - break; - case 5: - pose_add_posegroup(scene); - break; - case 3: - pose_remove_from_posegroups(scene); - break; - case 4: - pose_remove_posegroup(scene); - break; + uiItemS(layout); + + uiItemO(layout, "Remove Selected from All Groups", 0, "POSE_OT_group_unassign"); + uiItemO(layout, "Remove Active Group", 0, "POSE_OT_group_remove"); + } + else { + /* no selected bones - so just options for groups management */ + uiItemO(layout, "Add New Group", 0, "POSE_OT_group_add"); + uiItemO(layout, "Remove Active Group", 0, "POSE_OT_group_remove"); } + + return OPERATOR_CANCELLED; +} + +void POSE_OT_groups_menu (wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Bone Group Tools"; + ot->idname= "POSE_OT_groups_menu"; + ot->description= "Menu displaying available tools for Bone Groups."; + + /* api callbacks (only invoke needed) */ + ot->invoke= pose_groupOps_menu_invoke; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER; } /* ********************************************** */ @@ -1293,64 +1534,111 @@ void pose_select_grouped_menu (Scene *scene) /* ********************************************** */ -/* context active object */ -void pose_flip_names(Scene *scene) +static int pose_flip_names_exec (bContext *C, wmOperator *op) { - Object *obedit= scene->obedit; // XXX context - Object *ob= OBACT; - bArmature *arm= ob->data; - bPoseChannel *pchan; + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); + bArmature *arm; char newname[32]; /* paranoia checks */ - if(!ob && !ob->pose) return; - if(ob==obedit || (ob->flag & OB_POSEMODE)==0) return; - - if(pose_has_protected_selected(ob, 0, 1)) - return; + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + arm= ob->data; - for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if(arm->layer & pchan->bone->layer) { - if(pchan->bone->flag & (BONE_ACTIVE|BONE_SELECTED)) { - BLI_strncpy(newname, pchan->name, sizeof(newname)); - bone_flip_name(newname, 1); // 1 = do strip off number extensions - ED_armature_bone_rename(arm, pchan->name, newname); - } - } + /* loop through selected bones, auto-naming them */ + CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) + { + BLI_strncpy(newname, pchan->name, sizeof(newname)); + bone_flip_name(newname, 1); // 1 = do strip off number extensions + ED_armature_bone_rename(arm, pchan->name, newname); } + CTX_DATA_END; - BIF_undo_push("Flip names"); + /* since we renamed stuff... */ + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + + return OPERATOR_FINISHED; } -/* context active object */ -void pose_autoside_names(Scene *scene, short axis) +void POSE_OT_flip_names (wmOperatorType *ot) { - Object *obedit= scene->obedit; // XXX context - Object *ob= OBACT; - bArmature *arm= ob->data; - bPoseChannel *pchan; + /* identifiers */ + ot->name= "Flip Names"; + ot->idname= "POSE_OT_flip_names"; + ot->description= "Flips (and corrects) the names of selected bones."; + + /* api callbacks */ + ot->exec= pose_flip_names_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* ------------------ */ + +static int pose_autoside_names_exec (bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); + bArmature *arm; char newname[32]; + short axis= RNA_enum_get(op->ptr, "axis"); /* paranoia checks */ - if (ELEM(NULL, ob, ob->pose)) return; - if (ob==obedit || (ob->flag & OB_POSEMODE)==0) return; - - if (pose_has_protected_selected(ob, 0, 1)) - return; + if (ELEM(NULL, ob, ob->pose)) + return OPERATOR_CANCELLED; + arm= ob->data; - for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { - if(arm->layer & pchan->bone->layer) { - if(pchan->bone->flag & (BONE_ACTIVE|BONE_SELECTED)) { - BLI_strncpy(newname, pchan->name, sizeof(newname)); - bone_autoside_name(newname, 1, axis, pchan->bone->head[axis], pchan->bone->tail[axis]); - ED_armature_bone_rename(arm, pchan->name, newname); - } - } + /* loop through selected bones, auto-naming them */ + CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) + { + BLI_strncpy(newname, pchan->name, sizeof(newname)); + bone_autoside_name(newname, 1, axis, pchan->bone->head[axis], pchan->bone->tail[axis]); + ED_armature_bone_rename(arm, pchan->name, newname); } + CTX_DATA_END; - BIF_undo_push("Flip names"); + /* since we renamed stuff... */ + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + + return OPERATOR_FINISHED; } +void POSE_OT_autoside_names (wmOperatorType *ot) +{ + static EnumPropertyItem axis_items[]= { + {0, "XAXIS", 0, "X-Axis", "Left/Right"}, + {1, "YAXIS", 0, "Y-Axis", "Front/Back"}, + {2, "ZAXIS", 0, "Z-Axis", "Top/Bottom"}, + {0, NULL, 0, NULL, NULL}}; + + /* identifiers */ + ot->name= "AutoName by Axis"; + ot->idname= "POSE_OT_autoside_names"; + ot->description= "Automatically renames the selected bones according to which side of the target axis they fall on."; + + /* api callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= pose_autoside_names_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* settings */ + RNA_def_enum(ot->srna, "axis", axis_items, 0, "Axis", "Axis tag names with."); +} + +/* ********************************************** */ + /* context active object, or weightpainted object with armature in posemode */ void pose_activate_flipped_bone(Scene *scene) { diff --git a/source/blender/editors/curve/curve_intern.h b/source/blender/editors/curve/curve_intern.h index 34e81b60a16..ad3e9427861 100644 --- a/source/blender/editors/curve/curve_intern.h +++ b/source/blender/editors/curve/curve_intern.h @@ -75,7 +75,8 @@ void CURVE_OT_spline_type_set(struct wmOperatorType *ot); void CURVE_OT_radius_set(struct wmOperatorType *ot); void CURVE_OT_spline_weight_set(struct wmOperatorType *ot); void CURVE_OT_handle_type_set(struct wmOperatorType *ot); -void CURVE_OT_smooth_set(struct wmOperatorType *ot); +void CURVE_OT_shade_smooth(struct wmOperatorType *ot); +void CURVE_OT_shade_flat(struct wmOperatorType *ot); void CURVE_OT_tilt_clear(struct wmOperatorType *ot); void CURVE_OT_smooth(struct wmOperatorType *ot); diff --git a/source/blender/editors/curve/curve_ops.c b/source/blender/editors/curve/curve_ops.c index 45dc76d5488..6006c7e656b 100644 --- a/source/blender/editors/curve/curve_ops.c +++ b/source/blender/editors/curve/curve_ops.c @@ -130,7 +130,8 @@ void ED_operatortypes_curve(void) WM_operatortype_append(CURVE_OT_radius_set); WM_operatortype_append(CURVE_OT_spline_weight_set); WM_operatortype_append(CURVE_OT_handle_type_set); - WM_operatortype_append(CURVE_OT_smooth_set); + WM_operatortype_append(CURVE_OT_shade_smooth); + WM_operatortype_append(CURVE_OT_shade_flat); WM_operatortype_append(CURVE_OT_tilt_clear); WM_operatortype_append(CURVE_OT_smooth); diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 51a9cf5c75a..28a9d3ac7c9 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -4550,14 +4550,14 @@ void CURVE_OT_delete(wmOperatorType *ot) RNA_def_enum(ot->srna, "type", type_items, 0, "Type", "Which elements to delete."); } -/********************** set smooth operator *********************/ +/********************** shade smooth/flat operator *********************/ -static int set_smooth_exec(bContext *C, wmOperator *op) +static int shade_smooth_exec(bContext *C, wmOperator *op) { Object *obedit= CTX_data_edit_object(C); ListBase *editnurb= curve_get_editcurve(obedit); Nurb *nu; - int clear= RNA_boolean_get(op->ptr, "clear"); + int clear= (strcmp(op->idname, "CURVE_OT_shade_flat") == 0); if(obedit->type != OB_CURVE) return OPERATOR_CANCELLED; @@ -4575,21 +4575,32 @@ static int set_smooth_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void CURVE_OT_smooth_set(wmOperatorType *ot) +void CURVE_OT_shade_smooth(wmOperatorType *ot) { /* identifiers */ - ot->name= "Set Smooth"; - ot->idname= "CURVE_OT_smooth_set"; + ot->name= "Shade Smooth"; + ot->idname= "CURVE_OT_shade_smooth"; /* api callbacks */ - ot->exec= set_smooth_exec; + ot->exec= shade_smooth_exec; ot->poll= ED_operator_editsurfcurve; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} - /* properties */ - RNA_def_boolean(ot->srna, "clear", 0, "Clear", "Clear smooth shading to solid for selection instead of enabling it."); +void CURVE_OT_shade_flat(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Shade Flat"; + ot->idname= "CURVE_OT_shade_flat"; + + /* api callbacks */ + ot->exec= shade_smooth_exec; + ot->poll= ED_operator_editsurfcurve; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } /************** join operator, to be used externally? ****************/ @@ -4713,11 +4724,13 @@ Nurb *add_nurbs_primitive(bContext *C, int type, int newname) Mat3MulMat3(cmat, imat, mat); Mat3Inv(imat, cmat); } + else + Mat3One(imat); + setflagsNurb(editnurb, 0); } - else { + else return NULL; - } /* these types call this function to return a Nurb */ if (stype!=CU_PRIM_TUBE && stype!=CU_PRIM_DONUT) { diff --git a/source/blender/editors/datafiles/blenderbuttons.c b/source/blender/editors/datafiles/blenderbuttons.c index d2668d21e52..d7916989cae 100644 --- a/source/blender/editors/datafiles/blenderbuttons.c +++ b/source/blender/editors/datafiles/blenderbuttons.c @@ -1,5501 +1,5530 @@ /* DataToC output of file <blenderbuttons> */ -int datatoc_blenderbuttons_size= 175808; +int datatoc_blenderbuttons_size= 176743; char datatoc_blenderbuttons[]= { - -137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 2, 88, 0, 0, 2,128, 8, 6, 0, 0, 0, 64, 11, 6, -158, 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,217, 6, 17, 13, 13, 30,217,121,242, 96, 0, 0, 32, 0, 73, 68, 65, 84,120,218, -236, 93,119,120, 20,213,226, 61,119,202,246, 77, 39,141, 4, 66, 71,186, 16, 64, 9, 96,144, 14,242, 80,121,162,128,160,226,243, - 61,236, 15,177,128, 29, 20,136,250, 20,108,136,242, 84,120, 32,250, 19, 21, 36, 54,154,116, 8, 16, 68, 8,197, 8, 18, 8, 37, -132, 68, 82,183,239,206,253,253,145,157,113,179,217, 50,193, 4, 81,238,249,190,249,182,204,204,153,219,231,220,115,239,157, 1, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,174,100,116, 97,156,140,147,113, 50, 78,198,201, 56, 25, - 39,227,188,210,192, 93,196, 57,180, 17,194, 65,189, 91,230,159,128,179,177,226,222,144,220,153, 94,190,231,255, 36,225,204,188, -140, 57,105, 35,240,210, 70, 40, 83,180, 17,202,125, 99,115,162,145,226, 78, 27, 33,223,159,255,147,132, 51,243, 50,228,244, 47, - 63, 13,193, 27,168, 76,210, 6, 14, 39,109,132,112, 54, 22, 39, 26, 41,238,180,145,242,190, 33,239, 77,151, 45,132,203, 64, 96, - 0, 0,241,225, 39,151, 49, 39, 26,137,179,161,195,183,177, 17, 56, 73, 35,148,129,231,189,188,155, 26, 80, 16,201,113,111,136, - 60,162,141,192,219,152,226,170, 33,203,125, 99,115,162,145, 56, 73, 3,167,231,198, 70,224,108,168,186, 68, 27,161, 46, 53, 70, -153,247, 47, 63, 13,193,235,207,217, 16,117,201,159,179, 33,202,253,165,224, 68, 35,113,146, 70, 72,211,198,184, 55, 93,182,224, - 46, 50,177, 26, 3, 20,192,128,203, 92, 8, 53,150,200,108,104, 23,167, 49, 57, 27, 50,143,158,111,132,222,204,128, 6,204, 35, - 18, 32,188, 13,201, 73, 26, 41,156, 13,145, 79,164, 17,234, 18,105,132,186, 68, 26,161,220, 95, 42,206,134,204,163,134,170, 75, -164,145,234,146,127,124,159,111, 96, 78,210, 72,225,108,136,124, 10,196, 73, 26,129,179, 49,226,158,121, 25,243, 94,246, 16, 46, -147,112, 52,134, 16, 66, 3, 58, 25,141,233,226, 52,150,211, 70, 26, 41, 93, 55, 53, 32,215,198, 70, 8,231,166, 6,236,209, 6, - 18,132,207, 93,230,117,154,213, 37, 86,151, 46,183,186, 68,131,116, 86,158,187,204,202,121, 67, 58, 66,161, 56,126,111, 62,209, - 32, 29, 53,218,128,225,108, 72,215,154, 92,162,250,116,217,129,187,140,194,210,208,243,123, 40, 26,199, 21,107,172,120, 55,100, - 56, 7,252, 73,226,222, 24,225,124,190,145,226,254,103, 73, 83, 86,151, 88, 93,186, 28,235,146,111,153,108,168,176, 54,116, 57, - 15,196,217,144,243,144, 26,178,140, 54,118,220,233,101,158,247,127, 10, 92,140,131,213, 88,189,227, 63, 3,103, 99,112, 55, 70, - 56, 55,253, 73,210,180, 49,194,249, 60, 26,118,200,145, 52, 66, 88, 27,115,152,176, 49,202,102, 99,150,119,114,153,135,243,207, -146,239,141, 17,206,134,170, 75,164, 17,234, 61,105,132,246,169, 49,203,102, 99,114, 54, 4,119, 99,132,179,177,242,158,129,129, -129,129,129,129,129,129,225, 74, 69, 80, 37,217,189,123,247,108,189, 94,223, 38,216,126,139,197,114,246,199, 31,127,188,158, 37, - 33, 3, 3,131, 10,112,248,109, 74,130,132,198, 25,226, 96, 96, 96, 96,184,108, 16,116,136, 80,163,209,180,218,188,121,115, 59, - 73,146,224,118,187,225,241,120,224,241,120,224,118,187,225,112, 56,240,247,191,255,189,222,195,139,221,186,117,219,204,113, 92, -139,250,156,227,241,120, 78,238,223,191,191, 95,176,253, 9, 9, 9,219, 1,180, 34,228, 55,173, 72, 8,129,252,219,247,127,142, - 83,166,156,157, 57,117,234, 84,143, 80,156,132,144, 86,190,124,254, 92, 1,120, 67,114,182,111,223,126,143, 32, 8,169,129,206, - 15,198, 45, 73,210, 47,121,121,121, 25,172,152, 94, 26,116,235,214,109, 51,207,243,245, 46,159, 63,254,248, 99,208,242,217,185, -115,231, 31, 56,142,107, 26, 40,143,131,148, 39,222,227,241,252,228,229, 12, 40, 64,146,146,146,182, 83, 74, 91,169, 44,151, 50, - 78,157, 58,117,170,103,184,122, 20, 42,156, 1,184, 67,114,250,138,171,148,148,148,172,248,248,248,123, 45, 22,139, 13, 0,229, - 56,142,202,220, 50,175,199,227, 57,127,228,200, 17,246,240, 66, 6, 6,134,191,182,192,146, 36,137,179,219,237,200,207,207, 7, -165,117,219,121,142,227, 60,245,189, 24,165,180,221,250,229, 75, 19, 12,241,137,240, 56, 29,208, 53, 73, 80,184,203, 14, 29,128, -199,233,132,228,114,162, 73,207,107,229, 48, 96,192,128, 1,124, 24,218,212,169, 83,167, 38, 68, 68, 68,192,102,179,193,102,179, -193,110,183,195,110,183,195,225,112,192,225,112,192,233,116,194,233,116,194,229,114,193,110,183,227,192,129, 3, 33,195, 78, 8, - 73,125,232,161,135, 20, 78,187,221, 14,155,205,166,112,217,237,118,133,211,225,112,192,110,183,227,224,193,131, 33, 57, 5, 65, - 72,221,187,119,111,130, 70,163, 1,165, 20,146, 36,129, 82, 90,107,243, 75, 43,244,237,219,215,201,138,232, 37, 69,187,149, 47, -205, 78,208,197, 53,129,228,114, 33,238,234,116, 37, 47, 78,175,255, 22,146,203, 5,201,229, 66,218,223,198, 40,255,103,102,102, -134, 43,159,105,159, 61, 59, 35, 90, 19, 17, 1,183,205,134,150,163,110, 86,118,228,189, 51, 15,212,229, 2,117, 59,209,245,145, -167, 1, 0, 37, 37, 37,214, 14, 29, 58,156, 65,232,213, 91,169,199,143, 31, 79,144,195,224, 47,212, 57,142,171,181,109,221,186, - 21, 19, 39, 78, 12, 23,247,212,167,158,122, 42, 65,174, 35,190,101,221,229,114, 41,245,199,237,118,195,229,114,193,225,112,224, -135, 31,126, 80,229, 92, 37, 39, 39,191,212,191,127,255,201,203,150, 45, 51,125,241,197, 23,166,150, 45, 91, 66,163,209,128,231, -121,240, 60, 15,142,227,192,243, 60,110,188,241, 70, 54, 55,131,129,129,225,175, 47,176,156, 78,231,241,161, 67,135, 82, 0,112, - 56, 28, 41, 90,173, 86,227, 39,192,154,102,100,100,252,228,127, 94,184,161, 67, 67,124, 34, 62,104, 25, 11, 0, 24,123,172, 84, -185, 41,172,184,174,187,114,204,248, 19,229, 53,199, 26, 12,224, 56,142,132, 17, 67, 48,155,205, 24, 58,116, 40,180, 90, 45,210, -211,211,161,209,104, 32,138, 98,208, 77, 13, 76, 38, 19,102,206,156, 41,139, 35,152,244, 58,220,215,255, 90,232, 9,197, 7, 63, - 30,129,221, 35, 65, 16, 4, 8,130, 0, 81, 20,235, 56, 82,129,160,209,104,112,224,192, 1,240, 60, 15, 65, 16,106,125,242, 60, -143,213,171, 87,227,150, 91,110, 1,207,243, 48, 26,141, 0,155, 12,120,201,161,139,107,130,207, 50,107,140,200,219, 11, 43,149, -255,191, 29,247, 55,229,251,164,211,213, 32,132, 64,163,209,168,203,247,136, 8,124,125,203, 8, 0,192,152,252, 98,165,204,236, -159, 55, 27,162, 86, 11, 65,212,160,203,212,167, 80, 82, 82, 98, 29, 51,102,204, 86,189, 94,255,157,138,206, 10, 78,158, 60,169, -112,137,162, 88,167,220,115, 28,135, 15, 63,252, 16, 39, 78,156, 80, 21,119,171,213,138, 57,115,230, 40,113, 11,196,235,251, 93, - 69,220,185,164,164,164, 23,251,247,239, 63,113,217,178,101, 49,132, 16, 44, 88,176, 0,130, 32,224,134, 27,110, 64, 92, 92, 28, -214,172, 89, 3,141, 70,131,199, 30,123,140, 21, 62, 6, 6,134, 43, 67, 96,253,248,227,143, 35,228,239,215, 92,115,205,225,173, - 91,183, 94,229, 99,229,195,237,118,107,220,110,119, 59,121,216,208,237,118,195,110,183, 99,252,248,241, 33,123,244, 30,167,163, -142, 64, 10, 38,156,212,194,225,112, 96,236,216,177,138,136, 9, 37,174,212,220, 24, 8, 33,176,219,237, 16, 4, 1,173,155,199, -227,233,177, 61,209,151,167,176,150, 2, 40,169,198,157,201, 2,246,165,182,195,155, 39, 75,113,162,162, 10,130,160,110,180, 84, -146,164, 90,130,202,255,251,194,133, 11, 49,110,220, 56,240, 60, 95,103, 8,137,225,210, 64,114,185,194,150,195,250,230,141,219, -102, 3, 0,240, 62,130, 92, 20, 69,104,245,122,240,162, 8, 65,171, 65, 73, 73,137,117,200,144, 33, 59, 13, 6,195,146,164,164, -164,211,167, 78,157, 10, 89, 62, 41,165, 16, 69, 17,130, 32, 4, 45,243, 31,126,248, 33,150, 46, 93,138,222,189,123,171, 42,243, - 14,135, 3, 26,141, 6,179,103,207,174,179,255,157,119,222,169, 35,176,194,128, 0,224, 18, 19, 19,239, 91,190,124,121,164,124, -253,184,184, 56,136,162,136,206,157, 59, 35, 34, 34, 2, 91,183,110,133,199,227, 81, 45, 86, 25, 24, 24,174, 76, 80, 74, 69, 0, - 87, 3,136, 7,224, 1, 80, 9, 32,218,231,144,243,222,207,120,249, 55, 33,100,119, 0,158, 94,222, 99,206, 19, 66,118,251,252, -118, 0,208, 6,248,191, 20,128,193,187,217, 1,108, 7,208,217,231, 58,242,121,240,191,174,172, 12, 50, 81,243,160,186, 1, 8, -240,240, 59,121,184,240,200,145, 35, 1,135, 11,253, 2, 31,178,149,212, 53, 73, 80,156,171, 79, 91,199, 41,255,143, 43, 40, 83, - 26,216,175,123,183,133,206,108, 66,207,231, 95, 9,155,232,242,141,161,184,184,184, 78,207,251, 98, 5, 22, 0,184, 92, 46, 24, - 12, 58,124,255,238,117, 56,251,139, 27,179,179, 11,177,106,215,113, 8,130,128, 81, 87,181,197,223,221, 64, 86,172, 30,255,114, -123,224,148,168,170, 27, 24,165,180,142,184,242, 21, 89,132, 16,229, 63,118,179,249, 99, 16,119,117,186,226, 92, 45,107, 22, 81, -199,181, 2,128, 85,221, 91, 64, 31, 97, 70,231,135,167,171, 42,159, 45, 71,221,172, 56, 87, 95,165,183,130,160,209, 64,212,105, -241,247, 31, 11, 1,212, 12, 11, 14,236,218,113, 83, 25,175, 93,124,199, 29,119,252,178,126,253,122,163,154,176,106, 52,154, 90, -130, 45,144,184, 18, 4, 1, 46, 63,209, 24,170, 83, 17, 76, 56,201,245,170,158, 14, 22, 44, 22,139, 99,213,170, 85,120,243,205, - 55, 17, 23, 23,135,161, 67,135, 34, 41, 41, 9, 43, 86,172, 0,165, 20, 15, 60,240, 0, 12, 6, 3, 12, 6, 3, 43,243, 12, 12, - 12,161,180,200,117, 51,102,204,232,153,149,149, 53,167, 79,159, 62, 31,111,223,190,125, 57, 33, 36,219, 71,123,140,242,182,101, -217,242,111, 74,105, 47, 95,145,229, 21,105,241,132,144,108,249,120,223,223,242, 39,165,116, 48, 0,173,252,123,198,140, 25,157, -179,178,178,230, 76,159, 62,253,201,185,115,231,106,102,204,152,209, 53, 43, 43,107,142,124,157, 64,225,240, 21, 88, 33,159, 2, -236,116, 58,143, 15, 30, 60, 88,213,138, 31,171,213, 90, 20, 70,128, 5,116, 6,124, 93, 1, 93,132, 25,134,136, 8, 16, 78, 93, -131,235,114,185, 32, 8, 2, 56,142,195,218,181,107, 97, 48, 24, 48,114,228,200,139, 30, 34,148, 69,155, 86,171,129, 16,205,225, -142,215,246,224,252, 5,139, 50, 36,184,174,160, 16,187, 12, 6, 60,221,177, 43,204, 85, 5,168,176, 59,126,151,131, 53,110,220, - 56,216,108, 54,112, 28,167,252,199,113, 92, 88,177,202,208,120, 8,182, 8,129, 16, 2,125,100, 4,244,102, 51,120,129, 87,197, - 69, 41,253, 77, 8,105,181, 16,117, 90, 8, 26,141, 34,174,134, 12, 25,178,179,140,215, 46, 62,125,250,244, 78, 0,122,181, 2, - 75,118,176, 66,137, 43, 65, 16,224,116, 58, 85,137, 23,187,221, 14,141,230,183,153, 0, 39, 79,158, 12, 41,176,194, 69, 27,128, - 68, 8,145, 90,181,106,165,156,147,152,152,136,232,232,104, 72,146, 4, 73,146,160,215,235, 97, 48, 24,106, 93,151,129,129,225, -138, 69, 40, 45,162,203,202,202,154,227, 43, 96,252, 5,141,175,112,242, 19, 81,190, 34,173,115,152,182, 63,219, 95, 52,201,215, - 37,132,100,207,157, 59,119, 84,152,112,156,247, 23, 88,114,131, 24, 16,190,195,133, 13,117,243, 10,117, 3, 51, 68, 69, 66,107, - 50,193, 59,253,138,134,227,114, 58,157,202,156,147,123,239,189, 55,104,175,222,119,110, 74, 56, 56, 28, 14,240, 28, 15,232, 90, - 66, 66,142,114,179, 82, 54,141, 6, 5,205,187,129, 20,157,134, 32,168,155,239, 47, 59, 88,178,136,122,224,129, 7,176,104,209, - 34,101, 98, 50, 0,240, 60,143,246,237,219,227,216,177, 99,172,170,253, 1,160,148,134, 29,182,214, 71, 70, 64,103, 54,131, 87, -225, 52,202,251,149, 57, 76,122, 29,120,141, 6,130,166,102, 88,112,244,232,209,155,202,202,202, 22,119,234,212,233,103,212, 60, -198,128,168,173, 63,129,202,249,226,197,139,107,137,171,250, 56, 88,114, 61,242, 69,160,225,194, 49, 99,198,168,117,176, 40, 33, -132,138,162,136,193,131, 7,163,107,215,174, 88,181,106, 21, 36, 73,194,253,247,223, 15,131,193,128,249,243,231,195,237,118, 35, - 43, 43,139, 57, 88, 12, 12, 12,161,238,249,214,233,211,167, 63, 73, 8,201,246, 58, 73,121, 33,132, 84,160,182,189,151,159, 72, - 59, 31,228,184, 81,129, 68,150,239,119, 25, 51,102,204,232,236, 31, 14, 95,199,204, 87, 96, 53,214,251,219,106,161,236,208, 1, -101, 66,187, 60, 44, 72, 8,193,183, 25, 87, 65,107, 54, 65,111, 54,163,223,202, 45, 74,175, 25, 47,190,170,202,193,146,133, 83, -105,105,105,216, 33, 66,181,174, 24,175, 17,177,211, 44,130,138,124,173, 27,150, 40,138,224, 4, 17, 5,241,237, 64,132, 53, 16, - 60,110, 85, 55, 7,217,201,240, 93, 61,117,199, 29,119,128,227, 56, 69,100,117,239,222, 29,126,121,194,112, 9,113,102,195,119, -248,230,182,154,186,234, 59, 44,152,221,187, 13,116, 17,102,232, 76, 38,100,174,222,174, 12,231, 98,254,123, 97, 57,143,188,255, - 54,242, 94,159, 11, 65, 20,113,243,222, 2,197,185,234,123, 85,219,157, 14, 83,228,226,147, 39, 79,238, 4,192,221,118,219,109, -209, 61,122,244, 80,101,139, 17, 66,106, 77, 60, 23, 4, 33,160,184, 18, 4, 1,110,183, 91, 85,220,157, 78,167, 42, 39, 73,118, -177,212, 52,148,114, 58, 69, 69, 69, 33, 34, 34, 66, 89, 65, 43, 59, 87,242,252, 77,181,245,146,129,129,225, 47,143, 96, 90,196, - 62,119,238,220,188,185,115,231, 42, 78,146,191,131, 21,228,190,123,131, 87, 76,197,203,226, 12,128, 61,208,252,172, 64,174,152, -191,240,242,253, 47, 43, 43,107,142,127, 56,124,135, 37, 3,206,206,238,214,173,219, 55, 70,163,177,165,218,212,168,207, 67, 71, - 61, 78,103,157,158, 56, 33, 4,122,179, 25,218, 8, 51,116,102,115, 80,151, 43,216,141, 70, 30, 34,228,121, 94,185,233, 44, 89, -178, 4,102,179, 25,119,221,117,215, 69, 77,114,175, 17, 88, 60,190,212,228, 3, 26,161,206, 77,139, 23, 69,156,140,106, 6, 78, - 20, 33,120,212, 57, 4,229,229,229,224,121, 30,207, 61,247, 28,178,178,178,148,101,244,190, 75,235,125, 93, 15,134, 75, 15,223, - 73,238,181, 92,213,136, 8,165,124,250,254, 31,110, 78, 34, 33, 4,240,184,107, 86, 11,234,180,138,184, 26, 61,122,244, 38,135, - 41,114,241, 85, 87, 93, 37, 59, 87,156,209,104, 12,187,106,214,183,110,200, 66,199, 95, 92,201, 46,169,252,221,229,114,169, 42, -243,178,192, 90,180,104, 81,200,206,136,124, 93,181,229,148,227, 56,108,222,188, 25,123,247,238,197,189,247,222, 11,131,193,128, - 55,222,120, 3,110,183, 27,179,102,205,130,193, 96,128, 86,171,101,133,143,129,129, 33, 20, 98,100,129,227, 21, 73,181,156, 37, -239,220,169, 81,190,191, 3, 57, 92, 94,199,105,115,152,246,240, 43,175, 48, 11, 8,217, 73,243, 59, 39,219, 95,156, 9,126, 78, - 9, 1, 0,173, 86,219,114,219,182,109,237, 36, 73,130,199,227, 65,168, 79,135,195,129, 91,111,189, 85,245, 67, 71, 37, 87,141, -192,226,252, 86,202,233, 34, 35,160, 53,255,118, 3,243,185,137,133,109,197,101, 7,203, 87, 96, 61,247,220,115, 16, 4, 1,139, - 22, 45, 2, 0, 60,250,232,163,245,118,176,168, 4,108,247,108, 68,211, 5,221, 64, 23,235,113,110,243, 97,136,162,136,164,222, - 67, 32,245,252, 59, 74,181,145, 48,121,231, 85,169, 25,118, 44, 45, 45,197,137, 19, 39, 64, 8,193, 35,143, 60, 18, 82, 92,173, - 93,187,150,205,193,250, 3, 5, 22,199,243,181,242,195,183,124,250,137,175,240,227,100,110, 55, 68,157,174,214,106,193,178,178, -178,197, 39, 79,158,204, 1, 64, 38, 78,156, 24,109, 52, 26,241,254,251,239, 91, 0,104, 86,174, 92,105, 8,199,233, 59,143,207, -223,185,242, 23, 88, 30, 79,248, 33,108,185, 83,161,198,237,173,143,192,146,203, 55, 33, 4, 30,143, 71,113,174, 92, 46,151,242, - 91,167,211,177,130,199,192,192, 80, 71,139,248,225,188,223, 60, 39,226,231, 52,157, 15, 36,172,124,135, 3,229,239,132, 16, 87, - 0, 94,135,223,208,161,255,255,242,103,233,220,185,115,191,151,157, 43,159,255,107,133, 35,168,131,197,113, 28,236,118, 59, 14, - 29, 58,164,182,135,170,250,161,163,113,233,215, 96,252,137,114, 16, 66,176,166,127, 39,232,205,102,104,204, 38,100,124,182, 81, -105,176, 11,178, 30,131,198,100, 70, 92,191, 33,170, 26,112,143,199, 83, 71, 96,149,149,149, 65, 20, 69,188,248,226,139,224, 56, - 14, 47,189,244, 18, 82, 82, 82,112,246,236, 89,100,102,102,170,186,217,112, 18, 7,253,157,177,208,255, 43, 2,220,189,109,208, -249,111,255, 66,121,101, 11,236,119,152,208,161, 58, 31, 49, 27,158,135, 83,114,171,122, 76, 3, 33, 4,110,183, 27,223,127,255, - 61, 68, 81,132,219,237, 86,110, 62,148, 82,229, 41,249,242, 67, 29, 95,122,233, 37, 86,213,254, 0, 52,187,225, 38,220,113,198, - 2, 0,248, 38,227, 42,232, 76, 38,104, 35,204,232,247,197,102,165,124,254, 50,103, 26, 52, 38, 51,162,123,245, 87,197,217,241, -254, 71,209,225,190,105, 40, 41, 41,177, 14,238,222,121,115, 57,175,251,176, 75,151, 46,202,156, 43,163,209, 8,189, 94, 79, 80, -251,117, 50, 97, 69, 11,199,113, 97,197,149,252, 93,109,167,194,127, 21,110, 40,129,165, 22, 28,199,225,174,187,238, 66,114,114, - 50,222,124,243,205, 90,206,213,147, 79, 62, 9,151,203,133,249,243,231,179,194,199,192,192, 16,170,221,219,173,246, 88, 74,105, - 47, 31, 49,181,251, 98,120,235,115,189, 96, 8,216,242,218,237,246,130, 65,131, 6, 33,200,190, 20,157, 78, 87,171,117,149, 31, - 58, 26, 96,168,176, 11,128, 3,126, 17,255,109, 88,208, 59, 89, 88,235, 55,236,162, 53, 71, 64, 52,153,193, 5,110,196,235,112, - 6,114,176,228,161,147,242,242,114,136,162,136, 55,223,124, 19,145,145,145,176,219,237,129,122,222, 1, 57,121,158,135,229,132, - 5,199,159,217, 15,157,233, 40,218, 15,137, 64,132,120, 12,109,183,172,132,219,237, 0,124,134, 12,213,112,182,111,223, 30,207, - 61,247, 92,157,199, 51, 4, 67,122,122,122, 88,206, 6, 0,227, 12, 34, 98,116, 17,102,232, 35, 34,130,150, 79, 33,240,179,155, -106,113,202,251,101,231,170, 74, 99,252,240,228,241,227, 57, 0,184,137, 19, 39, 70, 25,141, 70, 44, 92,184,208, 2,128,123,225, -133, 23,140,105,105,105,188,154,112,114, 28,135, 37, 75,150,212,153,115, 21, 76, 96,169, 9,167,219,237,174, 35,176,198,142, 29, - 91,231, 65,163, 33, 28,172, 58,225,148,231, 96, 53,105,210, 4, 70,163, 81,121,237,150, 94,175,135, 94,175, 87,158, 14, 31, 98, -168,149,149, 79,198,201, 56,175, 28,206, 75, 46,198, 26, 19, 1, 5,214,190,125,251,134, 7, 59, 33, 35, 35, 35,127,219,182,109, -109,125,223, 77,232,118,187, 53,118,187,189,221,141, 55,222, 24,182,171, 44, 73, 18,116, 58, 29, 40,165,184,250,233,172,154, 46, - 60,247,219,144, 32,165, 20,209,125, 7,131,240, 60, 60, 30, 9, 46,151, 43,236, 42, 66,155,205, 86,107, 2,122,160,229,235, 85, - 85, 85, 33,159,243,227,207,105,181, 90,107,205,235, 34, 30,138, 95,214,173,168,187,154,208,123, 29,181,208,235,245,181,134, 77, - 84,218,165, 12,151, 8,242, 3, 60, 41,165,232,252,208,244, 26,167,136,231,106,237,143,234,213, 31, 68, 16, 33,213,204, 91, 10, -183, 48,132,156, 63,127,222, 58,122,244,232, 77,148,210, 15,110,188,241,198,159, 80,243,176, 58,106, 54,155,117,162, 40, 74, 0, -126, 5, 64, 47, 92,184, 16,117,250,244,105,201,102,179, 53, 15, 23,206,205,155, 55,227,232,209,163,232,209,163,135,226,124,202, -155, 60,124,127, 49, 14, 86,160, 39,194, 7,123,146,123,125, 28,172,168,168, 40,104,181, 90,188,248,226,139,208,104, 52, 48, 24, -106, 70, 65,231,207,159,175,164, 57, 3, 3, 3,195, 95, 9,245,126, 97,179, 36, 73,124,176,225,195,112, 67,133, 30,143,231,212, - 53,215, 92, 83,223,235,157, 11,115, 67, 60,181,101,203, 22,141,255, 11,105, 3,189, 0,215,231,191,176,156,187,119,239,214,132, - 56, 63,208,247,115,245,137,187,154,249, 43,110,183,251, 52, 43,162,151, 14,110,183,251, 84,239,222,189, 3,239,124,238,165, 96, -249,122, 46,140,104,249,185, 93,187,118,103,204,102,243, 87,137,137,137,165,219,182,109,139,235,213,171, 87,156,239, 49,189,122, -245, 74,246, 59,205,129, 16, 43,122, 9, 33,167,238,184,227, 14, 77,152,242,232,255,253, 84,152, 78,197,169,188,188, 60, 77,160, -242, 30,236,147, 82,122, 74, 69,178,158, 24, 49, 98, 4, 23,168, 14, 5, 72,203,243,172, 20, 50, 48, 48, 92,177, 2,203,102,179, - 21, 14, 26, 52, 40,224,186,111,139,197,114, 50,212,185, 7, 15, 30,236,217,208, 17, 56,125,250,116,198,159,129,179, 49,226,206, -112,249,231,209,193,131, 7,123, 3, 64,121,121, 57, 66,189,254,166, 62, 40, 44, 44,108,240,242,217, 24,156, 0,112,232,208,161, - 62,172,100, 49, 48, 48, 48,129,165, 2,106, 31,199,192,192,192,192,192,192,192,192,112,165,130, 99, 73,192,192,192,192,192,192, -192,192,208,176, 32,168, 89, 9, 16, 8,245, 89, 29,208,229, 34,174,125,128,113, 50, 78,198,201, 56, 25, 39,227,100,156, 87, 28, -103, 56,238,203,114,117,226,229,134, 46,140,147,113, 50, 78,198,201, 56, 25, 39,227,100,156, 87, 26,216, 16, 33, 3, 3, 3, 3, - 3, 3, 3, 67, 3, 67, 96, 73,240,135,129, 7,224,105, 40, 50, 74,105, 52,128, 96, 47,116,115, 16, 66,202, 46,146, 87, 11, 64, -244,110, 0,224, 2,224, 34,132, 56, 88, 22, 50, 48,252,181,144,158,158, 62,153, 82, 58, 27, 53,111,129,122, 49, 55, 55,247, 45, -150, 42, 12, 12, 13, 44,176, 90,183,110,189,135,227,184,212, 64, 47, 32, 14,246, 92, 28,143,199,115,234,200,145, 35,106,151,186, - 11,201,201,201, 99, 77, 38,211,245, 60,207,247,245,158,191,173,186,186,250,251,179,103,207,126, 10,192,125, 49, 17,106,217,178, -101,164,205,102,187,149, 16, 50,193, 43, 16, 62,210,235,245,255,119,252,248,241,138,139, 76,163, 54, 73, 73, 73, 31,137,162,200, - 23, 22, 22, 94, 15, 0,205,154, 53,251,222,225,112,120,138,139,139, 39, 0, 56, 90, 79, 62, 78,163,209,100, 93,115,205, 53,253, -182,108,217,242, 63, 0,239, 52, 80, 94,234, 56,142, 59, 17,104,135, 36, 73,105, 23, 33,172, 52, 0,162,230,207,159, 31,187,116, -233,210,238,103,207,158,237, 10, 0,201,201,201,251, 39, 78,156,248, 3,165,244, 87, 0,229,132, 16, 39,171, 70,127,110,180,109, -219,118, 15,199,113,169,245,121,150,156,247, 21, 85,167, 14, 29, 58,212, 51, 24, 39,207,243,169, 97,158, 71, 87,231,187, 36, 73, -191, 28, 60,120, 48,224, 35, 35,218,181,107,183,131,231,249,150,225,194, 22, 40,156,193, 30,193,209,174, 93,187, 61, 60,207,167, -214,151, 83,146,164, 95,242,242,242, 50, 26,146,243, 82,135, 19, 0, 50, 51, 51,117,213,213,213, 31,153,205,230,110,213,213,213, -147, 37, 73,122,118,227,198,141,137, 28,199, 97,240,224,193,207,166,167,167, 31,215,233,116, 11,108, 54,219, 15,102,179,121,252, -166, 77,155,236,172,198, 48, 48,252,254, 70,247, 92, 85, 85, 21,149, 33, 73, 18,117,185, 92,212,110,183, 83,171,213, 74,171,171, -171,105,101,101, 37,173,168,168,160,229,229,229,180,180,180,148,118,238,220,217,255,161,139, 1,199,104, 83, 82, 82,186,180,111, -223, 62,255,173,183,222,178, 23, 22, 22, 82,167,211, 73, 93, 46, 23, 45, 44, 44,164,111,191,253,182,189,125,251,246,249, 41, 41, - 41,193,198,119, 3,253,207, 37, 39, 39, 15, 73, 78, 78, 94, 62,108,216, 48,199,250,245,235,169,221,110,167, 22,139,133,174, 94, -189,154, 14, 24, 48,192,145,156,156,188, 60, 57, 57,121, 8, 2, 15,139, 6,187, 86,247,150, 45, 91, 30, 61,117,234,148,103,203, -150, 45,206,184,184,184, 47,227,226,226,190, 44, 44, 44,244,156, 60,121, 82, 74, 77, 77, 61, 10,160,123, 61,194, 9, 0, 55, 79, -155, 54,173,224,248,241,227,150,204,204,204, 29, 62,255, 19,132,127,114,123,151, 64,206, 21,165, 52,145, 82,154,132,154,135, 83, -214,217, 40,165, 73,222, 99,162, 85,114,154,142, 29, 59,150,154,152,152,152,229,117,170,106,241, 17, 66, 28,137,137,137, 89,199, -142, 29, 75,165,148,154,234, 17,247,223, 3,198,217, 72,156, 87, 93,117, 85, 81,117,117, 53,165,148, 82,143,199, 67,157, 78, 39, -181,217,108,212, 98,177,208,170,170,170, 90,245, 92,222,202,202,202,104,151, 46, 93,206,133,224, 60,103,177, 88,106,181, 29, 14, -135,131,218,108, 54,106,181, 90,169,197, 98,161,213,213,213,181,182,170,170, 42,218,189,123,247,194, 16,156,103,229,112, 74,146, - 68,221,110, 55,117, 58,157,212,225,112, 80,187,221, 78,109, 54, 91,173, 77,254,175,119,239,222, 65,195,217,161, 67,135,115, 86, -171, 85, 53,167,188,245,232,209,227, 76, 67,113,202,255, 93,125,245,213, 69,161, 56,109, 54,219,197,132,179, 48, 84, 89, 74, 79, - 79,255,252,248,241,227,212,106,181,210, 33, 67,134,216, 31,121,228, 17,234,241,120,104,118,118, 54, 29, 59,118, 44,189,231,158, -123,104,105,105, 41,157, 49, 99, 6,237,209,163,199, 23,172, 30, 49,206, 70,230,188, 50, 28, 44,142,227, 96, 50,153,240,241,199, - 31, 7,124,253,140,255,247,180, 52,117, 38, 73, 98, 98, 98,207,212,212,212, 77, 43, 87,174, 52, 36, 36, 36, 40,255, 59,157, 78, - 68, 70, 70,226,174,187,238,210, 14, 30, 60,184,237,237,183,223,190,211,237,118,103,158, 59,119,110, 79, 40,190,164,164,164, 49, -113,113,113,111, 77,157, 58, 53,113,244,232,209,136,137,137,169,181,127,212,168, 81, 24, 57,114,164,230,151, 95,126, 25,247,233, -167,159,142,251,223,255,254, 87, 84, 85, 85,245, 96, 81, 81,209,231,161,120,141, 70,227,224,182,109,219,190,191,126,253,250,212, -232,232,104, 52,109,218,148,123,230,153,103,186,180,110,221,218,144,156,156,204,157, 57,115, 6,159,127,254,121,235,137, 19, 39, -174, 58,121,242,228,100,187,221,190, 94, 69,244,181,177,177,177,143,253,235, 95,255,138,171,172,172,116,239,221,187, 87,118,191, -180, 58,157,238,217,107,175,189,182,199,198,141, 27, 63, 1,176,248, 98,156, 43, 74,105, 5,126, 27,202,147,225,146,247,171,113, -178, 40,165,218,189,123,247,198,244,237,219,247, 11,187,221,222,227, 31,255,248,199,233, 87, 94,121, 69, 27, 25, 25, 25, 9,128, -148,149,149, 93,152, 57,115,166,231,141, 55,222,120,162, 83,167, 78,131,182,109,219,118, 51,165,148, 13, 25,254,201, 97, 52, 26, -177,122,245,234,128,175,153, 10, 84,231,163,163,163,195,190,141,192, 96, 48, 96,237,218,181,202,121,190,175,150, 10,244, 61, 58, - 58, 26,148,210,144,164,122,189, 30, 91,183,110, 85, 94, 3, 20,172, 93,146, 63,141, 70, 35, 8, 33, 92, 56,206, 77,155, 54,133, -229,146, 63,205,102, 51, 80, 51,196, 31, 54,156,225,226, 44,127, 55,153, 76, 97,211, 83,167,211, 41,156,190, 28,193,126,155, 76, - 38,132,235,180, 25, 12,134,110,137,137,137,200,201,201,193,243,207, 63,175,237,220,185, 51,242,243,243,193,113, 28, 38, 79,158, -140, 78,157, 58,161,168,168, 8,157, 58,117,194,214,173, 91,187,179,154,194,192,208, 0, 2, 75, 70,176, 6,214,255, 59, 16,240, - 53, 24,181,150, 90,166,165,165,233, 68, 81,252,108,245,234,213,134,184,184,223,222, 22,226,112, 56, 80, 89, 89,137,170,170, 42, - 84, 86, 86,194,100, 50, 97,193,130, 5,134, 9, 19, 38,124,166,211,233,218,157, 56,113,194, 30,140,147, 16, 50,111,223,190,125, -137,110,183, 27, 90,173, 54,168, 88,108,211,166, 13, 30,124,240, 65,244,235,215, 47,105,220,184,113,243, 0,124, 30,140, 19, 0, -146,147,147,223,222,182,109, 91,170, 86,171, 69,126,126, 62, 78,157, 58,133, 41, 83,166,164, 73,146,132,194,194, 66,228,231,231, -227,204,153, 51,120,239,189,247, 82, 39, 76,152,176,224,244,233,211,109, 67,197,221,139,123, 30,121,228,145,182, 49, 49, 49,220, - 43,175,188, 82, 94, 85, 85,245,158,247,255, 25,243,231,207, 31,159,153,153, 25,255,143,127,252,131,110,219,182,237, 99,212,188, - 46, 37,104,122,250,206,185,242, 14,231, 1,128,135, 82,122,216,239,156, 14, 62,251, 65, 41, 77, 4, 96, 39,132,148, 7,224, 36, - 0, 34,135, 15, 31, 62,205,110,183,247,216,178,101,203,209,126,253,250,165, 1, 56, 75, 41, 61, 15, 0, 49, 49, 49,166,215, 95, -127, 61,113,212,168, 81, 63, 13, 30, 60,184,199,240,225,195,167,157, 63,127,126, 54,165,180,132, 16, 66, 67,196,253,247,130,113, - 54, 18,167,119, 40, 9,130, 32, 96,196,136, 17, 32,132, 4,124,223,230,142, 29, 59, 48,104,208, 32,136,162,136,187,239,190, 91, - 53,231,176, 97,195,224,118,187,235,240,249, 11, 16,249, 29,157,161,226, 78, 41,173,245,142,208, 64,226,194,119, 11,192, 87,135, - 83,146,164,128, 92,193, 68,150,252,178,122, 53,113, 87, 43, 46,195,133,211,151, 83, 20, 69,100,100,100, 96,239,222,189, 33,197, - 86,184,112, 2, 64,117,117,245,157, 55,222,120,227,154, 41, 83,166,232, 1,160,164,164,164,214,139,232,143, 28, 57, 2,187,221, -142,101,203,150,193,110,183,223,203,234, 17,227,108,100,206, 80,157,127, 17,192,213, 0,226, 81, 51,127,185, 18, 64,180,247, 94, -169, 5, 80, 10,192,224,221,236, 0,170, 0, 52,241,158, 94,226,237,108,248,190,166,236,188,239, 75,161, 41,165,189,188,220,242, - 43,187,226,125,142,149,175,225,255,219,255,179, 22,183, 92,171,229,225,159, 76,223, 10, 45,191,132, 53,156,184,146, 27, 71, 21, - 9,244,192,140, 25, 51, 18,125,197,149,221,110, 71, 69, 69, 5, 42, 43, 43,149,207,252,252,124,104,181, 90,140, 29, 59, 54,145, - 82,250, 64, 24, 90, 13,207,243,216,187,119, 47, 86,174, 92,137,227,199,143,215, 57,224,216,177, 99,120,253,245,215,241,234,171, -175,162,162,162, 2, 0, 52,193,200,186,117,235,246,252,248,241,227,119, 14, 24, 48, 64, 39, 8, 2,246,237,219,135,118,237,218, - 97,251,246,237, 56,121,242, 36, 46, 92,184,128, 35, 71,142,160, 75,151, 46, 56,122,244, 40, 42, 42, 42,208,185,115,103, 93,143, - 30, 61,182,164,165,165, 61, 31, 42,156, 41, 41, 41, 79,254,235, 95,255,210,157, 61,123, 86, 90,178,100,201, 54, 0,219, 1, 76, -121,234,169,167, 38, 13, 27, 54, 44,254,240,225,195, 21,187,119,239,222, 19, 68, 92, 5,114,174, 78,114, 28,119,130, 82, 90, 65, - 41,181,162,102, 2,122,173,155,145,219,237,182, 91,173,214,242,210,210,210, 18,142,227, 78,112, 28,151, 15, 64, 23,140,115,226, -196,137,173, 75, 74, 74,238,255,247,191,255,125,188, 95,191,126,105,148,210, 35,148,210, 82,111,129,181,187,221,238,210,178,178, -178,159,250,246,237,155, 60,126,252,248,163, 37, 37, 37,247, 79,156, 56,177,117, 8, 78,134,203, 31,212,227,241, 64, 20, 69,108, -220,184, 17, 91,183,110,197,214,173, 91,177,109,219, 54,108,223,190, 29, 59,118,236,192,142, 29, 59, 32, 8, 2,182,111,223,142, -237,219,183,227,193, 7, 31, 12, 91,231, 61, 30, 15, 4, 65,192,166, 77,155,176,107,215, 46,101,219,189,123, 55,118,237,218, 5, -131,193,160, 70, 12,249,118,166, 20,206, 64,219,219,111,191,173,136, 67,185,109,226, 56, 46,164, 43,230, 47, 92,252, 5, 75, 90, -139, 22,117,246,133, 11,167, 44,218, 4, 65,192,127,255,251, 95,156, 62,125, 26,111,190,249, 38,142, 29, 59,134,151, 95,126, 25, -121,121,121,152, 53,107, 22,118,239,222,141, 25, 51,102, 96,203,150, 45,242,203,223,105, 56, 78, 89, 92, 57,157, 78, 37, 60, 71, -142, 28,193,156, 57,115,176,111,223, 62, 60,251,236,179,216,177, 99, 7, 30,123,236, 49,240,124, 72,147, 13,233,233,233,147, 9, - 33,159,182,111,223, 94, 55,112,224, 64, 8,130,128, 57,115,230, 72,207, 62,251,108,241, 83, 79, 61, 85,156,157,157, 77, 91,183, -110, 13,135,195,129,136,136, 8, 80, 74, 23,167,167,167, 63,192,170, 11, 67, 99,182, 69,254, 90,196, 7,215,205,152, 49, 99, 32, - 33, 36, 59, 35, 35, 99, 34,128,104, 66, 72, 54, 0,173,247, 51,110,198,140, 25,189, 9, 33,217, 51,102,204,232, 9,160, 9, 33, - 36,219,251,251,122, 0,113,242,111,239,241,241,126,226, 45,222,231,255,120,191, 99,181,129,126,251,127,250,115,251, 58, 88,196, - 27, 49,226,219, 64,214, 71, 96,133,107,112,205,102,243,200,225,195,135,107,124,197,149,175,115, 37,127, 86, 86, 86,226,167,159, -126, 66,151, 46, 93, 52,102,179,121, 36,128,255,132,181,226, 4, 1, 77,155, 54, 69, 73, 73, 9, 14, 28, 56,128,180,180, 52,184, - 92, 46,124,247,221,119, 40, 43, 43,131, 70,163,129, 70,163,129,195, 17, 90,187,116,232,208, 97,196,210,165, 75,123,254,239,127, -255,187, 32, 8, 2,142, 28, 57,130,143, 62,250, 8,148, 82, 52,105,210, 4, 22,139, 5,197,197,197,152, 55,111, 30,156, 78, 39, -204,102, 51, 82, 82, 82,244, 15, 60,240, 64,191,153, 51,103,138, 39, 78,156, 8, 38,178,174, 25, 51,102, 76,100, 68, 68, 4, 30, -126,248, 97,201,233,116,190, 10,224,218, 49, 99,198, 60,249,224,131, 15,198, 22, 20, 20, 56,238,185,231,158, 61, 78,167,115,158, -108, 30,250, 11,166, 0,130, 53,168,115,229,118,187,229, 52, 61, 94, 89, 89,137,132,132,132,230,148, 82, 77,152, 60,210,108,223, -190, 61, 3, 0,255,194, 11, 47,232, 41,165,231,124,195,224,116, 58,101, 78,119,121,121,121,241, 99,143, 61,230, 94,190,124, 57, -239, 61,231, 16, 0, 27,107, 31,254,124,144,133,139, 40,138, 24, 49, 98, 68, 45, 65,177,121,243,102, 12, 31, 62, 92,169,239, 26, -141, 70, 57, 46, 28,167,175, 43, 38, 59, 79, 50,239,247,223,127, 95,199,121, 81,217, 73, 83, 28,150, 64,194,199, 95,116,201, 29, - 69, 53, 98, 40,144,200,146,219, 22,127,103, 72, 77, 56, 69, 81,196,131, 15, 62, 8, 65, 16,240,216, 99,143, 65, 20, 69, 92,125, -245,213, 16, 4, 1,125,250,244,129, 32, 8,184,254,250,235, 85,119, 80,229,112,238,216,177, 3,233,233,233, 74,120,174,190,250, -106,244,234,213, 11,130, 32,160,127,255,254, 16, 4, 1, 67,135, 14, 13,203, 73, 41,125,118,227,198,141,137,102,179, 25, 63,253, -244, 19,120,158, 7, 33,164,116,239,222,189,137, 0,112,195, 13, 55,148,216,108,182, 56,155,205,134, 65,131, 6, 33, 35, 35, 35, -126,249,242,229,207, 0, 96, 43, 11, 25, 26,181, 73,242,215, 34,178, 1,144,149,149, 53,135, 82, 58, 42,216,137,242,126, 66, 72, -246,220,185,115, 71,121,203,121,157,223,178,203,228, 39,222, 58,251, 58, 80,242,121,190,215, 11,117,109,191,227,207,251, 11, 44, - 10, 96, 64,160, 70, 55,144, 85,238,255, 93, 77, 3, 97,179,217,174,150,221, 43,155,205, 86, 75, 80, 85, 85, 85,213, 18, 90, 14, -135, 3,173, 90,181,130,205,102,187,186,190, 55,139,228,228,100, 56,157, 78, 44, 90,180, 72, 17, 86,190, 34, 33, 20, 14, 30, 60, -120,124,231,206,157, 61,210,211,211, 99,190,248,226,139,243,131, 7, 15,142, 31, 54,108, 24,244,122, 61,108, 54, 27,220,110, 55, -174,185,230, 26,116,232,208, 1,197,197,197,248,230,155,111, 74,218,181,107,215, 36, 39, 39, 71, 42, 42, 42, 58, 17,130,122,208, -160, 65,131, 64, 8,193, 55,223,124,243, 43,128, 92,189, 94,255,249,156, 57,115,162,237,118,187, 52,105,210,164,194, 95,127,253, -245, 49, 0, 46,173, 86,251,159,235,174,187,238,154,245,235,215,127, 34, 73, 82,189, 27, 51,187,221, 94, 43,109, 43, 43, 43, 97, - 52, 26,213, 60, 18, 66, 44, 43, 43,235, 10, 0, 70,163, 49, 22, 62, 43, 36,173, 86,171,146, 71,222,252,177,197,198,198,154, 0, -192,123,142,200,218,133, 63, 47,228,155,247,198,141, 27,107,213,111,217,129,242,175,243, 90,173, 22,171, 87,175, 86,197,233, 43, -166, 84, 12,231,133,116,155,100,129, 37, 8, 2,222,123,175,102,132,253,225,135, 31, 86,206,247,191,134,154,246, 66, 22, 67,130, - 32,160,195,115, 18, 0, 39, 78,189,166,135, 40,214, 20,105,255, 48,123, 27, 83, 85,174,216,155,111,190,137, 81,163, 70, 33, 59, - 59, 59,228,231,200,145, 35, 85,133, 83, 16, 4,232,116,186, 90,194,111,223,190,125, 1,121, 23, 46, 92, 24,118, 78,155, 36, 73, -248,234,171,175,192,113, 92, 45,199,235,233,167,159,254,151,201,100, 50,111,218,180, 9,231,206,157, 67,117,117, 53,170,170,170, - 16, 19, 19, 19, 61,104,208,160,125, 69, 69, 69, 5,135, 14, 29,186,153,213, 28,134, 70,114,177, 6, 4,248,223, 58,125,250,244, - 39, 9, 33,217,211,167, 79,127,114,238,220,185,121,222,186,145,237, 87, 87,178,195,212,165,108,175, 24,218,237,173,203,218,130, - 51, 63, 0, 0, 32, 0, 73, 68, 65, 84,189,252,196,219,121, 66,200,110, 74,233, 13,193,206, 5,224,240, 19, 84,181,134, 8,101, -238,144, 14,150,255,220,132, 80,223,189, 22,119,184, 6, 87, 32,132,212, 17, 0,129, 28, 44,151,203,133,210,210, 82, 72,146,212, -160,207,234, 10, 39,176, 14, 28, 56,112,215,228,201,147,207, 68, 69, 69,117, 43, 45, 45, 61,171,211,233,250,111,222,188,185,153, -203,229, 66,100,100, 36, 34, 35, 35,241,245,215, 95, 35, 42, 42, 10,255,254,247,191, 79, 90,173,214,237, 38,147, 41,209,106,181, -254, 88, 84, 84,244,116, 80,229, 34,138,131,250,247,239,143,220,220, 92,148,149,149,109, 0,208,109,194,132, 9, 67,155, 53,107, - 70,102,207,158,109, 59,122,244,232, 91, 0,206,155, 76,166,255, 46, 93,186, 52,179, 71,143, 30,230, 73,147, 38, 97,211,166, 77, -239,215,199, 25,178, 88, 44,181,132,149,156,166, 17, 17, 17,170,158,185,229, 77,111, 74, 8,161,114,207,223, 87, 88,249, 8, 96, -202,243,188, 4,128, 54,116, 30, 49, 92,122, 7, 75,174,235,127,251,219,223,234, 76,110,215,104, 52, 88,179,102, 13,110,186,233, - 38,165,195,146,158,158,174,218,109, 26, 61,122,180, 34, 8,214,172, 89, 19, 84, 96,133, 27,210,242,119,155, 30,122,232, 33,136, -162,136,183,222,122, 11, 83,167, 78, 5,207,243,120,237,181,215,192,113, 28,158,121,230,153,122,139, 75, 81, 20,113,252,165,154, -207,212, 71, 42, 80,250, 78, 34, 0, 32, 34, 50,178, 38, 62,146,164,254, 14,225,141,123, 56,231,202, 87, 88,133, 27, 34,244,117, - 1,243,243,243,149,239,125,250,244,169,229, 92, 9,130, 16, 86,176,121,175, 55,107,224,192,129,179, 83, 83, 83, 19,166, 76,153, - 66, 4, 65, 64,207,158, 61,155, 12, 30, 60,184, 92, 16, 4,253,163,143, 62, 26,104, 42,133, 8,160, 91,199,142, 29, 77,172,230, - 48, 92, 98, 7,203, 62,119,238,220,188,185,115,231, 6,116,168,252,157,164, 80, 78,147, 44,172,188, 66, 40, 94, 22,109,168,153, -159,188, 59,220,185,240, 14, 9, 6,114,185,124,225,239, 96,205,244,111,120,212, 8, 44, 53,243, 39,188,174,200,254,146,146,146, - 62, 58,157, 14, 21, 21, 21,117,110,218,190,162,128,231,121, 20, 23, 23,195,104, 52,238,111,200,156, 11, 55, 68, 8,192,246,243, -207, 63, 79,243,249,221,107,236,216,177,203, 63,249,228,147, 86,235,214,173, 67, 78, 78, 14,154, 52,105,130, 57,115,230,252, 82, - 80, 80, 48, 30,192,238,226,226,226,176,215,109,221,186,117, 39,179,217,140,109,219,182, 1,192, 22, 0,119,222,119,223,125,196, -233,116, 98,193,130, 5, 22, 0,235,162,162,162, 62, 95,177, 98, 69,183,110,221,186,233,214,173, 91, 87,153,147,147,179, 81,165, -184,242, 80, 74, 3, 10,171,202,202, 74, 84, 87, 87,195,108, 54,171, 17, 88,238,200,200,200, 3,149,149,149,183, 90,173,214, 10, -157, 78, 23, 81, 81, 81, 97,247,117, 24,171,170,170, 80, 93, 93, 13, 65, 16,196,252,252,252, 51, 0, 90, 71, 70, 70, 30,192, 69, - 62,183,140,225,143, 7,199,113, 84, 22, 25,235,214,173, 11, 88,215, 69, 81,196,119,223,125, 87,171,190,127,243,205, 55, 97, 69, -155, 32, 8,202, 74,194,112, 14,150, 79,227, 26,218,102, 21, 69,240, 60,143,119,222,121, 7,148, 82,197,185,226, 56, 14,211,167, - 79,135, 78,167,195,139, 47,190,136,233,211,167,171,114,177,124, 93,177,150, 79, 88,127,107, 28,189,231, 58, 29,142, 26,151,158, -227,124, 69,150, 42,167, 45,220, 4,247,250,136, 96, 95,167, 77,167,211, 5,157,220, 30,224,102, 21, 16,185,185,185, 31,116,239, -222,253,104,124,124,252,218,140,140, 12,221,158, 61,123,240,224,131, 15, 18,187,221, 30,185,110,221, 58,229,186,129,210,171,186, -186, 90,207,106, 14, 67, 35, 58, 88, 51, 3,252, 31, 35, 11, 39,175, 24, 82, 91,119,178,125,143,151, 57,252, 69,145,215, 17,219, - 28,142, 43,208,185,193, 32, 4,171,132,254,141, 68, 56,161,165,166,247,105,181, 90,215,111,220,184,177,215, 77, 55,221, 36,132, - 26, 30,172,170,170, 66, 98, 98, 34,142, 29, 59,230,182, 90,173, 97, 31,127,224,241,168,127, 32,122, 56, 7, 43, 0,118,151,148, -148,184,157, 78, 39,218,182,109,139,148,148, 20, 88,173, 86,188,254,250,235,110, 0,187, 85,114,104, 76, 38, 19, 15, 0,229,229, -229, 64,205,106,135,118,237,218,181, 67,110,110, 46, 46, 92,184,176, 10,192,160,153, 51,103,118,191,246,218,107, 53,159,124,242, -137,229,222,123,239, 93,229,114,185,102,171,236,129, 59,220,110,119, 75,142,227,156,101,101,101,167,125,133, 85, 98, 98, 98,140, -217,108,230,138,139,139, 93,106,146,167,107,215,174,187, 78,157, 58,133, 23, 94,120,225,252,156, 57,115,218, 85, 86, 86, 94, 40, - 47, 47,119,203,194,170,162,162, 2, 86,171,149,139,143,143,215, 45, 92,184,208, 8, 0, 93,187,118,221, 5,128, 61,112,244,207, -220,162,249, 45,104, 9,244,168, 6,181,147,209,253,133,203,141, 55,222, 88,199, 17,147,183, 21, 43, 86,212,154,215, 20,110,232, - 77,230,124,251,237,183,241,240,195, 15, 67,167,211, 97,254,252,249,181,230, 96, 5,233, 17, 7,229,148, 69, 91,203, 39,172, 40, -122, 35, 22,162, 40, 34,238,222,115,181,134, 8, 3,196, 77,149, 16,156, 51,103, 78,131, 12, 17,250,138, 62,249,145, 56,139, 22, - 45,194,216,177, 99,177,101,203,150,139, 30, 34,108,217,178,229,210,215, 95,127, 93,119,232,208, 33, 84, 84, 84,224,252,249,243, -176,217,108, 40, 44, 44, 84,242, 48,136, 83,110, 96,181,134,161,145,220,171, 96, 56,239, 55,127,138,248, 14,215,133,248,244, 63, - 30, 62,255,249,242,158, 39,132,184, 2, 92,239,124, 0, 81,229,127, 13,223, 99,206, 7,114,176, 2,221,184, 85, 63,166,193, 59, - 65, 50,156, 16,152,247,220,115,207,221,223,175, 95,191,216,200,200, 72,156, 57,115, 38,160,131, 21, 25, 25, 9,167,211,137,141, - 27, 55, 86, 72,146, 52, 47, 76,134,184, 92, 46, 23, 18, 18, 18, 80, 82, 82, 2, 41,136,141,207,113, 28, 12, 6, 3,170,170,170, -128, 48,147,199, 3,221, 40, 92, 46, 23,156, 78, 39,156, 78, 39, 92, 46, 87,125, 11,141,193,251, 76, 26, 84, 87, 87, 3, 64,117, -211,166, 77, 91,235,245,122,121,213, 99, 62,128,129,195,134, 13, 19, 75, 75, 75,233, 61,247,220,179,131, 82,250, 96, 24, 87,200, -177,113,227,198, 22, 0, 96, 48, 24,242, 1,160,176,176,208, 85, 86, 86,134,170,170, 42,197, 33, 52, 24, 12,184,249,230,155,147, - 40,165,216,184,113, 99, 11,141, 70, 67, 67,136, 33,123,118,118,246,193,168,168,168,229, 89, 89, 89,227,111,184,225,134,188,174, - 93,187,182,172,170,170, 42,182, 88, 44, 86,171,213, 74, 5, 65,208,196,197,197,233,214,174, 93,123,116,199,142, 29, 67, 34, 35, - 35,151,103,103,103, 31, 68,205, 42, 67,134, 63, 99,139,230, 55,183, 41,144,168,170,207, 10, 58, 95,225, 34, 8, 2,190,251,238, -187,144, 46,142, 90, 78, 95,145, 49,109,218, 52,188,241,198, 27,117, 28,172,217,179,107,250, 36, 79, 61,245, 84,189, 28, 34, 65, - 16, 80,244, 70, 44,146, 30,250,181,142,131, 69,188,225,171,207, 16,161,124,254,172, 89,179, 32,138,162, 50,132, 55,100,200,144, - 90, 67,131,106,133,149, 47,103,113,113, 49, 4, 65, 64,108,108, 44,198,143, 31,143,161, 67,135,214,225, 83,203, 91, 88, 88,248, -195,171,175,190,218, 60, 37, 37, 5,159,124,242,137,195,100, 50,105, 7, 14, 28, 72,203,203,203, 73, 40, 7,203,106,181, 50, 7, -139,225, 82,183, 83,187, 47, 37,111, 67, 92, 79, 8,215,232,254,206,199, 52,116,129,207,179, 50, 78,156, 56, 81,158,148,148, 52, - 97,220,184,113, 95,188,243,206, 59,134,214,173, 91,227,200,145, 35,184,112,225, 2,156, 78, 39, 52, 26, 13,154, 54,109,138,170, -170, 42,124,246,217,103, 22,139,197, 50,161,168,168,168, 60, 20, 39, 33,228,169, 17, 35, 70, 44,124,250,233,167,245,157, 58,117, -194,133, 11, 23, 80, 85, 85,165,244,188, 8, 33,136,140,140,132,209,104,196,129, 3, 7,176, 99,199, 14, 43, 33,228,169, 80,156, -129,132,166, 44,172,100,161, 21,110,101,146, 31,167,201,104, 52,202, 61, 63, 0,112, 55,111,222, 60, 17,128, 44,176, 78,180,106, -213,234,233, 54,109,218,144,165, 75,151, 82, 74,233,186, 32,226, 74,225, 36,132, 92,160,148,150, 1, 72,116, 56, 28, 26, 0,168, -168,168,112,198,197,197, 37,232,116, 58, 73,167,211, 73,122,189, 94, 58,123,246,172,219,237,118,107, 0, 32, 51, 51,211, 1,224, -156,223, 92, 15, 95, 78,137, 82, 90,185, 96,193,130,231,239,188,243,206, 62,125,251,246,237,124,207, 61,247, 28,186,247,222,123, -145,146,146, 18, 83, 85, 85,101,203,207,207, 47,123,231,157,119,108,187,118,237, 26, 34,138,226,137, 5, 11, 22, 60, 15,160,146, - 16, 34,169, 77,207,139, 4,227,108, 36, 78,185, 60, 4, 18, 86,190,191, 85, 8,161, 90,225,148, 69,219,173,183,222,170,172, 62, -244,119,174,234,203, 9, 64, 89, 65,248,248,227,143,215, 10,223,211, 79, 63,173,182, 87,236, 27,119,197,109, 18, 4, 1,229,139, - 82,106,137,191,122,136,170, 58,156,130, 32,224,217,103,159, 85,237, 96, 5,152,131, 21, 52,156,153,153,153,168,174,174,134, 40, -138, 88,179,102, 77, 80, 7, 43, 92,122, 26, 12,134,241,171, 86,173,250, 72,167,211,117,117, 56, 28,119,151,148,148, 44,177, 88, - 44,205,203,202,202, 66, 58, 88, 54,155, 77,199,234, 17,227,196, 37,126, 22,214,159, 13, 33,187,120,110,183, 27,205,154, 53,171, -245,110, 43,121, 50, 59,207,243,202,202, 19, 53, 43, 8,101, 20, 21, 21,173, 1, 48,230,230,155,111, 94,118,231,157,119, 70,116, -232,208, 65, 76, 75, 75,131,213,106, 69, 65, 65, 1, 10, 10, 10,220, 27, 54,108,168,176, 88, 44,183,123,143, 13,137, 51,103,206, -252,207,237,118,127, 55,113,226,196,103,187,119,239, 62,101,234,212,169,124,171, 86,173, 80, 94, 94,142,152,152, 24,196,199,199, -163,160,160, 0,159,125,246,153,167,172,172,108,161,199,227,153, 85, 92, 92,124,190, 62,137,228,118,187,121,151,203,133,113,227, -198, 65,146, 36,204,159, 63, 31,110,183,155,175, 7,133,211,233,116, 82, 0,164,164,164, 4, 0, 44,178,224,250,249,231,159, 1, -224,100,139, 22, 45,204, 0,176,126,253,122,130,154,231, 99,169, 81,222,148, 82,170, 56, 89, 29, 58,116, 40,240,111, 20,101,231, - 74,118,189,194, 77,164, 37,132,216, 40,165,231,237,118,251,176, 71, 30,121,228,217, 69,139, 22,141, 95,180,104, 81,157,227, 34, - 35, 35,151,191,246,218,107,179,198,143, 31,127,158, 16,194, 30,207,240, 87,104, 12,252,220,170,250, 78, 1, 8,198,249,229,151, - 95,214,231,225,154, 33, 93, 49, 66, 72,192, 21,137,161,218, 32, 21,157,161,160, 15, 20,253, 61,174,160, 32, 8,120,229,149, 87, - 20,231,202,119,242,249,197, 56, 88, 50,103,108,108,108, 77,175,205,100,130, 36, 73, 24, 57,114,228, 69,243,122,223, 45, 56, 70, -254,157,158,158, 62,235,227,143, 63,158, 77, 41,141, 3, 32,248,166,129,154,116,100, 96, 96, 80, 33,176, 60, 30,207,169, 1, 3, - 6,192,183,247, 20,238,101,173,110,183,251,148, 74,145,245, 93,203,150, 45, 91, 45, 90,180,232, 97,147,201, 52,216,102,179,117, - 5, 0,189, 94,191,191,186,186,122, 29,199,113,175, 23, 21, 21,169,126, 57,179, 87, 48, 61,192,113,220,252,137, 19, 39,206,206, -200,200,184,229,158,123,238, 33,130, 32,224,211, 79, 63,165,167, 79,159, 94,193,113,220, 83,103,207,158, 61,118, 49,137,100, 52, - 26,127, 90,177, 98, 69,235, 47,191,252, 18, 46,151, 11, 11, 23, 46,132, 78,167,251,169, 30, 20,231, 55,108,216,176,172,111,223, -190,227,119,236,216,177, 28,192,129, 45, 91,182,124,116,221,117,215, 77,216,190,125,251,255, 1, 56,180,113,227,198,143, 50, 50, - 50, 38,236,218,181,235,115, 0, 63,214,163,209, 85,156, 44,183, 59,240,136, 98, 16,231, 42, 20,103, 5,165,212, 57,121,242,228, - 71,110,185,229,150, 69,185,185,185,215,200,143,111,136,142,142,222,159,158,158,158,179, 98,197,138, 35, 94,231,138,137,171, 63, - 57,228, 9,233, 49, 49, 49,224, 56, 78,217,228,167,121,215, 87, 8,201,156,148, 82,196,196,196, 4,236,152,133,224, 12,169,106, - 40,165, 48,155,205, 10,167,202,213,203, 97,109, 40,179,217, 92, 43,140, 42, 64,195,197,221, 63,156,106,210, 44, 28,167,201,100, -130,211,233, 84,205, 9, 21,139, 6,124,145,155,155,251, 1,128, 15,218,180,105,243, 51,128, 54, 76, 84, 49, 48, 52,130,192, 58, -114,228, 72,207,198,188,240,241,227,199, 43, 0,204,242,110, 13,130,211,167, 79, 31, 3,112,235,214,173, 91,255,179,125,251,246, -103,188,141,235, 11,225,222,103, 24, 14, 63,254,248,227, 77,162, 40, 46, 88,188,120,113, 6,165, 20, 81, 81, 81,219,143, 30, 61, -122, 95,125, 56, 60, 30,207,148, 29, 59,118, 76,133,119, 85,160,195,225,152,178,117,235,214, 71, 1, 84,203,251,119,238,220,169, -252,174,231,205,140, 82, 74, 29,148,210,228, 32,135, 56,212,138, 43, 63, 39,203,177, 98,197,138, 42, 0,251,240,219,115,174, 92, -222,205,238, 55, 44,200,240, 39,133,219,237, 62, 61, 96,192, 0, 33, 92, 7, 42,192,121,167, 66,117,208,250,247,239,143,139,224, - 60, 29, 34,168, 39, 50, 50, 50, 56,181, 92, 50, 92, 46, 87,113, 8,241,117,170, 79,159, 62, 1,195, 25, 38,205, 66,198,189, 79, -159, 62,245, 10,163, 55, 44,167, 27,154, 51, 76,122, 6,133,213,106,189, 16, 31, 31, 95,101,179,217, 68,187,221, 46,250, 59,246, - 6,131,225,188,213,106,101,149,135,129,225, 15, 4,123,211, 56,227,100,156,140,147,113, 50, 78,198,201, 56,175, 56,112, 44, 9, - 24, 24, 24, 24, 24, 24, 24, 24, 26, 22, 36,132, 10,173,207,234,128,139, 81,178, 7, 24, 39,227,100,156,140,147,113, 50, 78,198, -121,197,113,134,227,102,171, 19, 27, 73,120, 49, 78,198,201, 56, 25, 39,227,100,156,140,243,202,227,252, 75,129, 13, 17, 50, 48, - 48, 48, 48, 48, 48, 48, 48,129,197,192,192,192,192,192,192,192,192, 4, 22, 3, 3, 3, 3, 3, 3, 3, 3, 19, 88, 12, 12, 12, - 12, 12, 12, 12, 12,191, 3, 36, 37, 37, 37, 51, 57, 57,185,207,149,154, 0, 2, 43, 3, 12, 12, 12, 12, 12, 12, 12, 13,129,102, -205,154, 69,123, 60,158, 59, 1,220,215,186,117,235,214, 0, 64, 8, 57, 64, 41,125,221, 96, 48,124,116,236,216, 49,199, 21,163, - 48, 89,113, 96, 96, 96, 96, 96, 96, 96,248, 61, 72, 78, 78,238, 14,224, 62,131,193,112,251, 53,215, 92,163, 29, 56,112, 32, 98, - 98, 98,224,118,187,113,246,236, 89,108,216,176, 1,251,246,237,251,213,229,114, 45,112,185, 92, 11, 74, 74, 74,206, 93, 73, 2, -107,147,247, 51,147, 21, 21, 6, 6, 6, 6, 6, 6, 6, 53, 72, 74, 74,122,117,248,240,225,143,196,196,196,160,109,219,182, 72, - 74, 74,130,221,110,135,213,106, 5,165, 20,130, 32,128, 82,138,202,202, 74,236,217,179, 7, 57, 57, 57,238,138,138,138,229,132, -144,215,207,158, 61,251,131, 31,221, 95, 70,139,200, 2,139, 2, 24,224, 23, 57, 6, 6, 6, 6, 6, 6, 6,134,144, 72, 78, 78, - 62,183,126,253,250, 4,143,199,131,146,146, 18,216,237,118, 88, 44, 22, 69, 96,241, 60, 15, 74, 41,220,110, 55, 0, 64,146, 36, - 28, 58,116, 8, 59,118,236, 64, 97, 97,225,107, 69, 69, 69,211,254,138, 90,132,243, 83,141, 76, 92, 49, 48, 48, 48, 48, 48, 48, -212, 11,118,187, 29, 75,151, 46, 69, 73, 73, 9,154, 53,107,134,148,148, 20, 68, 69, 69, 65,175,215, 3,128, 34,174, 0,128,227, - 56,116,238,220, 25, 19, 38, 76, 0, 33,100,130, 31,213, 95, 70,139,176, 73,238, 12, 12, 12, 12, 12, 12, 12,191, 7, 46,167,211, -137,158, 61,123,226,248,241,227,200,205,205, 69,143, 30, 61,208,177, 99, 71,148,148,148,224,204,153, 51,181, 14,222,181,107, 23, -246,238,221,139,235,174,187,238, 47,157, 40,188,247,147, 0,120, 30,192,157, 0, 22,179,178,194,192,192,192,192,192,192,160, 6, - 17, 17, 17,191,110,218,180,105,104, 90, 90,154,152,158,158, 14,157, 78,135,147, 39, 79, 34, 39, 39, 7,102,179, 25, 93,187,118, -133,205,102,195,230,205,155,177,122,245,106,148,149,149,161, 69,139, 22,192,187,239,225,231,215,204,229, 85, 85, 85,243,254,138, - 90,196,119,146,123,166,247,115, 19, 43, 46, 12, 12, 12, 12, 12, 12, 12,106,145,156,156, 28, 71, 8,121,170,105,211,166,247,223, -126,251,237, 98,155, 54,109,112,234,212, 41,148,148,148,224,194,133, 11,216,185,115, 39, 0, 32, 37, 37, 5, 41, 41, 41, 40, 40, - 40,192,129, 3, 7,172,118,187,253,222, 51,103,206,252,239,175,168, 69,216, 99, 26, 24, 24, 24, 24, 24, 24, 24, 26, 74,104, 53, - 3, 48,179, 77,155, 54,147,198,142, 29,203, 53,109,218, 20,167, 79,159,198,134, 13, 27,208,186,117,107, 20, 23, 23, 99,207,158, - 61,158,138,138,138,133, 30,143,103, 86,113,113,241,121,150,106, 23, 7,246,166,113,198,201, 56, 25, 39,227,100,156,140,243, 10, -227, 76, 76, 76,236,144,156,156,188,114,232,208,161,244,157,119,222,161, 15, 60,240, 0,237,209,163,135,148,156,156,252,105, 74, - 74, 74,235, 43, 65, 0,177, 73,238, 12, 12, 12, 12, 12, 12, 12, 13,138,115,231,206, 29, 6,112, 19, 33,228,154,188,188,188, 39, - 1, 64,146,164, 23,206,157, 59,183,231, 74, 73, 3, 38,176, 24, 24, 24, 24, 24, 24, 24, 26, 5,103,206,156,201, 1,240,183, 43, - 49,238,236,101,207, 12, 12, 12, 12, 12, 12, 12, 12, 76, 96, 49, 48, 48, 48, 48, 48, 48, 48, 48,129,197,192,192,192,192,192,192, -192,112, 69,129, 32,248, 74,128, 3,245,224,185,152, 21, 10, 7, 24, 39,227,100,156,140,147,113, 50, 78,198,121,197,113,134,227, - 62,128, 43, 8, 23,251,188, 44,182,132,149,113, 50, 78,198,201, 56,255, 60,156,164,129, 56,137,119,227,188, 27,169, 39,247,165, - 10,231,159, 37,238, 87, 10,231, 95, 10,225, 86, 17,250, 38,146,228,221,104, 3, 9, 54,174, 1,249, 24, 26, 71, 84,203, 21,131, -178,124, 98, 96,248, 75,163, 33,219,122,185,237,224,125, 56, 61,222, 13,191,179, 45,105,140,123,210,229, 30,247, 43,153,243, 47, - 41,176, 8, 0, 18, 31, 31,191, 38, 33, 33,225,250,146,146, 18, 9, 0, 8, 33,224, 56, 14, 28,199, 65, 16, 4,107, 65, 65, 65, -100,125, 47,152,144,144,240,126,124,124,252,157,165,165,165,146,204, 69, 8, 1,207,243,224,121,222,122,236,216,177,200, 63, 58, - 81,122,244,232,113,193,225,112,152,253,255,215,106,181,182,189,123,247, 70, 92, 9,229,162, 93,187,118,183, 25,141, 70, 67,144, -253,244,135, 31,126, 88,164,150,172, 69,139, 22,187, 12, 6, 67,180, 32, 8,224,121, 30,130, 32,160,186,186,186,236,240,225,195, -189,189,251,183, 25, 12,134, 56,158,231,229,178, 5,155,205, 86,122,232,208,161,190,236,190, 87, 23,153,153,153, 2,234,255,136, - 21,247,166, 77,155,220,151, 42,140,148, 82,206,145, 27,209,134,184,173,221, 8, 71,163,168, 68,202,169, 96,248, 81,155, 94,121, - 84, 85, 75, 77,136,244, 7, 39,115,115, 0,110, 0,103,234, 29,247, 0, 61,118, 1, 24,238, 1,198,121,127,218, 56,160,148, 0, -249,113,192,103,231, 0,171, 95,227,123, 41,111, 68, 4, 0, 73, 77, 77,125, 61, 49, 49,241,174,202,202, 74, 11,207,243, 32,132, - 80, 66,136,156, 23,190,249, 2, 73,146, 78, 29, 60,120,176,103,152,155,172,216,188,121,243,215,226,227,227,239,176, 88, 44, 22, - 66,136,194, 41,111,190,220, 30,143,231, 84, 94, 94, 94,207, 75, 24,206, 63, 36,238,190, 92,242,111, 73,146, 66,197, 93,225, 76, - 77, 77,125, 45, 49, 49,241,142,170,170, 42,139,247,190,249,187,195,121,153,115,254,101, 5, 22,151,144,144,176,170,119,239,222, - 3,190,252,242, 75,238,240,225,195, 92,135, 14, 29,224,241,120, 32, 73, 18, 40,165, 72, 79, 79, 55,214,247, 98,137,137,137, 75, -122,246,236, 57,110,245,234,213,220,170, 85,171,184, 94,189,122,129, 16, 2,143,199, 3,143,199,131, 65,131, 6, 25,126,103,124, -204,130, 32, 76,213,106,181,153,110,183,187, 35, 0,136,162,120,200,110,183,111,114,187,221,243, 0, 84,169, 33,113,185, 92,198, -188,188,188, 58,105,211,187,119,111,237,197, 6,172,109,219,182,219, 57,142,107,229, 91,200,194,125, 82, 74,127, 57,120,240, 96, - 70, 48,206,246,237,219,135,229,244,255, 79,146,164, 95,242,242,242, 50, 66,149,137,182,109,219,142,235,212,169,147,254,211, 79, - 63, 69, 97, 97, 33, 76, 38, 19, 36, 73,130,199,227,129,203,229,194, 77, 55,221, 84, 47,203,215, 96, 48, 68,110,216,176,161, 77, - 66, 66, 2,138,139,139, 81, 82, 82,130, 41, 83,166,228,251,236,143,251,254,251,239,219,197,198,198,194, 98,177,160,188,188, 28, - 19, 38, 76,248,211, 87,174, 33,253, 91,189, 72,128, 88,249,183, 71,194,175,235,183,253,242,244,239,229,181,219,237,103, 61, 30, - 79,140,159, 32, 9,121, 14,207,243, 23, 0,196,135,211,194, 0,254,198,243,124, 91, 81, 20,175,162,148,182,112,187,221,137, 0, -160,209,104,206,241, 60, 95,224,114,185,142, 56, 28,142,159, 1,172, 6, 80, 16,140,200,145, 27,209,198, 99,183,220, 82,109,151, - 70, 74, 20, 73, 28, 65,145, 73,103,249,218,145, 27,177, 66,173,200,250, 3,209,178,105,211,166,175, 0,192,153, 51,103, 30, 3, -112,252,247, 18,122,128,113,148,210, 40, 0, 40, 47, 47,143, 42, 44, 44, 76, 90,189,122,117,231, 57,115,230, 12,212,218,108, 47, - 59,128, 67,161,206, 31,124, 93,235, 61, 2, 33,169,138, 90,166,210,169,117,155,127,105,136, 27, 19,151,146,146,242,250,136, 17, - 35, 38, 46, 92,184,208,152,147,147, 99,236,218,181,171,183,227, 11,165,189,167,148, 42,101,236,218,107,251,132, 19,108, 66,211, -166, 77,231,143, 24, 49, 98,252,130, 5, 11,140, 71,142, 28, 49,182,108,217, 82,225,244, 45,179,114, 7,251,234,171,187, 95,234, -112, 54,106,220,135, 13, 27, 54,126,225,194,133,198,253,251,247, 27,219,181,107,167,112, 82, 90, 91, 59,115, 28,135,158, 61,123, -169,226, 28, 62,124,248,248,119,223,125,215,152,155,155,107,236,216,177,163, 87,164, 65, 9,227,197,132,243, 50,231,252, 75, 10, - 44, 46, 62, 62,126,105,207,158, 61,135,125,249,229,151, 60, 0,228,230,230,162,180,180, 20, 41, 41, 41, 48,155,205,208,235,245, -176,217,108,245,234,101, 37, 36, 36,188,223,171, 87,175,113, 95,126,249,165, 8, 0,159,223,126, 19,126, 17,129, 7,139, 29,208, -104, 52, 56,122,244, 40,120,158,255, 61, 61,183,235, 34, 34, 34,254,183,114,229,202,152, 30, 61,122,112, 37, 37, 37,104,217,178, - 37,126,253,245,215,222,155, 55,111, 78,191,251,238,187,239,174,172,172,156, 4, 96,179, 90,194,175,190,250, 10, 38,147, 73,217, -156, 78,231, 69,143, 37,243, 60,159,154,147,147,147, 96, 54,155,225,241,120, 64, 41,173, 85,129,253, 43,158, 36, 73,232,223,191, -191, 51,100,230, 9, 66,106, 78, 78, 78,130,193, 96,168,195,229,241,120,160,213,106,193,113,156,220, 67,132,219,237, 70, 70, 70, - 70, 40, 78,210,174, 93,187,219,100,113,197,113, 28, 62,249,228, 19, 36, 37, 37, 33, 33, 33, 1, 38,147, 9, 6, 67,253, 53,176, - 32, 8,136,139,139,195,253,247,223,143,219,110,187, 13,203,150, 45,131, 40,138,181,246,199,198,198,226,219,111,191, 69,100,100, - 36,210,210,210,106,237,255,179,130, 0,177,223,109,254,205,145,189,101,212,213,194,160,126, 45, 23, 40, 21,173,230, 32, 42,121, - 93, 11,201,227,185,176, 97,251,201,103, 85,116, 0,154,108,219,182, 13, 58,157, 78,221,205,221,227, 65,239,222,189,155,132, 57, -108,100,151, 46, 93, 62,191,255,254,251, 53,109,218,180, 33,162, 40, 66, 16, 4, 8,130, 32,151,199, 52, 74,105,154, 36, 73, 3, -206,157, 59, 71,223,124,243,205,151, 55,110,220,120, 51,128,175, 3,198,221,109,237, 86,109,151, 70, 82,138,164,196,193,180,121, -241, 58,130,106,187, 52, 50, 74,176, 30, 5,112, 57, 11,172, 72,131,193,240,204,167,159,126,170, 1,128,193,131, 7, 63, 99,181, - 90,255, 13,160,162,161, 46, 16, 21, 21,133,168,168, 40,116,233,210, 5, 99,198,140,137,238,222,189,251,163, 45,236,246, 41, 5, -128, 35,104, 29,226,184,212,111,190,207, 79,144,127,143,191,169,135,102,104,102,235,115,212,107,153,249,123,104,146,135,158, 90, -191,237,120, 56, 1,198, 37, 37, 37,253,103,248,240,225,183, 46, 92,184, 48, 2, 0,222,127,255,125,140, 28, 57, 18, 73, 73, 73, - 48, 24, 12,208,104, 52,208,104, 52, 16, 69, 81,249, 12,115,147,229,147,146,146, 94,190,225,134, 27,110, 89,176, 96, 65, 4, 0, - 44, 89,178, 4,163, 70,141, 66, 92, 92, 28, 34, 35, 35,161,211,233,160,213,106,189, 92, 4, 52,124,171, 95, 39,156,247, 12, 29, -136, 86, 6, 29,254, 54,251, 21, 68, 71, 71, 99,195,180,251, 32,114, 28,238,251,118, 19, 34, 35, 35,213,180, 31,117, 56,115,115, -115,113,238,220,185,128,113,231,121, 62, 92,125, 83,226, 62,114,228,200, 91,100,206, 37, 75,150, 96,216,176, 97,136,139,139,131, -217,108, 86,226,254, 27, 55,167,138,115,216,176, 97,183,188,251,238,187, 10,231,160, 65,131, 16, 27, 27,139,136,136, 8,104, 52, - 26, 37, 61,235,147, 71,151, 57,231, 95, 82, 96, 17,175,123,117,107,118,118,182,146,243,162, 40, 66,167,211, 41,133,195,247,198, -173,246, 94, 19, 31, 31,127,231,151, 95,126,169,156,228,240,171, 84,122,189,190,190,156,181, 58,120,215, 95,127,253,199,217,217, -217,122,141, 70, 3,171,213,138,188,188, 60, 68, 69, 69, 65,171,213,226,198, 27,111,228, 51, 50, 50,226,174,191,254,250,207,126, -250,233,167,241, 0,214,169, 24,226,128,217,108,174, 37,176, 40,189,120,253, 71, 8,129,193, 96,192,170, 85,171, 32, 8, 66,173, - 66, 22,168, 17, 75, 76, 76, 12,235, 74, 0,128, 78,167,195,246,237,219,193,113, 28, 68, 81, 84,182,175,190,250, 10,211,166, 77, -195,185,115,231,148,125, 17, 17, 97, 71, 55,137,209,104, 52,200,226, 74,206,123,131,193, 0, 81, 20,137, 32, 8,132,231,121,185, - 73, 39, 80, 57,148, 33, 8, 2, 10, 10, 10,112,251,237,183, 99,241,226,197,120,225,133, 23, 48,126,252,248, 90,251, 43, 42, 42, - 16, 19, 19,131,232,232,104,232,116,186,223, 83, 22, 46, 27, 72,126,169, 51,235,133,151,141, 18, 0,137, 74,128, 4, 80, 80,229, -251,217,179, 71,241,234,127,222,224,213,114,235,116, 58,108,219,182, 13,190,195,174, 28,199, 65,163,209,212,250, 79, 16, 4, 36, - 39, 39,171,225,155,185,114,229, 74,237, 39,159,124,130, 47,190,248, 2, 30,143, 7,162, 40, 66,175,215, 35, 50, 50, 18,177,177, -177,202,150,150,150, 70, 62,248,224, 3, 77,183,110,221,102, 86, 84, 84, 4, 22, 88, 28,141,146,188,226, 10, 0, 18, 6,211,230, -199,190,228, 99,162, 35,106, 92,156,203,184, 61,156,241,214, 91,111,197,165,167,167, 3, 0,222,122,235,173,184,201,147, 39,207, - 0,240, 52,106,134, 12, 47,174,131, 5,124, 76, 8, 25,231,117,108,245, 67,134, 12,209,190,253,246,219,184,234,170,171,240,208, - 67, 15,197,190,250,242,203,127, 3,176, 34,120, 89,170, 93,152,230,190,242, 70,180,111,135,234,183, 13,248,245,124, 1,158,121, -230, 69, 21,250, 31, 92,211,166, 77,239,126,239,189,247,148,233, 16,177,177,177, 74, 27,228,223, 70,201,159, 33,218, 37,226,117, -133, 38, 47, 92,184, 80,225,140,143,143,175,197, 33,138, 34, 10, 14,253,128,111,222,207,130, 41, 46, 25, 19,166,205,173,119, 56, - 83,116, 90,164, 26,180,232,214,173, 27, 12, 6, 3,114,197,154, 91,153, 44,174,212,132,211,159,147,231,121, 37,140,148, 82,216, -108, 54, 84, 86, 86,194,227,241,192,225,112, 32, 61, 61, 93, 85,220,223,125,247, 93,133,179, 73,147, 38, 74,251,238,219,206,203, -155,220,129, 9, 19,206,201,255,253,239,127, 21,206,184,184, 56,133, 75, 16, 4,104, 52, 26, 44, 89,178, 4, 42, 29,109,213,156, -245,205,119,127,206,227,199,143, 99,206,156, 57,208,104, 52,242, 20, 32,197,177, 76, 73, 73,193,155,111,190,169,234, 30,247, 87, -115,176, 72, 73, 73,137,116,248,240, 97,110,207,158, 61,208,104, 52,136,143,143, 71,239,222,189, 1, 0, 78,167, 19,130, 32,192, - 96, 48,144,182,109,219,158,147, 19, 77,254,244, 27, 75,151,151, 90,114,191,254,250,171,180,102,205, 26,110,217,152, 97,112, 80, -160,251, 51,115, 49,108,212, 40,124,151,162, 5, 15,160,247,225, 18,104,181, 90, 33, 41, 41,201, 37,103,130,204,235, 55, 55,203, -127,249,102,132,201,100,250, 96,245,234,213,122,142,227, 80, 89, 89, 9, 73,146,208,183,111, 95, 16, 66,176,127,255,126, 60,253, -244,211,248,252,243,207,177,114,229, 74, 67,143, 30, 61, 62,176, 90,173, 29, 1, 84,250,112, 28, 8, 84, 56, 35, 35, 35, 97, 48, - 24, 20,129,101, 48, 24, 72,251,246,237,207, 5,153, 71,112,250,224,193,131,233,193, 56,101, 39,225,230,155,111, 86,230,156,201, - 55, 64,223,202, 38,127,207,203,203, 11,148, 95,117, 56, 37, 73, 66,191,126,253, 0, 0, 38,147, 9,102,179, 25,223,127,255,189, -178,191, 71,143, 30,112, 56, 28,104,210,164, 9, 14, 29, 58,164,138,179,168,168, 8, 75,151, 46,133, 40,138,136,139,139,131, 40, -138,154,117,235,214,189, 96, 50,153,162,120,158, 71,116,116, 52, 70,141, 26,181,208, 39, 12,158,175,191,254, 90, 8,198,201,243, - 60,244,122, 61,150, 44, 89,130, 57,115,230,224,201, 39,159,244,119,247, 96,179,217, 16, 23, 23,135,152,152, 24,196,196,196,168, - 10,103, 3,160, 81, 57, 41, 40,242,246,126,135,131,251,214,193, 67, 61,144, 60, 18,168, 68,225,145, 36,236, 93,187,171,221,217, - 95,206,164, 80,208,154, 41,181, 0, 60, 85,213,238,204, 56,237, 85, 0, 86,109, 42,117,204, 15, 23, 78,158,231,225,116, 58,241, -221,119,223,225,232,209,163, 88,179,102, 13,172, 86, 43,154, 52,105,130,232,232,104,100,100,100, 96,242,228,201,193, 4,214, 1, -191,178,185,228,244,233,211,221, 51, 50, 50, 72,121,121, 57, 74, 74, 74, 80, 89, 89, 9,167,211, 9,167,211,169,228,161,201,100, - 66, 82, 82, 18,172, 86, 43,181,219,237, 75,130,198, 93, 34,229, 28, 65,209,177, 85, 66,147,214, 55,186, 13,231,190,143,179, 91, - 29, 26,247, 59,171,140,147,191,122,162,245, 80,142,114, 20,168,137, 58, 33,160,146,199, 83,178,110,203, 47,247,255,193,249, 62, -101,234,212,169, 29,125,135,167, 39, 76,152,128,188,188,188,142,243,230,205,155, 2,224,173,250,114, 26,128, 20,212, 40,179,111, - 81,179, 97,166,213, 74, 94, 88,181,234,102, 0,119,172, 92,185, 18,227,199,143,199,127, 94,126,185, 75, 0,129,117,192,183,195, - 87,144,191, 25,199,243,183, 65,146, 36,239, 70,131,126,167,234,194, 73,170,170,170,108, 57, 57, 57,230, 15, 63,252, 16,177,177, -177,104,209,162, 5, 34, 34, 34,160,211,233,234,136, 1,121, 11, 23,119,139,197, 98, 59,124,248,176,249,227,143, 63, 70, 92, 92, - 28,210,210,210, 96, 50,153,160,215,235,149, 14,122,206,154,149,152, 50,233, 70,148,158, 60,130, 55,254,125,155,234,112,222, 51, -100, 32, 82, 13, 90,220, 56,107, 46, 58,118,236,136, 21,183,141, 6, 71,128,123, 55,236,132, 40,138,248,112,228,117,208,233,180, -184,119,195,110,213,156,187,119,239, 6,165, 20,105,105,105,176, 90,173,138,203,166,209,104,176,110,221, 58,140, 30, 61, 26,203, -150, 45,195,181,215, 94, 27, 54,238, 85, 85, 85,182,253,251,247,155, 63,250,232, 35,196,198,198,162, 89,179,102, 48, 26,141, 10, -159,175,136,105,213,170, 21,202,202,202,208,186,117,235,144,156,213,213,213,182,220,220, 92,243,178,101,203, 16, 27, 27,139,212, -212, 84, 24,141,198, 90, 78,216,204,153, 51,107, 17,116,235,214,237,119,115,214, 55,223,253, 57,199,140, 25,131,214,173, 91, 35, - 50, 50, 82, 73, 3,127,161, 93, 31, 80, 74,123,161,246, 52, 7, 7, 0,173,207,231,121, 66,200,238, 0,199,201,255,139, 0,174, -246,238,243,120, 53, 64,116, 0,190, 96, 60, 37, 94, 83, 33,222,239,248, 90,215, 9, 36,176,228,250, 56, 0,192, 86, 0,232,208, -161, 3, 74, 75, 75,161,211,233,208,187,119,111,156, 63,127, 94,177,249, 36, 73,194,216,177, 99,249, 39,158,120, 34,129,227, 56, -184, 92, 46, 80, 74,193,243, 60,228,158,159,191, 14,224, 56, 14, 25, 25, 25, 56,232, 77,211, 97,163, 70, 33, 53, 53, 85,153,196, -161,211,233, 48,126,252,120, 50,109,218, 52, 65,118, 47, 40,165,176, 90,173,232,214,173,155, 33,132, 59,242,239,207, 62,251, 44, - 74,171,213, 42,226, 74, 14,203,225,195,135,241,234,171,175,226,142, 59,238,192,201,147, 39,145,156,156,140, 71, 31,125,212,156, -149,149,245,111,167,211, 57, 43, 92,134,154,205,230, 90, 2,107,210,164, 73, 66, 70, 70, 70,130,209,104, 84,220, 45,175,168, 68, - 70, 70, 6, 9,231, 96, 73,146,132,111,191,253, 54, 96,239,208,191,199, 64, 8, 1,165, 84, 21,103, 78, 78,142, 34,206,100,247, - 66,222,159,151,151,167, 56, 88, 94, 33, 24,138,147,202, 66, 77,182,201, 69, 81,212,228,228,228,204, 78, 78, 78, 54, 79,154, 52, - 9,149,149,149,104,218,180, 41,134, 14, 29, 10, 73,146,224,116, 58,241,224,131, 15,134,116, 94, 68, 81,196,174, 93,187,144,149, -149,133, 39,158,120, 2, 11, 23, 46,196,224,193,131,107, 57, 88,114, 79, 55, 50,242, 15, 95,227,208,128, 22, 22,224,116,187, 96, -177, 88, 65,169, 7, 30,137, 66,242, 72,216,191,113,111,187, 95,246, 29,237,156,189,124,169, 8, 0,182, 77, 43,125,207, 74, 30, -179,224,255,218,103,198,136, 57,155, 46,184,114,194, 12, 59,227,190,251,238,195,179,207, 62,139, 91,111,189, 21,107,215,174,197, - 83, 79, 61,133,187,239,190, 91, 17,239,114, 89, 80, 49,236,248,222,132, 9, 19,254,181, 98,197,138,171, 30,121,228, 17, 78,174, -147, 70,163, 17,132, 16,216,108, 54,101, 59,124,248,176,244,207,127,254,243, 39,135,195,241, 94,208,130, 36, 24,126, 52,233, 44, - 95,159, 45,229,218, 22,109,136,229,136, 16,233,140, 79, 27, 80,126, 67,187,193,116,240,109, 45, 98,168, 84,227,240, 81, 80,216, -109,213,120,242,137,199,248, 63, 56,183, 70, 14, 25, 50,100,232,236,217,179,235,236,152, 61,123, 54, 14, 29, 58, 52,116,237,218, -181, 5,193,134, 68,131,136,171,212,168,164,164,121, 0, 96, 40, 42,154,106, 5, 78, 1,192, 11,192, 48, 15, 48,122,237,218,181, - 0,128,230,205,155, 67, 2, 58, 17,224,127, 60,240, 49,128,111, 2, 57,234, 78,151, 27, 86,171, 13, 18,173, 41, 71, 18,149, 32, -121,106, 92, 80,127,145,165, 98,220,141, 2,144,120,158, 71,151, 46, 93, 48,108,216, 48,104,181, 90,152,205,102,165,157,247,111, -147, 84,220, 20, 41, 0,137, 16,130, 86,173, 90, 97,232,208,161,208,104, 52, 48,153, 76,136,140,140, 84, 4, 22,207,243,232,146, - 49, 16, 31, 47,123, 5, 19,135,117,198,164,235, 18,241,217,254, 18, 85,225, 76, 51,106,145,102,208,161, 67,135, 14,136,136,136, - 0, 33, 0,207,115, 74, 56, 77, 70, 61, 52,202,240,163,186,184, 23, 21, 21,161,160,160, 0, 5, 5, 5,224, 56, 14,125,251,246, -133, 86,171,133, 32, 8,200,207,207,199,172, 89,179,224,112, 56, 84,113,114, 28,135,182,109,219, 98,224,192,129,208,106,181,144, -239, 21,190, 67,131,162, 40,162,178,178, 18,109,218,180,193,170, 85,171,208,191,127,255,176,156, 29, 59,118,196,128, 1, 3,160, -209,104, 96, 48, 24,148,169, 58, 90,159,184, 86, 85, 85, 41,233,208,189,123,247,122,113,174,217,117, 18,139,214,124, 15,187, 67, - 66,133,197, 85,235,132,228, 38,145,216,250,209, 19,170,226, 46,115,190,247,222,123, 40, 43, 43, 83,218, 33,121, 65,155,108,158, -164,166,166,226,221,119,223, 13,122, 15,242,106,145, 77,126,251,226, 9, 33,217, 62,117, 98, 20, 33, 36,219,247, 51,216,113,222, -175,215,205,152, 49,163,103, 86, 86,214,156, 62,125,250,124,188,125,251,246,229,193,248,130,241,204,152, 49,163,115, 86, 86,214, - 28,223,227, 3, 92, 39,160,131, 37, 15,249,112,178, 51,147,146,146,162,140, 59,155,205,102,104, 52, 26,229, 96,183,219,141, 15, - 62,248, 0, 9, 9, 9, 72, 76, 76, 84, 62,131,101, 0,199,113,160,148,226,161,243, 53, 83,128,190,109,170, 65, 1,128, 27,206, - 83,133,207,227,241, 96,197,138, 21,136,136,136, 80, 42,186,217,108, 14, 57, 92,164,213,106, 7,244,234,213,139,179,219,237,138, - 77,206,113, 28, 14, 31, 62,140,172,172, 44,140, 31, 63, 30,237,219,183,135,199,227, 65,117,117, 53,174,191,254,122,241,141, 55, -222, 24,160, 86, 96, 25,141, 70,101,222,145,221,110,199,250,245,235, 17, 29, 29,141,152,152, 24,196,197,197, 33, 54, 54, 22, 58, -157, 14,132,144,240, 45, 26,165,184,249,230,155,107, 57, 87,190,174,149,111,131, 38, 15,251,169,225,188,246,218,107, 21,247,202, -108, 54,227,155,111,126,107,159,123,247,101,240, 54,107, 0, 0, 32, 0, 73, 68, 65, 84,238, 13, 74, 41,226,227,227,177, 99,199, - 14, 53,141, 46, 36, 73, 66, 66, 66, 2, 68, 81, 36,235,214,173,123,193, 43,174,136, 40,138,248,225,135, 31,144,151,151,135,248, -248,120,165, 87, 26, 14,213,213,213,103,223,120,227, 13,207,219,111,191, 13, 0, 24, 52,104, 16,202,203,203,139,125,246,151, 78, -156, 56,177, 86,124, 47, 92,184, 80,250, 23,208, 87,112, 59,221,176, 88,109,168,170,172,134, 75,242,192,229,246,160,248,244,249, -232, 39,166, 77, 21,255,243,224,100, 0,192,180,249,111,161,242,221,223, 26,176, 47,166,141, 75,184,249,213, 79,166, 3,184, 49, - 20,191,197, 98,129,205,102, 67,243,230,205,177,123,247,110, 84, 86, 86, 98,240,224,193,181,220,223, 48, 67, 16,190,112,156, 62, -125,186,239,168, 81,163,118,191,246,218,107,173, 59,117,234, 68,170,171,171, 81, 93, 93, 13,139,197, 2,249,251,129, 3, 7,232, -242,229,203,127,177, 88, 44, 25, 8, 49,103, 72,155, 94,121,212,145, 27,177, 98,203,143,154, 81,127, 31, 51, 58,234,212,233, 66, -119,169, 85, 95, 85,110,253,201,238,161,135, 64, 61, 20, 30, 74, 65, 61, 18, 60, 84,250,163,215,111,167,182,107,215,238,159,203, -150, 45, 11, 40, 72,121,158,199,178,101,203,208,175, 95,191,127,230,231,231, 31, 70,136,201,253, 50, 90, 0, 90,183, 40, 62,241, -127,255,247,127, 26, 0, 24, 56,112,224, 19, 45, 92,174,105, 5,128,163, 83,215,174,183,108,223,190, 61,202,104,172, 89, 39, 20, - 21, 21, 5, 74, 41,111,177, 88,162, 50, 50, 50,110,217,191,127,127, 93,129, 37, 81,184, 92,110, 88,109,118,148,149, 87,193,229, -112,193, 45,185,225,113, 75,112, 75, 53,238,168,219,227,129,228,246,192, 45,121,192, 11,124, 68,230, 53,205,170,106,188, 44, 82, -182, 57,167,176, 89,160, 34, 90,179,194, 11, 72, 74, 74, 82,134,132,125,231,202,168,112, 49,234, 24,245, 53,109, 33, 85,218,198, - 31, 55,102,163,248,208, 86,104, 8,133,228,113, 65,114, 59,225,113, 57,193, 67,194,161, 99,167,209,169,105,216, 54, 68, 9,231, -240,103, 94, 68,239,222,189,241,217,184, 27, 65, 8,112,239,250, 29,208,104, 52, 88,126,211, 96,104,245, 90,252, 99,205, 78,181, -225,172, 21,247,220,220, 92, 60,244,208, 67,120,233,165,151, 96, 48, 24,148,206,201,145, 35, 71,240,201, 39,159, 96,200,144, 33, -170,227, 78, 72,205, 80,171,156,134, 51,102,204,192,153, 51,103, 48,111,222, 60,244,236,217, 19,162, 40,162,172,172, 12, 25, 25, - 25, 56,119,238,156, 42, 78, 74, 37,196,198,198, 42,211,117,252,231,136,201, 29,217,250,228,145, 47,231, 93, 55, 37,227,203,109, -203, 65, 64,176,243,163,169,181,238, 71,239,124,178,165,222,156,207, 62,251,108,173,112,214,211,189,146,181, 8, 9,114,207, 27, -165,210,241,146,143,147, 19, 89,151,149,149, 53,199,255,252,112,124,190,251,253,206,119,248,137,178,115,106,134, 8, 41,199,113, -144, 36, 9,102,179, 25, 90,109,141, 3,230,127, 35, 53,153, 76,181, 20,121,184,241,100,158,231, 65, 41, 85, 18,150, 15,176,127, -199,142, 29,117, 68,192,127,255,251,223,144,227,180,110,183,187, 99, 68, 68, 4, 42, 43, 43,149, 57, 82, 90,173, 22,211,167, 79, -199,196,137, 19, 21,113,165,213,106,177,120,241, 98,164,167,167,195,225,112,116, 12,149,160, 26,141,198,210,181,107, 87, 78,118, -129, 12, 6, 3, 25, 63,126, 60,239,116, 58,161,215,235,107,185, 78,242,220,180,112, 98, 72,118,155,190,251,238, 59, 85, 14,150, -218, 57, 72,148, 82,236,221,187,183,150, 80,243, 46, 53, 6, 0,236,219,183, 79,185,209,170, 29,239,246,120, 60, 48, 24, 12, 68, -163,209, 16,147,201, 20, 53,105,210, 36,133, 87,206,115, 57,222,106, 38, 90,239,223,191,255,250,144,227, 53, 7, 14,252, 37, 31, -199, 32, 73, 18,156, 46, 23,172, 86, 27, 42,171, 45,152, 57,215, 59,162, 54, 19, 57, 0,114,250, 78,121, 8,247, 13, 27, 50, 16, -225, 87,247, 5, 68,108,108, 44, 62,255,252,115,136,162,136, 85,171, 86, 33, 50, 50, 18,163, 71,143, 70,100,100, 36,158,120,226, - 9,220,118,219,109,245, 17, 88, 0, 80, 94, 90, 90,218,119,234,212,169,187, 95,126,249,229,230,205,155, 55,135,211,233,132,195, -225,128,211,233,196,177, 99,199,176,124,249,242, 66,139,197,210, 23, 64,121, 56, 50,109,122,229,209,236, 71, 90,159,237, 55,230, - 38,219,161,162, 53, 56, 87,116, 30,110,207, 41,184, 61, 30,184, 93,238, 26, 65, 32, 73,112, 59,221,224,121, 46,242,250, 62,105, -235,106, 38,252, 19, 7,128, 17,151, 48,171,104,126,126,126,105,124,124,188,220,131,140,116, 56, 28,196,219,150, 80,252, 54,193, -189, 26,128, 83, 13, 97, 33, 48,229, 63, 47,189,212, 76, 30,190,127,233,165,151,154, 61,250,200, 35, 83, 0,188,126,104,255,254, -165,119,221,117,215,212, 79, 63,253,180,214, 57,119,221,117, 23, 14,237,223,191, 52, 88,207,199,229,114,193,106,181,163,164,228, - 87,220,115,239, 51, 62,221,125,170,244,251,107, 38,189, 83, 0,208, 3, 64,201,185,159,241,224, 67,143,234, 66,117,168,188,245, - 29,162, 40,214,153,132,236,219,190,171,104, 63,168,255, 20, 11,141, 70,131,163,219,179, 49,117,202, 45,128,199, 13, 56,171, 1, -167, 5,212,105, 1,117, 84,131,104, 13,160, 46,155, 42, 94,143,199,163, 76,219, 16,120, 14, 58,237,111,237,166,209,104,128, 86, -175, 85, 27,206, 58,113, 63,113,226, 4,238,191,255,126, 56, 28, 14,140, 25, 51, 6, 54,155, 13,118,187, 29, 54,155, 13,173, 90, -181,130,213,106, 85, 29,119, 73,146, 20, 23,112,234,212,169,232,217,179, 39,102,205,154,133,199, 31,127, 28,173, 90,181,194,148, - 41, 83,240,241,199, 31,163,115,231,206,176, 88, 44, 97, 57,229,182,196,108, 54, 67, 16, 4,165, 13,246,205, 43, 89, 96,169,205, -163, 64,156,132,252, 54,239,214, 55,223, 31,158, 52,168,222,156,115,230,204, 65, 73, 73, 73, 29,231,202,215,193, 90,176, 96,193, - 69, 85, 86, 63,151, 41,236,113,132,144, 92,239, 95,214,233,211,167, 63, 73, 8,201,158, 62,125,250,147,115,231,206,205, 83,195, - 23,104, 63, 33,228, 43,239,253,247, 6,159,255,114,213, 8, 44,200,110,147,108,107,202, 9, 39,239, 3, 0,163,209,136,236,236, -108,172, 88,177,162,214, 13, 37, 24,100,209,246,117,124, 77, 1, 24,233,117,174,228,223, 35,138, 37,140, 26, 53, 10,173, 90,181, -170,229, 94, 25, 12,134,144, 98, 67,146, 36,156, 56,113, 2, 7, 14, 28, 64,159, 62,125, 80, 94, 94, 14, 1,192,180,253,251,209, -105,210, 36,216,189,194, 79,171,213,226,159,255,252,167,170, 12,220,179,103, 79,173, 73, 64, 29, 59,118, 60,149,145,145,145,178, - 99,199, 14,197,209,210,233,116,208,235,245,138,200, 80, 83,169, 41,165,184,229,150, 91,106,137, 33,127,129, 37, 87,158,111,191, -253, 86,213, 16, 33,165, 20,153,153,153,138,123, 21, 17, 17,129, 47,190,248, 66, 57,230,186,235,174, 3, 33, 4, 9, 9, 9,248, -230,155,111,194,114,202,105, 42,231, 61,207,243,168,174,174, 70,110,110, 46,180, 90,173, 50, 63,195, 96, 48, 40,241,103, 8,150, -225, 18, 28, 46, 23, 44, 86, 27, 42, 43,107, 26,210,163, 7, 62,171,117,136,211,126,241,139,211,100, 39,180,162,162, 2,235,215, -175,199,231,159,127,142,158, 61,123,214, 26, 30, 84, 59, 68,232, 59,143,224,215, 95,127,237,247,248,227,143,239,124,225,133, 23, -154,198,197,197,193,233,116,226,196,137, 19,248,224,131, 15,206, 88, 44,150,126, 0,206,171, 79, 3, 10,183,203, 13,155,197,138, -242,202,106, 60, 63,123,113,208, 38, 2, 0,156,142, 74,140, 26,145,169,189,196, 57,117, 26,192,221, 62,191,151, 2,144, 39,227, - 87, 0,152, 88, 31, 50, 17, 24, 48,230,150, 91, 6, 78,157, 58, 85,249,111,234,212,169,216,185,115,231, 64,113,197,138, 3, 46, - 96, 35,191, 98, 69,151,121,243,230, 41,199,204,155, 55, 15,159,175, 88,177,193, 3,108, 12,210,109,175,113,176,172, 54, 84, 85, - 91, 17, 25,157,140,211,199, 55,133, 13,139,134,183,131,134,104,151,229, 54, 36,216,188,155,122,136, 43, 37,164,242,177,242,188, -163, 46, 3,111,193,107,175,255, 23, 58,142,226,230,129,157, 16,111,144, 64,140,177,208,100, 78, 7,137, 78,171, 57,235,249,171, -161,166,173,219,244,212, 52, 28, 51,233,241,207,181,219, 32,138, 34, 62, 31, 55, 18, 26,173, 6,119,124,181,185,102,113,207,228, -155,161,209,105, 49,244,157, 79,212,220,168,149,184, 31, 61,122, 20,219,182,109, 67,135, 14, 29,240,243,207, 63, 43,115,108,229, -251,150,202, 14,175, 18,119,185, 29, 47, 42, 42,194,168, 81,163,160,209,104,176,120,241, 98,108,218,180, 9,143, 63,254, 56,238, -186,235, 46, 92,127,253,245,193,230,197,214,225,244,205,163, 96,243,163,234,155, 71,254,156, 74,249,253, 29,249, 46,115,202,147, -219, 3,137,245,223, 59,177,221,199, 45, 74, 12,176,239, 6,127,231,137, 82,218,203, 59, 55,202, 62,119,238,220,188,185,115,231, -142, 34,132,100,207,157, 59,119, 84, 48, 7, 43, 16, 79,128,253, 97,219, 65,193, 79,133, 14,240, 21, 81,218, 16, 99,217, 38,147, - 9,119,223,125, 55,158,120,226, 9,101, 34, 99, 40,200,202, 53, 20,178,179,179,235,252,183,106,213,170,112, 67,132,135,163,162, -162,122, 14, 28, 56, 16,229,229,229, 56,121,242, 36,204,102, 51, 58,189,250, 42,246,223,119, 31,174, 94,184, 16,220,192,129, 74, -133,223,191,127, 63,116, 58,221, 97,155,205, 86,175, 76, 53,155,205,136,137,137,129, 94,175, 71, 68, 68, 4, 34, 34, 34, 96, 50, -153, 20,161, 21,110,136, 80, 46,124, 95,125,245, 85, 72,231,202,215,242, 85, 35,134, 40,165,216,177, 99, 71, 29, 7, 75,190,166, -188, 79,118, 50,212,112,122, 29, 75,170,211,233,192,243, 60,140, 70,163, 98,247,235,245,122,101, 83,235, 96,133,123,144,104, 90, - 90, 90,173, 7,145,254, 63,123,231, 29, 30, 69,181,134,241,119,102,182,111, 54, 13, 82, 72, 15, 1, 2,129,208, 66,151, 38,160, - 8, 72, 17, 68,176, 97,167,169,112,189, 82, 45, 24, 80, 1, 69, 64, 16, 1, 1, 5, 1, 1, 43, 77,138,244, 38,229,146,208, 99, - 66, 40,233, 33, 36, 33,109,179,117,202,185,127, 36, 27, 55, 33,101, 55, 4, 80, 56,191,231,217,103,119,167,188,115,206,204,153, -153,119,190, 83, 70, 46,151,151, 27,136,244,223, 95, 69,104, 70,177,190,184,206,245, 45, 22, 11,100, 50, 25,126,253,245, 87,116, -234,212,169,204, 92,217,140,149,253,113,119,146,180, 91,183,110, 61,186,120,241,226,147, 11, 22, 44,240,212,235,245, 88,179,102, - 77,129, 94,175,127, 20,165,237,136, 28,190, 24, 2,224,173, 2, 12,102, 51,244, 69, 37,251,224,234,197, 95,106, 52,101,255,102, -154,183,106,245,226,234,213,171,111,155,190,122,245,106, 36, 38, 38,190,136,243,231, 15, 6, 1,203,167, 78,157,218,184, 93,187, -118, 65, 0, 48,117,234,212,212, 32, 96,121,117,231,185,173,138, 80, 95,106,214, 77,197, 57,117, 22,105,173,248,192,119,167, 55, - 68,134, 97,202, 76,198,227, 35, 94, 67,198,181,120, 68,104,115,224,227,225, 2,169, 40, 3,138, 62,209, 56,127, 75,139, 47,151, -239,118, 42,157, 90,165, 2,106,205,223,213, 77,106,141, 26,170,210, 90, 5,134, 97,160,214,106, 32, 87, 42,157,206,123,124,124, - 60,180, 90, 45, 68, 81,188,237,126,227,108,143,102, 66, 72,217,189,115,193,130, 5,152, 60,121, 50,214,172, 89,131,243,231,207, -163, 77,155, 54,120,236,177,199,112,243,230, 77,156, 59,119, 14,102,179,217,225,116,218,223, 47,226,226,226,176,119,239, 94, 36, - 36, 36, 32, 53, 53,181,214,199,189, 98, 53, 99,105, 13, 78,137,121,221,123, 6, 79, 63, 30, 85, 43,205,232,232,104,220,188,121, -243,182,200,149,125,243,163,106, 34, 88,101, 94,164,154,242, 21, 99,111,130,108,145, 38,123, 67, 84,241, 63, 0, 79,219,180,105, -211,166,189,231,232,122,246,255,109, 17, 48, 71,170, 22,237, 13, 22, 83,177,186,142, 97,152,178,157,110, 31,153,178,253,214,106, -181,101, 81,166,144,144,144,106,163, 87,182, 19,142,227, 56,116,191, 86, 4,165, 82, 89, 86,157,215,255,166, 84, 46, 68, 30, 22, - 22, 86,174, 13,150,253, 65,169, 12,179,217,124,240,224,193,131,109, 7, 15, 30,204,197,197,197, 65, 38,147, 65,146, 36,152, 59, -119, 70,155,229,203,113,225,157,119,208,227,250,117,152,121, 30,106,181, 26,187,118,237,178, 26, 12,134,131,206, 20, 26,150,101, - 25,155,193, 82,169, 84,112,117,117,133,155,155, 91, 89, 52,199,153,139, 80, 85, 79,136,246, 31,103, 78,104, 91,131,126,251, 27, -171,237,248, 25,141,198,114,134,203, 81,236,171, 12,108,166,200,221,221,189, 92,181,168, 45,138,231,136,193,170,105, 32, 81,149, - 74,229,118,248,240,225,198,110,110,110, 32,132, 32, 39, 39, 7,207, 62,251,236,229,127,125, 0, 11,164,164,145,187,209, 4,189, -209, 84,231,250, 63,252,240, 3,174, 92,185, 2,171,213,138, 57,115,230,220,102,172,106, 25,193,178,113, 69,163,209, 72,253,250, -245,195,241,227,199,161, 82,169,120,212, 98,252, 42, 34, 73,176,242, 2, 76, 70, 51,244,197,197,120, 24,184,116,254,252,207, 46, - 46, 46,207, 2,208,229,231,231,115,238,238,238,208,106,181, 48, 26,141, 5, 92,105, 79,193, 36,192,162,225,249,207, 70,140, 24, -177, 16, 0,100, 60,255, 89,117,227, 96,149, 25,172, 58,222,143,182,235, 86, 85,209,171,218,154, 43,134, 97, 74,186,231,179, 44, -214,204,153,140, 8,109, 54,162, 26,186,192,116,243, 10, 84,110, 94, 96, 60, 66,241,229,242,221,136, 75,186,229, 84, 58,159, 91, -247, 11,130,130,130,176,253,165, 33, 80,169, 84,120,246,151,189, 37,141,180,199,142,132, 66,173, 66,159, 37, 63,212, 42,239, 6, -131,161,202, 72,149, 19, 17,172, 50, 77,155, 1,140,138,138, 66,147, 38, 77,112,240,224, 65, 68, 69, 69, 33, 49, 49, 17,137,137, -137, 72, 74, 74,194,249,243,231,145,151,151,231,244, 49,218,180,105, 19,178,179,179,161, 80, 40, 80, 88, 88,136,235,215,175, 87, -215,254,217,225,227,110,163,217,147,209, 0, 0,127,111,119,167, 12,150,189,230,188,121,243,156, 25,230,161,156, 76, 53,243,114, - 42,180,117,178,253,183, 84, 48, 59, 21,255, 87, 92, 30, 0,110, 2,224,106, 88,175,226,255,156, 57,115,230, 28,180, 69,190, 74, -117,185,170,218, 95, 85,140, 96,217,155, 0, 99,179,102,205, 52,246,245,167, 44,203,194,213,213,149,153, 52,105, 18,199, 48, 12, -116, 58, 29,220,221,221, 17, 30, 30, 14,171,181,230,102, 9, 10,133,194,216,177, 99, 71,141,125,232,149, 97, 24,184,184,184,112, - 83,166, 76, 97, 86,173, 90, 85,233,122, 91,183,110,173,182,112, 11,130,176,112,212,168, 81,175,167,165,165,121,250,250,250, 34, - 51, 51, 19, 10,133,162,100,180,216, 94,189,208,253,218, 53, 88, 75, 13, 67,124,124, 60, 86,174, 92, 89,108,181, 90, 23, 58,123, -209,208,233,116,168, 95,191, 62, 84, 42, 85,185, 94, 49,118,161, 85,135, 34, 88,117,105,174,108,154,246, 55, 86,219,239,177, 99, -199,150,253,119,230, 34,169, 80, 40,200,147, 79, 62, 89,246, 14, 66, 15, 15, 15,120,121,121, 33, 43, 43,235,239,158, 58,165,145, - 59, 71, 13, 86, 77, 3,137,202,229,114, 88,173,214,178,234,204, 37, 75,150,220,137, 49,248,231, 24, 44, 65, 98,116, 58,111,248, -251, 55,133,183,143, 9,146, 36,214,153,182, 32, 8, 24, 55,110, 92,185, 49,175,108, 55, 98,219, 32,182,182, 30,190,246,225,127, -103,159,196,239, 56, 58, 66, 0, 94, 40,141,226, 25, 44,255,186, 99, 24, 18, 18,226,150,156,156, 92, 89,187,168, 74,123,251, 1, -127, 15,201,192, 1,159,164,164,164,180,116,119,119, 71,223,190,125,177,109,243,230,173, 31, 2,101, 33, 27, 35,144,166,185,113, -227, 63,165,191,211,107, 10,234,217,170, 8,139, 13,117,109,214,153,219,162, 87,119, 90,149,195,178, 37, 15,102,191,125,243, 25, - 34, 52, 89,104, 19,172,194,177, 19,231,208, 41,136,128,152, 21,181, 78,167, 78,167, 43,105,140,175,213, 66,165,250,187,205,149, - 74,171,129, 66,169,170,117,222,237, 35, 85,119, 26,193, 98, 24,182,220,126,124,253,245,215, 49,117,234, 84,244,237,219, 23,137, -137,137, 56,124,248, 48, 46, 95,190,140, 9, 19, 38, 32, 50, 50, 18, 79, 60,241,132, 83,199,232,183,223,126, 67, 65, 65, 1, 8, - 33,200,206,206,134,201,100,194,140, 25, 51,238,248,184,219,184,182,103, 54, 0,224,151, 61,177,181,214,156, 62,125,122,217, 24, -140,182,123,126, 13, 81, 43, 71,238,119,167,170,251,239,236,250,247,130, 74, 13,214,229,203,151, 43,237, 43, 31, 17, 17,145,213, -167, 79, 31,159,132,132, 4,232,116, 58,132,135,135,195,108, 54, 87, 87, 13,209, 18,165, 99,101, 92,186,116,169, 82,205,176,176, - 48,235,227,143, 63, 46,111,208,160, 65,185,200,149,173,135,141,189, 51,174,168, 89, 74,145,201,100, 26,221,181,107,215,181, 59, -119,238,212,132,135,135,163,160,160,164,253,237,154, 53,107,240,214, 91,111, 65,163,209, 32, 33, 33, 1, 67,134, 12, 49, 24, 12, -134,209, 40, 63, 6, 86,101,154,183, 25, 25,133, 66, 81, 86, 77,102,171, 42, 83, 86, 31,138,190, 77,147, 97, 24, 44, 94,188,184, -210,177,160, 42,178,124,249,242,202,220,124,165,233,252,226,139, 47,234, 76,243,228,201,147,229,222, 49, 56,112,224,192,111,158, -120,226, 9,164,166,166,150,171, 22,172,193, 96,149,211,172,105, 32, 81,142,227,224,235,235,139,143, 63,254, 24, 94, 94, 94,104, -208,160, 65,101, 6,171,218, 99, 84, 75,238,170, 38, 97, 73,204,162, 5,209,221,190,249,246, 23,185, 74,201,226,248,225, 95, 80, -152,119,163,124, 4,214,250,119,151,104,101, 84, 31, 88, 98,247, 57,148, 78,179,217,140,207, 63,255, 28,209,209,209,136,142,142, -174, 54, 65, 85,116,135,174, 49,239,246, 6,203, 65,179,117,155,166, 36,137,140, 90,235, 9,173,139, 63, 34, 35, 61, 33,145,154, -199,234,148,238,255,113, 55,164,166,166,186, 7, 5, 5,225,242,229,203, 12,254,110,143,245,247,177, 82, 42,159,173, 96,176,110, - 63,223,129,243, 27, 54,108,104,217,170, 85, 43, 44, 89,178, 4, 0, 94,250,252,143, 63, 70, 70, 27, 75,194,153, 28,176,177,212, -140,213,152, 78,145,136,140, 90,235, 1,141,174,116, 63, 74,142,143,121, 74,170,201,187,237,230,119, 39, 15,122,149,105,218,214, -191,122,252,119, 60,217, 63, 16,127,158, 60,143,125,105, 46, 8, 82,101,192,207,144, 13, 41,251, 47,252,103,120, 20,190,252,185, -228, 38,126,254,116,205,154, 12,195,224,232,164,209,208,169, 85,120,122,195, 14,200,229,114, 28,124,231,101, 40, 20, 10,244, 92, - 80, 82, 37,123,225,243,233,144,169,148,136,152, 16,237, 80, 58, 43,214,212,216,218, 92,217,155,171, 26, 34, 88, 85,230, 93,175, -215, 35, 47, 47, 15,107,215,174,197,171,175,190,138,155, 55,111,226,250,245,235, 72, 72, 72,192,198,141, 27,203,221,227,224,196, - 49,154, 54,109, 26,222,125,247, 93,176, 44,139,150, 45, 91, 34, 58, 58, 26, 93,186,116,113,250, 24, 85, 60,238, 21,113, 32,122, - 85,165,230,162, 69,139,156,238,176,245, 32,226, 84, 3, 13, 91, 36,203,203,203, 11, 46, 46, 46, 0, 80,238, 6, 91, 83, 53, 97, - 85,154,130, 32, 64,163,209, 64,163,209,148, 27, 22, 97,240,224,193, 53, 70,176, 74,217,149,144,144,240,124,139, 22, 45,190,139, -142,142,118,121,244,209, 71,229,254,254,254,104,215,174, 29, 18, 18, 18,240,251,239,191, 91,151, 46, 93,106, 48, 24, 12,175, 2, -216, 83, 27,243,108,107,248,109, 63,162,189, 51,136,162,152,122,253,250,117,191, 47,190,248,130, 99, 24, 6, 11, 23, 46, 44, 55, - 64,107,197, 60,158, 56,113, 66, 32,132, 92,169, 33,138,145,122,253,250,117,191,249,243,231,151,211,180,125, 42,154, 20, 71, 52, -171,194,150,231,138,251,192,145,147,167,166,129, 68,101, 50, 25,226,227,227,241,209, 71, 31,129, 97,152,114, 29, 39,254,205,252, -249,191,204, 85, 93,218,193,243,217,225,189, 91, 49, 96, 97,169, 36,210,203,229,230,151,153,171,161,243, 55,225,183,119, 71, 58, -114, 44,174, 31, 58,116, 40,120,246,236,217, 28,199,113,152, 55,111, 94,185,178, 84,241,184,239,223,191, 95,212,104, 52, 41,181, -205,135,213,106,117,164, 23, 85, 85, 39,248,177,197,243, 62,234,251,205,234,109,114,134,177,224,248,161, 95, 80,144, 95,121,215, -116,165, 92,134,117, 27,182, 10, 50,142, 77,189,207,135,238,155,199, 30,123,108,198,222,189,123,101, 65, 65, 65,181, 22, 9, 4, -182, 45, 94,188,184,255,168, 81,163,234, 53,111,222,220,214,249, 68, 89,250, 65,233,200,238,187, 28, 52, 73, 91,190,252,226,163, -151, 86,172,222,166,100, 25, 43,142, 31,254, 5, 5, 21,204,250,237,209,104, 57,214,111,216, 98,149,201,184,248,154,174,193,181, -233,193,236, 8,109,159,124, 21, 95,239, 88, 9,159, 86,253,241,204,160,110, 56,186,228, 37,140,104,110,132,245,199,231,208,242, -153,117, 88, 51,189, 36,122,211,230,167,233, 14,221, 43,220,116,127, 15, 88,201,178, 44, 84,106, 13,228,202,191,163, 47, 74,173, - 22,156, 19, 17, 91, 91,222,171,139, 84, 57,187, 63, 56,142, 67, 88, 88, 24, 26, 53,106,132,174, 93,187,162,109,219,182,232,213, -171, 23,206,157, 59,135,115,231,206, 97,194,132, 9,213,153,171, 26,143, 81,223,190,125,209,175, 95,191, 59, 62, 54, 21,143,123, - 93,224, 72, 89, 26, 63,126, 60, 0,220, 81, 52,235,129, 54, 88,222,222,222, 80, 42,149,181, 50, 84,149,105, 90, 44,150, 50, 99, -165,209,104,202, 34, 86, 91,183,110,117,166,128,239, 49, 26,141,145, 31,124,240,193, 68,141, 70,211,203,104, 52, 70, 0,128, 86, -171,253,203, 96, 48, 28,176, 90,173,139, 0,228,223, 73, 90,237, 13, 70, 37, 81,174,106, 31,241,179,179,179,159,120,241,197, 23, -247,176, 44,219,176,186, 23, 51,219,153,213,164,172,172,172,254, 53,105,190,240,194, 11,149,106, 86,166,235,136,102, 21,230,176, -156,169,178,239, 97,232, 80, 33,171, 97, 32, 81,185, 92, 14,157, 78,135,205,155, 55,163,126,253,250, 15,212, 9,118, 60, 38,243, -243,234,230,247,172,175, 60, 4,192,123,232,252, 77, 41,135,114,173, 33, 67,231,111, 74,254,237,221,145,193, 53, 24,158, 71,230, -206,157,123,148,231,249, 16, 7,203,109,178,217,108,238,230,108,218, 9, 33,136,143,143,151, 94,127,253,245,156,236,236,236,103, -106,147,255,195,199,147, 23,116,235,232,239, 53,124, 72,183, 14, 96, 24, 88, 44, 85, 52,234,101, 64, 8, 33, 68,198,177,169,135, - 78,164,190,126,159, 95,161,113, 54, 57, 57,121, 86,227,198,141,199, 0,168,234, 78,184,177, 38,145, 36,192,162, 52,155,191,104, -223,190,253,148,247,222,123,207, 99,208,160, 65, 8, 10, 10,130,187,187,243,111, 11, 58,118, 42,125, 76,231,118, 98,224,211,131, -187, 61,193, 50, 12, 49, 91,170,111, 28,205,216,246,167,140,139, 63,124, 50,173,117,117,209,121,155, 41,191, 27,209,134, 62,195, - 95, 65,159,225,175,148,149,167,125, 63, 63,138,152,244, 63,208,142, 77,135,121, 69, 55, 48,110,182,162, 94,243, 48, 55, 44,203, - 98,208,234,205, 80, 40, 20,101,233,124,100,110,249,126, 1,225,111, 58,254, 46,117,251,188,219, 71,176, 42,185, 22, 59,213, 6, -139,227, 56,228,228,228, 32, 33, 33, 1, 89, 89, 89, 48, 24, 12,136,139,139,131,197, 98, 65, 94, 94, 30, 90,182,108,233,220,211, -253, 93, 56, 70,247, 83,243, 97, 48, 86,181, 50, 88,132,144,180, 78,157, 58,213,116, 51,118,170,151,145, 76, 38, 51,117,235,214, -141,169,172,183,129,237,183, 70,163,113,244,241, 57,223,106,181, 70, 91,173,214,104,148, 86,133, 89,173,214, 59,110, 72, 34,138, - 98, 70,199,142, 29,185,234, 46,250,146, 36, 85, 59, 98, 92, 78, 78, 78,113, 78, 78, 78,157,190, 58,252,110,104, 86,114,210,136, - 99,198,140,169,214, 73,185,184,184, 84,219,184,168,166,129, 68, 13, 6, 67,230,139, 47,190, 40,218, 87, 53,219, 15, 68,250, 64, -195,144,228, 1,207,190, 22,114, 40,215, 26, 2, 0, 54,147, 5, 66,146,171, 90,229,244,233,211, 89, 0, 26,223,237,164, 93,187, -118,205,210,169, 83,167,245, 69, 69, 69,227, 1, 24,106,171,115,244, 84,198,244,127,225,145, 57, 11, 96,236,157,138, 88,128, 56, - 95,147,105, 92,244,135, 31, 62,253,209,135, 31,134, 75, 64,125,148,142, 81,197, 57, 96,210,236, 57, 17,115,163,206,199, 6, 19, - 69, 49,237,145, 71, 30,113,122,157,154,230, 87, 51,146, 56,126, 64, 16,112,218,121,205,187,145, 78,155,102,171, 86,173,208,166, - 77,155,178,111, 27,246,211,219,182,109,235,144,102, 84, 84, 20,154, 55,111, 94,229, 8,237, 21,219, 92,221,239,188,219,176, 61, -250,182,109,187,187,206, 52,239, 52,157,148,234,105, 73, 53,169, 38,213,252,215,106,114,116,127, 82, 77,170, 73, 53,239,161,230, - 3, 5, 75,119, 1,133, 66,169,234, 1,147,238, 2, 10,133, 66,169, 29, 76, 53, 46,212,153,158, 59,181,113,178, 23,168, 38,213, -164,154, 84,147,106, 82, 77,170,249,208,105,214,164, 93,215, 61,135, 31, 72,104,248,148,106, 82, 77,170, 73, 53,169, 38,213,164, -154, 15, 29,180,138,144, 66,161, 80, 40, 20, 10,165,142,145,209, 93, 64,161, 60,220, 68,223,225,131, 86,244,109, 99,131, 62,220, -233,164, 80, 40, 20,128, 70,176, 40, 20, 10,133, 66,161, 80,168,193,162, 80, 40, 20, 10,133, 66,161, 6,139, 66,161, 80, 40, 20, - 10,229, 33,131,161,187,128, 66,121,184,137,166,109,176, 40, 20, 10,165,206,161, 17, 44, 10,133, 66,161, 80, 40,148, 58,198,214, -139,208,254,125,125, 52,170, 69,161, 80, 40, 20, 10,229, 94,243, 64,121, 17, 25, 53, 86, 20, 10,133, 66,161, 80,254, 33, 60, 48, - 94,132,173,194, 57, 82, 40, 20, 10,133, 66,161,220,107, 30, 24, 47,194, 62,136,174,145, 66,161, 80, 40, 20,202,191,146, 7, 54, -130, 69,163, 88, 20, 10,133, 66,161, 80,238, 23, 15,140, 23,145, 61,104,142,145, 66,161, 80, 40, 20,202,191,146, 7,202,139,220, -237, 97, 26,232,155,198,169, 38,213,164,154, 84,147,106, 82, 77,170,249,208, 65,199,193,162, 80, 40, 20, 10,133, 66,161, 6,139, - 66,161, 80, 40, 20, 10,133, 26, 44, 10,133, 66,161, 80, 40,148,135, 10, 25,221, 5, 20,202,195, 77,244,191,228, 29,125,209,244, - 93,130, 20, 10,229, 95, 4,141, 96, 81, 40, 20, 10,133, 66,161,212, 49, 12,170,238, 9,112,193, 9,157,218,244, 38,184, 64, 53, -169, 38,213,164,154, 84,147,106, 82,205,135, 78,179, 38,237, 11,160,220, 21,227, 69, 53,169, 38,213,164,154, 84,147,106, 82,205, -135, 79,243,129,130, 86, 17, 82, 42, 34, 67,245,109,243,106,154,127,175, 52, 41, 20, 10,133, 66,249, 71,223, 76, 41, 20, 27, 93, - 0, 12, 44,253,189, 29,192,113, 39,231,223, 43,205,251, 66, 84, 84,148, 70,173, 86,247,221,191,127,191, 34, 62, 62, 30, 39, 78, -156, 32, 63,252,240, 3,111, 50,153,254,136,141,141, 53,210,226,243, 96,208,182,109,219, 39, 24,134,153, 10, 0,132,144,207,206, -156, 57,179,251, 14,228,152,198,141, 27, 79, 80, 42,149, 3,228,114,185,191, 40,138,140,217,108,206, 48, 26,141,123,210,211,211, -231,163,118, 13,247, 59,120,121,121,141,141,140,140, 12,191,118,237, 90,106, 74, 74,202, 58, 0,187, 1, 60, 17, 28, 28,252, 98, - 88, 88, 88,208,197,139, 23, 47,231,228,228, 44, 7,240,191,251,152, 78, 10,133, 26, 44, 7, 96, 61, 61, 61, 31,215,104, 52, 19, -245,122,125,148,155,155,219, 69, 65, 16, 22,103,102,102,110,167, 39,222, 3, 85, 22, 6, 18, 66,228, 0,192,113,220,144,142, 29, - 59,134, 48, 12, 35, 49, 12, 67, 8, 33,204,201,147, 39,219,138,162,200, 2, 0,195, 48, 3, 75, 47,222, 66,109, 53, 5, 65, 96, - 78,159, 62,237,172,230, 93,161, 69,139, 22,179, 9, 33,254,213,238, 32,153,172,253,190,125,251,154,109,217,178, 69, 88,183,110, - 93,254,200,145, 35,117, 47,191,252,178,108,205,154, 53, 95, 3,248, 79,197,229,155, 55,111,190,128,101, 89, 47, 71,182, 47, 73, - 82, 78, 92, 92,220,127,105, 49,188,255, 48, 12, 51,245,181,185, 7,123, 72, 4,248,110, 90, 79,182,212,188,212,214,172,125,255, -212, 83, 79, 61,219,180,105, 83,153, 36, 73,224,121, 30,102,179,185, 89,108,108,236,163,187,119,239,110,159,148,148,244,140,147, -146, 3,167, 77,155,182,114,214,172, 89,222,114,185,156,225,121,190,243,143, 63,254,216,111,236,216,177,103,151, 47, 95,222,102, -196,136, 17,174,182,233, 31,125,244, 81,255, 57,115,230,188, 3, 96,227,125, 72, 39,133, 66,111,170,213,205,212,233,116, 77,188, -189,189,223, 45, 44, 44,236,223,190,125,251,130,209,163, 71, 95, 61,119,238, 92, 92,100,100,164,126,245,234,213,159,242, 60,191, -212,211,211,243,143,194,194,194,249, 89, 89, 89,113, 78,110,187, 9,128,209, 0,250, 3, 8, 4,144, 1, 96, 39,128,149, 0,226, -107,147, 25,127,127,255, 86, 46, 46, 46, 83, 24,134,233, 92, 92, 92, 28,232,226,226,146, 65, 8, 57, 89, 84, 84, 52,239,198,141, - 27,177,181,209, 12, 8, 8,104, 4,224,109,153, 76,214, 93, 20,197,134, 28,199, 37,139,162,120, 68, 20,197, 37,153,153,153,151, -107,163,249, 72,160,110,144,164,115,155,207,115,154, 32,189, 73, 80,232, 84, 50, 94, 46,153, 82,165,226,252,105,167, 82,139,127, -249, 39, 20, 12,165, 82,201,174, 91,183,174,141, 82,169, 4, 0, 88, 44, 22, 68, 70, 70,222,209,123,162,228,114, 57, 59,111,222, -188, 54, 10,133, 2, 0, 96,181, 90,209,187,119,239,127,196,187,167, 24,134, 9,140,137,137,113,183,165,173, 34,162, 40, 98,200, -144, 33,161, 74,165, 18,203,151, 47, 23,114,114,114,162,190,251,238,187,152,175,191,254,218,235,251,239,191, 31, 94,153,193, 98, - 89,214,171, 42, 77, 81, 20, 97,181, 90, 33, 8, 2, 44, 22, 11,122,245,234, 69,175, 70,255, 16, 8, 33, 33, 4,192,206,115, 38, - 0,168,127, 39, 90, 26,141, 38, 98,232,208,161,178,236,236,108,200,229,114, 88,173, 86,220,184,113, 3,141, 26, 53,226, 44, 22, - 75, 83,103,245,154, 53,107, 54,118,206,156, 57, 62, 59,118,236,176,174, 95,191,222,252,216, 99,143, 41, 94,125,245, 85,183, 30, - 61,122,116, 15, 12, 12,100,191,251,238, 59,243,222,189,123,173, 47,188,240,130,106,246,236,217, 62, 59,119,238,124,246,252,249, -243, 27,239,117, 58, 41, 20, 74, 53, 6, 75,167,211, 29,210,233,116,141,223,120,227,141,248,241,227,199,255,161,211,233, 68, 0, -184,113,227,134,106,200,144, 33,217,195,134, 13,187,105, 48, 24,184,165, 75,151, 6,127,245,213, 87,123,116, 58, 93,186, 94,175, -239,232,200,189, 12,192, 68,150,101,223,238,219,183,239, 33,158,231,179, 55,111,222,252,211,240,225,195,187, 73,146,228,178,127, -255,254,223, 69, 81,252, 6,192, 23, 78, 68,199,184,176,176,176,104, 47, 47,175, 73,203,150, 45, 83, 53,108,216, 16, 90,173, 22, - 69, 69, 69,193,151, 47, 95, 14,154, 56,113,226, 96,141, 70,179,216,221,221,253,131,216,216, 88,222,209,123,174,191,191,255,127, - 92, 93, 93, 63,249,244,211, 79,213, 45, 90,180, 96,180, 90, 45,146,146,146, 90, 30, 63,126, 60,242,219,111,191,125,149,101,217, -153,233,233,233, 14,167,179, 39, 32, 51, 55,246,222,237, 26,218,178,215,242,149,223, 50, 94, 46, 90,200, 24, 6,188,213, 42,207, - 50, 24,195,222, 26, 55,230,167,206,170, 75,199,138,228, 89,125,226,226, 96,189,199,101, 65, 0,176,157,227,184, 33, 74,165,146, - 29, 50,100, 8,246,238,221,203,152, 76, 38, 25, 0,168,213,106, 97,200,144, 33,208,104, 52,176, 88, 44, 18, 74,170,243, 4, 0, -170,210,245,205,213,105,202,229,114,182, 87,175, 94,134,211,167, 79,231, 26, 12, 6,185, 77,179, 87,175, 94,245, 84, 42,149,150, -231,121, 71, 53,239,166,169,196,149, 43, 87,110, 51, 66, 55,111,222, 68,110,110, 46,204,102, 51,147,151,151, 7, 81, 20, 97, 54, -155,179, 69, 81, 4,203,178,182, 50, 93, 41, 10,133, 2, 9, 9, 9,183, 77,183, 90,173, 48, 26,141,224,121, 30,133,133,133, 26, -181, 90,221,184, 91,183,110,105, 0,182,232,245,250,249,231,206,157, 75,166,151,167,251, 70,202,239,103, 76,193, 0,172, 0,174, -221,161,113,151, 0,224,200,145, 35,200,202,202, 66,118,118, 54,178,179,179, 17, 20, 20, 4, 66,136,211,209,255,248,248,248, 69, -109,219,182,101,206,158, 61,187, 13,192,202, 77,155, 54, 13,189,117,235,214,178,201,147, 39,215,155, 55,111,222,173, 41, 83,166, -140, 3,240,219,166, 77,155, 94,105,213,170,213,160,243,231,207,127,121, 63,210, 73,161, 80,170,105,228, 78, 8,241,111,210,164, -201,173,133, 11, 23, 54,155, 54,109, 90,125,189, 94,207,149, 70,137, 76, 0, 96, 48, 24,184,169, 83,167,122,207,157, 59,183,153, - 74,165,202, 19, 4,193,187, 18,153,202,186, 90,190,237,230,230, 54,248,234,213,171,155,154, 53,107, 86,111,206,156, 57,103, 92, - 92, 92,200,151, 95,126, 25,219,168, 81, 35,191,228,228,228,181,110,110,110,189, 1, 76,170, 34,105,183,105,134,134,134,126, 52, -124,248,240, 73,199,142, 29, 83,181,110,221, 26,174,174,174,224, 56, 14, 30, 30, 30,232,212,169, 19,115,248,240, 97,213,128, 1, - 3, 38, 20, 20, 20,204,115, 84, 51, 32, 32, 96, 82,191,126,253, 62, 61,125,250,180,166, 79,159, 62,140, 82,169, 68,126,126, 62, -148, 74, 37,186,116,233,194, 44,251,122,137,166,101,139,230, 31, 5, 6, 6,206,114, 84,211,220,196,107,207,200,241, 83,123,111, -223,185,155,241,245,245,197,213, 47,102,225, 72,143, 72, 36,126, 60, 13,126,126,126,216,182, 99, 23, 51,112,212,248,110,110,188, -239,126, 71, 53,235, 0,123,205,227,145,145,145, 49,113,113,113,232,222,189, 59,126,250,233,167,214,147, 39, 79, 30, 63,121,242, -228,241, 63,253,244, 83,235,238,221,187, 35, 46, 46, 14,145,145,145, 49, 40,105, 43, 53, 30,192,173,210,207,248,234, 52, 15, 29, - 58,132,222,189,123,231,109,218,180,169,209,140, 25, 51,102,207,152, 49, 99,246, 79, 63,253, 20,214,187,119,239,188, 67,135, 14, - 57,171,121, 55,242, 94,102,168, 42,126, 8, 33,144, 36, 9, 62, 62, 62, 55,119,236,216, 65, 6, 14, 28,200, 53,104,208, 32, 99, -200,144, 33,170,147, 39, 79, 18,134, 97,182, 59,147, 78, 66, 8,140, 70, 35,140, 70, 35,174, 93,187,166, 89,188,120,113,183, 73, -147, 38, 53,249,241,199, 31, 3, 38, 76,152, 48,206,205,205, 45,182,117,235,214, 33,247, 58,239, 84,179, 44,242,120,163,212, 92, - 21,179, 44,155, 82, 91,205, 97,195,134,181, 12, 9, 9,241,253,241,162, 39,242, 20,205, 32,202,221, 33, 41, 60, 32,214,239,128, - 68, 69, 63,248,251,251,251, 6, 7, 7,119,113, 50,157,123,206,158, 61,219, 31,192,114, 0, 34,128,159,167, 76,153,242, 58,195, - 48,191, 76,153, 50,101, 12,128,159, 75,167,175, 58,127,254,252, 32, 0, 7,238, 83, 58,105, 89,162,154,117, 10, 33,164, 3, 33, -228,201,210, 79, 71, 66, 72,167, 10,255,149, 21,150,123,172,138,239, 39, 43,252,239, 80, 97,189, 14,117,109,176,136,221,199,246, - 68,195,127,254,249,231, 39,190,253,246,219,189,153,153,153,126, 97, 97, 97, 79, 14, 29, 58, 52,164,176,176,144, 29, 54,108, 88, -168,159,159,223,192, 3, 7, 14, 52, 24, 54,108,216,254,225,195,135, 31,103, 24,198,145,118, 51,141, 56,142,123,231,236,217,179, - 71, 67, 67, 67,173, 25, 25, 25,174,109,219,182, 45, 2,128,240,240,112, 67,110,110,174,198,213,213, 21, 59,118,236, 56,197, 48, -204,104, 0,205,106, 18,244,243,243,107,235,229,229, 53,233,147, 79, 62, 81,113, 28, 87,233, 50, 42,149, 10,159,124,242,137,202, -205,205,237, 13,127,127,255,206, 53,105,250,250,250, 70,184,186,186, 70, 47, 94,188, 88,109,177, 88, 96,181, 90,225,235,235, 11, -157, 78,135,204,204, 76,164, 95,191,142,155, 73, 73,152,240,218,107, 26, 23,141,230, 29, 63, 63,191, 54, 53,105,118, 11,209, 13, -209, 5, 52,127,244,173,183, 39,226,210,196,215,176, 55, 64,137, 6,111, 79, 69,235,131, 23, 16, 56,115, 62, 14,132,185, 33,230, -153,199,241,206, 59,239, 66,225, 19,246, 72,151, 64,151,145,247, 37,164, 41,147, 17,149, 74, 5,147,201, 36, 59,114,228, 72,119, - 65, 16,228,130, 32,200, 15, 31, 62,252,232, 31,127,252,209,127,206,156, 57, 79,104, 52,154,113,157, 59,119,254,158, 97,152, 69, -132, 16, 13, 33, 68, 3, 96,158, 93,228,233, 54, 77,185, 92, 14,163,209, 40, 63,125,250,244, 24, 81, 20,149,162, 40, 42, 79,159, - 62,253,230,129, 3, 7, 94, 92,190,124,185,211,154,247, 10,142,227, 32,147,201, 32,151,203,209,166, 77,155,171, 27, 54,108,224, -253,253,253,101, 43, 86,172,240,244,241,241,113,249,254,251,239,243,243,242,242, 62,119, 70,211, 98,177,192,108, 54,195,104, 52, -226,200,145, 35, 13,223,120,227, 13,153,197, 98, 17, 71,141, 26,117,139,231,121,243,155,137,186,117,110, 0, 0, 32, 0, 73, 68, - 65, 84,111,190,233,166,211,233,222,165,207,127,247, 7, 66,136, 8,160, 24,128,158, 16, 98, 6,128,144,144, 16,149,191,191,127, -171,144,144, 16,135,203,163, 94,175,255,102,193,130, 5,129,172,202, 3, 71, 45, 3,176,137,204,194, 30,143,175,145, 29, 58, 25, -190, 65, 77,208,175, 95, 63, 31,134, 97,150,212, 65,146,183, 0, 24, 14,224,215,218,172,124,183,211,217,190,125,251,238,237,218, -181, 59, 29, 21, 21,149,217,174, 93,187,211,237,219,183,239,126,167, 25,158, 57, 6,143,205,125,139, 77,155, 53, 22,100,238, 91, -108,218,204, 49,120,140,150,220, 7,227,244,171,232, 69,236,240,102, 24,102, 59,195, 48,219,167, 79,159,222, 11, 64,253, 10,255, - 31,177, 95, 14,128,178,178,111,219,199,110,186, 55, 33,228, 73,187,245,188,235,236,126,106,247,187,210,106, 14,111,111,111,203, -123,239,189,119,214,100, 50, 93,248,254,251,239, 27,143, 31, 63,190,109, 72, 72, 72,194,176, 97,195,126,215,106,181,130,173,141, -142,131,188, 54, 96,192,128, 29,245,234,213, 99,114,114,114, 20, 22,139, 69,118,227,198, 13,133, 40,138, 12,199,113,196, 96, 48, -200, 18, 19, 19,229, 86,171, 85,234,220,185,243,214,227,199,143,143, 6,240, 78,117,130, 90,173,246,205, 21, 43, 86,168,171, 50, - 87,162, 40, 66,175,215, 67, 16, 4,204,156, 57, 83, 61,105,210,164,137, 0, 78, 84,167, 41,151,203, 39, 44, 92,184, 80,109,171, - 2,146, 36, 9,177,177,177,200,185,121, 19,230,162, 66, 88,138, 10, 97, 41,200, 3,171, 47,192,139,253,159, 80, 47,255,117,243, -127, 1,188, 88,237, 77, 85,165,155,251,253,202,111, 33,138, 34, 50, 54, 87,222, 36,226,214,177,131, 16, 5, 30,179, 63,155,199, -188,243,218,136, 57, 64,241,166,127, 74,169, 87, 42,149,236, 23, 95,124,209, 76,169, 84,130, 97, 24, 98,177, 88,208,162, 69, 11, -230, 14, 53,185, 69,139, 22,181, 85, 40, 20,140, 77,179,101,203,150,204, 63,237,140, 87, 40, 20,208,104, 52, 8, 13, 13, 53, 14, - 26, 52,232,248,162, 69,139,130, 57,142,211,202,100,178, 93, 5, 5, 5,115, 46, 93,186,228, 84, 53,146,217,108,134,201,100,130, -201,100, 66, 74, 74, 74,131,198,141, 27, 51,255,249,207,127,196,226,226,226,176, 85,171, 86, 93,217,180,105,147,118,201,146, 37, -195, 0,188, 77,175,183,247,150, 70,141, 26, 41, 1,184, 7,215,151, 21,203, 57, 20,103, 10,130,111, 64, 64,192, 84, 65, 16,218, -135,135,135,123, 38, 38, 38,230,249,251,251,159, 96, 89,118, 99, 90, 90, 90,102, 13, 70,141, 17, 4, 1, 99, 58,230, 99, 92,103, - 22,130, 32, 32, 63, 63, 31, 41, 41, 41,184,120,241, 34, 78,158,188, 88,171, 52,134,134,134,190,166, 86,171,251, 42,149,202, 80, - 81, 20, 89,131,193,144,108, 54,155,247,102,100,100,124, 83,197,141, 9,247, 35,157,118,250,243,135, 14, 29,234,239,238,238,142, - 51,103,206,248,159, 59,119,110, 62,128,246,119,116,237,144,179,223,141,122,125, 73, 64, 61, 15, 15, 36,197,109, 11,216,178,243, -199,239, 0, 41,144,150,224, 7,130,170,238, 1,217,132,144,129,165, 1,160,237,115,230,204, 25, 88, 90,190, 6,218,255,119,160, - 60,222,182, 28,195, 48,219, 43,155, 94,151, 6,139, 84,147, 49,168,213,106,113,236,216,177, 9, 91,183,110, 13,109,223,190,253, - 95, 85, 53, 6,174,129,174,205,154, 53, 75, 62,117,234, 20,241,246,246,182, 72,146,196,104,181, 90, 81,163,209, 72, 5, 5, 5, -224,121,158, 36, 39, 39,203, 82, 82, 82, 20, 94, 94, 94, 10, 0, 53,134,234,228,114,121,151,134, 13, 27, 86, 25, 41,208,235,245, - 40, 42, 42,130,217,108,134,175,175, 47,195,178,108,167, 26,195,122, 44,219,173, 89,179,102, 76, 94, 94, 30,252,253,253,113,244, -232, 81,232, 11,242, 97, 46, 42,130,185, 32, 31,214,194, 2,136,133,249,200,191,153,137, 80,191, 64,134, 97,152, 46, 53,105, 10, -156, 38,196, 71,231,130,196, 89, 83,209, 33, 54, 25,140, 92,129, 83, 45,253, 64,248,146,166, 86, 29,207,103,128, 81, 40,241,215, -132,151,209,224,249, 55,192,179,170,128,251, 81,178, 5, 65, 96,204,102, 51,212,106,181,208,189,123,247, 35, 28,199, 61,170, 84, - 42,217,113,227,198,225,198,141, 27,229, 78,128,113,227,198, 65,163,209,192,108, 54, 11, 0, 38,163,138, 54, 83,130, 32, 48, 60, -207, 67,163,209,240,237,219,183,255,134,227,184, 55,149, 74, 37,215,180,105,211,172,185,115,231,102,184,184,184,184,164,164,164, -220, 82, 42,149,105,161,161,161, 29, 53, 26, 77, 72, 77,154,247, 18,149, 74, 5,153, 76, 6,150,101, 81,191,126,253,226,220,220, -220,147,215,174, 93,123,174, 54, 90,162, 40,194, 98,177,128,231,121,152, 76, 38, 72,146,132,115,231,206, 65,165, 82,201, 69, 81, -188, 40,138,162, 86, 46,151,131,227, 56, 58, 70,221, 61, 38, 42, 42,234,209, 80, 13,230,143,243, 51,123, 54, 26,232,162,215,170, -184,226,103, 55,243, 29, 30,123,236,153, 39, 38, 79,158,170,243,242,242, 82, 94,191,126,221,244,229,151, 95, 54,252,237,183,223, - 24,148,180, 19,173,146,140,140,140, 95,230,206,157, 91,239,209, 71, 31, 13,147,203,229, 76,126,126, 62,178,179,179,113,243,230, - 77,164,164,164,144,164,164,164,171,130, 32,252,228, 76, 26, 91,181,106,181,106,224,192,129,163, 90,180,104, 33, 39,132,128,231, -121, 24, 12,134,182, 39, 79,158, 28,124,244,232,209,238,215,175, 95,119,186, 92,102,102,102,254,244,217,103,159,185,244,236,217, -179,153, 92, 46,103,235, 34,157, 21,110,104,254, 58,157, 14,123,247,238,133,155,155, 27,106,234,173,235, 8, 86, 65, 10,168,231, - 81, 31,166,203, 11,224,239, 22, 2,171, 32, 5,208, 18,252, 64, 69,177,152, 74, 76,208,255, 8, 33, 79,222,169, 25,186, 91,102, -170, 86, 17, 44, 27, 55,110,220, 80,233,245,122,153, 36, 73,172,217,108,150, 75,146, 4,185, 92,206, 59,185,189, 22, 67,135, 14, - 61,209,161, 67, 7, 67,105, 4, 67,112,119,119, 23, 10, 10, 10, 80,106,176, 36,153, 76,102,210,233,116,166,176,176, 48,192,129, - 42, 66,163,209, 24,172,209,104,110,155,110, 48, 24,160,215,235,203, 12,150,193, 96,128,155,155, 27,138,139,139,107, 60,185, 69, - 81, 12,213,106,181,200,200,200, 0, 0,232,243,243, 96, 42, 44,132,181,168, 0,214,252, 60,240, 5,249,224, 11,242,192, 26,141, -240, 8, 12,130, 32, 8, 65, 53,105, 22,155, 69, 37, 7,130,155,219,127,129,239,155,147,171, 92,238,214,145, 3,208, 53,110, 10, -163,209,122, 63,198, 40,235,114,241,226,197,118,205,155, 55,199,144, 33, 67,240,204, 51,207,156,211,104, 52, 62, 75,150, 44,105, -145,158,158,126,219,194, 79, 61,245, 20,222,126,251,109, 12, 29, 58,116,237,217,179,103,151, 86,167,217,179,103, 79,244,234,213, -171,222, 51,207, 60,147,164,211,233, 98, 86,174, 92,217,113,230,204,153, 89, 6,131, 33, 61, 38, 38,166, 85, 90, 90,154, 54, 60, - 60,252, 96,100,100, 36,187, 99,199,142,144, 26, 52,239,181,233, 4,207,243,176, 90,173, 48,155,205, 32,132, 56, 28,101, 35,164, -124, 64,129,231,249,178, 30,132, 38,147, 9, 60,207, 51, 91,182,108,198,182,109,219,216,184,184, 75,129,211,166, 77, 71,126,126, - 62, 68, 81,164,151,217,123, 68,187,118,237,250,203,136,180, 98, 68, 3, 94,253,130,175,160,151,177, 68,127,249,219, 15,138,207, -121,200,204,230, 98,198,245,253, 15, 62,240,188,114,229,138,245,179,207, 62,203, 28, 50,100,136,250,245,215, 95,111,190, 99,199, -142,238, 65, 65, 65,223,166,166,166,230, 87, 21,248,236,220,185,243, 9, 79, 79,207, 70,235,215,175,207,202,200,200,168,199,243, -188,214, 98,177, 88, 45, 22,203, 21,171,213,122,212, 98,177,236,189,113,227, 70,140, 51,105,213,233,116,173, 71,142, 28, 41,207, -203,203,131, 76, 38,131,213,106, 69,118,118, 54,162,162,162,184,125,251,246,181,168, 77,254,227,226,226, 22,228,231,231, 31,220, -182,109, 91, 95, 23, 23,151,118, 74,165,178,129, 40,138,162,201,100,202, 50,153, 76,103,107,147,206, 10, 55,180,140,216,216, 88, -127, 87, 87, 87,164,167,167,131, 97,152,140, 59, 61,102, 10, 57,155,154,244,215,214, 32,127,183,134,136,143, 63, 1,133,156, 77, -165, 35, 6, 61,216, 17, 44,187,182, 82, 3,107, 48, 73,198,105,211,166,189,199, 48,204,246,105,211,166,189, 87, 77, 4, 75,180, - 95,206,110,249, 58,123,168,175,246, 38, 94, 84, 84, 36,251,223,255,254, 87, 63, 37, 37, 69,215,160, 65, 3, 67,100,100,100, 62, -195, 48, 68, 20, 69,246,214,173, 91, 46,105,105,105,106, 79, 79, 79,115, 80, 80, 80,129,131,219,187,252,214, 91,111,245,156, 49, - 99, 70,204,227,143, 63,158, 3, 0,121,121,121,200,206,206,182,245,210, 66, 70, 70, 6,123,250,244,233,122,187,118,237,106, 11, - 7,122,240,104, 52,154,148,162,162,162,166, 30, 30, 30,101, 55, 52,155,169,178,255,182, 90,173, 40, 42, 42,130,139,139, 75,141, - 39, 55,203,178,233,233,233,233,141,141, 70, 3,146, 19, 19, 97, 46, 42,128,181,176, 0,124, 97, 62,248,252,124,136,249,183,192, -234,139,160,211,104, 80,116, 43, 23, 28,199,221,168, 73,211, 69,197, 89,120, 65, 84,122,247, 27, 12, 48, 85,223,159, 61, 58,117, - 3,137,104, 13,141,230, 87,254, 30, 23,106, 25,128,129,182, 49,169, 52, 26, 13, 62,253,244, 83,196,196,196, 72,213, 85, 3, 43, -149, 74,176, 44, 43, 58,162,169, 82,169, 52, 51,102,204,208,156, 61,123, 86,173, 84, 42,161,211,233,180,103,207,158,109,245,231, -159,127,178, 6,131,129,107,220,184,241,208,128,128, 0,125, 13,154,119,213, 72, 85, 54, 77,175,215,151,181,155,186,117,235,150, - 76,173, 86,135,119,239,222,253,184,197, 98,249, 73, 16,132,213,177,177,177,133, 85, 62,105, 91,111,239, 12, 42, 73, 18, 4, 65, -128, 32, 8,144,201,100,210,150, 45, 91,241,213,210, 69,248,121,211,175,164,103,207,158,204,142, 29, 59, 32, 73, 82, 26,189,206, -222, 27, 36, 73,154,127, 96,234,211,106,136,162,222,124,112, 67,241,238, 92, 89,241,183, 23, 14,156,206,229,205,170, 38, 77,194, - 34,220, 92,221,217,239,215,125,123, 43, 51,235,234,229,175,190, 74, 11,154, 61,123,182, 71, 88, 88,152,123, 66, 66, 66, 0,128, -252, 42,140, 80,232,203, 47,191,252,234,173, 91,183,228, 43, 87,174, 92,147,158,158,126, 24,192,213,138, 65, 51,148,180, 51,148, - 3,240, 69, 73, 15,218, 61, 0,214, 86, 99, 86, 36,134, 97,112,240,224,193,219,122,251, 73,146, 84,107,135,145,153,153,153,215, -169, 83,167,214,151, 47, 95,222,146,159,159,191,190,146,235,236,224,200,200,200,103, 79,157, 58,245, 33,128, 43, 78, 70,176,222, -137,139,139,251, 92,146,164, 16,150,101,147, 9, 33, 83,238,244,152, 89,172,210,235, 91,119,110, 90,105,225,197, 96,165,156, 75, -177, 88,165, 55,104, 73,126,224,177,181,145,130,189,113,170,196, 24,253, 57,103,206, 28,205,220,185,115, 49,103,206,156,139,149, - 69,176,108, 70,107,206,156, 57, 23,109,203,217, 45,127,184,174, 13, 22, 83,201,141, 69, 55,125,250,244,174,109,219,182,205,120, -244,209, 71, 51, 27, 54,108,104,176,205,211,106,181, 22, 15, 15, 15,139,217,108, 86,101,100,100,120,255,245,215, 95, 13, 37, 73, -210, 56,176,189,253, 30, 30, 30,245, 78,159, 62, 93,127,227,198,141, 77, 98, 99, 99, 67,158,127,254,249,158,102,179, 25, 22,139, - 5,215,174, 93, 11, 89,177, 98,133,164, 80, 40,242, 25,134,249, 31, 74,122,195, 84, 11,207,243,199, 47, 95,190, 28,222,169, 83, - 39,134,231,249,114,166,202,254,183, 82,169, 68,122,122, 58,145, 36,233,164, 3,233, 60,113,250,212,169,198, 45,155, 55,135,185, - 32, 15,150,194,124, 88, 11,242, 33, 20,228, 67, 42,204, 7,171, 47, 66,253,122,114,104, 52, 46,184,156,145,137,210,180, 86,139, - 92, 48, 38,165, 23, 20, 54,109, 28,253, 5, 14,132,185,129,240,214,178,106, 65, 0,101,213,133,143,252,149,141, 35,127, 30,135, - 76, 52,167,223,207,146,108,177, 88,164, 97,195,134,157, 98, 89,182,206,222, 55,197,243,188, 52,126,252,248, 50,205,212,212,212, - 91,169,169,169,106,163,209,200,234,116, 58,253,253, 62,123,121,158,175,212, 32, 89, 44, 22, 24,141, 70,100,102,102, 42,247,236, -217,211,253,248,241,227,138, 75,151, 46,225,248,241,227,109,182,108,217, 50,189, 89,179,102,173,227,227,227,111, 56, 98,218, 36, - 73,130,237, 62, 72, 8, 1, 33,132, 3,128,173,191,109, 71,191,126,253,152,162,162, 34,108,219,182,173, 78,170, 81, 40, 14, 83, - 12, 65,212, 88, 14,109, 40,126, 55, 81, 89,120,209, 32,251, 36, 38, 38,102,247,128, 1, 3,142,248,251,134,185, 1,128, 74,161, -243,230,136,171,206,219,219, 91, 5, 0,254,254,254,237,120,158, 95,154,158,158,222,173, 50,193,167,158,122,234, 17, 31, 31,159, -182, 59,119,238, 60,155,158,158,126,164, 18,115,133,166, 77,155,206,188,112,225, 66,127,185, 92,206,216, 93,252, 73, 85, 6,107, -216,176, 97, 77,149, 74,101,253, 29,151,221, 81,168,104, 12,137,205, 7,225, 84, 16, 61, 90, 35, 89,209, 2,190,190,127,213,215, -106,181,109,174, 94,189,122,214,201,252, 7,143, 24, 49,226,247, 85,171, 86, 69,244,235,215, 79,121,236,216,177,219, 12, 86, 68, - 68,196,176,125,251,246, 13, 31, 55,110, 92,235,245,235,215, 15, 2,144,232,168,120,108,108,236, 49,148,188,177,161,206,248,232, - 27,236, 5,196,144,210, 64, 4, 45,193, 15,120,244,170,148,108,187,232, 83, 54, 0,166,194,255,179,165,231,144,133, 16, 98, 91, - 54,219, 46,106,101,169, 16,245,170,108, 94, 54,195, 48,117, 22,220,144, 85,243,228,189,231,218,181,107, 29, 70,140, 24,145,109, -111,174,236,171, 71,116, 58,157,217,205,205, 77,127,234,212, 41,127, 81, 20, 15, 58,176,189,149,251,246,237, 59,176,120,241,226, - 13,245,234,213,227, 95,124,241, 69,118,234,212,169, 71,114,115,115, 73,110,110, 46,150, 44, 89,210,163,123,247,238, 71,146,147, -147,197,152,152,152, 87, 0,244,171, 73,208, 96, 48,124,253,230,155,111, 62,123,228,200, 17,181,197, 98, 65,126,126,254,109,209, - 43,158,231,193,113, 28,150, 46, 93,106, 46, 46, 46, 94,228, 64, 36,227,155,175,191,254,122,248,138,175, 22,171,101,188, 21,134, -252, 60,136,165, 31,206, 84, 12,157,154, 69,227,182,222,200,207, 80, 97,221,206, 99, 70, 65, 16,190,174,209, 96,153,244,147,199, -141, 25,189,125,207,254, 3,168,223,173, 55,114, 14,236,186, 61, 26,228,237, 11,139,213,138, 79,102, 69, 19,198,152, 63,245, 94, - 7,112, 0,108, 47, 29, 77, 29, 0,182,159, 61,123,246,120,155, 54,109,250, 91, 44,150,234,140, 24, 36, 73,226,106,163,169, 82, -169,210,154, 54,109,186,191, 81,163, 70, 67, 1,160,121,243,230,191,177, 44,219,187, 6,205,187,106,176,102,204,152,129,185,115, -231, 98,218,180,105,101, 6,201,246, 0, 96, 54,155, 27,238,218,181, 75,121,236,216, 49,178,110,221,186,156,167,159,126,218,227, -249,231,159,247, 88,191,126,253,127, 0, 76,173, 74,115,202,148, 41, 88,190,124, 57,198,142, 29,123,219,124,142,227,164,244,244, - 52,152, 45,102,178,117,235,214, 12,153, 76,230,249,229,151, 95,106, 38, 77,154,196,208,107,237,189, 65, 20,197,247,187, 45,216, - 50, 17,208,240,130, 32, 44, 58,127, 62,230, 96,105,212,198,103,193,130, 5, 74, 0,248, 98,222, 23,114, 66,136,220, 54, 48,236, -199, 31,127,172, 30, 51,102,140, 79, 85,154,191,252,242, 75,222,199, 31,127, 92,255,245,215, 95,239,119,224,192, 1,245,169, 83, -167,118,161,228, 45, 5, 57,165,142,192, 43, 33, 33,225,152,183,183,183,223,166, 77,155, 26,247,237,219,215,165, 70, 23, 88, 92, -252,237,178,101,203, 66,231, 31,118,197,142,226,161, 72, 37,207,128,212, 35,168,167, 40, 66,115, 93, 10,122,250,165,250,175, 95, -191,126, 37,128,118, 78,100,191,197,211, 79, 63,189,121,213,170, 85, 13, 71,143, 30,157,118,236,216,177, 84, 0, 51, 43, 46, 20, - 19, 19,147,251,242,203, 47, 39,175, 89,179,166,177, 36, 73,187, 55,108,216,208, 15,192,101, 90,122, 40,247,204,121, 57, 16,200, -168,205,178,119, 19, 89, 53, 23,157,215,242,242,242, 34,167, 77,155,246,185,191,191,127,112,116,116,244,245,230,205,155, 23,219, -230,231,230,230,234, 14, 29, 58, 20, 86, 88, 88, 88, 36, 8,194, 40, 0,231, 42,145,105,137,242, 99,101, 36, 75,146,244,121,155, - 54,109,158,253,241,199, 31, 15,185,186,186, 22,158, 56,113,194,205,205,205,173,224,210,165, 75, 46, 28,199, 25,174, 94,189,138, -189,123,247,246, 0,240, 85, 21, 79, 73,229, 52, 51, 51, 51,207, 40,149,202, 47, 38, 77,154, 52,233,195, 15, 63, 84, 75,146, 4, -163,209,136,162,162, 34,152, 76,166,178,198,201, 27, 55,110, 52,155,205,230, 21, 25, 25, 25, 39, 28,208, 60,206,113,220,242, 69, - 95, 46, 26,255,198,179, 35,148, 36, 63, 23, 5,153, 70, 48,166, 98,232,212, 74,180,232, 29,128,226, 92, 6,171, 14,157,182,220, -178, 88, 55,101,100,100, 28,172, 73,243, 88,170,254,247, 78,202,196,189, 31,207,138,126,108,250,234, 95, 33, 73, 18,254,122,243, - 69,228, 29,222, 11,109,243, 86,120,228,175,108, 88, 44, 22, 76,155, 50, 9,156, 33,235,200,201,212,226,159, 29,216,159,117,129, -189,230,113,252,253,238, 50, 1,192,248,115,231,206,141,138,136,136,192,184,113,227,240,212, 83, 79,149, 91,113,243,230,205, 88, -182,108, 25,204,102,243, 40, 0,177, 0,150, 58,163,217,176, 97,195,142, 45, 90,180,224,252,253,253, 13,165,102,163,247,197,139, - 23, 59, 68, 68, 68,212,164, 89,231,121, 39,132,228, 37, 38, 38,186,205,155, 55,143,177, 90,173,152, 57,115, 38,108,198,210, 22, -113,122,255,253,247,253, 93, 93, 93, 49,127,254,124, 75, 78, 78, 78,159,220,220,220,125,139, 23, 47,246,218,184,113,227,115,118, - 6,203, 94,243,102, 92, 92,156,235,242,229,203, 89, 65, 16,176, 96,193,130,219, 34, 90,239,188,243, 14,172, 86, 30,114,153,220, - 98, 54,153, 91,104, 52,154, 43,158,158,158, 26, 73,146,200, 61, 60,238, 15,181,230,249,243,231,247,160,164,106,174, 82,108,237, -232,140, 70, 35,114,114,114,144,147,147, 3,119,119,247,138, 79,219,229, 52,141, 70,227,217, 41, 83,166,196,124,243,205, 55,253, -254,252,243,207, 17,135, 15, 31, 30,176,119,239, 94, 83,114,114,178,192,243, 60,241,243,243,147,117,235,214, 77, 61, 96,192, 0, - 23,149, 74,197,190,255,254,251, 57,159,126,250,169, 23,128,220,170, 52, 9, 33,156, 36, 73,248,111,247, 66, 76,233, 37,131,217, - 92,242, 64,153,145,145,142,139, 23, 47,226,248,241,120, 48, 12,195, 58,185, 63, 23,173, 95,191, 62, 76,169, 84, 50, 27, 54,108, - 8,222,176, 97,195,132,154,118,222,218,181,107, 67, 55,108,216,176, 20,192, 99, 40,105,248, 68,203, 18,213,164, 56, 99,176, 74, -185, 40, 8, 66,191,148,148,148,110,163, 71,143,254, 44, 34, 34,194, 44, 8,130,124,247,238,221,205,114,114,114,148,130, 32, 76, -129,243,245,149,203, 77, 38, 19,134, 12, 25, 50,165, 81,163, 70,251, 98, 99, 99, 91, 63,249,228,147,187, 55,111,222,220, 77, 16, -132,171, 23, 46, 92, 24, 5, 96, 81,169,193,114,136,164,164,164,153,123,247,238,101, 78,156, 56,241,238,180,105,211, 84,222,222, -222,140,135,135, 7,140, 70, 35, 82, 83, 83,201,154, 53,107,204,102,179,249, 43,119,119,247, 15, 28,213,244,246,246,158,122,248, -244,105,101,194,149,196, 87, 94,233,255,184, 58, 56,188, 41,116, 12,160,191,149,139, 67,135, 50,177,250,228, 89, 83,142,197,250, - 3,199,113, 14,119,165, 15,188,146,221,111,207,166, 85, 59, 15,238,223,255,216,236,185,159, 51,254, 47,188, 1,151,144,134,144, - 66,155,224,208,193,131,248,244,227,153,132,211,103, 29,230,175,100, 61,126, 31,203,132,205, 1,168, 0,204,147, 36, 73, 86,250, - 52,143,183,223,126, 27,246,175,206, 89,182,108, 25,140, 70, 35, 0,200, 24,134,153, 7,224, 59, 84, 61,162,123,101,154, 65,191, -255,254,123,144,189,102, 68, 68,132,163,154,117, 74, 86, 86,214, 7,175,189,246,218, 92,185, 92,238, 46, 73,210,109,141,211, 1, -192,197,197, 5,133,133,133, 16, 69, 81,168, 87,175, 94, 60,207,243,144,201,100, 85,158, 71,197,197,197, 31,140, 29, 59,246, 19, -134, 97,170,140,116,104, 52,154,228,163, 71,143, 54,121,254,249,231,217, 77,155, 54, 93,123,238,185,231, 84,127,254,249,167,136, - 90,142,105, 68,185,251, 16, 66, 80, 92, 92, 12, 84, 63, 36, 66,202,143, 63,254, 56, 37, 38, 38, 70, 61,118,236,216,118, 47,188, -240,130, 91,175, 94,189,116,246, 11, 24,141, 70,105,219,182,109,197,203,151, 47,207, 61,124,248,240,255, 94,125,245,213,161, 0, -170, 12, 23,103,100,100,252,190,100,201, 18,247,158, 61,123,134,139,162,136,156,156,156,178, 54, 88,105,105,105, 72, 78, 78, 78, -150, 36,105,171,147,217,121,243,249,231,159,223,177,102,205,154,144,209,163, 71,167,109,220,184,113, 43,128,202,218,212,234,134, - 13, 27, 54,120,205,154, 53, 33, 99,198,140, 73, 1, 48, 1,180, 85, 57,133, 82,167, 12,225, 56,238, 79, 0, 67,156,112,184, 85, - 17, 2,224, 19,148,212,155, 22,148, 58,225,217, 0, 26,213, 86,211,223,223,191, 85,120,120,248, 15, 77,155, 54,189, 30, 16, 16, -192, 55,109,218, 52, 57, 60, 60,124, 83,131, 6, 13,162,106,171,233,231,231,215, 53, 40, 40,104,119, 96, 96, 96, 78,112,128, 63, - 9, 12, 12,188, 21, 28, 28,188, 55, 32, 32,160,103,109, 53, 59, 5,233, 6,118,106, 26, 16,223, 46,178,137, 57,188, 81, 67, 18, -213,162,137,185,115,179,160,132,142,193, 46,195,238, 96,127,222,201, 83, 72,101,168, 0, 24, 72, 41, 12,195,240,109,218,180, 89, - 30, 21, 21,181, 52, 42, 42,106,105,235,214,173, 87, 48, 12,195,219,230, 3, 48,224,239, 65, 65,239,165,230,221,200,123,165,116, -235,214,109,237,134, 13, 27,196,217,179,103, 23,116,238,220, 57,119,246,236,217, 5, 27, 54,108, 16,187,117,235,182,182,182,154, -173, 91,183, 14,233,222,189,251,173,181,107,215, 10,151, 47, 95, 38,107,215,174, 21,186,119,239,126,171,194, 72,238,247, 61,239, - 15,163,230,240,225,195, 19,137, 29, 22,139,133,100,103,103,147,132,132, 4,114,228,200, 17,242,248,227,143, 39, 58,160, 41, 3, -208, 11,192,130,192,192,192, 61, 93,187,118,189,220,189,123,247, 43,141, 26, 53,250, 83,161, 80,172, 7,240, 50, 74,222,119,232, -135,146, 97, 73,124,171,211,244,243,243,235, 18, 17, 17, 49,187,109,219,182, 91, 59,119,238,124,172, 93,187,118,199,155, 54,109, -186,189, 97,195,134,115,253,252,252, 30,169,101,222,131, 71,140, 24,113, 81,175,215,139, 61,122,244,216, 86,217, 74, 81, 81, 81, -107,244,122,189,248,194, 11, 47, 36,160,228, 61,178,180, 44, 81,205,187,161, 73,121, 88, 11,138, 51,163, 56, 63, 32,121, 31, 95, -106,114, 12, 40,255,218,154,154,230,223,107,205,123,178, 63,155, 55,111,238,249,216, 99,143,189,185,117,235,214,119,175, 94,189, -250,238,214,173, 91,223,237,219,183,239,155,205,155, 55,247,188,147,116,182,110,221, 58,164, 91,183,110, 95,117,237,218, 53,173, - 91,183,110, 95, 85, 48, 87,244, 34,126,159, 52, 7, 13, 26,180,115,196,136, 17,137, 35, 71,142,188, 50,114,228,200,196,225,195, -135, 39, 14, 29, 58, 52,113,208,160, 65,137,253,250,245, 75,236,213,171,215,206, 7, 40,239,193, 29, 58,116,248,193,213,213,245, -133,202,102, 42, 20,138,193, 93,186,116,249, 25, 64, 99, 90,150,168, 38, 53, 88,212, 96, 81,205,186,209, 84,161,250,215,213, 84, - 54,255,126,104,210,227, 78, 53,169, 38,213,164,154,212, 96,253, 99,144,209, 93, 64,169, 1,243, 29,206,191, 87,154, 20, 10,133, - 66,161,252, 99, 96,170,113,161,206,244, 14,168,141,147,189, 64, 53,169, 38,213,164,154, 84,147,106, 82,205,135, 78,179,162,246, -211, 21,166, 87, 28, 7,114, 5,181,107,117,115, 96,168, 38,213,164,154, 84,147,106, 82, 77,170,249,240,105, 86,198,232,127,171, - 1,162, 47,148,165, 80, 40, 20, 10,133, 66,161, 6,139, 66,161, 80, 40, 20, 10,229,159,141, 67,141,220, 21, 10, 69, 36, 33,228, - 85,134, 97, 26, 48, 12,115,131, 16,242,157,213,106,189,248,176,237, 44,133, 66, 17,201, 48,204,171,132,144, 6,132,144, 27, 12, -195,220,215,253, 64, 0,102,102,116,201,104,210, 31, 69,131, 48,213, 15,124, 72,161, 80, 40, 20, 10,229,126, 27,172,144,192,192, - 17, 44,199, 44,182,242,162, 39, 47, 8,236,146, 37, 75,216, 65,131, 6, 97,219,182,109,152,240,246,219, 19, 88,142,149, 20, 50, - 89, 30,145,132, 9,201,105,153, 63, 58,178,177,161, 67,135,102,241, 60, 95,229,168,214, 28,199,221,220,178,101,139,239,157,102, -202, 63,234,153, 44,222,106,173,114, 59, 50,153,252,102,230,217,159, 29,218, 78, 96,160,223, 8,142, 97, 23,243,162,228, 41,138, - 18,251,213, 87, 95,149,237,135,183,222,122,107,130, 92, 38,147, 20,114, 46, 79, 18,201,132,228,180,180, 31,239,213,129,179, 55, - 87, 0, 48, 51, 26, 12,137, 6,168,201,162, 80, 40, 20, 10,229, 31,108,176, 24, 22, 75, 55,124, 51,207, 51,247, 86, 30, 54,110, -222,141,136,136, 8, 92,186,116, 9, 17, 17, 17,232,214,177, 53,251, 68,151, 54, 44,199,194,123,198, 87,235,150, 2,112,200, 88, -240, 60,239,243,219,111,191,129, 97, 24,136,162, 8, 65, 16, 32, 8, 2,120,158, 71, 81, 81, 17, 38, 78,156,232, 83, 23,153,226, -173, 86,159,171,255,251, 21,114,142, 1, 47, 18,240, 2, 1, 47, 72,176,138, 4,133, 6, 1,189,159,124,222,225,237,176, 96,151, -126,183,120,158,103,126, 65, 1,126,221,177,167,220,126,232,221,181, 3,251,204,128, 71, 89,173, 70,225, 61,122,234,103, 14,239, -135,186,192,222, 92,149,155, 22, 77, 13, 22,133, 66,161, 80, 40,255, 88,131,101,225, 69, 79,223,122,238, 88,253,221,119,152, 50, -237, 99, 52,107,214, 12,132, 16, 48, 12,131,247, 62,156,133,133, 31, 79,195,200,254, 61,192, 11,146,103, 53,250,183,117,213,100, - 24, 6,215,175, 95,135,209,104, 44,247,137,140,140,116, 52,205, 14,117,255,148,115, 12,126,143, 45,130,149,151, 96, 21, 74, 63, -188,132, 94, 45, 93,157,210,228, 69,201,211,195, 77,135,149,223, 44,195,148, 89,243,202,237,135,169,239,125,136,175,231,126,128, -119,198,189, 4, 11, 47,122,214, 38,157, 78, 66, 53,169, 38,213,164,154, 84,147,106, 62,168,154, 15,164,193,234, 9,224,160,205, - 3,149,153, 11,139, 9, 45,130,234, 99,217,252, 79, 64,192, 66, 34, 4, 32, 0,145,120, 52,244,210,194,104, 48, 56,189, 65, 73, -146, 96,181, 90,193,243, 60, 86,172, 88, 1,189, 94, 15, 73,146, 16, 17, 17, 1, 0,136,138,138,178,143,192,164,196,198,198,134, -212,164,233,221,114, 72, 50, 8,130,237,167,125, 52,239, 91, 28,139,189, 10, 66, 0,149, 70,139,225, 47,140,129, 40, 17, 88,121, -231,223, 79,106, 50, 24,224,167,147, 99,225,167, 31,130,149, 43,192,130, 1,203, 50, 96, 25, 9,205, 2, 61, 97, 46,121, 57,241, - 61,229,163,104,144,138, 81,172,143,162, 65,162,105,153,166, 80, 40, 20,202,191,147, 74,189,200,191,221, 96, 29,172, 44, 51, 22, -147, 17,129,158, 10, 52,208,185, 67, 16, 68, 92,180,250,161,200, 96,130,213,202, 35,217,106,197,149, 51,153,120,228,145, 71,192, -243,188,104,181, 90,161, 80, 40, 10,182,108,217, 82,175, 38,131,197,243, 60,172, 86, 43,138,139,139,177,126,253,122,200,100, 50, - 72, 82,137,241, 41,121,199,111,201,119,215,174, 93,131, 29,202, 5, 65,240,149, 83,191,192, 85,205, 65,144, 8, 4,129,128, 23, - 1, 81, 34, 48, 88, 36, 12,123,237, 3, 8,146, 4, 65,146, 96,113,192, 96,217, 27, 54, 1,192,144,233, 27, 1,232,202,230,187, -169, 8,166,116,101,161, 80,170,160, 84,112, 48, 27, 13,247,252,192, 49, 0, 33,209,127, 87, 21,210, 70,238, 20, 10,133, 66,249, -151,115,240, 65, 48, 86, 21, 13,150,189,123, 60,244,183,193, 50, 64,224, 69,240,130, 8,129, 23, 80,160, 55,226,243,207, 63,135, - 74,165, 2,195, 48,101,102, 73,146, 36,150,231,121, 12, 24, 48,192,179,166, 13,138,162, 8,171,213, 10,171,213, 10, 66, 8, 56, -142, 67,167, 78,157,110, 91,238,196,137, 19, 78,101,196, 85,205,161,225, 99,211,111,155,126,242,151, 79, 64, 8,129, 40,150,124, - 28, 49, 88, 53, 25,182,182, 61,159,129,217,194,131, 16, 0,164, 36,194,117, 63, 96, 0, 98,107,115, 21, 77, 79, 76, 10,133, 66, -161, 60, 24,148,243, 34, 15,138,193, 42,231, 30,205, 70, 35,120, 94,128, 32,136,224,249, 18, 99,164,209,104,208,163, 71,143, 18, - 31, 98, 23,109,218,189,123, 55,172, 86,107,141, 27,180, 53,106, 47, 53,102, 32,132, 96,227,198,141,144,203,229,101, 31,133, 66, -225,116, 70, 4,145, 96,250,212,255, 66, 33, 99, 33,151,177,101,223, 34, 33, 32,164,196, 28,137, 18,129,153,119, 44,200, 83,157, - 97, 3, 0,139,217, 10, 16, 2, 2, 2, 99,113, 49, 61, 29, 40, 20, 10,133, 66,169, 27, 30,136, 72,150,205, 96, 61,138, 74,170, -151, 44,198,226,210,232,149, 8, 94, 16,202, 12,212,252,249,243, 33,147,201,160, 84, 42, 33,147,201,202, 12,145, 35, 6,203,100, - 50, 33, 44, 44, 12, 22,139, 5, 17, 17, 17, 32,132,224,217,103,159,189,109,185, 83,167, 78, 57,149, 17, 94, 36,152,243,217,130, -219,166, 31,253,233, 99,180,106,222, 16, 29,155,184,192,100,149, 80,104, 16,238,216,176, 1, 40,137, 96, 1, 32, 4, 48, 22, 27, -232,233, 64,161, 80, 40, 20,202,157, 81,169, 23,249,183, 27,172, 67,149,185, 69,147,193, 0,129, 23,202, 76,150,197, 98,129, 36, - 73,120,251,237,183,111, 19,218,183,111, 31, 44, 22, 75,245, 27,147,201,110,190,241,198, 27,229,134, 72, 32,132,224,151, 95,126, -129, 74,165, 42, 23,197, 98, 24,231,204, 43, 47, 18, 68,191, 63, 9, 74, 57, 87,206, 16, 73, 18,176,237,247, 63,176,237,247, 63, -202,150,229, 56,249,205, 59, 49,108, 0, 96,177,148, 70,176, 8, 65,177,190,136,158, 22, 20, 10,133, 66,161,220, 25,149,122,145, -127,187,193,170, 20,147,177, 24,188, 93, 27, 44,171,213, 10, 65, 16,176, 98,197,138,114,213,121,114,185, 28, 44,203,214, 24,193, -218,188,121,115,185,193, 61,163,162,162, 8, 33, 4,195,135, 15, 47,171,110,124,229,149, 87, 48,122,244,104,167, 13,150, 32, 18, -204,156, 61,191, 76,103,192, 99,221, 49,164,127, 79, 72,165, 94, 56,251,226, 22,167, 4,171, 51,108, 0, 96, 49,151,180,193, 34, - 0, 12, 69,180,138,144, 66,161, 80, 40, 20,138, 3, 6, 75, 46, 99, 11,174, 36,223,112,247,114, 81, 67,144,204, 16,164,146,158, -127,162, 40, 98,244,232,191, 95,110,253,220,115,207, 97,212,168, 81, 85, 25,172,150,168, 97,172, 12, 73,146,112,244,232, 81, 48, - 12, 3,150,101,203, 62,213, 80,169,102,177, 89,194,177, 31,103, 65, 34, 4, 18, 1, 36, 82,226,167, 44,130, 67,209,198,219, 52, -107, 50,108, 42,157, 7, 56,150,128, 97,128, 43,105, 89,144,113,108,129,179,121,175, 5, 84,147,106, 82, 77,170, 73, 53,169,230, -131,170,249,112, 24, 44, 34,146, 9,203,183,159, 88,204,139,146,187,109, 90,139, 22, 45, 96,181, 90,177,107,215,174, 50,227,193, -113, 92, 89,149,158, 35,109,176, 42,144,210,163, 71,143,234,134, 98, 72,113, 72,133, 65, 74,251, 94, 35,130,171,155,239,108,194, -106, 50,108,171, 14,255,253, 10, 66, 25,203, 22,128,144, 9,180, 56, 81, 40, 20, 10,133, 66,169,214, 96,165,102,100,172, 3,176, -206,126, 90,155, 54,109,244,131, 7, 15,214, 8,130, 0,139,197, 2,171,213, 10,139,197, 82,246, 81,169, 84, 78,141,184,233,200, - 32,162,142,144,125, 97, 75, 72,157,238, 21, 7, 12, 91,102,102,102, 8, 45, 62, 20, 10,133, 66,161, 80,156, 50, 88,149, 97, 48, - 24, 60, 24,134,145,101,100,100,220, 54,239,198,141, 27, 64,201,184,156,255,122,234,220,176, 81, 40, 20, 10,133, 66,161, 6,171, - 42, 14, 29, 58, 36, 60, 40, 38,138, 66,161, 80, 40, 20, 10,229,110,193,210, 93, 64,161, 80, 40, 20, 10,133, 82,183, 48, 40,233, - 9, 80, 25,206,244, 14,104, 89,139,109, 95,160,154, 84,147,106, 82, 77,170, 73, 53,169,230, 67,167, 89,147,182,253,250,163, 1, -172,160,118,173,110, 14, 12,213,164,154, 84,147,106, 82, 77,170, 73, 53, 31, 62,205,202, 24,253,111, 53, 64,180,138,208, 25,162, - 70,203,233, 78,160, 80, 40, 20, 10,133, 82, 19,178,123,181,161,232,232,104,246, 14,215,151,238,219, 94, 10, 24,214,152,147,225, -243,214,193, 1,253,207,228, 14,221, 65, 68,102, 42,210,127,189, 66,139, 79,237,104,227, 2, 47,158,145, 15,244,212,169,135, 4, -187,202, 58, 39,230, 24,254, 52, 88,165,109,132,225,183,196, 21, 33,143,238, 33, 10,133, 82,233,165, 56, 32,192,243,216,177, 99, -193, 93,187,118, 77, 73, 79, 79,207,115,116, 94, 85,248,134,181, 27,229,170,211,190,105, 50,155, 27,186,187,185,221,188,149,155, -187, 60,243,218,153, 37,182,249, 13, 27, 54,116,219,176, 97,131,255,115,207, 61,151,113,253,250,245, 66,122, 4, 40,247,212, 96, -181,111,223,190,161, 36, 73, 47, 1,120,129, 16,114,246,204,153, 51, 79,215, 70,103,223,190,125, 1, 60,207,119, 16, 4, 33, 10, - 64,148, 70,171,107, 99, 54,155,110, 50, 32, 47,247,239,223,255,140,179,122, 81, 81, 81,191, 3, 24, 80,217, 60,134, 97,102,198, -196,196, 68, 59,170,197,201,240,249, 31, 91, 86, 13,201, 52,104,112, 40, 38,249,169,239,190,152, 6, 0, 67,255,137, 7,212,207, -207, 79, 3,224,101,150,101,251,168, 84,170,112,147,201,148, 4,224, 60,195, 48, 75,211,211,211, 51,106, 41,203, 70,234,228,175, -105, 53,218,126,126,174,202,168,244,188,194,116,147, 85, 58, 34, 49,214,121,206, 26,162, 70,128,210,167,158,199,161,119,135,117, -139,104,221,162, 9,164,228,179, 48,229,103, 15,142, 73, 55, 12,254,230,228,205,255, 90,138, 12, 81, 87, 1,139, 35, 90,129,129, -129,126,162, 40,202, 50, 51, 51, 83,109, 23, 67,179,217,220, 30, 64, 4,128,191, 84, 42,213,233, 59,189, 40,254, 91, 52, 3, 2, - 2,252, 37, 73,122,221,215,215,247,201,172,172,172,223, 89,150, 93,117, 7,199,155,242,144, 16,210,233,197, 5, 12,203,120, 57, -179, 14,145, 72, 78,242,201,117,255,189,151,233, 36,164,100,164,231,128,128,128, 87,130,131,131,155, 16, 66, 18, 8, 33, 95, 86, - 56, 7,110,155,199, 48, 76,149,175,242, 8,105,209,101,243, 27, 47, 61,215,123,226,184, 87,116, 90,173, 6, 6,163,169,254,210, -149,223,127,177,116,229,250, 1, 73,151,142,245, 7, 0,127,127,255,161, 65, 65, 65,161, 22,139,229, 58, 33,228,251,154, 52, 41, -148, 59, 54, 88,205,155, 55,119, 81, 42,149,195, 89,150,125,185, 85, 84,231,110,131,159,121,153,225, 25, 45, 62,157,244,156,211, - 67, 56,196,198,198,170, 50, 51, 51, 63,110,216,172,221,127, 30,237, 59,132,109, 30,209, 12, 94,245, 61, 33,177, 74,172,217,117, -185,254,193,111, 94, 89, 2,160, 75, 45,146, 57,224,199, 29, 39,145,153, 47,130, 97, 0,134, 1, 88, 6,208,155, 36,188,247,106, -183,143, 0, 56,102,176,162, 70,203, 35, 26,248,244,191,124, 75,141, 93, 23,120, 0,254,208,122,250,246, 55,120,143,150, 35,118, - 5,255, 79, 58,152, 13, 26, 52,136,170, 87,175,222,215,175,188,242,138,103,120,120,184,159, 82,169,212,154, 76,166, 38,201,201, -201, 13, 23, 46, 92,248,120,131, 6, 13,230,222,184,113,227, 87,103, 52,155,185,171,130, 67, 27,248,254, 56,117,220, 75, 29,195, -195,130, 32,179, 20,131,152,245, 65,201,215,175,118,153,189,234,215, 55, 24,198,244,236,165, 66, 97,175,163,122,106, 87,197,251, -239,141,126, 54,162,177, 43,129,229,210, 81,200, 56, 2,181,171, 39, 58, 6,115, 96, 64,154, 71,239,207,120, 15, 69,214,143, 28, - 48,146,179, 68, 81,124, 15, 0,211,160, 65,131, 31,229,114,249,169,246,237,219, 55, 27, 57,114, 36,211,170, 85, 43,156, 57,115, -166,249,182,109,219,158, 22, 4, 33,222, 98,177,156,172, 95,191,254,217,184,184, 56,171,131,229, 91,145,155,155,219, 70,169, 84, -118,250, 39,107,250,249,249,105, 44, 22,203, 75,129,129,129,163, 31,121,228,145, 86,131, 6, 13, 98,154, 54,109,138,248,248,248, -118, 59,119,238,252,232,200,145, 35,231,211,210,210, 86, 40,149,202,239, 51, 51, 51, 29, 26, 4,120,120, 31,196,255,188, 15,205, -106, 59,191, 2, 30, 0,212, 0, 50, 29, 9, 38, 0,208, 2,184,118, 31, 52,239, 70,164, 37,142, 97,152,122,165, 55,100,219,131, - 93,185,223,246,223,162, 40, 22,167,164,164, 52,170, 78, 51, 40, 40,168,185, 36, 73,156,253, 52,185,188,234, 86, 11,130, 32, 72, -105,105,105,151,170,211,100, 88,198,107,197,215, 11,220,101, 44, 32,146,210, 15, 79, 32, 18, 2, 73, 2, 68, 9, 16, 37, 9,130, - 72, 32, 4,150,212,198, 0, 0, 32, 0, 73, 68, 65, 84, 17, 9,188, 64, 48,243,163,247,238,231,101,238, 73, 0, 61, 0, 28, 6, -176,168,154,121, 95, 86, 39,226,221,168,205,139, 47, 61, 59,188,215,123,147,222,212, 17, 66, 64, 8,129, 70,173,194,228,137, 99, -149, 38,147,165,171, 95,147,246,163, 51, 19, 79,175,100, 24,166, 23,128,246, 0, 78, 3,248,158, 90, 6,202,221, 50, 88, 76,187, -118,237,122, 16, 66, 94,110,224, 31, 56,124,216,243, 99, 52,161, 77, 90, 66, 47,185,225,122,142,132,216, 3, 27, 0, 96,147, 51, - 27,223,189,123,119,123, 66,176,122,220,180, 5,205, 90,183,237,128, 11,233, 2,142,165,138, 40,190, 34, 66,198, 25, 33, 73, 0, - 33,196, 92,219,204,165,229, 9, 56, 18,111, 1,199, 2, 44, 11,112, 44, 3,206,217,247,116,199,174,224, 47, 5, 15,221,241,199, -169,244,167,160,246,133, 33, 47, 29,134,188,172,157, 72,219,252,143, 50, 87,254,254,254,189, 67, 67, 67,191,156, 56,113, 98,131, -204,204,204,122, 39, 79,158,132, 74,165,130,167,167,167,204,203,203,171,217,180,105,211, 10,102,207,158, 61,217,199,199,231,204, -205,155, 55,147, 28, 50, 5, 46,138,136,238,173, 34,254,156, 49, 43,218,221, 28,179, 19,249, 63,255, 12,142,149,160,112,209,193, - 79,163,197,162, 39, 67,235, 77,219,157,250, 43,107,181, 68, 92, 48,153,210, 29,209, 12,242,169,215,183,113,120, 83,228,111, 95, -138,196,124, 51,142,103,153, 49,184,103,123, 52,246,212,160,173, 32,162,190, 90,214,187, 38,131, 21, 16, 16,224, 41, 73,210,212, -164,164, 36, 86,161, 80, 48, 13, 27, 54,124,118,197,138, 21,164,121,243,230,101,111,221,238,210,165, 11,186,116,233,194,232,245, -250,136, 99,199,142, 69,108,222,188,153, 47, 40, 40,136,201,200,200, 88, 83,117,100, 41, 44,197,108, 54, 5,153,204, 22,211,194, -133, 11,127,232,220,185,179,164, 84, 42,113, 39,154,165,198,119,189, 86,171,213,206,152, 49, 35,167, 67,135, 14,164, 46, 52, 67, - 67, 67,255,232,216,177, 99,175,190,125,251,202,186,118,237, 10,127,127,255,178,121, 94, 94, 94,232,222,189, 59,147,154,154,218, -250,200,145, 35, 75,255,248,227,143,197,103,206,156, 57,144,148,148,212,215,129, 67,212,244, 14,231,151, 11,254, 2,152, 3, 96, - 37,128, 99,213, 61,198, 0,120, 14,192,231,247, 73,179,250,135, 2,181, 58,203,100, 50,249,148,254,190,105, 50,153,124,107,188, - 88, 50,140,110,225,194,133, 62, 10,133, 2, 44,203, 66, 20, 69,136,162, 8, 73,146, 64, 8, 41,251,182,189,114,108,214,172, 89, - 98, 77,154,146, 36,177, 11, 22, 44,144,107, 52, 26, 0, 0,207,243,229,190,109,216,254,207,154, 53,203,161,107,148, 70,201,225, -195, 73,163, 59,178,162, 69, 93,237,246, 57,165,233,181,201, 95,158,186, 15,102,213, 51, 32, 32,224, 37, 0,131, 0,216,206,241, - 86, 1, 1, 1,251, 43, 44,218,170,244,187, 56, 32, 32,224, 0,128,223, 3, 2, 2, 86, 87, 86, 93,232,238,226, 58,246,221,183, - 95,119, 37,132, 96,230,207, 57,152,249, 75, 14, 62, 28, 90, 15,147, 7,104,241,234, 11, 79,187,172, 94,247,211,152,210, 50,102, - 35, 1, 37,189,238,105,244,138, 82,247, 6,171,109,219,182, 59,250, 15, 29,213,175,115,143,190, 16, 20, 62,136,191,201, 32,245, - 58,129,140, 19,192, 66,194,181,255,109, 33, 44,203, 86,116,248, 85,118,213,220,177, 99,199,127,131, 27,183,153,251, 94,244, 28, -238, 66,150, 18,171,143, 24, 33,154, 11, 96,204,185,130,226,155,151, 81,116, 35, 14,249,233, 23,206,179, 44, 27,237,168,230,237, - 97,101, 64, 34, 4, 12, 97, 0, 9, 37,231, 6, 91,169,195,170, 86,147,136,204,212,152, 63, 86, 63,213,118,200,116, 92, 62,178, - 14, 32,236, 84, 7, 54,127, 55, 94,130,121,161,138, 72,198,227, 33, 33, 33,243,198,140, 25, 19,120,238,220, 57, 55,131,193, 80, -124,234,212,169, 67,153,153,153,190, 94, 94, 94,169, 35, 71,142,124,196,199,199,199,167, 71,143, 30,218,221,187,119,191, 15,224, -245,154, 52, 35,181,138,200,174, 29, 90, 30,255,100,222,124,151,156, 95, 23,195,114,253, 28,142,103,153,112, 46,219, 72, 2,220, - 10,152, 17, 45, 61,225,162,148, 97,116, 39, 31,221,127,182, 37,125, 6, 19,158,119, 36,239, 13, 3,124, 27,241, 70, 35, 76, 70, - 43,118, 92, 46, 48, 30,207, 43,240, 97, 93,211,178, 39, 63,213, 94,205,229,100,160,129,171,188, 9,110, 58,183, 63, 25,134,129, - 86,171,173,116,158,187,187, 59,186,116,233,130, 70,141, 26,201,159,123,238,185,206, 0,214, 84,165,105,181, 90,253,210,211, 51, - 16,222, 52, 92,213,167, 79, 31,134,227, 56, 88, 44,150, 59,210, 4, 0, 23, 23,151, 65, 81, 81, 81,178,181,107,215,230, 39, 37, - 37, 93, 28, 54,108, 88,186, 86,171, 45,119, 67,213,106,181, 8, 14, 14,198,248,241,227,229,111,188,241, 70,141,154,190,190,190, -143,175, 91,183, 14, 12,195,148,221,188, 43, 18, 18, 18,130, 6, 13, 26, 96,192,128, 1,178,167,159,126,250,241,164,164,164, 42, -247,231,240, 62,136,183,153,167,225,125,170,191,137,148,206, 79,168, 36,146, 85, 49,157,185, 0,150, 3,248, 13,192,240, 42, 12, - 81, 87, 0, 63, 3,232, 15, 84,122,228,171,212, 84, 40, 20, 10,171,213,234, 89,137,241,113, 86,179,236, 84,143,137,137, 65,187, -118,237, 80,241,219,102,132, 24,134,241,113,244,220,228, 56, 14,203,150, 45, 3,203,178, 80, 40, 20,144,203,229, 80, 40, 20,183, -125,218,182,109,235,240,249, 46,151,203,177,108,217, 50,136,162,200, 38, 37, 37,189, 44,138,226, 16,147,201,228,163,209,104,178, - 21, 10,197,246,158, 61,123,126,167, 82,169, 4,103, 52, 89, 14, 96, 69,139,122,239,238,173, 46, 85,173,100, 54,155, 49,112,200, - 8,176, 12,123,207,175,117,199,142, 29, 11, 14, 14, 14,110, 90, 26,157, 2,128,195,233,233,233, 61,236,254,219,115, 56, 61, 61, -221,214, 52, 36, 49, 37, 37, 37, 56, 36, 36, 36,175,162,166,197, 98,109,168,211,185,128, 16,130,153,191,228,192,180, 54, 12,234, - 81,215,240,106, 39, 51, 92, 93, 93, 33, 8, 66,179,128,128,128,239, 1,132,151, 70,175, 6, 7, 4, 4, 52, 37,132, 28,104,216, -176,225,111,118, 85,250,247,236, 58,255,144,104, 86,115, 63, 39, 29, 0,120,219, 77,178, 0,176, 61,173,230,148, 26,224,250, 21, -166,219, 47,103,251,206,182, 5, 50, 75,215, 35,118,186,217, 12,195,252,175,174, 13, 22,177,115,231, 85,197,120,220,210,140, 30, -208, 95,247,130,140,149, 32,227, 24,200, 56, 0, 96,144,155, 22, 7, 75,113,238,209,152,152,152,235,142,108,116,215,174, 93, 93, - 66,155,119,252, 44,250,147, 47,216,239, 14, 27, 81, 96, 48, 33,231,210, 86,100,158,250, 54, 83, 18,172, 91, 89,150, 61,205,178, -108,108, 84,235, 86,241,126,126,126, 98,109, 51, 39,145,146, 16,119,153,177,146, 0,166, 54, 15, 32,233,191, 94, 65,216,251,229, -255,255, 67, 8, 8, 8,232, 31, 22, 22, 54,103,204,152, 49, 33,177,177,177,174, 69, 69, 69,217,123,247,238,141,183, 90,173,103, - 88,150, 93,148,145,145,209,115,221,186,117,218, 41, 83,166,244,109,218,180,105,211, 63,254,248,195, 80, 99,228, 74, 43,111,253, -194,139, 35,142, 15, 25, 61, 65,125,241,151, 37, 80,197,199, 98,197,165, 60,241,116,150,241,125,147, 94,248, 82,163,149,117,205, - 55, 9,123,222,237,238,199,250,185,202, 17,228,174,120,244, 92,145, 99, 47,250, 86,202, 85, 50, 34, 83,195, 98, 22, 80,108,145, - 44,113, 57, 40,126, 92, 16,173,196,197, 75, 13, 0, 50,142,173,209,244,167,167,167,231,249,249,249,125, 22, 26, 26,250, 1,195, - 48,164, 71,143, 30,151,218,181,107, 87, 44, 73, 18,140, 70, 35,172, 86, 43,228,114, 57,140, 70, 35,146,147,147,113,242,228, 73, -184,187,187, 59,181, 95,243,243,243, 17, 26, 26, 10,173, 86,123,199,154,146, 36, 49, 75,151, 46, 85, 95,188,120, 81,253,219,111, -191,213,251,239,127,255, 91,208,182,109,219,184,167,158,122, 42,181, 94,189,122,214,179,103,207,226,248,241,227,200,203,203, 67, -199,142, 29, 29,210,180, 90,173,144,201,100, 48, 26,141, 80,169, 84,144,201,100, 16, 4, 1,146, 36,149,153, 46,189, 94,143, 91, -183,110, 65, 46,151,215,248, 34,118,155, 89, 26,222, 7,228,167,159,255,188, 89, 82, 55, 84,200,195, 90,192, 67, 40,224,193, 23, -240,224,243,249,103, 38,206,111,253,243, 62, 56, 19, 7, 62, 81,106,174,126,174,196,100,117,181,155,126,214, 89, 77,171,213,122, -212,102,124,212,106,181,143, 45,186,160, 82,169,120,179,217,220,203, 73, 77,196,196,196, 32, 42, 42,138, 43,213, 36,132, 16, 91, -123, 27,167, 47, 26, 12,195,128,227, 56,200,229,114,112, 28,135,168,168, 40, 12, 26, 52, 8, 77,155, 54, 69, 90, 90, 26, 14, 30, - 60,136,203,151, 47, 67,161, 80,148,171, 58,172, 9,185, 92, 14,150,101,217,132,132,132,239,250,244,233,211,120,194,132, 9,202, -224,224, 96,196,199,199, 55, 88,186,116,233,168,125,251,246,245, 28, 58,116,232, 40, 0, 66,117,213,135,229,140, 96,169,105, 50, -155,205,136,139,139,171,126, 89,167,171, 0,238,156,174, 93,187,166, 16, 66, 18, 81, 82,245,215, 42, 61, 61,189, 71, 64, 64,192, - 14, 0, 21, 13, 97,113,122,122,250,128,128,128,128, 2, 0,231, 1, 36, 48, 12,147, 82,153,166,135,187, 91,182, 94, 95,236,235, -226,162,197,251, 67, 60,160, 30,117, 13,111,247,226,192,243, 60,174, 94,189,142,134,161,129,204,166,213, 91,108, 85,131,237, 79, -159, 62, 13,148, 84, 21, 38,165,166,166,250,119,234,212,137, 54,120,191, 75, 62,170, 26, 47,226,205, 48,204,118, 59,195, 53,208, -246,127,218,180,105,239,205,153, 51,231, 34,195, 48,219,237,167,219, 47,103,255, 93,122,142,110, 39,132, 12,156, 62,125,122,228, -220,185,115,103,219,150,189, 47, 17, 44,142,227,134, 93,216,245,229,137, 38, 86, 18,226, 27,249,100,185,253,144,124,118, 23, 36, - 73, 90,227,136,206,241,227,199,213,130,132,239,166,188, 55,139,253,230,128, 17, 89, 55, 50,144,113,232,115, 24,111,198,173,214, -104, 52,239,246,233, 55,240,142, 11,110, 84, 84, 84,164, 71,253, 6, 48, 91, 73,169,193, 42,111,178, 30, 20,252,252,252, 6,133, -133,133,205,218,186,117,107,136,209,104,116, 61,118,236, 88,254,158, 61,123, 18,173, 86,235,170, 27, 55,110,172, 47, 93,108,171, - 76, 38,251,152, 16, 2,157, 78, 39,227, 56, 78, 83, 93,168, 59,210, 77, 30,245,210, 11, 47, 28,253,239,162,149,234,196, 11,103, -177,120,211, 14,168,136, 85,188,148,107,121,234,162, 94, 40, 41,180, 6, 97,127, 64,142, 49,157, 16, 4,201, 89, 6,245,180,242, - 6,157, 1,245, 9,192, 84, 83,154,189,130, 66, 88, 33, 32, 12, 71, 12,102,232,220, 20, 74, 0, 8, 8,111,193,157, 45, 20,112, -236,212, 95, 80,171, 61, 21,142,228, 61, 51, 51,115,134,191,191,127,232,158, 61,123, 88,131,193, 80,124,238,220, 57,212,175, 95, - 31, 62, 62, 62,112,115,115, 67,124,124, 60,246,238,221,139,132,132, 4, 16, 66,170,139, 18, 84, 74, 86, 86, 22, 10, 11, 11,235, - 68, 83, 16, 4, 6, 0, 34, 35, 35, 17, 25, 25,169, 76, 79, 79,247,217,190,125,187,231,236,217,179,111,248,249,249,237, 54, 26, -255,110, 30, 85,177,186,167,186,136, 2, 0,152, 76, 38,152,205,102, 40, 20, 10,168,213,106, 40, 20, 10, 20, 22, 22, 34, 43, 43, - 11, 69, 69, 69, 37, 55, 19, 15,143,178,229, 29, 66,148,128, 19,221, 78,223,238,230, 95,246,169,101, 81, 61, 86,106,162,246, 3, -176, 29,223, 44, 91, 64, 12,213, 87,245, 85,167, 89,110,127,216, 69,153,228,181,209,180, 69,170, 24,134, 41,119,149, 80,171,213, - 55,109,145,171,210, 72, 89,141, 90,182,106, 65,165, 82,137,200,200, 72,188,251,238,187,136,143,143,199,209,163, 71,225,227,227, -131, 39,158,120, 2, 50,153, 12,169,169,169, 96, 89,214, 33,131,165, 80, 40,192,243, 60, 18, 19, 19, 95,238,221,187,119,216,226, -197,139,149, 73, 73, 73,136,143,143,135,155,155, 27, 62,254,248, 99,213,212,169, 83, 3,119,239,222,253, 70,155, 54,109,150, 57, -124,109,103, 74,170,255, 6, 14, 25, 81,137, 17,113,145,175, 93,243,173,210,102,188,216,251, 48,176, 79,122,122,122, 30, 33,100, - 1,128,133,165,213,130, 61, 0,184,164,167,167,247,178,187, 9,147,210,106, 65, 0, 56,159,158,158,222, 27, 0,169,170, 65,122, -230,205,204,229,159, 47,250,102,225,204,247,222, 81, 78, 30,160,197,171,157,204, 16, 69, 17, 28,199, 97,241,242,213,252,229,184, - 11,231,218,183,111,191, 29,192,224,211,167, 79,163,125,251,246, 69, 0, 46, 3,184,174, 84, 42,105,231,145,251,233,192, 42,152, - 32,155,113,154, 51,103,206,192,202, 76, 85, 37, 15, 63,229,166,207,157, 59,119,182,221,255, 58,237,197, 46,171,224, 28,171,123, - 10,247,243,240, 14,168, 55,230,249, 39,176,249,156,237,133,132, 4, 86,179, 1, 55,226, 15, 24, 44, 22,203,207,142,108, 48, 55, - 55,247,227, 87,223,157,223,248,116,138, 12,153,121, 6,100,236,155, 69,172,249, 73,195, 7, 13, 26,180,185, 46, 50, 20, 21, 21, - 21,233,233,229,127,240,131,207, 86, 98,127,162, 5, 18, 1, 24,130,191,141,213, 3, 50,242,151,191,191,127, 19, 15, 15,143, 47, -182,108,217,226,163, 84, 42, 93,207,159, 63, 47, 30, 58,116, 40,131,231,249,165, 55,110,220,216,104,183,220, 11, 45, 91,182,228, - 93, 92, 92,144,153,153,105,226,121, 94, 95,213,177,110,161, 86, 7, 70,181,138, 56,252,223, 69, 43,213, 38,139, 5, 5, 70, 51, -188,253,252,196,163,231,227,158,138,211,139,101, 79, 4,205,117,178, 71,218,135, 7, 4,176, 26, 87,192, 80,136,244, 66, 75,134, - 35,230, 10, 0, 92, 92, 61,216,192,246,143,162,253,196,175,112, 41,250,125, 2,228,194,195,215,159,237, 53,254, 83,232,218, 13, -194,178, 9, 47, 75,127, 71,112,107,196, 24, 30, 30,142, 51,103,206,216,202, 22,114,115,115, 17, 22, 22,134,197,139, 23,151, 91, -208,145,155, 98, 21,229,245,142, 53, 37, 73, 98, 42, 68, 29, 49,110,220, 56,249,206,157, 59, 93,236,205,149, 51,154, 22,139,165, -204, 80, 16, 66, 96,177, 88, 96,177, 88,224,226,226,130,196,196,196,242,126, 73, 20, 43,173,234,172, 58,193, 5,149,135,187,248, -220, 59,105,119,120, 12,128,194,206, 4,249, 2,232, 86, 75,115,117,155,241,169, 11, 98, 98, 98, 42,189, 14,218,170, 30, 99, 98, - 98, 72,187,118,237,124, 29,213, 35,132, 64,169, 84, 98,240,224,193,248,235,175,191,144,145,145, 1, 87, 87, 87,152,205,102,152, -205,102, 68, 69, 69, 33, 43, 43,203,225,232,149,157,110,255,183,223,126, 91,125,253,250,117,220,186,117, 11,106,181, 26,130, 32, - 64, 20, 69,188,241,198, 27,234,241,227,199,247, 3,224,184,193,226, 24, 60,246,242,103,149,182,173,218,255,237,127,122,170, 84, -170,178,234, 22,142,253, 71, 93, 64,237, 31, 20,157,218,137,217,215, 47, 44, 91,183,241,183,199, 5,171,181,215,107, 47,141,112, -213,185,104,113,245, 90, 18,150,173, 90,203,239, 63,114,106,127, 86, 90, 98,127, 0, 76, 64, 64, 64,211,210,200,213,229,244,244, -244,151,170, 51,109,148, 58,141, 98, 85,100, 52, 74, 59,182, 84,101,156,156, 49,104,246, 17, 46, 27,211,167, 79,143,156, 51,103, - 78,157,182, 49,148, 85, 81, 88, 43,154,150,182, 30, 94, 1, 7,166,207, 94,169,251,237, 28,135,188,204, 4,152,110, 38, 32, 40, -106, 8,178, 18,142,129,136,252,175,113,113,113,197, 53,109,108,247,238,221,225, 65, 77,219, 79,108,211,174, 19, 62,255, 93, 15, -253,165,141,176,228, 93, 95, 54,112,224,192,186, 51, 87,245,253, 14,190, 55,119,101,189,109, 23,229,200,205, 72, 64,252,150,169, - 16,173,183,213,138,237,112, 70,183, 39, 32, 19, 60,173,120,188, 57,131,155,127, 26,144,217, 19, 50, 28,186,191, 47,189,206,200, -200, 72,244,240,240,248,126,229,202,149, 99, 91,183,110,173,157, 56,113,226,229,194,194,194, 79, 50, 51, 51,127,180, 51, 87,189, -195,194,194, 38,205,154, 53,171,113,114,114, 50, 14, 31, 62,156,200,113, 92,149,245,203,151, 76,166, 52,246,252,165,165, 71,127, - 88, 53,153, 13, 14,199,166, 89, 83,132, 63, 47,196, 13,142,211,139, 59,203,204,149,139, 34,162, 75,100,163,237,111, 78, 24,195, -138,103,119, 33, 62,249, 38, 50,245,252, 62,135,159, 70,139, 12,188, 92,165,129,174, 65, 40,146,141,146,194,223,223,255,100, 90, -190,241,255,236,157,119, 84, 20,215,223,198,159,153,237,187,176, 75, 93, 96,169,162, 2, 82, 5, 4,172,216,162,177,196, 22,147, - 88,163,198,196,104,138,198,168,137, 53,118,209, 24,141, 53,197,216, 73, 20,219, 27, 19,107,140,138, 88,176, 3,118, 68, 68,250, -210, 59, 44,108,155,251,254, 1,248, 67, 66, 89, 74, 98,202,124,206,217,179,187, 51,179,207,222,153,185,115,239, 51,223, 91,134, - 79,115,184,160,185,124, 36,228, 87, 52,169, 18,103,152, 63,134, 36,107,155, 22, 0,141, 54,145, 53,234,228, 90,160, 89, 29,193, -250,131, 95,209,106,169,230,106,214, 52, 88,181,205, 84, 93,199,168, 73, 6, 75, 83, 84,247, 57, 80,231,182,198,192,142,234,132, - 8, 90, 98,174,170,141, 79,117, 7,116,161, 80,248,220,168, 24, 26,101,170, 47,130,213,208,122,131,107,126,138, 2,195, 48,224, -241,120,112,113,113,193,213,171, 87, 33,147,201, 96,108,108, 12,137, 68, 2,161, 80, 8,153, 76, 6,129, 64, 0,154,166, 65, 27, -104, 92,180, 90, 45,212,106,181,141,189,189, 61,158, 60,121, 2,145, 72,244,252, 37, 16, 8,224,230,230,134,146,146,146, 38,153, -206,166,152, 38,206,191,104,106,234,164,135,145,175,219,184, 6, 77, 56,240,127,199, 63,172,168, 80,123,119,112,107,143, 71,247, -162,238,100,166,198, 15, 98, 61,206,223,198, 56, 87,243, 3, 42, 71,137,182, 74, 51, 94, 93, 38,107,205,154, 53, 33, 53,163, 96, -173,109,176,208,144,185,154,187,234, 7,217,161, 40, 26, 5,202, 88, 36,157, 94, 80,172,215,148,229, 51,140,214, 41,255,233,101, -224,197, 14,185, 13, 85,134,129,221,250, 14,167, 47, 60, 82, 67, 83,156,142,162,251, 7, 18,133, 66,225,188,214, 52, 87,243, 86, -111, 55,255,249, 14, 23,121,233,143,241,244,228,252, 66,189,166,172,111, 84, 84, 84,147,231,209,122, 31,224,253, 0,104,135,201, -229, 35,100, 66,122,237,228,145, 82,244,236, 39,134,140, 47,195,242,175,232, 71,165,221,152, 57, 89,145, 56, 6,127,240, 16,133, -151, 50,162,240,193,131, 7,171,182,111,223, 78,235,116,186,201, 26,141,102,169, 82,169,124, 30, 69, 84, 40, 20,253, 29, 29, 29, -215,174, 88,177,194, 62, 49, 49, 81,112,237,218,181,188,232,232,104, 70,175,215,175,105, 72,243, 94,145,250,243,143, 63,158,206, -105,239, 96, 59, 61, 62, 53,117,216,253, 98,253,233,234,117, 94, 18,190, 87, 55, 95,247, 43, 43,150,205,151,106,174, 29, 65,105, - 70, 42,182, 94,203, 40, 98,244,218,249, 6, 70,221,204, 47,159, 63,135,249, 83, 38, 49,197,197,197,144, 8,248, 76,106,236, 83, -206,132,126, 61,245, 95,206,157, 77,103,100,100,160,172,180,148, 99,107,107,107,158,158,158,158,103,136,102, 93,134,162,174,202, -181, 73, 6,163,238,202,188,217,154,181, 35, 88, 13, 25, 44, 67, 53,107, 54,137, 53,118, 60,244,122,125,211,154, 8,117,245, 24, - 44, 77,182,166,133, 89, 54,153,162, 40,199,234,207,173,113, 13,148,151,151, 91,213,136,138, 1, 0,213,220,104,101, 85, 4,171, -193,245, 77, 49, 89,213, 17,172,248,248,120,200,229,114,232,116, 58, 24, 25, 25, 65, 44, 22, 67, 44, 22, 67,165, 82, 65, 32, 16, -128,195,225, 52, 41,157, 66,161, 48, 35, 54, 54,214,201,204,204, 12,122,189,254, 5,147,245,236,217, 51,152,152,152,100, 25,218, -255,170, 50,130, 5,156,221, 51,183,206, 81,132,166, 38, 70, 47, 8,113, 40, 10,127, 35,106,246,211,105, 86, 84, 41, 35,238,198, -143, 0,126,180,179,179,219,187,111,199,137,128,128,128,128, 19, 45,213,100,249,147,221, 87,149, 49,170,217,151,106,222,188,121, -205,158, 59,100,222,188,121, 11,234,138,104,181,166,193,162,106,189,255,207, 92, 89,216,134,207, 89,177, 77,182,239, 22,141, 66, -229, 35,164,159, 93, 84,200,104,202,250,210, 52,173, 76,137,252,225, 48,128,178,168,168,168, 8, 3, 43, 67,255, 14,174,174, 56, -116, 95,135,242,140, 59,160, 41,178,167, 95,191,126,101, 45,221,137,106,115,245,121,200, 15,230,135,162,185,200,175, 52,129,133, - 76, 51,204,213, 88,129,160, 61,143,166,215, 58,248,186,191, 54, 58, 33,185,164, 79, 59,145,233,224,246, 66,112,174, 29,197, 49, -219, 44,228, 89,158,199, 7, 27,236,218, 71,254, 82,244,107,148,176, 52,207,215,199, 91,118,203,232,222, 9, 45,209,127,158,115, - 9,127,121,231,247,248,248,248, 21,214,214,214, 63,103,102,102, 62,239,157,106,103,103, 55,200,209,209, 49,100,249,242,229,109, - 82, 82, 82,164, 49, 49, 49, 69,135, 15, 31,126, 70,211,244,242,140,140,140,172,198, 52,239,151,104,103,147,100,229,142, 7,165, -250,216,231,145, 43, 9,175,227,132, 9,163,175,246, 27,243,142, 40,225,194, 94,152,167, 62,192,198, 27, 89,250,212,194,242,177, -177, 42,100, 24, 98,174, 4, 2,193,161,205, 71,142, 60,241,246,246,166,202,202,202,160,213,106,145,157,157,141,175,126, 58,116, -159, 97, 24,152,153,153,225,220,185,115,204, 39,159,124,114,200,214,214,246, 45, 67, 76, 22,195, 48,207, 43,171,250,162, 64, 98, -177,184,105, 6,163,234, 55, 53, 13, 76, 75, 52,235, 51, 88,181, 35, 91, 77,212,172,188,128,171, 58,183,215, 23,209,227,112, 56, - 96, 24,166,206, 72, 95,253, 97,146,130,122, 12, 86, 86, 75,111, 36,156,208,240, 64,154,151,134, 72, 36,202,172, 50, 79, 76,125, - 83, 49, 52, 53,130, 5, 0, 2,129, 0,145,145,145, 24, 56,112, 32, 24,134,129, 80, 40,132, 88, 44,134, 72, 36,194,141, 27, 55, -192,231,243,193,225,112,154,212, 76,200,227,241, 78,109,221,186,117,210,154, 53,107,196, 12,195, 64, 32, 16, 64, 44, 22, 67, 40, - 20,226,235,175,191, 86, 9, 4,130,211, 77, 50, 88,104,124, 20, 97, 77, 51,246, 87, 83,107,154,134,218, 83, 49,212,164,246, 20, - 14,245, 78,211, 96,107,107,107,110,111,111,255, 30, 33,196,179,106,209, 11,163, 5,107,108, 90, 93,176,184,218,217,217,237,173, - 99, 20, 33, 75,235, 71,175, 80, 79, 25,145, 93, 43,122,165,174,241, 61, 27, 0, 85,245, 61,187,134, 1,171,249, 89, 93,199,178, -220,213,171, 87,135,215,136, 92,101,183,230,206,212, 27,193,242,245,245,117, 55,181,176, 13,159,181, 98,155,108,239,117, 14, 10, -149, 15,145, 19,254, 69, 33,209,169,106,154,150, 30, 77,252, 63, 63, 43, 43, 11,228, 68,150, 67,155,255, 4, 20, 69, 69,181,116, - 7, 2, 3, 3, 93,164, 38,242, 11,115, 86,254, 96,190,255, 54, 23, 5,233,255, 51,129,205,137, 92,113,105,250,171,245,191, 29, - 24, 38,204,120, 4,213,157, 11,166,188,188, 84,220,207,210,224, 80,100, 70,241,133, 43,219, 47,211, 30, 36,184,239, 88, 83,227, -190, 99,205,177,241,131,211,230,153,229, 15,112, 61,238,248,240,144,249,199, 9, 94,210,236,238, 53,205,149, 66,161, 24,106,107, -107,187,236,196,137, 19, 78, 58,157, 78,122,241,226,197,226,195,135, 15, 63,213,233,116,155, 51, 50, 50, 78, 24, 28, 29, 43,213, - 60, 55, 87, 94, 50,158,255,228,137, 19, 47,127,178,225,123,209,131,219, 55,177,118,239, 9, 72,121, 90,253,237,244,242,183, 30, -148,254,175,249,176,193,227,202,229, 46,223,191,127,191,145,135,135, 7,149,155,155,251,188,194,215,104, 52, 40, 42, 42, 66, 97, - 97, 33,212,106, 53,188,189,189,233, 37, 75,150, 24, 45, 94,188,120, 57,128,143, 26,137, 16,100, 45, 91,182,204,234,253,247,223, -135, 76, 38, 67,110,110, 46,180, 90,237,243,104,147, 80, 40,132,169,169, 41, 10, 10, 10,112,246,236, 89, 16, 66, 26, 52,151,124, - 62, 95,105,103,103,235, 32,150, 24,169, 37, 18, 9, 49, 54, 54,110,177,102, 85,101,155, 49,120,240, 96,155,101,203,150, 9,106, - 86,210, 26,141,134,106,174, 38, 33,164,236,213, 87, 95,149,108,222,188, 25, 78, 78, 78, 80,171,213, 96, 24,230,121, 4,171,122, -106,128,228,228,100,172, 90,181, 10,132, 16,195,111,100,180,249, 90,216, 79,148, 67,147,171,133, 38, 87, 11,117,142, 22,154, 44, - 45,116,101,127,187, 33, 34,205,233,128,110, 64, 36,204,170,165, 17, 44,138,162, 64, 8, 1,159,207, 71, 74, 74, 10,206,157, 59, -135,160,160, 32, 72,165, 82,148,150,150,226,234,213,171,200,200,200,104, 86, 4,171,111,223,190,123,206,156, 57, 19,252,241,199, - 31, 59, 79,155, 54, 77,236,238,238,142,196,196, 68,108,216,176,161,252,225,195,135,105, 51,102,204,216,222, 20, 61,186,106,234, - 26,131, 70, 17,210,127,189, 55,174,103,154,134,193,245,108, 94,115, 10,135,218,211, 52, 60,231,232,209,163,206,118,118,118,238, -168,236, 95, 5,252,113,180, 96, 77,110,221,186,117, 43, 0,236, 40,194,151, 29,185,186,249, 79, 75, 51,183,254,139,142,254,180, -243, 27, 11,101,123,174,113,145,159,118, 31,133,151,150,212, 54, 87,134,224,141, 26,115,101,240, 68, 82,111, 29,225, 3, 40,135, -174,224, 41, 4, 2, 65,116, 51,210,252,130, 38,195, 48,179,187,188,177,208, 60,244, 38, 23,133,233, 15,145,125, 97,113,115,204, -149, 55,128,123,239, 3, 60, 7, 63,207,215,132,153,143, 81,126, 33, 12, 20,128, 29,209,165,184,154,170,254, 90,163, 86,175,124, - 88,164, 46,176, 19,195, 44, 44, 36,107,241,160,215,125, 62,113, 27,125, 22,215,179,191, 3, 36,128,153,156, 59, 40,203, 95, 87, -179,185,240,133,116,182, 18, 13,106,218,218,218,186, 24, 27, 27,127,117,234,212, 41,185, 64, 32,144, 61,120,240, 64,127,228,200, -145, 20,189, 94,191,190,102,199,247,166,104,122,138, 68,246, 30,109, 29, 34,102,172,255, 86, 84, 92, 82,138, 82,181, 6,182,142, -118,250,136,219,143,222,120, 80,170,249,197, 16, 77, 43, 43,171, 62, 35, 71,142,236,216,169, 83, 39,186, 62,115, 85, 84, 84,132, -146,146, 18,164,166,166, 34, 56, 56,152,118,119,119,247,174,168,168,232,147,149,149, 21, 94, 95, 58,149, 74,229,210,176,176,176, -238, 7, 15, 30, 28, 50,101,202, 20,233,200,145, 35, 33, 22,139, 81, 90, 90, 10, 7, 7, 7, 48, 12,131, 75,151, 46, 33, 46, 46, -174, 24,192,113,165, 82,121,165,161,116, 62,123,150,224, 8,128,182,183,183,239, 62,112,224,192, 86,209, 4,128,236,236,236,246, - 17, 17, 17,115,135, 15, 31, 62,115,192,128, 1,210, 5, 11, 22,240,157,157,157,161,215,235,169,230,106,230,231,231,155, 68, 69, - 69,173,235,209,163,199, 71, 3, 7, 14,228,134,132,132,192,196,196, 4,122,189, 30, 98,177, 24, 69, 69, 69, 88,190,124, 57, 46, - 95,190,172, 35,132,124, 83, 88, 88, 56,167, 33,205,154,243, 96,189, 53,227,107,223,134, 50, 97, 3,243, 96,253,229,121,190, 42, -210, 68,208,180,166,193, 70,211, 89,213,161,253, 15,243, 97, 25,170, 89, 61,245,130, 64, 32, 0,151,203, 69,118,118, 54,206,156, - 57,243,194,252, 87, 2,129,224,249, 52, 14,245, 68,176,234, 76,167, 84, 42,101,222,124,243,205,201,167, 78,157,154, 52,123,246, -236,225,197,197,197, 86, 50,153, 44,219,200,200,232,248,140, 25, 51,118,153,154,154, 54, 52, 69,195, 31, 52, 57, 52, 85,239, 40, -194, 23,162,166, 28, 65,121, 61,221,181,254,212,243, 94,107,154,134,218, 83, 49,212,164,246, 20, 14,181,167,105,120,174, 57, 98, -196,136,103,168,156, 60,148,174,122,175, 61, 90,176, 26,215, 91,183,110, 5, 4, 4, 4, 92, 4, 32,198, 31, 71, 17,254,229,121, -254, 95,174,249,175,162,161, 62, 88,162, 43,183,227, 64, 11,179, 80,124,253,171,230,152,171, 63,160,171, 40,141, 95,113, 32,193, - 79,175, 86, 65, 87,148,244,120,224,107,131,179, 90,186, 3,132, 16,163,203, 81,241,224,138,114, 81,112,237,203, 2, 74, 95,209, - 55, 42, 42, 42,166, 57, 90, 63, 0,218,113,119, 30, 93,120,122,249,220, 43,182, 0,146,242,212,136,137,205, 59,115, 84,165,154, - 93,189, 77,218, 53,228, 3,152,249, 27,247, 94, 7,115,215,194,254, 38,182, 64, 86,178, 22,249,217,186, 83, 47,171, 47, 86, 53, -233,233,233, 79, 60, 61, 61,247,238,220,185,243, 3,127,127,127,227,233,211,167,199, 21, 22, 22,190,208,241,189,169, 60, 40, 47, - 79, 69,124,226,119, 23,118,108,248, 76,228, 30,132, 35, 33,243,245, 23,111,199,142,184, 95,162, 49,184,205, 90, 40, 20,246,254, -224,131, 15,248,101,101,101,245,154,171,162,162, 34, 20, 23, 23,163,168,168, 8, 49, 49, 49, 24, 57,114,164,240,209,163, 71,189, - 1,132, 55, 84,230,167,166,166, 94,106,215,174,221,141,239,190,251,174, 95,104,104,104,255,119,223,125, 87,208,187,119,111, 60, -120,240, 0, 55,110,220, 80,107, 52,154,223, 69, 34,209,217,167, 79,159, 26,218, 9,235,207,208,212,169, 84,170, 85, 98,177,120, -243,225,195,135, 87,158, 63,127,254,237, 73,147, 38, 25,233,116, 58,170, 37,154,133,133,133, 51, 45, 45, 45, 23,157, 60,121,114, -207,153, 51,103, 70,188,253,246,219,244,140, 25, 51,176,101,203, 22, 28, 57,114,132,209,235,245,191,240,120,188,137, 57, 57, 57, -141, 14, 64,169, 57, 15, 86, 67,243, 92, 53,182,222, 0,254,140,187,208, 22,107,214,142,132, 85,143, 22,172, 54, 85, 77,105, 30, -172, 73,199,142, 29, 95,152,231,170,186, 67,123,245,139,195,225,128,203,229, 54,169,137,208,203,203, 11, 60, 30,143,241,243,243, -219, 5, 96, 23,240,226, 35,115,120, 60,222,243, 73, 77, 13,161, 66,199, 96,199,206,189, 55,116, 12,129,158, 33, 32, 12,160, 37, - 0,163,103,160,103, 8,244, 12, 83, 57, 45, 26, 1, 84,229,250,191,188, 92,171, 49, 77,195,215,117, 76,197,240,156, 58,166,112, -168,247,185,129,233,233,233,121,132,144,234,254,168,117,141, 22,172,214,220, 91,181, 92,156,150,150, 54,161, 33, 77, 22,150,166, - 24,172, 5, 37,183, 55,105, 1, 88, 80, 20, 53, 63, 42, 42,234, 65, 75,255,140,195,161,231,103, 29,123,103, 51, 1,242, 57, 20, -230,183,198, 14,232,245,250,133,165, 81,155, 25, 66,136, 41, 69, 81,243,110,223,190,221,162,116, 18,157,238,195,175,182, 95,250, - 90,110, 34,232,159, 83, 80,113, 18, 20, 85,231,172,237, 58,144,143,127,252, 50,249, 75, 51, 57,119, 80,126,182,238, 20, 67, 99, -238,223,225,132, 62,120,240, 32,100,251,246,237,156,239,191,255,126,178, 90,173,126,161,227,123,179, 53, 75, 52,159,127,250,249, - 34, 78, 7,103,251,233,177,137,201,195,239,151, 24,214, 44, 88, 3,129,157,157,221,253,178,178, 50, 80, 20,133,138,138,138, 23, - 12, 85, 77,131,165,209,104,144,149,149, 5,103,103,103, 80, 20,101, 80, 13, 81,101, 74, 78, 88, 88, 88, 92,220,180,105,211,107, - 91,182,108,233,198, 48, 76,164, 70,163, 57,145,155,155, 91,210,156,125,254, 51, 52,171,126,247,137, 78,167, 91,179,101,203,150, -117, 34,145, 40, 32, 43, 43, 43,162, 37,154, 85,230,233, 13,115,115,115,219,189,123,247, 30,218,185,115,103, 23, 46,151,123,141, -162,168,183, 10, 11, 11,155, 51, 95,207,227, 22,174,111,140, 35,127, 66,182,111,177,102,205, 62, 87,205,109,102,124,161,124,208, -233, 74,230,207,159,159, 85,251,153,131, 53,231,188,170,249,174, 86,171,203, 13,208,100,190,248,226,139, 6,111,226,106, 26,173, -242,242,242, 70,155,116, 9, 67,114, 6,143,250,176,105,101, 36, 67,114, 94, 98, 17,119, 12,192,147,170, 23,105, 96, 93,147,118, - 9,149,115,180, 37, 18, 66, 18,107,233,214, 92,206,194,210, 58, 6, 43, 42, 42, 42, 5,192, 59,173,249,103, 3, 7, 14, 60, 7, -192,189, 53, 53,239,220,185,147, 4,224,237,214,210,219,175, 86,199, 3, 24,242,126,150,154,247, 19,234,143, 72, 85,117,104,127, -189, 86,179,224,223,130,186, 58,190,183,148,251, 37,218,217, 36, 33,237,133,142,239, 77,168,108,126, 19, 10,133, 84, 81, 81, 17, - 52, 26, 13,138,139,139,159,155,171,154, 38, 75,167,211,129,162, 40, 20, 23, 23,195,216,216, 24, 90,173,182, 73,119,138, 85, 38, - 37,172, 87,175, 94,135, 35, 34, 34, 90,101, 26,141, 63, 67, 83,165, 82,101,168, 84,170,113,189,122,245,226,182,150,102, 94, 94, - 94, 58,128,110,237,218,181, 19, 52, 33, 10, 86,111, 36,171,185,235, 13,224,251, 63, 33,203,255,244,119, 43, 88,147,146,146, 60, - 90, 91, 51, 37, 37,229, 97,171,167,243,250,143,179,254, 9, 21, 85,117,212,200,206,206,110,111,114,114,178, 35, 69, 81,201,181, - 35, 73, 13,173,107, 72, 19, 0,156,157,157,143,166,164,164,216, 10,133,194,116, 67,150,179,176,252, 29,240,102, 53, 89, 77, 86, -147,213,100, 53, 89, 77, 86,147,213,108, 38,239,255, 83, 13,208,191,104,218, 56, 22, 22, 22, 22, 22, 22, 22,150,191, 7, 84, 3, - 46,180, 41,163, 3,154,227,100,239,177,154,172, 38,171,201,106,178,154,172, 38,171,249,159,211,108, 76,187,230,239,223, 71,229, - 76,238, 44,173,112, 98, 88, 77, 86,147,213,100, 53, 89, 77, 86,147,213,252,239,105,214, 5,219, 68,200,194,194,194,194,194,194, -194,194, 82, 9,151, 61, 4, 44,134, 96,103,103,183,186,115,231,206, 31,222,188,121,115,125, 74, 74,202,242,102,106,216, 90, 88, - 88,172, 2,208,141, 16, 34,228,112, 56, 15,115,114,114, 66, 82, 83, 83, 47, 53, 55, 93, 10,133,194, 65, 46,151,175, 2,208,133, - 97, 24, 62,143,199,187,159,153,153,185, 50, 61, 61,253, 90,115, 53, 45, 45, 45,141, 20, 10, 69, 0, 33,196,138, 16, 66,243,120, -188,252,180,180,180,152,236,236,236, 44, 54, 39,176,176,176,176,176,180,216, 96, 45,253, 24, 10,104,192, 93,250, 3, 82,170, 22, -201, 80, 57,233,154, 59,128, 71,168,124,188, 64, 75, 31, 25,240, 79,209,252,187, 67,155,154,154,190, 42,145, 72, 62, 41, 41, 41, -241,147,201,100,247,117, 58,221,102,165, 82,121, 28, 64,139, 30,113, 34,151,203,173, 70,140, 24, 49,111,211,166, 77,152, 60,121, -242,162, 19, 39, 78,108,104,234,188, 77,238,238,238,195,164, 82,233,182, 21, 43, 86,202,131,130,130, 40,145, 72,132,248,248,120, -187,133, 11, 23,248, 91, 90, 90, 30,138,142,142,254,168,169,233,242,244,244,124, 75, 42,149,110, 14, 9, 9,145, 7, 4, 4, 80, - 92, 46, 23,119,239,222,181, 95,182,108, 89,144, 92, 46,223, 27, 19, 19, 51,187,169,154, 94, 94, 94,206,198,198,198,221, 86,174, - 92, 41, 10, 10, 10,130, 80, 40,196,195,135, 15,141, 22, 44, 88, 32, 87, 42,149, 79,162,163,163,175, 55, 69,207,255,253,219, 60, -190, 68,195, 5, 0, 77, 25, 95, 23,245, 67, 39,173,161,203,216,226,137,133,133,133,229, 95,104,176,150, 77,195,114, 74,135, 5, -160, 65,125, 50, 6, 7,183, 28,164,111,244,237,219,183,195,187,239,190, 75, 85, 61, 58,194, 35, 44, 44,236,141,227,199,143,199, - 50, 12,115, 29, 64, 12, 0,141,129,255,203, 7,224, 75,211,116,231,191,185,230,223, 30, 99, 99, 99, 23,185, 92, 62,187,168,168, -104, 80, 64, 64, 64,209,180,105,211, 18,175, 93,187,150, 16, 24, 24, 88,190,115,231,206, 16,173, 86,251,173,169,169,233,239,197, -197,197,235,154, 59, 47, 22,143,199,115,167, 40, 10,105,105,105,224,241,120, 60,129, 64,224, 1,192, 96,163, 97,111,111,175,144, - 74,165,223, 31, 60,250,155, 85, 81, 5,141, 39,217, 12,128, 50,232,105, 75,172, 88,187,197, 98,221,170, 69, 99, 75, 75, 75, 47, - 63,121,242,228,128,161,154, 10,133,194, 65, 42,149,110, 62,127,254,188,149, 80, 40, 4,195, 48, 40, 46, 46,134,149,149, 21, 86, -175, 94,109,190, 98,197,138,119, 11, 11, 11, 47, 38, 38, 38, 30, 51, 84,211,210,210,210,200,216,216,184, 91,120,120,184, 72, 32, - 16, 80, 90,173,150,170,168,168,128,141,141, 13,249,250,235,175,133, 11, 23, 46,116, 43, 40, 40,200, 72, 76, 76, 76, 54,200, 92, -109,187,205, 43,250, 45,188, 43, 73, 81, 45, 2, 0, 74, 36, 94,217,107,105,226,141,180,187,135,131, 26, 91,230,191,237,246,213, -168,169,172,201, 98,249,107, 81, 40, 20,221,157,157,157,143, 38, 39, 39, 71,114, 56,156,209, 73, 73, 73, 21,173, 32,107, 15,192, - 25,128, 25, 42, 7, 86,229, 1, 72, 4,158,223,184, 55, 25,139,118,189,135, 66, 40,121, 7,132,248,210, 0, 64,211, 49,140,166, -116,119,110,220,133, 99, 45,210, 20, 25, 77, 6,195,248,210, 32, 12,104,206, 29,162, 43,221,158, 19,123,225, 20,155, 51, 88, 90, -205, 96, 45,125, 23,102, 20, 48,119,254,180,247,105, 46,135, 67,133,108,251, 97,204,205,200, 99, 68,225,232,251,252,145, 27,193, -193,193, 8, 14, 14,166,214,174, 93,235,126,254,252,121,247,125,251,246,105, 35, 35, 35,111, 3,216, 83,223,159,133, 76, 23, 39, -235,180, 42, 7,208,226,242, 54, 93,190,221,215,173, 91, 48, 35, 20, 10,209, 18, 77, 0,248,240, 77,238,239, 21,148, 3,213,123, -200,226,164,214,210,252,135,152,171, 8,169, 84,218,126, 55,110,175,251, 0, 0, 32, 0, 73, 68, 65, 84,234,212,169, 79, 62,248, -224,131,139, 70, 70, 70, 4, 0,178,178,178,140, 94,123,237,181,252, 17, 35, 70,228,150,149,149,225,187,239,190,115,216,188,121, -243,239, 82,169, 52,173,184,184, 56,168, 41,249, 67,161, 80,172,233,215,175,223,172,113,227,198, 65, 42,149, 98,210,164, 73,168, -168,168,136, 60,127,254,252, 90,165, 82,185, 8, 64,163,207,206, 48, 51, 51, 91,178,108,217, 50,171, 18, 53, 7,139, 66,227,145, - 87, 82,233, 27, 36, 2, 26, 31,189, 34,196,132, 9, 19, 77,162,163,163,215, 2, 48,216, 96,201,229,242, 85, 33, 33, 33,242,234, -115, 93, 82, 82,130,146,146, 18, 20, 23, 23,163,164,164, 4,227,198,141,147, 61,121,242,100, 35, 42,103,119, 54,180,114, 9, 88, -185,114,165, 72, 32, 16,224,216,177, 99, 29,203,203,203,185, 90,173, 22,132, 16, 93,135, 14, 29, 98, 38, 78,156,200,143,139,139, -235, 10,192, 32,131,165,200, 0,175, 80,165,250,102,235,151,159,201, 1,224,227,185, 95,125, 3,168, 58, 19, 3,150, 41, 50, 16, - 24, 5,176, 6,171, 97, 56, 0, 94,231,241,120, 35,219,183,111, 31,240,228,201,147,104,157, 78,247,127, 0,254, 15, 45, 63,118, -175,216,218,218,174, 74, 79, 79,223, 10,224,199,255,202, 1,109,215,174,221,207,251,246,237,179, 56,121,242,228,176, 21, 43, 86, -140, 2,176,183, 5,114, 60, 0, 93,171, 76,213,163, 42, 99,133, 42,163,213, 1, 64, 59, 0, 87,154,114,195,107,225,218,205, 24, - 92, 89, 88,215,238,189,122,188,245,198, 8,169,220,220, 4,165, 21,122,196, 37,102, 56,158, 57,249,115,175,199,124,113,164, 78, - 83, 56, 38, 55, 46,178,164,169,154,125,250,246,239,209,247,149,126, 82, 19, 19, 83,228, 22,107,241, 52, 49,213, 41,226,247, 95, -130,105,174,248, 34, 40,237,219, 89,247,126, 47, 99, 47, 57,150,166, 96, 80, 39,119,138,162, 96,100,108, 84,231, 58, 19, 19, 19, -244,238,221, 27, 33, 33, 33, 60, 0, 93,106,173,126, 97,168,166, 94,175, 86, 44,250,104, 58, 4, 92, 34,124,109,208, 0, 74, 38, -147,181, 88, 19, 0,172,205,117,253, 58,187,169,122,101,198,204, 24, 31, 19,177,202, 91, 93, 94,240,135, 39,157, 74, 36, 18,184, -184,184, 96,225,194,133, 6,105,182, 2,127,186, 38, 33,196,214,195,195,163,120,195,134, 13,110,139, 23, 47, 54, 43, 47, 47, 55, - 2, 96,239,225,215,221,150,166,105, 7,181, 90, 45, 93,186,116,169,229,151, 95,126,233, 38,151,203, 11, 8, 33,242,166,164, 83, -161, 80,108, 8, 9, 9,153,189,123,247,110, 42, 48, 48, 16, 82,169, 20, 93,187,118, 69,104,104, 40,189,100,201,146,121, 10,133, - 98,141,129,251, 30, 28, 20, 20, 68, 49, 0,242, 75,116, 8, 95,221, 9, 87,190, 10, 68,153,154, 65, 97,113, 9, 84, 42, 21, 68, - 34,145,216,194,194,194,184, 9,199,179, 75, 64, 64, 0, 5,224,185,169, 42, 46,174,124,149,148,148, 66,173,214,128,166,105,153, -147,147,147,176, 9,199,211, 42, 40,168,210,127,150,151,151,115,135, 13, 27,134, 33, 67,134,160,184,184,152, 91, 84, 84, 4,181, - 90, 13,154,166,249, 85, 21,123,163,154,106, 9,143, 98, 8, 99,109, 36, 17, 91, 26, 73,196,150, 12, 97,172, 1,192,144,101,106, - 9,143,122,201,249, 83, 78,211,244,174,118,237,218, 61,164,105,122, 47, 0,155, 22,106, 6, 2, 8, 17,139,197,103,221,221,221, - 83, 36, 18,201,121, 0,107,170, 42,224,230,104, 10, 36, 18,201,249,144,144,144, 67,209,209,209,163,206,157, 59,231,124,247,238, -221, 55,214,174, 93, 27,102,108,108, 92,253, 96,222,102, 95,155,206,206,206, 59,175, 95,191, 30,216,173, 91,183, 29, 0,132,173, -116,189,115, 0,248, 85, 25,142,191, 69, 25, 82, 19, 59, 59,187,246,126,126,126,150, 28, 14, 7,193,193,193, 32,132, 4,183, 80, -179, 27,128, 12, 0, 17, 0,178,171,110,198,244, 0,114, 0, 92,170,186, 81, 9,110,146, 38, 87, 22,246,201,167,159, 15,156, 51, -253, 61,105, 84,146, 30,219,207, 40,113,240,114, 54,210,138,133,232, 63,124,178, 73,175,193,227, 6,112,249, 38, 97, 77,213,156, - 55,111,193,192,247, 38,141,151,222, 75,167,113,232, 74, 14, 46, 63, 42, 66, 25,101,134,222,195,223, 55,243, 8, 26,244, 26, 5, -254,158,191,195, 57,250, 15,104,254, 7, 34, 88, 59,145,191,108, 26,190, 12,249,238,135, 69, 52, 69, 17,123,215, 1, 15,156, 93, -186,148, 50, 12, 3,149, 74, 5,141, 70, 3, 30,143, 7,149, 74,133,164,164, 36, 92,191,126, 29, 38, 38, 38, 77,250,227,130,194, - 66,216,217, 59, 67, 34,145,180,138,230,148, 55, 71,112,147,149, 74,110,100, 84,120,167, 3,155,246,117,114,104,215,255,145,111, -239,207,239, 25,155, 56,170, 98, 98, 98,112,245,234, 85,228,231,231,163,186, 2,253, 55, 64, 81,148,118,221,186,117, 81,233,233, -233,184,116,233,146,223,178,141, 63,181,185, 87,212,142,155, 93, 66,120,114,227, 76, 39,119,241, 99,125,126, 94, 94,194,236,217, -179,207, 43, 20, 10,245,244,233,211,123, 25,162,107,103,103, 39,162, 40,170,211,128, 1, 3, 62,154, 56,113, 34, 18, 19, 19, 49, -103,206, 28,117, 76, 76, 76, 65,167, 78,157,204,214,173, 91,199,127,255,253,247, 17, 25, 25, 57, 59, 60, 60,252, 48,128,251,105, -105,105, 13, 61, 75, 77, 32, 18,137,128,194,202, 27, 85,141,142,160,186, 91, 88, 73, 73, 9,104, 82, 0, 62,159, 79,211, 52, 45, - 7, 96,208,157, 39,195, 48,124,129, 64,128,210,210, 82,148,148,148, 32, 45,187, 4, 73,153,165, 40, 46,173,128, 74,165, 69, 69, - 57,129, 80,106, 77,107,179,179, 45, 0,164, 25,162, 73, 8,161,171,155, 27,213,106, 53, 84, 42, 21,212,106, 53,212,106,245,243, -199,249,112, 56, 28,169,157,157,157, 44, 45, 45, 45,191,209,218, 84, 32,214,113,104,126,200,130,149,223, 44, 5, 0, 14,205, 15, - 49, 70, 57, 99,200, 50,142, 64,172,123,137, 89, 75, 40,151,203,195, 15, 29, 58,228,225,226,226,130,103,207,158,185,191,245,214, - 91,157,149, 74,165, 31,128,166,222,197, 75,104,154,254,114,226,196,137, 31,142, 29, 59,150,114,117,117, 5,151,203,133, 78,167, -179,143,143,143,239,115,240,224,193,185, 59,119,238,220,174,215,235,103, 27,122,238, 1,208, 2,129,224,192,182,109,219,122,118, -238,220, 25,123,247,238,197,141, 27, 55,152,192,192, 64,122,194,132, 9,112,114,114,234, 50, 97,194,132, 35, 21, 21, 21, 67, 12, -137,176,214,129, 83,215,174, 93, 29, 56, 28, 14,186,117,235,198,143,140,140,244, 7, 16,217,210,128,179,189,189,125, 68,239,222, -189,253,206,158, 61, 27,149,145,145,209,187, 9,251, 11,133, 66, 49,220,218,218,122,173, 84, 42, 53, 51,244, 55, 37, 37, 37,101, -153,153,153,115,210,211,211, 15, 27,152,255,187,249,248,248, 64,167,211,193,196,196, 4, 54, 54, 54, 61, 40,138,154,109, 98, 98, -242,122, 81, 81,209,172,180,180,180, 27, 77,216, 95,187,170, 27,248,234,231, 2,182,169,138, 90, 1,149,207,179,124, 6, 32, 1, -128, 45, 0, 7, 24,208, 92,104,209,174,247,208,110,193,125,122, 4,119,246,166, 87, 31, 78,132,158, 97,192,133, 30, 92, 14,131, - 28, 61, 15, 20, 69,193,201, 45,144, 99,125,239, 86, 23,157, 70, 51, 52, 55,238,236, 49, 67, 52, 7, 14, 24, 16,220,193,205,149, - 94,127, 52, 25, 5,105,247,244,153,143,206,231, 80, 52,141,182,190,253, 45,157,220,252, 56,237,253, 94,225,101, 38,222,235,163, -105,223,179, 95,126,252,197,179,172,109, 96,105,142,193, 34, 53,239,172,150,124,143,197, 22,166,104,243,224,222, 29, 58, 37, 67, - 93,122,231,206, 29, 88, 88, 88,192,202,202, 10, 50,153, 12,177,177,177, 56,123,246, 44, 30, 63,126, 12, 66, 8,252,252,252,154, -244,199,153, 25, 25,200,205, 43,110, 85, 77, 71,133, 2,142, 10, 5, 55, 39,191, 0, 87,239,220,245, 56,182,189, 95,135, 76,122, -234,110,149, 74,245,124, 27,173,246,223,215,234, 98,101,101,165,255,248,227,233,185, 83,190, 73,104, 55,166,175, 29,103,120, 87, - 27, 28,141, 84,114,194, 46,112,200,162,119, 59,230,196,199,199, 25,188,211,142,142,142,171,122,246,236,249, 25,151,203,229,189, -255,126,229,244, 35, 51,102,204,168,184,123,247,174,103,106,106,106, 66, 69, 69, 69,135, 89,179,102,221, 61,114,228, 8,239,189, -247,222,163,202,203,203,111,240,120, 60, 18, 17, 17,177, 92,169, 84, 46,173,211,104,112, 56,209, 15, 30, 60,104,163, 19,217,194, - 82, 74, 99,192,162,168,202, 26, 71, 72,144,147,153,134,251,241, 55, 33,151,203, 77, 44, 45, 45, 31,101,101,101, 85,100,102,102, -126,146,144,144,176,167,161,116,242,120,188,251,119,239,222,181,183,182,182, 70, 73, 73, 9, 82,178, 74,177,235, 42,133,178, 10, - 49, 0, 49, 56,144, 66,106,233, 32,109, 75,202, 98,204,204,204, 52,106,181,122,222,147, 39, 79,126,108, 68, 51,255,225,195,135, - 70,118,118,118,224,112, 56,154,131, 7, 15,242,213,106, 53, 8, 33,186,147, 39, 79,142, 46, 40, 40,232,214,174, 93, 59,218,201, -201,105,157,163,163,163, 74,169, 84, 78, 73, 76, 76,172,247, 65,195,167,103,180,215,244, 90,122,225,219,130,103, 41, 7, 1,192, -174,179, 71,222,241,165,254,234, 94, 75, 75, 26, 93,118,122, 70,251,151,217, 79,240,157, 5, 11, 22,120,152,155,155, 99,218,180, -105, 88,182,108, 25, 22, 47, 94,236, 50,109,218,180,247, 1,108,104,130,142,216,198,198,230,230,166, 77,155,220,187,119,239,142, -147, 39, 79, 98,255,254,253, 72, 72, 72,208, 57, 59, 59,115, 59,119,238,140, 37, 75,150, 96,192,128, 1, 83,166, 79,159,222, 43, - 61, 61,221,223, 64,211, 49,121,201,146, 37,195,123,244,232,129, 73,147, 38, 85, 92,184,112, 97, 20,128, 51,191,255,254,123,223, -136,136,136,195, 63,253,244,147, 56, 36, 36,100,224,172, 89,179, 62, 0,176,181, 25,251, 63,162,103,207,158, 0,128, 30, 61,122, - 96,237,218,181, 3, 90,104,176, 4, 22, 22, 22, 39,246,238,221,235,231,230,230,134,183,223,126,219,127,212,168, 81, 39,242,243, -243,251, 3, 48,232,185,145, 10,133,226,203,109,219,182,181, 23,139,197, 6,255,169, 90,173, 54,159, 58,117,234,154,166, 24, 44, -111,111,111, 92,184,112, 1,253,250,245,131,151,151, 87,251,169, 83,167,174, 27, 48, 96, 0, 62,253,244,211,203, 58,157,206, 54, - 51, 51,211,208, 7, 61, 59, 1,168,126,110,169, 35, 0, 23, 84, 54, 7, 2, 64,231,170,247,103, 85,102,171,131, 33, 6, 11, 34, -163,119,134, 13, 25, 34,253,191,200, 44,232, 25, 6,238,118, 34,120, 56,202,144,152, 85,142,196,180, 92,240, 40, 13,164, 98, 33, -124,186,189,102,150,151,153,248, 14, 12,233, 30, 32,148,188, 51, 98,216, 16,227,159,175,102,161, 32,237, 62, 73,186,121,240,188, -182,188,116, 10, 0, 60,184,248,227,247,214,102,162,254,174,190,157, 56,101,193,195,205, 34,142,126,247, 78, 62,192, 26,172, 63, - 31,210,132, 40,239, 63, 47,130, 85, 77,110, 1, 84, 22, 54, 30, 72,201,136,174,252,158,155,139,220,220, 92,180,109,219, 22,155, - 55,111,126, 97,219,230, 62,129,254,207,208,180, 52, 51,197,176, 62,189, 56,247, 98,191,227,168, 24, 85,171,104,254,109,115, 34, - 33,132,162, 40, 42, 41, 71,107,154, 83,164,229,143,238,227, 64,120, 28, 26, 99,250, 56, 82, 91,143, 37,241,115, 84, 18, 83, 14, -135, 67, 19, 66, 26,189,147,247,247,247,231,121,123,123,127,182,115,231, 78,158, 82,169,132,169,169, 41,180, 90, 45,162,163,163, -211,149, 74,101, 2, 0,100,100,100,196,222,184,113, 35, 83,175,215,219,187,187,187, 99,234,212,169,232,208,161, 3, 53,123,246, -236,185, 7, 14, 28, 88,142, 58, 70, 44,102,102,102,134, 44, 92,184,176,231,170,181,155, 45,198,119,166, 80, 90,166, 70, 73, 73, - 9, 18,227,238,131,148,168,177,126,253,215, 16,139,197, 20, 0,126,118,118, 54,127,233,210, 37, 59, 76, 77, 77,135,220,190,125, -123,100,189, 6, 61, 51,115,229,146, 37, 75,130,214,175, 95,111, 94, 82, 82, 2, 85,121, 57,138, 85, 2, 92,255,186, 50, 66,217, -121,214, 13,108,253,106, 29,237,237,100,100, 81, 82, 82,130,207, 62,251,108,147, 68, 34,233, 18, 19, 19,243, 97,125,154,105,105, -105, 49, 11, 22, 44,144,111,217,178, 69,216,161, 67,135,187, 69, 69, 69,200,207,207,167,143, 28, 57,178,194,201,201,201,124,211, -166,205,148, 68, 34, 1, 0,164,164,164,240, 23, 45, 90,120,192,216,216,248,167,123,247,238, 77,170,239,244, 68, 44,237, 93, 1, - 16,165,173,109,219,246,101, 87,233,165,182,182,229,151, 35,150,166,135, 2, 68, 89, 21,135, 36, 54, 54, 54,227,147,247, 10,123, - 84, 84, 48, 27, 51, 50,146, 30, 3, 47,247,161,178,150,150,150,211,135, 15, 31,142, 53,107,214,224,216,177, 99,179,204,205,205, -191, 94,182,108, 25,108,109,109, 63, 78, 79, 79,223, 88, 85, 0, 26,194, 87, 27, 54,108,112,119,119,119,199,196,137, 19,213,103, -207,158, 93, 0,224, 40,128,164, 75,151, 46, 57,238,217,179,103,232,129, 3, 7,214,108,218,180, 73,180,101,203,150,246,111,188, -241,198, 70,134, 97,222,109, 76,212,218,218,250,211,177, 99,199, 98,221,186,117,184,112,225,194, 27, 0, 78, 86,173, 58,117,229, -202,149,161, 33, 33, 33,231, 22, 45, 90,132, 13, 27, 54,204, 76, 77, 77,109,170,193, 50,246,240,240,248, 98,224,192,129,184,116, -233, 18,130,131,131,209,181,107,215, 89, 87,175, 94,221,140,202,166,173,166, 66, 27, 27, 27, 31,216,189,123,119,112,155, 54,109, -176,114,229, 74,124,246,217,103,216,185,115,103,240,219,111,191,125,160,180,180,116, 36, 12, 24,229,107,108,108,108, 44, 22,139, -177,102,205, 26,146,156,156,220,104,244, 84,161, 80,152,125,241,197, 23,148,137, 97,205, 0, 28, 91, 91, 91, 19,107,107,235,158, - 54, 54, 54,216,180,105, 19,172,172,172, 48,107,214, 44, 88, 88, 88,160,180,180, 20, 35, 71,142,228, 93,187,118,109, 12,128,205, - 6,238,183, 5,128,234,136,151, 71,149,185, 42,174,250,126, 13, 64,143, 42,131,149, 7,192,220,160, 3, 73,136,183,153,169, 12, -233,119, 51,193,133, 14,238,142, 82,220,138, 47,133, 70, 79, 32, 49, 50, 70,105,113, 1,124,219,203, 81, 84,102, 15,128, 49,104, - 18, 76, 62,135,238, 36, 16,138,145, 85, 84,136,140,135,231,114, 53,250,138,169,133,207,174,164, 0,128, 89,219,224,169,247,175, -159,190, 53,114, 80,176, 85,118,190, 35, 8, 97,130,192,194,210,148,139,191,177, 13, 24,230,143,215,126,205,136, 80, 53, 26, 77, -203,110,184,255, 12,205,186,248, 51, 52,255, 14, 62,203,206,140, 91,104, 36,162,117,191,223,202,210,107,117,122,252,118, 43, 67, - 47, 17, 82, 58, 51,161,186,136, 97, 24,131, 42,196,168,168, 40,237,165, 75,151,246,206,159, 63, 31, 27, 54,108,192,211,167, 79, -193,227,241,224,230,230,102,109,111,111,175,168, 42,184, 29,188,188,188, 44, 57, 28, 14,226,227,227,177,127,255,126, 44, 93,186, -148,220,190,125,123,103,125, 21,133, 82,169,140,206,204,204,220,182,122,249,130, 2, 94, 69, 58, 36,250,108,232, 11,158,130,167, - 47,196,244, 89,243,241, 44, 71,143,232,103,197,136,126, 86,140, 12,149, 8, 95,172, 92,207,113,113,113, 25,106,103,103, 55,160, -190,180,166,167,167, 95, 83, 42,149,161,139, 23, 47, 46,204,201,201,121,158,127, 52, 58, 6, 26, 29, 83,187,114,194,234,213,171, - 77, 21, 10,197,104, 91, 91,219,222,245,105,102,103,103,103,165,167,167,199,207,159, 63, 95,147,157,157,141,162,162, 34,156, 62, -125,250,141,182,109,219,154,207,158,191,156,122,150, 67,158,167,179,144, 49,197,186,205,219, 57,237,218,181, 27,167, 80, 40, 26, -236, 71,100,107,107,215,222,195,163,221,161,107,215,174, 77,106,223,190,253,135,213,198,170,218, 72, 57, 59, 59, 79,187,125,251, -246,100, 63, 63,207, 67,214,214, 54, 29, 94,114, 94,234, 51,122,244,232, 14, 12,195,224,208,161, 67,119, 1,108,248,249,231,159, -111, 86, 84, 84, 96,204,152, 49,206, 0, 6, 26,168, 19, 56,110,220,184, 15,131,131,131, 49,115,230, 76,205,217,179,103, 59, 1, -248, 26,149,163,199, 8,128, 36, 0,155, 35, 34, 34,124,167, 79,159, 94, 17, 20, 20,132, 73,147, 38, 77, 70,253,125,114,170,233, - 54,118,236, 88,119,134, 97, 16, 22, 22,118,167,134,185,170,230,252,225,195,135,175,169,213,106,140, 31, 63,190, 45,128,190, 77, -216,119,190, 80, 40, 60,180, 98,197, 10,211,180,180, 52, 76,152, 48,161, 34, 54, 54, 22, 75,151, 46, 21,155,152,152,156, 4, 96, -220,212,131, 41, 20, 10,127,248,238,187,239,134,251,248,248,224,131, 15, 62, 80,127,251,237,183, 51, 62,252,240, 67,117,167, 78, -157,240,205, 55,223, 12, 23, 8, 4, 77,122, 4, 72,102,102,102, 65, 68, 68,132, 69, 99,175,140,140,140, 76, 67,244, 28, 28, 28, - 76,189,188,188,238, 6, 6, 6,230,116,236,216,177, 29, 0,220,191,127, 63,251,208,161, 67,196,194,194, 2,167, 79,159,198, 15, - 63,252,128,238,221,187, 67, 42,149,142,105, 98, 20,130,212,248, 92,215,250,218,219, 53, 12, 69,145,194, 50, 29,184, 52, 13, 30, -135, 32, 41,179, 28, 26, 61, 1,159, 71,131,199, 1,184, 52,129,133,148, 7, 30,143, 3, 67,111, 82,104,138, 66,126,169, 22, 92, - 14, 5,158,128, 79,209, 58,253,243, 16, 33,205,213,139,133, 34, 33,101,101,194, 7,159, 75,129,162,192,194,210,122, 17, 44, 0, -208,235,255, 24,248,168, 43, 10,164, 86,171, 91,148,144, 63, 67,179, 46,254, 12,205,151, 73, 81, 81, 17, 55, 34, 34,194,132,199, -227, 25, 13,241,233,158,251,229,193, 56,203,101,251, 30, 67,192, 1, 53,180, 35,173,188, 16,126,150,202,207,207, 55,115,113,113, -201, 55, 68, 47, 33, 33, 97, 74,104,104,232, 74,154,166,131,244,122,253,193, 13, 27, 54, 96,235,214,173,146,105,211,166,197,234, -245,250, 52, 87, 87, 87,135,141, 27, 55, 10, 1, 32, 52, 52, 20,191,253,246,219, 8, 30,143,119, 35, 57, 57, 57,163, 33,221, 59, -119,238, 44, 42, 40, 40,136, 76, 72, 72,216, 76, 81,148,169, 84, 42, 53,251,249,231,159, 41,101,129, 26,139, 66,159, 62, 31, 89, -104, 36,228, 96,254,235,114,188,249,230, 91,220, 39, 79,158,124,149,150,150,246, 91,125,154,209,209,209,179, 10, 10, 10, 34,226, -226,226, 54,240, 45,220, 44, 68,222,239, 75,251,206,175,108,126, 84,152, 11, 65, 87, 21,136,133,133,133,200,201,201,193,228,201, -147, 77, 87,173, 90, 53, 55, 61, 61,253, 66,125,154, 49, 49, 49,215, 10, 11, 11,149,113,113,113, 93, 8, 33, 2, 19, 19,147,238, - 27, 54,108,160,146,242,212,152,183, 39, 30,197,229,149,233,148,138,120, 88, 62,214, 30,147, 38, 77,226, 62,123,246,236, 75,165, - 82,217,163,110,115,101,235,226,225,225,113,104,223,190,125, 30, 27, 55,110,204,123,242,228, 73,169, 66,161, 88, 86,115,155,196, -196,196,138,213,171, 87,231,134,134,134,186, 77,152, 48,225, 80, 84, 84,212,168,230, 78,169,209, 82,100, 50,217,154,169, 83,167, -226,192,129, 3,200,207,207,223, 88,149,199, 54,236,219,183, 47,108,202,148, 41, 8, 13, 13, 93,147,157,157,125,218,128, 74,113, -208,152, 49, 99,112,234,212, 41,156, 59,119,238, 11, 0, 15,234,217, 46,238,210,165, 75,115,127,249,229,151, 77, 99,199,142,197, -174, 93,187, 6,162,178, 3,116,125,244, 31, 48, 96, 0, 78,158, 60,137,220,220,220,111,234,218,160,160,160,224,219, 95,127,253, -181,203,128, 1, 3,176,122,245,234,254, 0,206, 27,176,235,238, 38, 38, 38,187, 55,109,218, 20,232,227,227,131,113,227,198,149, -107, 52,154,129,159,125,246,217,177,253,251,247, 75,247,238,221, 27,240,254,251,239, 95,207,202,202,122,175, 42, 2,211,120,229, - 77,211, 33,235,215,175,127,183,119,239,222,152, 53,107,150,238,183,223,126, 27, 6,224,204,233,211,167,227, 63,255,252,243, 19, -235,215,175,231,172, 91,183,238,221, 79, 62,249, 36,155, 97,152, 5, 47,227,124, 83, 20,181,110,253,250,245, 30,158,158,158, 40, - 47, 47,199,211,167, 79,145,153,153,185,239,244,233,211,103,238,221,187,183, 54, 35, 35,227,136,181,181,245,148, 89,179,102,217, - 7, 6, 6, 6,150,150,150,154, 25,210,255,176, 70,100, 42, 11,192, 67, 84, 14, 44,170, 62,110,157, 81,217, 52, 8, 84,142, 40, -204, 55, 48,177,119,227,158,165,181, 53, 51,150, 33,159, 17,224, 89, 90, 14,196, 70, 70,160, 9, 13,157, 42, 31, 46, 78, 86, 96, - 8, 80,148,147, 6,154,166,238, 26, 34,169,213, 51,183, 19, 83, 50,237, 76,141, 68,112,233, 52,216,226,206,249, 93, 63,202,218, -118,127,159,203,161, 56, 60,129,241,182,113, 99, 39, 90,106,245, 4, 37,249, 74, 80, 28,250, 6, 88, 88, 90, 59,130, 85,187,221, -191,118, 20, 72, 44, 22,163,162,162,105,211,165,252, 25,154,134,252,103,107,107,190, 76,180, 90,173,244,195, 15, 63,236,145,154, -154, 42,115,115,115,139, 31, 28, 40,191,186,115, 70,219,171,157,101, 15,202, 22,190, 70, 93,117, 16,101,222, 20, 10,133,201,249, -249,249,130,208,208, 80,127,173, 86, 43, 49, 68, 55, 35, 35, 35, 57, 61, 61,253,208,225,195,135,127, 60,126,252, 56, 58,116,232, -128,139, 23, 47, 74,227,226,226,220,195,195,195,141, 92, 92, 92,112,228,200, 17,252,250,235,175,219,149, 74,229, 47,141,153,171, -106,146,147,147, 79,199,196,196,180,207,205,205,109,111,106,106,170, 53, 53, 53, 69,237,145,133,165, 21,122, 20, 20, 21,195,212, -212, 20, 18,137,196,185, 49,205,196,196,196, 99,119,238,220,105, 11,115,247, 96, 78,194,190,194,111, 63,238,128,111, 63,238,128, - 21,111,183,131,141,153, 0, 5, 5, 5,200,206,206, 70,118,118, 54, 8, 33,208,235,245, 30, 6,104, 38,199,196,196, 28, 72, 75, - 75, 59, 43,151,203, 41, 99, 99, 99, 16, 0,249, 37, 26, 92, 89, 27,136, 43,107, 3,145, 95,162, 65,113, 73, 41,236,236,236, 32, -149, 74,235,108,142, 48, 51, 51,147, 18, 66,246,236,216,177,195, 93, 42,149,114,166, 76,153, 98,122,245,234,213, 30, 87,175, 94, -157, 87,235,213,227,227,143, 63, 54,147, 72, 36,156, 93,187,118,185,114, 56,156,221, 78, 78, 78, 38,127,113,118,226, 0,248,104, -202,148, 41, 1, 34,145, 8, 91,183,110, 77, 0,240, 83,213,186, 67,223,126,251,109, 44, 0,204,152, 49,195, 11,192, 44, 52, 60, -146, 18,124, 62,191,147,135,135, 7,174, 94,189, 10, 0, 63, 55,242,223,135, 35, 35, 35,225,226,226, 2,145, 72, 20,216,200,182, -206, 14, 14, 14,136,141,141, 5,128,232,250,188,119,108,108, 44, 28, 28, 28, 64, 81,148,179, 1,251, 62,252,213, 87, 95,189, 27, - 30, 30, 30,216,173, 91, 55,188,251,238,187,234,235,215,175, 15, 6,112, 49, 58, 58,186,207,248,241,227, 75, 93, 93, 93, 17, 17, - 17,225, 62,126,252,248, 72,154,166, 87, 26,160, 57,121,249,242,229,243, 71,140, 24,129,229,203,151,147,131, 7, 15,142, 3,112, -166,106,221,111, 97, 97, 97, 19, 86,173, 90, 69, 70,142, 28,137,101,203,150,205, 7,240, 65, 67, 98,101,101,101,133,122,189, 30, -101,101,101, 6,221, 33, 26,186,125,219,182,109, 7,121,122,122,226,151, 95,126,129, 64, 32,192,239,191,255, 14,154,166, 79,100, -100,100,156,185,125,251,182, 79,122,122,250, 10,165, 82,121, 56, 62, 62, 30,193,193,193,180, 94,175, 31,105, 96,126,122, 6,192, -167,234,115, 10, 42,251, 99,117, 3,208, 29, 64, 92, 85, 36, 19,168,124,158,221, 51, 67, 4, 25,117,201,222,115, 39, 15, 23,154, - 25,243, 97,105,102, 4,107, 75, 25, 56,218, 82, 64, 93,128,246, 78,214, 8,242,176,193,179, 44, 53, 34,207, 30, 42, 40, 43, 41, - 51,104,122, 9,189,166,116,247,185,211,191, 20,154, 27,243,209,166,189, 39,134,142,155,233,231,238,211,249,119,111,255, 30,191, - 45, 90, 18,210,241,213, 30, 30,212,131,148,114, 92, 59,119, 52,191,172,184,104, 55,107, 25, 88,154, 27,193,170, 43, 0,154, 53, -107,214, 44,171,217,179,103, 67, 38,147, 33, 55, 55, 23, 90,173,246,121,180, 73, 40, 20,194,212,212, 20,185,185,185, 8, 11, 11, - 67,213,221, 74,253, 37, 56, 71,160, 92,249,205, 22, 7,138, 99,164, 22,138, 37,196, 92,210,114, 77, 0, 80,107,185, 89,223,133, - 29, 49, 31,212,179, 43,215, 81,161,248,195,250,230,104,254, 67, 12,214,239, 25, 25, 25, 1, 29, 58,116,200,112,114,114, 82,149, -151,151,131,168, 84,197, 39,195, 54,182,115, 48,249,224, 41, 77,211, 68, 44, 22, 51,166,166,166,165, 79,159, 62,165,116, 58, 93, -120, 83,244, 9, 33,211,166, 77,155, 70, 95,186,116,105,220,219,111,191,141, 54,109,218, 32, 58, 58, 26,161,161,161, 56,124,248, -240, 30, 62,159, 63,163, 57,233, 78, 73, 73, 41,241,240,240,120, 33, 2, 82,123,100,161,182, 34, 27, 12,195, 24,220, 57, 63, 63, - 42,244, 49,199,210, 82,235,229,248,191,233, 68,242,243,243,145,157,147,131,236,236,108,228, 84,189, 19, 66, 12, 14, 97, 82, 20, - 85,172, 86,171,107,165,243,127,205,143,165,165,165,208, 84,100, 65,175,215,215,169,153,159,159, 95,172, 80, 40,182,108,222,188, -121,253,138, 21, 43,172, 54,108,216,144,247,232,209,163, 34,154,166,203,107,221,196,136,218,183,111, 47, 93,183,110,157,245,230, -205,155,243, 24,134,217,146,148,148, 84,248, 23,102,165, 17, 62, 62, 62,123, 6, 13, 26, 36,253,240,195, 15,177,121,243,102, 40, -149,202,121, 0,170, 71, 50, 50, 57, 57, 57,159,127,243,205, 55,199,231,206,157, 11,141, 70,179,238,228,201,147,203,162,162,162, -166,213, 48, 97, 47, 32,151,203,237,185, 92, 46,162,162,162,138, 0, 60,109,204,211, 71, 69, 69,101, 82, 20,101,173, 80, 40,218, - 37, 36, 36,212,187,161,185,185,121,123,169, 84,138,180,180, 52, 52, 80, 49, 39,166,167,167, 19,129, 64, 64,217,218,218,186, 84, -109, 91, 47,102,102,102,159,239,216,177,131, 27, 30, 30,142, 37, 75,150,164, 38, 37, 37,141,175, 17, 69,139,186,125,251,118,112, -159, 62,125,246,207,157, 59,215,237,203, 47,191,164, 98, 99, 99, 63,136,138,138, 90,212,144,166,147,147,211,180,201,147, 39, 99, -203,150, 45,216,182,109,219, 7, 0, 14,213,218,100,255, 55,223,124, 99,102, 97, 97,177,101,234,212,169,216,189,123,247,248,103, -207,158,125, 87,159, 94, 90, 90,218,220,209,163, 71, 47,206,203,203, 11, 49,228,132, 26,178,189, 66,161, 24, 22, 16, 16, 96, 77, - 8,193,230,205,155, 51,182,108,217, 82, 86, 84, 84,244,147, 82,169, 12,175, 21,137, 59,114,250,244,233, 89, 31,126,248, 33,194, -195,195,183, 70, 68, 68, 16,165, 82,185,163,145, 36, 40, 81, 57,207,149, 71, 85, 4, 43, 5,127,236,200,238, 86,245,158,106,200, - 62,229,198, 93, 56,198,225,137,174,196,220,184,240,170,179, 87, 48,207,202, 76, 10, 59, 23, 75,152, 27,243, 65, 0,220, 75, 82, -225,218,197, 51,218, 44,101,114,164, 33, 35, 8,171, 53,159,240,197,145, 18, 75,167, 87,219,122,246,224, 58,187,184,162,127,247, -142,102, 22, 50, 30,212, 90,130,223, 99, 10,113, 53,226,148, 54, 43, 51, 37,156, 29, 65,248,215, 5, 86,255, 75, 17,174, 96, 46, -151,251,213,231,159,127,190,237,225,195,135,219,226,226,226,182, 69, 69, 69,109, 91,185,114,229,182,165, 75,151,110, 11, 8, 8, -216, 70,211,244, 87,168,236, 59, 81, 59, 34,230,253, 87,104,246,234, 5,238,184,129, 88,185,124, 26,183, 44,116,165,131, 54,251, -226, 40, 66,238,127, 64,150, 79, 3,105, 65, 58, 91,202, 95,165,233,197,229,114, 79, 59, 57, 57, 93,219,187,119,239,129,168,168, -168, 93,230,230,230,233, 43, 87,174,220, 49, 99,198,140, 48, 27, 27,155, 27, 60, 30,239, 44,128,142,205, 77,167,181,181,245, 27, -111,191,253, 54, 57,117,234, 20,121,243,205, 55,137,173,173,237,224,150,238,123,151, 46, 93, 50,238,221,187, 71, 30,166,148,146, - 55, 86,197,144,238,115,110,146,238,115,110,146,129,139,110,144,239,247,159, 33, 75,150, 44, 37,222,222,222,103,155,162,233,235, -235, 27,151,149,149, 69, 8, 33, 36, 47, 47,143,196,198,198,146, 75,151, 46,145, 35, 71,142,144,109,219,182,145,144,144, 16,166, - 99,199,142,123,154,162,217,181,107,215,188, 39, 79,158,144, 7,201,165,100,196,138, 59, 85,233,188, 65,134, 44,185, 77,194, 78, - 92, 35,203,151, 47, 39,158,158,158, 7, 27,210, 84, 40, 20, 99,230,204,153,163,204,203,203,211, 6, 6, 6, 70,212, 94,239,239, -239,127, 52, 39, 39, 71,187,112,225,194, 76, 91, 91,219,137,127,117, 94,178,176,176,184,146,154,154, 74, 18, 18, 18,200,103,159, -125, 70, 56, 28, 78,157,149, 39, 77,211, 91,103,206,156, 73,158, 62,125, 74,210,211,211,137, 66,161,136,110, 32,157, 67,172,172, -172,110, 1, 24, 97, 96,122,134, 88, 89, 89,221, 0, 48,178,161,125,119,116,116,124,144,154,154, 74, 60, 61, 61,243, 26, 18,115, -113,113, 73, 73, 77, 77, 37,174,174,174,105, 6, 28,207,215,172,173,173,111, 3, 88, 5, 64,212,192,205,232,167, 54, 54, 54, 87, - 0,124,100,128,230,112, 55, 55,183, 40, 0,211, 27,217,239,247,157,157,157, 99, 0,188,246, 87,159,119, 47, 47,175,171,105,105, -105,100,251,246,237, 68,161, 80,204,109,232, 71,109,218,180,249,229,216,177, 99, 68,169, 84, 18, 63, 63,191, 40, 3,211,201, 5, -208, 11,149,253,224,108, 80, 57,241, 40, 15,128, 53,128,222, 0,250,160,242, 9, 28, 6,151, 33, 22,174,221,140,173,189, 7, 29, -247,124,117,122,222,164,213,225,100,238,158,120,242,197, 79, 9,100,230,230,203, 36,112,200,204, 60,219,142,175, 29,183,112,237, -102,220, 84, 77,133,207,224, 19, 29, 7,127,154,247,206,234,115,100,193,222,167,100,233,254, 4,242,201,198, 8, 18, 52,108,102, -174,125,199,161, 63, 91,121,247,151,188,228,114,254,191,162, 89,231, 53,242,111, 55, 90, 2, 0,175, 73,165,210,205, 75,150, 44, -217,118,253,250,245,109, 67,134, 12,217, 38, 16, 8, 54, 87, 21, 12,130,102,156,128, 86,215, 28, 24, 4,233,228, 97,244,174, 21, - 31,112, 53, 71, 55,116,208, 46,159, 6,210, 10,233,252,167,100,232, 30, 60, 30,239,170,143,143, 79,184, 84, 42,205,110,211,166, -205, 37, 30,143,119, 3, 64,207,150,166,211,218,218,218,242,221,119,223,101,158, 61,123, 70, 38, 78,156, 72, 12,104,190,106, 84, -211,193,193,161,239,200,145, 35,181, 41, 25, 5,228, 82, 76, 10, 57,126,241, 1,217,119,252, 42,217,182,255, 12,217,248,221, 30, -210,191,127,255, 10,107,107,107,167,166,104, 58, 58, 58, 14, 28, 54,108, 88, 65, 78, 78, 14,137,141,141, 37, 23, 47, 94,124,110, -174,190,251,238, 59,210,177, 99,199, 92, 59, 59, 59,219,166,104, 58, 57, 57, 13, 31, 63,126,188, 86,153, 91, 74,174, 63,200, 32, -191, 95,143, 39, 71,207,223, 33,251,143, 95, 37,123,246,255, 76,122,245,234, 85,110,105,105,105,221,152,166, 66,161, 24, 61,106, -212,168, 39,110,110,110,223,215, 97, 6,190, 25, 53,106, 84,146,173,173,237,132,151,148,151, 6,218,217,217,197,242,249,252, 19, - 0, 38, 52,242,187, 49, 92, 46,247,152,141,141,205, 77, 0,175,191,132, 60, 63,196,202,202,234, 26,128, 97, 6, 24,182,107,245, - 24, 60,182, 82,172,204,147, 67,124,125,125, 99,108,108,108,214,163,145, 38, 95, 59, 59, 59,145, 66,161,248,202,207,207,239,170, -141,141,205,200, 38,166,211,190,234,198,118,120,213, 43, 24,149,115, 95, 53,123,223, 45, 92,251, 13,181,243, 27,118,212,182,227, -107, 73,182, 29,135, 36,217,251, 15, 63,106,225,218,111,104, 75, 53,237,253,135,255, 98,235, 59, 36,217,222,119,104,162,163,255, -240,163,150, 29,250, 13, 98,205, 16,107,176,254, 42,140, 1,140,161,105,122, 43,128, 49,104,124, 84,141,247,203,208, 28,216, 11, -118, 31,190,201, 57, 57,111, 18, 47,187, 21,211,249, 79,201,208,195,185, 92,110,100, 85, 65,214,106,233,116,113,113,217, 49,117, -234, 84,189,163,163,227,150,214,210,244,240,240, 88, 63,116,232, 80,205, 15, 63,252, 64,126,253,245, 87,178, 99,199, 14,242,217, -103,159,145,222,189,123, 87,184,185,185, 77,106,142,166,143,143,207,138,190,125,251,230,132,133,133,145, 3, 7, 14,144,173, 91, -183,146,144,144, 16,198,207,207, 47,203,205,205,109, 72,115, 52,189,189,189,127, 24, 62,124,184,102,239,222,189,228,252,249,243, -228,192,129, 3,100,209,162, 69,164, 87,175, 94,229,174,174,174,111, 24,170,217,174, 93,187,250, 12, 62,252,253,253,121,108,129, -203,106,178,154,172, 38,107,176,254,187, 6,171, 26,238,159,112, 2,254, 41,154,255,217,139, 68,161, 80,136, 91, 91,211,214,214, -182,163,151,151,215,185,206,157, 59,231, 7, 6, 6,102,121,123,123, 31, 81, 40, 20, 14, 45, 76,167,159,191,191,255, 33, 63, 63, -191, 39,254,254,254,247,125,124,124,190,175,158,102,162, 5,233,236,236,227,227,115, 33, 40, 40,168, 32, 48, 48, 48,211,211,211, - 51,172, 86,228,138,205, 75,172, 38,171,201,106,178,154,172,193,106,178, 1,169,205,159,241, 24,143,127,138,230,127, 22,165, 82, -169,106,109,205,244,244,244, 59,233,233,233,175,180,114, 58,163,149, 74,229, 91,173,156,206,235,233,233,233,189,217, 92,192,194, -194,194,194, 98, 8, 52,123, 8, 88, 88, 88, 88, 88, 88, 88, 88, 90, 23, 10,245,135,249,154,242,164,236,230,132, 10,239,177,154, -172, 38,171,201,106,178,154,172, 38,171,249,159,211,172,173, 93,187, 47,107,237,209,191, 63,128,165, 85, 78, 12,171,201,106,178, -154,172, 38,171,201,106,178,154,255, 61,205,127, 21,108, 19, 33, 11, 11, 11, 11, 11, 11, 11, 11,107,176, 88, 88, 88, 88, 88, 88, - 88, 88, 88,131,197,194,194,194,194,194,194,194,194, 26, 44, 22, 22, 22, 22, 22, 22, 22, 22, 22,214, 96,177,176,176,176,176,176, -176,176,176,176,176,176,176,176,176,176,176,252, 87, 32,236, 33, 96, 97, 97, 97, 97, 97, 97, 97,189, 72,203, 96,155, 8, 89, 88, - 88, 88, 88, 88, 88, 88, 88,131,197,194,194,194,194,194,194,194,242,207, 48, 88,108,211, 32, 11, 11, 11, 11, 11, 11,203,203,228, - 95,233, 69,122, 85,237, 88, 47,246,252,178,176,176,176,176,176,176,176, 94,132,133,133,133,133,133,133,133,133,133,133,133,133, -133,133,133,133,133,133,165,249,176, 79, 26,103, 53, 89, 77, 86,147,213,100, 53, 89, 77, 86,243, 63, 7, 59,138,144,133,133,133, -133,133,133,133,133, 53, 88, 44, 44, 44, 44, 44, 44, 44, 44,172,193, 98, 97, 97, 97, 97, 97, 97, 97, 97, 13, 22, 11, 11, 11, 11, - 11, 11, 11, 11, 11,107,176, 88, 88, 88, 88, 88, 88, 88, 88,254, 54, 80,168,127, 36,192,189, 38,232, 52,103, 52,193, 61, 86,147, -213,100, 53, 89, 77, 86,147,213,100, 53,255,115,154,141,105,223, 3,203,159, 98,188, 88, 77, 86,147,213,100, 53, 89, 77, 86,147, -213,252,239,105,254,171,224,178,135,128,133,229,159, 13, 57, 4, 14,172, 58, 56,131, 33,182,224, 10,148, 56,127,247, 41,181, 20, - 76,139, 53,109, 61,157,160,214, 90, 67, 44,202,198,111,119, 18, 90,170,201,194,194,194,194, 26, 44, 22, 22,150,127, 14, 10,119, - 55,232,177, 26, 28, 40, 64, 52,241,232,238,185, 26,120,208,178, 16,187,133,187, 27,180,204, 74,112,105,123,168, 53,143,209,179, -195, 26, 32,246, 1,123,176, 89, 88, 88, 88, 12,227,165,116,114, 15, 8, 8,184, 29, 16, 16,176,162, 87,175, 94, 66,246, 20,176, -176, 52, 31,114,215, 91, 2,157,126,144, 90,203,216,157,142, 44,176, 42, 43,215,187,129,175, 27, 76,174,184, 26,183, 72,147, 71, -189, 90,174,101, 28,127,252,189,204,186,180, 92,231, 1, 26, 45,210,172,198,203,203,203, 52, 48, 48,240,180,175,175,175, 37,123, -246, 88, 88, 88, 88,131,213,202, 48, 12,227,111,101,101, 53, 75,165, 82, 37,117,234,212,105,216,127,233,128,119,238,220, 57,178, - 75,151, 46,153, 93,187,118,205,236,218,181,107, 84, 99,203,255,141, 40, 20, 10, 55,111,111,239, 36, 79, 79,207,199, 53,151,203, - 59,190,222,205, 61,120,194, 18, 11,207,225,189,216, 75,211, 64, 74, 25,107,208,156, 62, 15, 18,203, 36, 25, 5, 90,235,219,177, -101, 82, 16, 78,111,104,160,104,145, 38, 67,250,198,196,171,140,174, 62,149, 91, 95,186, 87, 33, 3,161,251,128, 80, 54, 45, 77, -174, 64, 32,248,128, 16,210,159,199,227,205,100, 79,222,127, 30,111, 0,195, 0, 4,182,162,230,151, 29, 58,116, 72, 3,240, 9, -123,120, 89,254, 49, 6,235, 77,103,116, 31,219, 22, 17,163,156, 81, 60,186, 45, 74,198,183,197,229, 55,218,161,217, 21,225,145, - 35, 71,196,161,161,161, 86,158,158,158, 97, 65, 65, 65,151, 59,117,234,228,218, 28,157,128,128,128,211, 1, 1, 1,111,213, 94, -214,169, 83,167,209, 53,151, 5, 6, 6,222, 15, 12, 12, 44, 12, 8, 8,120,106,136,174,191,191,255, 19,127,127,255,210,128,128, -128, 39, 53,151,119,234,212,105,116, 96, 96,224,233, 90,255,247, 86,237,101,245, 30,112,154,182, 63,118,236,152,213,137, 19, 39, -172,184, 92,174,117,237,229,199,143, 31,127, 97,121, 51,142,199,148,128,128,128,200, 90,251,242, 94,237,234,112, 30, 91, 0, 0, - 32, 0, 73, 68, 65, 84,101, 13,209,169, 83,167, 72,127,127,255,247,106,233, 70, 6, 4, 4, 76,105, 13,115,213,179,103,207,203, -209,209,209,142, 82,169,212,180,230, 58, 27, 11,211, 1,145,199,191,153, 53,233,173, 87, 63,144,123,140,240, 97, 47,207,134, 33, - 15, 61,248,208, 49, 61, 25,134,200, 31, 60, 45,151, 15,126,237, 77,110,204, 19,149, 92,171,211,155,131,226,244, 38, 23,156,132, -205,210,212,106,131, 25, 66,172,207,197,240,229,189,135,126,204, 9,191,203,149,107,245,122, 11,104,209,171, 57,154, 53,242, 33, -143,195,225,204,154, 58,117, 42, 77, 81,212,199,237,218,181, 19,252,151,206, 87,144, 55,236,250,118,226,220,240,247, 64,247, 86, -148,245,146, 72, 36,183, 0,184,253,195, 14,135, 63, 0, 9,128, 95, 1, 88,163,117,186,171,108, 88,190,124,249,231,247,238,221, -179,109,219,182,237, 50, 0, 28,182,148, 96,249,219, 27,172,209,206, 88,106,109, 99,119,102,225,134,125, 61,119, 68, 36, 24,127, -123, 44,202,104,214,220,144,238, 54,102,242,147,227,219, 97, 77, 3, 63,189,215,192,157, 44,158, 62,125,138,205,155, 55,139,150, - 46, 93,218,205,196,196,228, 78, 80, 80,208, 70, 15, 15, 15,163, 70,146,243,130, 38, 33,164, 59,143,199,219, 17, 20, 20,180,187, -186,192,166, 40,170,187, 80, 40,252, 33, 40, 40,232,199,234,102,200, 78,157, 58,181,189,113,227,134,140,162, 40,107, 67,210, 25, - 20, 20,164,184,125,251,182, 4,168,140, 4,244,234,213, 75, 24, 24, 24, 24,106,103,103,183, 13,168, 44, 32,219,181,107, 39, 8, - 10, 10,218,237,224,224,176,157,162,168,238,134,236, 59, 77,211, 48, 53, 53,197,190,125,251,192,225,252,239,250,167, 40, 10,166, -166,166,248,233,167,159, 64, 81, 84,147,143,167,135,135,135, 81, 64, 64,192, 17,133, 66,177,145, 97,152,174, 0,224,237,237, 45, - 9, 12, 12, 60,108,103,103,183,169,122,153, 33,154,132,144,174,124, 62,127, 99, 96, 96,224, 97,111,111,111, 9, 0, 48, 12,211, -149,203,229,110, 8, 8, 8, 56,210,148,115,228,231,231, 55,213,199,199, 39,221,199,199, 39,221,205,205,109,149,181,181,245,133, - 45, 91,182, 88,212,220,247,234,200, 85,102, 86,110,126,228,205,251,177,179,166,190,217,219,209,193,122,188, 73,199,225, 38,134, -236,123, 11,248,103,107,230, 82, 86,160, 72,191,216, 36,149,168,141, 75,128,145,149,251,155,144,155,114,133, 87, 31,150, 74,193, -193, 43,224, 73,228,205,211,228,190,114, 63, 65, 37, 54,107, 59, 72, 18,216,165, 39, 40, 35, 87,225,133,232, 82, 25,184,116,243, - 52,107,220,167,117,237,218, 85,208,175, 95, 63,216,218,218,114, 76, 76, 76,198,255,235,207, 81, 13,115, 37, 21, 9,174,175, 95, -254,105,128,173,133,228, 23, 3, 77, 86, 99,233,244,178,178,178, 10,255,230,155,111, 58, 73,165,210,139, 6,154,172,191,195,241, -244, 7,192, 7,112,173,234,251, 3, 0,193, 45,212,220,176,116,233,210,153,243,231,207, 71,113,113, 49, 38, 77,154, 36, 3,176, -222, 80, 77, 99, 99, 99, 23, 31, 31,159, 31, 61, 61, 61,147,125,125,125,213,238,238,238,229,110,110,110,137, 94, 94, 94,123,132, - 66,161,243,191, 61,127,254,141, 52,235,191,249, 35, 68, 64, 8,233, 67, 8,121,141, 16,242, 10, 33, 36,168,234,115, 96,213,235, - 53, 66, 72,191, 90,239,129, 85,191,173, 94,223,185, 30,141,215,106,255,174,198,111,106,127,127,225,179, 33, 6,139,212,122,127, -206, 91,109,209,205,194,198,238,243, 47,143,222, 20, 51,113, 49,184,253,110, 95,196,126, 50, 2,226, 39, 49,152, 55,125,158, 88, - 42, 53,155,254,102, 91,244,105,206, 1,123,252,248, 49,194,194,194, 96,105,105, 73,237,220,185, 83,248,214, 91,111,125, 32,147, -201, 82, 2, 2, 2,198, 27,170,193,225,112,244,187,119,239, 54, 30, 62,124,248, 24,115,115,243,251,254,254,254,109,105,154,214, -239,221,187,215,120,244,232,209,111,169,213,234,135,157, 58,117,114,141,138,138,210,223,188,121, 19, 52,109, 88,208,238,246,237, -219,186, 83,167, 78, 85, 71,116, 92, 9, 33, 15,215,172, 89, 51,230,231,159,127,150,154,152,152, 48,254,254,254,109, 29, 28, 28, -238,127,249,229,151,227, 15, 31, 62, 44,149,201,100, 6,141,176,162, 40, 10,229,229,229, 16,137, 68, 47, 24, 41,138,162,160, 82, -169, 32, 20, 10, 13, 78, 99,141,200,128,151,133,133,197,163,213,171, 87, 15, 63,122,244,168, 88, 42,149, 34, 32, 32,192,195,212, -212, 52,118,237,218,181, 35,126,249,229, 23,177, 84, 42, 53, 88,143,207,231,227,167,159,126,146,140, 27, 55,110,152, 80, 40,124, - 20, 16, 16,224,193,231,243,177,127,255,126,201,248,241,227,135, 72, 36,146,135,254,254,254, 94,134,104,105,181,218,197, 55,111, -222, 84, 92,184,112, 65,225,228,228, 52,227,219,111,191,181,230,241,120, 0, 0,189, 94,255, 66,228,106,252,200,254,157,103, 46, -254, 38, 92, 85, 94,161, 94, 57,111,114,111,158, 30, 93,216,123,160,122, 10,155, 67,224,128,209,251, 3,104, 31,245, 88,101,233, -219,115, 60, 23, 89,191, 34,200,195,152, 27, 17, 85, 98, 69, 8,113,130,142, 4,145, 11,189,184, 77,210,228, 16, 95, 80,140,235, -153,104,202,178, 91,191,241,220,164,164, 36, 56,123,244,230, 28,191, 9,107, 66,136, 51, 24, 4, 52, 69,179, 38, 60, 30,111,201, -168, 81,163,140, 18, 19, 19,209,173, 91, 55,137, 64, 32, 88,220, 26, 81, 60,114,205,205,137, 68,184,246, 38, 87, 92, 21,205, 77, -219,159, 29,185,146,137, 4,215,246,255,120,192,214, 39,120, 10,181,237, 83, 39,115,185,148,247, 75, 11, 35, 89, 94, 86, 86, 86, -231,175, 95,191,110,241,234,171,175, 98,233,210,165,114,153, 76,102,168,201,122,217,145,171,106,115, 37, 70,101,243, 96, 26, 0, -251, 22,104,110, 90,186,116,233,204, 5, 11, 22,224,218,181,107, 88,187,118, 45, 6, 13, 26, 4, 51, 51,179, 70,203,143,183,223, -126, 91,210,173, 91,183,219,195,134, 13,139,153, 57,115,230,248,227,199,143, 59,236,222,189,155,255,206, 59,239, 8, 71,141, 26, -229,244,233,167,159, 78, 28, 60,120,240,189,160,160,160,235,111,190,249,166,168,153,198,128, 34,132, 80,108,169,101,216,225,170, -207,139, 0,232, 56,127,254,252, 32,138,162,142,207,159, 63, 63, 0,128, 37, 69, 81,199, 1,200, 1,200,171, 62, 11,106,189,203, - 9, 33,253,106,172,183,168, 75,163,250, 85,243,119,213,191,169,227, 63,106,127, 54, 40,130,213, 11,192,197,218, 27,112, 9,150, - 79,157,181, 66,244,108,207,215, 80,254,184, 1,116, 78, 26, 56, 5, 25,168,184,248, 43,180,151,142, 97, 66,215,174, 98, 49, 69, -173,108,206,145,148, 74,165,224,243,249,136,139,139,195,195,135, 15, 49,120,240, 96,254,230,205,155, 77,189,188,188,126,232,214, -173, 91, 76, 64, 64, 64, 71, 67, 12,139,139,139, 11,198,140, 25, 35,248,228,147, 79,218,137, 68,162, 40, 66, 8,207,217,217, 25, -163, 71,143,230,207,157, 59,183,141, 72, 36,186,201, 48, 12, 95, 34,145, 52, 20, 29,250,131,174, 88, 44, 6, 0,158,171,171,235, -173,176,176, 48,231,238,221,187,115,207,156, 57,131,162,162, 34,174,155,155, 91,204,254,253,251,219,119,235,214,141,123,249,242, -101,148,150,150, 18, 67,117, 75, 75, 75, 33, 22,139,255, 96,176, 74, 75, 75,255, 96,188, 26, 35, 32, 32, 96, 74,251,246,237,111, -134,133,133,217, 7, 7, 7,115,194,195,195, 81, 92, 92, 12, 39, 39,167, 91, 97, 97, 97,246,221,187,119,231, 68, 70, 70,162,184, -184,216, 96, 77,129, 64, 0,103,103,103,140, 26, 53,138, 55,103,206, 28,123, 30,143,119, 83, 32, 16,192,201,201, 9,163, 70,141, -226,207,158, 61,219, 94, 32, 16, 92, 55,176,201,144, 3, 0, 58,157, 14,111,189,245,150,145, 88, 44, 70, 74, 74, 10, 24,134, 1, -195, 84,122, 82,101,118,238,221, 43, 55,239, 61,154, 53,237,173, 94,165, 21, 21, 21,191, 93,184,245,208,211,213,201,158,162, 72, - 27,182,188,169, 7, 51, 79, 11,112,208, 63, 41, 93, 45, 20, 24,217, 75,141, 45, 59, 0,121, 23,209,214, 86, 8, 16, 74,116,243, - 81,153, 17,104,210, 31,200,177,104,146,166,158,233,159,144,166, 22,106,196,222,198,182,118,142,200,205,205,133,131,179, 59, 42, - 32, 23, 68,222, 43, 53, 6,105,162,102, 21,190,190,190,193, 14, 14, 14, 54,109,218,180, 65, 78, 78, 14, 92, 92, 92, 96,108,108, -108,230,239,239,223,191,217, 37,241, 5, 39, 33, 10,209, 29, 26,106, 61, 40,122, 25, 8,119, 53,184,217,254,228,182, 63,239,111, -103,174,126, 58, 96,103,161,112, 7,238,189, 11,107,115, 1,118,206,247, 53,151, 75,133,205, 53, 89, 94,214,214,214,231,175, 95, -191,110, 41, 18,137,112,251,246,109,120,122,122,226,235,175,191,150,155,153,153,253,157, 77, 86, 77,115,101, 14, 64, 5,128, 1, - 48,182,153,209, 16, 10,192,214, 21, 43, 86,204, 88,176, 96, 1,174, 94,189, 10, 59, 59, 59,100,101,101, 33, 56, 56, 56, 41, 63, - 63,191,193,122,201,211,211,211, 62, 46, 46, 46,237,211, 79, 63,245, 15, 13, 13, 21, 27, 25, 25,161,160,160, 0,219,183,111,199, -252,249,243, 65, 81, 20, 8, 33,216,181,107,151,100,242,228,201, 65,241,241,241,105, 78, 78, 78, 6,117,223,168, 50, 85, 2, 66, -136, 4,128, 17, 0, 9, 33, 68, 52,125,250,116, 1, 0, 97,149,185, 20, 1,224,177,133,217, 31,168,211,139, 0,176, 92,179,102, - 77, 8, 33,100,200,154, 53,107, 66,106,212,157,199, 27,168,111,107,154, 38, 0, 64,109, 13, 66,200,144,154,239, 53,127, 75, 8, - 25, 66, 8, 25, 82,243,247, 13,253, 95, 67, 6,235, 66,213,142,213,182,147, 29,109,218,118, 64,193,239,135, 32,230, 80, 47,188, -232,132,187,112, 16,113,161, 37,196,171, 57, 71,209,216,216,248,249,139,166,105, 40,149, 74,112, 56, 28, 44, 94,188, 88, 52,125, -250,116, 31, 62,159,127, 53, 56, 56,120,117, 99,134, 5, 0,110,220,184, 1, 23, 23, 23,106,193,130, 5,178, 94,189, 42,239, 98, -239,220,185,131,246,237,219, 83,171, 86,173,146, 14, 29, 58,148,146, 72, 36, 6, 71,135,104,154,134, 88, 44, 70,239,222,189,169, -221,187,119, 27, 11,133, 66,156, 56,113, 2, 57, 57, 57,120,245,213, 87,185,187,119,239, 54, 22,137, 68,136,136,136, 64, 97, 97, -161,193,186, 20, 69,161,162,162,162, 78,131, 85, 87,100,171, 33,186,118,237,186,211,198,198,102, 99,104,104,168, 80, 44, 22, 35, - 60, 60, 28,133,133,133, 24, 51,102,140,238,167,159,126, 18,201,100, 50, 68, 70, 70,162,176,176,176, 89,185,252,198,141, 27,104, -223,190, 61,181,112,225, 66,113,215,174, 93,181, 0, 16, 29, 29, 13, 87, 87, 87,106,225,194,133, 98,153, 76,182,161,123,247,238, - 59, 27,210, 96, 24, 6, 74,165, 18,247,238,221, 67, 66, 66, 2,114,114,114,144,157,157,141,226,226, 98,232,116, 58, 0,128,164, -184,232,196,214,221,199, 98,140,196, 98, 73,103, 31, 87,199,235, 81, 15,178,140,196, 98,137,171,179,163, 27,176,148,125,156,211, - 31,175, 73, 10, 60,181, 43, 8,229,127,237, 65,137,121,240,128,177,124,100,159, 2,136, 22,160,184,232,211,217,158,251,203,229, - 82,107, 48,232, 8, 62,220, 9, 1,101,144, 38, 87,227, 2, 80, 1,103,110,235, 44,122, 12,248,128,159,154,154, 10, 62,159, 15, -161, 80, 8,191,238,111,112,247,135,107,109, 0,248,130,135, 14,134,104,214, 68, 40, 20,126, 49,121,242,100,163,180,180,180,231, -154,131, 6, 13, 50,146, 72, 36, 75,154,109,174,104, 73, 87,232,200,204,251, 9, 42,167, 85,123,148,238, 79, 83, 84,238, 32,152, - 13,173,214,175,165, 38,203,209,209,177,183,171,171,107, 66,155, 54,109,122,180,208, 92, 93, 13,251,233,128,157,185, 77,165,185, -130,190, 12,224,136, 97, 99,101,134,157, 75,122,155,203,101,226,166,154, 44, 47,107,107,235,115,215,174, 93,179, 20,137, 68,184, -117,235, 22, 4, 2, 1, 68, 34, 17,124,124,124,176,109,219, 54,185,185,185,249,223,197,100,153, 1, 24, 0,224, 77, 0,111,212, - 48, 87,206, 0,250, 2,232, 15,192, 6, 64, 4,128, 24, 3, 53,123,112, 56,156, 19, 29, 59,118, 76,231,114,185, 15, 66, 66, 66, - 62,154, 59,119, 46, 54,109,218,132,222,189,123, 63,157, 55,111, 30, 98, 99, 99,117,101,101,101,195, 0, 52, 88, 17,150,148,148, -252,186,112,225, 66,147,215, 95,127,189,250, 59, 46, 95,190,140,189,123,247,194,200,200,168,166, 89,194,208,161, 67, 49,101,202, - 20, 51,181, 90,125,164, 33, 77, 43, 43,171, 87,194,195,195, 93, 1, 8,170, 12, 84,181,193, 50, 58,123,246,172,169, 72, 36, 50, - 15, 10, 10,146, 85, 45,151,188,254,250,235, 22, 92, 46,183, 7, 91,170,189, 64,157, 94,164, 62,131, 83,219, 0,213,181,174, 46, -243,212,236,242,183,129,255,107,200, 96,245,174,202,232,127, 64,147,151, 9, 33,244,144,112, 40,136,185, 84,229, 59,135,130,152, - 98,192,205,207, 4,213,204,224,167,177,177, 49,164, 82,233, 31,140,150, 74,165, 66, 73, 73,137, 65, 70,163,186, 47,143,153,153, -217,243, 74,219,216,184,114, 52,185,185,185, 57, 42, 42, 42, 64, 81, 20,140,140,140, 96,100,100,212,164, 8,150, 72, 84, 25, 17, -142,140,140,196,149, 43, 87,192,229,114, 97,110,110, 14, 0,184,117,235, 22,238,222,189, 11,129, 64, 0, 11, 11,139, 38,233,106, - 52,154, 58,155, 8,213,106,117,147,154, 8,105,154, 70,121,121, 57,185,117,235, 22,238,221,187, 7,161, 80, 8,185, 92, 14,129, - 64,128,148,148, 20, 60,122,244, 8, 2,129, 0,114,185,188, 89,231, 71, 38,147,161,160,160, 0, 12,195, 84, 71,243, 32,147,201, - 80, 82, 82, 2,154,166, 13, 74, 39,195, 48, 72, 75, 75, 67, 78, 78, 14,146,147,147,145,157,157,253,220,100, 85, 55, 17,178, 52, -145,203, 94, 38,160,120,175,102, 23,104,133,217, 37, 2, 19,235,246,253,128,156, 83, 0,197, 1,120,102,232,226,223, 22, 73, 25, -122,163,216,100,181, 8, 90, 12,192,121, 55, 51,131, 52, 57,188,254, 89,133, 90, 97, 98,129, 92,230,225,221, 9, 89, 89, 89, 16, - 10,133, 16, 10,133, 8,232,242, 10, 18,210, 25,201,131,103, 42, 9, 8, 94, 53, 72,179, 10, 63, 63,191,118, 98,177,184,171,191, -191, 63,149,153,153, 9,161, 80, 8,145, 72,132,174, 93,187,130,166,105, 31, 95, 95, 95,247, 38, 21,112,241,237, 4,224, 73,186, - 0,100,230,163,103,101,182,191, 68,170,220,134,142,120,195,124,195,193, 44,247, 71,207,202,157,161,214,205, 65,169,166, 83,115, - 77,150,147,147, 83, 47, 99, 99,227,227, 95,124,241,133,179, 80, 40, 60,213,166, 77,155,224,102,149,111, 66,206,247, 95,204, 28, -107,103, 86,109,174,116,165, 0, 71, 12,112, 36,149, 38,203,218, 18, 43, 63,233,103, 46,225,243,254,207, 80, 77,177, 88,188,127, -235,214,173,242,106,115,197,231,243, 33, 18,137,158,191,252,253,253,177,120,241, 98,185,185,185,249,190,151,156, 75,205, 81,217, -175,234, 14,128, 35, 0,206,213, 48, 87, 46, 0,254,175, 42,106, 21, 5, 32,201, 64,205,110, 3, 7, 14, 12,127,250,244,233,224, -152,152, 24, 69, 70, 70,134,251,236,217,179,177,113,227, 70,204,157, 59,119, 31, 33,196,237,208,161, 67,126, 55,110,220,240, 49, - 36, 34,150,145,145, 49,110,222,188,121, 57, 57, 57, 57, 0, 0,111,111,111, 20, 20, 20, 96,206,156, 57,152, 57,115,102,117,222, - 5, 0,100,101,101, 97,221,186,117,153, 25, 25, 25,147, 26,210,212,235,245, 41, 63,255,252,115, 87,181, 90,237, 88,101, 40,133, - 0, 36, 73, 73, 73, 38,165,165,165, 50, 14,135, 35, 53, 50, 50,146, 9,133, 66,163,201,147, 39,243, 31, 60,120,224,161,211,233, -210,216, 66,237, 5,234,245, 34,117, 69,154,234, 91,214,220,237, 13, 53, 89, 77, 53, 88, 17, 0,122,254,193,192, 80,184,147,124, - 51, 2,230,158,254, 47, 70,176,184, 20, 36, 82, 25, 18,210, 82,192, 7,117,191, 25, 9,124,110,170,106,154, 44,165, 82,137,121, -243,230,149,253,248,227,143,119,213,106,117,215, 75,151, 46,205, 55, 36,130,101,101,101,133,228,228,100,242,213, 87, 95, 21,157, - 58,117, 74, 87,189, 44, 37, 37,133, 44, 90,180,168,248,192,129, 3,164, 41, 77,132,213, 17,172,136,136, 8,178,100,201,146,194, -244,244,116, 98,110,110, 14, 11, 11, 11,156, 61,123, 86, 55,127,254,252,194,248,248,120, 98,110,110, 14,115,115,243, 38, 25, 44, -157, 78, 7,177, 88,252,130, 65,161, 40, 10, 90,173,246, 15,145,173,134,184,114,229,202,187,133,133,133,159,206,153, 51, 71,245, -240,225, 67, 34,151,203, 33,151,203,177,103,207, 30,238,196,137, 19, 85,119,238,220,121,190,172, 57, 88, 90, 90,226,241,227,199, - 36, 36, 36, 68,117,238,220, 57, 30, 0,200,229,114,196,198,198,146,229,203,151,171, 10, 10, 10, 62,189,114,229,202,187,141, 20, - 56, 72, 72, 72, 64, 81, 81, 17,244,122, 61, 42, 42, 42,144,157,157,141,212,212,212,231, 6, 75,101, 36, 27,248,241, 59, 67,125, - 75, 85,170,178,235,119,227,146, 59,251,123, 90,149,170, 84,101,113,207,146, 31, 3, 75,217,217,195,255,112,241, 48, 54, 32,164, -199,229,187, 37,166,253, 95, 27, 45,160,138,110, 0,218, 18,128,103, 6,240, 76,193, 21, 89, 96,208, 43,126,156,221,191, 21,217, -128, 98,186, 65, 36,108,188,127, 11, 67,172,193, 48,193,103,111,149,155,245, 24, 60, 93,144,151,151, 7,154,166,159, 27, 44,137, -145, 17, 94, 25,242, 54,189,235,183, 10, 27, 48,164, 59, 56, 28,131,251,204,240,249,252,207,223,121,231, 29,126,126,126,254, 11, -154, 98,177, 24, 35, 70,140, 16, 74,165,210, 69, 6,239,250, 67, 15, 62, 50,133, 93,192,144,153,177,137, 42,219,159,175,168,220, -102, 47,222, 37,246,234,216, 25,211,134, 91,137, 87,133,102,121,198,196,151, 57,131,214,207, 66,153, 58,128,108,107,154,201,106, -211,166, 77,176,145,145,209,137,163, 71,143, 74,250,244,233,131,217,179,103, 27, 9,133,194, 83, 78, 78, 78, 61,155,122,154, 74, -139,245, 31, 47,223, 16,154,121,231,224, 0, 64, 87, 92,101,174,254,247,202, 42,100,176,120,107,120,161, 86, 79,198, 26,170,169, - 82,169, 38,190,247,222,123,185, 71,142, 28,249,131,185, 18,137, 68,120,246,236, 25, 86,173, 90,149,151,151,151, 55,233, 37,231, - 82, 63, 0,209, 0,202,171,162, 17, 18, 84,142, 20,236, 10,224, 44, 0, 61,128, 76, 0, 74, 67, 5, 57, 28,206,220,111,191,253, -150,171, 82,169, 48,101,202, 20,164,164,164, 32, 61, 61, 29, 11, 23, 46,124,198, 48,204,196, 42,205, 24, 0,143, 12,209,211,104, - 52,177,249,249,249, 67, 6, 14, 28, 88,144,159,159,143,142, 29, 59, 98,200,144, 33,176,177,177,129,173,173, 45,134, 13, 27, 6, - 87, 87, 87,228,230,230, 98,236,216,177,121,217,217,217, 3, 0, 52, 56, 10, 61, 55, 55, 55,254,224,193,131,241, 31,125,244, 81, - 96, 74, 74,138, 55, 0,133, 86,171, 53, 87,169, 84, 82,157, 78,103, 44,147,201, 44, 58,117,234, 36,159, 54,109,154,233,205,155, - 55, 61, 83, 83, 83, 75,154, 96, 48,255, 43,212,233, 69,154, 11, 69, 81, 39, 90, 18,169,170, 43, 2,102, 40,213, 53, 60, 85,235, -253,127,153, 16, 88,188,247,240,222,114,129,147, 43, 76,220,125, 33, 17,137, 32, 22, 10, 32, 54, 53, 71, 57,195, 96,199,179,140, -178, 82, 66, 22, 53, 35,241, 47, 68,174, 24,134,193,182,109,219,202, 87,174, 92, 89,144,145,145, 49,237,210,165, 75,190,183,110, -221,186, 99,136, 17, 42, 42, 42,194,161, 67,135, 84,187,119,239,126,170, 82,169,252,249,124,190, 86,173, 86, 99,223,190,125,229, - 27, 55,110, 76, 44, 43, 43, 11,228,241,120,154,166, 52,191, 85,247,193,226,241,120,218,242,242,114,255,176,176,176,248, 19, 39, - 78,168,100, 50, 25,120, 60,158,182,172,172,204, 39, 52, 52, 52, 54, 44, 44, 76, 37,147,201,154,100,220, 24,134,169, 51,130,165, -215,235, 33, 20, 10,155,212, 7,235,214,173, 91,219, 53, 26, 77,231,125,251,246,165,238,218,181,171, 92, 38,147, 1, 0,180, 90, -109,224,222,189,123, 83,191,255,254,251,138,166,116,112, 7, 0,181, 90, 13,189, 94,143,208,208,208,138,253,251,247,167,234,116, -186,192,234,101,187,118,237, 42, 15, 13, 13, 77,213,104, 52,157,111,221,186,181,189, 49, 45,189, 94,175, 47, 40, 40, 0,151,203, -197,211,167, 79, 43,132, 66, 33, 56, 28, 14,226,226,226,158, 27, 44, 43, 75,115,207,238,129,222,238, 95,127,127, 40,194, 72, 40, - 20, 14,232, 29,224,241, 32, 46, 41,149, 16, 42,145, 45,107,234,170, 25, 32, 1, 5,113, 92, 74,133, 84,196,211, 82,200,248, 63, -128,111, 86,101,176, 42, 95,182,118,246,184,249,168, 76, 10, 10, 2,168,181, 86,141,106,106,137, 17, 40, 72,238, 37, 65,202,229, -139,169,140,140,140,231,145,166,106, 67,228,220,222, 3, 81,113, 37,198,160,136, 16,149, 67,235, 13, 46,168,140,141,141,185, 74, -165,242,185,214,115, 77,103,103,142, 86,171, 29, 96,240,190,103,235, 21, 96,152,143, 31, 39,151,219, 30,189,162,114,157,181,120, -151, 88,204,201, 7, 18, 55,193,203,213, 6,179, 39,249, 10, 22,238,200,246,186,249,160,172, 29, 40, 50, 13, 94, 37, 6,223, 93, -180,105,211,166,135, 68, 34, 57,117,244,232, 81,137,145,145, 17,158, 62,125,138,142, 29, 59, 98,197,138, 21, 18,137, 68,114,210, -209,209,177,119, 83, 78,211,245,199, 72, 42, 41,214,119,253,124, 91, 74,198,157,103,250, 74, 99, 69, 87,154,171,236, 66,130,247, -190, 56, 86,144, 95, 84,254,198,181,123,186,243, 77,144,141, 46, 44, 44,124,245,139, 47,190,200,205,201,201,121,193, 92, 37, 37, - 37, 85, 27,129,222, 0,238,191,228, 92,106,132,202,206,235, 29, 0,180, 7,224, 11, 64, 7,160,184,202, 8, 53, 25, 79, 79, 79, -127, 39, 39, 39,124,247,221,119,216,177, 99, 71,254,215, 95,127, 13, 66, 8, 92, 93, 93,101,205,213,204,202,202,186, 17, 27, 27, - 59,192,215,215,247,225,150, 45, 91, 82, 21,255,207,222,119,135, 71, 81,237,239,191, 51,179,189,164,145, 30, 8,129, 64, 72, 72, - 8, 37,244,222,164, 74, 23, 5, 20,165, 72, 85, 4, 47,136, 32,160, 72, 7,169,162, 20,165, 55,129, 0, 82,165, 72, 71, 66, 13, - 37, 9,164, 64,122,223,180,221,108, 47, 51,231,247, 71, 18,164,164,108,128,251,189,247,231,157,247,121,246,201,206,236,204,155, -211,230,156,119, 62,159,207, 57,199,219,155, 27, 55,110, 28,198,142, 29, 11,119,119,119,118,221,186,117,169, 29, 59,118,140,122, -242,228,201, 59,122,189,254,161, 61,205, 61, 47, 47,239,250,214,173, 91,111,117,239,222,221, 97,244,232,209,158, 91,182,108,241, -122,252,248,113,109,189, 94, 95, 51, 55, 55, 87,113,229,202, 21,201,206,157, 59,189, 98, 98, 98,146,140, 70,227, 45,148, 31,208, -253,191,138, 10,181, 8, 0, 85,169,208, 49,191,244, 87, 85,197,111,246,222, 91,238,119, 59,174,171, 16, 85,206,184, 57,152,136, -235, 31,213, 43, 90,177,112,219,230,175, 70, 54,110, 40,171, 83, 55, 24,172,182, 8, 15,179,179,177, 51, 75,173,183, 18,242, 83, -120, 34, 46,190,174,192, 98, 24, 6,103,206,156, 97,247,238,221,107, 33,132,252,162,209,104,230, 62,122,244, 72,103, 47, 15,199, -113,204,152, 49, 99,180,133,133,133,135,179,178,178, 38, 62,125,250,212,220,161, 67, 7,230,195, 15, 63,212, 22, 20, 20, 28,163, - 40,106,220,221,187,119, 77,237,219,183, 7, 33,246,183, 99,138,162, 32, 18,137, 64, 81, 20,238,220,185,147, 20, 28, 28,220,232, -198,141, 27, 63,199,197,197,125, 64, 8, 97, 34, 35, 35,211,194,194,194,154, 92,191,126,125,253,227,199,143, 71,112, 28,199,216, -203, 91,102, 29,123, 94, 72,209, 52,253, 76,212, 81,213,244,185, 70, 70, 70, 70, 7, 7, 7, 7,223,186,117,107,199,248,241,227, -123, 1,144,223,185,115,231, 81,104,104,104,195, 27, 55,110,236,248,228,147, 79,122,151,190, 65,218, 55,126, 91, 44, 24, 52,104, -144, 94,173, 86,159, 46, 46, 46, 30, 21, 21, 21,165, 15, 11, 11, 43, 59,119,166,168,168,104, 84, 53,234,104,193,143, 63,254,248, -109,105, 93,237, 88,179,102,205,167, 51,102,204,112,207,200,200,120, 38,176,114,243, 10, 46,180,123,119, 10,155, 95,164, 54,111, - 91, 51,115,168, 76, 42, 17,207, 93,182,237,146,149,121, 54,141,155,199,243, 16,179, 26, 16, 58,115,104, 55, 23,201,186,159,182, -138, 70, 15,168, 39, 13,109,232, 87, 34,174, 68, 46,184, 29, 83,132,111,127, 56,200, 45,159,228,158, 8, 14,105, 96, 17, 91, 37, -167, 82,160,129,209,154,251,105, 47,145,100,233, 47,211,252,219,247,251, 74, 18, 28,218,234,153, 16,122, 28,125, 7,107, 22, 79, -225,150, 79,172,145, 8,142,202,132,205, 62, 43, 1, 0,216,108,182,161,203,150, 45, 59, 61,122,244,104, 69,163, 70,141,158,113, - 38, 37, 37, 97,249,242,229, 6,147,201,244,158,125,125, 6, 40, 92, 21, 52, 99, 89,214, 99,207,217,252,128, 47,191,152, 40,151, -209, 5, 64,226,202, 18,241, 34,116, 66,179, 80, 55,124,251,133,151,112,250,210,227, 33,215,126,246,215,194, 42, 10, 6,144,105, - 15,191, 64, 32, 56,185,100,201, 18,185, 76, 38, 67,124,124, 60,100, 50, 25,164, 82, 41,154, 55,111,142,181,107,215,202, 63,251, -236,179, 63, 58,119,238,172,188,124,249,178,173, 58, 34,171,117, 32,219,118,230,134, 39, 17, 43,166, 58,123, 53, 9,114, 67, 94, - 49,240,233,119, 39, 10, 11, 52,134,247,171, 41,174,158,137,172,162,162,162,158,211,166, 77, 59,187,125,251,118,215,224,224, 96, -164,165,165, 97,248,240,225,249, 42,149,170,235,127,129,184, 2, 0, 29,128,154, 0,226, 80, 18,139,148,128,146,184,164,215,158, -229, 25, 19, 19, 19,153,146,146,226, 61,118,236, 88,104, 52, 26,151, 97,195,134,225,233,211,167,136,139,139,187,247, 38, 9, 53, - 26,141,183,211,211,211, 27,127,249,229,151, 35,103,206,156,217,222,193,193,161, 46, 33,132,104, 52,154, 68,150,101,175, 1,216, - 11, 84,107, 31, 78, 2, 32,225,201,147, 39,137, 79,158, 60,241,220,177, 99,135,115,105, 25, 0, 37,129,253,234, 82,235, 29, 31, - 35, 81, 61, 75,212,237,255,196,189,255, 39, 24, 90, 23,237, 71,215,163, 46,127,232,143,226, 17,254,208,142,174, 79,217,179,208, -104,185,187,109,135,133,133, 17,155,205, 70,206,158, 61, 75,250,244,233,163,235,208,161, 67,117, 22, 26,125,129,179, 75,151, 46, -175, 44, 52,218,165, 75,151,211,173, 90,181,122, 97,161,209,206,157, 59, 71,119,238,220, 89,221,169, 83,167,167,246,164,179, 83, -167, 78,143,219,183,111,175,235,212,169,211, 11, 3, 73,203,150, 45, 7,118,235,214,237, 5,147, 99,171, 86,173, 6,188,124,174, -162,188,191,243,206, 59,105,113,113,113, 36, 53, 53,149,244,237,219,247, 89,199,223,189,123,247,180,251,247,239,147,184,184, 56, -210,187,119,239,204,234,148,231,243,104,209,162,197,184,142, 29, 59, 94,127, 41,205,159,190,124,174, 50,206,142, 29, 59, 94,111, -217,178,229,167, 47,159,171,198, 66,163, 21,166,211,219,219, 59,176, 89,179,102,185,107,214,172, 33,254,254,254,185,207,255,214, -168,203,152,121, 69, 26,173,102,198,130,141, 7,202, 89,104,148,223,181,190,172,247,126, 20, 44, 34,127, 5,183, 39, 87,130, 79, - 62,222,229,247,104, 84, 79,133,233,238,222,222,132, 60,254,138,220, 56, 56,150,180, 13, 22,179,127,253,236, 27, 71,174, 52,252, -131, 92, 13,236, 68,254, 40,119, 65,207, 87, 57,175,212,239, 72,174, 52,252, 35,102,135,223,163, 65,157,220,205,123,119,109, 38, - 9, 9, 9,228,216,145,189,164, 77,176,188,148, 51,248, 44,185, 18,220,213, 30,206,151,158,249,246,109,219,182,213, 30, 56,112, -128,196,199,199,147,115,231,206,145,118,237,218,233,155, 53,107,214,213,222,188, 19, 2,138, 92, 14, 25,100,187, 24,116,109,246, -112,101,209,167,189,164,166,225, 93,197,230,129,109, 69,150,158, 97, 34, 91,251, 96, 1,219,196,159,230,130,125, 65,122, 54,151, -153,200,149,160,171,228, 90,112, 47,123,211,217,160, 65,131,212, 58,117,234,144,138, 62,129,129,129,170,178, 9, 52,213,173,247, -214,129,240,123,167,165, 36,235,252, 47, 93, 73,255, 78, 14,249,109, 66, 5,221,222, 66, 91,106,230,230,230,150,183,125,251,118, -226,233,233,169, 2,208,232,191,168,205,215, 0, 48, 16,127, 79, 99, 87, 2,232, 10,192,255, 13, 56,219,245,236,217,211, 26, 25, - 25, 73,158, 62,125, 74, 78,159, 62, 77,218,183,111,111, 67, 73,204,206, 63,246,121,255, 31,227,252, 71,154,227,254, 93, 8, 69, - 57,193,134, 97, 97, 97,164, 87,175, 94,134,203,151, 47,107,205,102,243,132,187,119,239, 30,123, 83,206,127, 71, 58,255, 29,156, - 93,187,118,189, 78,211,180,127,233, 20,224,204,243,231,207,135,149,138,194,235, 12,195,248,151, 90,247, 50, 47, 92,184, 16,246, - 79,203,251,243, 34,139,166,233, 51, 0, 76, 25, 25, 25,207,102, 59,185,135, 12,104, 91,195,197,169,107, 81,145,250, 94, 78,244, -177, 63,254,137,121,127, 91,156,228,143,122, 98, 56,136, 91,128,197,172,168,167,250,186,115,183,230,213,235,215,179,157,112,199, -193, 43,220,138,201, 30, 79,218,133, 40,146, 64,113,203,193,154,110, 81, 93, 82, 76,118,115,202,169, 86,128,112,214,253, 39,122, -191, 25, 27, 10, 3,222,233,255, 41,115, 60,124, 51,247,195,100,215, 39,237, 66,148,169, 0,150,131,211, 71,216,203,249,178,200, -146, 72, 36,127,140, 24, 49, 66,185,111,223, 62,131,209,104,236,119,239,222,189,139,213,201, 59,185, 30, 84, 27, 54,106, 49, 64, -124,171, 46, 54, 58, 1, 54,110, 33,213, 45, 54,245,191,161,222, 91, 7,194, 79,225, 32, 57,161, 55,217,166,217,105,185,178, 39, -157,205, 92, 92, 92,118, 23, 22, 22, 14,179,211,114,245,127,153,119,119,148,172,115, 37, 40, 29,107,162, 81, 69, 12,147, 29,156, - 29, 24,134,249,186, 94,189,122, 77,158, 62,125, 26,197,178,236, 15, 40,153,117,246,143, 31, 59,254, 71, 56,121,129,245,166, 21, -208,161, 67,135,187, 44,203,158, 22,137, 68,139, 47, 95,190,108,226, 27, 31,207,201,115, 86,159,243,121,145,117, 55, 78,231,191, -116, 79,129,223,191,134,185,164,218, 33,174, 42,231, 44, 21, 89,183, 98,245,117,150,239, 45,246,155, 62, 76,153,106,135,184,178, - 43,239, 97, 97, 97,237,165, 82,233, 78,131,193, 48,206, 14,113,245,170,192,122, 20, 44, 66,161,181, 38,108, 76, 40,104, 84,188, -213, 14, 71,244, 16, 50, 81,200, 66, 14,245,254, 35, 11,223,150,120, 78,158,147, 23, 88,255,215,248,143,172,122,124,237,218,181, -230,124,209,243,224,241,134,111, 71,125,158,154,201, 31,245,238,192, 65,188,172,121,160,108,202,225,197, 50, 61, 56, 42, 29, 20, -183,182, 10,113, 85, 21,231, 45,200,173,203, 90, 5,202,166, 29, 89, 44,211, 3,200, 6,193,154, 42,196,149, 93,136,140,140,252, - 11,246,187,137, 94, 77, 95,240, 35, 11,128, 36, 66,144,140,239, 43,121, 65,252, 14,132,162,248,224, 97, 30, 60,120,252,143, 9, - 44, 30, 60,120,188, 69,145,245, 40,248, 54,242,153, 25, 96,225, 15,137, 45, 5, 69,182,108,170, 79,138,249, 13, 57,111, 34,159, -154, 10, 14,129, 16,219,158,160,200,252, 70,156,111, 61,223, 37,226,169, 98, 1, 53,159,111, 27, 60,120,240,224, 5, 22, 15, 30, - 60,222, 68,108,148, 88,117,210, 75, 63,255,181,156, 60,120,240,224,241, 63,213, 55,163,226,153, 0,213,241,173,190,206,108,130, - 40,158,147,231,228, 57,121, 78,158,147,231,228, 57,255,231, 56,171,226,230, 99,187,254, 77,194,139,231,228, 57,121, 78,158,147, -231,228, 57,121,206,255, 61,206,127, 20,248,141,116,121,240,224,193,131, 7, 15, 30, 60,222, 50,254,163, 49, 88, 50,215, 6,222, - 16,208, 77, 40,142, 52, 4, 0, 66, 83,143, 97,227, 30, 24,242,227,179,222,152,220, 35, 84,174, 20, 50,123,181, 86,246, 67,228, - 70,233,223, 82,146, 59, 0,240, 67,201,222, 81,215,248,230,195,131, 7, 15, 30, 60,120,240,168,150,192,106,208,118,208, 85,133, - 76, 17, 0, 0, 28, 33, 96, 57, 64, 83,152, 27,145,250,240,207,193, 0,224, 29,210,237,136, 88,225,214,150,227, 8, 56, 66, 96, -227, 8,108, 38, 67, 66,222,163, 83,118,237, 60,175,112, 15, 28,220,237,157,238, 67,250,245,123, 55,168,113,104,227,250, 0,240, - 48,234,225,147, 19, 39, 78,198, 94,248,147, 58,172, 83,197, 29,121,147,140, 41,133,194,121, 45, 91,181,238,117,251,246,205, 57, - 90,224,155,183, 84, 94, 34,114,173,239, 46,170,195,169,238,124,211,225,193,131, 7, 15, 30, 60,120, 84, 91, 96, 41,100,138,128, - 11, 71,183,122, 28,185,154, 6, 0,120,167,185, 23,190, 95,181,125,208,150,135,127,198, 2, 64,219, 78,125, 2,231,126, 57, 10, -215,163, 85, 32,132,160, 89, 64, 13, 12,250,232, 51,187,254,169,212, 51,184,229,208,161,239,125, 56, 99,198,244, 1, 9, 9, 9, -201,251,246,237,187, 10, 0, 29, 59,117, 10, 88,178,100,201, 7, 43, 93,106, 72,246,135, 31,202, 48,230, 60,122,173,253,131, 20, -158,245,220, 26, 6, 5,124,186,247,215, 31, 4,221,250, 14, 31,155,106,213,172,209,229, 60,205,123, 29, 46,113,173, 16,127, 39, -161,232,123,138,166, 5, 38,109,129, 7, 0,184,248, 54, 59, 33,113,240, 96,165, 82,217, 67,157,193,176, 51,247,209,233, 45,224, - 55,236,228,193,131, 7, 15, 30, 60,120, 84, 37,176, 0, 64, 41, 21, 32, 54,169,196, 91,231, 44, 7,198,127,242, 30,114,114,178, - 3, 45, 54, 14, 35,135, 13, 70,100,108, 22,226,146, 84, 32, 4, 8,172,101,247, 94,194, 96,192,181, 24, 51,118, 76,231, 51,103, -207,222,154, 55,119,222, 46,138, 66, 4, 0,108,254,229,215,182,223,126,247,237,184,145,159,140,236, 17, 30, 30, 30, 13,224,181, - 4, 22, 45,114, 94,179,124,241,247,202,140, 60,163,241,139,233, 95, 49, 51,190,156,186, 18,192, 39,175, 35,174,130,125,107, 45, -190,122, 54, 92, 46,151,203,177,101,203, 22, 9,112, 20,243,103,140,145,190,219,175, 31, 88, 48,237,126,248,121, 95,147,179, 98, -241, 88,189, 94, 63, 56, 63,254,207, 44,190, 73,241,224,193,131, 7, 15, 30, 60, 42, 21, 88, 44, 71,240, 56, 49,187, 68,180, 48, - 2,188,219,222, 9, 43, 23,125, 13,131,137,197,253, 68, 53,126,255, 43, 13, 38, 93, 17, 8, 1,218,135,122,148,103,195,121, 97, -170,229,202, 47,100, 97,140, 88, 56, 44, 34, 78, 81,167,134,139,139, 75,252,173, 93,186,111, 63,202, 9, 22,216, 44,119, 23, 29, -111,153,168,112, 16,183, 59, 24, 30, 30,210,191, 95, 63,177,163,163,211, 76,145,115,143, 90,156,209, 50, 93,157,114, 89, 93, 17, -231,203, 80,120,134,116,238,255,110,223,119,189,188, 60,217, 17, 75, 34, 30,255, 52,165,121,237, 6,129, 13,187,196, 89,245,157, -117, 57,113,151, 43,184, 45,170, 60,113, 85,223,219,115,241,229,211,225,114,163,209,136,196,196, 68,228,231,231,151,252, 72, 81, -160,105, 6, 53,189,189,177,126,233,116,249,190, 35,141,155,207, 91,186,241, 40,128, 86,248,187, 20,254, 29,211, 76,121, 78,158, -147,231,228, 57,121, 78,158,243,159,202,249,143, 66,217, 44,194,114,221, 91, 79,210,242, 17,155,152,133,176,134, 53, 81,191,142, - 23,110,197, 23, 98,239,133, 52,108, 59,155,140, 11, 15, 84,224,132, 14,200, 46,166,144,144,146,131,184,228,188, 42,125,100,140, - 88, 56,108,218, 10,245,140, 16,127, 77,155, 75, 7,166,192, 71, 25, 31,242,245,170,162, 41,140, 88, 56,204,195,203,121,223,140, -169, 19, 63,114,144,203,196,102,147, 25,117,235,248, 74, 39,141, 27, 51, 90,164, 84,236,179, 55, 51,110,110,193, 10,177, 76,177, -107,241,183,211,165,171,143,196,167,234,204, 68, 23,126, 61,243,233,140, 89,223,106, 24,161,236, 23, 55,183, 96,133, 61, 60,226, - 90, 33,254,126,174,174,139,175,157, 9,151, 91, 44, 38,100,102,102,194,108, 54,195,102,179, 61,187,134, 0, 40, 54,216,144,152, -101, 64,231, 78,237,153,176,102,141, 26,186, 55,236, 51,129,111, 82, 60,120,240,224,193,131,199,107,225, 31, 21,106, 83,225, 50, - 13, 58,131, 46,225,227, 9, 51,114, 3, 28,178,204,131,187, 6, 3, 4, 80,101, 37, 35,230,214, 25,196,223, 61,139, 98, 85, 42, - 8, 1,234,212,169, 13,145, 33,209,188,121,211,134, 92,206,102, 76,168,136,111, 64, 15,239, 90, 9, 25, 10,122,197,140,218, 17, -241,113, 89,110,147,103,108, 71,124, 92,150,219,138, 25,181, 35, 18, 50, 20,180, 92,196,182,251,100,248, 64,106, 96,191,222,248, -250,235, 25, 24,216,175, 55,102, 76,252,128,146,138,133,109,236,205,140, 81, 44, 93, 54,107,222, 2,135,236, 34,139,249,102,156, -198,164,148,203, 37,127, 61,214,233, 77, 68,102, 25, 48,108,188,202, 36, 18, 44,176, 71, 92,121, 59, 58, 46,190,254,231, 33, 57, - 33, 4,233,233,233,176, 88, 44,176, 90,173,176, 90,173,207,174, 43,210, 90,145,170, 50, 32, 37, 87,143,168,100, 13,250,244,238, - 45, 23, 8,197, 31,241,207, 7, 15, 30, 60,120,240,224,193,163, 66,129, 21, 31,241,123,199,200,243,187, 61,243,114,114,212, 10, -137, 0, 2,154, 70,110,124,167, 94,155, 0, 0, 32, 0, 73, 68, 65, 84,250, 83,236, 92, 53, 21,225, 63, 77, 71, 81, 86, 2, 8, - 1,100, 34, 6, 38,109,190, 58,251,126,184,103,126, 37, 51, 8, 41, 88,123,252,188, 59,169,110,114, 22,113,218,123, 90, 43, 4, -128,189,167,181,194,228, 44,226,244,243,238,164,186, 98,162, 2,199,178,232, 55,240, 61,236,218,177, 5,109,187, 13, 68,248,149, - 84,232, 13, 22,187,246, 63,147,120, 52,168,227,225,229,245,222,180,145,221, 29, 90, 5,186, 40, 27,248, 58, 51,140, 80,100, 19, - 11, 37,220,241, 59,234,140, 94,253, 6,211,114,133, 99,111,137, 71,131, 58,149,241, 56, 9, 69,223,255,117,246,144,156, 97, 24, -164,166,166,194, 98,177,192,108, 54,195,100, 50, 61,179, 96,105,244, 86,100,228, 27,144,166,210, 35, 85,165,199,163, 84, 13,196, - 10, 23, 88,173, 86,126,225, 53, 30, 60,120,240,224,193,131,135,125, 11,141,102,230, 22,160,134, 3, 3,119,159,186,248,112,234, - 74, 0, 0,203,217, 64, 80,178, 60,131, 61, 54, 61, 2,225,185,207, 71,214, 77,172,227, 77,169, 63,234, 35, 55, 0,192, 71,125, -228,134, 58,222,148,250,243,145,117, 19,245,172,139,133,101, 89, 92,139,206,197,138,253,143, 48,111,251, 3,156,185, 99,127,204, -184, 64, 40,155,182,124,233, 18,185,128,161,168,232,148, 98,109, 86,129, 77, 43, 18, 9, 45, 66,177,192,170, 53, 83,134,100, 21, -155,223,251,253,201, 73, 12, 35,156, 92,101, 90, 9, 7, 66, 8, 76, 38, 19,204,102,243,179, 79,153, 5,171, 64,107, 65,102,190, - 17,169, 42, 3,210, 74, 63, 57,133, 6, 16,194, 79, 36,228,193,131, 7, 15, 30, 60,120,188, 40,176,202,221,157,158, 3, 16,159, -172,130, 68,192,161, 86,237,250,127, 95, 65, 0, 66, 0,171,141,179,235, 31, 29, 59,151,149,238, 95, 83, 71,102,174, 76,109, 27, -218,208,245,193,164, 17,190,143, 67, 27,186, 62,152,185, 50,181,173,127, 77, 29,177,114, 98,150, 16, 2,194, 17, 16, 66, 64, 8, -192,113,246, 11, 22,138, 98,218, 52,107,232, 39,248,126, 95, 66,202,228, 13,113,143, 41,129,192, 42, 22,139,109,158, 78, 50,170, -150,155, 76, 80,108,130, 49, 40, 52,204, 74, 1, 97,149,241,168,173,150,239,218,247,122, 95,111,177,216,224,235,235, 11,179,217, -252,204, 69, 88,102,193, 42,210, 90,144, 81, 96, 68,154,202,128, 84,149, 1, 6, 35,139,135,143,147, 65,209, 12, 31,244,199,131, - 7, 15, 30, 60,120,188, 62,202,213, 34,255, 63, 11, 44,234,185,207, 43,240,243,245,196,205,168, 20,212,246,148,192,209,201, 1, -143,159,164,131,102, 4, 96,104, 10, 54,214,254,114, 32,102,235,254,213, 51,157, 86,166,102,177, 55, 54,236,126,154,144,154,197, -222, 88, 61,211,105, 37, 49, 91,247, 3, 37,130,141, 35, 4,220,115,127,237,230, 38,156,135,155,147, 68,112,251,137,182,128, 98, - 4, 38,145, 80, 96,242,118,149, 80,222,110, 50,129,175,171, 76,172,144, 10,105,111, 79, 79, 14,132,120, 86,198, 99, 78,143, 73, -204,214,104,230,116,236,249,158, 94, 40, 20,194,223,223,255,153, 5,171, 76, 96,149, 88,176, 12, 72, 85,233,145, 93, 96,132, 76, - 66,227,126,196,121, 61,203, 90,119,242,207, 6, 15, 30, 60,120,240,224,241, 90,168, 84,139,252,255,134,170,183,202, 33, 4, 10, -185, 12, 28, 45,197,181, 59, 79,208, 48,184, 9,182, 31,187,133,250,161,173,145, 85,108, 3,169,198,118,134, 51,126, 52, 68, 2, -136, 28,208, 67, 94,107,112,159,154, 61, 8,132,231, 54,252,166, 73, 7,128,160, 54, 40, 21, 86, 37,150, 43,142,148, 44, 19, 81, -141, 90,201, 76,205,213, 41,235,122, 41,240, 40,205,108,114,144, 75,109,206,114,145,192,221, 73,204, 56,202, 4, 2,129,136,166, -139,138, 84,197, 0,149, 89, 21,151, 57, 61, 38, 49, 21, 33,115, 58,245, 25,190,248,234,233, 3,242,122,245,234,225,254,253,251, -207, 92,132,122,163, 13, 84,177, 5, 66, 25, 65,131,154, 74, 60,142,188,202,230,231,102,196, 20,198,157,222,194, 63, 31, 60,120, -240,224,193,131, 7, 15,187,212, 17,199, 17,184,187,185, 64,162,116, 66,162,202, 12, 45,220,161, 54, 80,224, 88,128,181, 85, 42, -130,202, 13,250, 62,118, 46, 43,253,232,185,188,173,199,206,101,165,191,168,229,254,118, 15, 18, 66, 42,114, 17,134,150,175, 3, -217, 63, 78,156,187, 86, 48,168,141,135, 51, 45, 20, 26,196, 18,198, 34,147, 10,173,114,137, 0, 30, 78, 34,113, 45, 23,145,228, -210,201,223,104,138, 35, 23,236,225, 52,167,199, 36, 38,229,230,206,233,214,111,132,222,211,203, 11, 35, 71,142, 68,237,218,181, - 1, 0, 53, 20, 52,252, 92,104, 8, 76,217,184,124,108,171,238,241,221,139,119,193,154, 6,227, 69,179, 38,191,203, 58,207,201, -115,242,156, 60, 39,207,201,115,254,143,194,174,205,158,235,121, 43, 16, 80, 83, 1,163,217, 19, 6, 51, 11,157,201,134, 98,189, - 21,106,189, 21,201,217,122,196, 93,122,243,132,144, 82,129, 5, 66,129, 35, 4,160, 74,220,132,196, 78, 67,161, 78,168, 89,185, -124,201,247,195, 15, 28, 60, 66,190,232,235, 93,235,102,130, 33, 77,194, 8,205,114, 9, 45,112,148,209,108, 82, 98, 82,230,217, - 19,191, 53,210, 75,245,163,236, 77,147, 57, 61, 38, 49, 30,152, 19, 20,214,237,123, 16, 8,204, 6,181, 98, 86,251, 16,156, 57, -125,210, 32,190,118,215, 74, 9,196, 81, 28,107,217, 93,106,185,226, 35,220,121,240,224,193,131, 7, 15, 30,246, 9, 44,189, 65, -159,208, 99,200,167,165, 27, 62, 19,176,108,137,101,137, 45,115,229,113, 4,172,197,144,240,166, 9, 97, 57,238,214,198,237,251, -251, 54,109,214,154, 9,241,115,128,166, 40, 15,119,110, 70,216, 8,199, 69,216, 69,144,146, 98,178,121, 72, 63,120,255,189, 65, -191,141,157,248,133,182, 99,231,174,114, 87, 87, 71, 91, 94,110,190,102,231,150, 3,133, 71, 14,236,105, 68,113,220,199, 72, 73, - 49, 85, 39, 93,230,244,152, 68, 51, 80,182,190, 85, 55, 32,164,179, 46,243, 65,127, 29,112,129,111, 62, 60,120,240,224,193,131, - 7,143,215, 18, 88, 9, 55,126,239,248,127,145,144,130,130,156,145,187,127, 59,188,104,207,129, 99,237, 77, 22, 75, 77, 14, 76, - 26,107,181, 94,150, 20,231,127,107, 47,135, 46, 55, 54, 6,126,126, 45,126,253,105,229,151,191,252,188,186, 59, 56,182, 62, 40, - 42,137,226,200, 5,173, 84, 63, 22,153,213, 19, 87,229, 32,143,234,112,170, 39,128, 60,190,233,240,224,193,131, 7, 15, 30, 60, - 94, 91, 96,253, 95,161,240,233,173,226, 66,224,139, 55, 38, 74, 73, 49,105,129,165, 40,249,188,109, 68,129,223,127,137, 7, 15, - 30, 60,120,240,224, 81, 5,104,190, 8,120,240,224,193,131, 7, 15, 30, 60,222, 46, 40, 84, 60, 19,160, 58,150,154,215,153, 77, - 16,197,115,242,156, 60, 39,207,201,115,242,156, 60,231,255, 28,103, 85,220,188,167,232,223, 36,188,120, 78,158,147,231,228, 57, -121, 78,158,147,231,252,223,227,252, 71,129,119, 17,242,224,193,131, 7,143,255, 57,184, 54,232,175,116,109,208, 95,105,239,245, -110,193, 67, 61,221,130,135,122,242, 37,199,195, 94, 8,248, 34,120, 43,144,160,100,219, 70,203,127, 42, 1,206,206,117, 29,109, - 14,110, 71,104,206,180, 92,147,254,240,220,219,206, 95, 72, 72, 72, 51, 0,136,137,137,185, 7,224, 77,103, 99, 66,238, 17, 56, -194,197,209,121,130,133, 51,179,122,157,126,163, 46, 39, 62,252,109, 38,216,205, 45, 88, 97,150,200, 86,128, 34,125, 64, 64, 19, -154, 58,207,104,172,255, 82,171, 31,168, 43,187,207,119,192,146,134, 99,135,190, 59,119,107,248,201, 69,105,199,190,121,252,242, -239, 46,189,127,116,248, 98,100,247,153, 63,237, 63,177, 60,255,248,215, 90,190,233, 87, 31,190,237, 71, 56,219, 4, 94, 76,214, -229, 85,249,213,185,175,102, 96,155,104,161, 80,232,110,177, 88,114, 51,227,111,218,245,246, 92, 43,168,109, 36,195,208, 62,172, -141, 75, 79,143,139,104,193,151,126,213,144,121, 7, 53,163, 88,246,107,194,177, 66, 14,204, 26, 83, 94,194,181, 55,225,243,246, -246,150, 57, 57, 57,117,114,116,116,244,149,203,229,210,194,194, 66, 67, 97, 97, 97,106, 74, 74,202, 5, 0,182,255, 68, 30,221, - 66, 6,206,102,104,124, 87,250,253,251,188,152,163, 75, 43,191,126,192, 34,138,178,206, 46,253,190, 52, 47,230,216,220,255,134, -186,242, 8, 29,220, 26,132,251,146,166,153,118, 44,177, 45, 81, 69, 29,219, 80,157,251,219,180,105, 51,200,106,181, 74,202,142, -133, 66,161,233,198,141, 27,191,243, 79,193,127, 72, 96,213, 12, 30,234, 98, 21,144,249, 2,134,126,143, 35,196, 33,251,126,184, -226,191, 57,131,181, 91,141,188, 67,211,116,173,231,207,113, 28,151,158,122,107,247,219,234,108,107,173,154,214,252,235,156,124, -131,230,135, 61,143, 23, 86, 36, 62, 60,154, 14,191, 78,209,148, 63, 69, 81,160, 41,128,161, 41, 0,200, 76,187,181,167,188,205, -167,189, 29, 21,130, 64,141,206, 22, 5,160,202, 65, 72, 90, 35,192, 71,224,226,121,185,203,224, 41,117,239,156,217, 30,204, 90, - 44,221,117,185,177, 49,111, 33,111,238,245,235,215,111,201, 48,140,235,148, 41, 83, 68, 0,176,102,205,154, 0,150,101,243,159, - 60,121,114, 27,128,234,181,196,149,123,208,200,117, 63,124,191,171, 79,159, 62,200, 84,233,176, 98,205,134, 46,167, 79, 28,120, -255,173,137, 44,239, 48,153, 77,204, 68,125,246,229,183,181,250,118,109, 41, 40,210, 90,113,234,194,141,145,225,219, 86,116,115, - 66,147,198,149,137, 44, 78, 95, 52,215,211,129,244,230,244, 69, 0, 48,226,149,246,175,180,190, 83, 67,142, 62,222, 18,193,253, -124,224,112,149, 73,105,241,241, 25,161, 72,228, 71, 81,116, 73,189, 51, 20,232,210, 54, 96,179,154, 83,158, 92,219,222,235,191, -162,163, 14,251, 40,155, 2,229, 74,151,166,143,162, 0,154,166, 33,160, 0, 16,162, 73,140,216,225,250, 22,254,141, 83,104,128, -115,163,246, 1,186,173,151, 19, 11,148,130, 78,211, 78, 82,132,222,144,122,117,245,125,123,110,150, 74,165, 46,199,143, 31,119, -239,221,187,183,147, 71,163,129,151,237,185, 71,204,104, 67, 78,156, 56, 38,234,221,187, 87, 53,218,103, 96, 15,208,244,110, 10, - 16,114, 28, 89,195,112,228,128, 54, 63,238, 9,170,185,152,176,123,163,129, 11, 64, 33,216,238, 27, 8, 30,169,162,143,126,251, -154,101,203,200, 60,130, 70,201,164,210, 25, 1,129, 13, 3,147,147,158,198,105, 52,234,213,134,220,184,173,165, 47,127,118,131, -178,177,211,206, 94,184, 62, 84, 32, 20, 82,189,186,182, 84,152,128, 94,213,229,120, 30,158,158,158,131,214,175, 95, 95,175,109, -219,182, 0, 0,155,205,230,120,240,224, 65,175,133, 11, 23, 42,226,226,226, 14,191, 14,167,143,143, 79, 77, 39, 39,167,218, 50, -153,172, 38, 0, 24, 12,134, 12,181, 90,157,154,153,153,153, 81,101,122,154, 14,117, 35,172,117,193,233,195,191, 8, 0,160,215, -144, 9,139,234,116,158,225, 66, 49, 66, 67,121,215,179, 54,179,194, 84,152,244,229,249,227,219, 41, 0,232, 62, 96,244, 44,183, -224,161, 63,229, 61, 10,207,249,143, 60,172, 67,135, 50,110,241,150, 65, 20,161,254, 21,214,188,121,155, 33, 3,251, 32,164,190, - 15, 6, 13,159, 52, 3, 64,181, 4,150,213,106,149,132,135,135,215,162,105,154,177, 88, 44,198,225,195,135,231,190, 73,210, 2, -218,127,124, 29, 20,229,107,177,217,126, 77,185, 81,127, 17, 48,159,123, 57,237,222, 73,130, 57,160,232,113,132,227,210,178,239, -253,214,142, 23, 88,165,112,109,208, 95,105, 21,144,168, 46, 29,219,184,206,158, 52, 88,188,233,192, 85, 28, 3,149,145,117,255, - 96,205,255,214, 12,210, 52, 93,235,232,222,245, 30, 50, 9, 3, 0,208, 26, 88, 12, 25, 57,165,234, 7,184,197,135,151, 64, 33, -168,204,135,202,178, 54,169, 64, 32, 52, 82, 0, 64,149,204, 14,144,201,196, 55,166,183,137, 85,143,238,239,255,241,215, 63, 69, -238, 0,224, 12, 32,187,220, 78,139,166,107,253,182,109,141, 71, 77, 87, 41, 4, 12, 5,173,193,134,193, 31,255,139, 45, 79,176, -109,157,211,118,193,200, 62,117,134,121,244, 62, 52,164,168,216,252, 71,101,233, 84,120, 6, 55,148, 59,185,159, 27, 50,126,129, -143, 1,142,152,187,104,181,199,245,179,225, 87,179, 50, 82, 44,169,233,233,122,155,197, 26,155, 95,144, 53, 93,155, 21, 31,111, -111, 71,173, 84, 42,235, 41,149,202,166, 77,154, 52,145,206,152, 49, 67,216,165, 75,151,103, 63,142, 31, 63, 94,116,233,210, 37, -239,149, 43, 87,246,125,240,224,129, 81,171,213,222,215,106,181, 79, 1,176,246,214,137,151,151,251,231,239, 13,234,143,110,239, -125, 6,150,163, 48,110,242, 52,156,249,227,240, 68, 0,111, 69, 96, 41, 25,250,251,113, 83,190,169,213,185,109,115,193,178,131, - 9,112,146,139,208,171,117, 11,129,132,153,233,253,219,182,149,171,161,198,152,242, 44, 87,156,190,104,110,168,155,101,248,128, -118,254, 56,246,155,101, 56,186,127, 5, 90,238,252,204,146, 85,175,247, 20, 7, 9,155,187,190,166, 51,227, 33, 97,115,215,215, -235, 61,229,207,167,167,215, 23, 87,150, 22,161, 72,228,183,245,167,197, 13,106, 40, 69, 96, 24, 10, 2,154, 6,195, 80, 48,153, - 89,140,156, 52,251,109, 53,115, 70,230,209,160, 47, 13,140, 70,201, 72,184,221,144, 27,127,170, 58,117, 66,209,140,235,193,109, - 43, 5, 30, 78, 98, 48, 12, 5,134, 46,249, 36,101, 27,240,197, 87,243,157,222, 84,168,247,105,239,209,242,171, 97, 65,189,218, -132,214,104,178, 63,130,114,110,211,103,152,107,158, 81, 54,234,183,163,151,134,147,142, 95,222, 36,132,251, 33,253,218,186,179, -149,145,152, 76,166,156, 94,189,251, 56, 82, 2,133,252,207, 35, 59, 58,149,109, 54,111,101,185,191, 55,135, 39, 64,217, 75, 12, - 71,128,241,159,142, 69,175,222,125,244,156,141, 75,175, 70,167,177,251,244,159,215,220,141, 86,130, 85,235,183, 44,208,169,243, - 22, 36, 62,118, 77,214,170,243,190, 52,228,198, 31,179, 95,169, 32, 56,238,250,193,193,123, 79, 68, 32, 52, 36, 24, 44, 87,178, -191,106, 96, 45, 5,246,157,188,129,134, 65, 13, 75, 22,111,230, 8,130,124,149,232,252,238,199,175, 89,188,157, 5, 10, 79,213, -190, 65,195, 70, 15, 29,252,222,112, 56, 59, 42, 97,182,152, 2, 47,156,253,227,151,141,235, 87,180,215,102,199,142,170,142, 56, -228, 56, 86,252,247,119,171, 20,128, 16,128,249,117, 43,223,199,199,199,189,101,203,150,207,142,109, 54, 27,234,214,173,139,140, -140,140,160,106,191, 8,120,120,200,125,124,124,222,157, 62,125,186, 71,215,174, 93,133,238,238,238, 0, 0,149, 74, 85,243,226, -197,139, 97,171, 86,173,202,205,204,204, 60,153,155,155,171,175, 80, 84,112, 70, 17, 67, 4,140, 68, 34, 43,213,181,160,103, 76, -249,176,137,187,187,123,185, 47,199,249,249, 5,226,239,190,251,150, 18, 8,132, 37,215, 19, 66, 19,142,173,112,143,145,182,109, -219, 14,176, 88, 44,210,242,126,203,179,185,247, 53,114,226, 97, 40,221,204, 88,192, 48,133, 89,247, 15,185,219,253, 32, 53, 30, -208, 83,240,148,108,236, 63,112, 96,157, 65,125,187,192,219,221, 9, 23,110,196, 98,234,156, 85,176,218,216,181,175,213,121, 48, -140, 32, 55, 55, 55,217,197,197,197,235, 45,140,183,254, 71,247,254,232,113,241,234,157, 89, 63, 73,126,155,100,182,142,178,150, -109,127,199,114, 4,242,124,145,176,211,192, 30, 14,174, 53, 3,101, 91,126, 90, 38,228, 45, 88,207, 87,132,152, 89,216,161, 93, - 75,215,217,211,198,138, 23,110,185,140,136,179, 39, 13, 89,247,195,223,138,184, 82,186, 7,182,165, 24,193, 4,138, 97, 20, 20, - 77,137, 57,150, 75,179,153,205,139, 12,249,241, 89,111,202,205,114,192,161,191,170, 41,204, 9, 9,248,229,231, 85, 30,158,206, - 18, 24,204, 54,140,249,124, 30, 54,175, 93,224,224,238, 36,134,201,194, 98,251,209,219,121, 77,116,171,201,232,190,254, 31, 47, -222, 26,125,248,135,221,143, 15, 87,214,137,209, 20, 13, 15, 39, 9, 22,237,139,133,163, 92,136, 26, 74, 49,104,186,124,113, 53, -186,127, 9,103, 81,177,217, 6, 64, 92, 81,231,166,240,106,212,209,193,205, 39,124,240,167, 11,220,227, 85, 20, 8, 49,227,169, -147, 4, 67, 70, 78,114,174,239, 37,131, 66,202, 32, 57, 45,171,238, 87, 51,103,182,136, 34,116, 75, 83,118,108,106, 85,217,174, - 83,167,206,144,126,253,250,201,167, 79,159, 46,244,245,245,197,238,131,103,252,122, 12,253,162,127, 70,118,190, 47, 71, 0, 79, -143, 26,105, 99,135,245, 61,126,234,212,169,148,180,180, 52,225,138, 21, 43, 90, 31, 57,114, 36, 36, 59, 59,219,238, 55, 81,150, - 16, 24,204, 44, 88,150, 3,203, 81, 80, 21,189,150,199,145,174,248,173,154, 12,236,217,165,149, 96,205,239, 79, 81,172,183, 66, - 38, 98,144,144,165, 67,219,182, 45, 5, 7,182, 83, 93,203,187, 99,236,208,119,231,122, 58,144,222, 3,218,249,195,195, 69,142, -109, 63, 45,198,177,235,137,189,115,138, 41,172, 39,204, 4,111,137,160,135,130,203, 90,223,165, 69,128, 87,247,230,126,184,211, - 34,192,235,202,221,199,113,178,247, 87, 77,201,208, 10,255, 44, 60,253, 69,113, 69,245, 94, 67, 41,194,150, 51,201, 80, 72,132, - 80, 72, 5, 37, 31,137, 0, 52,253,102, 27,198, 75,189,131,125, 25,142, 29,203, 48,130,177,195, 63,120,223,103,196,240,161,132, -162, 25, 28, 60,124,124,224,158, 61,187,179,172, 22,243, 22,150,102,182, 26,179, 30,165, 85,169, 5, 40,192,195, 73,140,175,126, -141,130,131, 92, 8, 71,185, 16, 14, 50, 33,186, 55,117,127,147,116,186, 76, 28, 88,175,239,196,193,117,186, 6,213, 86, 54,184, -255, 68, 29, 51,118,209,157,181,151,138,186, 78, 91,191, 38,196, 85, 92,104, 18,204,155,241,169, 32, 35, 51,171,235,193,227,151, -187,177,230, 49,177, 54,139,238, 27,213,131,131, 71,203, 35, 75,143,141, 8,171,217,102,168,212,162,181, 62,188, 31,151, 94,191, -192, 40, 70, 76,138,166,180, 76,133, 80,150,149,109,105,249,102,165, 39,163, 64,207, 92,203,112,165,187,226,114, 68,181, 92, 81, - 6, 11,135,251,137, 90,212, 9, 12,131,151,183, 15,204,125, 63,172,115,235,194,161,163,183, 46, 31, 93,170,207,126,252,141,189, - 60,123, 79, 68, 96,225,210,181,241,160,240,168,116, 52, 15,158,254,175, 41, 13, 86,173, 94,255,194,185, 73,159, 77,110,240,186, -226, 90,238,153,187,231,157, 1,163,134, 54,105,221, 3,241, 79,158, 34, 62,250, 14,186,191,211, 11,125,250, 13,134,217,100,252, -120,235, 47,235,111,235,114, 98,127,126,165,207,245,106,216,161,113,104,240, 30, 31,111, 31, 95, 66, 74,183, 38, 35, 4, 38,147, - 17, 51,191, 28, 7,189,182, 24, 65, 65,161,237,157, 59,246, 52,129, 98,192,113, 4,249,249,121,186,216,199, 49,239, 24,115, 99, -111,218,155, 64,189, 94,111, 85,169, 84,184,119,239, 30,226,226,226, 16, 29, 29,141,252,252,124, 56, 57, 57,105,117, 58,157,221, - 25,117,118,118,118,108,220,184,241,135, 7, 14, 28,144, 58, 57,253,173,249,205,102, 51,228,114, 57, 6, 13, 26, 36,236,208,161, - 67,205,209,163, 71,127, 98,177, 88,246, 22, 21, 21,105,202,227, 41,120,120, 50,211, 51,116,224,166,190, 67,199, 79, 2, 0,145, - 68,153,184,238,215,195,209,149,253,111,145,212,209,239,157, 65, 99,234,131, 16, 80, 20,181, 46, 63,246, 72,118, 69,215, 90, 44, - 22,217,254,253,251,107, 82, 20,245,194,248,186,224,199,253,237, 30,198,103,189,179,113,254,215, 2, 7,133, 4,121,106, 51, 38, - 76,154,226,102,183,184, 10, 29, 48,185,101,179,176,159,231,205, 24, 7,133, 92,134,179, 55,158,226,203,217, 75,109, 5,121,185, -187, 64, 81,107,242, 98,126,127, 83,175,197, 91,217,238,173, 65, 77, 37, 28,122,181,149,142,251,160,139,212,108,101, 81,168,181, -194,100, 97,193, 17, 2,181,206,138,152,148, 98,184, 57,137,176, 5,255,124, 84, 75, 96, 9,132,226,126, 95,140,234, 43, 94,185, -247, 38, 34,206,238, 53,100,221, 11,151, 63, 83, 6,205,135, 37,166,223,221,239,255,210, 45, 81,246, 12, 18, 2,138, 89,221,174, - 77,139,158,227, 39, 76, 34, 77,130,252, 68, 0,141, 71,241, 73,214,109, 91,183,140,186,120, 77,188, 86,147, 30, 53,247,185,193, -180, 90,211, 55, 57,142, 75,127,217, 98,197,113,175,188,205, 70,149, 55,224, 56, 43,132,216,116, 50,177,228,205, 24, 4, 78,114, - 33,246, 93, 76,135,166, 32, 35,175,137, 97,245, 95, 99,251,122, 12, 88,180, 53,230,232,134,227, 57,119, 1, 68, 3,200,169,136, -147,162, 1, 1, 67,193, 73, 33,130,147, 92, 8, 39,165, 16, 52, 69, 85, 40,174,230,253,242, 96, 7,128,216,151,196,213, 51, 78, -185, 71, 96, 35, 7,215,154,191,191, 55,113,137,203,195, 84, 11,104, 26,240,247, 82,192, 69, 41,134,217, 10, 36,171, 44,165,121, -117,196,228,233,243,221,103,253,107,226,169,156,236,206, 77,128,203,182,202,242,174,215,235,197, 35, 71,142, 20, 90,173, 86,203, -232,169,139,122,102,229,228, 13, 92,187,228, 43,137,155,155, 43,116, 70, 27,238, 61, 74, 14, 94,250,195, 79,254,127, 92,186,117, -100,214,196,129,199,122,247,238,237,180,127,255,126,174, 58,245,174,202,201,251,105,251,238,240, 93,107, 86, 46,197,227,228, 2, -108,251,101, 3, 8,107,219, 84, 69, 85,190,192,185,121,243,102,143, 29, 59,118,208, 55,110,220,200,127, 89,128, 82, 20, 20, 5, -106, 19,156, 21, 34,200, 37, 2,120, 57, 75,224,234, 32,130, 68, 68,131,166, 95,232, 68,158,113,110, 13, 63,185,136,211, 23,225, -216,111,150,225,219,126, 90,140, 49,159,207, 65, 84,158,232, 52, 45,119, 94,244,249,176,129, 95,215,144,163, 79, 77,103,218,163, -123,243, 58, 80, 72, 69,152,253,197, 72,180,188,155,236,145, 94,196,205, 41,208,163,233,252,211,152, 91, 94, 58,105,134,130,128, -161,225, 32, 19,226,210,201,125,185,250, 98,181,154, 98, 74, 44, 44, 86,179, 37,197,206,102,252, 74,121,202, 61, 2,103, 53,107, -220,104,241,164,241, 99,233,246,109, 91, 17,154, 22, 32, 79, 99,161, 8, 8,166,125, 62, 17,147, 39,142,243, 74,207,200,249,246, -231, 13,155,231, 94, 56, 71, 22,234, 84,143,231, 87,198,201, 80, 52,104,154,130, 66, 38,132, 82,250,247,199,104,230, 64, 81, 96, -106,134, 13, 83,131, 2, 40,138,202, 76,191,243, 91,176, 61,233,244,105,220,231,252,229, 92, 81, 67,253, 41, 99, 68, 66,124,228, -162, 91, 15, 82,111, 1, 40,240,237,228,252,137,213, 74,160, 53,218,144,148,163,135,205, 76,168, 49,189,253, 80,119, 40, 21,180, -100, 91,228,174, 63, 30,192,241,185,206,254, 5,206,140, 27,225, 70,215,208,193,195,214,252,184,249,246,202,197,115,152,124,141, - 25, 44, 1,100, 98, 6,210,210,143, 76,196,192,168, 83,227,231, 77,191,102,219, 64, 13,193,229,202,219,252,171,157, 6,249,104, - 72,223, 78,191, 81,128,152,162, 69,233, 62,126,117,252,186,245, 27, 37,237,222,255, 99,176, 54,203,172,187, 87,201, 69,125,110, -236,121,123, 56, 67, 67,130, 1, 10,143, 84, 81, 71,135,148, 12,146, 3, 15, 55, 12,106,216,224,229,115, 1, 1,129, 13,236,169, -247,178,102, 37,115,111, 48, 62,160, 97,227,153,109, 58,116,171,147,153,111,130, 75,205, 0,220,139,188,139, 51, 7,127,142, 52, - 20, 23,174, 60,115,226,200,204,133,203,214, 54,237, 55,232, 3, 28,253,253,192,116, 93, 78,236,134,210, 50,125,198, 73, 56,238, -163, 29, 91, 54,251, 10, 69, 18, 88, 89, 2,171,141,131,149,229, 96,181, 17,100,101,101,162, 88,171,133, 84,230, 0,133, 99, 13, - 88,109, 37,150, 66,147,201,170,152,248,113,191,201, 70,224,102,121,233,172,211,234,163, 59,160,169, 90, 37,239,168,165,117,102, - 50,234,189,189,189,119, 1,128, 68, 34,129, 68, 34,129,205,102,195,195, 76, 76,243,246,234, 52, 27,164,180,178, 57, 46, 61,251, -222,111, 45, 42,202,187,175,175,111,255,242,196,149, 86,171,197, 95,183, 31, 56,109,223,127,182,119,114, 90,118, 61,142,245, 48, -201,188,154,246, 42, 42,186,216,191,162,242,204,137, 58, 58,217,183,243, 84,122,250,164,145, 1,235,126, 13,191,149,112,102, 81, -165,230,228,186,221,191, 54,207,156, 60,162,197,242,117,219,226, 51,174,172,251,178,170, 58, 18,137, 68, 66,149, 74,245,236,249, - 94,176,254, 80,159,212, 28,205, 59, 63, 44,158, 35,186,247, 84,139, 7, 73, 89, 24,213,195,207,238,231,221, 43,100, 80, 80,173, -218, 53,215,174, 93, 56, 21,113,153, 6,172, 63,116, 11,151, 79,238,186,107, 49, 22,191,171,138, 57,158,251, 58,125,200, 91, 16, - 88,175,112,150, 13, 4, 23, 31,228,161,216, 80, 34,172,172, 44,135, 98,131, 13,185, 69, 38,168,117, 86,104,141, 86,140,122,199, -175,250,234,143,144,150, 0,220, 1,168, 40,138,186,253,252,113,153, 6, 45, 27, 98, 94, 58,206, 43,181, 24,186,150,142, 21,226, -231,104,205,207, 25, 49,202, 59, 95,118,127, 12,128,224, 82, 78, 22,192, 45,138,162, 10,237, 17, 88,164,204, 92,249, 92, 33,151, -251,202,202,218,172,181,124,188,189,193,145,244, 23, 46,241,107, 53, 76,255,197,216,247,101, 43, 89,155, 46,235,254, 33,187, 99, -178,148,238, 13,218,137, 68,226,147, 75,151,173, 32,195,250,119, 22,103,171,173,134,152, 12,163, 74,107, 34, 54, 47,247,250,146, -101,203,151, 43,151, 44, 91,249,217,145,195, 92,145, 54, 39,230,135,242, 56,188, 91, 12,191, 67, 81,116, 45,250,111,179, 60, 8, - 71,210, 51,238,236,107, 1, 0,111, 18,107,165, 51,218,192, 48, 20,132,165, 49, 41,122, 51, 11,125, 81,118,126, 19,253,218,191, -198,246, 46, 17, 87, 55, 51,188,158, 50,140,202, 2,160, 82, 23, 4, 77, 81,208,232,173,112,148, 9,225,164, 16,193, 89, 46,122, -222,130, 85,158,184,138,174,140, 83,100,177,164,177, 86,147,145,176, 44,250,182,116,135,135,147, 24,222, 46, 18, 72,197, 2, 88, - 89,192, 96,230, 96, 48,179, 72,201,213,163, 88, 47, 65,227,206,195, 3,220,188,111,234,179,147, 90,236,200, 79,185, 51,161, 82, - 11, 19,203, 98, 79,248,153,128,140,172,220,129, 71,119,175,150,228,170,173,120,144,172, 69,110,161, 25,132,114,194,236,185,115, - 37,243,230,125, 55,248,192,239,231,147,218,181, 8, 76,175,110,185,234, 85,177,187, 15, 30, 10,255,233,221,254,131, 28, 98,110, -253,129,248,123,231,231,233,114,171, 23,127,229,231,231,199,254,252,243,207,206,155, 54,109, 10, 56,122,244,104,154, 74,165, 74, - 44,123,168, 92, 29, 68,153,231, 46, 92,113,237,220,190,147, 32, 45,207, 8, 55, 7, 17,252, 60,229,184,123,253,162,153,166,168, -211,229,241,149,186, 1, 71,160,251, 87, 56,118, 61,177,119,116,190,228,210,167,227,198, 36,159, 59,121, 43,255,199,221,231, 87, -212, 84, 90,239, 75,185,220,245,119, 91, 4,120,205,154, 50, 18, 75,127,220,141,203,119, 31,231,234,104,159,197, 89, 38, 91,133, -147, 10, 24, 26, 16, 10, 40, 56,200,132,208,235,212,234,232,243, 27, 3,223,210,203,209, 39,103,126,223, 77, 23, 20, 91,145,158, -103,160, 50,243,139, 97,227, 56, 56, 43,196,176,113, 64, 81, 65, 30,181,103,207,110,220,190, 29, 65,131,161, 63, 5, 48,191, 42, - 11, 22, 67, 83, 80, 74, 5, 80,202, 74,172, 64, 74,153, 0, 22, 27,135, 6,254,190, 88,187,224, 11, 71,119, 15, 79,244, 28, 50, -193,238, 4,202, 20, 46, 77,119,110, 92,136, 75, 17,247,187, 92, 76,216,215,210, 35,180,233,143, 66, 86,184, 18,132, 24, 76, 86, - 22, 26,117, 33,140,166, 52,180,170,153,135, 26, 10, 22,201, 26,111, 68,101,199, 43,171,234,232,243,163,142,220,163,200,160,185, - 7,143, 95, 88,218,171, 71, 23, 68, 39,105, 74,196,149,168, 68, 92, 9, 40, 14,171, 55,109,182, 22,170,139,251,229, 71, 31,205, -123,141,246,249,103,105,103, 92, 34, 16, 88,173,251,158,245,115,119,142,155,185,162, 87,175,193,159, 80, 81,183, 47,126,163, 7, -206,219,107, 61,127,245, 28,177,235, 92, 69, 93,137, 71,253, 22,123,183,239,216, 55, 44,164,129, 47,114,138,172,200, 44,180,224, -234,221, 4, 28,217,252, 77, 81, 81,206,211,143, 96,209,106, 57,202,166, 62,123,230,248,233,207,190,152,137, 70,141,154,214,209, -164,107, 28, 95,142, 61,228, 24,106,243,199, 99, 39, 14,243,244,240,116,224, 74, 45, 88, 28, 33, 8, 10, 10, 65,223,254, 67,112, -233,202,117,196, 68, 63, 40, 57,207, 1,132, 16, 20, 21,230,103,219,172,230, 29, 21,182, 35,134,170,181,125,211,106, 15,154, 2, - 44, 54, 14,102, 43,135, 89,179,231,153,167,126,187,190, 67,175,246, 77,162, 25,112,154,212,172, 34,231,219,177, 89,141, 41,161, -163,247,135,227,191, 22, 25, 44, 44, 52,122, 43,206, 31, 92, 87, 97,166,189,253,155,180, 85,214,110, 63,118,252,156, 77, 18, 9, - 67, 91, 26, 5,250, 38,118,110,211, 40,173,182,143, 91,241,146,117,123, 90, 93,191, 27,219,119,200,123,131,165,195,234,133, 80, - 62,174, 82,135,137,147,167, 52, 97, 3,218,127,156,147,240,215,174, 10, 7, 63,129,164,200,183,150,239, 51, 87,162,123,163,129, - 15, 0,188, 60,242,167,168,162,143, 54, 1, 0, 15, 79, 47, 35, 37,148, 20, 87, 67, 16, 16, 0,248,254,199,240,190,233, 42,237, -208, 31, 22,207, 17,221, 75,212,225,222, 83, 53,196, 34, 6, 38,139,253, 97,109, 44, 69,166,125, 61,101,140,176, 64,103,195,197, - 7, 42, 68,221,185, 64,108, 22,205, 40, 66, 9, 70,187, 53, 26,248, 49, 5,212, 37, 64, 18, 77,225, 23, 51,141, 29,234, 7, 71, -213,175,107,193,114, 15, 30,220,142, 98,208,151, 17,136, 90, 2, 92, 67,155,213,234, 65, 51, 76, 94,206,131, 67,158,213,200, 59, -244,185,241, 88,177,228, 91,172,221,114, 4,183,226, 10,224,100, 75,195,209,109,139, 49,125,233, 30,232,205,108,101,105,168, 72, -143,184, 83, 20,117,130, 16,210,143, 16,242, 14, 0,113,217,113, 73, 31, 70,157, 40,253,223, 47, 28,207,154, 53,235,155,165, 75, -151, 70,151, 93, 91,118,190,236,218,202,206, 63,119,191,235,236,217,179, 67,151, 45, 91,182,164,109,219,182,191, 93,191,126, 61, - 17,128, 93, 2,235,249, 76, 84,248,148,123,132, 14,104, 69, 8,199,120,185, 42, 17,224,239, 11,197,251,163,101,167, 40, 74,199, - 48, 52,189,125,205,108,105,190, 65, 0, 1,195,216,109,239,149,122, 4,181,150, 41, 21,167,246, 31, 56, 68, 26,212,241, 18, 31, -186, 81,148,122, 55, 81,255,204,164,171, 81,165,136, 3,106,152,152, 97, 31, 12, 81,156, 62,123,110,154, 22,248,161,252,129,129, -174,245,227,234,229, 30, 14, 50, 33,104, 10,208, 24,108,152,246,175,175,223,120,244, 34, 32,204,228,127,125, 7,154, 42, 25,124, -180,234, 2, 44, 94,179, 93, 59,164,214,133,107, 99,123,187, 13, 88,180, 53,230,232,217, 71,178,132,193,131,187,169,147,147,147, - 11, 51, 51, 51, 43,119,193, 16, 54,125,232, 39, 83, 69, 52, 93,226, 54,162, 40, 10, 0,155,243, 58,226, 10, 0,138,138,146, 52, - 82,177,114,240,238,213, 83,182,212,174, 85,179,134,131, 92, 10,165, 66, 66, 53, 12,170, 47,109,211,186,173,204,175,126, 35,209, -149, 71, 90,164,170, 12,120,154,161,129,196, 61, 84, 56,172, 75, 15,236, 94,247,117,223,252,148, 59, 85,230,255, 66, 68, 84,255, - 13, 43,231, 72,114, 10, 45,120,148, 86,140,236, 2, 19,178, 11,141,200, 46, 52, 65, 41, 21,160, 77,247, 33,146, 99,231,195, 7, -181,107, 17,248,227,235,148,239,211, 39,137, 71, 82, 50,178, 70, 53,105,214, 10,123,118,110,111,131,154, 53,165,200,200, 48,218, -123,255,150, 45, 91, 10,194,194,194,220,126,248,225, 7, 93, 80, 80, 80,211,205,155, 55,251,199,197,197, 93,170, 87,175, 94,255, -141,235, 22, 94,154, 58,103,165,159, 0, 54,167, 54,237,219, 51,114, 49,133, 27, 87,206,154,118,108,217,148,105, 41,210,206,172, -116,244,146, 59, 47,202, 41,166,224,238,227, 27,165, 16, 90,123, 10,229,150,184,194,221, 95,236, 46, 4, 14,215,235, 61,229,207, -139,119, 98,227,154,223, 77,246,184,112, 55, 46,183, 64,111, 13,124,122,122,122,165, 29, 46, 67,149, 90,176,228,127, 91, 44, 61, -154, 12, 77, 32, 20,229, 94, 38,108, 40,148, 88,180,168,146,135, 48, 51, 35,242,128, 29,129,209, 20,225, 56, 32, 46, 93,139, 98, -131, 13, 70,171, 13,190,110, 10,168,114,210,177,241,199, 29,136,188,115, 27, 61,251, 12,192,207,191,238,193,184,143,223, 55, 86, -245, 96,210, 52, 5,154,166, 74, 45, 87, 37,226, 74, 41, 21, 0, 20, 80,164,179,226,240,181, 52,212,247,167, 65, 85,195, 91,232, -160,148, 65, 93,108, 4, 45, 84,226,241,213, 93,242, 63, 46,220,154, 61,127,229,214,175, 52,218,156,212, 39, 49, 17, 8,114,201, -135,191,143, 25,209, 57, 78,184, 83, 80, 7, 65,245,235,129, 22,221,182,139, 59, 47,186,241,138, 99,244,161,126, 45,155,133,180, -173,237,225, 4,131,153, 45,181, 98, 9,176, 99,251,118, 36, 39,165,143,205,143, 57, 26,249, 54,148,172, 46, 55, 81, 37,241, 8, -248,236,225,141,243,137,131, 62,154, 12,175,154,181,155, 22,165,222,179, 51, 60,193, 62, 49,197,217, 39,176,232, 26,117,154,237, -220,185,251,224, 48,255,218, 94, 56,119, 43, 9,145, 79, 10,225,232,224, 12, 70,225,141,192,206,163,157, 31,158, 94,247,158, 33, - 79,187, 83, 40,146,127,218,170, 77,123, 16, 66, 16,251, 56,186, 64,173,118,122,165, 9, 24,178, 98,239, 69,100,197, 58,190, 32, -138,221, 26, 54,117,112,170,113,207,104, 97,145,145,145,142,191,174, 95, 10, 51,100,197,222,171, 78,121, 73, 68, 52,206,222,205, -133,197,198,193, 98,229, 16,214,184,161, 81, 40,146,117, 92,190,229,100,155,236,156, 92, 90,174,116,226,156,220,234,137,156,173, -217,166,251,137,106,145,197,198,161,158,119,229,239,229,242, 26,245,150,124,249,175,169,193, 2,177, 12, 26,157,201,156,149,158, -225,245,203,190,139,218, 71,177, 49, 53,235,214,169,237,184,112,225,124,145,198, 72,144, 91,100, 66, 94,177,133,250, 96,196, 88, -159, 93,219,126,254, 8,192,174,106, 36,189,241,111,187, 54, 89,107, 40, 69, 84,177,222, 74, 84, 26, 35, 59,249,179,105,141,223, -164,237,188, 32,174,158,234,112, 47,177, 8, 18, 17, 3,137,136,129,213,102, 95,136,164, 91,240, 80,133,155,171,226,163,214,205, - 2,112,230,174, 10, 2,134,130, 65,167, 49, 75, 37,202,168,134, 13, 27,208,205,154,134,162, 75,135,118,120,146,152, 28,116,230, -220,133, 53,183,110, 71, 46, 22, 54, 26, 52, 51, 47,250,247,159,171,147,214,148, 12,149, 34,199,230, 59,220,195,203, 45,116,192, -128,254,146,218, 53, 61, 41, 55, 87,103,176, 16, 97,210,228,207, 61,236,246, 26, 17, 2, 2, 96,217,130,217, 48,153,205,240,112, - 22,131, 16, 96,219,250,239, 97, 54,155,225,227, 42,133, 90,103,173, 74,232, 85,168, 71,202, 19, 68, 47, 11,173,178,239,101,215, - 45, 93,186,180,223, 75, 2,176, 95, 5,194,240,149,235,202,238, 95,182,108,217,146,231,126,215, 87,199, 69, 72, 85,150, 41,183, -198,131,218, 75,196,178,179, 63, 47,157, 70, 23,233, 44,144,136,104,212,243,175,139, 41, 95, 76,149,119,111,230, 1, 3, 28,113, -104,223, 14,141,141,181,158,176,235,205,214, 51,160,133, 66, 38, 63,189,109,231, 62,206,203,195,141,250,229, 79, 85,162, 74, 99, -123,182,196, 65,220,205, 99,220,157, 51,191,120, 19, 80,167,229, 82, 89,128,201,108,114,169,176,199, 41,173,208,109,103,147,193, -208, 52,152,183,180,178, 23, 77,211,236,175, 63, 46,132,155, 99, 73,204,213,247,107,119, 23,247,119, 63,125,225,121,113,213,172, - 89, 51,117,211,166, 77,139,104,186,234,127,154,118,123,111,121,179, 37, 94, 75, 92,149,193,152,243,240,182, 17, 8, 85, 39,255, -125,238, 15,132, 9,221,234, 30,156, 62,252,195,143,102,123, 54,234,239,144,148,165,134,152,182,162,101,176, 55, 46,157, 57,204, -165, 37, 62,154,104, 15,119,110,190,218,215,205,213, 21,145, 79,181,200,204, 55, 34,171,160, 68, 92,101, 23, 24,161, 49,216,208, -172,174, 7,138,212, 90,223,215, 22,176, 20,249,253,204,233, 51,163,250, 12, 28,134, 41, 95,205,239,179,101,195,170, 7, 90, 15, -135,143,141,185,143,111,217,115,127,120,120, 56,123,231,206,157,196,188,188,188,150, 51,103,206, 44,174, 91,183,174,215,194,133, - 11,199,215,171, 87,207,167,123,215,174,234,219, 23,219,236,156,250,213,252,174,223, 76,221,226, 79,211,116, 14,225,200,177, 76, -157,245, 59,228, 61, 50, 84, 90, 79,199,190,121,252,221, 83,203,168,238, 29, 93,143,185,202,232, 16, 33,101, 26,129,224,249, 7, -240,104,190,229,233,233,245,197,178,247, 87, 77,201, 40,226,230, 24,105,175,197, 85,137,171, 18, 11, 22, 5,179,133,131,163, 76, - 88, 54,115, 20, 32,240,222,176,126,149,220,221, 73, 2, 1, 67, 65,200,208, 80,235,173,200,215,152,241,213,204,153,246,150, 32, -199,114, 28,244, 38, 22, 6,179, 13, 20, 40, 20,107,242, 48,251,171, 47, 75, 32,211, 47, 0, 0, 32, 0, 73, 68, 65, 84,209,167, -255, 16,140,157,248, 47, 20, 25,128, 59,137,197,176, 88,173, 85,202, 34,134, 2,244, 38, 27,198,246,242, 67,126,177, 5, 58,163, - 13,102, 11, 7,185, 84, 0,129,128,134, 66, 34,128,131, 76, 8,138, 34, 34, 47, 47,175,241, 0, 32, 20, 10,141,105,105,105,187, - 43,118,207, 19,212,241,245,132,193, 66,163,213,176,149,120,167,109, 32,238,157,219, 42,184,114,243,161,255, 87,243,215, 96,242, -136,182, 8,143,173,143, 26, 30,117,160,148, 75, 97, 37, 52, 0, 98,103, 64,222,124,142,182, 12, 30,177,233,215,109,177, 11,230, -125, 45, 45,212, 81,144,136, 4,184,112,225, 79, 68,220,188,179, 46, 47,230,232,238,183, 25, 75, 33, 36,180,167,163,147, 35,164, - 98, 6, 22,139,201,238,128,111,150, 35, 0, 65,176,123,232,192,195,165,117, 31,204,149,115,206, 14, 11, 22,229,228, 19,186,125, -211,150, 61, 31,121,123,121,224,200,249, 7,216,185,229, 39,212, 12,237,131,132,187,155,224,219,124, 16,148,254,221, 32,118, 56, - 56,158,102, 4,141, 39, 79,157, 61,164,121,139,182,184,126,245, 34,114,179,179, 54, 1,177,118,197,160, 49, 66,234,139,174,239, -244,131,201,194,162, 99,183,126, 56,125,252,200, 20,148, 78,158,120, 93, 48, 12,205,125, 62,110,184, 48,183,200, 44,204, 85,155, -144,145,103, 64, 98,182, 14, 71,247,111,181,219,108, 71, 49,116,203,206, 77,107, 9,199,175,184,144,230, 91,203,219, 36, 52, 25, -100,113, 79,158, 52,252,116,212, 71,194,186, 1, 65,180,170,200, 4,149,218, 12,149,218, 12,157,209,138,250, 62,181,105,147, 77, -208,182,186,105,245,112,146, 10,127, 62,145, 8, 71,185, 0,237,130, 93, 95, 59, 8,155,227,184,191,197,213,162, 18,203,213,253, - 68, 53,164, 34, 6, 98, 33, 3,137,136,134,149, 37,118,142, 69,182,225, 19, 70,125, 32, 51, 91, 9,242, 52,102, 48, 52, 5, 47, - 55, 87,137,175,119, 32,182,173,252, 28, 0, 48,238,235, 13,248,116,204, 72, 4, 5, 6, 64,173, 46,150,125, 58,105,234,106, 0, -118, 9, 44, 66, 8,217,115,244, 74,200,157,168,148,233,159,140,250, 88, 56,108, 64, 39, 58,242,169, 6, 89, 5, 38, 60, 77,208, -195,108,173,222,106, 52, 54,182,196,231,187,253,192, 9,200, 69, 12, 84,234,146,199,101,209,250, 3, 80,202, 4,200, 46, 52,131, -227, 42,181,222, 85,170, 71, 42,178, 58, 85, 7,207,139,176,202,206, 83, 20,117, 98,214,172, 89,223, 0, 32,179,102,205,250,166, -236,120,233,210,165, 6, 0,153,246, 10, 44, 84,228, 22,116,107, 60,168,189, 76, 44, 61,187,107,253, 55,178,243,113, 4,235,206, -222, 69,223, 54,222, 16, 9, 40, 72,149, 94,184,151, 88,132,243,231,143, 22, 95,141,184,105,164,104,107,149,211,162,100, 94,129, - 97,114,137,226,207,159, 54,239,180,121,122,121, 97,223,181,194,204,124,173,205,250,183,123,202, 74,221, 57,243,139,191,141,179, -246, 54,230, 36,220,174,234,205,155, 35, 68,180,116,227, 49, 16, 66, 0,142, 5, 7, 14,140, 72,162,168,221,234,163, 28, 80, 0, -203,114, 82, 1, 67, 27,159,249, 65, 74,134,166,244,212, 91,251, 90, 84, 85,195,142,114, 33,246, 95, 78,135,186, 32, 51,175,191, -251,233,191,202,196,213,233,104, 73, 66,243,230,205,212,173, 91,183, 46,146, 72, 36, 96, 24,230,117,234,248,141,196, 85,197,136, -180,230, 37, 97,217,161, 67,210, 1,125, 20,161,173,197,148, 16,205, 27,122,227,210,217, 35, 92,196, 31, 91, 7, 27,114,227, 79, -218,107,226,213, 26,109,200, 44, 48, 32, 35,207,128,172,194, 82, 11, 86,129, 9, 20, 5, 24,205,111,182,124,141, 33, 55,254,248, -238,221, 91, 55,153,172,152,216,177,231, 32, 76,159,255, 83,192,238, 77, 43,174, 38, 19, 91, 75,189, 42,225,161, 93,111, 92, 41, - 41,166, 61,123,246, 68, 22, 23, 23,247, 88,189,122,181, 54, 56, 56, 88, 44,147,201,242, 1, 72,227, 99, 99, 69, 23, 78, 29, 76, - 82,101,102, 78,176, 90,173,183,237, 77,151, 95,231, 81, 18,153, 37,114,188,159,188, 93,175,122, 94,114,248,201,117,189, 26, 42, -239,255,144,223,109,234, 18,213,133,117,185, 89, 38,219,185, 2, 61,154,102,104,133,127,218,213,217, 88,204, 41, 31, 78,152, 5, -134,166, 96, 49,153, 83,158,185, 35,156, 36,152,191,251, 17, 28,100, 66, 40,101, 66, 56,200, 4,104, 31,236,138,106, 24,136,136, -213, 70, 96, 48,219, 96, 48,177, 48,152,108,112,171,237,140, 95,119,133, 35, 85,101,192,177,219,121,120,156,172, 65,160,175, 2, -132, 84,109,119,226, 8,171,251, 96,252, 28, 7,134,166,193, 80,160, 27, 6,212, 65,129,214, 12,145,128,134, 88, 44,134, 92, 42, -128,163, 92, 8,161, 64,136, 91, 15, 30,192,100, 50,161,117,235,214,210,170, 28, 14, 14, 74, 25, 26,248,251,192, 98,181,225,212, -149, 24, 44,154, 54, 24, 61, 58,181,192, 87,140, 24,143, 77,205,224, 80,195, 1, 28,197,192, 98,227, 96,178,178, 0,168,202, 4, -112,187,210,184, 8, 35,128, 27,217,177, 71, 82, 89,102,224,248, 63,206, 94,216,221,191,111, 79, 68,222,143,198,161, 35,199,174, -230,185,170,103, 60,111,149,192,223,179,224,162, 95,179,185, 82,132,166,167,181,109,223, 5,218,194, 92,228,164, 37,217,221,169, -135,212,118,192,151,211,166, 52, 8, 10, 10,106,192,114, 4, 28, 71, 16,226,231,128, 9,147, 38, 53,168, 31, 16,216,128, 43,157, - 69,216,208,215,161, 82, 30,133,103,208,228,197,171, 55,126,236,235,235,139,211,215, 30, 97,233,156,137,145,114,185,178,110,139, - 26, 14,206, 92, 80, 83, 36, 70,157, 67,141, 58, 69,112,244,108, 80,107, 64,143, 81,181,250,188, 59, 8, 15,239,223,197,218, 31, - 22, 70,232, 24,217, 18,123,210,170,240,240,119,111, 26,214,234, 67,199, 26,158, 40, 84,107,161,116,241, 64,112,147, 22, 31,198, -220, 55,125,173,203, 77, 84,189,238,179,206, 17, 2,147,133, 67,129,214,130,116,149, 1, 73, 57,122, 36,101,235,193,113,132, 60, -239,162,174,188, 63,166, 40,133, 68, 32,168, 97, 77,168,253,224,207, 11,196,207,215,147, 90,177,112, 38, 99, 33, 18,228,170,205, - 80,105,204, 80,169, 77, 80,105, 74, 4,150,139, 82, 0,142,112,213,158,157, 81,160,181,192, 65, 38,128,147, 66, 4,150,125,253, -152,239,249,107,246,181, 75, 87,105,187,255,176,104,142,232, 94,146, 14, 15, 18,213,144,136,232, 18,235, 85,169,192,178,215, 45, -204, 8,232, 41,239,190,211, 26,105, 42, 35, 4, 12, 13, 1, 67, 35,160, 81, 24,220,228, 28,186, 15,155, 5, 0,232,223,183,100, - 25,146,196, 44, 29,142,223,200, 2, 0,145,189,105,205,205,211, 72,143,156,139,156,186,239,215, 21, 98, 35, 43,196,198,147,201, - 48,154, 89, 72, 68,165,110,119,113,245,198, 55, 27, 91, 98,193, 74, 83, 89,160, 51,177,208,232, 45, 32, 4,184,149, 80, 12,189, -137,133, 90,111, 65,155,160, 26, 85, 62,115, 85,140, 79,253,222,200, 67, 85,114,191, 10,127,199,105, 85,105,193, 90,186,116,105, -244,210,165, 75,203,181,136,217, 35,176,202, 23, 87, 34,233,217,157, 63,126, 35,251, 51,150,224,210,131,124, 12,237, 88, 11,249, -185,233,216,178, 97, 29, 71, 8, 32,145,138,179, 89, 27,247,135,145,179,205, 84, 63, 56, 81,169,223, 87,238, 22,220, 68, 42,150, - 92, 88,186,118,147,197,203,187, 22,119,248, 70, 81,174, 90,207,190, 96, 43,100, 77, 38,154,112, 68,100,204, 73,176,107, 80,164, -105,202, 50,127,202, 96,112,132,224,187,117, 7,176,116,250,112, 40,165, 2, 57, 69, 81,114,157,209,134,105, 11,183, 98,245,220, - 49, 14,114,137,160, 84, 24,176,152, 56,229, 43,251, 68,128,137,133,174, 48, 59,191,177,118,205, 75,226,170,185,186,101,203,150, - 69, 46, 46, 46, 80, 40, 20,175, 35,176, 94, 17, 87, 94, 94, 94, 62,114,185,188, 70,153, 53,140, 97, 24,176, 44,171, 75, 72, 72, -120,173, 69,223, 52, 69,121,191,103, 38, 69,181,110,223,229, 93, 92, 62,251, 59, 23,113,106,203,224,234, 76, 49,119,118,114, 76, -187, 27,147, 18, 12, 40,145,145,111, 68,118,161, 17, 89, 5, 38, 88,108, 28,252, 60,229, 72, 79, 75,133,179,147, 50,205, 94, 62, -153,103, 64,111,154, 48, 19, 56, 10,191, 26,114, 98, 79, 1,128, 46, 51,102,210,129,221,155, 30, 70, 71,223, 95,219,111,248, 20, -113,143,247, 38,137, 54, 47,251,108, 22,128,225,118,119, 14,185,185,250, 99,199,142, 69,248,248,248,244,251,238,187,239, 76, 0, -196, 38,147, 73, 62,102,204, 24,121, 74, 74,202,151, 0,236, 74, 99,135,209,219,220, 40, 41,233, 45, 34,198, 17,126,114, 93,207, -110,157,218,162, 93,168, 47,210, 59,181, 5,128, 47, 82,244,202, 64, 83,189, 95,247, 91, 89,252,177,113,199,169,165,227,134,117, -251,114,183, 96,254,234,172, 19,243, 43,181,136,197, 93,221,214,171,188,174, 67, 88, 26,248,254,188,192,178,177,164, 58, 46, 56, - 98,101, 57,232, 77, 54,232, 77, 54,104,141, 86,156,191,151,139,156, 34, 51, 10,117, 22, 24, 77, 44, 8, 0,139,149,148,173, 42, - 82,185, 88,141,216,233, 92,246,189,102,216, 48,245,186, 5, 83, 28, 15, 93, 75,135, 66, 82, 18,143,229,164, 16,195, 81, 46, 4, - 64,112,233,210, 37,148, 77,143,175,234, 45,254,208,233, 91, 88,189,227, 2, 78,111,157, 9,169,152, 65,211, 65, 11, 48,106, 80, -107,112, 28,193,147,216,168,156, 6,193,205, 60,105,165, 28, 52,141,178,152,148,202,202,211, 21,192, 49, 0,253, 0,188, 11,128, -168, 98,142, 22,254,206,230,235, 46,156,220,167,208, 25, 76,182,194,148, 71, 63, 65,151,215,185, 44, 9,165,111,192,151, 0,116, -122, 93, 99,182,204, 35,112,221,167,147,166, 13,173, 95,191, 30, 14,236,221, 6, 66,168, 67,246,222,188,251,120, 4,214,172,125, -113,198,224,132, 73,147, 26,108,222,184,241,133,115, 31,143, 25, 95,217, 44, 66,202,217,221,123,102, 80,195, 16,220,136, 78,199, -138,121,147, 35,141,185,137, 35,204, 74,215, 9, 22, 93,214,191, 66, 66,155,193,203,211, 21,217, 89, 57,232, 58,176, 7,250,244, -234,133,135,247,239, 98,209,183, 95, 69, 64,111,238, 89,149,213,246,111, 33, 36,156,216,165,215, 32,161,222,100,193,250, 21,223, - 98,194,140,197,104,211,181,191, 48,234,222,205,137, 0, 22,216,155,103,179,149, 67,215, 38,238, 48, 91, 89, 88,172, 28,142, 37, - 50,130, 87, 45, 5,128,128,161,233,102,245, 74,220,187, 26,131,181,242, 74, 16, 80,217,133,154,226, 58, 63, 45,158,202,232, 76, - 44, 84,106, 19,114,139,204, 80,105, 76,200, 83,155, 74,196,149,218,140, 60,181, 9, 2,134, 66,124, 98, 6, 24,134,170,118,252, - 93,145,206,130, 86,129, 46, 0, 40,208,175,233, 14,201,179,185,247,185, 31,151,222,125,197,194, 57,162,123,137, 90, 60, 72,210, -148, 10, 43, 26,226,231, 4, 22,103, 71, 8,150,123,112,255,118, 35,134,244,109,228,168,144, 34, 35,182, 24, 2,154,130,128,161, -224,232,238, 11, 39,169, 17, 83, 38, 79,128,107, 13, 39,164,230, 25,177,238, 72, 28, 30,196, 36,128, 51, 84, 47,219, 27,246,156, - 30,252,241, 71,195, 36,180, 80,138,221,103, 19, 33, 22, 49, 16,192,140,152,155, 87, 76, 57,233, 73,150, 98, 77,145, 66, 32, 16, -218, 69, 74, 1,196,198,114, 32,132, 96,201,247,179,241,219,142, 13, 56,125, 39, 7, 4, 37, 75, 53,252,117,120, 21,166,205, 90, - 4,149,198, 12,128,122,109, 5, 75, 81,212, 73, 66,200,187, 47, 11,161,151, 69,210,115, 22,168,242, 56,110, 63,207, 81,118,125, - 69, 2,238,249,152, 44,216,185,216,182,160, 28,165, 72,149,137, 43,169, 88,124,118,199,186,217,178,243,113,120, 38,174, 12,218, - 60,236,218,186, 89, 75,192,189,147, 27,125,236,150,189, 5, 34,119,111, 16, 42,145, 75, 46,207, 89,180,206,228, 83,203,223,118, -234,158, 38,191,216,200,190, 98, 6, 17,201, 21,172,194,201,221, 40, 16, 75, 86, 11, 13,230,111,243,242, 30,233,170,170, 82,142, - 16, 28,191,153, 13,112, 37,149,120,224, 74, 70,201, 58, 62, 12, 5,150, 43,241,115,159,139,204,125,118,206,190, 10, 4,246,159, -141,204,171, 72, 92, 57, 59, 59,195,217,217, 25, 74,165,178,186,109,163, 92,203,149, 92, 46,175,113,230,204, 25,169,163,163, 35, - 24,134,129,201,100, 66,143, 30, 61, 94,171,241,201, 61, 2,135,183,233, 54,120,105,135,174,239,226,226,153,195, 92,196,169,237, - 67, 12,170,106,172,223, 3,160, 79,167, 38,199, 87,172, 90,239, 63, 99,214, 28,137, 66, 42, 64,161,214, 2,134,166,224,231, 33, -131,171,146, 65,196,133, 19,198, 17,189,155,217, 45,254,124,107,213,217,181,106,221, 38,215,213,203,191,239,121,239,170,217,179, -168, 40, 73, 3, 0, 6, 85,252,166,184, 40, 42,182, 86,237,179,151,155,118, 26, 12,143,154, 1,125,147,114, 98,171,149, 95,149, - 74,149,123,248,240,225, 71, 33, 33, 33, 45,134, 12, 25, 66,150, 44, 89,226,146,158,158,126,208, 94,113, 5, 0,221,122,181,155, -166, 16, 90,219,186,202,232,144,122, 94,114,180, 11, 45,241,126, 14,123,183, 3,106,249,214,198,211,108,125,179,124, 3, 39,210, - 89,133,245, 54,110,218,118,219,175,134, 96,156, 77,107,136, 1,112,180,218,157, 3, 74, 59, 73,121,169,184,146, 10,160,148, 9, -193,145,146,223,236,183, 96,113, 48, 91, 56,232,205, 54,232, 77,108,137,216, 50,179,224,184,146, 96,101,138,162, 96,177,178, 85, -190, 13,150,215, 75, 58,186,184,193,191, 78, 73, 26,159,125,100, 66, 80, 20,224,238,238, 14, 87,215,170,215, 29,229, 56, 14,102, -139,173,116,208,101,159, 77,234, 48, 91,108, 32,132, 32, 46, 46,126,102,114, 98,242,192,128, 6,245, 59,133, 52,105, 86, 67, 38, -166, 81,106,157,170,236,173,118, 4, 0, 43,158, 91, 51, 77,200,192,120,228,240, 33, 69,191,254,253, 11, 45,186,188,231, 39, 75, - 48, 0,122,151,138, 49, 67,117,171, 73,225, 30, 56,200,197,181,198,226,145,163, 39, 4,118,125,167, 23, 46,157, 63,135, 99,135, -247,237,212,171,226,206,218, 75, 18, 20, 20,244,202, 44,194,250, 1,129,175,204, 34,172,227,223,160, 66,129,229,228,212,196,177, - 73,203, 46,190, 41,121, 22,252,241,199, 41,232,212,217,243,204,102,173, 30, 66,178,229,207,195,191,140, 29, 49,241, 59,199, 54, - 45, 91,192,217, 65, 14, 55, 23, 37,238,222,137,192,242, 5,115, 34,160, 55,247,172,186,255, 44, 69,112,176,168,166,204,119,170, - 95,189, 70,184,123,243, 26,158,196, 69, 69,223,187, 29,209, 40, 32,180, 53,220,125,252,166,166,184, 49,203,240,232, 81,149, 59, - 85, 16,150,164,127, 50,254, 95,165,131, 94,201,185, 54, 77,253,197,175, 54, 66, 10, 54,171,133,221,189,121,121,238,243,179, 8, - 43,226, 53, 22, 23,133, 95,189,249,240,171, 1,189, 58, 82,101,174,192, 50, 81,245,242,113, 64, 77, 5,158, 60,124,204, 89,117, -234, 67,213,171,114,146, 51,105,242, 23,178,146,180,115, 32, 37, 11,171, 85,183,221,192,200,138, 62,220,248,253, 55,212,253,100, - 29, 30, 38,105, 74,220,130,165, 2, 75, 34, 98, 32, 46,253, 75,136, 29,250,130,166, 87,124,252,126, 47,228,169,205,224, 8, 41, - 93, 75,143,130, 64, 32, 68,138, 6, 72,211,104,161, 42,202, 65, 98, 82, 50,212,217,137,160,105, 6,174, 53, 3,160, 79,181, 47, -173,197,172, 50,208,202,161,254,251,253, 58, 50,191, 95,207,130, 76, 34, 64,113, 94, 26,174,157, 57, 96, 32, 44,187,201,108, 53, -255,230, 65,196, 81,143,162,194, 45,118,118, 29, 42,141,206,236, 41, 17, 49, 56,176,253, 39,124, 48,106,210, 51,107, 54, 0,124, - 53,103, 33, 40,138, 66,161, 90, 11,128, 82,217, 97,185,122,254, 88,245,156,229,233,149,227,231, 68, 81,121,199, 84,233,177,185, - 2, 14,243, 75,162,202,252,210,121,243, 75,124,118, 45,142, 92,161, 5, 75, 72, 51,231,182,175,253, 70, 26,157, 43,193,173,199, -217, 24,218,177, 22,244,154, 60,108,254,121,141,214,104,181,244,201,139,178, 95, 92,149, 54,148, 94, 31,140,153, 30, 93, 47, 32, -216,124, 62,170, 56,177, 72,103,173, 48,142,161,245,208,111,162, 35, 79,254,212, 87,109, 77,156,172,240, 14, 97, 57,155,109,133, - 65, 21,247,125,249,157, 56, 17,127,183,238, 64,137,184,226, 56,124,189,124, 23, 8,199,150, 46,224,199,130,176, 28, 62,159,183, - 1,182,210,239, 44,199,130,178,178,242,170,146,171,148,138,206, 54,214,174,113,122, 89, 92,133,133,133, 21, 57, 59, 59,195,213, -213, 21, 46, 46, 46, 40, 19, 68,111,234, 22,164,105, 26, 74,165, 18,151, 46, 93,130, 82,169,132, 66,241,122, 11,228, 43, 60,130, - 62,104,213,109,208,158,174,253,199,208,127, 30,217,204,222,188,116, 98,168, 81, 21,107,183, 8, 96, 89,150,178, 90,173,232,213, -165,121,202,189,216,212,211, 11,191,255,190,119,203,110,239, 73,218, 5,121,192, 96,182, 33, 61, 45, 13, 17, 23,143, 25, 3,106, -187,157,110,215, 34, 48,221,106,181,130,101,217, 42, 7,112,147,201,156, 79, 11,165,174,195,134,127, 40,185,125,235,214, 30,185, - 71,224, 62,154,225,238, 19,150,105, 2,194,125,208,164,113, 48, 44, 54, 14, 6,189,166,224,117,242, 29, 29, 29,125,123,213,170, - 85, 65, 66,161,176, 86,120,120,120, 94, 97, 97, 97,181,182, 11, 58,119,242,214, 58,129,210, 26, 95,102,193, 74,235,216, 22,195, -251,117,192,111, 39,175,225,226,149, 8,164,232,149,247,116,102,230,247,244,244, 76, 83,136,139,250,240,160,246,117,153, 67,187, - 52,135,162,187,204,124,159, 16,217,185,188,203,243,237,158,224, 65, 81,128,198, 96,125,206,130, 85, 18,223, 68,211,148,221, 22, - 44, 10, 72,188,114,253,110,104,243,192, 96,220,123,170,129,170,208, 4,189,185,164,221, 19, 16,184, 58,138, 32, 17, 49, 72, 73, - 74, 4, 71, 44, 73,213, 27,103,160,234, 51,116,130,160,244,245, 69, 32, 20, 10,158, 5, 68,200,164, 98,173,135,135,135, 93, 2, -203,202,178, 24,210,171, 53,218,180,108,130,129, 19, 87, 1, 0,206,239,252, 26, 46, 74, 17,194,195,195,145,246,215,218,221,254, -109, 39,158,141,122, 24,243, 94,116,228,245, 15,251, 52,151, 53,243, 18,100,137, 42, 81,197, 71, 75, 93,132, 93, 1,244, 40,181, - 76, 89, 89, 27,151,218,187,119, 47,142,101,185,231, 99, 34, 92, 0,180, 5, 80, 0,224,110,169, 40,171,228, 5, 48,232, 29,208, -216, 7,138,146, 42,101,242,148,186,117,235,249,180,108,211,218,105,208,144,247, 33, 22,137,241,231,185, 51,248,113,205,178, 3, -218,172, 71, 99,170,229, 30,179, 51,160,189, 50,119,145, 90,237,164,139,139,185, 87,152,152, 99,118, 17, 56, 55,128, 80,226, 48, -129,114,242, 89,199, 72,148,223,213,108, 51,202,241,252,181, 91,136,190,119, 29, 62,110, 50, 36, 62, 73,208, 71,221,143,220,160, -167,132,223, 35,239,145,222,222,116,202,243,217,247,218,140,236,237, 98,180,176,184,122,225,164,145,179,113,189,111, 92, 62,245, -196, 55,176,165, 52,180,101,119,151,188,163, 91,134,232,129,223,170,226, 73,190,181,231,149,208, 11,134,188,159,121,234,220, 21, -165, 79,237, 0, 6, 20, 13,147, 65, 7, 85, 74,148,205,168,201,209,231, 70, 29,245,177, 43, 28,192,150, 49,239,219,101,155, 38, - 55,111,218, 72, 65,136,248, 5,139, 85,217,247,252, 98,115, 73,204,172,174, 8, 79, 31, 94, 51,170, 18,212,179, 43,239,235,172, -242,252,252,130,103, 83,243,101, 90,231, 58,106, 39,181,228,217,176,206, 0, 78,106,231,103,150,138,252,252, 2, 49,203, 90,229, -246, 60,158,206, 14, 82, 60, 76,202,124, 22,208, 46, 17,209,165,177, 87,127, 91,178,236,124,206,155, 11,196, 10,100,228, 27, 65, - 19, 2,142,179,193,102, 53, 67,171,209, 32, 51, 35, 27, 57, 57,185,208, 22,171, 33, 83, 58, 35,180, 89, 11, 56, 56, 56,224,209, -157,139, 0,168,227,118,137, 65, 78,212,160,101,139, 22,194,232,228, 98, 88,172, 28,132,176,224,234,233,253, 70,155,213,220, 63, - 55,234,232, 5,192,142,173, 68,158,119, 15,114,228,207,168,216,148, 70,190,110,222, 84,228,211, 34,236,250,101,125,201,108, 82, - 91,137, 53, 51, 58, 85,135,204,124, 29, 50,210, 82, 8, 56,246,207,234, 60, 75, 20, 69,221,174,236,248, 53, 45, 97,111,204,241, - 90, 2,203,102,179, 73,107,251,213,193,240, 9, 35,177, 97,195, 70,196, 61, 77,193, 47, 63,175, 45, 17, 87, 15,127,255,203, 78, -254, 80,148,174,149,161,207,137, 93, 97,116,105,149,126,252,126, 33,109, 48, 19, 91,229,157, 93, 93,116, 28,179,250,140,161,184, - 64,204,154,244,130,227,187,199,236, 43,143, 19, 0, 24,154, 50,151,186, 5, 65, 81, 20,202,220,130, 27, 22,140,131, 92,194,128, -162, 40,232, 77, 54,124,252,229,106,236, 92, 93,242,102,245,233,228,233,250,138,210, 89, 38,132,190,108, 27, 79,141,238,237, 63, - 96,209,214,152,163,215,146, 93,159,190,251,110,103,117,179,102,205,138,100, 50, 25, 20, 10, 5, 28, 29, 29,225,232,232, 8,103, -103,231, 42,243, 94, 10,207,170, 98,174,104,154,134,163,163, 35,100, 50, 89, 69,194,237,101,206, 23,197,149,103,131,247, 91,117, - 25,184,175,219,128,177,244,159, 71,126,225,238, 92, 58,254,190, 81, 21,247,187,189,117, 84,106,117,184, 63,100,200,144,198, 19, - 38, 76, 16,125, 51,121,200,153, 51,151,238,198, 29, 62,119,168,127, 65, 81,177, 47, 33, 4,206, 78,202,180,161, 61, 26, 31,239, -216, 50, 40,229,252,249,243,220,190,125,251, 76, 20, 69, 61,172, 42,157,121,121,185,219,207,159,191,176,188, 83,231, 46,248,101, -199,190,119, 99, 98, 30,189,251, 36, 33, 30,190,126,245, 80,183, 94, 3,232, 41,103,156,191,124, 21,197, 5, 57,219,237, 44,207, -191,127, 8, 13,173,201, 48, 76,173,162,162, 34,227,188,121,243,130, 88,150, 61, 22, 26, 26,218,130,227,184,172,152,152,152,116, -123,242, 30,177,251, 99, 21,128, 93,126,157, 71, 29,204,180, 20, 77, 5,176,204,183,118,109, 92,188, 18,129, 27,127,221,220,152, - 39,175,253,253,232, 15, 63, 25, 87,199, 85, 56,110, 96,187, 58,140,135,139, 28,123,127, 89,197, 28,189,158,188, 38, 57,223,250, -235,242,203,243, 23,217, 83, 71,101, 40, 40,182,160,125,136, 43,108, 54, 2,150, 16,208, 20, 5, 7,153,160, 34,129,245, 10,167, -192, 44, 25, 51,105,226,132, 39,161, 77,154, 77,251,112,212, 4, 81,179,250,181,113, 43,190, 16, 0, 5, 87, 71, 57, 50, 51,179, -112,245,216,175,182,194,140,199, 27, 25,134, 91, 80,157,242,204,136,220, 31, 80,246,221,203,203,107,252,189,168, 40, 92,186,116, - 9,174,174,174, 40, 19, 87, 21,184, 8, 95,224, 44, 44, 44,254,107,225,170, 95,219,143,251,104, 32,250,117,105,132,203,183,159, -192,108,229, 96,177,113,207,130, 92, 19, 35, 54,137,167, 14,171,103,158, 60, 36, 80,163,183,138,147,191, 75,214, 92,198,139,139, -200,190,156, 78, 51,128, 51, 0, 90, 3, 24, 8,224,236, 75,123, 12, 82, 40,137,187,106, 4, 32, 2, 64,162, 93,121,167,177,247, -238,237, 59,174, 22, 27,135,171, 55,239, 7,119,107,223, 12,132, 35,184,125,251, 14,182,108,219, 98,124,248,224,222, 74, 93,142, -215, 2, 84,188,101, 76,185,229,105,239, 44,194, 10, 4, 86, 41,231,101, 91,118,114,208,198,235,215, 46,207,145,248,180, 64,195, -190,223, 12,200,184,127,108,128, 87, 72, 47,184,213,111,143,204,251,191, 35,242,175,189,167,238,216,108,179,164, 28,157,162,207, -139,213,217,251,188,151, 65, 34,149, 79,105, 20,214, 25,105,169,201, 72,138,143,218,105, 44, 72,200, 76,121,194,236,204, 72, 79, -153, 88, 55,164, 61,174,157,249,237,139, 74, 4, 86,165,109,222, 77,172,222,120,233,218,245,225, 25, 7,143,121, 22,107, 13, 50, -129,128,214, 75, 24,228,136,244, 79,246,219,157,206, 71,143, 44, 69,245, 28,135,124, 56, 97,238,201, 53,203,231, 9, 61,156, 37, -200, 46, 52, 66,163,183, 66, 99,176,130,161,128, 0, 31, 37, 12, 58, 13,110,156,218,101, 37,150,130, 33, 64,164,181, 34, 78,183, -144, 1,139,140,249,137,159,207,157, 59, 27,140,216,209,167,110,183,217,150, 18, 85,254,210, 98,230, 53,128,186,254,179, 97,210, -100,245,159, 59,119,118, 16, 33,164,187, 91,200,128,226,231,246, 34, 44, 55,239,249,197, 22,124,212,213, 23,102,107,201,250, 97, - 44, 91, 18,107,199,149,174,106,142,202,237,202,207, 56, 9, 32, 58,112, 50, 2, 25, 57,133, 48,152,172, 48, 91,108, 48,219, 88, -208, 52, 3, 23, 23, 23, 4,248,135,193,217,201, 17,185,121,249,184, 29,113, 13, 55,226,238, 37, 18, 96, 81, 94, 13,245, 30,123, -234,136, 18, 40, 2, 60, 61,220,168,156, 98, 51,164, 18, 6, 55, 46, 93,182, 2,216, 94, 38,174,170, 51,118, 0,128, 90, 95,180, -122,214,194,117, 35, 54,172,250,206,171, 73, 93, 71,164,229, 25,145,174, 50,160,216,104, 3, 64, 96, 99, 9,204, 70, 53, 98,111, -159,206,182, 65,191, 26,255,112, 84,108,193, 18, 10, 77,183, 31,196, 73,102,205,255, 1,143, 18, 18,177,101,227,122,157,169,122, -226,234, 21,108,255,204,255,183,127, 71, 38,202,115, 11,114,132,224,248,141,236,103,219,126,148,185, 10,239, 38, 20, 85, 69, 39, -252, 97, 74,179,153,101, 66,232,199, 35, 25, 55,254, 31,123,247, 29, 30, 69,185,254, 13,252,187,187,179,125,211,235,166, 27, 82, -128, 64, 40,161,183,208,133, 32, 45, 8, 10,210,132, 35,130,192, 81,218, 15, 57, 82,130, 98, 59,162, 20, 11,138,116,233, 77,138, - 84, 67, 12, 72, 21, 66, 66, 32,164, 39,164,215,205,166,109,159,221,121,255,128,228, 32, 39,101,131,250,158,115,224,254, 92, 87, - 46, 72, 50,251,205,204,236, 51,179,247, 60, 83, 30,137,164,204,146,147,147, 83,177,123,247,238,250,162, 71, 32, 16,160,238,122, - 41,131,193,208,236, 93, 69,142,118,226,246, 83, 34, 94,120,181,177,226, 74, 32, 16,192, 98,177,212,247, 94,181,244,212,163,220, -181,245,208,110, 3,198,238, 27, 52,230,111,252,232, 31,191,183,220,252,229,248,248,218,210,148,163, 45, 93,151,106,181,250, 46, -128,212,181,107,215,118,222,178,101, 75,171,197,139, 23,103,124,255,241,236,141, 15,143,224, 30, 30,203,196,197,197,113,115,230, -204,209,235,116,186,204,138,138,138, 91,176, 98,144,107, 77,113,242,218,237,223,252,179, 77,110,126,225,244,192,246, 61,224,226, -223, 29,202,192, 30, 80,213, 24,113, 61, 45, 31, 25,247,162,145,116,229,208,126,109,169,251, 71, 64,138,213,243,219,169, 83, 39, - 95, 62,159, 63,138,227,184,214, 10,133,194,159,227, 56, 49,195, 48, 19,120, 60, 94, 42,203,178,247, 66, 66, 66,162,147,146,146, -172, 30, 51,236, 65,236, 14,189, 95,255,233, 27, 30,104, 20, 3, 50,138, 52, 97, 15, 52,138, 56,141,196,126, 97,233,133, 13,250, - 29, 2,175,117, 48,149,223, 61,180,179,242,200,158,205,159, 11, 38,207, 90,100, 78, 84,217,189,205,216,200, 90,212, 91,198,231, -241, 10, 23, 47, 94,242,175,199, 52,240, 30,158, 24,124,244,200,134, 2,107, 50, 30, 61,211,104,105,194, 61,225, 87,137,239,204, -254,160, 67,183, 62, 83,250, 15,127,149,111, 35, 82,224,252,209,111,185,204,132,152,131, 12,103,126, 79, 91,154,145,249, 71,183, - 47,131,193,240,187,194,202,154,222, 43, 0, 40,117,174, 28,240,211,185, 95,166,159, 60, 19,251,113,196,208,190,206, 95,175,120, - 5,255,252,238, 24,108,228, 18,112, 22, 51, 94, 25,232, 51,126,229,223,218,142,242,113,151,122, 29,142,201,187, 56,111, 93,226, - 82,141,198,152,130,230,199,189,227, 0, 92, 3, 16, 4, 96,212,163,233, 21, 0,106, 1,212, 60,250,253,143,143,190,183,154,145, -181, 32,171, 88,135, 99, 71, 14, 33,254,122, 52,146,146,146,171,147,238, 37,125,201, 99,184,117,181,197,169, 42, 32,181,197,235, -206,220,224, 29,131,104,248,206,194, 38,212, 10,100, 31,197,157,252,108, 64,240,160,191,247,114, 14,236, 3, 71,191,135, 53,101, -101, 94, 34,114,127, 59,116,172,186, 64, 52, 1,184,107,170,125,202,247,216,211,167, 85,176, 69, 32,198,149, 95, 78,129,179, 88, - 54, 1, 0,103,177,108,186,253,235,169,217, 61, 34,102,194,201,205,175,147, 58, 39,174,201, 71,249, 52, 70,198,176,149, 63,237, -248,232, 96, 86, 86, 22,238,223,191,143,180,180, 52,168, 84, 42,236,217,115,169, 69,207,106, 42,205,184,122,158, 39, 96,134, 77, -122,253,157, 19,145, 47, 71, 74,125,253, 3,249,109,188,237,224,108,203, 32, 57, 61, 31,233,137,169,150,180,132,139, 58, 78, 91, - 50,182, 52,253, 74,163,189, 35, 46, 33,227,221,249,124,211,187,209,199, 31,142, 45, 56,100,204,140, 54,255, 55,111,113, 79, 39, -103,199, 6,247,227,170,242, 10,113, 84,212,202, 54,117,211, 55, 55, 22, 33, 95, 32,168,158, 53,123,190,130,207,227,215,159, 6, -228,234, 86, 91,221, 63, 28, 7,240, 0,145,144,105,246, 45,155, 30,217, 23,172,197,130, 26,173, 17, 53, 26, 35,212, 53, 58, 20, -149,169,113,247, 94, 58,110, 92, 58,141,172,244,180,106,150,101, 99,192,225, 72,169,115,229,254, 6, 30,172,219,120, 15, 43, 4, -190, 78,142,182,200,170,208, 65, 38, 98, 80,144,147,198, 26, 89,221, 83, 63,100,189, 60,254, 68,161,160,253,232, 23, 95,127,235, - 31,103,194,195,251,217,117, 12,235,170,112,177,179,133,136,225, 33, 61,167, 24,119,226,126,171,125,144,114,187,202,108,210, 14, - 47,191,123,226, 15,143,210,242, 63, 91, 96, 25,205,236,144, 69,255,248,228,156,217,108,150, 49, 2,129,214,196, 89,134,255,145, -226,234,175,194,113,150,188,183,222, 94,242,187, 3, 2,147,217, 34,251,219, 91,139,181,143, 31, 32,240, 76,102,121, 93,207, 21, -199,113, 77,245,106, 8, 74,213,250,234,101,223,196,239,252,116,231,189, 67,120,248, 4,215,188, 63, 58,159, 21, 85,134,120,231, -161, 7,198, 84,107, 88, 30,128,164, 6, 50,107, 7, 13, 26, 84, 95,108, 61, 58, 93,103,245,254, 82, 44,149,207, 30, 56,106, 6, - 63,250,216, 22,203,111, 49,199, 38, 60, 77,113,245,248,219,175,211,233,174,235,116,186,196,247,222,123,175,155,187,187,187,251, -202,149, 43,165, 85, 85, 85,194,175,191,254, 90, 87, 86, 86, 86, 84, 85, 85,117, 21, 45,187,174,197, 82,145,119,231,245,159, 14, -155,190,229, 29,218,250,162,163,155,215, 48, 7, 23,159,214, 21,165,121,233, 85,229,121,103,120, 22,156,175, 41, 77,185,218,210, - 25,141,143,143,207, 9, 13, 13,253, 81, 32, 16,120,155,205,102, 23, 30,143,103,195,113, 92, 5,203,178, 21, 22,139,165,176, 37, -197,213,227, 69,150, 79,219,190,123,203,181, 22,177,145, 39,221,251, 32,118,135, 30, 0, 74,206, 47,209, 0, 56,142, 1,255, 23, -121,236, 74,214,151,119, 43,236,230,151,198,254,243, 68, 75,243, 11,110, 31, 8,250,179,218,191,174,240, 94, 30,128,233,119,110, -226,243,196,184,171,171,120, 28,132,102,176,107,180, 37,105, 55,255,140,124,161, 80,168,235,218,181,107,131,119, 11, 74, 36,146, -166,159, 91, 22, 27,203,150, 0, 91,208,191,255,142, 51,209,151,166,159, 62,255,235,199, 61,123,245,117,150, 74, 60,225,231,104, -196,142, 37, 93,254, 30, 29, 87,122, 99,244,146,139,223,100, 20,232, 18,208,244,245, 87, 13, 73, 3, 80,249,168, 39,107, 51,128, - 89,143,182,173,196, 22, 23, 2, 22,188,214,171, 87,247, 61, 60, 30,143,225, 88,203, 63,175, 10, 5,123,117,133, 73,121,248,131, -195,135,116,244,183,195,172,217,179,131, 3, 2,255,117, 23, 97,251, 23,108, 49,121,250, 27,193,126,173,130,235,127,214,198,167, -153, 3,170,194, 56,109,141, 91,232,208,228,115,107, 87, 56,167, 95,126, 75,230,228,109, 83, 91,150,173,170,200,190,185, 86, 83, -226,190,182,129, 17, 26, 90, 36, 43,237,238,186,173,159, 47, 93, 92,152,159,190, 69, 83,154,250,240,172, 67,105,106, 98,210, 45, -172, 40, 43,202, 91, 92, 94,146,177,246,105,215, 69,109,109,109,193,238,221,187, 29,250,244,233,195,119,119,119, 71,105,105, 41, - 98, 98, 98, 44, 22,139, 37,191,165, 89, 37,169,151, 98, 16, 16,224,180,119, 71,229, 63, 25,153,237, 8,214, 12, 79,142,227,192, -240,121,133, 70,125,229,153, 82, 7,237, 18,220,185,214,100, 59,226, 44,102, 30,199,231,248,117, 99, 11, 90, 44, 22,222,103, 95, -237,202, 22, 8,197, 13,158, 82, 53,155, 12,114,139,197, 98,245, 88,132,197,130, 7,206,161,166,182,205,223,197,199, 1,137,188, -251,205, 28,156,114,103,123, 71, 76, 29,198,178,102,211,163,237,163,238,171,132,227,120, 23,192, 51,159, 43,115,170,190,218,146, -162,234,119, 59,122,163,209, 1,124, 17,108,229, 38,240,193, 67, 85,101,165,196,213, 44, 78, 42,251, 3,109,169,228,238,241,187, - 37,253,251,251, 25,126,190, 48, 45,246,210,229, 9,156,197,226,111,230, 0,112,188, 44,131, 81,119,176,196,174,108,231,211,206, -239,255, 26,222, 95,156,111,213,233,146,255,194, 76, 17, 0, 23, 60,124, 36,126,241,159, 60,159,141,142, 45,248, 71,150,221, 70, -217,182,175, 68, 42, 95,162,209, 84,111,209,150,164,158,248,147,215,167,189, 68, 34, 9,179,177,177, 17,150,149,149, 93,127,244, -161,246, 44,190,239,245,250,190,190,205,101,208,176,222,239,156,255,233,198,134, 71,167, 15,235,121,141,255, 66, 58,121, 68,248, -194, 93, 71, 78,174,107,224, 46,194,255,249,101,255,203, 50,251,247,103,220, 42,236,166,155,205,150, 53,131,130,171, 53, 69,153, -201,115, 46,221, 41,189, 14,160,250, 15,206,231,164,199,122,176,246,254,183, 44,187,107,251, 49,239,131,135, 16,171, 19, 56, 36, -149,222, 61,182,178,217,249, 12, 9, 17,201, 75,225,168, 41,115, 41,127,138,194,234, 63,209,150, 4, 29, 58,116,232, 39, 18,137, -124,205,102,179,220, 96, 48,104,180, 90,109, 86,118,118,246, 21, 52, 62, 32,249, 95, 58,159,110,161, 99,214, 9,133,194,183, 1, -192,100, 50,109, 40, 73, 60,182,160,169, 23, 54, 49,253, 95,191, 62,199,143, 23,224,208, 33,243, 95,241, 30,121,118,126, 89,109, - 50,177,245, 99, 15,137,132, 76,101,254,237,195, 14,255,193,182, 68, 90,248,166, 82, 38,101, 82, 38,101, 62,137, 79,235,147, 50, -255,147,153, 30, 33, 35,125, 60, 66, 70, 90,253,176,228, 70,166,167,245, 73, 26,197,208, 42, 32,132,252, 7, 88,104, 21,144,255, -164,194,164,147,185,127,229,244,132,240,154,168, 66, 91,210,245,247, 52,149,108, 34,101, 82, 38,101, 82, 38,101, 82, 38,101, 62, -119,153,205,101,211,169,199,191,168,240,162, 76,202,164, 76,202,164, 76,202,164,204,231, 47,243,153,194,167, 85, 64, 8, 33,132, - 16, 66, 5, 22, 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33, 84, 96, 17, 66, 8, 33,132, 16, 42,176, 8, 33,132, 16, 66, 8, - 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, - 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,127, 29, 26,105,156, 50, 41,147, 50, 41,147, 50, 41,147, 50,159, 59,244, - 36,119, 66, 8, 33,132, 16, 42,176, 8, 33,132, 16, 66,168,192, 34,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 80,129, 69, - 8, 33,132, 16,242, 95,131,135,198,239, 4, 72,108, 65,206,211,220, 77,144, 72,153,148, 73,153,148, 73,153,148, 73,153,207, 93, -102,115,217,137, 32,127, 73,225, 69,153,148, 73,153,148, 73,153,148, 73,153,207, 95,230, 51,133, 78, 17, 18, 66, 8, 33,132, 80, -129, 69, 8, 33,132, 16, 66, 5, 22, 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33,132, 10, 44, 66, 8, 33,132, 16, 66, 8, 33, -132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, - 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66,200, 95,136, 70, 26,167, 76,202,164, 76,202,164, 76,202,164,204,231, 14, 61,201,157, - 16, 66, 8, 33,132, 10, 44, 66, 8, 33,132, 16, 42,176, 8, 33,132, 16, 66,168,192, 34,132, 16, 66, 8, 33, 84, 96, 17, 66, 8, - 33,132,252,215,224,161,241, 59, 1, 18, 91,144,243, 52,119, 19, 36, 82, 38,101, 82, 38,101, 82, 38,101, 82,230,115,151,217, 92, -118, 34,200, 95, 82,120, 81, 38,101, 82, 38,101, 82, 38,101, 82,230,243,151,249, 76,161, 83,132,132, 16, 66, 8, 33, 84, 96, 17, - 66, 8, 33,132, 80,129, 69, 8, 33,132, 16, 66, 5, 22, 33,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 16, 66, 8, 33,132, - 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, - 8, 33,132, 16, 66, 8, 33,132, 16,242, 23,162,145,198, 41,147, 50, 41,147, 50, 41,147, 50, 41,243,185, 67, 79,114, 39,132, 16, - 66, 8,161, 2,139, 16, 66, 8, 33,132, 10, 44, 66, 8, 33,132, 16, 42,176, 8, 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33, -255, 53,120,104,252, 78,128,196, 22,228, 60,205,221, 4,137,148, 73,153,148, 73,153,148, 73,153,148,249,220,101, 54,151,157, 8, -242,151, 20, 94,148, 73,153,148, 73,153,148, 73,153,148,249,252,101, 62, 83,232, 20, 33, 33,132, 16, 66, 8, 21, 88,132,128, 85, - 79,218, 0, 0, 32, 0, 73, 68, 65, 84, 16, 66, 8, 33, 84, 96, 17, 66, 8, 33,132, 80,129, 69, 8, 33,132, 16, 66,168,192, 34, +137, 80, 78, 71, 13, 10, 26, + 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 2, 88, 0, 0, 2,128, 8, 6, 0, 0, 0, 64, 11, 6,158, 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,217, 7, 23, 19, 9, 14,174, 17,223, 22, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236, 93,119,120, 20,213,226, + 61,119,202,246, 77, 39,141, 4, 66, 71,186, 16, 64, 9, 96,144, 14,242, 80,121,162,128,160,226,243, 61,236, 15,177,128, 29, 20, +136,250, 20,108,136,242, 84,120, 32,250, 19, 21, 36, 54,154,116, 8, 16, 68, 8,197, 8, 18, 8, 37,132, 68, 82,183,239,206,253, +253,145,157,113,179,217, 50,193, 4, 81,238,249,190,249,182,204,204,153,219,231,220,115,239,157, 1, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,174,100,116, 97,156,140,147,113, 50, 78,198,201, 56, 25, 39,227,188,210,192, 93,196, + 57,180, 17,194, 65,189, 91,230,159,128,179,177,226,222,144,220,153, 94,190,231,255, 36,225,204,188,140, 57,105, 35,240,210, 70, + 40, 83,180, 17,202,125, 99,115,162,145,226, 78, 27, 33,223,159,255,147,132, 51,243, 50,228,244, 47, 63, 13,193, 27,168, 76,210, + 6, 14, 39,109,132,112, 54, 22, 39, 26, 41,238,180,145,242,190, 33,239, 77,151, 45,132,203, 64, 96, 0, 0,241,225, 39,151, 49, + 39, 26,137,179,161,195,183,177, 17, 56, 73, 35,148,129,231,189,188,155, 26, 80, 16,201,113,111,136, 60,162,141,192,219,152,226, +170, 33,203,125, 99,115,162,145, 56, 73, 3,167,231,198, 70,224,108,168,186, 68, 27,161, 46, 53, 70,153,247, 47, 63, 13,193,235, +207,217, 16,117,201,159,179, 33,202,253,165,224, 68, 35,113,146, 70, 72,211,198,184, 55, 93,182,224, 46, 50,177, 26, 3, 20,192, +128,203, 92, 8, 53,150,200,108,104, 23,167, 49, 57, 27, 50,143,158,111,132,222,204,128, 6,204, 35, 18, 32,188, 13,201, 73, 26, + 41,156, 13,145, 79,164, 17,234, 18,105,132,186, 68, 26,161,220, 95, 42,206,134,204,163,134,170, 75,164,145,234,146,127,124,159, +111, 96, 78,210, 72,225,108,136,124, 10,196, 73, 26,129,179, 49,226,158,121, 25,243, 94,246, 16, 46,147,112, 52,134, 16, 66, 3, + 58, 25,141,233,226, 52,150,211, 70, 26, 41, 93, 55, 53, 32,215,198, 70, 8,231,166, 6,236,209, 6, 18,132,207, 93,230,117,154, +213, 37, 86,151, 46,183,186, 68,131,116, 86,158,187,204,202,121, 67, 58, 66,161, 56,126,111, 62,209, 32, 29, 53,218,128,225,108, + 72,215,154, 92,162,250,116,217,129,187,140,194,210,208,243,123, 40, 26,199, 21,107,172,120, 55,100, 56, 7,252, 73,226,222, 24, +225,124,190,145,226,254,103, 73, 83, 86,151, 88, 93,186, 28,235,146,111,153,108,168,176, 54,116, 57, 15,196,217,144,243,144, 26, +178,140, 54,118,220,233,101,158,247,127, 10, 92,140,131,213, 88,189,227, 63, 3,103, 99,112, 55, 70, 56, 55,253, 73,210,180, 49, +194,249, 60, 26,118,200,145, 52, 66, 88, 27,115,152,176, 49,202,102, 99,150,119,114,153,135,243,207,146,239,141, 17,206,134,170, + 75,164, 17,234, 61,105,132,246,169, 49,203,102, 99,114, 54, 4,119, 99,132,179,177,242,158,129,129,129,129,129,129,129,129,225, + 74, 69, 80, 37,217,189,123,247,108,189, 94,223, 38,216,126,139,197,114,246,199, 31,127,188,158, 37, 33, 3, 3,131, 10,112,248, +109, 74,130,132,198, 25,226, 96, 96, 96, 96,184,108, 16,116,136, 80,163,209,180,218,188,121,115, 59, 73,146,224,118,187,225,241, +120,224,241,120,224,118,187,225,112, 56,240,247,191,255,189,222,195,139,221,186,117,219,204,113, 92,139,250,156,227,241,120, 78, +238,223,191,191, 95,176,253, 9, 9, 9,219, 1,180, 34,228, 55,173, 72, 8,129,252,219,247,127,142, 83,166,156,157, 57,117,234, + 84,143, 80,156,132,144, 86,190,124,254, 92, 1,120, 67,114,182,111,223,126,143, 32, 8,169,129,206, 15,198, 45, 73,210, 47,121, +121,121, 25,172,152, 94, 26,116,235,214,109, 51,207,243,245, 46,159, 63,254,248, 99,208,242,217,185,115,231, 31, 56,142,107, 26, + 40,143,131,148, 39,222,227,241,252,228,229, 12, 40, 64,146,146,146,182, 83, 74, 91,169, 44,151, 50, 78,157, 58,117,170,103,184, +122, 20, 42,156, 1,184, 67,114,250,138,171,148,148,148,172,248,248,248,123, 45, 22,139, 13, 0,229, 56,142,202,220, 50,175,199, +227, 57,127,228,200, 17,246,240, 66, 6, 6,134,191,182,192,146, 36,137,179,219,237,200,207,207, 7,165,117,219,121,142,227, 60, +245,189, 24,165,180,221,250,229, 75, 19, 12,241,137,240, 56, 29,208, 53, 73, 80,184,203, 14, 29,128,199,233,132,228,114,162, 73, +207,107,229, 48, 96,192,128, 1,124, 24,218,212,169, 83,167, 38, 68, 68, 68,192,102,179,193,102,179,193,110,183,195,110,183,195, +225,112,192,225,112,192,233,116,194,233,116,194,229,114,193,110,183,227,192,129, 3, 33,195, 78, 8, 73,125,232,161,135, 20, 78, +187,221, 14,155,205,166,112,217,237,118,133,211,225,112,192,110,183,227,224,193,131, 33, 57, 5, 65, 72,221,187,119,111,130, 70, +163, 1,165, 20,146, 36,129, 82, 90,107,243, 75, 43,244,237,219,215,201,138,232, 37, 69,187,149, 47,205, 78,208,197, 53,129,228, +114, 33,238,234,116, 37, 47, 78,175,255, 22,146,203, 5,201,229, 66,218,223,198, 40,255,103,102,102,134, 43,159,105,159, 61, 59, + 35, 90, 19, 17, 1,183,205,134,150,163,110, 86,118,228,189, 51, 15,212,229, 2,117, 59,209,245,145,167, 1, 0, 37, 37, 37,214, + 14, 29, 58,156, 65,232,213, 91,169,199,143, 31, 79,144,195,224, 47,212, 57,142,171,181,109,221,186, 21, 19, 39, 78, 12, 23,247, +212,167,158,122, 42, 65,174, 35,190,101,221,229,114, 41,245,199,237,118,195,229,114,193,225,112,224,135, 31,126, 80,229, 92, 37, + 39, 39,191,212,191,127,255,201,203,150, 45, 51,125,241,197, 23,166,150, 45, 91, 66,163,209,128,231,121,240, 60, 15,142,227,192, +243, 60,110,188,241, 70, 54, 55,131,129,129,225,175, 47,176,156, 78,231,241,161, 67,135, 82, 0,112, 56, 28, 41, 90,173, 86,227, + 39,192,154,102,100,100,252,228,127, 94,184,161, 67, 67,124, 34, 62,104, 25, 11, 0, 24,123,172, 84,185, 41,172,184,174,187,114, +204,248, 19,229, 53,199, 26, 12,224, 56,142,132, 17, 67, 48,155,205, 24, 58,116, 40,180, 90, 45,210,211,211,161,209,104, 32,138, + 98,208, 77, 13, 76, 38, 19,102,206,156, 41,139, 35,152,244, 58,220,215,255, 90,232, 9,197, 7, 63, 30,129,221, 35, 65, 16, 4, + 8,130, 0, 81, 20,235, 56, 82,129,160,209,104,112,224,192, 1,240, 60, 15, 65, 16,106,125,242, 60,143,213,171, 87,227,150, 91, +110, 1,207,243, 48, 26,141, 0,155, 12,120,201,161,139,107,130,207, 50,107,140,200,219, 11, 43,149,255,191, 29,247, 55,229,251, +164,211,213, 32,132, 64,163,209,168,203,247,136, 8,124,125,203, 8, 0,192,152,252, 98,165,204,236,159, 55, 27,162, 86, 11, 65, +212,160,203,212,167, 80, 82, 82, 98, 29, 51,102,204, 86,189, 94,255,157,138,206, 10, 78,158, 60,169,112,137,162, 88,167,220,115, + 28,135, 15, 63,252, 16, 39, 78,156, 80, 21,119,171,213,138, 57,115,230, 40,113, 11,196,235,251, 93, 69,220,185,164,164,164, 23, +251,247,239, 63,113,217,178,101, 49,132, 16, 44, 88,176, 0,130, 32,224,134, 27,110, 64, 92, 92, 28,214,172, 89, 3,141, 70,131, +199, 30,123,140, 21, 62, 6, 6,134, 43, 67, 96,253,248,227,143, 35,228,239,215, 92,115,205,225,173, 91,183, 94,229, 99,229,195, +237,118,107,220,110,119, 59,121,216,208,237,118,195,110,183, 99,252,248,241, 33,123,244, 30,167,163,142, 64, 10, 38,156,212,194, +225,112, 96,236,216,177,138,136, 9, 37,174,212,220, 24, 8, 33,176,219,237, 16, 4, 1,173,155,199,227,233,177, 61,209,151,167, +176,150, 2, 40,169,198,157,201, 2,246,165,182,195,155, 39, 75,113,162,162, 10,130,160,110,180, 84,146,164, 90,130,202,255,251, +194,133, 11, 49,110,220, 56,240, 60, 95,103, 8,137,225,210, 64,114,185,194,150,195,250,230,141,219,102, 3, 0,240, 62,130, 92, + 20, 69,104,245,122,240,162, 8, 65,171, 65, 73, 73,137,117,200,144, 33, 59, 13, 6,195,146,164,164,164,211,167, 78,157, 10, 89, + 62, 41,165, 16, 69, 17,130, 32, 4, 45,243, 31,126,248, 33,150, 46, 93,138,222,189,123,171, 42,243, 14,135, 3, 26,141, 6,179, +103,207,174,179,255,157,119,222,169, 35,176,194,128, 0,224, 18, 19, 19,239, 91,190,124,121,164,124,253,184,184, 56,136,162,136, +206,157, 59, 35, 34, 34, 2, 91,183,110,133,199,227, 81, 45, 86, 25, 24, 24,174, 76, 80, 74, 69, 0, 87, 3,136, 7,224, 1, 80, + 9, 32,218,231,144,243,222,207,120,249, 55, 33,100,119, 0,158, 94,222, 99,206, 19, 66,118,251,252,118, 0,208, 6,248,191, 20, +128,193,187,217, 1,108, 7,208,217,231, 58,242,121,240,191,174,172, 12, 50, 81,243,160,186, 1, 8,240,240, 59,121,184,240,200, +145, 35, 1,135, 11,253, 2, 31,178,149,212, 53, 73, 80,156,171, 79, 91,199, 41,255,143, 43, 40, 83, 26,216,175,123,183,133,206, +108, 66,207,231, 95, 9,155,232,242,141,161,184,184,184, 78,207,251, 98, 5, 22, 0,184, 92, 46, 24, 12, 58,124,255,238,117, 56, +251,139, 27,179,179, 11,177,106,215,113, 8,130,128, 81, 87,181,197,223,221, 64, 86,172, 30,255,114,123,224,148,168,170, 27, 24, +165,180,142,184,242, 21, 89,132, 16,229, 63,118,179,249, 99, 16,119,117,186,226, 92, 45,107, 22, 81,199,181, 2,128, 85,221, 91, + 64, 31, 97, 70,231,135,167,171, 42,159, 45, 71,221,172, 56, 87, 95,165,183,130,160,209, 64,212,105,241,247, 31, 11, 1,212, 12, + 11, 14,236,218,113, 83, 25,175, 93,124,199, 29,119,252,178,126,253,122,163,154,176,106, 52,154, 90,130, 45,144,184, 18, 4, 1, + 46, 63,209, 24,170, 83, 17, 76, 56,201,245,170,158, 14, 22, 44, 22,139, 99,213,170, 85,120,243,205, 55, 17, 23, 23,135,161, 67, +135, 34, 41, 41, 9, 43, 86,172, 0,165, 20, 15, 60,240, 0, 12, 6, 3, 12, 6, 3, 43,243, 12, 12, 12,161,180,200,117, 51,102, +204,232,153,149,149, 53,167, 79,159, 62, 31,111,223,190,125, 57, 33, 36,219, 71,123,140,242,182,101,217,242,111, 74,105, 47, 95, +145,229, 21,105,241,132,144,108,249,120,223,223,242, 39,165,116, 48, 0,173,252,123,198,140, 25,157,179,178,178,230, 76,159, 62, +253,201,185,115,231,106,102,204,152,209, 53, 43, 43,107,142,124,157, 64,225,240, 21, 88, 33,159, 2,236,116, 58,143, 15, 30, 60, + 88,213,138, 31,171,213, 90, 20, 70,128, 5,116, 6,124, 93, 1, 93,132, 25,134,136, 8, 16, 78, 93,131,235,114,185, 32, 8, 2, + 56,142,195,218,181,107, 97, 48, 24, 48,114,228,200,139, 30, 34,148, 69,155, 86,171,129, 16,205,225,142,215,246,224,252, 5,139, + 50, 36,184,174,160, 16,187, 12, 6, 60,221,177, 43,204, 85, 5,168,176, 59,126,151,131, 53,110,220, 56,216,108, 54,112, 28,167, +252,199,113, 92, 88,177,202,208,120, 8,182, 8,129, 16, 2,125,100, 4,244,102, 51,120,129, 87,197, 69, 41,253, 77, 8,105,181, + 16,117, 90, 8, 26,141, 34,174,134, 12, 25,178,179,140,215, 46, 62,125,250,244, 78, 0,122,181, 2, 75,118,176, 66,137, 43, 65, + 16,224,116, 58, 85,137, 23,187,221, 14,141,230,183,153, 0, 39, 79,158, 12, 41,176,194, 69, 27,128, 68, 8,145, 90,181,106,165, +156,147,152,152,136,232,232,104, 72,146, 4, 73,146,160,215,235, 97, 48, 24,106, 93,151,129,129,225,138, 69, 40, 45,162,203,202, +202,154,227, 43, 96,252, 5,141,175,112,242, 19, 81,190, 34,173,115,152,182, 63,219, 95, 52,201,215, 37,132,100,207,157, 59,119, + 84,152,112,156,247, 23, 88,114,131, 24, 16,190,195,133, 13,117,243, 10,117, 3, 51, 68, 69, 66,107, 50,193, 59,253,138,134,227, +114, 58,157,202,156,147,123,239,189, 55,104,175,222,119,110, 74, 56, 56, 28, 14,240, 28, 15,232, 90, 66, 66,142,114,179, 82, 54, +141, 6, 5,205,187,129, 20,157,134, 32,168,155,239, 47, 59, 88,178,136,122,224,129, 7,176,104,209, 34,101, 98, 50, 0,240, 60, +143,246,237,219,227,216,177, 99,172,170,253, 1,160,148,134, 29,182,214, 71, 70, 64,103, 54,131, 87,225, 52,202,251,149, 57, 76, +122, 29,120,141, 6,130,166,102, 88,112,244,232,209,155,202,202,202, 22,119,234,212,233,103,212, 60,198,128,168,173, 63,129,202, +249,226,197,139,107,137,171,250, 56, 88,114, 61,242, 69,160,225,194, 49, 99,198,168,117,176, 40, 33,132,138,162,136,193,131, 7, +163,107,215,174, 88,181,106, 21, 36, 73,194,253,247,223, 15,131,193,128,249,243,231,195,237,118, 35, 43, 43,139, 57, 88, 12, 12, + 12,161,238,249,214,233,211,167, 63, 73, 8,201,246, 58, 73,121, 33,132, 84,160,182,189,151,159, 72, 59, 31,228,184, 81,129, 68, +150,239,119, 25, 51,102,204,232,236, 31, 14, 95,199,204, 87, 96, 53,214,251,219,106,161,236,208, 1,101, 66,187, 60, 44, 72, 8, +193,183, 25, 87, 65,107, 54, 65,111, 54,163,223,202, 45, 74,175, 25, 47,190,170,202,193,146,133, 83,105,105,105,216, 33, 66,181, +174, 24,175, 17,177,211, 44,130,138,124,173, 27,150, 40,138,224, 4, 17, 5,241,237, 64,132, 53, 16, 60,110, 85, 55, 7,217,201, +240, 93, 61,117,199, 29,119,128,227, 56, 69,100,117,239,222, 29,126,121,194,112, 9,113,102,195,119,248,230,182,154,186,234, 59, + 44,152,221,187, 13,116, 17,102,232, 76, 38,100,174,222,174, 12,231, 98,254,123, 97, 57,143,188,255, 54,242, 94,159, 11, 65, 20, +113,243,222, 2,197,185,234,123, 85,219,157, 14, 83,228,226,147, 39, 79,238, 4,192,221,118,219,109,209, 61,122,244, 80,101,139, + 17, 66,106, 77, 60, 23, 4, 33,160,184, 18, 4, 1,110,183, 91, 85,220,157, 78,167, 42, 39, 73,118,177,212, 52,148,114, 58, 69, + 69, 69, 33, 34, 34, 66, 89, 65, 43, 59, 87,242,252, 77,181,245,146,129,129,225, 47,143, 96, 90,196, 62,119,238,220,188,185,115, +231, 42, 78,146,191,131, 21,228,190,123,131, 87, 76,197,203,226, 12,128, 61,208,252,172, 64,174,152,191,240,242,253, 47, 43, 43, +107,142,127, 56,124,135, 37, 3,206,206,238,214,173,219, 55, 70,163,177,165,218,212,168,207, 67, 71, 61, 78,103,157,158, 56, 33, + 4,122,179, 25,218, 8, 51,116,102,115, 80,151, 43,216,141, 70, 30, 34,228,121, 94,185,233, 44, 89,178, 4,102,179, 25,119,221, +117,215, 69, 77,114,175, 17, 88, 60,190,212,228, 3, 26,161,206, 77,139, 23, 69,156,140,106, 6, 78, 20, 33,120,212, 57, 4,229, +229,229,224,121, 30,207, 61,247, 28,178,178,178,148,101,244,190, 75,235,125, 93, 15,134, 75, 15,223, 73,238,181, 92,213,136, 8, +165,124,250,254, 31,110, 78, 34, 33, 4,240,184,107, 86, 11,234,180,138,184, 26, 61,122,244, 38,135, 41,114,241, 85, 87, 93, 37, + 59, 87,156,209,104, 12,187,106,214,183,110,200, 66,199, 95, 92,201, 46,169,252,221,229,114,169, 42,243,178,192, 90,180,104, 81, +200,206,136,124, 93,181,229,148,227, 56,108,222,188, 25,123,247,238,197,189,247,222, 11,131,193,128, 55,222,120, 3,110,183, 27, +179,102,205,130,193, 96,128, 86,171,101,133,143,129,129, 33, 20, 98,100,129,227, 21, 73,181,156, 37,239,220,169, 81,190,191, 3, + 57, 92, 94,199,105,115,152,246,240, 43,175, 48, 11, 8,217, 73,243, 59, 39,219, 95,156, 9,126, 78, 9, 1, 0,173, 86,219,114, +219,182,109,237, 36, 73,130,199,227, 65,168, 79,135,195,129, 91,111,189, 85,245, 67, 71, 37, 87,141,192,226,252, 86,202,233, 34, + 35,160, 53,255,118, 3,243,185,137,133,109,197,101, 7,203, 87, 96, 61,247,220,115, 16, 4, 1,139, 22, 45, 2, 0, 60,250,232, +163,245,118,176,168, 4,108,247,108, 68,211, 5,221, 64, 23,235,113,110,243, 97,136,162,136,164,222, 67, 32,245,252, 59, 74,181, +145, 48,121,231, 85,169, 25,118, 44, 45, 45,197,137, 19, 39, 64, 8,193, 35,143, 60, 18, 82, 92,173, 93,187,150,205,193,250, 3, + 5, 22,199,243,181,242,195,183,124,250,137,175,240,227,100,110, 55, 68,157,174,214,106,193,178,178,178,197, 39, 79,158,204, 1, + 64, 38, 78,156, 24,109, 52, 26,241,254,251,239, 91, 0,104, 86,174, 92,105, 8,199,233, 59,143,207,223,185,242, 23, 88, 30, 79, +248, 33,108,185, 83,161,198,237,173,143,192,146,203, 55, 33, 4, 30,143, 71,113,174, 92, 46,151,242, 91,167,211,177,130,199,192, +192, 80, 71,139,248,225,188,223, 60, 39,226,231, 52,157, 15, 36,172,124,135, 3,229,239,132, 16, 87, 0, 94,135,223,208,161,255, +255,242,103,233,220,185,115,191,151,157, 43,159,255,107,133, 35,168,131,197,113, 28,236,118, 59, 14, 29, 58,164,182,135,170,250, +161,163,113,233,215, 96,252,137,114, 16, 66,176,166,127, 39,232,205,102,104,204, 38,100,124,182, 81,105,176, 11,178, 30,131,198, +100, 70, 92,191, 33,170, 26,112,143,199, 83, 71, 96,149,149,149, 65, 20, 69,188,248,226,139,224, 56, 14, 47,189,244, 18, 82, 82, + 82,112,246,236, 89,100,102,102,170,186,217,112, 18, 7,253,157,177,208,255, 43, 2,220,189,109,208,249,111,255, 66,121,101, 11, +236,119,152,208,161, 58, 31, 49, 27,158,135, 83,114,171,122, 76, 3, 33, 4,110,183, 27,223,127,255, 61, 68, 81,132,219,237, 86, +110, 62,148, 82,229, 41,249,242, 67, 29, 95,122,233, 37, 86,213,254, 0, 52,187,225, 38,220,113,198, 2, 0,248, 38,227, 42,232, + 76, 38,104, 35,204,232,247,197,102,165,124,254, 50,103, 26, 52, 38, 51,162,123,245, 87,197,217,241,254, 71,209,225,190,105, 40, + 41, 41,177, 14,238,222,121,115, 57,175,251,176, 75,151, 46,202,156, 43,163,209, 8,189, 94, 79, 80,251,117, 50, 97, 69, 11,199, +113, 97,197,149,252, 93,109,167,194,127, 21,110, 40,129,165, 22, 28,199,225,174,187,238, 66,114,114, 50,222,124,243,205, 90,206, +213,147, 79, 62, 9,151,203,133,249,243,231,179,194,199,192,192, 16,170,221,219,173,246, 88, 74,105, 47, 31, 49,181,251, 98,120, +235,115,189, 96, 8,216,242,218,237,246,130, 65,131, 6, 33,200,190, 20,157, 78, 87,171,117,149, 31, 58, 26, 96,168,176, 11,128, + 3,126, 17,255,109, 88,208, 59, 89, 88,235, 55,236,162, 53, 71, 64, 52,153,193, 5,110,196,235,112, 6,114,176,228,161,147,242, +242,114,136,162,136, 55,223,124, 19,145,145,145,176,219,237,129,122,222, 1, 57,121,158,135,229,132, 5,199,159,217, 15,157,233, + 40,218, 15,137, 64,132,120, 12,109,183,172,132,219,237, 0,124,134, 12,213,112,182,111,223, 30,207, 61,247, 92,157,199, 51, 4, + 67,122,122,122, 88,206, 6, 0,227, 12, 34, 98,116, 17,102,232, 35, 34,130,150, 79, 33,240,179,155,106,113,202,251,101,231,170, + 74, 99,252,240,228,241,227, 57, 0,184,137, 19, 39, 70, 25,141, 70, 44, 92,184,208, 2,128,123,225,133, 23,140,105,105,105,188, +154,112,114, 28,135, 37, 75,150,212,153,115, 21, 76, 96,169, 9,167,219,237,174, 35,176,198,142, 29, 91,231, 65,163, 33, 28,172, + 58,225,148,231, 96, 53,105,210, 4, 70,163, 81,121,237,150, 94,175,135, 94,175, 87,158, 14, 31, 98,168,149,149, 79,198,201, 56, +175, 28,206, 75, 46,198, 26, 19, 1, 5,214,190,125,251,134, 7, 59, 33, 35, 35, 35,127,219,182,109,109,125,223, 77,232,118,187, + 53,118,187,189,221,141, 55,222, 24,182,171, 44, 73, 18,116, 58, 29, 40,165,184,250,233,172,154, 46, 60,247,219,144, 32,165, 20, +209,125, 7,131,240, 60, 60, 30, 9, 46,151, 43,236, 42, 66,155,205, 86,107, 2,122,160,229,235, 85, 85, 85, 33,159,243,227,207, +105,181, 90,107,205,235, 34, 30,138, 95,214,173,168,187,154,208,123, 29,181,208,235,245,181,134, 77, 84,218,165, 12,151, 8,242, + 3, 60, 41,165,232,252,208,244, 26,167,136,231,106,237,143,234,213, 31, 68, 16, 33,213,204, 91, 10,183, 48,132,156, 63,127,222, + 58,122,244,232, 77,148,210, 15,110,188,241,198,159, 80,243,176, 58,106, 54,155,117,162, 40, 74, 0,126, 5, 64, 47, 92,184, 16, +117,250,244,105,201,102,179, 53, 15, 23,206,205,155, 55,227,232,209,163,232,209,163,135,226,124,202,155, 60,124,127, 49, 14, 86, +160, 39,194, 7,123,146,123,125, 28,172,168,168, 40,104,181, 90,188,248,226,139,208,104, 52, 48, 24,106, 70, 65,231,207,159,175, +164, 57, 3, 3, 3,195, 95, 9,245,126, 97,179, 36, 73,124,176,225,195,112, 67,133, 30,143,231,212, 53,215, 92, 83,223,235,157, + 11,115, 67, 60,181,101,203, 22,141,255, 11,105, 3,189, 0,215,231,191,176,156,187,119,239,214,132, 56, 63,208,247,115,245,137, +187,154,249, 43,110,183,251, 52, 43,162,151, 14,110,183,251, 84,239,222,189, 3,239,124,238,165, 96,249,122, 46,140,104,249,185, + 93,187,118,103,204,102,243, 87,137,137,137,165,219,182,109,139,235,213,171, 87,156,239, 49,189,122,245, 74,246, 59,205,129, 16, + 43,122, 9, 33,167,238,184,227, 14, 77,152,242,232,255,253, 84,152, 78,197,169,188,188, 60, 77,160,242, 30,236,147, 82,122, 74, + 69,178,158, 24, 49, 98, 4, 23,168, 14, 5, 72,203,243,172, 20, 50, 48, 48, 92,177, 2,203,102,179, 21, 14, 26, 52, 40,224,186, +111,139,197,114, 50,212,185, 7, 15, 30,236,217,208, 17, 56,125,250,116,198,159,129,179, 49,226,206,112,249,231,209,193,131, 7, +123, 3, 64,121,121, 57, 66,189,254,166, 62, 40, 44, 44,108,240,242,217, 24,156, 0,112,232,208,161, 62,172,100, 49, 48, 48, 48, +129,165, 2,106, 31,199,192,192,192,192,192,192,192,192,112,165,130, 99, 73,192,192,192,192,192,192,192,192,208,176, 32,168, 89, + 9, 16, 8,245, 89, 29,208,229, 34,174,125,128,113, 50, 78,198,201, 56, 25, 39,227,100,156, 87, 28,103, 56,238,203,114,117,226, +229,134, 46,140,147,113, 50, 78,198,201, 56, 25, 39,227,100,156, 87, 26,216, 16, 33, 3, 3, 3, 3, 3, 3, 3, 67, 3, 67, 96, + 73,240,135,129, 7,224,105, 40, 50, 74,105, 52,128, 96, 47,116,115, 16, 66,202, 46,146, 87, 11, 64,244,110, 0,224, 2,224, 34, +132, 56, 88, 22, 50, 48,252,181,144,158,158, 62,153, 82, 58, 27, 53,111,129,122, 49, 55, 55,247, 45,150, 42, 12, 12, 13, 44,176, + 90,183,110,189,135,227,184,212, 64, 47, 32, 14,246, 92, 28,143,199,115,234,200,145, 35,106,151,186, 11,201,201,201, 99, 77, 38, +211,245, 60,207,247,245,158,191,173,186,186,250,251,179,103,207,126, 10,192,125, 49, 17,106,217,178,101,164,205,102,187,149, 16, + 50,193, 43, 16, 62,210,235,245,255,119,252,248,241,138,139, 76,163, 54, 73, 73, 73, 31,137,162,200, 23, 22, 22, 94, 15, 0,205, +154, 53,251,222,225,112,120,138,139,139, 39, 0, 56, 90, 79, 62, 78,163,209,100, 93,115,205, 53,253,182,108,217,242, 63, 0,239, + 52, 80, 94,234, 56,142, 59, 17,104,135, 36, 73,105, 23, 33,172, 52, 0,162,230,207,159, 31,187,116,233,210,238,103,207,158,237, + 10, 0,201,201,201,251, 39, 78,156,248, 3,165,244, 87, 0,229,132, 16, 39,171, 70,127,110,180,109,219,118, 15,199,113,169,245, +121,150,156,247, 21, 85,167, 14, 29, 58,212, 51, 24, 39,207,243,169, 97,158, 71, 87,231,187, 36, 73,191, 28, 60,120, 48,224, 35, + 35,218,181,107,183,131,231,249,150,225,194, 22, 40,156,193, 30,193,209,174, 93,187, 61, 60,207,167,214,151, 83,146,164, 95,242, +242,242, 50, 26,146,243, 82,135, 19, 0, 50, 51, 51,117,213,213,213, 31,153,205,230,110,213,213,213,147, 37, 73,122,118,227,198, +141,137, 28,199, 97,240,224,193,207,166,167,167, 31,215,233,116, 11,108, 54,219, 15,102,179,121,252,166, 77,155,236,172,198, 48, + 48,252,254, 70,247, 92, 85, 85, 21,149, 33, 73, 18,117,185, 92,212,110,183, 83,171,213, 74,171,171,171,105,101,101, 37,173,168, +168,160,229,229,229,180,180,180,148,118,238,220,217,255,161,139, 1,199,104, 83, 82, 82,186,180,111,223, 62,255,173,183,222,178, + 23, 22, 22, 82,167,211, 73, 93, 46, 23, 45, 44, 44,164,111,191,253,182,189,125,251,246,249, 41, 41, 41,193,198,119, 3,253,207, + 37, 39, 39, 15, 73, 78, 78, 94, 62,108,216, 48,199,250,245,235,169,221,110,167, 22,139,133,174, 94,189,154, 14, 24, 48,192,145, +156,156,188, 60, 57, 57,121, 8, 2, 15,139, 6,187, 86,247,150, 45, 91, 30, 61,117,234,148,103,203,150, 45,206,184,184,184, 47, +227,226,226,190, 44, 44, 44,244,156, 60,121, 82, 74, 77, 77, 61, 10,160,123, 61,194, 9, 0, 55, 79,155, 54,173,224,248,241,227, +150,204,204,204, 29, 62,255, 19,132,127,114,123,151, 64,206, 21,165, 52,145, 82,154,132,154,135, 83,214,217, 40,165, 73,222, 99, +162, 85,114,154,142, 29, 59,150,154,152,152,152,229,117,170,106,241, 17, 66, 28,137,137,137, 89,199,142, 29, 75,165,148,154,234, + 17,247,223, 3,198,217, 72,156, 87, 93,117, 85, 81,117,117, 53,165,148, 82,143,199, 67,157, 78, 39,181,217,108,212, 98,177,208, +170,170,170, 90,245, 92,222,202,202,202,104,151, 46, 93,206,133,224, 60,103,177, 88,106,181, 29, 14,135,131,218,108, 54,106,181, + 90,169,197, 98,161,213,213,213,181,182,170,170, 42,218,189,123,247,194, 16,156,103,229,112, 74,146, 68,221,110, 55,117, 58,157, +212,225,112, 80,187,221, 78,109, 54, 91,173, 77,254,175,119,239,222, 65,195,217,161, 67,135,115, 86,171, 85, 53,167,188,245,232, +209,227, 76, 67,113,202,255, 93,125,245,213, 69,161, 56,109, 54,219,197,132,179, 48, 84, 89, 74, 79, 79,255,252,248,241,227,212, +106,181,210, 33, 67,134,216, 31,121,228, 17,234,241,120,104,118,118, 54, 29, 59,118, 44,189,231,158,123,104,105,105, 41,157, 49, + 99, 6,237,209,163,199, 23,172, 30, 49,206, 70,230,188, 50, 28, 44,142,227, 96, 50,153,240,241,199, 31, 7,124,253,140,255,247, +180, 52,117, 38, 73, 98, 98, 98,207,212,212,212, 77, 43, 87,174, 52, 36, 36, 36, 40,255, 59,157, 78, 68, 70, 70,226,174,187,238, +210, 14, 30, 60,184,237,237,183,223,190,211,237,118,103,158, 59,119,110, 79, 40,190,164,164,164, 49,113,113,113,111, 77,157, 58, + 53,113,244,232,209,136,137,137,169,181,127,212,168, 81, 24, 57,114,164,230,151, 95,126, 25,247,233,167,159,142,251,223,255,254, + 87, 84, 85, 85,245, 96, 81, 81,209,231,161,120,141, 70,227,224,182,109,219,190,191,126,253,250,212,232,232,104, 52,109,218,148, +123,230,153,103,186,180,110,221,218,144,156,156,204,157, 57,115, 6,159,127,254,121,235,137, 19, 39,174, 58,121,242,228,100,187, +221,190, 94, 69,244,181,177,177,177,143,253,235, 95,255,138,171,172,172,116,239,221,187, 87,118,191,180, 58,157,238,217,107,175, +189,182,199,198,141, 27, 63, 1,176,248, 98,156, 43, 74,105, 5,126, 27,202,147,225,146,247,171,113,178, 40,165,218,189,123,247, +198,244,237,219,247, 11,187,221,222,227, 31,255,248,199,233, 87, 94,121, 69, 27, 25, 25, 25, 9,128,148,149,149, 93,152, 57,115, +166,231,141, 55,222,120,162, 83,167, 78,131,182,109,219,118, 51,165,148, 13, 25,254,201, 97, 52, 26,177,122,245,234,128,175,153, + 10, 84,231,163,163,163,195,190,141,192, 96, 48, 96,237,218,181,202,121,190,175,150, 10,244, 61, 58, 58, 26,148,210,144,164,122, +189, 30, 91,183,110, 85, 94, 3, 20,172, 93,146, 63,141, 70, 35, 8, 33, 92, 56,206, 77,155, 54,133,229,146, 63,205,102, 51, 80, + 51,196, 31, 54,156,225,226, 44,127, 55,153, 76, 97,211, 83,167,211, 41,156,190, 28,193,126,155, 76, 38,132,235,180, 25, 12,134, +110,137,137,137,200,201,201,193,243,207, 63,175,237,220,185, 51,242,243,243,193,113, 28, 38, 79,158,140, 78,157, 58,161,168,168, + 8,157, 58,117,194,214,173, 91,187,179,154,194,192,208, 0, 2, 75, 70,176, 6,214,255, 59, 16,240, 53, 24,181,150, 90,166,165, +165,233, 68, 81,252,108,245,234,213,134,184,184,223,222, 22,226,112, 56, 80, 89, 89,137,170,170, 42, 84, 86, 86,194,100, 50, 97, +193,130, 5,134, 9, 19, 38,124,166,211,233,218,157, 56,113,194, 30,140,147, 16, 50,111,223,190,125,137,110,183, 27, 90,173, 54, +168, 88,108,211,166, 13, 30,124,240, 65,244,235,215, 47,105,220,184,113,243, 0,124, 30,140, 19, 0,146,147,147,223,222,182,109, + 91,170, 86,171, 69,126,126, 62, 78,157, 58,133, 41, 83,166,164, 73,146,132,194,194, 66,228,231,231,227,204,153, 51,120,239,189, +247, 82, 39, 76,152,176,224,244,233,211,109, 67,197,221,139,123, 30,121,228,145,182, 49, 49, 49,220, 43,175,188, 82, 94, 85, 85, +245,158,247,255, 25,243,231,207, 31,159,153,153, 25,255,143,127,252,131,110,219,182,237, 99,212,188, 46, 37,104,122,250,206,185, +242, 14,231, 1,128,135, 82,122,216,239,156, 14, 62,251, 65, 41, 77, 4, 96, 39,132,148, 7,224, 36, 0, 34,135, 15, 31, 62,205, +110,183,247,216,178,101,203,209,126,253,250,165, 1, 56, 75, 41, 61, 15, 0, 49, 49, 49,166,215, 95,127, 61,113,212,168, 81, 63, + 13, 30, 60,184,199,240,225,195,167,157, 63,127,126, 54,165,180,132, 16, 66, 67,196,253,247,130,113, 54, 18,167,119, 40, 9,130, + 32, 96,196,136, 17, 32,132, 4,124,223,230,142, 29, 59, 48,104,208, 32,136,162,136,187,239,190, 91, 53,231,176, 97,195,224,118, +187,235,240,249, 11, 16,249, 29,157,161,226, 78, 41,173,245,142,208, 64,226,194,119, 11,192, 87,135, 83,146,164,128, 92,193, 68, +150,252,178,122, 53,113, 87, 43, 46,195,133,211,151, 83, 20, 69,100,100,100, 96,239,222,189, 33,197, 86,184,112, 2, 64,117,117, +245,157, 55,222,120,227,154, 41, 83,166,232, 1,160,164,164,164,214,139,232,143, 28, 57, 2,187,221,142,101,203,150,193,110,183, +223,203,234, 17,227,108,100,206, 80,157,127, 17,192,213, 0,226, 81, 51,127,185, 18, 64,180,247, 94,169, 5, 80, 10,192,224,221, +236, 0,170, 0, 52,241,158, 94,226,237,108,248,190,166,236,188,239, 75,161, 41,165,189,188,220,242, 43,187,226,125,142,149,175, +225,255,219,255,179, 22,183, 92,171,229,225,159, 76,223, 10, 45,191,132, 53,156,184,146, 27, 71, 21, 9,244,192,140, 25, 51, 18, +125,197,149,221,110, 71, 69, 69, 5, 42, 43, 43,149,207,252,252,124,104,181, 90,140, 29, 59, 54,145, 82,250, 64, 24, 90, 13,207, +243,216,187,119, 47, 86,174, 92,137,227,199,143,215, 57,224,216,177, 99,120,253,245,215,241,234,171,175,162,162,162, 2, 0, 52, +193,200,186,117,235,246,252,248,241,227,119, 14, 24, 48, 64, 39, 8, 2,246,237,219,135,118,237,218, 97,251,246,237, 56,121,242, + 36, 46, 92,184,128, 35, 71,142,160, 75,151, 46, 56,122,244, 40, 42, 42, 42,208,185,115,103, 93,143, 30, 61,182,164,165,165, 61, + 31, 42,156, 41, 41, 41, 79,254,235, 95,255,210,157, 61,123, 86, 90,178,100,201, 54, 0,219, 1, 76,121,234,169,167, 38, 13, 27, + 54, 44,254,240,225,195, 21,187,119,239,222, 19, 68, 92, 5,114,174, 78,114, 28,119,130, 82, 90, 65, 41,181,162,102, 2,122,173, +155,145,219,237,182, 91,173,214,242,210,210,210, 18,142,227, 78,112, 28,151, 15, 64, 23,140,115,226,196,137,173, 75, 74, 74,238, +255,247,191,255,125,188, 95,191,126,105,148,210, 35,148,210, 82,111,129,181,187,221,238,210,178,178,178,159,250,246,237,155, 60, +126,252,248,163, 37, 37, 37,247, 79,156, 56,177,117, 8, 78,134,203, 31,212,227,241, 64, 20, 69,108,220,184, 17, 91,183,110,197, +214,173, 91,177,109,219, 54,108,223,190, 29, 59,118,236,192,142, 29, 59, 32, 8, 2,182,111,223,142,237,219,183,227,193, 7, 31, + 12, 91,231, 61, 30, 15, 4, 65,192,166, 77,155,176,107,215, 46,101,219,189,123, 55,118,237,218, 5,131,193,160, 70, 12,249,118, +166, 20,206, 64,219,219,111,191,173,136, 67,185,109,226, 56, 46,164, 43,230, 47, 92,252, 5, 75, 90,139, 22,117,246,133, 11,167, + 44,218, 4, 65,192,127,255,251, 95,156, 62,125, 26,111,190,249, 38,142, 29, 59,134,151, 95,126, 25,121,121,121,152, 53,107, 22, +118,239,222,141, 25, 51,102, 96,203,150, 45,242,203,223,105, 56, 78, 89, 92, 57,157, 78, 37, 60, 71,142, 28,193,156, 57,115,176, +111,223, 62, 60,251,236,179,216,177, 99, 7, 30,123,236, 49,240,124, 72,147, 13,233,233,233,147, 9, 33,159,182,111,223, 94, 55, +112,224, 64, 8,130,128, 57,115,230, 72,207, 62,251,108,241, 83, 79, 61, 85,156,157,157, 77, 91,183,110, 13,135,195,129,136,136, + 8, 80, 74, 23,167,167,167, 63,192,170, 11, 67, 99,182, 69,254, 90,196, 7,215,205,152, 49, 99, 32, 33, 36, 59, 35, 35, 99, 34, +128,104, 66, 72, 54, 0,173,247, 51,110,198,140, 25,189, 9, 33,217, 51,102,204,232, 9,160, 9, 33, 36,219,251,251,122, 0,113, +242,111,239,241,241,126,226, 45,222,231,255,120,191, 99,181,129,126,251,127,250,115,251, 58, 88,196, 27, 49,226,219, 64,214, 71, + 96,133,107,112,205,102,243,200,225,195,135,107,124,197,149,175,115, 37,127, 86, 86, 86,226,167,159,126, 66,151, 46, 93, 52,102, +179,121, 36,128,255,132,181,226, 4, 1, 77,155, 54, 69, 73, 73, 9, 14, 28, 56,128,180,180, 52,184, 92, 46,124,247,221,119, 40, + 43, 43,131, 70,163,129, 70,163,129,195, 17, 90,187,116,232,208, 97,196,210,165, 75,123,254,239,127,255,187, 32, 8, 2,142, 28, + 57,130,143, 62,250, 8,148, 82, 52,105,210, 4, 22,139, 5,197,197,197,152, 55,111, 30,156, 78, 39,204,102, 51, 82, 82, 82,244, + 15, 60,240, 64,191,153, 51,103,138, 39, 78,156, 8, 38,178,174, 25, 51,102, 76,100, 68, 68, 4, 30,126,248, 97,201,233,116,190, + 10,224,218, 49, 99,198, 60,249,224,131, 15,198, 22, 20, 20, 56,238,185,231,158, 61, 78,167,115,158,108, 30,250, 11,166, 0,130, + 53,168,115,229,118,187,229, 52, 61, 94, 89, 89,137,132,132,132,230,148, 82, 77,152, 60,210,108,223,190, 61, 3, 0,255,194, 11, + 47,232, 41,165,231,124,195,224,116, 58,101, 78,119,121,121,121,241, 99,143, 61,230, 94,190,124, 57,239, 61,231, 16, 0, 27,107, + 31,254,124,144,133,139, 40,138, 24, 49, 98, 68, 45, 65,177,121,243,102, 12, 31, 62, 92,169,239, 26,141, 70, 57, 46, 28,167,175, + 43, 38, 59, 79, 50,239,247,223,127, 95,199,121, 81,217, 73, 83, 28,150, 64,194,199, 95,116,201, 29, 69, 53, 98, 40,144,200,146, +219, 22,127,103, 72, 77, 56, 69, 81,196,131, 15, 62, 8, 65, 16,240,216, 99,143, 65, 20, 69, 92,125,245,213, 16, 4, 1,125,250, +244,129, 32, 8,184,254,250,235, 85,119, 80,229,112,238,216,177, 3,233,233,233, 74,120,174,190,250,106,244,234,213, 11,130, 32, +160,127,255,254, 16, 4, 1, 67,135, 14, 13,203, 73, 41,125,118,227,198,141,137,102,179, 25, 63,253,244, 19,120,158, 7, 33,164, +116,239,222,189,137, 0,112,195, 13, 55,148,216,108,182, 56,155,205,134, 65,131, 6, 33, 35, 35, 35,126,249,242,229,207, 0, 96, + 43, 11, 25, 26,181, 73,242,215, 34,178, 1,144,149,149, 53,135, 82, 58, 42,216,137,242,126, 66, 72,246,220,185,115, 71,121,203, +121,157,223,178,203,228, 39,222, 58,251, 58, 80,242,121,190,215, 11,117,109,191,227,207,251, 11, 44, 10, 96, 64,160, 70, 55,144, + 85,238,255, 93, 77, 3, 97,179,217,174,150,221, 43,155,205, 86, 75, 80, 85, 85, 85,213, 18, 90, 14,135, 3,173, 90,181,130,205, +102,187,186,190, 55,139,228,228,100, 56,157, 78, 44, 90,180, 72, 17, 86,190, 34, 33, 20, 14, 30, 60,120,124,231,206,157, 61,210, +211,211, 99,190,248,226,139,243,131, 7, 15,142, 31, 54,108, 24,244,122, 61,108, 54, 27,220,110, 55,174,185,230, 26,116,232,208, + 1,197,197,197,248,230,155,111, 74,218,181,107,215, 36, 39, 39, 71, 42, 42, 42, 58, 17,130,122,208,160, 65,131, 64, 8,193, 55, +223,124,243, 43,128, 92,189, 94,255,249,156, 57,115,162,237,118,187, 52,105,210,164,194, 95,127,253,245, 49, 0, 46,173, 86,251, +159,235,174,187,238,154,245,235,215,127, 34, 73, 82,189, 27, 51,187,221, 94, 43,109, 43, 43, 43, 97, 52, 26,213, 60, 18, 66, 44, + 43, 43,235, 10, 0, 70,163, 49, 22, 62, 43, 36,173, 86,171,146, 71,222,252,177,197,198,198,154, 0,192,123,142,200,218,133, 63, + 47,228,155,247,198,141, 27,107,213,111,217,129,242,175,243, 90,173, 22,171, 87,175, 86,197,233, 43,166, 84, 12,231,133,116,155, +100,129, 37, 8, 2,222,123,175,102,132,253,225,135, 31, 86,206,247,191,134,154,246, 66, 22, 67,130, 32,160,195,115, 18, 0, 39, + 78,189,166,135, 40,214, 20,105,255, 48,123, 27, 83, 85,174,216,155,111,190,137, 81,163, 70, 33, 59, 59, 59,228,231,200,145, 35, + 85,133, 83, 16, 4,232,116,186, 90,194,111,223,190,125, 1,121, 23, 46, 92, 24,118, 78,155, 36, 73,248,234,171,175,192,113, 92, + 45,199,235,233,167,159,254,151,201,100, 50,111,218,180, 9,231,206,157, 67,117,117, 53,170,170,170, 16, 19, 19, 19, 61,104,208, +160,125, 69, 69, 69, 5,135, 14, 29,186,153,213, 28,134, 70,114,177, 6, 4,248,223, 58,125,250,244, 39, 9, 33,217,211,167, 79, +127,114,238,220,185,121,222,186,145,237, 87, 87,178,195,212,165,108,175, 24,218,237,173,203,218,130, 51, 63, 0, 0, 32, 0, 73, + 68, 65, 84,189,252,196,219,121, 66,200,110, 74,233, 13,193,206, 5,224,240, 19, 84,181,134, 8,101,238,144, 14,150,255,220,132, + 80,223,189, 22,119,184, 6, 87, 32,132,212, 17, 0,129, 28, 44,151,203,133,210,210, 82, 72,146,212,160,207,234, 10, 39,176, 14, + 28, 56,112,215,228,201,147,207, 68, 69, 69,117, 43, 45, 45, 61,171,211,233,250,111,222,188,185,153,203,229, 66,100,100, 36, 34, + 35, 35,241,245,215, 95, 35, 42, 42, 10,255,254,247,191, 79, 90,173,214,237, 38,147, 41,209,106,181,254, 88, 84, 84,244,116, 80, +229, 34,138,131,250,247,239,143,220,220, 92,148,149,149,109, 0,208,109,194,132, 9, 67,155, 53,107, 70,102,207,158,109, 59,122, +244,232, 91, 0,206,155, 76,166,255, 46, 93,186, 52,179, 71,143, 30,230, 73,147, 38, 97,211,166, 77,239,215,199, 25,178, 88, 44, +181,132,149,156,166, 17, 17, 17,170,158,185,229, 77,111, 74, 8,161,114,207,223, 87, 88,249, 8, 96,202,243,188, 4,128, 54,116, + 30, 49, 92,122, 7, 75,174,235,127,251,219,223,234, 76,110,215,104, 52, 88,179,102, 13,110,186,233, 38,165,195,146,158,158,174, +218,109, 26, 61,122,180, 34, 8,214,172, 89, 19, 84, 96,133, 27,210,242,119,155, 30,122,232, 33,136,162,136,183,222,122, 11, 83, +167, 78, 5,207,243,120,237,181,215,192,113, 28,158,121,230,153,122,139, 75, 81, 20,113,252,165,154,207,212, 71, 42, 80,250, 78, + 34, 0, 32, 34, 50,178, 38, 62,146,164,254, 14,225,141,123, 56,231,202, 87, 88,133, 27, 34,244,117, 1,243,243,243,149,239,125, +250,244,169,229, 92, 9,130, 16, 86,176,121,175, 55,107,224,192,129,179, 83, 83, 83, 19,166, 76,153, 66, 4, 65, 64,207,158, 61, +155, 12, 30, 60,184, 92, 16, 4,253,163,143, 62, 26,104, 42,133, 8,160, 91,199,142, 29, 77,172,230, 48, 92, 98, 7,203, 62,119, +238,220,188,185,115,231, 6,116,168,252,157,164, 80, 78,147, 44,172,188, 66, 40, 94, 22,109,168,153,159,188, 59,220,185,240, 14, + 9, 6,114,185,124,225,239, 96,205,244,111,120,212, 8, 44, 53,243, 39,188,174,200,254,146,146,146, 62, 58,157, 14, 21, 21, 21, +117,110,218,190,162,128,231,121, 20, 23, 23,195,104, 52,238,111,200,156, 11, 55, 68, 8,192,246,243,207, 63, 79,243,249,221,107, +236,216,177,203, 63,249,228,147, 86,235,214,173, 67, 78, 78, 14,154, 52,105,130, 57,115,230,252, 82, 80, 80, 48, 30,192,238,226, +226,226,176,215,109,221,186,117, 39,179,217,140,109,219,182, 1,192, 22, 0,119,222,119,223,125,196,233,116, 98,193,130, 5, 22, + 0,235,162,162,162, 62, 95,177, 98, 69,183,110,221,186,233,214,173, 91, 87,153,147,147,179, 81,165,184,242, 80, 74, 3, 10,171, +202,202, 74, 84, 87, 87,195,108, 54,171, 17, 88,238,200,200,200, 3,149,149,149,183, 90,173,214, 10,157, 78, 23, 81, 81, 81, 97, +247,117, 24,171,170,170, 80, 93, 93, 13, 65, 16,196,252,252,252, 51, 0, 90, 71, 70, 70, 30,192, 69, 62,183,140,225,143, 7,199, +113, 84, 22, 25,235,214,173, 11, 88,215, 69, 81,196,119,223,125, 87,171,190,127,243,205, 55, 97, 69,155, 32, 8,202, 74,194,112, + 14,150, 79,227, 26,218,102, 21, 69,240, 60,143,119,222,121, 7,148, 82,197,185,226, 56, 14,211,167, 79,135, 78,167,195,139, 47, +190,136,233,211,167,171,114,177,124, 93,177,150, 79, 88,127,107, 28,189,231, 58, 29,142, 26,151,158,227,124, 69,150, 42,167, 45, +220, 4,247,250,136, 96, 95,167, 77,167,211, 5,157,220, 30,224,102, 21, 16,185,185,185, 31,116,239,222,253,104,124,124,252,218, +140,140, 12,221,158, 61,123,240,224,131, 15, 18,187,221, 30,185,110,221, 58,229,186,129,210,171,186,186, 90,207,106, 14, 67, 35, + 58, 88, 51, 3,252, 31, 35, 11, 39,175, 24, 82, 91,119,178,125,143,151, 57,252, 69,145,215, 17,219, 28,142, 43,208,185,193, 32, + 4,171,132,254,141, 68, 56,161,165,166,247,105,181, 90,215,111,220,184,177,215, 77, 55,221, 36,132, 26, 30,172,170,170, 66, 98, + 98, 34,142, 29, 59,230,182, 90,173, 97, 31,127,224,241,168,127, 32,122, 56, 7, 43, 0,118,151,148,148,184,157, 78, 39,218,182, +109,139,148,148, 20, 88,173, 86,188,254,250,235,110, 0,187, 85,114,104, 76, 38, 19, 15, 0,229,229,229, 64,205,106,135,118,237, +218,181, 67,110,110, 46, 46, 92,184,176, 10,192,160,153, 51,103,118,191,246,218,107, 53,159,124,242,137,229,222,123,239, 93,229, +114,185,102,171,236,129, 59,220,110,119, 75,142,227,156,101,101,101,167,125,133, 85, 98, 98, 98,140,217,108,230,138,139,139, 93, +106,146,167,107,215,174,187, 78,157, 58,133, 23, 94,120,225,252,156, 57,115,218, 85, 86, 86, 94, 40, 47, 47,119,203,194,170,162, +162, 2, 86,171,149,139,143,143,215, 45, 92,184,208, 8, 0, 93,187,118,221, 5,128, 61,112,244,207,220,162,249, 45,104, 9,244, +168, 6,181,147,209,253,133,203,141, 55,222, 88,199, 17,147,183, 21, 43, 86,212,154,215, 20,110,232, 77,230,124,251,237,183,241, +240,195, 15, 67,167,211, 97,254,252,249,181,230, 96, 5,233, 17, 7,229,148, 69, 91,203, 39,172, 40,122, 35, 22,162, 40, 34,238, +222,115,181,134, 8, 3,196, 77,149, 16,156, 51,103, 78,131, 12, 17,250,138, 62,249,145, 56,139, 22, 45,194,216,177, 99,177,101, +203,150,139, 30, 34,108,217,178,229,210,215, 95,127, 93,119,232,208, 33, 84, 84, 84,224,252,249,243,176,217,108, 40, 44, 44, 84, +242, 48,136, 83,110, 96,181,134,161,145,220,171, 96, 56,239, 55,127,138,248, 14,215,133,248,244, 63, 30, 62,255,249,242,158, 39, +132,184, 2, 92,239,124, 0, 81,229,127, 13,223, 99,206, 7,114,176, 2,221,184, 85, 63,166,193, 59, 65, 50,156, 16,152,247,220, +115,207,221,223,175, 95,191,216,200,200, 72,156, 57,115, 38,160,131, 21, 25, 25, 9,167,211,137,141, 27, 55, 86, 72,146, 52, 47, + 76,134,184, 92, 46, 23, 18, 18, 18, 80, 82, 82, 2, 41,136,141,207,113, 28, 12, 6, 3,170,170,170,128, 48,147,199, 3,221, 40, + 92, 46, 23,156, 78, 39,156, 78, 39, 92, 46, 87,125, 11,141,193,251, 76, 26, 84, 87, 87, 3, 64,117,211,166, 77, 91,235,245,122, +121,213, 99, 62,128,129,195,134, 13, 19, 75, 75, 75,233, 61,247,220,179,131, 82,250, 96, 24, 87,200,177,113,227,198, 22, 0, 96, + 48, 24,242, 1,160,176,176,208, 85, 86, 86,134,170,170, 42,197, 33, 52, 24, 12,184,249,230,155,147, 40,165,216,184,113, 99, 11, +141, 70, 67, 67,136, 33,123,118,118,246,193,168,168,168,229, 89, 89, 89,227,111,184,225,134,188,174, 93,187,182,172,170,170, 42, +182, 88, 44, 86,171,213, 74, 5, 65,208,196,197,197,233,214,174, 93,123,116,199,142, 29, 67, 34, 35, 35,151,103,103,103, 31, 68, +205, 42, 67,134, 63, 99,139,230, 55,183, 41,144,168,170,207, 10, 58, 95,225, 34, 8, 2,190,251,238,187,144, 46,142, 90, 78, 95, +145, 49,109,218, 52,188,241,198, 27,117, 28,172,217,179,107,250, 36, 79, 61,245, 84,189, 28, 34, 65, 16, 80,244, 70, 44,146, 30, +250,181,142,131, 69,188,225,171,207, 16,161,124,254,172, 89,179, 32,138,162, 50,132, 55,100,200,144, 90, 67,131,106,133,149, 47, +103,113,113, 49, 4, 65, 64,108,108, 44,198,143, 31,143,161, 67,135,214,225, 83,203, 91, 88, 88,248,195,171,175,190,218, 60, 37, + 37, 5,159,124,242,137,195,100, 50,105, 7, 14, 28, 72,203,203,203, 73, 40, 7,203,106,181, 50, 7,139,225, 82,183, 83,187, 47, + 37,111, 67, 92, 79, 8,215,232,254,206,199, 52,116,129,207,179, 50, 78,156, 56, 81,158,148,148, 52, 97,220,184,113, 95,188,243, +206, 59,134,214,173, 91,227,200,145, 35,184,112,225, 2,156, 78, 39, 52, 26, 13,154, 54,109,138,170,170, 42,124,246,217,103, 22, +139,197, 50,161,168,168,168, 60, 20, 39, 33,228,169, 17, 35, 70, 44,124,250,233,167,245,157, 58,117,194,133, 11, 23, 80, 85, 85, +165,244,188, 8, 33,136,140,140,132,209,104,196,129, 3, 7,176, 99,199, 14, 43, 33,228,169, 80,156,129,132,166, 44,172,100,161, + 21,110,101,146, 31,167,201,104, 52,202, 61, 63, 0,112, 55,111,222, 60, 17,128, 44,176, 78,180,106,213,234,233, 54,109,218,144, +165, 75,151, 82, 74,233,186, 32,226, 74,225, 36,132, 92,160,148,150, 1, 72,116, 56, 28, 26, 0,168,168,168,112,198,197,197, 37, +232,116, 58, 73,167,211, 73,122,189, 94, 58,123,246,172,219,237,118,107, 0, 32, 51, 51,211, 1,224,156,223, 92, 15, 95, 78,137, + 82, 90,185, 96,193,130,231,239,188,243,206, 62,125,251,246,237,124,207, 61,247, 28,186,247,222,123,145,146,146, 18, 83, 85, 85, +101,203,207,207, 47,123,231,157,119,108,187,118,237, 26, 34,138,226,137, 5, 11, 22, 60, 15,160,146, 16, 34,169, 77,207,139, 4, +227,108, 36, 78,185, 60, 4, 18, 86,190,191, 85, 8,161, 90,225,148, 69,219,173,183,222,170,172, 62,244,119,174,234,203, 9, 64, + 89, 65,248,248,227,143,215, 10,223,211, 79, 63,173,182, 87,236, 27,119,197,109, 18, 4, 1,229,139, 82,106,137,191,122,136,170, + 58,156,130, 32,224,217,103,159, 85,237, 96, 5,152,131, 21, 52,156,153,153,153,168,174,174,134, 40,138, 88,179,102, 77, 80, 7, + 43, 92,122, 26, 12,134,241,171, 86,173,250, 72,167,211,117,117, 56, 28,119,151,148,148, 44,177, 88, 44,205,203,202,202, 66, 58, + 88, 54,155, 77,199,234, 17,227,196, 37,126, 22,214,159, 13, 33,187,120,110,183, 27,205,154, 53,171,245,110, 43,121, 50, 59,207, +243,202,202, 19, 53, 43, 8,101, 20, 21, 21,173, 1, 48,230,230,155,111, 94,118,231,157,119, 70,116,232,208, 65, 76, 75, 75,131, +213,106, 69, 65, 65, 1, 10, 10, 10,220, 27, 54,108,168,176, 88, 44,183,123,143, 13,137, 51,103,206,252,207,237,118,127, 55,113, +226,196,103,187,119,239, 62,101,234,212,169,124,171, 86,173, 80, 94, 94,142,152,152, 24,196,199,199,163,160,160, 0,159,125,246, +153,167,172,172,108,161,199,227,153, 85, 92, 92,124,190, 62,137,228,118,187,121,151,203,133,113,227,198, 65,146, 36,204,159, 63, + 31,110,183,155,175, 7,133,211,233,116, 82, 0,164,164,164, 4, 0, 44,178,224,250,249,231,159, 1,224,100,139, 22, 45,204, 0, +176,126,253,122,130,154,231, 99,169, 81,222,148, 82,170, 56, 89, 29, 58,116, 40,240,111, 20,101,231, 74,118,189,194, 77,164, 37, +132,216, 40,165,231,237,118,251,176, 71, 30,121,228,217, 69,139, 22,141, 95,180,104, 81,157,227, 34, 35, 35,151,191,246,218,107, +179,198,143, 31,127,158, 16,194, 30,207,240, 87,104, 12,252,220,170,250, 78, 1, 8,198,249,229,151, 95,214,231,225,154, 33, 93, + 49, 66, 72,192, 21,137,161,218, 32, 21,157,161,160, 15, 20,253, 61,174,160, 32, 8,120,229,149, 87, 20,231,202,119,242,249,197, + 56, 88, 50,103,108,108,108, 77,175,205,100,130, 36, 73, 24, 57,114,228, 69,243,122,223, 45, 56, 70,254,157,158,158, 62,235,227, +143, 63,158, 77, 41,141, 3, 32,248,166,129,154,116,100, 96, 96, 80, 33,176, 60, 30,207,169, 1, 3, 6,192,183,247, 20,238,101, +173,110,183,251,148, 74,145,245, 93,203,150, 45, 91, 45, 90,180,232, 97,147,201, 52,216,102,179,117, 5, 0,189, 94,191,191,186, +186,122, 29,199,113,175, 23, 21, 21,169,126, 57,179, 87, 48, 61,192,113,220,252,137, 19, 39,206,206,200,200,184,229,158,123,238, + 33,130, 32,224,211, 79, 63,165,167, 79,159, 94,193,113,220, 83,103,207,158, 61,118, 49,137,100, 52, 26,127, 90,177, 98, 69,235, + 47,191,252, 18, 46,151, 11, 11, 23, 46,132, 78,167,251,169, 30, 20,231, 55,108,216,176,172,111,223,190,227,119,236,216,177, 28, +192,129, 45, 91,182,124,116,221,117,215, 77,216,190,125,251,255, 1, 56,180,113,227,198,143, 50, 50, 50, 38,236,218,181,235,115, + 0, 63,214,163,209, 85,156, 44,183, 59,240,136, 98, 16,231, 42, 20,103, 5,165,212, 57,121,242,228, 71,110,185,229,150, 69,185, +185,185,215,200,143,111,136,142,142,222,159,158,158,158,179, 98,197,138, 35, 94,231,138,137,171, 63, 57,228, 9,233, 49, 49, 49, +224, 56, 78,217,228,167,121,215, 87, 8,201,156,148, 82,196,196,196, 4,236,152,133,224, 12,169,106, 40,165, 48,155,205, 10,167, +202,213,203, 97,109, 40,179,217, 92, 43,140, 42, 64,195,197,221, 63,156,106,210, 44, 28,167,201,100,130,211,233, 84,205, 9, 21, +139, 6,124,145,155,155,251, 1,128, 15,218,180,105,243, 51,128, 54, 76, 84, 49, 48, 52,130,192, 58,114,228, 72,207,198,188,240, +241,227,199, 43, 0,204,242,110, 13,130,211,167, 79, 31, 3,112,235,214,173, 91,255,179,125,251,246,103,188,141,235, 11,225,222, +103, 24, 14, 63,254,248,227, 77,162, 40, 46, 88,188,120,113, 6,165, 20, 81, 81, 81,219,143, 30, 61,122, 95,125, 56, 60, 30,207, +148, 29, 59,118, 76,133,119, 85,160,195,225,152,178,117,235,214, 71, 1, 84,203,251,119,238,220,169,252,174,231,205,140, 82, 74, + 29,148,210,228, 32,135, 56,212,138, 43, 63, 39,203,177, 98,197,138, 42, 0,251,240,219,115,174, 92,222,205,238, 55, 44,200,240, + 39,133,219,237, 62, 61, 96,192, 0, 33, 92, 7, 42,192,121,167, 66,117,208,250,247,239,143,139,224, 60, 29, 34,168, 39, 50, 50, + 50, 56,181, 92, 50, 92, 46, 87,113, 8,241,117,170, 79,159, 62, 1,195, 25, 38,205, 66,198,189, 79,159, 62,245, 10,163, 55, 44, +167, 27,154, 51, 76,122, 6,133,213,106,189, 16, 31, 31, 95,101,179,217, 68,187,221, 46,250, 59,246, 6,131,225,188,213,106,101, +149,135,129,225, 15, 4,123,211, 56,227,100,156,140,147,113, 50, 78,198,201, 56,175, 56,112, 44, 9, 24, 24, 24, 24, 24, 24, 24, + 24, 26, 22, 36,132, 10,173,207,234,128,139, 81,178, 7, 24, 39,227,100,156,140,147,113, 50, 78,198,121,197,113,134,227,102,171, + 19, 27, 73,120, 49, 78,198,201, 56, 25, 39,227,100,156,140,243,202,227,252, 75,129, 13, 17, 50, 48, 48, 48, 48, 48, 48, 48, 48, +129,197,192,192,192,192,192,192,192,192, 4, 22, 3, 3, 3, 3, 3, 3, 3, 3, 19, 88, 12, 12, 12, 12, 12, 12, 12, 12,191, 3, + 36, 37, 37, 37, 51, 57, 57,185,207,149,154, 0, 2, 43, 3, 12, 12, 12, 12, 12, 12, 12, 13,129,102,205,154, 69,123, 60,158, 59, + 1,220,215,186,117,235,214, 0, 64, 8, 57, 64, 41,125,221, 96, 48,124,116,236,216, 49,199, 21,163, 48, 89,113, 96, 96, 96, 96, + 96, 96, 96,248, 61, 72, 78, 78,238, 14,224, 62,131,193,112,251, 53,215, 92,163, 29, 56,112, 32, 98, 98, 98,224,118,187,113,246, +236, 89,108,216,176, 1,251,246,237,251,213,229,114, 45,112,185, 92, 11, 74, 74, 74,206, 93, 73, 2,107,147,247, 51,147, 21, 21, + 6, 6, 6, 6, 6, 6, 6, 53, 72, 74, 74,122,117,248,240,225,143,196,196,196,160,109,219,182, 72, 74, 74,130,221,110,135,213, +106, 5,165, 20,130, 32,128, 82,138,202,202, 74,236,217,179, 7, 57, 57, 57,238,138,138,138,229,132,144,215,207,158, 61,251,131, + 31,221, 95, 70,139,200, 2,139, 2, 24,224, 23, 57, 6, 6, 6, 6, 6, 6, 6,134,144, 72, 78, 78, 62,183,126,253,250, 4,143, +199,131,146,146, 18,216,237,118, 88, 44, 22, 69, 96,241, 60, 15, 74, 41,220,110, 55, 0, 64,146, 36, 28, 58,116, 8, 59,118,236, + 64, 97, 97,225,107, 69, 69, 69,211,254,138, 90,132,243, 83,141, 76, 92, 49, 48, 48, 48, 48, 48, 48,212, 11,118,187, 29, 75,151, + 46, 69, 73, 73, 9,154, 53,107,134,148,148, 20, 68, 69, 69, 65,175,215, 3,128, 34,174, 0,128,227, 56,116,238,220, 25, 19, 38, + 76, 0, 33,100,130, 31,213, 95, 70,139,176, 73,238, 12, 12, 12, 12, 12, 12, 12,191, 7, 46,167,211,137,158, 61,123,226,248,241, +227,200,205,205, 69,143, 30, 61,208,177, 99, 71,148,148,148,224,204,153, 51,181, 14,222,181,107, 23,246,238,221,139,235,174,187, +238, 47,157, 40,188,247,147, 0,120, 30,192,157, 0, 22,179,178,194,192,192,192,192,192,192,160, 6, 17, 17, 17,191,110,218,180, +105,104, 90, 90,154,152,158,158, 14,157, 78,135,147, 39, 79, 34, 39, 39, 7,102,179, 25, 93,187,118,133,205,102,195,230,205,155, +177,122,245,106,148,149,149,161, 69,139, 22,192,187,239,225,231,215,204,229, 85, 85, 85,243,254,138, 90,196,119,146,123,166,247, +115, 19, 43, 46, 12, 12, 12, 12, 12, 12, 12,106,145,156,156, 28, 71, 8,121,170,105,211,166,247,223,126,251,237, 98,155, 54,109, +112,234,212, 41,148,148,148,224,194,133, 11,216,185,115, 39, 0, 32, 37, 37, 5, 41, 41, 41, 40, 40, 40,192,129, 3, 7,172,118, +187,253,222, 51,103,206,252,239,175,168, 69,216, 99, 26, 24, 24, 24, 24, 24, 24, 24, 26, 74,104, 53, 3, 48,179, 77,155, 54,147, +198,142, 29,203, 53,109,218, 20,167, 79,159,198,134, 13, 27,208,186,117,107, 20, 23, 23, 99,207,158, 61,158,138,138,138,133, 30, +143,103, 86,113,113,241,121,150,106, 23, 7,246,166,113,198,201, 56, 25, 39,227,100,156,140,243, 10,227, 76, 76, 76,236,144,156, +156,188,114,232,208,161,244,157,119,222,161, 15, 60,240, 0,237,209,163,135,148,156,156,252,105, 74, 74, 74,235, 43, 65, 0,177, + 73,238, 12, 12, 12, 12, 12, 12, 12, 13,138,115,231,206, 29, 6,112, 19, 33,228,154,188,188,188, 39, 1, 64,146,164, 23,206,157, + 59,183,231, 74, 73, 3, 38,176, 24, 24, 24, 24, 24, 24, 24, 26, 5,103,206,156,201, 1,240,183, 43, 49,238,236,101,207, 12, 12, + 12, 12, 12, 12, 12, 12, 76, 96, 49, 48, 48, 48, 48, 48, 48, 48, 48,129,197,192,192,192,192,192,192,192,112, 69,129, 32,248, 74, +128, 3,245,224,185,152, 21, 10, 7, 24, 39,227,100,156,140,147,113, 50, 78,198,121,197,113,134,227, 62,128, 43, 8, 23,251,188, + 44,182,132,149,113, 50, 78,198,201, 56,255, 60,156,164,129, 56,137,119,227,188, 27,169, 39,247,165, 10,231,159, 37,238, 87, 10, +231, 95, 10,225, 86, 17,250, 38,146,228,221,104, 3, 9, 54,174, 1,249, 24, 26, 71, 84,203, 21,131,178,124, 98, 96,248, 75,163, + 33,219,122,185,237,224,125, 56, 61,222, 13,191,179, 45,105,140,123,210,229, 30,247, 43,153,243, 47, 41,176, 8, 0, 18, 31, 31, +191, 38, 33, 33,225,250,146,146, 18, 9, 0, 8, 33,224, 56, 14, 28,199, 65, 16, 4,107, 65, 65, 65,100,125, 47,152,144,144,240, +126,124,124,252,157,165,165,165,146,204, 69, 8, 1,207,243,224,121,222,122,236,216,177,200, 63, 58, 81,122,244,232,113,193,225, +112,152,253,255,215,106,181,182,189,123,247, 70, 92, 9,229,162, 93,187,118,183, 25,141, 70, 67,144,253,244,135, 31,126, 88,164, +150,172, 69,139, 22,187, 12, 6, 67,180, 32, 8,224,121, 30,130, 32,160,186,186,186,236,240,225,195,189,189,251,183, 25, 12,134, + 56,158,231,229,178, 5,155,205, 86,122,232,208,161,190,236,190, 87, 23,153,153,153, 2,234,255,136, 21,247,166, 77,155,220,151, + 42,140,148, 82,206,145, 27,209,134,184,173,221, 8, 71,163,168, 68,202,169, 96,248, 81,155, 94,121, 84, 85, 75, 77,136,244, 7, + 39,115,115, 0,110, 0,103,234, 29,247, 0, 61,118, 1, 24,238, 1,198,121,127,218, 56,160,148, 0,249,113,192,103,231, 0,171, + 95,227,123, 41,111, 68, 4, 0, 73, 77, 77,125, 61, 49, 49,241,174,202,202, 74, 11,207,243, 32,132, 80, 66,136,156, 23,190,249, + 2, 73,146, 78, 29, 60,120,176,103,152,155,172,216,188,121,243,215,226,227,227,239,176, 88, 44, 22, 66,136,194, 41,111,190,220, + 30,143,231, 84, 94, 94, 94,207, 75, 24,206, 63, 36,238,190, 92,242,111, 73,146, 66,197, 93,225, 76, 77, 77,125, 45, 49, 49,241, +142,170,170, 42,139,247,190,249,187,195,121,153,115,254,101, 5, 22,151,144,144,176,170,119,239,222, 3,190,252,242, 75,238,240, +225,195, 92,135, 14, 29,224,241,120, 32, 73, 18, 40,165, 72, 79, 79, 55,214,247, 98,137,137,137, 75,122,246,236, 57,110,245,234, +213,220,170, 85,171,184, 94,189,122,129, 16, 2,143,199, 3,143,199,131, 65,131, 6, 25,126,103,124,204,130, 32, 76,213,106,181, +153,110,183,187, 35, 0,136,162,120,200,110,183,111,114,187,221,243, 0, 84,169, 33,113,185, 92,198,188,188,188, 58,105,211,187, +119,111,237,197, 6,172,109,219,182,219, 57,142,107,229, 91,200,194,125, 82, 74,127, 57,120,240, 96, 70, 48,206,246,237,219,135, +229,244,255, 79,146,164, 95,242,242,242, 50, 66,149,137,182,109,219,142,235,212,169,147,254,211, 79, 63, 69, 97, 97, 33, 76, 38, + 19, 36, 73,130,199,227,129,203,229,194, 77, 55,221, 84, 47,203,215, 96, 48, 68,110,216,176,161, 77, 66, 66, 2,138,139,139, 81, + 82, 82,130, 41, 83,166,228,251,236,143,251,254,251,239,219,197,198,198,194, 98,177,160,188,188, 28, 19, 38, 76,248,211, 87,174, + 33,253, 91,189, 72,128, 88,249,183, 71,194,175,235,183,253,242,244,239,229,181,219,237,103, 61, 30, 79,140,159, 32, 9,121, 14, +207,243, 23, 0,196,135,211,194, 0,254,198,243,124, 91, 81, 20,175,162,148,182,112,187,221,137, 0,160,209,104,206,241, 60, 95, +224,114,185,142, 56, 28,142,159, 1,172, 6, 80, 16,140,200,145, 27,209,198, 99,183,220, 82,109,151, 70, 74, 20, 73, 28, 65,145, + 73,103,249,218,145, 27,177, 66,173,200,250, 3,209,178,105,211,166,175, 0,192,153, 51,103, 30, 3,112,252,247, 18,122,128,113, +148,210, 40, 0, 40, 47, 47,143, 42, 44, 44, 76, 90,189,122,117,231, 57,115,230, 12,212,218,108, 47, 59,128, 67,161,206, 31,124, + 93,235, 61, 2, 33,169,138, 90,166,210,169,117,155,127,105,136, 27, 19,151,146,146,242,250,136, 17, 35, 38, 46, 92,184,208,152, +147,147, 99,236,218,181,171,183,227, 11,165,189,167,148, 42,101,236,218,107,251,132, 19,108, 66,211,166, 77,231,143, 24, 49, 98, +252,130, 5, 11,140, 71,142, 28, 49,182,108,217, 82,225,244, 45,179,114, 7,251,234,171,187, 95,234,112, 54,106,220,135, 13, 27, + 54,126,225,194,133,198,253,251,247, 27,219,181,107,167,112, 82, 90, 91, 59,115, 28,135,158, 61,123,169,226, 28, 62,124,248,248, +119,223,125,215,152,155,155,107,236,216,177,163, 87,164, 65, 9,227,197,132,243, 50,231,252, 75, 10, 44, 46, 62, 62,126,105,207, +158, 61,135,125,249,229,151, 60, 0,228,230,230,162,180,180, 20, 41, 41, 41, 48,155,205,208,235,245,176,217,108,245,234,101, 37, + 36, 36,188,223,171, 87,175,113, 95,126,249,165, 8, 0,159,223,126, 19,126, 17,129, 7,139, 29,208,104, 52, 56,122,244, 40,120, +158,255, 61, 61,183,235, 34, 34, 34,254,183,114,229,202,152, 30, 61,122,112, 37, 37, 37,104,217,178, 37,126,253,245,215,222,155, + 55,111, 78,191,251,238,187,239,174,172,172,156, 4, 96,179, 90,194,175,190,250, 10, 38,147, 73,217,156, 78,231, 69,143, 37,243, + 60,159,154,147,147,147, 96, 54,155,225,241,120, 64, 41,173, 85,129,253, 43,158, 36, 73,232,223,191,191, 51,100,230, 9, 66,106, + 78, 78, 78,130,193, 96,168,195,229,241,120,160,213,106,193,113,156,220, 67,132,219,237, 70, 70, 70, 70, 40, 78,210,174, 93,187, +219,100,113,197,113, 28, 62,249,228, 19, 36, 37, 37, 33, 33, 33, 1, 38,147, 9, 6, 67,253, 53,176, 32, 8,136,139,139,195,253, +247,223,143,219,110,187, 13,203,150, 45,131, 40,138,181,246,199,198,198,226,219,111,191, 69,100,100, 36,210,210,210,106,237,255, +179,130, 0,177,223,109,254,205,145,189,101,212,213,194,160,126, 45, 23, 40, 21,173,230, 32, 42,121, 93, 11,201,227,185,176, 97, +251,201,103, 85,116, 0,154,108,219,182, 13, 58,157, 78,221,205,221,227, 65,239,222,189,155,132, 57,108,100,151, 46, 93, 62,191, +255,254,251, 53,109,218,180, 33,162, 40, 66, 16, 4, 8,130, 32,151,199, 52, 74,105,154, 36, 73, 3,206,157, 59, 71,223,124,243, +205,151, 55,110,220,120, 51,128,175, 3,198,221,109,237, 86,109,151, 70, 82,138,164,196,193,180,121,241, 58,130,106,187, 52, 50, + 74,176, 30, 5,112, 57, 11,172, 72,131,193,240,204,167,159,126,170, 1,128,193,131, 7, 63, 99,181, 90,255, 13,160,162,161, 46, + 16, 21, 21,133,168,168, 40,116,233,210, 5, 99,198,140,137,238,222,189,251,163, 45,236,246, 41, 5,128, 35,104, 29,226,184,212, +111,190,207, 79,144,127,143,191,169,135,102,104,102,235,115,212,107,153,249,123,104,146,135,158, 90,191,237,120, 56, 1,198, 37, + 37, 37,253,103,248,240,225,183, 46, 92,184, 48, 2, 0,222,127,255,125,140, 28, 57, 18, 73, 73, 73, 48, 24, 12,208,104, 52,208, +104, 52, 16, 69, 81,249, 12,115,147,229,147,146,146, 94,190,225,134, 27,110, 89,176, 96, 65, 4, 0, 44, 89,178, 4,163, 70,141, + 66, 92, 92, 28, 34, 35, 35,161,211,233,160,213,106,189, 92, 4, 52,124,171, 95, 39,156,247, 12, 29,136, 86, 6, 29,254, 54,251, + 21, 68, 71, 71, 99,195,180,251, 32,114, 28,238,251,118, 19, 34, 35, 35,213,180, 31,117, 56,115,115,115,113,238,220,185,128,113, +231,121, 62, 92,125, 83,226, 62,114,228,200, 91,100,206, 37, 75,150, 96,216,176, 97,136,139,139,131,217,108, 86,226,254, 27, 55, +167,138,115,216,176, 97,183,188,251,238,187, 10,231,160, 65,131, 16, 27, 27,139,136,136, 8,104, 52, 26, 37, 61,235,147, 71,151, + 57,231, 95, 82, 96, 17,175,123,117,107,118,118,182,146,243,162, 40, 66,167,211, 41,133,195,247,198,173,246, 94, 19, 31, 31,127, +231,151, 95,126,169,156,228,240,171, 84,122,189,190,190,156,181, 58,120,215, 95,127,253,199,217,217,217,122,141, 70, 3,171,213, +138,188,188, 60, 68, 69, 69, 65,171,213,226,198, 27,111,228, 51, 50, 50,226,174,191,254,250,207,126,250,233,167,241, 0,214,169, + 24,226,128,217,108,174, 37,176, 40,189,120,253, 71, 8,129,193, 96,192,170, 85,171, 32, 8, 66,173, 66, 22,168, 17, 75, 76, 76, + 12,235, 74, 0,128, 78,167,195,246,237,219,193,113, 28, 68, 81, 84,182,175,190,250, 10,211,166, 77,195,185,115,231,148,125, 17, + 17, 97, 71, 55,137,209,104, 52,200,226, 74,206,123,131,193, 0, 81, 20,137, 32, 8,132,231,121,185, 73, 39, 80, 57,148, 33, 8, + 2, 10, 10, 10,112,251,237,183, 99,241,226,197,120,225,133, 23, 48,126,252,248, 90,251, 43, 42, 42, 16, 19, 19,131,232,232,104, +232,116,186,223, 83, 22, 46, 27, 72,126,169, 51,235,133,151,141, 18, 0,137, 74,128, 4, 80, 80,229,251,217,179, 71,241,234,127, +222,224,213,114,235,116, 58,108,219,182, 13,190,195,174, 28,199, 65,163,209,212,250, 79, 16, 4, 36, 39, 39,171,225,155,185,114, +229, 74,237, 39,159,124,130, 47,190,248, 2, 30,143, 7,162, 40, 66,175,215, 35, 50, 50, 18,177,177,177,202,150,150,150, 70, 62, +248,224, 3, 77,183,110,221,102, 86, 84, 84, 4, 22, 88, 28,141,146,188,226, 10, 0, 18, 6,211,230,199,190,228, 99,162, 35,106, + 92,156,203,184, 61,156,241,214, 91,111,197,165,167,167, 3, 0,222,122,235,173,184,201,147, 39,207, 0,240, 52,106,134, 12, 47, +174,131, 5,124, 76, 8, 25,231,117,108,245, 67,134, 12,209,190,253,246,219,184,234,170,171,240,208, 67, 15,197,190,250,242,203, +127, 3,176, 34,120, 89,170, 93,152,230,190,242, 70,180,111,135,234,183, 13,248,245,124, 1,158,121,230, 69, 21,250, 31, 92,211, +166, 77,239,126,239,189,247,148,233, 16,177,177,177, 74, 27,228,223, 70,201,159, 33,218, 37,226,117,133, 38, 47, 92,184, 80,225, +140,143,143,175,197, 33,138, 34, 10, 14,253,128,111,222,207,130, 41, 46, 25, 19,166,205,173,119, 56, 83,116, 90,164, 26,180,232, +214,173, 27, 12, 6, 3,114,197,154, 91,153, 44,174,212,132,211,159,147,231,121, 37,140,148, 82,216,108, 54, 84, 86, 86,194,227, +241,192,225,112, 32, 61, 61, 93, 85,220,223,125,247, 93,133,179, 73,147, 38, 74,251,238,219,206,203,155,220,129, 9, 19,206,201, +255,253,239,127, 21,206,184,184, 56,133, 75, 16, 4,104, 52, 26, 44, 89,178, 4, 42, 29,109,213,156,245,205,119,127,206,227,199, +143, 99,206,156, 57,208,104, 52,242, 20, 32,197,177, 76, 73, 73,193,155,111,190,169,234, 30,247, 87,115,176, 72, 73, 73,137,116, +248,240, 97,110,207,158, 61,208,104, 52,136,143,143, 71,239,222,189, 1, 0, 78,167, 19,130, 32,192, 96, 48,144,182,109,219,158, +147, 19, 77,254,244, 27, 75,151,151, 90,114,191,254,250,171,180,102,205, 26,110,217,152, 97,112, 80,160,251, 51,115, 49,108,212, + 40,124,151,162, 5, 15,160,247,225, 18,104,181, 90, 33, 41, 41,201, 37,103,130,204,235, 55, 55,203,127,249,102,132,201,100,250, + 96,245,234,213,122,142,227, 80, 89, 89, 9, 73,146,208,183,111, 95, 16, 66,176,127,255,126, 60,253,244,211,248,252,243,207,177, +114,229, 74, 67,143, 30, 61, 62,176, 90,173, 29, 1, 84,250,112, 28, 8, 84, 56, 35, 35, 35, 97, 48, 24, 20,129,101, 48, 24, 72, +251,246,237,207, 5,153, 71,112,250,224,193,131,233,193, 56,101, 39,225,230,155,111, 86,230,156,201, 55, 64,223,202, 38,127,207, +203,203, 11,148, 95,117, 56, 37, 73, 66,191,126,253, 0, 0, 38,147, 9,102,179, 25,223,127,255,189,178,191, 71,143, 30,112, 56, + 28,104,210,164, 9, 14, 29, 58,164,138,179,168,168, 8, 75,151, 46,133, 40,138,136,139,139,131, 40,138,154,117,235,214,189, 96, + 50,153,162,120,158, 71,116,116, 52, 70,141, 26,181,208, 39, 12,158,175,191,254, 90, 8,198,201,243, 60,244,122, 61,150, 44, 89, +130, 57,115,230,224,201, 39,159,244,119,247, 96,179,217, 16, 23, 23,135,152,152, 24,196,196,196,168, 10,103, 3,160, 81, 57, 41, + 40,242,246,126,135,131,251,214,193, 67, 61,144, 60, 18,168, 68,225,145, 36,236, 93,187,171,221,217, 95,206,164, 80,208,154, 41, +181, 0, 60, 85,213,238,204, 56,237, 85, 0, 86,109, 42,117,204, 15, 23, 78,158,231,225,116, 58,241,221,119,223,225,232,209,163, + 88,179,102, 13,172, 86, 43,154, 52,105,130,232,232,104,100,100,100, 96,242,228,201,193, 4,214, 1,191,178,185,228,244,233,211, +221, 51, 50, 50, 72,121,121, 57, 74, 74, 74, 80, 89, 89, 9,167,211, 9,167,211,169,228,161,201,100, 66, 82, 82, 18,172, 86, 43, +181,219,237, 75,130,198, 93, 34,229, 28, 65,209,177, 85, 66,147,214, 55,186, 13,231,190,143,179, 91, 29, 26,247, 59,171,140,147, +191,122,162,245, 80,142,114, 20,168,137, 58, 33,160,146,199, 83,178,110,203, 47,247,255,193,249, 62,101,234,212,169, 29,125,135, +167, 39, 76,152,128,188,188,188,142,243,230,205,155, 2,224,173,250,114, 26,128, 20,212, 40,179,111, 81,179, 97,166,213, 74, 94, + 88,181,234,102, 0,119,172, 92,185, 18,227,199,143,199,127, 94,126,185, 75, 0,129,117,192,183,195, 87,144,191, 25,199,243,183, + 65,146, 36,239, 70,131,126,167,234,194, 73,170,170,170,108, 57, 57, 57,230, 15, 63,252, 16,177,177,177,104,209,162, 5, 34, 34, + 34,160,211,233,234,136, 1,121, 11, 23,119,139,197, 98, 59,124,248,176,249,227,143, 63, 70, 92, 92, 28,210,210,210, 96, 50,153, +160,215,235,149, 14,122,206,154,149,152, 50,233, 70,148,158, 60,130, 55,254,125,155,234,112,222, 51,100, 32, 82, 13, 90,220, 56, +107, 46, 58,118,236,136, 21,183,141, 6, 71,128,123, 55,236,132, 40,138,248,112,228,117,208,233,180,184,119,195,110,213,156,187, +119,239, 6,165, 20,105,105,105,176, 90,173,138,203,166,209,104,176,110,221, 58,140, 30, 61, 26,203,150, 45,195,181,215, 94, 27, + 54,238, 85, 85, 85,182,253,251,247,155, 63,250,232, 35,196,198,198,162, 89,179,102, 48, 26,141, 10,159,175,136,105,213,170, 21, +202,202,202,208,186,117,235,144,156,213,213,213,182,220,220, 92,243,178,101,203, 16, 27, 27,139,212,212, 84, 24,141,198, 90, 78, +216,204,153, 51,107, 17,116,235,214,237,119,115,214, 55,223,253, 57,199,140, 25,131,214,173, 91, 35, 50, 50, 82, 73, 3,127,161, + 93, 31, 80, 74,123,161,246, 52, 7, 7, 0,173,207,231,121, 66,200,238, 0,199,201,255,139, 0,174,246,238,243,120, 53, 64,116, + 0,190, 96, 60, 37, 94, 83, 33,222,239,248, 90,215, 9, 36,176,228,250, 56, 0,192, 86, 0,232,208,161, 3, 74, 75, 75,161,211, +233,208,187,119,111,156, 63,127, 94,177,249, 36, 73,194,216,177, 99,249, 39,158,120, 34,129,227, 56,184, 92, 46, 80, 74,193,243, + 60,228,158,159,191, 14,224, 56, 14, 25, 25, 25, 56,232, 77,211, 97,163, 70, 33, 53, 53, 85,153,196,161,211,233, 48,126,252,120, + 50,109,218, 52, 65,118, 47, 40,165,176, 90,173,232,214,173,155, 33,132, 59,242,239,207, 62,251, 44, 74,171,213, 42,226, 74, 14, +203,225,195,135,241,234,171,175,226,142, 59,238,192,201,147, 39,145,156,156,140, 71, 31,125,212,156,149,149,245,111,167,211, 57, + 43, 92,134,154,205,230, 90, 2,107,210,164, 73, 66, 70, 70, 70,130,209,104, 84,220, 45,175,168, 68, 70, 70, 6, 9,231, 96, 73, +146,132,111,191,253, 54, 96,239,208,191,199, 64, 8, 1,165, 84, 21,103, 78, 78,142, 34,206,100,247, 66,222,159,151,151,167, 56, + 88, 94, 33, 24,138,147,202, 66, 77,182,201, 69, 81,212,228,228,228,204, 78, 78, 78, 54, 79,154, 52, 9,149,149,149,104,218,180, + 41,134, 14, 29, 10, 73,146,224,116, 58,241,224,131, 15,134,116, 94, 68, 81,196,174, 93,187,144,149,149,133, 39,158,120, 2, 11, + 23, 46,196,224,193,131,107, 57, 88,114, 79, 55, 50,242, 15, 95,227,208,128, 22, 22,224,116,187, 96,177, 88, 65,169, 7, 30,137, + 66,242, 72,216,191,113,111,187, 95,246, 29,237,156,189,124,169, 8, 0,182, 77, 43,125,207, 74, 30,179,224,255,218,103,198,136, + 57,155, 46,184,114,194, 12, 59,227,190,251,238,195,179,207, 62,139, 91,111,189, 21,107,215,174,197, 83, 79, 61,133,187,239,190, + 91, 17,239,114, 89, 80, 49,236,248,222,132, 9, 19,254,181, 98,197,138,171, 30,121,228, 17, 78,174,147, 70,163, 17,132, 16,216, +108, 54,101, 59,124,248,176,244,207,127,254,243, 39,135,195,241, 94,208,130, 36, 24,126, 52,233, 44, 95,159, 45,229,218, 22,109, +136,229,136, 16,233,140, 79, 27, 80,126, 67,187,193,116,240,109, 45, 98,168, 84,227,240, 81, 80,216,109,213,120,242,137,199,248, + 63, 56,183, 70, 14, 25, 50,100,232,236,217,179,235,236,152, 61,123, 54, 14, 29, 58, 52,116,237,218,181, 5,193,134, 68,131,136, +171,212,168,164,164,121, 0, 96, 40, 42,154,106, 5, 78, 1,192, 11,192, 48, 15, 48,122,237,218,181, 0,128,230,205,155, 67, 2, + 58, 17,224,127, 60,240, 49,128,111, 2, 57,234, 78,151, 27, 86,171, 13, 18,173, 41, 71, 18,149, 32,121,106, 92, 80,127,145,165, + 98,220,141, 2,144,120,158, 71,151, 46, 93, 48,108,216, 48,104,181, 90,152,205,102,165,157,247,111,147, 84,220, 20, 41, 0,137, + 16,130, 86,173, 90, 97,232,208,161,208,104, 52, 48,153, 76,136,140,140, 84, 4, 22,207,243,232,146, 49, 16, 31, 47,123, 5, 19, +135,117,198,164,235, 18,241,217,254, 18, 85,225, 76, 51,106,145,102,208,161, 67,135, 14,136,136,136, 0, 33, 0,207,115, 74, 56, + 77, 70, 61, 52,202,240,163,186,184, 23, 21, 21,161,160,160, 0, 5, 5, 5,224, 56, 14,125,251,246,133, 86,171,133, 32, 8,200, +207,207,199,172, 89,179,224,112, 56, 84,113,114, 28,135,182,109,219, 98,224,192,129,208,106,181,144,239, 21,190, 67,131,162, 40, +162,178,178, 18,109,218,180,193,170, 85,171,208,191,127,255,176,156, 29, 59,118,196,128, 1, 3,160,209,104, 96, 48, 24,148,169, + 58, 90,159,184, 86, 85, 85, 41,233,208,189,123,247,122,113,174,217,117, 18,139,214,124, 15,187, 67, 66,133,197, 85,235,132,228, + 38,145,216,250,209, 19,170,226, 46,115,190,247,222,123, 40, 43, 43, 83,218, 33,121, 65,155,108,158,164,166,166,226,221,119,223, + 13,122, 15,242,106,145, 77,126,251,226, 9, 33,217, 62,117, 98, 20, 33, 36,219,247, 51,216,113,222,175,215,205,152, 49,163,103, + 86, 86,214,156, 62,125,250,124,188,125,251,246,229,193,248,130,241,204,152, 49,163,115, 86, 86,214, 28,223,227, 3, 92, 39,160, +131, 37, 15,249,112,178, 51,147,146,146,162,140, 59,155,205,102,104, 52, 26,229, 96,183,219,141, 15, 62,248, 0, 9, 9, 9, 72, + 76, 76, 84, 62,131,101, 0,199,113,160,148,226,161,243, 53, 83,128,190,109,170, 65, 1,128, 27,206, 83,133,207,227,241, 96,197, +138, 21,136,136,136, 80, 42,186,217,108, 14, 57, 92,164,213,106, 7,244,234,213,139,179,219,237,138, 77,206,113, 28, 14, 31, 62, +140,172,172, 44,140, 31, 63, 30,237,219,183,135,199,227, 65,117,117, 53,174,191,254,122,241,141, 55,222, 24,160, 86, 96, 25,141, + 70,101,222,145,221,110,199,250,245,235, 17, 29, 29,141,152,152, 24,196,197,197, 33, 54, 54, 22, 58,157, 14,132,144,240, 45, 26, +165,184,249,230,155,107, 57, 87,190,174,149,111,131, 38, 15,251,169,225,188,246,218,107, 21,247,202,108, 54,227,155,111,126,107, +159,123,247,101,240, 54,107, 0, 0, 32, 0, 73, 68, 65, 84,238, 13, 74, 41,226,227,227,177, 99,199, 14, 53,141, 46, 36, 73, 66, + 66, 66, 2, 68, 81, 36,235,214,173,123,193, 43,174,136, 40,138,248,225,135, 31,144,151,151,135,248,248,120,165, 87, 26, 14,213, +213,213,103,223,120,227, 13,207,219,111,191, 13, 0, 24, 52,104, 16,202,203,203,139,125,246,151, 78,156, 56,177, 86,124, 47, 92, +184, 80,250, 23,208, 87,112, 59,221,176, 88,109,168,170,172,134, 75,242,192,229,246,160,248,244,249,232, 39,166, 77, 21,255,243, +224,100, 0,192,180,249,111,161,242,221,223, 26,176, 47,166,141, 75,184,249,213, 79,166, 3,184, 49, 20,191,197, 98,129,205,102, + 67,243,230,205,177,123,247,110, 84, 86, 86, 98,240,224,193,181,220,223, 48, 67, 16,190,112,156, 62,125,186,239,168, 81,163,118, +191,246,218,107,173, 59,117,234, 68,170,171,171, 81, 93, 93, 13,139,197, 2,249,251,129, 3, 7,232,242,229,203,127,177, 88, 44, + 25, 8, 49,103, 72,155, 94,121,212,145, 27,177, 98,203,143,154, 81,127, 31, 51, 58,234,212,233, 66,119,169, 85, 95, 85,110,253, +201,238,161,135, 64, 61, 20, 30, 74, 65, 61, 18, 60, 84,250,163,215,111,167,182,107,215,238,159,203,150, 45, 11, 40, 72,121,158, +199,178,101,203,208,175, 95,191,127,230,231,231, 31, 70,136,201,253, 50, 90, 0, 90,183, 40, 62,241,127,255,247,127, 26, 0, 24, + 56,112,224, 19, 45, 92,174,105, 5,128,163, 83,215,174,183,108,223,190, 61,202,104,172, 89, 39, 20, 21, 21, 5, 74, 41,111,177, + 88,162, 50, 50, 50,110,217,191,127,127, 93,129, 37, 81,184, 92,110, 88,109,118,148,149, 87,193,229,112,193, 45,185,225,113, 75, +112, 75, 53,238,168,219,227,129,228,246,192, 45,121,192, 11,124, 68,230, 53,205,170,106,188, 44, 82,182, 57,167,176, 89,160, 34, + 90,179,194, 11, 72, 74, 74, 82,134,132,125,231,202,168,112, 49,234, 24,245, 53,109, 33, 85,218,198, 31, 55,102,163,248,208, 86, +104, 8,133,228,113, 65,114, 59,225,113, 57,193, 67,194,161, 99,167,209,169,105,216, 54, 68, 9,231,240,103, 94, 68,239,222,189, +241,217,184, 27, 65, 8,112,239,250, 29,208,104, 52, 88,126,211, 96,104,245, 90,252, 99,205, 78,181,225,172, 21,247,220,220, 92, + 60,244,208, 67,120,233,165,151, 96, 48, 24,148,206,201,145, 35, 71,240,201, 39,159, 96,200,144, 33,170,227, 78, 72,205, 80,171, +156,134, 51,102,204,192,153, 51,103, 48,111,222, 60,244,236,217, 19,162, 40,162,172,172, 12, 25, 25, 25, 56,119,238,156, 42, 78, + 74, 37,196,198,198, 42,211,117,252,231,136,201, 29,217,250,228,145, 47,231, 93, 55, 37,227,203,109,203, 65, 64,176,243,163,169, +181,238, 71,239,124,178,165,222,156,207, 62,251,108,173,112,214,211,189,146,181, 8, 9,114,207, 27,165,210,241,146,143,147, 19, + 89,151,149,149, 53,199,255,252,112,124,190,251,253,206,119,248,137,178,115,106,134, 8, 41,199,113,144, 36, 9,102,179, 25, 90, +109,141, 3,230,127, 35, 53,153, 76,181, 20,121,184,241,100,158,231, 65, 41, 85, 18,150, 15,176,127,199,142, 29,117, 68,192,127, +255,251,223,144,227,180,110,183,187, 99, 68, 68, 4, 42, 43, 43,149, 57, 82, 90,173, 22,211,167, 79,199,196,137, 19, 21,113,165, +213,106,177,120,241, 98,164,167,167,195,225,112,116, 12,149,160, 26,141,198,210,181,107, 87, 78,118,129, 12, 6, 3, 25, 63,126, + 60,239,116, 58,161,215,235,107,185, 78,242,220,180,112, 98, 72,118,155,190,251,238, 59, 85, 14,150,218, 57, 72,148, 82,236,221, +187,183,150, 80,243, 46, 53, 6, 0,236,219,183, 79,185,209,170, 29,239,246,120, 60, 48, 24, 12, 68,163,209, 16,147,201, 20, 53, +105,210, 36,133, 87,206,115, 57,222,106, 38, 90,239,223,191,255,250,144,227, 53, 7, 14,252, 37, 31,199, 32, 73, 18,156, 46, 23, +172, 86, 27, 42,171, 45,152, 57,215, 59,162, 54, 19, 57, 0,114,250, 78,121, 8,247, 13, 27, 50, 16,225, 87,247, 5, 68,108,108, + 44, 62,255,252,115,136,162,136, 85,171, 86, 33, 50, 50, 18,163, 71,143, 70,100,100, 36,158,120,226, 9,220,118,219,109,245, 17, + 88, 0, 80, 94, 90, 90,218,119,234,212,169,187, 95,126,249,229,230,205,155, 55,135,211,233,132,195,225,128,211,233,196,177, 99, +199,176,124,249,242, 66,139,197,210, 23, 64,121, 56, 50,109,122,229,209,236, 71, 90,159,237, 55,230, 38,219,161,162, 53, 56, 87, +116, 30,110,207, 41,184, 61, 30,184, 93,238, 26, 65, 32, 73,112, 59,221,224,121, 46,242,250, 62,105,235,106, 38,252, 19, 7,128, + 17,151, 48,171,104,126,126,126,105,124,124,188,220,131,140,116, 56, 28,196,219,150, 80,252, 54,193,189, 26,128, 83, 13, 97, 33, + 48,229, 63, 47,189,212, 76, 30,190,127,233,165,151,154, 61,250,200, 35, 83, 0,188,126,104,255,254,165,119,221,117,215,212, 79, + 63,253,180,214, 57,119,221,117, 23, 14,237,223,191, 52, 88,207,199,229,114,193,106,181,163,164,228, 87,220,115,239, 51, 62,221, +125,170,244,251,107, 38,189, 83, 0,208, 3, 64,201,185,159,241,224, 67,143,234, 66,117,168,188,245, 29,162, 40,214,153,132,236, +219,190,171,104, 63,168,255, 20, 11,141, 70,131,163,219,179, 49,117,202, 45,128,199, 13, 56,171, 1,167, 5,212,105, 1,117, 84, +131,104, 13,160, 46,155, 42, 94,143,199,163, 76,219, 16,120, 14, 58,237,111,237,166,209,104,128, 86,175, 85, 27,206, 58,113, 63, +113,226, 4,238,191,255,126, 56, 28, 14,140, 25, 51, 6, 54,155, 13,118,187, 29, 54,155, 13,173, 90,181,130,213,106, 85, 29,119, + 73,146, 20, 23,112,234,212,169,232,217,179, 39,102,205,154,133,199, 31,127, 28,173, 90,181,194,148, 41, 83,240,241,199, 31,163, +115,231,206,176, 88, 44, 97, 57,229,182,196,108, 54, 67, 16, 4,165, 13,246,205, 43, 89, 96,169,205,163, 64,156,132,252, 54,239, +214, 55,223, 31,158, 52,168,222,156,115,230,204, 65, 73, 73, 73, 29,231,202,215,193, 90,176, 96,193, 69, 85, 86, 63,151, 41,236, +113,132,144, 92,239, 95,214,233,211,167, 63, 73, 8,201,158, 62,125,250,147,115,231,206,205, 83,195, 23,104, 63, 33,228, 43,239, +253,247, 6,159,255,114,213, 8, 44,200,110,147,108,107,202, 9, 39,239, 3, 0,163,209,136,236,236,108,172, 88,177,162,214, 13, + 37, 24,100,209,246,117,124, 77, 1, 24,233,117,174,228,223, 35,138, 37,140, 26, 53, 10,173, 90,181,170,229, 94, 25, 12,134,144, + 98, 67,146, 36,156, 56,113, 2, 7, 14, 28, 64,159, 62,125, 80, 94, 94, 14, 1,192,180,253,251,209,105,210, 36,216,189,194, 79, +171,213,226,159,255,252,167,170, 12,220,179,103, 79,173, 73, 64, 29, 59,118, 60,149,145,145,145,178, 99,199, 14,197,209,210,233, +116,208,235,245,138,200, 80, 83,169, 41,165,184,229,150, 91,106,137, 33,127,129, 37, 87,158,111,191,253, 86,213, 16, 33,165, 20, +153,153,153,138,123, 21, 17, 17,129, 47,190,248, 66, 57,230,186,235,174, 3, 33, 4, 9, 9, 9,248,230,155,111,194,114,202,105, + 42,231, 61,207,243,168,174,174, 70,110,110, 46,180, 90,173, 50, 63,195, 96, 48, 40,241,103, 8,150,225, 18, 28, 46, 23, 44, 86, + 27, 42, 43,107, 26,210,163, 7, 62,171,117,136,211,126,241,139,211,100, 39,180,162,162, 2,235,215,175,199,231,159,127,142,158, + 61,123,214, 26, 30, 84, 59, 68,232, 59,143,224,215, 95,127,237,247,248,227,143,239,124,225,133, 23,154,198,197,197,193,233,116, +226,196,137, 19,248,224,131, 15,206, 88, 44,150,126, 0,206,171, 79, 3, 10,183,203, 13,155,197,138,242,202,106, 60, 63,123,113, +208, 38, 2, 0,156,142, 74,140, 26,145,169,189,196, 57,117, 26,192,221, 62,191,151, 2,144, 39,227, 87, 0,152, 88, 31, 50, 17, + 24, 48,230,150, 91, 6, 78,157, 58, 85,249,111,234,212,169,216,185,115,231, 64,113,197,138, 3, 46, 96, 35,191, 98, 69,151,121, +243,230, 41,199,204,155, 55, 15,159,175, 88,177,193, 3,108, 12,210,109,175,113,176,172, 54, 84, 85, 91, 17, 25,157,140,211,199, + 55,133, 13,139,134,183,131,134,104,151,229, 54, 36,216,188,155,122,136, 43, 37,164,242,177,242,188,163, 46, 3,111,193,107,175, +255, 23, 58,142,226,230,129,157, 16,111,144, 64,140,177,208,100, 78, 7,137, 78,171, 57,235,249,171,161,166,173,219,244,212, 52, + 28, 51,233,241,207,181,219, 32,138, 34, 62, 31, 55, 18, 26,173, 6,119,124,181,185,102,113,207,228,155,161,209,105, 49,244,157, + 79,212,220,168,149,184, 31, 61,122, 20,219,182,109, 67,135, 14, 29,240,243,207, 63, 43,115,108,229,251,150,202, 14,175, 18,119, +185, 29, 47, 42, 42,194,168, 81,163,160,209,104,176,120,241, 98,108,218,180, 9,143, 63,254, 56,238,186,235, 46, 92,127,253,245, +193,230,197,214,225,244,205,163, 96,243,163,234,155, 71,254,156, 74,249,253, 29,249, 46,115,202,147,219, 3,137,245,223, 59,177, +221,199, 45, 74, 12,176,239, 6,127,231,137, 82,218,203, 59, 55,202, 62,119,238,220,188,185,115,231,142, 34,132,100,207,157, 59, +119, 84, 48, 7, 43, 16, 79,128,253, 97,219, 65,193, 79,133, 14,240, 21, 81,218, 16, 99,217, 38,147, 9,119,223,125, 55,158,120, +226, 9,101, 34, 99, 40,200,202, 53, 20,178,179,179,235,252,183,106,213,170,112, 67,132,135,163,162,162,122, 14, 28, 56, 16,229, +229,229, 56,121,242, 36,204,102, 51, 58,189,250, 42,246,223,119, 31,174, 94,184, 16,220,192,129, 74,133,223,191,127, 63,116, 58, +221, 97,155,205, 86,175, 76, 53,155,205,136,137,137,129, 94,175, 71, 68, 68, 4, 34, 34, 34, 96, 50,153, 20,161, 21,110,136, 80, + 46,124, 95,125,245, 85, 72,231,202,215,242, 85, 35,134, 40,165,216,177, 99, 71, 29, 7, 75,190,166,188, 79,118, 50,212,112,122, + 29, 75,170,211,233,192,243, 60,140, 70,163, 98,247,235,245,122,101, 83,235, 96,133,123,144,104, 90, 90, 90,173, 7,145,254, 63, +123,231, 29, 30, 69,181,134,241,119,102,182,111, 54, 13, 82, 72, 15, 1, 2,129,208, 66,151, 38,160, 8, 72, 17, 68,176, 97,167, +169,112,189, 82, 45, 24, 80, 1, 69, 64, 16, 1, 1, 5, 1, 1, 43, 77,138,244, 38,229,146,208, 99, 66, 40,233, 33, 36, 33,109, +179,117,202,185,127, 36, 27, 55, 33,101, 55, 4, 80, 56,191,231,217,103,119,167,188,115,206,204,153,153,119,190, 83, 70, 46,151, +151, 27,136,244,223, 95, 69,104, 70,177,190,184,206,245, 45, 22, 11,100, 50, 25,126,253,245, 87,116,234,212,169,204, 92,217,140, +149,253,113,119,146,180, 91,183,110, 61,186,120,241,226,147, 11, 22, 44,240,212,235,245, 88,179,102, 77,129, 94,175,127, 20,165, +237,136, 28,190, 24, 2,224,173, 2, 12,102, 51,244, 69, 37,251,224,234,197, 95,106, 52,101,255,102,154,183,106,245,226,234,213, +171,111,155,190,122,245,106, 36, 38, 38,190,136,243,231, 15, 6, 1,203,167, 78,157,218,184, 93,187,118, 65, 0, 48,117,234,212, +212, 32, 96,121,117,231,185,173,138, 80, 95,106,214, 77,197, 57,117, 22,105,173,248,192,119,167, 55, 68,134, 97,202, 76,198,227, + 35, 94, 67,198,181,120, 68,104,115,224,227,225, 2,169, 40, 3,138, 62,209, 56,127, 75,139, 47,151,239,118, 42,157, 90,165, 2, +106,205,223,213, 77,106,141, 26,170,210, 90, 5,134, 97,160,214,106, 32, 87, 42,157,206,123,124,124, 60,180, 90, 45, 68, 81,188, +237,126,227,108,143,102, 66, 72,217,189,115,193,130, 5,152, 60,121, 50,214,172, 89,131,243,231,207,163, 77,155, 54,120,236,177, +199,112,243,230, 77,156, 59,119, 14,102,179,217,225,116,218,223, 47,226,226,226,176,119,239, 94, 36, 36, 36, 32, 53, 53,181,214, +199,189, 98, 53, 99,105, 13, 78,137,121,221,123, 6, 79, 63, 30, 85, 43,205,232,232,104,220,188,121,243,182,200,149,125,243,163, +106, 34, 88,101, 94,164,154,242, 21, 99,111,130,108,145, 38,123, 67, 84,241, 63, 0, 79,219,180,105,211,166,189,231,232,122,246, +255,109, 17, 48, 71,170, 22,237, 13, 22, 83,177,186,142, 97,152,178,157,110, 31,153,178,253,214,106,181,101, 81,166,144,144,144, +106,163, 87,182, 19,142,227, 56,116,191, 86, 4,165, 82, 89, 86,157,215,255,166, 84, 46, 68, 30, 22, 22, 86,174, 13,150,253, 65, +169, 12,179,217,124,240,224,193,131,109, 7, 15, 30,204,197,197,197, 65, 38,147, 65,146, 36,152, 59,119, 70,155,229,203,113,225, +157,119,208,227,250,117,152,121, 30,106,181, 26,187,118,237,178, 26, 12,134,131,206, 20, 26,150,101, 25,155,193, 82,169, 84,112, +117,117,133,155,155, 91, 89, 52,199,153,139, 80, 85, 79,136,246, 31,103, 78,104, 91,131,126,251, 27,171,237,248, 25,141,198,114, +134,203, 81,236,171, 12,108,166,200,221,221,189, 92,181,168, 45,138,231,136,193,170,105, 32, 81,149, 74,229,118,248,240,225,198, +110,110,110, 32,132, 32, 39, 39, 7,207, 62,251,236,229,127,125, 0, 11,164,164,145,187,209, 4,189,209, 84,231,250, 63,252,240, + 3,174, 92,185, 2,171,213,138, 57,115,230,220,102,172,106, 25,193,178,113, 69,163,209, 72,253,250,245,195,241,227,199,161, 82, +169,120,212, 98,252, 42, 34, 73,176,242, 2, 76, 70, 51,244,197,197,120, 24,184,116,254,252,207, 46, 46, 46,207, 2,208,229,231, +231,115,238,238,238,208,106,181, 48, 26,141, 5, 92,105, 79,193, 36,192,162,225,249,207, 70,140, 24,177, 16, 0,100, 60,255, 89, +117,227, 96,149, 25,172, 58,222,143,182,235, 86, 85,209,171,218,154, 43,134, 97, 74,186,231,179, 44,214,204,153,140, 8,109, 54, +162, 26,186,192,116,243, 10, 84,110, 94, 96, 60, 66,241,229,242,221,136, 75,186,229, 84, 58,159, 91,247, 11,130,130,130,176,253, +165, 33, 80,169, 84,120,246,151,189, 37,141,180,199,142,132, 66,173, 66,159, 37, 63,212, 42,239, 6,131,161,202, 72,149, 19, 17, +172, 50, 77,155, 1,140,138,138, 66,147, 38, 77,112,240,224, 65, 68, 69, 69, 33, 49, 49, 17,137,137,137, 72, 74, 74,194,249,243, +231,145,151,151,231,244, 49,218,180,105, 19,178,179,179,161, 80, 40, 80, 88, 88,136,235,215,175, 87,215,254,217,225,227,110,163, +217,147,209, 0, 0,127,111,119,167, 12,150,189,230,188,121,243,156, 25,230,161,156, 76, 53,243,114, 42,180,117,178,253,183, 84, + 48, 59, 21,255, 87, 92, 30, 0,110, 2,224,106, 88,175,226,255,156, 57,115,230, 28,180, 69,190, 74,117,185,170,218, 95, 85,140, + 96,217,155, 0, 99,179,102,205, 52,246,245,167, 44,203,194,213,213,149,153, 52,105, 18,199, 48, 12,116, 58, 29,220,221,221, 17, + 30, 30, 14,171,181,230,102, 9, 10,133,194,216,177, 99, 71,141,125,232,149, 97, 24,184,184,184,112, 83,166, 76, 97, 86,173, 90, + 85,233,122, 91,183,110,173,182,112, 11,130,176,112,212,168, 81,175,167,165,165,121,250,250,250, 34, 51, 51, 19, 10,133,162,100, +180,216, 94,189,208,253,218, 53, 88, 75, 13, 67,124,124, 60, 86,174, 92, 89,108,181, 90, 23, 58,123,209,208,233,116,168, 95,191, + 62, 84, 42, 85,185, 94, 49,118,161, 85,135, 34, 88,117,105,174,108,154,246, 55, 86,219,239,177, 99,199,150,253,119,230, 34,169, + 80, 40,200,147, 79, 62, 89,246, 14, 66, 15, 15, 15,120,121,121, 33, 43, 43,235,239,158, 58,165,145, 59, 71, 13, 86, 77, 3,137, +202,229,114, 88,173,214,178,234,204, 37, 75,150,220,137, 49,248,231, 24, 44, 65, 98,116, 58,111,248,251, 55,133,183,143, 9,146, + 36,214,153,182, 32, 8, 24, 55,110, 92,185, 49,175,108, 55, 98,219, 32,182,182, 30,190,246,225,127,103,159,196,239, 56, 58, 66, + 0, 94, 40,141,226, 25, 44,255,186, 99, 24, 18, 18,226,150,156,156, 92, 89,187,168, 74,123,251, 1,127, 15,201,192, 1,159,164, +164,164,180,116,119,119, 71,223,190,125,177,109,243,230,173, 31, 2,101, 33, 27, 35,144,166,185,113,227, 63,165,191,211,107, 10, +234,217,170, 8,139, 13,117,109,214,153,219,162, 87,119, 90,149,195,178, 37, 15,102,191,125,243, 25, 34, 52, 89,104, 19,172,194, +177, 19,231,208, 41,136,128,152, 21,181, 78,167, 78,167, 43,105,140,175,213, 66,165,250,187,205,149, 74,171,129, 66,169,170,117, +222,237, 35, 85,119, 26,193, 98, 24,182,220,126,124,253,245,215, 49,117,234, 84,244,237,219, 23,137,137,137, 56,124,248, 48, 46, + 95,190,140, 9, 19, 38, 32, 50, 50, 18, 79, 60,241,132, 83,199,232,183,223,126, 67, 65, 65, 1, 8, 33,200,206,206,134,201,100, +194,140, 25, 51,238,248,184,219,184,182,103, 54, 0,224,151, 61,177,181,214,156, 62,125,122,217, 24,140,182,123,126, 13, 81, 43, + 71,238,119,167,170,251,239,236,250,247,130, 74, 13,214,229,203,151, 43,237, 43, 31, 17, 17,145,213,167, 79, 31,159,132,132, 4, +232,116, 58,132,135,135,195,108, 54, 87, 87, 13,209, 18,165, 99,101, 92,186,116,169, 82,205,176,176, 48,235,227,143, 63, 46,111, +208,160, 65,185,200,149,173,135,141,189, 51,174,168, 89, 74,145,201,100, 26,221,181,107,215,181, 59,119,238,212,132,135,135,163, +160,160,164,253,237,154, 53,107,240,214, 91,111, 65,163,209, 32, 33, 33, 1, 67,134, 12, 49, 24, 12,134,209, 40, 63, 6, 86,101, +154,183, 25, 25,133, 66, 81, 86, 77,102,171, 42, 83, 86, 31,138,190, 77,147, 97, 24, 44, 94,188,184,210,177,160, 42,178,124,249, +242,202,220,124,165,233,252,226,139, 47,234, 76,243,228,201,147,229,222, 49, 56,112,224,192,111,158,120,226, 9,164,166,166,150, +171, 22,172,193, 96,149,211,172,105, 32, 81,142,227,224,235,235,139,143, 63,254, 24, 94, 94, 94,104,208,160, 65,101, 6,171,218, + 99, 84, 75,238,170, 38, 97, 73,204,162, 5,209,221,190,249,246, 23,185, 74,201,226,248,225, 95, 80,152,119,163,124, 4,214,250, +119,151,104,101, 84, 31, 88, 98,247, 57,148, 78,179,217,140,207, 63,255, 28,209,209,209,136,142,142,174, 54, 65, 85,116,135,174, + 49,239,246, 6,203, 65,179,117,155,166, 36,137,140, 90,235, 9,173,139, 63, 34, 35, 61, 33,145,154,199,234,148,238,255,113, 55, +164,166,166,186, 7, 5, 5,225,242,229,203, 12,254,110,143,245,247,177, 82, 42,159,173, 96,176,110, 63,223,129,243, 27, 54,108, +104,217,170, 85, 43, 44, 89,178, 4, 0, 94,250,252,143, 63, 70, 70, 27, 75,194,153, 28,176,177,212,140,213,152, 78,145,136,140, + 90,235, 1,141,174,116, 63, 74,142,143,121, 74,170,201,187,237,230,119, 39, 15,122,149,105,218,214,191,122,252,119, 60,217, 63, + 16,127,158, 60,143,125,105, 46, 8, 82,101,192,207,144, 13, 41,251, 47,252,103,120, 20,190,252,185,228, 38,126,254,116,205,154, + 12,195,224,232,164,209,208,169, 85,120,122,195, 14,200,229,114, 28,124,231,101, 40, 20, 10,244, 92, 80, 82, 37,123,225,243,233, +144,169,148,136,152, 16,237, 80, 58, 43,214,212,216,218, 92,217,155,171, 26, 34, 88, 85,230, 93,175,215, 35, 47, 47, 15,107,215, +174,197,171,175,190,138,155, 55,111,226,250,245,235, 72, 72, 72,192,198,141, 27,203,221,227,224,196, 49,154, 54,109, 26,222,125, +247, 93,176, 44,139,150, 45, 91, 34, 58, 58, 26, 93,186,116,113,250, 24, 85, 60,238, 21,113, 32,122, 85,165,230,162, 69,139,156, +238,176,245, 32,226, 84, 3, 13, 91, 36,203,203,203, 11, 46, 46, 46, 0, 80,238, 6, 91, 83, 53, 97, 85,154,130, 32, 64,163,209, + 64,163,209,148, 27, 22, 97,240,224,193, 53, 70,176, 74,217,149,144,144,240,124,139, 22, 45,190,139,142,142,118,121,244,209, 71, +229,254,254,254,104,215,174, 29, 18, 18, 18,240,251,239,191, 91,151, 46, 93,106, 48, 24, 12,175, 2,216, 83, 27,243,108,107,248, +109, 63,162,189, 51,136,162,152,122,253,250,117,191, 47,190,248,130, 99, 24, 6, 11, 23, 46, 44, 55, 64,107,197, 60,158, 56,113, + 66, 32,132, 92,169, 33,138,145,122,253,250,117,191,249,243,231,151,211,180,125, 42,154, 20, 71, 52,171,194,150,231,138,251,192, +145,147,167,166,129, 68,101, 50, 25,226,227,227,241,209, 71, 31,129, 97,152,114, 29, 39,254,205,252,249,191,204, 85, 93,218,193, +243,217,225,189, 91, 49, 96, 97,169, 36,210,203,229,230,151,153,171,161,243, 55,225,183,119, 71, 58,114, 44,174, 31, 58,116, 40, +120,246,236,217, 28,199,113,152, 55,111, 94,185,178, 84,241,184,239,223,191, 95,212,104, 52, 41,181,205,135,213,106,117,164, 23, + 85, 85, 39,248,177,197,243, 62,234,251,205,234,109,114,134,177,224,248,161, 95, 80,144, 95,121,215,116,165, 92,134,117, 27,182, + 10, 50,142, 77,189,207,135,238,155,199, 30,123,108,198,222,189,123,101, 65, 65, 65,181, 22, 9, 4,182, 45, 94,188,184,255,168, + 81,163,234, 53,111,222,220,214,249, 68, 89,250, 65,233,200,238,187, 28, 52, 73, 91,190,252,226,163,151, 86,172,222,166,100, 25, + 43,142, 31,254, 5, 5, 21,204,250,237,209,104, 57,214,111,216, 98,149,201,184,248,154,174,193,181,233,193,236, 8,109,159,124, + 21, 95,239, 88, 9,159, 86,253,241,204,160,110, 56,186,228, 37,140,104,110,132,245,199,231,208,242,153,117, 88, 51,189, 36,122, +211,230,167,233, 14,221, 43,220,116,127, 15, 88,201,178, 44, 84,106, 13,228,202,191,163, 47, 74,173, 22,156, 19, 17, 91, 91,222, +171,139, 84, 57,187, 63, 56,142, 67, 88, 88, 24, 26, 53,106,132,174, 93,187,162,109,219,182,232,213,171, 23,206,157, 59,135,115, +231,206, 97,194,132, 9,213,153,171, 26,143, 81,223,190,125,209,175, 95,191, 59, 62, 54, 21,143,123, 93,224, 72, 89, 26, 63,126, + 60, 0,220, 81, 52,235,129, 54, 88,222,222,222, 80, 42,149,181, 50, 84,149,105, 90, 44,150, 50, 99,165,209,104,202, 34, 86, 91, +183,110,117,166,128,239, 49, 26,141,145, 31,124,240,193, 68,141, 70,211,203,104, 52, 70, 0,128, 86,171,253,203, 96, 48, 28,176, + 90,173,139, 0,228,223, 73, 90,237, 13, 70, 37, 81,174,106, 31,241,179,179,179,159,120,241,197, 23,247,176, 44,219,176,186, 23, + 51,219,153,213,164,172,172,172,254, 53,105,190,240,194, 11,149,106, 86,166,235,136,102, 21,230,176,156,169,178,239, 97,232, 80, + 33,171, 97, 32, 81,185, 92, 14,157, 78,135,205,155, 55,163,126,253,250, 15,212, 9,118, 60, 38,243,243,234,230,247,172,175, 60, + 4,192,123,232,252, 77, 41,135,114,173, 33, 67,231,111, 74,254,237,221,145,193, 53, 24,158, 71,230,206,157,123,148,231,249, 16, + 7,203,109,178,217,108,238,230,108,218, 9, 33,136,143,143,151, 94,127,253,245,156,236,236,236,103,106,147,255,195,199,147, 23, +116,235,232,239, 53,124, 72,183, 14, 96, 24, 88, 44, 85, 52,234,101, 64, 8, 33, 68,198,177,169,135, 78,164,190,126,159, 95,161, +113, 54, 57, 57,121, 86,227,198,141,199, 0,168,234, 78,184,177, 38,145, 36,192,162, 52,155,191,104,223,190,253,148,247,222,123, +207, 99,208,160, 65, 8, 10, 10,130,187,187,243,111, 11, 58,118, 42,125, 76,231,118, 98,224,211,131,187, 61,193, 50, 12, 49, 91, +170,111, 28,205,216,246,167,140,139, 63,124, 50,173,117,117,209,121,155, 41,191, 27,209,134, 62,195, 95, 65,159,225,175,148,149, +167,125, 63, 63,138,152,244, 63,208,142, 77,135,121, 69, 55, 48,110,182,162, 94,243, 48, 55, 44,203, 98,208,234,205, 80, 40, 20, +101,233,124,100,110,249,126, 1,225,111, 58,254, 46,117,251,188,219, 71,176, 42,185, 22, 59,213, 6,139,227, 56,228,228,228, 32, + 33, 33, 1, 89, 89, 89, 48, 24, 12,136,139,139,131,197, 98, 65, 94, 94, 30, 90,182,108,233,220,211,253, 93, 56, 70,247, 83,243, + 97, 48, 86,181, 50, 88,132,144,180, 78,157, 58,213,116, 51,118,170,151,145, 76, 38, 51,117,235,214,141,169,172,183,129,237,183, + 70,163,113,244,241, 57,223,106,181, 70, 91,173,214,104,148, 86,133, 89,173,214, 59,110, 72, 34,138, 98, 70,199,142, 29,185,234, + 46,250,146, 36, 85, 59, 98, 92, 78, 78, 78,113, 78, 78, 78,157,190, 58,252,110,104, 86,114,210,136, 99,198,140,169,214, 73,185, +184,184, 84,219,184,168,166,129, 68, 13, 6, 67,230,139, 47,190, 40,218, 87, 53,219, 15, 68,250, 64,195,144,228, 1,207,190, 22, +114, 40,215, 26, 2, 0, 54,147, 5, 66,146,171, 90,229,244,233,211, 89, 0, 26,223,237,164, 93,187,118,205,210,169, 83,167,245, + 69, 69, 69,227, 1, 24,106,171,115,244, 84,198,244,127,225,145, 57, 11, 96,236,157,138, 88,128, 56, 95,147,105, 92,244,135, 31, + 62,253,209,135, 31,134, 75, 64,125,148,142, 81,197, 57, 96,210,236, 57, 17,115,163,206,199, 6, 19, 69, 49,237,145, 71, 30,113, +122,157,154,230, 87, 51,146, 56,126, 64, 16,112,218,121,205,187,145, 78,155,102,171, 86,173,208,166, 77,155,178,111, 27,246,211, +219,182,109,235,144,102, 84, 84, 20,154, 55,111, 94,229, 8,237, 21,219, 92,221,239,188,219,176, 61,250,182,109,187,187,206, 52, +239, 52,157,148,234,105, 73, 53,169, 38,213,252,215,106,114,116,127, 82, 77,170, 73, 53,239,161,230, 3, 5, 75,119, 1,133, 66, +169,234, 1,147,238, 2, 10,133, 66,169, 29, 76, 53, 46,212,153,158, 59,181,113,178, 23,168, 38,213,164,154, 84,147,106, 82, 77, +170,249,208,105,214,164, 93,215, 61,135, 31, 72,104,248,148,106, 82, 77,170, 73, 53,169, 38,213,164,154, 15, 29,180,138,144, 66, +161, 80, 40, 20, 10,165,142,145,209, 93, 64,161, 60,220, 68,223,225,131, 86,244,109, 99,131, 62,220,233,164, 80, 40, 20,128, 70, +176, 40, 20, 10,133, 66,161, 80,168,193,162, 80, 40, 20, 10,133, 66,161, 6,139, 66,161, 80, 40, 20, 10,229, 33,131,161,187,128, + 66,121,184,137,166,109,176, 40, 20, 10,165,206,161, 17, 44, 10,133, 66,161, 80, 40,148, 58,198,214,139,208,254,125,125, 52,170, + 69,161, 80, 40, 20, 10,229, 94,243, 64,121, 17, 25, 53, 86, 20, 10,133, 66,161, 80,254, 33, 60, 48, 94,132,173,194, 57, 82, 40, + 20, 10,133, 66,161,220,107, 30, 24, 47,194, 62,136,174,145, 66,161, 80, 40, 20,202,191,146, 7, 54,130, 69,163, 88, 20, 10,133, + 66,161, 80,238, 23, 15,140, 23,145, 61,104,142,145, 66,161, 80, 40, 20,202,191,146, 7,202,139,220,237, 97, 26,232,155,198,169, + 38,213,164,154, 84,147,106, 82, 77,170,249,208, 65,199,193,162, 80, 40, 20, 10,133, 66,161, 6,139, 66,161, 80, 40, 20, 10,133, + 26, 44, 10,133, 66,161, 80, 40,148,135, 10, 25,221, 5, 20,202,195, 77,244,191,228, 29,125,209,244, 93,130, 20, 10,229, 95, 4, +141, 96, 81, 40, 20, 10,133, 66,161,212, 49, 12,170,238, 9,112,193, 9,157,218,244, 38,184, 64, 53,169, 38,213,164,154, 84,147, +106, 82,205,135, 78,179, 38,237, 11,160,220, 21,227, 69, 53,169, 38,213,164,154, 84,147,106, 82,205,135, 79,243,129,130, 86, 17, + 82, 42, 34, 67,245,109,243,106,154,127,175, 52, 41, 20, 10,133, 66,249, 71,223, 76, 41, 20, 27, 93, 0, 12, 44,253,189, 29,192, +113, 39,231,223, 43,205,251, 66, 84, 84,148, 70,173, 86,247,221,191,127,191, 34, 62, 62, 30, 39, 78,156, 32, 63,252,240, 3,111, + 50,153,254,136,141,141, 53,210,226,243, 96,208,182,109,219, 39, 24,134,153, 10, 0,132,144,207,206,156, 57,179,251, 14,228,152, +198,141, 27, 79, 80, 42,149, 3,228,114,185,191, 40,138,140,217,108,206, 48, 26,141,123,210,211,211,231,163,118, 13,247, 59,120, +121,121,141,141,140,140, 12,191,118,237, 90,106, 74, 74,202, 58, 0,187, 1, 60, 17, 28, 28,252, 98, 88, 88, 88,208,197,139, 23, + 47,231,228,228, 44, 7,240,191,251,152, 78, 10,133, 26, 44, 7, 96, 61, 61, 61, 31,215,104, 52, 19,245,122,125,148,155,155,219, + 69, 65, 16, 22,103,102,102,110,167, 39,222, 3, 85, 22, 6, 18, 66,228, 0,192,113,220,144,142, 29, 59,134, 48, 12, 35, 49, 12, + 67, 8, 33,204,201,147, 39,219,138,162,200, 2, 0,195, 48, 3, 75, 47,222, 66,109, 53, 5, 65, 96, 78,159, 62,237,172,230, 93, +161, 69,139, 22,179, 9, 33,254,213,238, 32,153,172,253,190,125,251,154,109,217,178, 69, 88,183,110, 93,254,200,145, 35,117, 47, +191,252,178,108,205,154, 53, 95, 3,248, 79,197,229,155, 55,111,190,128,101, 89, 47, 71,182, 47, 73, 82, 78, 92, 92,220,127,105, + 49,188,255, 48, 12, 51,245,181,185, 7,123, 72, 4,248,110, 90, 79,182,212,188,212,214,172,125,255,212, 83, 79, 61,219,180,105, + 83,153, 36, 73,224,121, 30,102,179,185, 89,108,108,236,163,187,119,239,110,159,148,148,244,140,147,146, 3,167, 77,155,182,114, +214,172, 89,222,114,185,156,225,121,190,243,143, 63,254,216,111,236,216,177,103,151, 47, 95,222,102,196,136, 17,174,182,233, 31, +125,244, 81,255, 57,115,230,188, 3, 96,227,125, 72, 39,133, 66,111,170,213,205,212,233,116, 77,188,189,189,223, 45, 44, 44,236, +223,190,125,251,130,209,163, 71, 95, 61,119,238, 92, 92,100,100,164,126,245,234,213,159,242, 60,191,212,211,211,243,143,194,194, +194,249, 89, 89, 89,113, 78,110,187, 9,128,209, 0,250, 3, 8, 4,144, 1, 96, 39,128,149, 0,226,107,147, 25,127,127,255, 86, + 46, 46, 46, 83, 24,134,233, 92, 92, 92, 28,232,226,226,146, 65, 8, 57, 89, 84, 84, 52,239,198,141, 27,177,181,209, 12, 8, 8, +104, 4,224,109,153, 76,214, 93, 20,197,134, 28,199, 37,139,162,120, 68, 20,197, 37,153,153,153,151,107,163,249, 72,160,110,144, +164,115,155,207,115,154, 32,189, 73, 80,232, 84, 50, 94, 46,153, 82,165,226,252,105,167, 82,139,127,249, 39, 20, 12,165, 82,201, +174, 91,183,174,141, 82,169, 4, 0, 88, 44, 22, 68, 70, 70,222,209,123,162,228,114, 57, 59,111,222,188, 54, 10,133, 2, 0, 96, +181, 90,209,187,119,239,127,196,187,167, 24,134, 9,140,137,137,113,183,165,173, 34,162, 40, 98,200,144, 33,161, 74,165, 18,203, +151, 47, 23,114,114,114,162,190,251,238,187,152,175,191,254,218,235,251,239,191, 31, 94,153,193, 98, 89,214,171, 42, 77, 81, 20, + 97,181, 90, 33, 8, 2, 44, 22, 11,122,245,234, 69,175, 70,255, 16, 8, 33, 33, 4,192,206,115, 38, 0,168,127, 39, 90, 26,141, + 38, 98,232,208,161,178,236,236,108,200,229,114, 88,173, 86,220,184,113, 3,141, 26, 53,226, 44, 22, 75, 83,103,245,154, 53,107, + 54,118,206,156, 57, 62, 59,118,236,176,174, 95,191,222,252,216, 99,143, 41, 94,125,245, 85,183, 30, 61,122,116, 15, 12, 12,100, +191,251,238, 59,243,222,189,123,173, 47,188,240,130,106,246,236,217, 62, 59,119,238,124,246,252,249,243, 27,239,117, 58, 41, 20, + 74, 53, 6, 75,167,211, 29,210,233,116,141,223,120,227,141,248,241,227,199,255,161,211,233, 68, 0,184,113,227,134,106,200,144, + 33,217,195,134, 13,187,105, 48, 24,184,165, 75,151, 6,127,245,213, 87,123,116, 58, 93,186, 94,175,239,232,200,189, 12,192, 68, +150,101,223,238,219,183,239, 33,158,231,179, 55,111,222,252,211,240,225,195,187, 73,146,228,178,127,255,254,223, 69, 81,252, 6, +192, 23, 78, 68,199,184,176,176,176,104, 47, 47,175, 73,203,150, 45, 83, 53,108,216, 16, 90,173, 22, 69, 69, 69,193,151, 47, 95, + 14,154, 56,113,226, 96,141, 70,179,216,221,221,253,131,216,216, 88,222,209,123,174,191,191,255,127, 92, 93, 93, 63,249,244,211, + 79,213, 45, 90,180, 96,180, 90, 45,146,146,146, 90, 30, 63,126, 60,242,219,111,191,125,149,101,217,153,233,233,233, 14,167,179, + 39, 32, 51, 55,246,222,237, 26,218,178,215,242,149,223, 50, 94, 46, 90,200, 24, 6,188,213, 42,207, 50, 24,195,222, 26, 55,230, +167,206,170, 75,199,138,228, 89,125,226,226, 96,189,199,101, 65, 0,176,157,227,184, 33, 74,165,146, 29, 50,100, 8,246,238,221, +203,152, 76, 38, 25, 0,168,213,106, 97,200,144, 33,208,104, 52,176, 88, 44, 18, 74,170,243, 4, 0,170,210,245,205,213,105,202, +229,114,182, 87,175, 94,134,211,167, 79,231, 26, 12, 6,185, 77,179, 87,175, 94,245, 84, 42,149,150,231,121, 71, 53,239,166,169, +196,149, 43, 87,110, 51, 66, 55,111,222, 68,110,110, 46,204,102, 51,147,151,151, 7, 81, 20, 97, 54,155,179, 69, 81, 4,203,178, +182, 50, 93, 41, 10,133, 2, 9, 9, 9,183, 77,183, 90,173, 48, 26,141,224,121, 30,133,133,133, 26,181, 90,221,184, 91,183,110, +105, 0,182,232,245,250,249,231,206,157, 75,166,151,167,251, 70,202,239,103, 76,193, 0,172, 0,174,221,161,113,151, 0,224,200, +145, 35,200,202,202, 66,118,118, 54,178,179,179, 17, 20, 20, 4, 66,136,211,209,255,248,248,248, 69,109,219,182,101,206,158, 61, +187, 13,192,202, 77,155, 54, 13,189,117,235,214,178,201,147, 39,215,155, 55,111,222,173, 41, 83,166,140, 3,240,219,166, 77,155, + 94,105,213,170,213,160,243,231,207,127,121, 63,210, 73,161, 80,170,105,228, 78, 8,241,111,210,164,201,173,133, 11, 23, 54,155, + 54,109, 90,125,189, 94,207,149, 70,137, 76, 0, 96, 48, 24,184,169, 83,167,122,207,157, 59,183,153, 74,165,202, 19, 4,193,187, + 18,153,202,186, 90,190,237,230,230, 54,248,234,213,171,155,154, 53,107, 86,111,206,156, 57,103, 92, 92, 92,200,151, 95,126, 25, +219,168, 81, 35,191,228,228,228,181,110,110,110,189, 1, 76,170, 34,105,183,105,134,134,134,126, 52,124,248,240, 73,199,142, 29, + 83,181,110,221, 26,174,174,174,224, 56, 14, 30, 30, 30,232,212,169, 19,115,248,240, 97,213,128, 1, 3, 38, 20, 20, 20,204,115, + 84, 51, 32, 32, 96, 82,191,126,253, 62, 61,125,250,180,166, 79,159, 62,140, 82,169, 68,126,126, 62,148, 74, 37,186,116,233,194, + 44,251,122,137,166,101,139,230, 31, 5, 6, 6,206,114, 84,211,220,196,107,207,200,241, 83,123,111,223,185,155,241,245,245,197, +213, 47,102,225, 72,143, 72, 36,126, 60, 13,126,126,126,216,182, 99, 23, 51,112,212,248,110,110,188,239,126, 71, 53,235, 0,123, +205,227,145,145,145, 49,113,113,113,232,222,189, 59,126,250,233,167,214,147, 39, 79, 30, 63,121,242,228,241, 63,253,244, 83,235, +238,221,187, 35, 46, 46, 14,145,145,145, 49, 40,105, 43, 53, 30,192,173,210,207,248,234, 52, 15, 29, 58,132,222,189,123,231,109, +218,180,169,209,140, 25, 51,102,207,152, 49, 99,246, 79, 63,253, 20,214,187,119,239,188, 67,135, 14, 57,171,121, 55,242, 94,102, +168, 42,126, 8, 33,144, 36, 9, 62, 62, 62, 55,119,236,216, 65, 6, 14, 28,200, 53,104,208, 32, 99,200,144, 33,170,147, 39, 79, + 18,134, 97,182, 59,147, 78, 66, 8,140, 70, 35,140, 70, 35,174, 93,187,166, 89,188,120,113,183, 73,147, 38, 53,249,241,199, 31, + 3, 38, 76,152, 48,206,205,205, 45,182,117,235,214, 33,247, 58,239, 84,179, 44,242,120,163,212, 92, 21,179, 44,155, 82, 91,205, + 97,195,134,181, 12, 9, 9,241,253,241,162, 39,242, 20,205, 32,202,221, 33, 41, 60, 32,214,239,128, 68, 69, 63,248,251,251,251, + 6, 7, 7,119,113, 50,157,123,206,158, 61,219, 31,192,114, 0, 34,128,159,167, 76,153,242, 58,195, 48,191, 76,153, 50,101, 12, +128,159, 75,167,175, 58,127,254,252, 32, 0, 7,238, 83, 58,105, 89,162,154,117, 10, 33,164, 3, 33,228,201,210, 79, 71, 66, 72, +167, 10,255,149, 21,150,123,172,138,239, 39, 43,252,239, 80, 97,189, 14,117,109,176,136,221,199,246, 68,195,127,254,249,231, 39, +190,253,246,219,189,153,153,153,126, 97, 97, 97, 79, 14, 29, 58, 52,164,176,176,144, 29, 54,108, 88,168,159,159,223,192, 3, 7, + 14, 52, 24, 54,108,216,254,225,195,135, 31,103, 24,198,145,118, 51,141, 56,142,123,231,236,217,179, 71, 67, 67, 67,173, 25, 25, + 25,174,109,219,182, 45, 2,128,240,240,112, 67,110,110,174,198,213,213, 21, 59,118,236, 56,197, 48,204,104, 0,205,106, 18,244, +243,243,107,235,229,229, 53,233,147, 79, 62, 81,113, 28, 87,233, 50, 42,149, 10,159,124,242,137,202,205,205,237, 13,127,127,255, +206, 53,105,250,250,250, 70,184,186,186, 70, 47, 94,188, 88,109,177, 88, 96,181, 90,225,235,235, 11,157, 78,135,204,204, 76,164, + 95,191,142,155, 73, 73,152,240,218,107, 26, 23,141,230, 29, 63, 63,191, 54, 53,105,118, 11,209, 13,209, 5, 52,127,244,173,183, + 39,226,210,196,215,176, 55, 64,137, 6,111, 79, 69,235,131, 23, 16, 56,115, 62, 14,132,185, 33,230,153,199,241,206, 59,239, 66, +225, 19,246, 72,151, 64,151,145,247, 37,164, 41,147, 17,149, 74, 5,147,201, 36, 59,114,228, 72,119, 65, 16,228,130, 32,200, 15, + 31, 62,252,232, 31,127,252,209,127,206,156, 57, 79,104, 52,154,113,157, 59,119,254,158, 97,152, 69,132, 16, 13, 33, 68, 3, 96, +158, 93,228,233, 54, 77,185, 92, 14,163,209, 40, 63,125,250,244, 24, 81, 20,149,162, 40, 42, 79,159, 62,253,230,129, 3, 7, 94, + 92,190,124,185,211,154,247, 10,142,227, 32,147,201, 32,151,203,209,166, 77,155,171, 27, 54,108,224,253,253,253,101, 43, 86,172, +240,244,241,241,113,249,254,251,239,243,243,242,242, 62,119, 70,211, 98,177,192,108, 54,195,104, 52,226,200,145, 35, 13,223,120, +227, 13,153,197, 98, 17, 71,141, 26,117,139,231,121,243,155,137,186,117,110, 0, 0, 32, 0, 73, 68, 65, 84,111,190,233,166,211, +233,222,165,207,127,247, 7, 66,136, 8,160, 24,128,158, 16, 98, 6,128,144,144, 16,149,191,191,127,171,144,144, 16,135,203,163, + 94,175,255,102,193,130, 5,129,172,202, 3, 71, 45, 3,176,137,204,194, 30,143,175,145, 29, 58, 25,190, 65, 77,208,175, 95, 63, + 31,134, 97,150,212, 65,146,183, 0, 24, 14,224,215,218,172,124,183,211,217,190,125,251,238,237,218,181, 59, 29, 21, 21,149,217, +174, 93,187,211,237,219,183,239,126,167, 25,158, 57, 6,143,205,125,139, 77,155, 53, 22,100,238, 91,108,218,204, 49,120,140,150, +220, 7,227,244,171,232, 69,236,240,102, 24,102, 59,195, 48,219,167, 79,159,222, 11, 64,253, 10,255, 31,177, 95, 14,128,178,178, +111,219,199,110,186, 55, 33,228, 73,187,245,188,235,236,126,106,247,187,210,106, 14,111,111,111,203,123,239,189,119,214,100, 50, + 93,248,254,251,239, 27,143, 31, 63,190,109, 72, 72, 72,194,176, 97,195,126,215,106,181,130,173,141,142,131,188, 54, 96,192,128, + 29,245,234,213, 99,114,114,114, 20, 22,139, 69,118,227,198, 13,133, 40,138, 12,199,113,196, 96, 48,200, 18, 19, 19,229, 86,171, + 85,234,220,185,243,214,227,199,143,143, 6,240, 78,117,130, 90,173,246,205, 21, 43, 86,168,171, 50, 87,162, 40, 66,175,215, 67, + 16, 4,204,156, 57, 83, 61,105,210,164,137, 0, 78, 84,167, 41,151,203, 39, 44, 92,184, 80,109,171, 2,146, 36, 9,177,177,177, +200,185,121, 19,230,162, 66, 88,138, 10, 97, 41,200, 3,171, 47,192,139,253,159, 80, 47,255,117,243,127, 1,188, 88,237, 77, 85, +165,155,251,253,202,111, 33,138, 34, 50, 54, 87,222, 36,226,214,177,131, 16, 5, 30,179, 63,155,199,188,243,218,136, 57, 64,241, +166,127, 74,169, 87, 42,149,236, 23, 95,124,209, 76,169, 84,130, 97, 24, 98,177, 88,208,162, 69, 11,230, 14, 53,185, 69,139, 22, +181, 85, 40, 20,140, 77,179,101,203,150,204, 63,237,140, 87, 40, 20,208,104, 52, 8, 13, 13, 53, 14, 26, 52,232,248,162, 69,139, +130, 57,142,211,202,100,178, 93, 5, 5, 5,115, 46, 93,186,228, 84, 53,146,217,108,134,201,100,130,201,100, 66, 74, 74, 74,131, +198,141, 27, 51,255,249,207,127,196,226,226,226,176, 85,171, 86, 93,217,180,105,147,118,201,146, 37,195, 0,188, 77,175,183,247, +150, 70,141, 26, 41, 1,184, 7,215,151, 21,203, 57, 20,103, 10,130,111, 64, 64,192, 84, 65, 16,218,135,135,135,123, 38, 38, 38, +230,249,251,251,159, 96, 89,118, 99, 90, 90, 90,102, 13, 70,141, 17, 4, 1, 99, 58,230, 99, 92,103, 22,130, 32, 32, 63, 63, 31, + 41, 41, 41,184,120,241, 34, 78,158,188, 88,171, 52,134,134,134,190,166, 86,171,251, 42,149,202, 80, 81, 20, 89,131,193,144,108, + 54,155,247,102,100,100,124, 83,197,141, 9,247, 35,157,118,250,243,135, 14, 29,234,239,238,238,142, 51,103,206,248,159, 59,119, +110, 62,128,246,119,116,237,144,179,223,141,122,125, 73, 64, 61, 15, 15, 36,197,109, 11,216,178,243,199,239, 0, 41,144,150,224, + 7,130,170,238, 1,217,132,144,129,165, 1,160,237,115,230,204, 25, 88, 90,190, 6,218,255,119,160, 60,222,182, 28,195, 48,219, + 43,155, 94,151, 6,139, 84,147, 49,168,213,106,113,236,216,177, 9, 91,183,110, 13,109,223,190,253, 95, 85, 53, 6,174,129,174, +205,154, 53, 75, 62,117,234, 20,241,246,246,182, 72,146,196,104,181, 90, 81,163,209, 72, 5, 5, 5,224,121,158, 36, 39, 39,203, + 82, 82, 82, 20, 94, 94, 94, 10, 0, 53,134,234,228,114,121,151,134, 13, 27, 86, 25, 41,208,235,245, 40, 42, 42,130,217,108,134, +175,175, 47,195,178,108,167, 26,195,122, 44,219,173, 89,179,102, 76, 94, 94, 30,252,253,253,113,244,232, 81,232, 11,242, 97, 46, + 42,130,185, 32, 31,214,194, 2,136,133,249,200,191,153,137, 80,191, 64,134, 97,152, 46, 53,105, 10,156, 38,196, 71,231,130,196, + 89, 83,209, 33, 54, 25,140, 92,129, 83, 45,253, 64,248,146,166, 86, 29,207,103,128, 81, 40,241,215,132,151,209,224,249, 55,192, +179,170,128,251, 81,178, 5, 65, 96,204,102, 51,212,106,181,208,189,123,247, 35, 28,199, 61,170, 84, 42,217,113,227,198,225,198, +141, 27,229, 78,128,113,227,198, 65,163,209,192,108, 54, 11, 0, 38,163,138, 54, 83,130, 32, 48, 60,207, 67,163,209,240,237,219, +183,255,134,227,184, 55,149, 74, 37,215,180,105,211,172,185,115,231,102,184,184,184,184,164,164,164,220, 82, 42,149,105,161,161, +161, 29, 53, 26, 77, 72, 77,154,247, 18,149, 74, 5,153, 76, 6,150,101, 81,191,126,253,226,220,220,220,147,215,174, 93,123,174, + 54, 90,162, 40,194, 98,177,128,231,121,152, 76, 38, 72,146,132,115,231,206, 65,165, 82,201, 69, 81,188, 40,138,162, 86, 46,151, +131,227, 56, 58, 70,221, 61, 38, 42, 42,234,209, 80, 13,230,143,243, 51,123, 54, 26,232,162,215,170,184,226,103, 55,243, 29, 30, +123,236,153, 39, 38, 79,158,170,243,242,242, 82, 94,191,126,221,244,229,151, 95, 54,252,237,183,223, 24,148,180, 19,173,146,140, +140,140, 95,230,206,157, 91,239,209, 71, 31, 13,147,203,229, 76,126,126, 62,178,179,179,113,243,230, 77,164,164,164,144,164,164, +164,171,130, 32,252,228, 76, 26, 91,181,106,181,106,224,192,129,163, 90,180,104, 33, 39,132,128,231,121, 24, 12,134,182, 39, 79, +158, 28,124,244,232,209,238,215,175, 95,119,186, 92,102,102,102,254,244,217,103,159,185,244,236,217,179,153, 92, 46,103,235, 34, +157, 21,110,104,254, 58,157, 14,123,247,238,133,155,155, 27,106,234,173,235, 8, 86, 65, 10,168,231, 81, 31,166,203, 11,224,239, + 22, 2,171, 32, 5,208, 18,252, 64, 69,177,152, 74, 76,208,255, 8, 33, 79,222,169, 25,186, 91,102,170, 86, 17, 44, 27, 55,110, +220, 80,233,245,122,153, 36, 73,172,217,108,150, 75,146, 4,185, 92,206, 59,185,189, 22, 67,135, 14, 61,209,161, 67, 7, 67,105, + 4, 67,112,119,119, 23, 10, 10, 10, 80,106,176, 36,153, 76,102,210,233,116,166,176,176, 48,192,129, 42, 66,163,209, 24,172,209, +104,110,155,110, 48, 24,160,215,235,203, 12,150,193, 96,128,155,155, 27,138,139,139,107, 60,185, 69, 81, 12,213,106,181,200,200, +200, 0, 0,232,243,243, 96, 42, 44,132,181,168, 0,214,252, 60,240, 5,249,224, 11,242,192, 26,141,240, 8, 12,130, 32, 8, 65, + 53,105, 22,155, 69, 37, 7,130,155,219,127,129,239,155,147,171, 92,238,214,145, 3,208, 53,110, 10,163,209,122, 63,198, 40,235, +114,241,226,197,118,205,155, 55,199,144, 33, 67,240,204, 51,207,156,211,104, 52, 62, 75,150, 44,105,145,158,158,126,219,194, 79, + 61,245, 20,222,126,251,109, 12, 29, 58,116,237,217,179,103,151, 86,167,217,179,103, 79,244,234,213,171,222, 51,207, 60,147,164, +211,233, 98, 86,174, 92,217,113,230,204,153, 89, 6,131, 33, 61, 38, 38,166, 85, 90, 90,154, 54, 60, 60,252, 96,100,100, 36,187, + 99,199,142,144, 26, 52,239,181,233, 4,207,243,176, 90,173, 48,155,205, 32,132, 56, 28,101, 35,164,124, 64,129,231,249,178, 30, +132, 38,147, 9, 60,207, 51, 91,182,108,198,182,109,219,216,184,184, 75,129,211,166, 77, 71,126,126, 62, 68, 81,164,151,217,123, + 68,187,118,237,250,203,136,180, 98, 68, 3, 94,253,130,175,160,151,177, 68,127,249,219, 15,138,207,121,200,204,230, 98,198,245, +253, 15, 62,240,188,114,229,138,245,179,207, 62,203, 28, 50,100,136,250,245,215, 95,111,190, 99,199,142,238, 65, 65, 65,223,166, +166,166,230, 87, 21,248,236,220,185,243, 9, 79, 79,207, 70,235,215,175,207,202,200,200,168,199,243,188,214, 98,177, 88, 45, 22, +203, 21,171,213,122,212, 98,177,236,189,113,227, 70,140, 51,105,213,233,116,173, 71,142, 28, 41,207,203,203,131, 76, 38,131,213, +106, 69,118,118, 54,162,162,162,184,125,251,246,181,168, 77,254,227,226,226, 22,228,231,231, 31,220,182,109, 91, 95, 23, 23,151, +118, 74,165,178,129, 40,138,162,201,100,202, 50,153, 76,103,107,147,206, 10, 55,180,140,216,216, 88,127, 87, 87, 87,164,167,167, +131, 97,152,140, 59, 61,102, 10, 57,155,154,244,215,214, 32,127,183,134,136,143, 63, 1,133,156, 77,165, 35, 6, 61,216, 17, 44, +187,182, 82, 3,107, 48, 73,198,105,211,166,189,199, 48,204,246,105,211,166,189, 87, 77, 4, 75,180, 95,206,110,249, 58,123,168, +175,246, 38, 94, 84, 84, 36,251,223,255,254, 87, 63, 37, 37, 69,215,160, 65, 3, 67,100,100,100, 62,195, 48, 68, 20, 69,246,214, +173, 91, 46,105,105,105,106, 79, 79, 79,115, 80, 80, 80,129,131,219,187,252,214, 91,111,245,156, 49, 99, 70,204,227,143, 63,158, + 3, 0,121,121,121,200,206,206,182,245,210, 66, 70, 70, 6,123,250,244,233,122,187,118,237,106, 11, 7,122,240,104, 52,154,148, +162,162,162,166, 30, 30, 30,101, 55, 52,155,169,178,255,182, 90,173, 40, 42, 42,130,139,139, 75,141, 39, 55,203,178,233,233,233, +233,141,141, 70, 3,146, 19, 19, 97, 46, 42,128,181,176, 0,124, 97, 62,248,252,124,136,249,183,192,234,139,160,211,104, 80,116, + 43, 23, 28,199,221,168, 73,211, 69,197, 89,120, 65, 84,122,247, 27, 12, 48, 85,223,159, 61, 58,117, 3,137,104, 13,141,230, 87, +254, 30, 23,106, 25,128,129,182, 49,169, 52, 26, 13, 62,253,244, 83,196,196,196, 72,213, 85, 3, 43,149, 74,176, 44, 43, 58,162, +169, 82,169, 52, 51,102,204,208,156, 61,123, 86,173, 84, 42,161,211,233,180,103,207,158,109,245,231,159,127,178, 6,131,129,107, +220,184,241,208,128,128, 0,125, 13,154,119,213, 72, 85, 54, 77,175,215,151,181,155,186,117,235,150, 76,173, 86,135,119,239,222, +253,184,197, 98,249, 73, 16,132,213,177,177,177,133, 85, 62,105, 91,111,239, 12, 42, 73, 18, 4, 65,128, 32, 8,144,201,100,210, +150, 45, 91,241,213,210, 69,248,121,211,175,164,103,207,158,204,142, 29, 59, 32, 73, 82, 26,189,206,222, 27, 36, 73,154,127, 96, +234,211,106,136,162,222,124,112, 67,241,238, 92, 89,241,183, 23, 14,156,206,229,205,170, 38, 77,194, 34,220, 92,221,217,239,215, +125,123, 43, 51,235,234,229,175,190, 74, 11,154, 61,123,182, 71, 88, 88,152,123, 66, 66, 66, 0,128,252, 42,140, 80,232,203, 47, +191,252,234,173, 91,183,228, 43, 87,174, 92,147,158,158,126, 24,192,213,138, 65, 51,148,180, 51,148, 3,240, 69, 73, 15,218, 61, + 0,214, 86, 99, 86, 36,134, 97,112,240,224,193,219,122,251, 73,146, 84,107,135,145,153,153,153,215,169, 83,167,214,151, 47, 95, +222,146,159,159,191,190,146,235,236,224,200,200,200,103, 79,157, 58,245, 33,128, 43, 78, 70,176,222,137,139,139,251, 92,146,164, + 16,150,101,147, 9, 33, 83,238,244,152, 89,172,210,235, 91,119,110, 90,105,225,197, 96,165,156, 75,177, 88,165, 55,104, 73,126, +224,177,181,145,130,189,113,170,196, 24,253, 57,103,206, 28,205,220,185,115, 49,103,206,156,139,149, 69,176,108, 70,107,206,156, + 57, 23,109,203,217, 45,127,184,174, 13, 22, 83,201,141, 69, 55,125,250,244,174,109,219,182,205,120,244,209, 71, 51, 27, 54,108, +104,176,205,211,106,181, 22, 15, 15, 15,139,217,108, 86,101,100,100,120,255,245,215, 95, 13, 37, 73,210, 56,176,189,253, 30, 30, + 30,245, 78,159, 62, 93,127,227,198,141, 77, 98, 99, 99, 67,158,127,254,249,158,102,179, 25, 22,139, 5,215,174, 93, 11, 89,177, + 98,133,164, 80, 40,242, 25,134,249, 31, 74,122,195, 84, 11,207,243,199, 47, 95,190, 28,222,169, 83, 39,134,231,249,114,166,202, +254,183, 82,169, 68,122,122, 58,145, 36,233,164, 3,233, 60,113,250,212,169,198, 45,155, 55,135,185, 32, 15,150,194,124, 88, 11, +242, 33, 20,228, 67, 42,204, 7,171, 47, 66,253,122,114,104, 52, 46,184,156,145,137,210,180, 86,139, 92, 48, 38,165, 23, 20, 54, +109, 28,253, 5, 14,132,185,129,240,214,178,106, 65, 0,101,213,133,143,252,149,141, 35,127, 30,135, 76, 52,167,223,207,146,108, +177, 88,164, 97,195,134,157, 98, 89,182,206,222, 55,197,243,188, 52,126,252,248, 50,205,212,212,212, 91,169,169,169,106,163,209, +200,234,116, 58,253,253, 62,123,121,158,175,212, 32, 89, 44, 22, 24,141, 70,100,102,102, 42,247,236,217,211,253,248,241,227,138, + 75,151, 46,225,248,241,227,109,182,108,217, 50,189, 89,179,102,173,227,227,227,111, 56, 98,218, 36, 73,130,237, 62, 72, 8, 1, + 33,132, 3,128,173,191,109, 71,191,126,253,152,162,162, 34,108,219,182,173, 78,170, 81, 40, 14, 83, 12, 65,212, 88, 14,109, 40, +126, 55, 81, 89,120,209, 32,251, 36, 38, 38,102,247,128, 1, 3,142,248,251,134,185, 1,128, 74,161,243,230,136,171,206,219,219, + 91, 5, 0,254,254,254,237,120,158, 95,154,158,158,222,173, 50,193,167,158,122,234, 17, 31, 31,159,182, 59,119,238, 60,155,158, +158,126,164, 18,115,133,166, 77,155,206,188,112,225, 66,127,185, 92,206,216, 93,252, 73, 85, 6,107,216,176, 97, 77,149, 74,101, +253, 29,151,221, 81,168,104, 12,137,205, 7,225, 84, 16, 61, 90, 35, 89,209, 2,190,190,127,213,215,106,181,109,174, 94,189,122, +214,201,252, 7,143, 24, 49,226,247, 85,171, 86, 69,244,235,215, 79,121,236,216,177,219, 12, 86, 68, 68,196,176,125,251,246, 13, + 31, 55,110, 92,235,245,235,215, 15, 2,144,232,168,120,108,108,236, 49,148,188,177,161,206,248,232, 27,236, 5,196,144,210, 64, + 4, 45,193, 15,120,244,170,148,108,187,232, 83, 54, 0,166,194,255,179,165,231,144,133, 16, 98, 91, 54,219, 46,106,101,169, 16, +245,170,108, 94, 54,195, 48,117, 22,220,144, 85,243,228,189,231,218,181,107, 29, 70,140, 24,145,109,111,174,236,171, 71,116, 58, +157,217,205,205, 77,127,234,212, 41,127, 81, 20, 15, 58,176,189,149,251,246,237, 59,176,120,241,226, 13,245,234,213,227, 95,124, +241, 69,118,234,212,169, 71,114,115,115, 73,110,110, 46,150, 44, 89,210,163,123,247,238, 71,146,147,147,197,152,152,152, 87, 0, +244,171, 73,208, 96, 48,124,253,230,155,111, 62,123,228,200, 17,181,197, 98, 65,126,126,254,109,209, 43,158,231,193,113, 28,150, + 46, 93,106, 46, 46, 46, 94,228, 64, 36,227,155,175,191,254,122,248,138,175, 22,171,101,188, 21,134,252, 60,136,165, 31,206, 84, + 12,157,154, 69,227,182,222,200,207, 80, 97,221,206, 99, 70, 65, 16,190,174,209, 96,153,244,147,199,141, 25,189,125,207,254, 3, +168,223,173, 55,114, 14,236,186, 61, 26,228,237, 11,139,213,138, 79,102, 69, 19,198,152, 63,245, 94, 7,112, 0,108, 47, 29, 77, + 29, 0,182,159, 61,123,246,120,155, 54,109,250, 91, 44,150,234,140, 24, 36, 73,226,106,163,169, 82,169,210,154, 54,109,186,191, + 81,163, 70, 67, 1,160,121,243,230,191,177, 44,219,187, 6,205,187,106,176,102,204,152,129,185,115,231, 98,218,180,105,101, 6, +201,246, 0, 96, 54,155, 27,238,218,181, 75,121,236,216, 49,178,110,221,186,156,167,159,126,218,227,249,231,159,247, 88,191,126, +253,127, 0, 76,173, 74,115,202,148, 41, 88,190,124, 57,198,142, 29,123,219,124,142,227,164,244,244, 52,152, 45,102,178,117,235, +214, 12,153, 76,230,249,229,151, 95,106, 38, 77,154,196,208,107,237,189, 65, 20,197,247,187, 45,216, 50, 17,208,240,130, 32, 44, + 58,127, 62,230, 96,105,212,198,103,193,130, 5, 74, 0,248, 98,222, 23,114, 66,136,220, 54, 48,236,199, 31,127,172, 30, 51,102, +140, 79, 85,154,191,252,242, 75,222,199, 31,127, 92,255,245,215, 95,239,119,224,192, 1,245,169, 83,167,118,161,228, 45, 5, 57, +165,142,192, 43, 33, 33,225,152,183,183,183,223,166, 77,155, 26,247,237,219,215,165, 70, 23, 88, 92,252,237,178,101,203, 66,231, + 31,118,197,142,226,161, 72, 37,207,128,212, 35,168,167, 40, 66,115, 93, 10,122,250,165,250,175, 95,191,126, 37,128,118, 78,100, +191,197,211, 79, 63,189,121,213,170, 85, 13, 71,143, 30,157,118,236,216,177, 84, 0, 51, 43, 46, 20, 19, 19,147,251,242,203, 47, + 39,175, 89,179,166,177, 36, 73,187, 55,108,216,208, 15,192,101, 90,122, 40,247,204,121, 57, 16,200,168,205,178,119, 19, 89, 53, + 23,157,215,242,242,242, 34,167, 77,155,246,185,191,191,127,112,116,116,244,245,230,205,155, 23,219,230,231,230,230,234, 14, 29, + 58, 20, 86, 88, 88, 88, 36, 8,194, 40, 0,231, 42,145,105,137,242, 99,101, 36, 75,146,244,121,155, 54,109,158,253,241,199, 31, + 15,185,186,186, 22,158, 56,113,194,205,205,205,173,224,210,165, 75, 46, 28,199, 25,174, 94,189,138,189,123,247,246, 0,240, 85, + 21, 79, 73,229, 52, 51, 51, 51,207, 40,149,202, 47, 38, 77,154, 52,233,195, 15, 63, 84, 75,146, 4,163,209,136,162,162, 34,152, + 76,166,178,198,201, 27, 55,110, 52,155,205,230, 21, 25, 25, 25, 39, 28,208, 60,206,113,220,242, 69, 95, 46, 26,255,198,179, 35, +148, 36, 63, 23, 5,153, 70, 48,166, 98,232,212, 74,180,232, 29,128,226, 92, 6,171, 14,157,182,220,178, 88, 55,101,100,100, 28, +172, 73,243, 88,170,254,247, 78,202,196,189, 31,207,138,126,108,250,234, 95, 33, 73, 18,254,122,243, 69,228, 29,222, 11,109,243, + 86,120,228,175,108, 88, 44, 22, 76,155, 50, 9,156, 33,235,200,201,212,226,159, 29,216,159,117,129,189,230,113,252,253,238, 50, + 1,192,248,115,231,206,141,138,136,136,192,184,113,227,240,212, 83, 79,149, 91,113,243,230,205, 88,182,108, 25,204,102,243, 40, + 0,177, 0,150, 58,163,217,176, 97,195,142, 45, 90,180,224,252,253,253, 13,165,102,163,247,197,139, 23, 59, 68, 68, 68,212,164, + 89,231,121, 39,132,228, 37, 38, 38,186,205,155, 55,143,177, 90,173,152, 57,115, 38,108,198,210, 22,113,122,255,253,247,253, 93, + 93, 93, 49,127,254,124, 75, 78, 78, 78,159,220,220,220,125,139, 23, 47,246,218,184,113,227,115,118, 6,203, 94,243,102, 92, 92, +156,235,242,229,203, 89, 65, 16,176, 96,193,130,219, 34, 90,239,188,243, 14,172, 86, 30,114,153,220, 98, 54,153, 91,104, 52,154, + 43,158,158,158, 26, 73,146,200, 61, 60,238, 15,181,230,249,243,231,247,160,164,106,174, 82,108,237,232,140, 70, 35,114,114,114, +144,147,147, 3,119,119,247,138, 79,219,229, 52,141, 70,227,217, 41, 83,166,196,124,243,205, 55,253,254,252,243,207, 17,135, 15, + 31, 30,176,119,239, 94, 83,114,114,178,192,243, 60,241,243,243,147,117,235,214, 77, 61, 96,192, 0, 23,149, 74,197,190,255,254, +251, 57,159,126,250,169, 23,128,220,170, 52, 9, 33,156, 36, 73,248,111,247, 66, 76,233, 37,131,217, 92,242, 64,153,145,145,142, +139, 23, 47,226,248,241,120, 48, 12,195, 58,185, 63, 23,173, 95,191, 62, 76,169, 84, 50, 27, 54,108, 8,222,176, 97,195,132,154, +118,222,218,181,107, 67, 55,108,216,176, 20,192, 99, 40,105,248, 68,203, 18,213,164, 56, 99,176, 74,185, 40, 8, 66,191,148,148, +148,110,163, 71,143,254, 44, 34, 34,194, 44, 8,130,124,247,238,221,205,114,114,114,148,130, 32, 76,129,243,245,149,203, 77, 38, + 19,134, 12, 25, 50,165, 81,163, 70,251, 98, 99, 99, 91, 63,249,228,147,187, 55,111,222,220, 77, 16,132,171, 23, 46, 92, 24, 5, + 96, 81,169,193,114,136,164,164,164,153,123,247,238,101, 78,156, 56,241,238,180,105,211, 84,222,222,222,140,135,135, 7,140, 70, + 35, 82, 83, 83,201,154, 53,107,204,102,179,249, 43,119,119,247, 15, 28,213,244,246,246,158,122,248,244,105,101,194,149,196, 87, + 94,233,255,184, 58, 56,188, 41,116, 12,160,191,149,139, 67,135, 50,177,250,228, 89, 83,142,197,250, 3,199,113, 14,119,165, 15, +188,146,221,111,207,166, 85, 59, 15,238,223,255,216,236,185,159, 51,254, 47,188, 1,151,144,134,144, 66,155,224,208,193,131,248, +244,227,153,132,211,103, 29,230,175,100, 61,126, 31,203,132,205, 1,168, 0,204,147, 36, 73, 86,250, 52,143,183,223,126, 27,246, +175,206, 89,182,108, 25,140, 70, 35, 0,200, 24,134,153, 7,224, 59, 84, 61,162,123,101,154, 65,191,255,254,123,144,189,102, 68, + 68,132,163,154,117, 74, 86, 86,214, 7,175,189,246,218, 92,185, 92,238, 46, 73,210,109,141,211, 1,192,197,197, 5,133,133,133, + 16, 69, 81,168, 87,175, 94, 60,207,243,144,201,100, 85,158, 71,197,197,197, 31,140, 29, 59,246, 19,134, 97,170,140,116,104, 52, +154,228,163, 71,143, 54,121,254,249,231,217, 77,155, 54, 93,123,238,185,231, 84,127,254,249,167,136, 90,142,105, 68,185,251, 16, + 66, 80, 92, 92, 12, 84, 63, 36, 66,202,143, 63,254, 56, 37, 38, 38, 70, 61,118,236,216,118, 47,188,240,130, 91,175, 94,189,116, +246, 11, 24,141, 70,105,219,182,109,197,203,151, 47,207, 61,124,248,240,255, 94,125,245,213,161, 0,170, 12, 23,103,100,100,252, +190,100,201, 18,247,158, 61,123,134,139,162,136,156,156,156,178, 54, 88,105,105,105, 72, 78, 78, 78,150, 36,105,171,147,217,121, +243,249,231,159,223,177,102,205,154,144,209,163, 71,167,109,220,184,113, 43,128,202,218,212,234,134, 13, 27, 54,120,205,154, 53, + 33, 99,198,140, 73, 1, 48, 1,180, 85, 57,133, 82,167, 12,225, 56,238, 79, 0, 67,156,112,184, 85, 17, 2,224, 19,148,212,155, + 22,148, 58,225,217, 0, 26,213, 86,211,223,223,191, 85,120,120,248, 15, 77,155, 54,189, 30, 16, 16,192, 55,109,218, 52, 57, 60, + 60,124, 83,131, 6, 13,162,106,171,233,231,231,215, 53, 40, 40,104,119, 96, 96, 96, 78,112,128, 63, 9, 12, 12,188, 21, 28, 28, +188, 55, 32, 32,160,103,109, 53, 59, 5,233, 6,118,106, 26, 16,223, 46,178,137, 57,188, 81, 67, 18,213,162,137,185,115,179,160, +132,142,193, 46,195,238, 96,127,222,201, 83, 72,101,168, 0, 24, 72, 41, 12,195,240,109,218,180, 89, 30, 21, 21,181, 52, 42, 42, +106,105,235,214,173, 87, 48, 12,195,219,230, 3, 48,224,239, 65, 65,239,165,230,221,200,123,165,116,235,214,109,237,134, 13, 27, +196,217,179,103, 23,116,238,220, 57,119,246,236,217, 5, 27, 54,108, 16,187,117,235,182,182,182,154,173, 91,183, 14,233,222,189, +251,173,181,107,215, 10,151, 47, 95, 38,107,215,174, 21,186,119,239,126,171,194, 72,238,247, 61,239, 15,163,230,240,225,195, 19, +137, 29, 22,139,133,100,103,103,147,132,132, 4,114,228,200, 17,242,248,227,143, 39, 58,160, 41, 3,208, 11,192,130,192,192,192, + 61, 93,187,118,189,220,189,123,247, 43,141, 26, 53,250, 83,161, 80,172, 7,240, 50, 74,222,119,232,135,146, 97, 73,124,171,211, +244,243,243,235, 18, 17, 17, 49,187,109,219,182, 91, 59,119,238,124,172, 93,187,118,199,155, 54,109,186,189, 97,195,134,115,253, +252,252, 30,169,101,222,131, 71,140, 24,113, 81,175,215,139, 61,122,244,216, 86,217, 74, 81, 81, 81,107,244,122,189,248,194, 11, + 47, 36,160,228, 61,178,180, 44, 81,205,187,161, 73,121, 88, 11,138, 51,163, 56, 63, 32,121, 31, 95,106,114, 12, 40,255,218,154, +154,230,223,107,205,123,178, 63,155, 55,111,238,249,216, 99,143,189,185,117,235,214,119,175, 94,189,250,238,214,173, 91,223,237, +219,183,239,155,205,155, 55,247,188,147,116,182,110,221, 58,164, 91,183,110, 95,117,237,218, 53,173, 91,183,110, 95, 85, 48, 87, +244, 34,126,159, 52, 7, 13, 26,180,115,196,136, 17,137, 35, 71,142,188, 50,114,228,200,196,225,195,135, 39, 14, 29, 58, 52,113, +208,160, 65,137,253,250,245, 75,236,213,171,215,206, 7, 40,239,193, 29, 58,116,248,193,213,213,245,133,202,102, 42, 20,138,193, + 93,186,116,249, 25, 64, 99, 90,150,168, 38, 53, 88,212, 96, 81,205,186,209, 84,161,250,215,213, 84, 54,255,126,104,210,227, 78, + 53,169, 38,213,164,154,212, 96,253, 99,144,209, 93, 64,169, 1,243, 29,206,191, 87,154, 20, 10,133, 66,161,252, 99, 96,170,113, +161,206,244, 14,168,141,147,189, 64, 53,169, 38,213,164,154, 84,147,106, 82,205,135, 78,179,162,246,211, 21,166, 87, 28, 7,114, + 5,181,107,117,115, 96,168, 38,213,164,154, 84,147,106, 82, 77,170,249,240,105, 86,198,232,127,171, 1,162, 47,148,165, 80, 40, + 20, 10,133, 66,161, 6,139, 66,161, 80, 40, 20, 10,229,159,141, 67,141,220, 21, 10, 69, 36, 33,228, 85,134, 97, 26, 48, 12,115, +131, 16,242,157,213,106,189,248,176,237, 44,133, 66, 17,201, 48,204,171,132,144, 6,132,144, 27, 12,195,220,215,253, 64, 0,102, +102,116,201,104,210, 31, 69,131, 48,213, 15,124, 72,161, 80, 40, 20, 10,229,126, 27,172,144,192,192, 17, 44,199, 44,182,242,162, + 39, 47, 8,236,146, 37, 75,216, 65,131, 6, 97,219,182,109,152,240,246,219, 19, 88,142,149, 20, 50, 89, 30,145,132, 9,201,105, +153, 63, 58,178,177,161, 67,135,102,241, 60, 95,229,168,214, 28,199,221,220,178,101,139,239,157,102,202, 63,234,153, 44,222,106, +173,114, 59, 50,153,252,102,230,217,159, 29,218, 78, 96,160,223, 8,142, 97, 23,243,162,228, 41,138, 18,251,213, 87, 95,149,237, +135,183,222,122,107,130, 92, 38,147, 20,114, 46, 79, 18,201,132,228,180,180, 31,239,213,129,179, 55, 87, 0, 48, 51, 26, 12,137, + 6,168,201,162, 80, 40, 20, 10,229, 31,108,176, 24, 22, 75, 55,124, 51,207, 51,247, 86, 30, 54,110,222,141,136,136, 8, 92,186, +116, 9, 17, 17, 17,232,214,177, 53,251, 68,151, 54, 44,199,194,123,198, 87,235,150, 2,112,200, 88,240, 60,239,243,219,111,191, +129, 97, 24,136,162, 8, 65, 16, 32, 8, 2,120,158, 71, 81, 81, 17, 38, 78,156,232, 83, 23,153,226,173, 86,159,171,255,251, 21, +114,142, 1, 47, 18,240, 2, 1, 47, 72,176,138, 4,133, 6, 1,189,159,124,222,225,237,176, 96,151,126,183,120,158,103,126, 65, + 1,126,221,177,167,220,126,232,221,181, 3,251,204,128, 71, 89,173, 70,225, 61,122,234,103, 14,239,135,186,192,222, 92,149,155, + 22, 77, 13, 22,133, 66,161, 80, 40,255, 88,131,101,225, 69, 79,223,122,238, 88,253,221,119,152, 50,237, 99, 52,107,214, 12,132, + 16, 48, 12,131,247, 62,156,133,133, 31, 79,195,200,254, 61,192, 11,146,103, 53,250,183,117,213,100, 24, 6,215,175, 95,135,209, +104, 44,247,137,140,140,116, 52,205, 14,117,255,148,115, 12,126,143, 45,130,149,151, 96, 21, 74, 63,188,132, 94, 45, 93,157,210, +228, 69,201,211,195, 77,135,149,223, 44,195,148, 89,243,202,237,135,169,239,125,136,175,231,126,128,119,198,189, 4, 11, 47,122, +214, 38,157, 78, 66, 53,169, 38,213,164,154, 84,147,106, 62,168,154, 15,164,193,234, 9,224,160,205, 3,149,153, 11,139, 9, 45, +130,234, 99,217,252, 79, 64,192, 66, 34, 4, 32, 0,145,120, 52,244,210,194,104, 48, 56,189, 65, 73,146, 96,181, 90,193,243, 60, + 86,172, 88, 1,189, 94, 15, 73,146, 16, 17, 17, 1, 0,136,138,138,178,143,192,164,196,198,198,134,212,164,233,221,114, 72, 50, + 8,130,237,167,125, 52,239, 91, 28,139,189, 10, 66, 0,149, 70,139,225, 47,140,129, 40, 17, 88,121,231,223, 79,106, 50, 24,224, +167,147, 99,225,167, 31,130,149, 43,192,130, 1,203, 50, 96, 25, 9,205, 2, 61, 97, 46,121, 57,241, 61,229,163,104,144,138, 81, +172,143,162, 65,162,105,153,166, 80, 40, 20,202,191,147, 74,189,200,191,221, 96, 29,172, 44, 51, 22,147, 17,129,158, 10, 52,208, +185, 67, 16, 68, 92,180,250,161,200, 96,130,213,202, 35,217,106,197,149, 51,153,120,228,145, 71,192,243,188,104,181, 90,161, 80, + 40, 10,182,108,217, 82,175, 38,131,197,243, 60,172, 86, 43,138,139,139,177,126,253,122,200,100, 50, 72, 82,137,241, 41,121,199, +111,201,119,215,174, 93,131, 29,202, 5, 65,240,149, 83,191,192, 85,205, 65,144, 8, 4,129,128, 23, 1, 81, 34, 48, 88, 36, 12, +123,237, 3, 8,146, 4, 65,146, 96,113,192, 96,217, 27, 54, 1,192,144,233, 27, 1,232,202,230,187,169, 8,166,116,101,161, 80, +170,160, 84,112, 48, 27, 13,247,252,192, 49, 0, 33,209,127, 87, 21,210, 70,238, 20, 10,133, 66,249,151,115,240, 65, 48, 86, 21, + 13,150,189,123, 60,244,183,193, 50, 64,224, 69,240,130, 8,129, 23, 80,160, 55,226,243,207, 63,135, 74,165, 2,195, 48,101,102, + 73,146, 36,150,231,121, 12, 24, 48,192,179,166, 13,138,162, 8,171,213, 10,171,213, 10, 66, 8, 56,142, 67,167, 78,157,110, 91, +238,196,137, 19, 78,101,196, 85,205,161,225, 99,211,111,155,126,242,151, 79, 64, 8,129, 40,150,124, 28, 49, 88, 53, 25,182,182, + 61,159,129,217,194,131, 16, 0,164, 36,194,117, 63, 96, 0, 98,107,115, 21, 77, 79, 76, 10,133, 66,161, 60, 24,148,243, 34, 15, +138,193, 42,231, 30,205, 70, 35,120, 94,128, 32,136,224,249, 18, 99,164,209,104,208,163, 71,143, 18, 31, 98, 23,109,218,189,123, + 55,172, 86,107,141, 27,180, 53,106, 47, 53,102, 32,132, 96,227,198,141,144,203,229,101, 31,133, 66,225,116, 70, 4,145, 96,250, +212,255, 66, 33, 99, 33,151,177,101,223, 34, 33, 32,164,196, 28,137, 18,129,153,119, 44,200, 83,157, 97, 3, 0,139,217, 10, 16, + 2, 2, 2, 99,113, 49, 61, 29, 40, 20, 10,133, 66,169, 27, 30,136, 72,150,205, 96, 61,138, 74,170,151, 44,198,226,210,232,149, + 8, 94, 16,202, 12,212,252,249,243, 33,147,201,160, 84, 42, 33,147,201,202, 12,145, 35, 6,203,100, 50, 33, 44, 44, 12, 22,139, + 5, 17, 17, 17, 32,132,224,217,103,159,189,109,185, 83,167, 78, 57,149, 17, 94, 36,152,243,217,130,219,166, 31,253,233, 99,180, +106,222, 16, 29,155,184,192,100,149, 80,104, 16,238,216,176, 1, 40,137, 96, 1, 32, 4, 48, 22, 27,232,233, 64,161, 80, 40, 20, +202,157, 81,169, 23,249,183, 27,172, 67,149,185, 69,147,193, 0,129, 23,202, 76,150,197, 98,129, 36, 73,120,251,237,183,111, 19, +218,183,111, 31, 44, 22, 75,245, 27,147,201,110,190,241,198, 27,229,134, 72, 32,132,224,151, 95,126,129, 74,165, 42, 23,197, 98, + 24,231,204, 43, 47, 18, 68,191, 63, 9, 74, 57, 87,206, 16, 73, 18,176,237,247, 63,176,237,247, 63,202,150,229, 56,249,205, 59, + 49,108, 0, 96,177,148, 70,176, 8, 65,177,190,136,158, 22, 20, 10,133, 66,161,220, 25,149,122,145,127,187,193,170, 20,147,177, + 24,188, 93, 27, 44,171,213, 10, 65, 16,176, 98,197,138,114,213,121,114,185, 28, 44,203,214, 24,193,218,188,121,115,185,193, 61, +163,162,162, 8, 33, 4,195,135, 15, 47,171,110,124,229,149, 87, 48,122,244,104,167, 13,150, 32, 18,204,156, 61,191, 76,103,192, + 99,221, 49,164,127, 79, 72,165, 94, 56,251,226, 22,167, 4,171, 51,108, 0, 96, 49,151,180,193, 34, 0, 12, 69,180,138,144, 66, +161, 80, 40, 20,138, 3, 6, 75, 46, 99, 11,174, 36,223,112,247,114, 81, 67,144,204, 16,164,146,158,127,162, 40, 98,244,232,191, + 95,110,253,220,115,207, 97,212,168, 81, 85, 25,172,150,168, 97,172, 12, 73,146,112,244,232, 81, 48, 12, 3,150,101,203, 62,213, + 80,169,102,177, 89,194,177, 31,103, 65, 34, 4, 18, 1, 36, 82,226,167, 44,130, 67,209,198,219, 52,107, 50,108, 42,157, 7, 56, +150,128, 97,128, 43,105, 89,144,113,108,129,179,121,175, 5, 84,147,106, 82, 77,170, 73, 53,169,230,131,170,249,112, 24, 44, 34, +146, 9,203,183,159, 88,204,139,146,187,109, 90,139, 22, 45, 96,181, 90,177,107,215,174, 50,227,193,113, 92, 89,149,158, 35,109, +176, 42,144,210,163, 71,143,234,134, 98, 72,113, 72,133, 65, 74,251, 94, 35,130,171,155,239,108,194,106, 50,108,171, 14,255,253, + 10, 66, 25,203, 22,128,144, 9,180, 56, 81, 40, 20, 10,133, 66,169,214, 96,165,102,100,172, 3,176,206,126, 90,155, 54,109,244, +131, 7, 15,214, 8,130, 0,139,197, 2,171,213, 10,139,197, 82,246, 81,169, 84, 78,141,184,233,200, 32,162,142,144,125, 97, 75, + 72,157,238, 21, 7, 12, 91,102,102,102, 8, 45, 62, 20, 10,133, 66,161, 80,156, 50, 88,149, 97, 48, 24, 60, 24,134,145,101,100, +100,220, 54,239,198,141, 27, 64,201,184,156,255,122,234,220,176, 81, 40, 20, 10,133, 66,161, 6,171, 42, 14, 29, 58, 36, 60, 40, + 38,138, 66,161, 80, 40, 20, 10,229,110,193,210, 93, 64,161, 80, 40, 20, 10,133, 82,183, 48, 40,233, 9, 80, 25,206,244, 14,104, + 89,139,109, 95,160,154, 84,147,106, 82, 77,170, 73, 53,169,230, 67,167, 89,147,182,253,250,163, 1,172,160,118,173,110, 14, 12, +213,164,154, 84,147,106, 82, 77,170, 73, 53, 31, 62,205,202, 24,253,111, 53, 64,180,138,208, 25,162, 70,203,233, 78,160, 80, 40, + 20, 10,133, 82, 19,178,123,181,161,232,232,104,246, 14,215,151,238,219, 94, 10, 24,214,152,147,225,243,214,193, 1,253,207,228, + 14,221, 65, 68,102, 42,210,127,189, 66,139, 79,237,104,227, 2, 47,158,145, 15,244,212,169,135, 4,187,202, 58, 39,230, 24,254, + 52, 88,165,109,132,225,183,196, 21, 33,143,238, 33, 10,133, 82,233,165, 56, 32,192,243,216,177, 99,193, 93,187,118, 77, 73, 79, + 79,207,115,116, 94, 85,248,134,181, 27,229,170,211,190,105, 50,155, 27,186,187,185,221,188,149,155,187, 60,243,218,153, 37,182, +249, 13, 27, 54,116,219,176, 97,131,255,115,207, 61,151,113,253,250,245, 66,122, 4, 40,247,212, 96,181,111,223,190,161, 36, 73, + 47, 1,120,129, 16,114,246,204,153, 51, 79,215, 70,103,223,190,125, 1, 60,207,119, 16, 4, 33, 10, 64,148, 70,171,107, 99, 54, +155,110, 50, 32, 47,247,239,223,255,140,179,122, 81, 81, 81,191, 3, 24, 80,217, 60,134, 97,102,198,196,196, 68, 59,170,197,201, +240,249, 31, 91, 86, 13,201, 52,104,112, 40, 38,249,169,239,190,152, 6, 0, 67,255,137, 7,212,207,207, 79, 3,224,101,150,101, +251,168, 84,170,112,147,201,148, 4,224, 60,195, 48, 75,211,211,211, 51,106, 41,203, 70,234,228,175,105, 53,218,126,126,174,202, +168,244,188,194,116,147, 85, 58, 34, 49,214,121,206, 26,162, 70,128,210,167,158,199,161,119,135,117,139,104,221,162, 9,164,228, +179, 48,229,103, 15,142, 73, 55, 12,254,230,228,205,255, 90,138, 12, 81, 87, 1,139, 35, 90,129,129,129,126,162, 40,202, 50, 51, + 51, 83,109, 23, 67,179,217,220, 30, 64, 4,128,191, 84, 42,213,233, 59,189, 40,254, 91, 52, 3, 2, 2,252, 37, 73,122,221,215, +215,247,201,172,172,172,223, 89,150, 93,117, 7,199,155,242,144, 16,210,233,197, 5, 12,203,120, 57,179, 14,145, 72, 78,242,201, +117,255,189,151,233, 36,164,100,164,231,128,128,128, 87,130,131,131,155, 16, 66, 18, 8, 33, 95, 86, 56, 7,110,155,199, 48, 76, +149,175,242, 8,105,209,101,243, 27, 47, 61,215,123,226,184, 87,116, 90,173, 6, 6,163,169,254,210,149,223,127,177,116,229,250, + 1, 73,151,142,245, 7, 0,127,127,255,161, 65, 65, 65,161, 22,139,229, 58, 33,228,251,154, 52, 41,148, 59, 54, 88,205,155, 55, +119, 81, 42,149,195, 89,150,125,185, 85, 84,231,110,131,159,121,153,225, 25, 45, 62,157,244,156,211, 67, 56,196,198,198,170, 50, + 51, 51, 63,110,216,172,221,127, 30,237, 59,132,109, 30,209, 12, 94,245, 61, 33,177, 74,172,217,117,185,254,193,111, 94, 89, 2, +160, 75, 45,146, 57,224,199, 29, 39,145,153, 47,130, 97, 0,134, 1, 88, 6,208,155, 36,188,247,106,183,143, 0, 56,102,176,162, + 70,203, 35, 26,248,244,191,124, 75,141, 93, 23,120, 0,254,208,122,250,246, 55,120,143,150, 35,118, 5,255, 79, 58,152, 13, 26, + 52,136,170, 87,175,222,215,175,188,242,138,103,120,120,184,159, 82,169,212,154, 76,166, 38,201,201,201, 13, 23, 46, 92,248,120, +131, 6, 13,230,222,184,113,227, 87,103, 52,155,185,171,130, 67, 27,248,254, 56,117,220, 75, 29,195,195,130, 32,179, 20,131,152, +245, 65,201,215,175,118,153,189,234,215, 55, 24,198,244,236,165, 66, 97,175,163,122,106, 87,197,251,239,141,126, 54,162,177, 43, +129,229,210, 81,200, 56, 2,181,171, 39, 58, 6,115, 96, 64,154, 71,239,207,120, 15, 69,214,143, 28, 48,146,179, 68, 81,124, 15, + 0,211,160, 65,131, 31,229,114,249,169,246,237,219, 55, 27, 57,114, 36,211,170, 85, 43,156, 57,115,166,249,182,109,219,158, 22, + 4, 33,222, 98,177,156,172, 95,191,254,217,184,184, 56,171,131,229, 91,145,155,155,219, 70,169, 84,118,250, 39,107,250,249,249, +105, 44, 22,203, 75,129,129,129,163, 31,121,228,145, 86,131, 6, 13, 98,154, 54,109,138,248,248,248,118, 59,119,238,252,232,200, +145, 35,231,211,210,210, 86, 40,149,202,239, 51, 51, 51, 29, 26, 4,120,120, 31,196,255,188, 15,205,106, 59,191, 2, 30, 0,212, + 0, 50, 29, 9, 38, 0,208, 2,184,118, 31, 52,239, 70,164, 37,142, 97,152,122,165, 55,100,219,131, 93,185,223,246,223,162, 40, + 22,167,164,164, 52,170, 78, 51, 40, 40,168,185, 36, 73,156,253, 52,185,188,234, 86, 11,130, 32, 72,105,105,105,151,170,211,100, + 88,198,107,197,215, 11,220,101, 44, 32,146,210, 15, 79, 32, 18, 2, 73, 2, 68, 9, 16, 37, 9,130, 72, 32, 4,150,212,198, 0, + 0, 32, 0, 73, 68, 65, 84, 17, 9,188, 64, 48,243,163,247,238,231,101,238, 73, 0, 61, 0, 28, 6,176,168,154,121, 95, 86, 39, +226,221,168,205,139, 47, 61, 59,188,215,123,147,222,212, 17, 66, 64, 8,129, 70,173,194,228,137, 99,149, 38,147,165,171, 95,147, +246,163, 51, 19, 79,175,100, 24,166, 23,128,246, 0, 78, 3,248,158, 90, 6,202,221, 50, 88, 76,187,118,237,122, 16, 66, 94,110, +224, 31, 56,124,216,243, 99, 52,161, 77, 90, 66, 47,185,225,122,142,132,216, 3, 27, 0, 96,147, 51, 27,223,189,123,119,123, 66, +176,122,220,180, 5,205, 90,183,237,128, 11,233, 2,142,165,138, 40,190, 34, 66,198, 25, 33, 73, 0, 33,196, 92,219,204,165,229, + 9, 56, 18,111, 1,199, 2, 44, 11,112, 44, 3,206,217,247,116,199,174,224, 47, 5, 15,221,241,199,169,244,167,160,246,133, 33, + 47, 29,134,188,172,157, 72,219,252,143, 50, 87,254,254,254,189, 67, 67, 67,191,156, 56,113, 98,131,204,204,204,122, 39, 79,158, +132, 74,165,130,167,167,167,204,203,203,171,217,180,105,211, 10,102,207,158, 61,217,199,199,231,204,205,155, 55,147, 28, 50, 5, + 46,138,136,238,173, 34,254,156, 49, 43,218,221, 28,179, 19,249, 63,255, 12,142,149,160,112,209,193, 79,163,197,162, 39, 67,235, + 77,219,157,250, 43,107,181, 68, 92, 48,153,210, 29,209, 12,242,169,215,183,113,120, 83,228,111, 95,138,196,124, 51,142,103,153, + 49,184,103,123, 52,246,212,160,173, 32,162,190, 90,214,187, 38,131, 21, 16, 16,224, 41, 73,210,212,164,164, 36, 86,161, 80, 48, + 13, 27, 54,124,118,197,138, 21,164,121,243,230,101,111,221,238,210,165, 11,186,116,233,194,232,245,250,136, 99,199,142, 69,108, +222,188,153, 47, 40, 40,136,201,200,200, 88, 83,117,100, 41, 44,197,108, 54, 5,153,204, 22,211,194,133, 11,127,232,220,185,179, +164, 84, 42,113, 39,154,165,198,119,189, 86,171,213,206,152, 49, 35,167, 67,135, 14,164, 46, 52, 67, 67, 67,255,232,216,177, 99, +175,190,125,251,202,186,118,237, 10,127,127,255,178,121, 94, 94, 94,232,222,189, 59,147,154,154,218,250,200,145, 35, 75,255,248, +227,143,197,103,206,156, 57,144,148,148,212,215,129, 67,212,244, 14,231,151, 11,254, 2,152, 3, 96, 37,128, 99,213, 61,198, 0, +120, 14,192,231,247, 73,179,250,135, 2,181, 58,203,100, 50,249,148,254,190,105, 50,153,124,107,188, 88, 50,140,110,225,194,133, + 62, 10,133, 2, 44,203, 66, 20, 69,136,162, 8, 73,146, 64, 8, 41,251,182,189,114,108,214,172, 89, 98, 77,154,146, 36,177, 11, + 22, 44,144,107, 52, 26, 0, 0,207,243,229,190,109,216,254,207,154, 53,203,161,107,148, 70,201,225,195, 73,163, 59,178,162, 69, + 93,237,246, 57,165,233,181,201, 95,158,186, 15,102,213, 51, 32, 32,224, 37, 0,131, 0,216,206,241, 86, 1, 1, 1,251, 43, 44, +218,170,244,187, 56, 32, 32,224, 0,128,223, 3, 2, 2, 86, 87, 86, 93,232,238,226, 58,246,221,183, 95,119, 37,132, 96,230,207, + 57,152,249, 75, 14, 62, 28, 90, 15,147, 7,104,241,234, 11, 79,187,172, 94,247,211,152,210, 50,102, 35, 1, 37,189,238,105,244, +138, 82,247, 6,171,109,219,182, 59,250, 15, 29,213,175,115,143,190, 16, 20, 62,136,191,201, 32,245, 58,129,140, 19,192, 66,194, +181,255,109, 33, 44,203, 86,116,248, 85,118,213,220,177, 99,199,127,131, 27,183,153,251, 94,244, 28,238, 66,150, 18,171,143, 24, + 33,154, 11, 96,204,185,130,226,155,151, 81,116, 35, 14,249,233, 23,206,179, 44, 27,237,168,230,237, 97,101, 64, 34, 4, 12, 97, + 0, 9, 37,231, 6, 91,169,195,170, 86,147,136,204,212,152, 63, 86, 63,213,118,200,116, 92, 62,178, 14, 32,236, 84, 7, 54,127, + 55, 94,130,121,161,138, 72,198,227, 33, 33, 33,243,198,140, 25, 19,120,238,220, 57, 55,131,193, 80,124,234,212,169, 67,153,153, +153,190, 94, 94, 94,169, 35, 71,142,124,196,199,199,199,167, 71,143, 30,218,221,187,119,191, 15,224,245,154, 52, 35,181,138,200, +174, 29, 90, 30,255,100,222,124,151,156, 95, 23,195,114,253, 28,142,103,153,112, 46,219, 72, 2,220, 10,152, 17, 45, 61,225,162, +148, 97,116, 39, 31,221,127,182, 37,125, 6, 19,158,119, 36,239, 13, 3,124, 27,241, 70, 35, 76, 70, 43,118, 92, 46, 48, 30,207, + 43,240, 97, 93,211,178, 39, 63,213, 94,205,229,100,160,129,171,188, 9,110, 58,183, 63, 25,134,129, 86,171,173,116,158,187,187, + 59,186,116,233,130, 70,141, 26,201,159,123,238,185,206, 0,214, 84,165,105,181, 90,253,210,211, 51, 16,222, 52, 92,213,167, 79, + 31,134,227, 56, 88, 44,150, 59,210, 4, 0, 23, 23,151, 65, 81, 81, 81,178,181,107,215,230, 39, 37, 37, 93, 28, 54,108, 88,186, + 86,171, 45,119, 67,213,106,181, 8, 14, 14,198,248,241,227,229,111,188,241, 70,141,154,190,190,190,143,175, 91,183, 14, 12,195, +148,221,188, 43, 18, 18, 18,130, 6, 13, 26, 96,192,128, 1,178,167,159,126,250,241,164,164,164, 42,247,231,240, 62,136,183,153, +167,225,125,170,191,137,148,206, 79,168, 36,146, 85, 49,157,185, 0,150, 3,248, 13,192,240, 42, 12, 81, 87, 0, 63, 3,232, 15, + 84,122,228,171,212, 84, 40, 20, 10,171,213,234, 89,137,241,113, 86,179,236, 84,143,137,137, 65,187,118,237, 80,241,219,102,132, + 24,134,241,113,244,220,228, 56, 14,203,150, 45, 3,203,178, 80, 40, 20,144,203,229, 80, 40, 20,183,125,218,182,109,235,240,249, + 46,151,203,177,108,217, 50,136,162,200, 38, 37, 37,189, 44,138,226, 16,147,201,228,163,209,104,178, 21, 10,197,246,158, 61,123, +126,167, 82,169, 4,103, 52, 89, 14, 96, 69,139,122,239,238,173, 46, 85,173,100, 54,155, 49,112,200, 8,176, 12,123,207,175,117, +199,142, 29, 11, 14, 14, 14,110, 90, 26,157, 2,128,195,233,233,233, 61,236,254,219,115, 56, 61, 61,221,214, 52, 36, 49, 37, 37, + 37, 56, 36, 36, 36,175,162,166,197, 98,109,168,211,185,128, 16,130,153,191,228,192,180, 54, 12,234, 81,215,240,106, 39, 51, 92, + 93, 93, 33, 8, 66,179,128,128,128,239, 1,132,151, 70,175, 6, 7, 4, 4, 52, 37,132, 28,104,216,176,225,111,118, 85,250,247, +236, 58,255,144,104, 86,115, 63, 39, 29, 0,120,219, 77,178, 0,176, 61,173,230,148, 26,224,250, 21,166,219, 47,103,251,206,182, + 5, 50, 75,215, 35,118,186,217, 12,195,252,175,174, 13, 22,177,115,231, 85,197,120,220,210,140, 30,208, 95,247,130,140,149, 32, +227, 24,200, 56, 0, 96,144,155, 22, 7, 75,113,238,209,152,152,152,235,142,108,116,215,174, 93, 93, 66,155,119,252, 44,250,147, + 47,216,239, 14, 27, 81, 96, 48, 33,231,210, 86,100,158,250, 54, 83, 18,172, 91, 89,150, 61,205,178,108,108, 84,235, 86,241,126, +126,126, 98,109, 51, 39,145,146, 16,119,153,177,146, 0,166, 54, 15, 32,233,191, 94, 65,216,251,229,255,255, 67, 8, 8, 8,232, + 31, 22, 22, 54,103,204,152, 49, 33,177,177,177,174, 69, 69, 69,217,123,247,238,141,183, 90,173,103, 88,150, 93,148,145,145,209, +115,221,186,117,218, 41, 83,166,244,109,218,180,105,211, 63,254,248,195, 80, 99,228, 74, 43,111,253,194,139, 35,142, 15, 25, 61, + 65,125,241,151, 37, 80,197,199, 98,197,165, 60,241,116,150,241,125,147, 94,248, 82,163,149,117,205, 55, 9,123,222,237,238,199, +250,185,202, 17,228,174,120,244, 92,145, 99, 47,250, 86,202, 85, 50, 34, 83,195, 98, 22, 80,108,145, 44,113, 57, 40,126, 92, 16, +173,196,197, 75, 13, 0, 50,142,173,209,244,167,167,167,231,249,249,249,125, 22, 26, 26,250, 1,195, 48,164, 71,143, 30,151,218, +181,107, 87, 44, 73, 18,140, 70, 35,172, 86, 43,228,114, 57,140, 70, 35,146,147,147,113,242,228, 73,184,187,187, 59,181, 95,243, +243,243, 17, 26, 26, 10,173, 86,123,199,154,146, 36, 49, 75,151, 46, 85, 95,188,120, 81,253,219,111,191,213,251,239,127,255, 91, +208,182,109,219,184,167,158,122, 42,181, 94,189,122,214,179,103,207,226,248,241,227,200,203,203, 67,199,142, 29, 29,210,180, 90, +173,144,201,100, 48, 26,141, 80,169, 84,144,201,100, 16, 4, 1,146, 36,149,153, 46,189, 94,143, 91,183,110, 65, 46,151,215,248, + 34,118,155, 89, 26,222, 7,228,167,159,255,188, 89, 82, 55, 84,200,195, 90,192, 67, 40,224,193, 23,240,224,243,249,103, 38,206, +111,253,243, 62, 56, 19, 7, 62, 81,106,174,126,174,196,100,117,181,155,126,214, 89, 77,171,213,122,212,102,124,212,106,181,143, + 45,186,160, 82,169,120,179,217,220,203, 73, 77,196,196,196, 32, 42, 42,138, 43,213, 36,132, 16, 91,123, 27,167, 47, 26, 12,195, +128,227, 56,200,229,114,112, 28,135,168,168, 40, 12, 26, 52, 8, 77,155, 54, 69, 90, 90, 26, 14, 30, 60,136,203,151, 47, 67,161, + 80,148,171, 58,172, 9,185, 92, 14,150,101,217,132,132,132,239,250,244,233,211,120,194,132, 9,202,224,224, 96,196,199,199, 55, + 88,186,116,233,168,125,251,246,245, 28, 58,116,232, 40, 0, 66,117,213,135,229,140, 96,169,105, 50,155,205,136,139,139,171,126, + 89,167,171, 0,238,156,174, 93,187,166, 16, 66, 18, 81, 82,245,215, 42, 61, 61,189, 71, 64, 64,192, 14, 0, 21, 13, 97,113,122, +122,250,128,128,128,128, 2, 0,231, 1, 36, 48, 12,147, 82,153,166,135,187, 91,182, 94, 95,236,235,226,162,197,251, 67, 60,160, + 30,117, 13,111,247,226,192,243, 60,174, 94,189,142,134,161,129,204,166,213, 91,108, 85,131,237, 79,159, 62, 13,148, 84, 21, 38, +165,166,166,250,119,234,212,137, 54,120,191, 75, 62,170, 26, 47,226,205, 48,204,118, 59,195, 53,208,246,127,218,180,105,239,205, +153, 51,231, 34,195, 48,219,237,167,219, 47,103,255, 93,122,142,110, 39,132, 12,156, 62,125,122,228,220,185,115,103,219,150,189, + 47, 17, 44,142,227,134, 93,216,245,229,137, 38, 86, 18,226, 27,249,100,185,253,144,124,118, 23, 36, 73, 90,227,136,206,241,227, +199,213,130,132,239,166,188, 55,139,253,230,128, 17, 89, 55, 50,144,113,232,115, 24,111,198,173,214,104, 52,239,246,233, 55,240, +142, 11,110, 84, 84, 84,164, 71,253, 6, 48, 91, 73,169,193, 42,111,178, 30, 20,252,252,252, 6,133,133,133,205,218,186,117,107, +136,209,104,116, 61,118,236, 88,254,158, 61,123, 18,173, 86,235,170, 27, 55,110,172, 47, 93,108,171, 76, 38,251,152, 16, 2,157, + 78, 39,227, 56, 78, 83, 93,168, 59,210, 77, 30,245,210, 11, 47, 28,253,239,162,149,234,196, 11,103,177,120,211, 14,168,136, 85, +188,148,107,121,234,162, 94, 40, 41,180, 6, 97,127, 64,142, 49,157, 16, 4,201, 89, 6,245,180,242, 6,157, 1,245, 9,192, 84, + 83,154,189,130, 66, 88, 33, 32, 12, 71, 12,102,232,220, 20, 74, 0, 8, 8,111,193,157, 45, 20,112,236,212, 95, 80,171, 61, 21, +142,228, 61, 51, 51,115,134,191,191,127,232,158, 61,123, 88,131,193, 80,124,238,220, 57,212,175, 95, 31, 62, 62, 62,112,115,115, + 67,124,124, 60,246,238,221,139,132,132, 4, 16, 66,170,139, 18, 84, 74, 86, 86, 22, 10, 11, 11,235, 68, 83, 16, 4, 6, 0, 34, + 35, 35, 17, 25, 25,169, 76, 79, 79,247,217,190,125,187,231,236,217,179,111,248,249,249,237, 54, 26,255,110, 30, 85,177,186,167, +186,136, 2, 0,152, 76, 38,152,205,102, 40, 20, 10,168,213,106, 40, 20, 10, 20, 22, 22, 34, 43, 43, 11, 69, 69, 69, 37, 55, 19, + 15,143,178,229, 29, 66,148,128, 19,221, 78,223,238,230, 95,246,169,101, 81, 61, 86,106,162,246, 3,176, 29,223, 44, 91, 64, 12, +213, 87,245, 85,167, 89,110,127,216, 69,153,228,181,209,180, 69,170, 24,134, 41,119,149, 80,171,213, 55,109,145,171,210, 72, 89, +141, 90,182,106, 65,165, 82,137,200,200, 72,188,251,238,187,136,143,143,199,209,163, 71,225,227,227,131, 39,158,120, 2, 50,153, + 12,169,169,169, 96, 89,214, 33,131,165, 80, 40,192,243, 60, 18, 19, 19, 95,238,221,187,119,216,226,197,139,149, 73, 73, 73,136, +143,143,135,155,155, 27, 62,254,248, 99,213,212,169, 83, 3,119,239,222,253, 70,155, 54,109,150, 57,124,109,103, 74,170,255, 6, + 14, 25, 81,137, 17,113,145,175, 93,243,173,210,102,188,216,251, 48,176, 79,122,122,122, 30, 33,100, 1,128,133,165,213,130, 61, + 0,184,164,167,167,247,178,187, 9,147,210,106, 65, 0, 56,159,158,158,222, 27, 0,169,170, 65,122,230,205,204,229,159, 47,250, +102,225,204,247,222, 81, 78, 30,160,197,171,157,204, 16, 69, 17, 28,199, 97,241,242,213,252,229,184, 11,231,218,183,111,191, 29, +192,224,211,167, 79,163,125,251,246, 69, 0, 46, 3,184,174, 84, 42,105,231,145,251,233,192, 42,152, 32,155,113,154, 51,103,206, +192,202, 76, 85, 37, 15, 63,229,166,207,157, 59,119,182,221,255, 58,237,197, 46,171,224, 28,171,123, 10,247,243,240, 14,168, 55, +230,249, 39,176,249,156,237,133,132, 4, 86,179, 1, 55,226, 15, 24, 44, 22,203,207,142,108, 48, 55, 55,247,227, 87,223,157,223, +248,116,138, 12,153,121, 6,100,236,155, 69,172,249, 73,195, 7, 13, 26,180,185, 46, 50, 20, 21, 21, 21,233,233,229,127,240,131, +207, 86, 98,127,162, 5, 18, 1, 24,130,191,141,213, 3, 50,242,151,191,191,127, 19, 15, 15,143, 47,182,108,217,226,163, 84, 42, + 93,207,159, 63, 47, 30, 58,116, 40,131,231,249,165, 55,110,220,216,104,183,220, 11, 45, 91,182,228, 93, 92, 92,144,153,153,105, +226,121, 94, 95,213,177,110,161, 86, 7, 70,181,138, 56,252,223, 69, 43,213, 38,139, 5, 5, 70, 51,188,253,252,196,163,231,227, +158,138,211,139,101, 79, 4,205,117,178, 71,218,135, 7, 4,176, 26, 87,192, 80,136,244, 66, 75,134, 35,230, 10, 0, 92, 92, 61, +216,192,246,143,162,253,196,175,112, 41,250,125, 2,228,194,195,215,159,237, 53,254, 83,232,218, 13,194,178, 9, 47, 75,127, 71, +112,107,196, 24, 30, 30,142, 51,103,206,216,202, 22,114,115,115, 17, 22, 22,134,197,139, 23,151, 91,208,145,155, 98, 21,229,245, +142, 53, 37, 73, 98, 42, 68, 29, 49,110,220, 56,249,206,157, 59, 93,236,205,149, 51,154, 22,139,165,204, 80, 16, 66, 96,177, 88, + 96,177, 88,224,226,226,130,196,196,196,242,126, 73, 20, 43,173,234,172, 58,193, 5,149,135,187,248,220, 59,105,119,120, 12,128, +194,206, 4,249, 2,232, 86, 75,115,117,155,241,169, 11, 98, 98, 98, 42,189, 14,218,170, 30, 99, 98, 98, 72,187,118,237,124, 29, +213, 35,132, 64,169, 84, 98,240,224,193,248,235,175,191,144,145,145, 1, 87, 87, 87,152,205,102,152,205,102, 68, 69, 69, 33, 43, + 43,203,225,232,149,157,110,255,183,223,126, 91,125,253,250,117,220,186,117, 11,106,181, 26,130, 32, 64, 20, 69,188,241,198, 27, +234,241,227,199,247, 3,224,184,193,226, 24, 60,246,242,103,149,182,173,218,255,237,127,122,170, 84,170,178,234, 22,142,253, 71, + 93, 64,237, 31, 20,157,218,137,217,215, 47, 44, 91,183,241,183,199, 5,171,181,215,107, 47,141,112,213,185,104,113,245, 90, 18, +150,173, 90,203,239, 63,114,106,127, 86, 90, 98,127, 0, 76, 64, 64, 64,211,210,200,213,229,244,244,244,151,170, 51,109,148, 58, +141, 98, 85,100, 52, 74, 59,182, 84,101,156,156, 49,104,246, 17, 46, 27,211,167, 79,143,156, 51,103, 78,157,182, 49,148, 85, 81, + 88, 43,154,150,182, 30, 94, 1, 7,166,207, 94,169,251,237, 28,135,188,204, 4,152,110, 38, 32, 40,106, 8,178, 18,142,129,136, +252,175,113,113,113,197, 53,109,108,247,238,221,225, 65, 77,219, 79,108,211,174, 19, 62,255, 93, 15,253,165,141,176,228, 93, 95, + 54,112,224,192,186, 51, 87,245,253, 14,190, 55,119,101,189,109, 23,229,200,205, 72, 64,252,150,169, 16,173,183,213,138,237,112, + 70,183, 39, 32, 19, 60,173,120,188, 57,131,155,127, 26,144,217, 19, 50, 28,186,191, 47,189,206,200,200, 72,244,240,240,248,126, +229,202,149, 99, 91,183,110,173,157, 56,113,226,229,194,194,194, 79, 50, 51, 51,127,180, 51, 87,189,195,194,194, 38,205,154, 53, +171,113,114,114, 50, 14, 31, 62,156,200,113, 92,149,245,203,151, 76,166, 52,246,252,165,165, 71,127, 88, 53,153, 13, 14,199,166, + 89, 83,132, 63, 47,196, 13,142,211,139, 59,203,204,149,139, 34,162, 75,100,163,237,111, 78, 24,195,138,103,119, 33, 62,249, 38, + 50,245,252, 62,135,159, 70,139, 12,188, 92,165,129,174, 65, 40,146,141,146,194,223,223,255,100, 90,190,241,255,236,157,119, 84, + 20,215,223,198,159,153,237,187,176, 75, 47, 75, 21, 21,144,170, 32,160,162,216,162,177,196, 22, 19,123,212,152, 24, 53,137,198, +168,137, 53,138, 13,141,209,168,104,138, 49, 54, 18,197,246,198,196, 26,163, 34, 22,172, 20, 59, 34, 34,125,169,210, 89,216, 54, +247,253, 3,240,135,132,178,148,244,249,156,179,103, 97,102,246,217,123,103,238,222,251,204,247,150,225,211, 28, 46,104, 46, 31, + 73, 5,149,205,106,196, 25,230,247, 33,201,186,166, 5, 64,147, 93,100, 77, 58,185, 86,104,214, 68,176,126,231, 87, 52, 26,170, +165,154,181, 13, 86, 93, 51, 85,223, 57,106,150,193, 82, 23,215,127, 13, 84,249,109, 49,177,163, 38, 33,130,214,152,171, 26,227, + 83, 51, 0, 93, 40, 20,190, 48, 42,250, 70,153, 26,138, 96, 53,182, 95,239,150,159,162,192, 48, 12,120, 60, 30,156,157,157,113, +237,218, 53,200,100, 50, 24, 26, 26, 66, 34,145, 64, 40, 20, 66, 38,147, 65, 32, 16,128,166,105,208,122, 26, 23,141, 70, 3,149, + 74,101,109,103,103,135, 39, 79,158, 64, 36, 18,189,120, 9, 4, 2,184,186,186,162,180,180,180, 89,166,179, 57,166,137,243, 47, + 90,154, 58,229, 97,212,235,214, 46, 1,147, 15,254,223,137,247, 43, 43, 85, 94,157, 92, 59,226,209,189,152, 59,217,233,137, 67, + 88,143,243,183, 49,206, 53,124,135,170, 89,162,109,210,141, 87,159,201, 90,191,126,125, 72,237, 40, 88, 91, 27, 44, 52,102,174, + 22,174,253, 78,118, 56,134, 70,161, 34, 30, 41,103,150,148,232,212,229, 5, 12,163,113, 44,120,122, 5,120,121, 64,110, 99,141, +161,127, 96,255,145,244,197, 71, 42,168, 75, 50, 81,124,255, 96,178, 80, 40, 92,212,150,230,106,209,186,157,166, 63,221,225,226, +121,230, 99, 60, 61,181,184, 72,167, 46,239, 31, 19, 19,211,236,117,180,222, 3,120,223, 1,154, 17, 22, 22,163,100, 66,122,195, +180,209, 82,244, 30, 32,134,140, 47,195,170, 47,232, 71,101,129,204,130,156, 40, 28,135, 47,120,136,193, 95, 50,163,240,193,131, + 7,107,119,238,220, 73,107,181,218,105,106,181, 58, 88,161, 80,188,136, 34,202,229,242,129, 14, 14, 14, 27, 86,175, 94,109,151, +156,156, 44,184,126,253,250,243,216,216, 88, 70,167,211,173,111, 76,243, 94,177,234,211, 15, 63,156,205,233,104,111, 51, 59, 49, + 61,125,196,253, 18,221,153,154,125,158, 18,190,103, 96, 23,183,171,171, 87, 46,150,170,175, 31, 69, 89, 86, 58,182, 95,207, 42, +102,116,154,197,122, 70,221, 76,175, 92, 56,143,197,211,167, 50, 37, 37, 37,144, 8,248, 76,122,252, 83,206,228, 1,189,117,159, + 47,156, 79,103,101,101,161,188,172,140, 99, 99, 99, 99,154,153,153,249, 92, 31,205,250, 12, 69,125,141,107,179, 12, 70,253,141, +121,139, 53,235, 70,176, 26, 51, 88,250,106,214,238, 18,107,234,124,232,116,186,230,117, 17,106, 27, 48, 88,234, 92,117, 43,139, +108, 42, 69, 81, 14, 53,127,183,197,111,160,162,162,194,178, 86, 84, 12, 0,168,150, 70, 43,171, 35, 88,141,238,111,142,201,170, +137, 96, 37, 38, 38,194,194,194, 2, 90,173, 22, 6, 6, 6, 16,139,197, 16,139,197, 80, 42,149, 16, 8, 4,224,112, 56,205, 74, +167, 80, 40,204,138,143,143,119, 52, 49, 49,129, 78,167,123,201,100, 61,123,246, 12, 70, 70, 70, 57,250,142,191,170,138, 96, 1, +231,246, 46,172,119, 22,161,177,145,193, 75, 66, 28,138,194,223,136,218,227,116, 90, 20, 85,202, 74,184,249, 3,128, 31,108,109, +109,247,237,255,254,164,159,159,159,223,201,214,106,178,252,193,238,171,218, 24,213, 30, 75,181,104,209,162, 22,175, 29,178,104, +209,162, 37,245, 69,180,218,210, 96, 81,117,222,255,103,174,204,108, 34, 22,172,222, 33,219,127,155, 70,145,226, 17, 50,207, 45, + 43, 98,212,229,253,105,154, 86,164, 69,125,119, 4, 64,121, 76, 76, 76,164,158,141,161,111, 39, 23, 23, 28,190,175, 69, 69,214, + 29,208, 20,217, 59, 96,192,128,242,214,102,162,198, 92,125, 26,242,157,233,225, 88, 46, 10,170, 76, 96, 17,211, 2,115, 53, 65, + 32,232,200,163,233, 13,246, 93,220, 94, 27,151,148, 90,218,175,131,200,120,104, 71, 33, 56,215,143,225,184, 77, 14,158,155, 95, +192,172,205,182, 29,163,126, 46,254, 37, 70, 88,246,188,139,183,151,236,182,193,189,147, 26,162,251, 52,239, 50,254,244,193,239, +137,137,137,171,173,172,172,126,202,206,206,126, 49, 58,213,214,214,118,136,131,131, 67,200,170, 85,171,218,165,165,165, 73,227, +226,226,138,143, 28, 57,242,140,166,233, 85, 89, 89, 89, 57, 77,105,222, 47,213,204, 39,169,138,239, 31,148,233,226, 95, 68,174, + 36,188,206,147, 39,143,187, 54, 96,252,219,162,164,139,251, 96,154,254, 0, 91,110,230,232,210,139, 42, 38,196, 43,145,165,143, +185, 18, 8, 4,135, 67,143, 30,125,226,229,229, 69,149,151,151, 67,163,209, 32, 55, 55, 23, 95,252,120,248, 62,195, 48, 48, 49, + 49,193,249,243,231,153,143, 62,250,232,176,141,141,205, 24,125, 76, 22,195, 48, 47, 26,171,134,162, 64, 98,177,184,121, 6,163, +250, 51,181, 13, 76,107, 52, 27, 50, 88,117, 35, 91,205,212,172,250, 1, 87, 15,110,111, 40,162,199,225,112,192, 48, 76,189,145, +190,134,195, 36,133, 13, 24,172,156,214,222, 72, 56,162,241,137, 52,127, 25, 34,145, 40,187,218, 60, 49, 13, 45,197,208,220, 8, + 22, 0, 8, 4, 2, 68, 69, 69, 97,240,224,193, 96, 24, 6, 66,161, 16, 98,177, 24, 34,145, 8, 55,111,222, 4,159,207, 7,135, +195,105, 86, 55, 33,143,199, 59,189,125,251,246,169,235,215,175, 23, 51, 12, 3,129, 64, 0,177, 88, 12,161, 80,136, 47,191,252, + 82, 41, 16, 8,206, 52,203, 96,161,233, 89,132,181,205,216,159, 77,157,101, 26,234, 46,197, 80,155,186, 75, 56, 52,184, 76,131, +141,141,141,169,157,157,221,187,132, 16,143,234, 77, 47,205, 22,172,117,104, 77,197,226, 98,107,107,187,175,158, 89,132, 44,109, + 31,189, 66, 3,117, 68,110,157,232,149,170,214,255,185, 0,168,234,255,115,107, 25,176,218,127,171,234,217,150,191,110,221,186, +136, 90,145,171,220,182,204, 76,131, 17,172, 46, 93,186,184, 25,155,217, 68,204, 91,189, 67,182,239, 6, 7, 69,138,135,200,139, +248,172,136,104,149,181, 77, 75,175,102,126,159,143,165,165, 25,242,162, 42,160, 41,120, 2,138,162, 98, 90,155, 1,127,127,127, +103,169,145,197,197, 5,107,190, 51, 61, 16,205, 69, 97,230,255, 76, 96, 75, 34, 87, 92,154,254, 98,211,175, 7, 71, 8,179, 30, + 65,121,231,162, 49,239,121, 58,238,231,168,113, 56, 42,171,228,226,213,157, 87,104,119, 18,212,127,130,177, 97,255, 9,166,216, + 50,235,140,105,118,197, 3,220, 72, 56, 49, 50,100,241, 9,130,191,104,117,247,218,230, 74, 46,151, 15,183,177,177, 89,121,242, +228, 73, 71,173, 86, 43,189,116,233, 82,201,145, 35, 71,158,106,181,218,208,172,172,172,147,122, 71,199,202,212, 47,204,149,167, +140,231, 59,109,202,148, 43, 31,109,254, 86,244, 32,250, 22, 54,236, 59, 9, 41, 79,163,139,206,172, 24,243,160,236,127,221,135, +141,158, 87, 46,119,213,129, 3, 7, 12,220,221,221,169,252,252,252, 23, 13,190, 90,173, 70,113,113, 49,138,138,138,160, 82,169, +224,229,229, 69,175, 88,177,194, 96,249,242,229,171, 0,124,208, 68,132, 32,103,229,202,149,150,239,189,247, 30,100, 50, 25,242, +243,243,161,209,104, 94, 68,155,132, 66, 33,140,141,141, 81, 88, 88,136,115,231,206,129, 16,210,168,185,228,243,249, 10, 91, 91, + 27,123,177,196, 64, 37,145, 72,136,161,161, 97,171, 53,171, 27,219,172,161, 67,135, 90,175, 92,185, 82, 80,187,145, 86,171,213, + 84, 75, 53, 9, 33,229,175,190,250,170, 36, 52, 52, 20,142,142,142, 80,169, 84, 96, 24,230, 69, 4,171,102,105,128,212,212, 84, +172, 93,187, 22,132, 16,253,111,100, 52, 5, 26,216, 77,177,128, 58, 95, 3,117,190, 6,170, 60, 13,212, 57, 26,104,203,255,118, + 83, 68, 90, 50, 0, 93,143, 72,152,101,107, 35, 88, 20, 69,129, 16, 2, 62,159,143,180,180, 52,156, 63,127, 30, 1, 1, 1,144, + 74,165, 40, 43, 43,195,181,107,215,144,149,149,213,162, 8, 86,255,254,253,247,158, 61,123, 54,232,195, 15, 63,116,154, 57,115, +166,216,205,205, 13,201,201,201,216,188,121,115,197,195,135, 15, 51,230,204,153,179,179, 57,122,116,245,210, 53,122,205, 34,164, +255,124,111,220,192, 50, 13, 67, 27, 56,188,246, 18, 14,117,151,105,120,193,177, 99,199,156,108,109,109,221, 80, 53,190, 10,248, +253,108,193,218,220,190,125,251,182, 31,216, 89,132,127,117,228,234,214, 63, 45,205,220,134,127,116,244,199,221,222, 88, 42,219, +123,157,139,130,140,251, 40,186,188,162,174,185,210, 7, 47,212, 90, 43,131, 39,146,122,105, 9, 31, 64, 5,180,133, 79, 33, 16, + 8, 98, 91,144,230,151, 52, 25,134,153,223,253,141,165,166, 97,183,184, 40,202,124,136,220,139,203, 91, 98,174,188, 0,220,123, + 15,224,217,251,120,188, 38,204,126,140,138,139,225,160, 0,124, 31, 91,134,107,233,170, 47,213, 42,213,154,135,197,170, 66, 91, + 49, 76,194, 67,114,150, 15,121,221,251, 35,215,113,231,112, 35,247, 27, 64, 2,152, 88,112,135,228,248,106,107,119, 23,190,148, +206, 54,162, 81, 77, 27, 27, 27,103, 67, 67,195, 47, 78,159, 62,109, 33, 16, 8,100, 15, 30, 60,208, 29, 61,122, 52, 77,167,211, +109,170, 61,240,189, 57,154, 30, 34,145,157,123,123,251,200, 57,155,190, 22,149,148,150,161, 76,165,134,141,131,173, 46, 50,250, +209, 27, 15,202,212, 63,235,163,105,105,105,217,111,244,232,209,157,187,118,237, 74, 55,100,174,138,139,139, 81, 90, 90,138,244, +244,116, 4, 5, 5,209,110,110,110, 94,149,149,149,253,114,114,114, 34, 26, 74,167, 66,161, 8, 14, 15, 15,239,121,232,208,161, + 97,211,167, 79,151,142, 30, 61, 26, 98,177, 24,101,101,101,176,183,183, 7,195, 48,184,124,249, 50, 18, 18, 18, 74, 0,156, 80, + 40, 20, 87, 27, 75,231,179,103, 73, 14, 0,104, 59, 59,187,158,131, 7, 15,110, 19, 77, 0,200,205,205,237, 24, 25, 25,185,112, +228,200,145,115, 7, 13, 26, 36, 93,178,100, 9,223,201,201, 9, 58,157,142,106,169,102, 65, 65,129, 81, 76, 76,204,198, 94,189, +122,125, 48,120,240, 96,110, 72, 72, 8,140,140,140,160,211,233, 32, 22,139, 81, 92, 92,140, 85,171, 86,225,202,149, 43, 90, 66, +200, 87, 69, 69, 69, 11, 26,211,172,189, 14,214,152, 57, 95,118,105,172, 16, 54,178, 14,214,159, 94,230,171, 35, 77, 4,205,235, + 26,108, 50,157,213, 3,218,127,183, 30,150,190,154, 53, 75, 47, 8, 4, 2,112,185, 92,228,230,230,226,236,217,179, 47,173,127, + 37, 16, 8, 94, 44,227,208, 64, 4,171,222,116, 74,165, 82,230,205, 55,223,156,118,250,244,233,169,243,231,207, 31, 89, 82, 82, + 98, 41,147,201,114, 13, 12, 12, 78,204,153, 51,103,183,177,177,113, 99, 75, 52,252, 78,147, 67, 83, 13,206, 34,124, 41,106,202, + 17, 84, 52, 48, 92,235, 15,189,238,117,150,105,168,187, 20, 67,109,234, 46,225, 80,119,153,134, 23,154,163, 70,141,122,134,170, +197, 67,233,234,247,186,179, 5,107,112,185,125,251,182,159,159,159,223, 37, 0, 98,252,126, 22,225,159, 94,230,255,229,154,255, + 42, 26, 27,131, 37,186, 26,157, 0, 90,152,131,146, 27, 95,180,196, 92,253, 14,109,101, 89,226,234,131, 73, 62, 58,149, 18,218, +226,148,199,131, 95, 27,154,211,218, 12, 16, 66, 12,174,196, 36,130, 43,202, 71,225,245,207, 11, 41, 93,101,255,152,152,152,184, +150,104,125, 7,104, 38,222,121,116,241,233,149,243,175,216, 0, 72,121,174, 66, 92,252,243,179,199,148,202,249, 53,199,100, 92, + 71, 1,128,185,191,114,239,117, 50,117, 41, 26,104,100, 3,228,164,106, 80,144,171, 61,253, 87,141,197,170, 33, 51, 51,243,137, +135,135,199,190, 93,187,118,205,242,245,245, 53,156, 61,123,118, 66, 81, 81,209, 75, 3,223,155,203,131,138,138,116, 36, 38,127, +115,241,251,205,159,136,220, 2,112, 52,100,177,238, 82,116,252,168,251,165,106,189,251,172,133, 66, 97,223, 89,179,102,241,203, +203,203, 27, 52, 87,197,197,197, 40, 41, 41, 65,113,113, 49,226,226,226, 48,122,244,104,225,163, 71,143,250, 2,136,104,172,206, + 79, 79, 79,191,220,161, 67,135,155,223,124,243,205,128,176,176,176,129,239,188,243,142,160,111,223,190,120,240,224, 1,110,222, +188,169, 82,171,213,191,137, 68,162,115, 79,159, 62,213,119, 16,214, 31,161,169, 85, 42,149,107,197, 98,113,232,145, 35, 71,214, + 92,184,112,225,173,169, 83,167, 26,104,181, 90,170, 53,154, 69, 69, 69,115,205,205,205,151,157, 58,117,106,239,217,179,103, 71, +189,245,214, 91,244,156, 57,115,176,109,219, 54, 28, 61,122,148,209,233,116, 63,243,120,188, 41,121,121,121, 77, 78, 64,169,189, + 14, 86, 99,235, 92, 53,181, 95, 15,254,136,187,208, 86,107,214,141,132,213,204, 22,172, 49, 85,205,233, 30,172, 77,231,206,157, + 95, 90,231,170,102, 64,123,205,139,195,225,128,203,229, 54,171,139,208,211,211, 19, 60, 30,143,241,241,241,217, 13, 96, 55,240, +242, 35,115,120, 60,222,139, 69, 77,245,161, 82,203,224,251, 93,251,110,106, 25, 2, 29, 67, 64, 24, 64, 67, 0, 70,199, 64,199, + 16,232, 24,166,106, 89, 52, 2, 40, 43,116,127,122,189, 86,107,153,134, 47,235, 89,138,225, 5,245, 44,225,208,224,115, 3, 51, + 51, 51,159, 19, 66,106,198,163,214, 55, 91,176, 70,115, 95,245,118,113, 70, 70,198,228,198, 52, 89, 88,154, 99,176,150,148, 70, +111,213, 0, 48,163, 40,106,113, 76, 76,204,131,214,126, 25,135, 67, 47,206, 57,254,118, 40, 1, 10, 56, 20, 22,183, 69, 6,116, + 58,221,210,178,152, 80,134, 16, 98, 76, 81,212,162,232,232,232, 86,165,147,104,181,239,127,177,243,242,151, 22, 70,130,129,121, +133,149,167, 64, 81,245,174,218,174, 5,249,240,135,207, 83, 63, 55,177,224, 14, 41,200,213,158,102,104, 44,252, 59, 92,208, 7, + 15, 30,132,236,220,185,147,243,237,183,223, 78, 83,169, 84, 47, 13,124,111,177,102,169,250,211,143, 63, 93,198,233,228,100, 55, + 59, 62, 57,117,228,253, 82,253,186, 5,107, 33,176,181,181,189, 95, 94, 94, 14,138,162, 80, 89, 89,249,146,161,170,109,176,212, +106, 53,114,114,114,224,228,228, 4,138,162,244,106, 33,170, 77,201, 73, 51, 51,179, 75, 91,183,110,125,109,219,182,109,129, 12, +195, 68,169,213,234,147,249,249,249,165, 45,201,243, 31,161, 89,253,185,143,180, 90,237,250,109,219,182,109, 20,137, 68,126, 57, + 57, 57,145,173,209,172, 54, 79,111,152,154,154,218,236,219,183,239,240,174, 93,187,186,115,185,220,235, 20, 69,141, 41, 42, 42, +106,201,122, 61,143, 91,185,191, 41,142,254, 1,197,190,213,154,181,199, 92,181,180,155,241,165,250, 65,171, 45, 93,188,120,113, + 78,221,103, 14,214, 94,243,170,246,187, 74,165,170,208, 67,147,249,236,179,207, 26,189,137,171,109,180, 42, 42, 42,154,236,210, + 37, 12,201, 27, 58,246,253,230,213,145, 12,201,251, 11,171,184,227, 0,158, 84,191, 72, 35,251,154,149, 37, 84,173,209,150, 76, + 8, 73,174,163, 91,123, 59, 11, 75,219, 24,172,152,152,152, 52, 0,111,183,229,151, 13, 30, 60,248, 60, 0,183,182,212,188,115, +231, 78, 10,128,183,218, 74,239,128, 74,149, 8, 96,216,123, 57, 42,222,143,104, 56, 34, 85, 61,160,253,245, 58,221,130,127, 11, +234, 27,248,222, 90,238,151,106,230,147,164,140,151, 6,190, 55,163,177,249, 85, 40, 20, 82,197,197,197, 80,171,213, 40, 41, 41, +121, 97,174,106,155, 44,173, 86, 11,138,162, 80, 82, 82, 2, 67, 67, 67,104, 52,154,102,221, 41, 86,155,148,240, 62,125,250, 28, +137,140,140,108,147,101, 52,254, 8, 77,165, 82,153,165, 84, 42, 39,246,233,211,135,219, 86,154,207,159, 63,207, 4, 16,216,161, + 67, 7, 65, 51,162, 96, 13, 70,178, 90,186, 95, 15,190,253, 3,138,252,143,127,183,138, 53, 37, 37,197,189,173, 53,211,210,210, + 30,182,121, 58,111,252, 48,239,159,208, 80,213, 68,141,108,109,109,247,165,166,166, 58, 80, 20,149, 90, 55,146,212,216,190,198, + 52, 1,192,201,201,233, 88, 90, 90,154,141, 80, 40,204,212,103, 59, 11,203,223, 1, 47, 86,147,213,100, 53, 89, 77, 86,147,213, +100, 53, 89,205, 22,242,222, 63,213, 0,253,139,150,141, 99, 97, 97, 97, 97, 97, 97, 97,249,123, 64, 53,226, 66,155, 51, 59,160, + 37, 78,246, 30,171,201,106,178,154,172, 38,171,201,106,178,154,255, 57,205,166,180,107,127,254, 61, 84,173,228,206,210, 6, 23, +134,213,100, 53, 89, 77, 86,147,213,100, 53, 89,205,255,158,102,125,176, 93,132, 44, 44, 44, 44, 44, 44, 44, 44, 44, 85,112,217, + 83,192,162, 15,182,182,182,235,186,117,235,246,254,173, 91,183, 54,165,165,165,173,106,161,134,141,153,153,217, 90, 0,129,132, + 16, 33,135,195,121,152,151,151, 23,146,158,158,126,185,165,233,146,203,229,246, 22, 22, 22,107, 1,116,103, 24,134,207,227,241, +238,103,103,103,175,201,204,204,188,222, 82, 77,115,115,115, 3,185, 92,238, 71, 8,177, 36,132,208, 60, 30,175, 32, 35, 35, 35, + 46, 55, 55, 55,135, 45, 9, 44, 44, 44, 44, 44,173, 54, 88,193, 31, 66, 14, 53,184,193,223, 33,173,122,147, 12, 85,139,174,185, + 1,120,132,170,199, 11,180,246,145, 1,255, 20,205,191, 59,180,177,177,241,171, 18,137,228,163,210,210, 82, 31,153, 76,118, 95, +171,213,134, 42, 20,138, 19, 0, 90,245,136, 19, 11, 11, 11,203, 81,163, 70, 45,218,186,117, 43,166, 77,155,182,236,228,201,147, +155,155,187,110,147,155,155,219, 8,169, 84,186, 99,245,234, 53, 22, 1, 1, 1,148, 72, 36, 66, 98, 98,162,237,210,165, 75,124, +205,205,205, 15,199,198,198,126,208,220,116,121,120,120,140,145, 74,165,161, 33, 33, 33, 22,126,126,126, 20,151,203,197,221,187, +119,237, 86,174, 92, 25, 96, 97, 97,177, 47, 46, 46,110,126,115, 53, 61, 61, 61,157, 12, 13, 13, 3,215,172, 89, 35, 10, 8, 8, +128, 80, 40,196,195,135, 15, 13,150, 44, 89, 98,161, 80, 40,158,196,198,198,222,104,142,158,239,123,209, 60,190, 68,205, 5, 0, +117, 57, 95, 27,243, 93, 87,141,190,219,216,234,137,133,133,133,229, 95,104,176, 86,206,196, 42, 74,139, 37,160, 65,125, 52, 30, +135,182, 29,162,111,246,239,223,191,211, 59,239,188, 67, 85, 63, 58,194, 61, 60, 60,252,141, 19, 39, 78,196, 51, 12,115, 3, 64, + 28, 0,181,158,223,203, 7,208,133,166,233,110,127,115,205,191, 61,134,134,134,206, 22, 22, 22,243,139,139,139,135,248,249,249, + 21,207,156, 57, 51,249,250,245,235, 73,254,254,254, 21,187,118,237, 10,209,104, 52, 95, 27, 27, 27,255, 86, 82, 82,178,177,165, +235, 98,241,120, 60, 55,138,162,144,145,145, 1, 30,143,199, 19, 8, 4,238, 0,244, 54, 26,118,118,118,114,169, 84,250,237,161, + 99,191, 90, 22, 87,210,120,146,203, 0, 40,135,142, 54,199,234, 13,219,204, 54,174, 93, 54,161,172,172,236,202,147, 39, 79, 14, +234,171, 41,151,203,237,165, 82,105,232,133, 11, 23, 44,133, 66, 33, 24,134, 65, 73, 73, 9, 44, 45, 45,177,110,221, 58,211,213, +171, 87,191, 83, 84, 84,116, 41, 57, 57,249,184,190,154,230,230,230, 6,134,134,134,129, 17, 17, 17, 34,129, 64, 64,105, 52, 26, +170,178,178, 18,214,214,214,228,203, 47,191, 20, 46, 93,186,212,181,176,176, 48, 43, 57, 57, 57, 85, 47,115,181, 35,154, 87,252, +107, 68, 15,146,166, 92, 6, 0,148, 72,188,166, 79,112,242,205,140,187, 71, 2,154,218,230,187, 35,250, 90,204, 12,214,100,177, +252,185,200,229,242,158, 78, 78, 78,199, 82, 83, 83,163, 56, 28,206,184,148,148,148,202, 54,144,181, 3,224, 4,192, 4, 85, 19, +171,158, 3, 72, 6, 94,220,184, 55, 27,179, 14,125,135, 67, 40,121, 27,132,116,161, 1,128,166,227, 24,117,217,158,252,132,139, +199, 91,165, 41, 50,152, 6,134,233, 66,131, 48,160, 57,119,136,182,108,103, 94,252,197,211,108,201, 96,105, 51,131, 21,252, 14, + 76, 40, 96,225,226,153,239,209, 92, 14,135, 10,217,241,221,248, 91, 81,199,137,220,161,203,139, 71,110, 4, 5, 5, 33, 40, 40, +136,218,176, 97,131,219,133, 11, 23,220,246,239,223,175,137,138,138,138, 6,176,183,161, 47, 11,153, 45, 78,213,106,148,246,160, +197, 21,237,186,127,189, 63, 48, 48,136, 17, 10,133,104,141, 38, 0,188,255, 38,247,183, 74,202,158,234, 59,108,121, 74, 91,105, +254, 67,204, 85,164, 84, 42,141, 96, 27,225, 0, 0, 32, 0, 73, 68, 65, 84,237, 56, 99,198,140, 39,179,102,205,186,100, 96, 96, + 64, 0, 32, 39, 39,199,224,181,215, 94, 43, 24, 53,106, 84,126,121,121, 57,190,249,230, 27,251,208,208,208,223,164, 82,105, 70, + 73, 73, 73, 64,115,202,135, 92, 46, 95, 63, 96,192,128,121, 19, 39, 78,132, 84, 42,197,212,169, 83, 81, 89, 89, 25,117,225,194, +133, 13, 10,133, 98, 25,128, 38,159,157, 97, 98, 98,178, 98,229,202,149,150,165, 42, 14,150,133, 37,226,121,105,149,111,144, 8, +104,124,240,138, 16,147, 39, 79, 49,138,141,141,221, 0, 64,111,131,101, 97, 97,177, 54, 36, 36,196,162,230, 90,151,150,150,162, +180,180, 20, 37, 37, 37, 40, 45, 45,197,196,137, 19,101, 79,158, 60,217,130,170,213,157,245,109, 92,252,214,172, 89, 35, 18, 8, + 4, 56,126,252,120,231,138,138, 10,174, 70,163, 1, 33, 68,219,169, 83,167,184, 41, 83,166,240, 19, 18, 18,122, 0,208,203, 96, +201,179,192, 43, 82, 42,191,218,254,249, 39, 22, 0,240,225,194, 47,190, 2,148,221,136, 30,219,228, 89,240,143, 1, 88,131,213, + 56, 28, 0,175,243,120,188,209, 29, 59,118,244,123,242,228, 73,172, 86,171,253, 63, 0,255,135,214,159,187, 87,108,108,108,214, +102,102,102,110, 7,240,195,127,229,132,118,232,208,225,167,253,251,247,155,157, 58,117,106,196,234,213,171,199, 2,216,215, 10, + 57, 30,128, 30,213,166,234, 81,181,177, 66,181,209,234, 4,160, 3,128,171,205,185,225, 53,115, 9, 52, 4, 87, 22,222,163,103, +159, 94, 99,222, 24, 37,181, 48, 53, 66, 89,165, 14, 9,201, 89, 14,103, 79,253,212,231, 49, 95, 28,165, 85, 23,141,207, 79,136, + 42,109,174,102,191,254, 3,123,245,127,101,128,212,200,200, 24,249, 37, 26, 60, 77, 78,119,140,252,237,231, 32,154, 43,190, 4, + 74,243, 86,206,189,223,202,217,159, 28, 75,115,208,107,144, 59, 69, 81, 48, 48, 52,168,119,159,145,145, 17,250,246,237,139,144, +144, 16, 30,128,238,117,118,191, 52, 85, 83,167, 83,201,151,125, 48, 27, 2, 46, 17,190, 54,100, 16, 37,147,201, 90,173, 9, 0, + 86,166,218, 1,221, 92,149,125,178,227,230, 76,138,139, 92,235,165,170, 40,252,221,147, 78, 37, 18, 9,156,157,157,177,116,233, + 82,189, 52,219,128, 63, 92,147, 16, 98,227,238,238, 94,178,121,243,102,215,229,203,151,155, 84, 84, 84, 24, 0,176,115,247,233, +105, 67,211,180,189, 74,165,146, 6, 7, 7,155,127,254,249,231,174, 22, 22, 22,133,132, 16,139,230,164, 83, 46,151,111, 14, 9, + 9,153,191,103,207, 30,202,223,223, 31, 82,169, 20, 61,122,244, 64, 88, 88, 24,189, 98,197,138, 69,114,185,124,189,158,121, 15, + 10, 8, 8,160, 24, 0, 5,165, 90, 68,172,235,138,171, 95,248,163, 92,197,160,168,164, 20, 74,165, 18, 34,145, 72,108,102,102, +102,216,140,243,217,221,207,207,143, 2,240,194, 84,149,148, 84,189, 74, 75,203,160, 82,169, 65,211,180,204,209,209, 81,216,140, +243,105, 25, 16, 80,229, 63, 43, 42, 42,184, 35, 70,140,192,176, 97,195, 80, 82, 82,194, 45, 46, 46,134, 74,165, 2, 77,211,252, +234,134,189, 73, 77,149,132, 71, 49,132,177, 50,144,136,205, 13, 36, 98,115,134, 48, 86, 0,160,207, 54,149,132, 71,253,197,229, +211,130,166,233,221, 29, 58,116,120, 72,211,244, 62, 0,214,173,212,244, 7, 16, 34, 22,139,207,185,185,185,165, 73, 36,146, 11, + 0,214, 87, 55,192, 45,209, 20, 72, 36,146, 11, 33, 33, 33,135, 99, 99, 99,199,158, 63,127,222,233,238,221,187,111,108,216,176, + 33,220,208,208,176,230,193,188, 45,254,109, 58, 57, 57,237,186,113,227,134,127, 96, 96,224,247, 0,132,109,244,123,231, 0,240, +169, 54, 28,127,139, 58,164, 54,182,182,182, 29,125,124,124,204, 57, 28, 14,130,130,130, 64, 8, 9,106,165,102, 32,128, 44, 0, +145, 0,114,171,111,198,116, 0,242, 0, 92,174,190, 81, 9,106,150, 38, 87, 22,254,209,199,159, 14, 94, 48,251, 93,105, 76,138, + 14, 59,207, 42,112,232, 74, 46, 50, 74,132, 24, 56,114,154, 81,159,161, 19, 7,113,249, 70,225,205,213, 92,180,104,201,224,119, +167, 78,146,222,203,164,113,248,106, 30,174, 60, 42, 70, 57,101,130,190, 35,223, 51,113, 15, 24,242, 26, 5,254,222,191,195, 53, +250, 15,104,254, 7, 34, 88,187, 80,176,114, 38, 62, 15,249,230,187,101, 52, 69, 17, 59,151, 65, 15,156,156,187,151, 49, 12, 3, +165, 82, 9,181, 90, 13, 30,143, 7,165, 82,137,148,148, 20,220,184,113, 3, 70, 70, 70,205,250,226,194,162, 34,216,218, 57, 65, + 34,145,180,137,230,244, 55, 71,113, 83, 21, 10,110, 84, 76, 68,215,131, 91,247,119,181,239, 48,240, 81,151,190,159,222, 51, 52, +114, 80,198,197,197,225,218,181,107, 40, 40, 40, 64, 77, 3,250,111,128,162, 40,205,198,141, 27, 99, 50, 51, 51,113,249,242,101, +159,149, 91,126,108,119,175,184, 3, 55,183,148,240, 44, 12,179, 29,221,196,143,117, 5,207,159, 39,205,159, 63,255,130, 92, 46, + 87,205,158, 61,187,143, 62,186,182,182,182, 34,138,162,186, 14, 26, 52,232,131, 41, 83,166, 32, 57, 57, 25, 11, 22, 44, 80,197, +197,197, 21,118,237,218,213,100,227,198,141,252,247,222,123, 15, 81, 81, 81,243, 35, 34, 34,142, 0,184,159,145,145,209,216,179, +212, 4, 34,145, 8, 40,170,186, 81, 85,107, 9,106,134,133,149,150,150,130, 38,133,224,243,249, 52, 77,211, 22, 0,244,186,243, +100, 24,134, 47, 16, 8, 80, 86, 86,134,210,210, 82,100,228,150, 34, 37,187, 12, 37,101,149, 80, 42, 53,168,172, 32, 16, 74,173, +104, 77,110,174, 25,128, 12,125, 52, 9, 33,116, 77,119,163, 74,165,130, 82,169,132, 74,165,130, 74,165,122,241, 56, 31, 14,135, + 35,181,181,181,149,101,100,100, 20, 52,217,154, 10,196, 90, 14,205, 15, 89,178,230,171, 96, 0,224,208,252, 16, 67, 84, 48,250, +108,227, 8,196,218,191,176,104, 9, 45, 44, 44, 34, 14, 31, 62,236,238,236,236,140,103,207,158,185,141, 25, 51,166,155, 66,161, +240, 1,208,220,187,120, 9, 77,211,159, 79,153, 50,229,253, 9, 19, 38, 80, 46, 46, 46,224,114,185,208,106,181,118,137,137,137, +253, 14, 29, 58,180,112,215,174, 93, 59,117, 58,221,124,125,175, 61, 0, 90, 32, 16, 28,220,177, 99, 71,239,110,221,186, 97,223, +190,125,184,121,243, 38,227,239,239, 79, 79,158, 60, 25,142,142,142,221, 39, 79,158,124,180,178,178,114,152, 62, 17,214,122,112, +236,209,163,135, 61,135,195, 65, 96, 96, 32, 63, 42, 42,202, 23, 64, 84,107, 3,206,118,118,118,145,125,251,246,245, 57,119,238, + 92, 76, 86, 86, 86,223,102,228, 23,114,185,124,164,149,149,213, 6,169, 84,106,162,239,103, 74, 75, 75,203,179,179,179, 23,100, +102,102, 30,209,179,252, 7,122,123,123, 67,171,213,194,200,200, 8,214,214,214,189, 40,138,154,111,100,100,244,122,113,113,241, +188,140,140,140,155,205,200,175,109,245, 13,124,205,115, 1,219, 85, 71,173,128,170,231, 89, 62, 3,144, 4,192, 6,128, 61,244, +232, 46, 52,235,208,119,120, 96, 80,191, 94, 65,221,188,232,117, 71,146,161, 99, 24,112,161, 3,151,195, 32, 79,199, 3, 69, 81, +112,116,245,231, 88,221,187,221, 93,171, 86, 15,207, 79, 56,119, 92, 31,205,193,131, 6, 5,117,114,117,161, 55, 29, 75, 69, 97, +198, 61, 93,246,163, 11,121, 20, 77,163,125,151,129,230,142,174, 62,156,142, 62,175,240,178,147,239,245, 83,119,236, 61,160, 32, +241,210, 57,214, 54,176,180,196, 96,145,218,119, 86, 43,190,197,114, 51, 99,180,123,112,239, 14,157,150,165, 42,187,115,231, 14, +204,204,204, 96,105,105, 9,153, 76,134,248,248,120,156, 59,119, 14,143, 31, 63, 6, 33, 4, 62, 62, 62,205,250,226,236,172, 44, +228, 63, 47,105, 83, 77, 7,185, 28, 14,114, 57, 55,175,160, 16,215,238,220,117, 63,190,115, 64,167,108,122,198, 30,165, 82,249, +226, 24,141,230,223,215,235, 98,105,105,169,251,240,195,217,249,211,191, 74,234, 48,190,191, 45,103,100, 15,107, 28,139, 82,112, +194, 47,114,200,178,119, 58,231, 37, 38, 38,232,157,105, 7, 7,135,181,189,123,247,254,132,203,229,242,222,123,175,106,249,145, + 57,115,230, 84,222,189,123,215, 35, 61, 61, 61,169,178,178,178,211,188,121,243,238, 30, 61,122,148,247,238,187,239, 82, 21, 21, + 21, 55,121, 60, 30,137,140,140, 92,165, 80, 40,130,235, 53, 26, 28, 78,236,131, 7, 15,218,105, 69, 54, 48,151,210, 24,180, 44, +166,170,197, 17, 18,228,101,103,224,126,226, 45, 88, 88, 88, 24,153,155,155, 63,202,201,201,169,204,206,206,254, 40, 41, 41,105, +111, 99,233,228,241,120,247,239,222,189,107,103,101,101,133,210,210, 82,164,229,148, 97,247, 53, 10,229,149, 98, 0, 98,112, 32, +133,212,220, 94,218,158,148,199,153,152,152,168, 85, 42,213,162, 39, 79,158,252,208,132,102,193,195,135, 15, 13,108,109,109,193, +225,112,212,135, 14, 29,226,171, 84, 42, 16, 66,180,167, 78,157, 26, 87, 88, 88, 24,216,161, 67, 7,218,209,209,113,163,131,131, +131, 82,161, 80, 76, 79, 78, 78,110,240, 65,195,103,230,116, 84,247, 9,190,248,117,225,179,180, 67, 0, 96,219,205,253,249,137, + 96, 95, 85,159,224,210, 38,183,157,153,211,241,175, 28, 39,248,246,146, 37, 75,220, 77, 77, 77, 49,115,230, 76,172, 92,185, 18, +203,151, 47,119,158, 57,115,230,123, 0, 54, 55, 67, 71,108,109,109,125,107,235,214,173,110, 61,123,246,196,169, 83,167,112,224, +192, 1, 36, 37, 37,105,157,156,156,184,221,186,117,195,138, 21, 43, 48,104,208,160,233,179,103,207,238,147,153,153,233,171,167, +233,152,182, 98,197,138,145,189,122,245,194,212,169, 83, 43, 47, 94,188, 56, 22,192,217,223,126,251,173,127,100,100,228,145, 31, +127,252, 81, 28, 18, 18, 50,120,222,188,121,179, 0,108,111, 65,254, 71,245,238,221, 27, 0,208,171, 87, 47,108,216,176, 97, 80, + 43, 13,150,192,204,204,236,228,190,125,251,124, 92, 93, 93,241,214, 91,111,249,142, 29, 59,246,100, 65, 65,193, 64, 0,122, 61, + 55, 82, 46,151,127,190, 99,199,142,142, 98,177, 88,239, 47, 85,169, 84,166, 51,102,204, 88,223, 28,131,229,229,229,133,139, 23, + 47, 98,192,128, 1,240,244,244,236, 56, 99,198,140,141,131, 6, 13,194,199, 31,127,124, 69,171,213,218,100,103,103,235,251,160, +103, 71, 0, 53,207, 45,117, 0,224,140,170,238, 64, 0,232, 86,253,254,172,218,108,117,210,199, 96, 65,100,240,246,136, 97,195, +164,255, 23,149, 3, 29,195,192,205, 86, 4,119, 7, 25,146,115, 42,144,156,145, 15, 30,165,134, 84, 44,132,119,224,107, 38,207, +179,147,223,134, 62,195, 3,132,146,183, 71,141, 24,102,248,211,181, 28, 20,102,220, 39, 41,183, 14, 93,208, 84,148, 77, 7,128, + 7,151,126,248,214,202, 68, 52,208,165, 75, 87, 78,121,208, 72,147,200, 99,223,188, 93, 0,176, 6,235,143,135, 52, 35,202,251, +207,139, 96,213,144, 95, 8,165,153,181, 59,210,178, 98,171,254,207,207, 71,126,126, 62,218,183,111,143,208,208,208,151,142,109, +233, 19,232,255, 8, 77,115, 19, 99,140,232,215,135,115, 47,254, 27,142,146, 81,182,137,230,223,182, 36, 18, 66, 40,138,162, 82, +242, 52,198,121,197, 26,254,184,126,246,132,199,161, 49,190,159, 3,181,253,120, 10, 63, 79, 41, 49,230,112, 56, 52, 33,164,201, + 59,121, 95, 95, 95,158,151,151,215, 39,187,118,237,226, 41, 20, 10, 24, 27, 27, 67,163,209, 32, 54, 54, 54, 83,161, 80, 36, 1, + 64, 86, 86, 86,252,205,155, 55,179,117, 58,157,157,155,155, 27,102,204,152,129, 78,157, 58, 81,243,231,207, 95,120,240,224,193, + 85,168,103,198, 98,118,118,118,200,210,165, 75,123,175,221, 16,106, 54,169, 27,133,178,114, 21, 74, 75, 75,145,156,112, 31,164, + 84,133, 77,155,190,132, 88, 44,166, 0,240,115,115,115,249,193,193, 43,190, 55, 54, 54, 30, 22, 29, 29, 61,186, 65,131,158,157, +189,102,197,138, 21, 1,155, 54,109, 50, 45, 45, 45,133,178,162, 2, 37, 74, 1,110,124, 89, 21,161,236, 54,239, 38,182,127,177, +145,246,114, 52, 48, 43, 45, 45,197, 39,159,124,178, 85, 34,145,116,143,139,139,123,191, 33,205,140,140,140,184, 37, 75,150, 88, +108,219,182, 77,216,169, 83,167,187,197,197,197, 40, 40, 40,160,143, 30, 61,186,218,209,209,209,116,235,214, 80, 74, 34,145, 0, + 0,210,210,210,248,203,150, 45, 61,104,104,104,248,227,189,123,247,166, 54,116,121, 34,131,251, 86, 2, 68, 97, 99,211,190, 99, +249, 53, 58,216,198,166,226, 74,100,112,102, 24, 64, 20,213,113, 72, 98,109,109, 61, 41,117,159,176, 87,101, 37,179, 37, 43, 43, +229, 49,240,215, 62, 84,214,220,220,124,246,200,145, 35,177,126,253,122, 28, 63,126,124,158,169,169,233,151, 43, 87,174,132,141, +141,205,135,153,153,153, 91,170, 43, 64,125,248, 98,243,230,205,110,110,110,110,152, 50,101,138,234,220,185,115, 75, 0, 28, 3, +144,114,249,242,101,135,189,123,247, 14, 63,120,240,224,250,173, 91,183,138,182,109,219,214,241,141, 55,222,216,194, 48,204, 59, + 77,137, 90, 89, 89,125, 60, 97,194, 4,108,220,184, 17, 23, 47, 94,124, 3,192,169,234, 93,167,175, 94,189, 58, 60, 36, 36,228, +252,178,101,203,176,121,243,230,185,233,233,233,205, 53, 88,134,238,238,238,159, 13, 30, 60, 24,151, 47, 95, 70, 80, 80, 16,122, +244,232, 49,239,218,181,107,161,168,234,218,106, 46,180,161,161,225,193, 61,123,246, 4,181,107,215, 14,107,214,172,193, 39,159, +124,130, 93,187,118, 5,189,245,214, 91, 7,203,202,202, 70, 67,143, 89,190,134,134,134,134, 98,177, 24,235,215,175, 39,169,169, +169, 77, 70, 79,229,114,185,201,103,159,125, 70, 25,233,215, 13,192,177,177,177, 49,178,178,178,234,109,109,109,141,173, 91,183, +194,210,210, 18,243,230,205,131,153,153, 25,202,202,202, 48,122,244,104,222,245,235,215,199, 3, 8,213, 51,223,102, 0,106, 34, + 94,238,213,230,170,164,250,255,235, 0,122, 85, 27,172,231, 0, 76,245, 58,145,132,120,153, 24,203,144,121, 55, 27, 92,104,225, +230, 32,197,237,196, 50,168,117, 4, 18, 3, 67,148,149, 20,162, 75, 71, 11, 20,151,219, 1, 96,244, 90, 4,147,207,161,187, 10, +132, 98,228, 20, 23, 33,235,225,249,124,181,174,114, 70,209,179,171,105, 0, 96,210, 62,104,198,253, 27,103,110,143, 30, 18,100, +153, 91,224, 0, 66,152, 0,176,176, 52,231,199,223,212, 1, 12,243,251,223,126,237,136, 80, 13,106,117,235,110,184,255, 8,205, +250,248, 35, 52,255, 14, 62,203,214,132, 91,100, 32,162,181,191,221,206,209,105,180, 58,252,122, 59, 75, 39, 17, 82, 90, 19,161, +170,152, 97, 24,189, 26,196,152,152, 24,205,229,203,151,247, 45, 94,188, 24,155, 55,111,198,211,167, 79,193,227,241,224,234,234, +106,101,103,103, 39,175,174,184,237, 61, 61, 61,205, 57, 28, 14, 18, 19, 19,113,224,192, 1, 4, 7, 7,147,232,232,232, 93, 13, + 53, 20, 10,133, 34, 54, 59, 59,123,199,186, 85, 75, 10,121,149,153,144,232,114,161, 43,124, 10,158,174, 8,179,231, 45,198,179, + 60, 29, 98,159,149, 32,246, 89, 9,178,148, 34,124,182,102, 19,199,217,217,121,184,173,173,237,160,134,210,154,153,153,121, 93, +161, 80,132, 45, 95,190,188, 40, 47, 47,239, 69,249, 81,107, 25,168,181, 76,221,198, 9,235,214,173, 51,150,203,229,227,108,108, +108,250, 54,164,153,155,155,155,147,153,153,153,184,120,241, 98,117,110,110, 46,138,139,139,113,230,204,153, 55,218,183,111,111, + 58,127,241, 42,234, 89, 30,121,145,206, 34,198, 24, 27, 67,119,114, 58,116,232, 48, 81, 46,151, 55, 58,142,200,198,198,182,163, +187,123,135,195,215,175, 95,159,218,177, 99,199,247,107,140, 85,141,145,114,114,114,154, 25, 29, 29, 61,205,199,199,227,176,149, +149,117,167,191,184, 44,245, 27, 55,110, 92, 39,134, 97,112,248,240,225,187, 0, 54,255,244,211, 79,183, 42, 43, 43, 49,126,252, +120, 39, 0,131,245,212,241,159, 56,113,226,251, 65, 65, 65,152, 59,119,174,250,220,185,115, 93, 1,124,137,170,217, 99, 4, 64, + 10,128,208,200,200,200, 46,179,103,207,174, 12, 8, 8,192,212,169, 83,167,161,225, 49, 57, 53, 4, 78,152, 48,193,141, 97, 24, +132,135,135,223,169,101,174,106,184,112,228,200,145,235, 42,149, 10,147, 38, 77,106, 15,160,127, 51,242,206, 23, 10,133,135, 87, +175, 94,109,156,145,145,129,201,147, 39, 87,198,199,199, 35, 56, 56, 88,108,100,100,116, 10,128, 97,115, 79,166, 80, 40,252,238, +155,111,190, 25,233,237,237,141, 89,179,102,169,190,254,250,235, 57,239,191,255,190,170,107,215,174,248,234,171,175, 70, 10, 4, +130,102, 61, 2, 36, 59, 59,187, 48, 50, 50,210,172,169, 87, 86, 86, 86,182, 62,122,246,246,246,198,158,158,158,119,253,253,253, +243, 58,119,238,220, 1, 0,238,223,191,159,123,248,240, 97, 98,102,102,134, 51,103,206,224,187,239,190, 67,207,158, 61, 33,149, + 74,199, 55, 51, 10, 65,106,253, 93,223,254,186,199, 53, 14, 69,145,162,114, 45,184, 52, 13, 30,135, 32, 37,187, 2,106, 29, 1, +159, 71,131,199, 1,184, 52,129,153,148, 7, 30,143, 3,125,111, 82,104,138, 66, 65,153, 6, 92, 14, 5,158,128, 79,209, 90,221, +139, 16, 33,205,213,137,133, 34, 33,101,105,196, 7,159, 75,129,162,192,194,210,118, 17, 44, 0,208,233,126, 31,248,168, 47, 10, +164, 82,169, 90,149,144, 63, 66,179, 62,254, 8,205,191,146,226,226, 98,110,100,100,164, 17,143,199, 51, 24,230,221, 51,255,243, + 67, 9,230, 43,247, 63,134,128, 3,106,120,103, 90,113, 49,226, 28, 85, 80, 80, 96,226,236,236, 92,160,143, 94, 82, 82,210,244, +176,176,176, 53, 52, 77, 7,232,116,186, 67,155, 55,111,198,246,237,219, 37, 51,103,206,140,215,233,116, 25, 46, 46, 46,246, 91, +182,108, 17, 2, 64, 88, 88, 24,126,253,245,215, 81, 60, 30,239,102,106,106,106, 86, 99,186,119,238,220, 89, 86, 88, 88, 24,149, +148,148, 20, 74, 81,148,177, 84, 42, 53,249,233,167,159, 40, 69,161, 10,203,194,158,190,152, 89,104, 32,228, 96,241,235, 22,120, +243,205, 49,220, 39, 79,158,124,145,145,145,241,107, 67,154,177,177,177,243, 10, 11, 11, 35, 19, 18, 18, 54,243,205, 92,205, 68, + 94,239, 73,251, 47,174,234,126,148,155, 10, 65, 87, 87,136, 69, 69, 69,200,203,203,195,180,105,211,140,215,174, 93,187, 48, 51, + 51,243, 98, 67,154,113,113,113,215,139,138,138, 20, 9, 9, 9,221, 9, 33, 2, 35, 35,163,158,155, 55,111,166, 82,158,171,176, +104,111, 34, 74, 42,170,210, 41, 21,241,176,106,130, 29,166, 78,157,202,125,246,236,217,231, 10,133,162, 87,253,230,202,198,217, +221,221,253,240,254,253,251,221,183,108,217,242,252,201,147, 39,101,114,185,124,101,237, 99,146,147,147, 43,215,173, 91,151, 31, + 22, 22,230, 58,121,242,228,195, 49, 49, 49, 99, 91,186,164, 70,107,145,201,100,235,103,204,152,129,131, 7, 15,162,160,160, 96, + 75,117, 25,219,188,127,255,254,240,233,211,167, 35, 44, 44,108,125,110,110,238, 25, 61, 26,197, 33,227,199,143,199,233,211,167, +113,254,252,249,207, 0, 60,104,224,184,132,203,151, 47, 47,252,249,231,159,183, 78,152, 48, 1,187,119,239, 30,140,170, 1,208, + 13, 49,112,208,160, 65, 56,117,234, 20,242,243,243,191,170,239,128,194,194,194,175,127,249,229,151,238,131, 6, 13,194,186,117, +235, 6, 2,184,160, 71,214,221,140,140,140,246,108,221,186,213,223,219,219, 27, 19, 39, 78,172, 80,171,213,131, 63,249,228,147, +227, 7, 14, 28,144,238,219,183,207,239,189,247,222,187,145,147,147,243,110,117, 4,166,233,198,155,166, 67, 54,109,218,244, 78, +223,190,125, 49,111,222, 60,237,175,191,254, 58, 2,192,217, 51,103,206, 36,126,250,233,167, 39, 55,109,218,196,217,184,113,227, + 59, 31,125,244, 81, 46,195, 48, 75,254,138,235, 77, 81,212,198, 77,155, 54,185,123,120,120,160,162,162, 2, 79,159, 62, 69,118, +118,246,254, 51,103,206,156,189,119,239,222,134,172,172,172,163, 86, 86, 86,211,231,205,155,103,231,239,239,239, 95, 86, 86,102, +162,207,248,195, 90,145,169, 28, 0, 15, 81, 53,177,168,230,188,117, 67, 85,215, 32, 80, 53,163,176, 64,207,196,222, 77,120,150, +209,222,196, 80,134, 2, 70,128,103, 25,121, 16, 27, 24,128, 38, 52,180,202, 2, 56, 59, 90,130, 33, 64,113, 94, 6,104,154,186, +171,143,164, 70,199, 68, 39,167,101,219, 26, 27,136,224,220,117,168,217,157, 11,187,127,144,181,239,249, 30,151, 67,113,120, 2, +195, 29, 19, 39, 76, 49,215,232, 8, 74, 11, 20,160, 56,244, 77,176,176,180,117, 4,171,110,191,127,221, 40,144, 88, 44, 70,101, +101,243,150, 75,249, 35, 52,245,249,206,182,214,252, 43,209,104, 52,210,247,223,127,191, 87,122,122,186,204,213,213, 53,113,168, +191,197,181, 93,115,218, 95,235, 38,123, 80,190,244, 53,234,154,189, 40,251,150, 80, 40, 76, 45, 40, 40, 16,132,133,133,249,106, + 52, 26,137, 62,186, 89, 89, 89,169,153,153,153,135,143, 28, 57,242,195,137, 19, 39,208,169, 83, 39, 92,186,116, 73,154,144,144, +224, 22, 17, 17, 97,224,236,236,140,163, 71,143,226,151, 95,126,217,169, 80, 40,126,110,202, 92,213,144,154,154,122, 38, 46, 46, +174, 99,126,126,126, 71, 99, 99, 99,141,177,177, 49,234,206, 44, 44,171,212,161,176,184, 4,198,198,198,144, 72, 36, 78, 77,105, + 38, 39, 39, 31,191,115,231, 78,123,152,186, 5,113,146,246, 23,125,253, 97, 39,124,253, 97, 39,172,126,171, 3,172, 77, 4, 40, + 44, 44, 68,110,110, 46,114,115,115, 65, 8,129, 78,167,115,215, 67, 51, 53, 46, 46,238, 96, 70, 70,198, 57, 11, 11, 11,202,208, +208, 16, 4, 64, 65,169, 26, 87, 55,248,227,234, 6,127, 20,148,170, 81, 82, 90, 6, 91, 91, 91, 72,165,210,122,187, 35, 76, 76, + 76,164,132,144,189,223,127,255,189,155, 84, 42,229, 76,159, 62,221,248,218,181,107,189,174, 93,187,182,168,206,171,215,135, 31, +126,104, 34,145, 72, 56,187,119,239,118,225,112, 56,123, 28, 29, 29,141,254,228,226,196, 1,240,193,244,233,211,253, 68, 34, 17, +182,111,223,158, 4,224,199,234,125,135,191,254,250,235,120, 0,152, 51,103,142, 39,128,121,104,124, 38, 37,248,124,126, 87,119, +119,119, 92,187,118, 13, 0,126,106,226,187,143, 68, 69, 69,193,217,217, 25, 34,145,200,191,137, 99,157,236,237,237, 17, 31, 31, + 15, 0,177, 13,121,239,248,248,120,216,219,219,131,162, 40, 39, 61,242, 62,242,213, 87, 95,189, 27, 17, 17,225, 31, 24, 24,136, +119,222,121, 71,117,227,198,141,161, 0, 46,197,198,198,246,155, 52,105, 82,153,139,139, 11, 34, 35, 35,221, 38, 77,154, 20, 69, +211,244, 26, 61, 52,167,173, 90,181,106,241,168, 81,163,176,106,213, 42,114,232,208,161,137, 0,206, 86,239,251, 53, 60, 60,124, +242,218,181,107,201,232,209,163,177,114,229,202,197, 0,102, 53, 38, 86, 94, 94, 94,164,211,233, 80, 94, 94,174,215, 29,162,190, +199,183,111,223,126,136,135,135, 7,126,254,249,103, 8, 4, 2,252,246,219,111,160,105,250,100, 86, 86,214,217,232,232,104,239, +204,204,204,213, 10,133,226, 72, 98, 98, 34,130,130,130,104,157, 78, 55, 90,207,242,244, 12,128,119,245,223,105,168, 26,143, 21, + 8,160, 39,128,132,234, 72, 38, 80,245, 60,187,103,250, 8, 50,170,210,125,231, 79, 29, 41, 50, 49,228,195,220,196, 0, 86,230, + 50,112, 52,101,128,170, 16, 29, 29,173, 16,224,110,141,103, 57, 42, 68,157, 59, 92, 88, 94, 90,174,215,242, 18, 58,117,217,158, +243,103,126, 46, 50, 53,228,163, 93, 71, 15, 12,159, 56,215,199,205,187,219,111, 94,190,189,126, 93,182, 34,164,243,171,189,220, +169, 7,105, 21,184,126,254, 88, 65,121, 73,241, 30,214, 50,176,180, 52,130, 85, 95, 0, 52,103,222,188,121,150,243,231,207,135, + 76, 38, 67,126,126, 62, 52, 26,205,139,104,147, 80, 40,132,177,177, 49,242,243,243, 17, 30, 30,142,234,187,149,134,107,112,142, + 64,177,230,171,109,246, 20,199, 64, 37, 20, 75,136,169,164,245,154, 0,160,210,112,115,190, 9, 63,106, 58,164,119, 15,174,131, + 92,254,187,253, 45,209,252,135, 24,172,223,178,178,178,252, 58,117,234,148,229,232,232,168,172,168,168, 0, 81, 42, 75, 78,133, +111,233, 96,111, 52,235, 41, 77,211, 68, 44, 22, 51,198,198,198,101, 79,159, 62,165,180, 90,109, 68,115,244, 9, 33, 51,103,206, +156, 73, 95,190,124,121,226, 91,111,189,133,118,237,218, 33, 54, 54, 22, 97, 97, 97, 56,114,228,200, 94, 62,159, 63,167, 37,233, + 78, 75, 75, 43,117,119,119,127, 41, 2, 82,119,102,161,166, 50, 23, 12,195,232, 61, 56,191, 32, 38,236, 49,199,220, 92,227,233, +240,191,229, 68, 10, 10, 10,144,155,151,135,220,220, 92,228, 85,191, 19, 66,244, 14, 97, 82, 20, 85,162, 82,169,234,164,243,127, +221,143,101,101,101, 80, 87,230, 64,167,211,213,171, 89, 80, 80, 80, 34,151,203,183,133,134,134,110, 90,189,122,181,229,230,205, +155,159, 63,122,244,168,152,166,233,138, 58, 55, 49,162,142, 29, 59, 74, 55,110,220,104, 21, 26, 26,250,156, 97,152,109, 41, 41, + 41, 69,127, 98, 81, 26,229,237,237,189,119,200,144, 33,210,247,223,127, 31,161,161,161, 80, 40, 20,139, 0,212,204,100,100,242, +242,242, 62,253,234,171,175, 78, 44, 92,184, 16,106,181,122,227,169, 83,167, 86,198,196,196,204,172,101,194, 94,194,194,194,194, +142,203,229, 34, 38, 38,166, 24,192,211,166, 60,125, 76, 76, 76, 54, 69, 81, 86,114,185,188, 67, 82, 82, 82,131, 7,154,154,154, +118,148, 74,165,200,200,200, 64, 35, 13,115,114,102,102, 38, 17, 8, 4,148,141,141,141,115,245,177, 13, 98, 98, 98,242,233,247, +223,127,207,141,136,136,192,138, 21, 43,210, 83, 82, 82, 38,213,138,162,197, 68, 71, 71, 7,245,235,215,239,192,194,133, 11, 93, + 63,255,252,115, 42, 62, 62,126, 86, 76, 76,204,178,198, 52, 29, 29, 29,103, 78,155, 54, 13,219,182,109,195,142, 29, 59,102, 1, + 56, 92,231,144, 3, 95,125,245,149,137,153,153,217,182, 25, 51,102, 96,207,158, 61,147,158, 61,123,246, 77, 67,122, 25, 25, 25, + 11,199,141, 27,183,252,249,243,231, 33,250, 92, 80,125,142,151,203,229, 35,252,252,252,172, 8, 33, 8, 13, 13,205,218,182,109, + 91,121,113,113,241,143, 10,133, 34,162, 78, 36,238,232,153, 51,103,230,189,255,254,251,136,136,136,216, 30, 25, 25, 73, 20, 10, +197,247, 77, 36, 65,129,170,117,174,220,171, 35, 88,105,248,253, 64,118,215,234,247,116,125,242,148,159,112,241, 56,135, 39,186, + 26,119,243,226,171, 78,158, 65, 60, 75, 19, 41,108,157,205, 97,106,200, 7, 1,112, 47, 69,137,235,151,206,106,114, 20,169, 81, +250,204, 32,172,209,124,194, 23, 71, 73,204, 29, 95,109,239,209,139,235,228,236,130,129, 61, 59,155,152,201,120, 80,105, 8,126, +139, 43,194,181,200,211,154,156,236,180, 8,118, 6,225,159, 23, 88,253, 47, 69,184,130,184, 92,238, 23,159,126,250,233,142,135, + 15, 31,238, 72, 72, 72,216, 17, 19, 19,179, 99,205,154, 53, 59,130,131,131,119,248,249,249,237,160,105,250, 11, 84,141,157,168, + 27, 17,243,250, 51, 52,251,244, 1,119,226, 96,172, 89, 53,147, 91, 30,182,198, 94,147,123,105, 44, 33,247,103,145, 85, 51, 65, + 90,145,206,214,242,103,105,122,114,185,220, 51,142,142,142,215,247,237,219,119, 48, 38, 38,102,183,169,169,105,230,154, 53,107, +190,159, 51,103, 78,184,181,181,245, 77, 30,143,119, 14, 64,231,150,166,211,202,202,234,141,183,222,122,139,156, 62,125,154,188, +249,230,155,196,198,198,102,104,107,243,222,189,123,247,172,123,247,238,145,135,105,101,228,141,181,113,164,231,130, 91,164,231, +130, 91,100,240,178,155,228,219, 3,103,201,138, 21,193,196,203,203,235, 92,115, 52,187,116,233,146,144,147,147, 67, 8, 33,228, +249,243,231, 36, 62, 62,158, 92,190,124,153, 28, 61,122,148,236,216,177,131,132,132,132, 48,157, 59,119,222,219, 28,205, 30, 61, +122, 60,127,242,228, 9,121,144, 90, 70, 70,173,190, 83,157,206,155,100,216,138,104, 18,126,242, 58, 89,181,106, 21,241,240,240, + 56,212,152,166, 92, 46, 31,191, 96,193, 2,197,243,231,207, 53,254,254,254,145,117,247,251,250,250, 30,203,203,203,211, 44, 93, +186, 52,219,198,198,102,202,159, 93,150,204,204,204,174,166,167,167,147,164,164, 36,242,201, 39,159, 16, 14,135, 83,111,227, 73, +211,244,246,185,115,231,146,167, 79,159,146,204,204, 76, 34,151,203, 99, 27, 73,231, 48, 75, 75,203,219, 0, 70,233,153,158, 97, +150,150,150, 55, 1,140,110, 44,239, 14, 14, 14, 15,210,211,211,137,135,135,199,243,198,196,156,157,157,211,210,211,211,137,139, +139, 75,134, 30,231,243, 53, 43, 43,171,104, 0,107, 1,136, 26,185, 25,253,216,218,218,250, 42,128, 15,244,208, 28,233,234,234, + 26, 3, 96,118, 19,249,126,207,201,201, 41, 14,192,107,127,246,117,247,244,244,188,150,145,145, 65,118,238,220, 73,228,114,249, +194,198, 62,212,174, 93,187,159,143, 31, 63, 78, 20, 10, 5,241,241,241,137,209, 51,157, 92, 0,125, 80, 53, 14,206, 26, 85, 11, +143,242, 0, 88, 1,232, 11,160, 31,170,158,192,161,119, 29, 98,230, 18,104,104,229, 53,228,132,199,171,179,159, 79, 93, 23, 65, + 22,238, 77, 36,159,253,152, 68,230,134, 94, 33,254,195,230, 62,183,233,252,218, 9, 51,151, 64,195,230,106,202,189,135,158,236, + 60,244,227,231,111,175, 59, 79,150,236,123, 74,130, 15, 36,145,143,182, 68,146,128, 17,115,243,237, 58, 15,255,201,210,107,160, +228, 47,174,231,255, 43,154,245,254, 70,254,237, 70, 75, 0,224, 53,169, 84, 26,186, 98,197,138, 29, 55,110,220,216, 49,108,216, +176, 29, 2,129, 32,180,186, 98, 16,180,224, 2,180,185,230,224, 0, 72,167,141,160,119,175,158,197, 85, 31,219,220, 73,179,106, + 38, 72, 27,164,243,159, 82,160,123,241,120,188,107,222,222,222, 17, 82,169, 52,183, 93,187,118,151,121, 60,222, 77, 0,189, 91, +155, 78, 43, 43, 43,243,119,222,121,135,121,246,236, 25,153, 50,101, 10,209,163,251,170, 73, 77,123,123,251,254,163, 71,143,214, +164,101, 21,146,203,113,105,228,196,165, 7,100,255,137,107,100,199,129,179,100,203, 55,123,201,192,129, 3, 43,173,172,172, 28, +155,163,233,224,224, 48,120,196,136, 17,133,121,121,121, 36, 62, 62,158, 92,186,116,233,133,185,250,230,155,111, 72,231,206,157, +243,109,109,109,109,154,163,233,232,232, 56,114,210,164, 73, 26, 69,126, 25,185,241, 32,139,252,118, 35,145, 28,187,112,135, 28, + 56,113,141,236, 61,240, 19,233,211,167, 79,133,185,185,185, 85, 83,154,114,185,124,220,216,177, 99,159,184,186,186,126, 91,143, + 25,248,106,236,216,177, 41, 54, 54, 54,147,255,162,178, 52,216,214,214, 54,158,207,231,159, 4, 48,185,137,207,141,231,114,185, +199,173,173,173,111, 1,120,253, 47, 40,243,195, 44, 45, 45,175, 3, 24,161,135, 97,187,222,128,193, 99, 27,197,170, 50, 57,172, + 75,151, 46,113,214,214,214,155,208, 68,151,175,173,173,173, 72, 46,151,127,225,227,227,115,205,218,218,122,116, 51,211,105, 87, +125, 99, 59,178,250, 21,132,170,181,175, 90,156,119, 51,151, 1,195,109,125, 70, 28,179,233,252, 90,138, 77,231, 97, 41,118,190, + 35,143,153,185, 12, 24,222, 90, 77, 59,223,145, 63,219,116, 25,150,106,215,101,120,178,131,239,200, 99,230,157, 6, 12, 97,205, + 16,107,176,254, 44, 12, 1,140,167,105,122, 59,128,241,104,122, 86,141,215, 95,161, 57,184, 15,108,223,127,147,115,106,209, 84, + 94,110, 27,166,243,159, 82,160, 71,114,185,220,168,234,138,172,205,210,233,236,236,252,253,140, 25, 51,116, 14, 14, 14,219,218, + 74,211,221,221,125,211,240,225,195,213,223,125,247, 29,249,229,151, 95,200,247,223,127, 79, 62,249,228, 19,210,183,111,223, 74, + 87, 87,215,169, 45,209,244,246,246, 94,221,191,127,255,188,240,240,112,114,240,224, 65,178,125,251,118, 18, 18, 18,194,248,248, +248,228,184,186,186, 14,107,137,166,151,151,215,119, 35, 71,142, 84,239,219,183,143, 92,184,112,129, 28, 60,120,144, 44, 91,182, +140,244,233,211,167,194,197,197,229, 13,125, 53, 59,116,232,208,144,193,135,175,175, 47,143,173,112, 89, 77, 86,147,213,100, 13, +214,127,215, 96,213,192,253, 3, 46,192, 63, 69,243, 63,251, 35,145,203,229,226,182,214,180,177,177,233,236,233,233,121,190, 91, +183,110, 5,254,254,254, 57, 94, 94, 94, 71,229,114,185,125, 43,211,233,227,235,235,123,216,199,199,231,137,175,175,239,125,111, +111,239,111,107,150,153,104, 69, 58,187,121,123,123, 95, 12, 8, 8, 40,244,247,247,207,246,240,240, 8,175, 19,185, 98,203, 18, +171,201,106,178,154,172, 38,107,176,154,109, 64,234,242, 71, 60,198,227,159,162,249,159, 69,161, 80, 40,219, 90, 51, 51, 51,243, + 78,102,102,230, 43,109,156,206, 88,133, 66, 49,166,141,211,121, 35, 51, 51,179, 47, 91, 10, 88, 88, 88, 88, 88,244,129,102, 79, + 1, 11, 11, 11, 11, 11, 11, 11, 75,219, 66,161,225, 48, 95,115,158,148,221,146, 80,225, 61, 86,147,213,100, 53, 89, 77, 86,147, +213,100, 53,255,115,154,117,181,235,142,101,173, 59,251,247, 59,176,180,201,133, 97, 53, 89, 77, 86,147,213,100, 53, 89, 77, 86, +243,191,167,249,175,130,237, 34,100, 97, 97, 97, 97, 97, 97, 97, 97, 13, 22, 11, 11, 11, 11, 11, 11, 11, 11,107,176, 88, 88, 88, + 88, 88, 88, 88, 88, 88,131,197,194,194,194,194,194,194,194,194,194, 26, 44, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22,150,255, 10,132, 61, 5, 44, 44, 44, 44, 44, 44, 44,172, 23,105, 29,108, 23, 33, 11, 11, 11, 11, 11, 11, 11, 11,107, +176, 88, 88, 88, 88, 88, 88, 88, 88,254, 25, 6,139,237, 26,100, 97, 97, 97, 97, 97, 97,249, 43,249, 87,122,145, 62,213, 25,235, +195, 94, 95, 22, 22, 22, 22, 22, 22, 22,214,139,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,180, + 28,246, 73,227,172, 38,171,201,106,178,154,172, 38,171,201,106,254,231, 96,103, 17,178,176,176,176,176,176,176,176,176, 6,139, +133,133,133,133,133,133,133,133, 53, 88, 44, 44, 44, 44, 44, 44, 44, 44,172,193, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 13, 22, + 11, 11, 11, 11, 11, 11, 11,203,223, 6, 10, 13,207, 4,184,215, 12,157,150,204, 38,184,199,106,178,154,172, 38,171,201,106,178, +154,172,230,127, 78,179, 41,237,123, 96,249, 67,140, 23,171,201,106,178,154,172, 38,171,201,106,178,154,255, 61,205,127, 21, 92, +246, 20,176,176,252,179, 33,135,193,129,101, 39, 39, 48,196, 6, 92,129, 2, 23,238, 62,165,130,193,180, 90,211,198,195, 17, 42, +141, 21,196,162, 92,252,122, 39,169,181,154, 44, 44, 44, 44,172,193, 98, 97, 97,249,231, 32,119,115,133, 14,235,192,129, 28, 68, +157,136,158, 30,235,128, 7,173, 11,177,155,185,185, 66,195,172, 1,151,182,131, 74,253, 24,189, 59,173, 7,226, 31,176, 39,155, +133,133,133, 69, 63,254,146, 65,238,126,126,126,209,126,126,126,171,251,244,233, 35,100, 47, 1,203, 31, 69,159, 62,125,132,126, +126,126,171,253,252,252,162,255,173,121, 36,119,189, 36,208,234,134,168, 52,140,237,153,168, 66,203,242, 10,157, 43,248,218,161, +228,170,139, 97,171, 52,121,212,171, 21, 26,198,225,135,223,202,173,202, 42,180,238,160,209, 42,205, 26, 60, 61, 61,141,253,253, +253,207,116,233,210,197,156, 45,161, 44, 44, 44,172,193,106, 99, 24,134,241,181,180,180,156,167, 84, 42, 83,186,118,237, 58,226, +191,116,194,187,117,235, 22,213,189,123,247,236, 30, 61,122,100,247,232,209, 35,166,169,237,255, 70,228,114,185,171,151,151, 87, +138,135,135,199,227,218,219, 45, 58,191, 30,232, 22, 52,121,133,153,199,200, 62,173,253,142,174, 93,187,142, 80, 42,149, 41,150, +150,150,243, 24,134,241,253,215,158,204, 50,198, 10, 52,167,223,131,228,114, 73, 86,161,198, 42, 58,190, 92, 10,194,233, 11, 53, +228,173,210,100, 72,255,184, 68,165,193,181,167, 22, 86,151,239, 85,202, 64,232,126, 32,148,117,107,147, 43, 16, 8,102, 17, 66, + 6,242,120,188,185,108,245,251,159,199, 11,192, 8, 0,254,109,168,249,121,167, 78,157, 50, 0,124,196,158, 94,150,127,140,193, +122,211, 9, 61, 39,180, 71,228, 88, 39,148,140,107,143,210, 73,237,113,229,141, 14,104,113, 67,120,244,232, 81,113, 88, 88,152, +165,135,135, 71,120, 64, 64,192,149,174, 93,187,186,180, 68,199,207,207,239,140,159,159,223,152,186,219,186,118,237, 58,174,246, + 54,127,127,255,251,254,254,254, 69,126,126,126, 79,245,209,245,245,245,125,226,235,235, 91,230,231,231,247,164, 78,195, 61,206, +223,223,255, 76,157,239, 27, 83,119, 91,131, 39,156,166,237,142, 31, 63,110,149,141, 59, 80, 0, 0, 32, 0, 73, 68, 65, 84,121, +242,228, 73, 75, 46,151,107, 85,119,251,137, 19, 39, 94,218,222,130,243, 49,221,207,207, 47,170, 78, 94,222,173,187,173, 9,115, + 18,229,235,235,251,110, 29,221, 40, 63, 63,191,233,109, 97,174,122,247,238,125, 37, 54, 54,214, 65, 42,149, 26,215,222,103,109, +102, 60, 40,234,196, 87,243,166,142,121,117,150,133,251, 40,239, 22, 26, 43,151,128,128,128, 43, 30, 30, 30,225, 97, 97, 97,150, + 71,143, 30, 21,255, 91,127,188,228,161, 59, 31, 90,166, 55,195, 16,139, 7, 79, 43, 44,134,190,246, 38, 55,238,137,210, 66,163, +213,153,130,226,244, 37, 23, 29,133, 45,210,212,104,130, 24, 66,172,206,199,241, 45,250, 14,255,144, 19,113,151,107,161,209,233, +204,160, 65,159,150,104,214, 42,135, 60, 14,135, 51,111,198,140, 25, 52, 69, 81, 31,118,232,208, 65,240, 95,170,108, 3,188, 96, +219,191, 43,231,166,175, 59,122,182,161,172,167, 68, 34,185, 13,192,245, 31,118, 58,124, 1, 72, 0,252, 2,192, 10,109, 51, 92, +101,243,170, 85,171, 62,189,119,239,158, 77,251,246,237, 87, 2,224,176, 77, 60,203,223,222, 96,141,115, 66,176,149,181,237,217, +165,155,247,247,254, 62, 50,201,240,235,227, 49, 6,243, 22,134,244,180, 54,177, 56, 53,169, 3,214, 55,242,209,123,141,220,201, +226,233,211,167, 8, 13, 13, 21, 5, 7, 7, 7, 26, 25, 25,221, 9, 8, 8,216,226,238,238,110,208, 68,114, 94,210, 36,132,244, +228,241,120,223, 7, 4, 4,236,169,169,176, 41,138,234, 41, 20, 10,191, 11, 8, 8,248,161,166, 27,178,107,215,174,237,111,222, +188, 41,163, 40,202, 74,159,116, 6, 4, 4,200,163,163,163, 37, 64, 85, 36,160, 79,159, 62, 66,127,127,255, 48, 91, 91,219, 29, + 64, 85, 5,217,161, 67, 7, 65, 64, 64,192, 30,123,123,251,157, 20, 69,245,212, 39,239, 52, 77,195,216,216, 24,251,247,239, 7, +135,243,191,223, 63, 69, 81, 48, 54, 54,198,143, 63,254, 8,138,162,154,125, 62,221,221,221, 13,252,252,252,142,202,229,242, 45, + 12,195,244, 0, 0, 47, 47, 47,137,191,191,255, 17, 91, 91,219,173, 53,219,244,209, 36,132,244,224,243,249, 91,252,253,253,143, +120,121,121, 73, 0,128, 97,152, 30, 92, 46,119,179,159,159,223,209,230, 92, 35, 31, 31,159, 25,222,222,222,153,222,222,222,153, +174,174,174,107,173,172,172, 46,110,219,182,205,172,118,222,107, 34, 87,217, 57,249, 5, 81,183,238,199,207,155,241,102, 95, 7, +123,171, 73, 70,157, 71, 26,233,147,247,154,252, 7, 4, 4,108, 49, 50, 50,186, 19, 28, 28, 28, 24, 26, 26, 42,122,250,244, 41, + 4, 2, 1, 90, 82, 62, 91,193,159,167,153, 79, 89,130, 34, 3,226, 83,148,162,118,206,126, 6,150,110,111,194,194,152, 43,188, +246,176, 76, 10, 14, 94, 1, 79, 98,209, 50, 77,238, 43,247,147,148, 98,147,246, 67, 36,254,221,123,131, 50,112, 17, 94,140, 45, +147,129, 75,183, 76,179,214,125, 90,143, 30, 61, 4, 3, 6, 12,128,141,141, 13,199,200,200,104,210,223,234,124,254,129,154, 1, + 94,176,149,138, 4, 55, 54,173,250,216,207,198, 76,242,179,158, 38,171,169,116,122, 90, 90, 90, 70,124,245,213, 87, 93,165, 82, +233, 37, 61, 77,214,223,225,124,250, 2,224, 3,184, 94,253,255, 3, 0, 65,173,212,220, 28, 28, 28, 60,119,241,226,197, 40, 41, + 41,193,212,169, 83,101, 0, 54,233,171,105,104,104,232,236,237,237,253,131,135,135, 71,106,151, 46, 93, 84,110,110,110, 21,174, +174,174,201,158,158,158,123,133, 66,161,211,191,189,124,254,141, 52, 27,190,249, 35, 68, 64, 8,233, 71, 8,121,141, 16,242, 10, + 33, 36,160,250,111,255,234,215,107,132,144, 1,117,222,253,171, 63, 91,179,191, 91, 3, 26,175,213,253, 92,173,207,212,253,255, +165,191,245, 49, 88,164,206,251, 11,198,180, 71,160,153,181,237,167,159, 31,187, 37,102, 18,226, 16,253, 78,127,196,127, 52, 10, +226, 39,113, 88, 52,123,145, 88, 42, 53,153,253,102,123,244,107,201, 9,123,252,248, 49,194,195,195, 97,110,110, 78,237,218,181, + 75, 56,102,204,152, 89, 50,153, 44,205,207,207,111,146,190, 26, 28, 14, 71,183,103,207, 30,195,145, 35, 71,142, 55, 53, 53,189, +239,235,235,219,158,166,105,221,190,125,251, 12,199,141, 27, 55, 70,165, 82, 61,236,218,181,171, 75, 76, 76,140,238,214,173, 91, +160,105,253,130,118,209,209,209,218,211,167, 79,191,136,138, 16, 66, 30,174, 95,191,126,252, 79, 63,253, 36, 53, 50, 50, 98,124, +125,125,219,219,219,219,223,255,252,243,207, 39, 29, 57,114, 68, 42,147,201,244,154, 97, 69, 81, 20, 42, 42, 42, 32, 18,137, 94, + 50, 82, 20, 69, 65,169, 84, 66, 40, 20,234,157,198, 90,145, 1, 79, 51, 51,179, 71,235,214,173, 27,121,236,216, 49,177, 84, 42, +133,159,159,159,187,177,177,113,252,134, 13, 27, 70,253,252,243,207, 98,169, 84,170,183, 30,159,207,199,143, 63,254, 40,153, 56, +113,226, 8,161, 80,248,200,207,207,207,157,207,231,227,192,129, 3,146, 73,147, 38, 13,147, 72, 36, 15,125,125,125, 61,245,209, +210,104, 52,203,111,221,186, 37,191,120,241,162,220,209,209,113,206,215, 95,127,109,197,227,241, 0, 0, 58,157,238,165,200,213, +164,209, 3,187,205, 93,254, 85,132,178,162, 82,181,102,209,180,190, 60, 29,186,235, 25,181,155, 36,147,201,210,198,140, 25, 51, +107,215,174, 93, 66,115,115,115, 42, 60, 60, 28,143, 31, 63,254,215,222, 25,145,195,224,128,209,249, 2,232, 24,243, 88,105,222, +165,247, 36, 46,114,126, 65,128,187, 33, 55, 50,166,212,146, 16,226, 8, 45, 9, 32, 23,251,112,155,165,201, 33, 93, 64, 49, 46, +103, 99, 41,243,192, 1,147,184, 41, 41, 41,112,114,239,203, 57,113, 11, 86,132, 16, 39, 48,240,107,142,102,109,120, 60,222,138, +177, 99,199, 26, 36, 39, 39, 35, 48, 48, 80, 34, 16, 8,150,183, 69, 20,143, 92,119,117, 36,145, 46,125,201, 85, 23,121, 75,211, +246, 71, 71,174,100, 34,193,245, 3, 63, 28,180,241, 14,154, 78,237,248,216,209,212, 66,202,251,185,149,145, 44, 79, 75, 75,203, + 11, 55,110,220, 48,123,245,213, 87, 17, 28, 28,108, 33,147,201,244, 53, 89,127,117,228,170,198, 92,137, 81,213, 61,152, 1,192, +174, 21,154, 91,131,131,131,231, 46, 89,178, 4,215,175, 95,199,134, 13, 27, 48,100,200, 16,152,152,152, 52, 89,127,188,245,214, + 91,146,192,192,192,232, 17, 35, 70,196,205,157, 59,119,210,137, 19, 39,236,247,236,217,195,127,251,237,183,133, 99,199,142,117, +252,248,227,143,167, 12, 29, 58,244, 94, 64, 64,192,141, 55,223,124, 83,212, 66, 99, 64, 17, 66, 40, 54,158,163,223,233,106,200, +139, 0,232,188,120,241,226, 0,138,162, 78, 44, 94,188,216, 15,128, 57, 69, 81, 39, 0, 88, 0,176,168,254, 91, 80,231,221,130, + 16, 50,160,214,126,179,250, 52,106, 94,181, 63, 87,243,153,122,190,163,238,223,122, 69,176,250, 0,184, 84,247, 0, 46,193,170, + 25,243, 86,139,158,237,253, 18,138, 31, 54,131,206,203, 0,167, 48, 11,149,151,126,129,230,242,113, 76,238,209, 67, 44,166,168, + 53, 45, 57,147, 82,169, 20,124, 62, 31, 9, 9, 9,120,248,240, 33,134, 14, 29,202, 15, 13, 13, 53,246,244,244,252, 46, 48, 48, + 48,206,207,207,175,179, 62,134,197,217,217, 25,227,199,143, 23,124,244,209, 71, 29, 68, 34, 81, 12, 33,132,231,228,228,132,113, +227,198,241, 23, 46, 92,216, 78, 36, 18,221, 98, 24,134, 47,145, 72, 26,139, 14,253, 78, 87, 44, 22, 3, 0,207,197,197,229,118, +120,120,184, 83,207,158, 61,185,103,207,158, 69,113,113, 49,215,213,213, 53,238,192,129, 3, 29, 3, 3, 3,185, 87,174, 92, 65, + 89, 89, 25,209, 87,183,172,172, 12, 98,177,248,119, 6,171,172,172,236,119,198, 75, 15,115, 49,189, 99,199,142,183,194,195,195, +237,130,130,130, 56, 17, 17, 17, 40, 41, 41,129,163,163,227,237,240,240,112,187,158, 61,123,114,162,162,162, 80, 82, 82,162,183, +166, 64, 32,128,147,147, 19,198,142, 29,203, 91,176, 96,129, 29,143,199,187, 37, 16, 8,224,232,232,136,177, 99,199,242,231,207, +159,111, 39, 16, 8,110,232,217,101,200, 1, 0,173, 86,139, 49, 99,198, 24,136,197, 98,164,165,165,129, 97, 24, 48, 76,149, 39, + 85,228,230,223,189,122,235,222,163,121, 51,199,244, 41,171,172,172,252,245,226,237,135, 30, 46,142,118, 20, 69,218, 53,145,247, +206,129,129,129,113,158,158,158,223,133,134,134, 26, 15, 29, 58,148,255,240,225, 67, 36, 36, 36,128,207,231,163, 57,166,242, 31, +135,137,135, 25, 56, 24,152,146,169, 18, 10, 12,236,164,134,230,157,128,231,151,208,222, 70, 8, 16, 74,116,235, 81,185, 1,104, + 50, 16,200, 51,107,150,166,142, 25,152,148,161, 18,170,197, 94,134, 54,182, 14,200,207,207,135,189,147, 27, 42, 97, 33,136,186, + 87,102, 8,210, 76,205,106,186,116,233, 18,100,111,111,111,221,174, 93, 59,228,229,229,193,217,217, 25,134,134,134, 38,190,190, +190, 3, 91, 92, 19, 95,116, 20,162, 8, 61,161,166, 54,129,162, 87,130,112,215,129,155,235, 75,162,125,121,127, 59,115,245,227, + 65, 91, 51,185, 27,112,239, 29, 88,153, 10,176,107,113, 23, 83, 11,169,176,165, 38,203,211,202,202,234,194,141, 27, 55,204, 69, + 34, 17,162,163,163,225,225,225,129, 47,191,252,210,194,196,196,228,239,108,178,106,155, 43, 83, 0, 74, 0, 12,128, 9, 45,140, +134, 80, 0,182,175, 94,189,122,206,146, 37, 75,112,237,218, 53,216,218,218, 34, 39, 39, 7, 65, 65, 65, 41, 5, 5, 5,141,182, + 75, 30, 30, 30,118, 9, 9, 9, 25, 31,127,252,177,111, 88, 88,152,216,192,192, 0,133,133,133,216,185,115, 39, 22, 47, 94, 12, +138,162, 64, 8,193,238,221,187, 37,211,166, 77, 11, 72, 76, 76,204,112,116,116,212,107,248, 70,181,169, 18, 16, 66, 36, 0, 12, + 0, 72, 8, 33,162,217,179,103, 11, 0, 8,171,205,165, 8, 0, 15, 44,117,169,215,139, 0, 48, 95,191,126,125, 8, 33,100,216, +250,245,235, 67,106,181,157, 39, 26,105,111,107,155, 38, 0, 64, 93, 13, 66,200,176,218,239,181, 63, 75, 8, 25, 70, 8, 25, 86, +251,243,141,125, 95, 99, 6,235, 98,117,198,234,218,201,206,214,237, 59,161,240,183,195, 16,115,168,151, 94,116,210, 93,216,139, +184,208, 16,226,217,146,179,104,104,104,248,226, 69,211, 52, 20, 10, 5, 56, 28, 14,150, 47, 95, 46,154, 61,123,182, 55,159,207, +191, 22, 20, 20,180,174, 41,195, 2, 0, 55,111,222,132,179,179, 51,181,100,201, 18, 89,159, 62, 85,119,177,119,238,220, 65,199, +142, 29,169,181,107,215, 74,135, 15, 31, 78, 73, 36, 18,189,163, 67, 52, 77, 67, 44, 22,163,111,223,190,212,158, 61,123, 12,133, + 66, 33, 78,158, 60,137,188,188, 60,188,250,234,171,220, 61,123,246, 24,138, 68, 34, 68, 70, 70,162,168,168, 72,111, 93,138,162, + 80, 89, 89, 89,175,193,170, 47,178,213, 24, 61,122,244,216,101,109,109,189, 37, 44, 44, 76, 40, 22,139, 17, 17, 17,129,162,162, + 34,140, 31, 63, 94,251,227,143, 63,138,100, 50, 25,162,162,162, 80, 84, 84,212,162, 82,126,243,230, 77,116,236,216,145, 90,186, +116,169,184, 71,143, 30, 26, 0,136,141,141,133,139,139, 11,181,116,233, 82,177, 76, 38,219,220,179,103,207, 93,141,105, 48, 12, + 3,133, 66,129,123,247,238, 33, 41, 41, 9,121,121,121,200,205,205, 69, 73, 73, 9,180, 90, 45, 0, 64, 82, 82,124,114,251,158, +227,113, 6, 98,177,164,155,183,139,195,141,152, 7, 57, 6, 98,177,196,197,201,193, 21, 8,174,247,196, 6, 5, 5,173,227,243, +249,215,102,207,158,237,189,124,249,114, 17,135,195,129, 66,161, 0, 77,211, 47,149,171,127,233, 45, 30, 5,158,202, 5,132,242, +189,254,160,212, 52,104,208, 4, 62,114, 79, 3, 68, 3, 80, 92,244,235,102,199,253,249, 74,153, 21, 24,116, 6, 31,110,132,128, +210, 75,147,171,118, 6, 40,191,179,209, 90,179, 94,131,102,241,211,211,211,193,231,243, 33, 20, 10,225,211,243, 13,238,129, 8, +141, 53,128, 46,224,161,147, 62,154,181, 17, 10,133,159, 77,155, 54,205, 32, 35, 35,227,133,230,144, 33, 67, 12, 36, 18,201,138, + 22,155, 43, 90,210, 3, 90, 50,247,126,146,210,113,237, 94,133,219,211, 52,165, 27, 8,230, 67,163,241,105,173,201,114,112,112, +232,235,226,226,146,212,174, 93,187, 94,173, 52, 87,215,194,127, 60,104,107,106, 93,101,174,160, 43, 7, 56, 98, 88, 91,154, 96, +215,138,190,166, 22, 50,113,115, 77,150,167,149,149,213,249,235,215,175,155,139, 68, 34,220,190,125, 27, 2,129, 0, 34,145, 8, +222,222,222,216,177, 99,135,133,169,169,233,223,197,100,153, 0, 24, 4,224, 77, 0,111,212, 50, 87, 78, 0,250, 3, 24, 8,192, + 26, 64, 36,128, 56, 61, 53,123,113, 56,156,147,157, 59,119,206,228,114,185, 15, 66, 66, 66, 62, 88,184,112, 33,182,110,221,138, +190,125,251, 62, 93,180,104, 17,226,227,227,181,229,229,229, 35, 0, 52,218, 16,150,150,150,254,178,116,233, 82,163,215, 95,127, +189,230,127, 92,185,114, 5,251,246,237,131,129,129, 65,109,179,132,225,195,135, 99,250,244,233, 38, 42,149,234,104, 99,154,150, +150,150,175, 68, 68, 68,184, 0, 16, 84, 27,168, 26,131,101,112,238,220, 57, 99,145, 72,100, 26, 16, 16, 32,171,222, 46,121,253, +245,215,205,184, 92,110, 47,176,160, 41, 47,210,144,193,169,107,128,234,219, 87,159,121,106,113,253,219,200,247, 53,102,176,250, + 86, 23,244,223,161,126,158, 13, 33,116,144,112, 40,136,185, 84,213, 59,135,130,152, 98,192, 45,200, 6,213,194,224,167,161,161, + 33,164, 82,233,239,140,150, 82,169, 68,105,105,169, 94, 70,163,102, 44,143,137,137,201,139, 70,187,166, 97, 53, 53, 53, 69,101, +101, 37, 40,138,130,129,129, 1, 12, 12, 12,154, 21,193, 18,137,170, 34,194, 81, 81, 81,184,122,245, 42,184, 92, 46, 76, 77, 77, + 1, 0,183,111,223,198,221,187,119, 33, 16, 8, 96,102,102,214, 44, 93,181, 90, 93,111, 23,161, 74,165,106, 86, 23, 33, 77,211, +168,168,168, 32,183,111,223,198,189,123,247, 32, 20, 10, 97, 97, 97, 1,129, 64,128,180,180, 52, 60,122,244, 8, 2,129, 0, 22, + 22, 22, 45,186, 62, 50,153, 12,133,133,133, 96, 24,166, 38,154, 7,153, 76,134,210,210, 82,208, 52,173, 87, 58, 25,134, 65, 70, + 70, 6,242,242,242,144,154,154,138,220,220,220, 23, 38,171,166,139,176,165, 80, 20,133,210,210, 82, 40,149,202,223, 25,171,154, +114,245,175,228,138,167, 17, 40,222,171,185,133, 26, 97,110,169,192,200,170,227, 0, 32,239, 52, 64,113, 0,158, 9,186,251,182, + 71, 74,150,206, 32, 62, 85, 37,130, 6,131,112,193,213, 68, 47, 77, 14,111, 96, 78,145, 70,152, 92,104, 33,115,247,234,138,156, +156, 28, 8,133, 66, 8,133, 66,248,117,127, 5, 73,153,140,228,193, 51,165, 4, 4,175,234,165, 89,141,143,143, 79, 7,177, 88, +220,195,215,215,151,202,206,206,134, 80, 40,132, 72, 36, 66,143, 30, 61, 64,211,180,119,151, 46, 93,220,154, 85,193, 37,118, 16, +128, 39,233, 14,144,185,143,158,149,219,252, 28,165,116, 29, 62,234, 13,211,205,135,114,220, 30, 61,171,112,130, 74,187, 0,101, +234,174, 45, 53, 89,142,142,142,125, 12, 13, 13, 79,124,246,217,103, 78, 66,161,240,116,187,118,237,130, 90, 84,191, 9, 57,223, +126, 54,119,130,173, 73,141,185,210,150, 1, 28, 49,192,145, 84,153, 44, 43,115,172,249,104,128,169,132,207,251, 63,125, 53,197, + 98,241,129,237,219,183, 91,212,152, 43, 62,159, 15,145, 72,244,226,229,235,235,139,229,203,151, 91,152,154,154,238,255,139, 75, +169, 41,170,198, 85,221, 1,112, 20,192,249, 90,230,202, 25,192,255, 85, 71,173, 98, 0,164,232,169, 25, 56,120,240,224,136,167, + 79,159, 14,141,139,139,147,103,101,101,185,205,159, 63, 31, 91,182,108,193,194,133, 11,247, 19, 66, 92, 15, 31, 62,236,115,243, +230, 77,111,125, 34, 98, 89, 89, 89, 19, 23, 45, 90,148,151,151,151, 7, 0,240,242,242, 66, 97, 97, 33, 22, 44, 88,128,185,115, +231,214,148, 93, 0, 64, 78, 78, 14, 54,110,220,152,157,149,149, 53,181, 49, 77,157, 78,151,246,211, 79, 63,245, 80,169, 84, 14, +213,134, 82, 8, 64,146,146,146, 98, 84, 86, 86, 38,227,112, 56, 82, 3, 3, 3,153, 80, 40, 52,152, 54,109, 26,255,193,131, 7, +238, 90,173, 54,131,245, 84, 47,209,160, 23,169, 47,210,212,208,182,150, 30,175,175,201,106,174,193,138, 4,208,251,119, 6,134, +194,157,212, 91,145, 48,245,240,125, 57,130,197,165, 32,145,202,144,148,145, 6, 62,168,251, 45, 72,224,239, 26, 67, 67, 67, 67, + 40, 20, 10, 44, 90,180,168,252,135, 31,126,184,171, 82,169,122, 92,190,124,121,177, 62, 17, 44, 75, 75, 75,164,166,166,146, 47, +190,248,162,248,244,233,211,218,154,109,105,105,105,100,217,178,101, 37, 7, 15, 30, 36,205,233, 34,172,137, 96, 69, 70, 70,146, + 21, 43, 86, 20,101,102,102, 18, 83, 83, 83,152,153,153,225,220,185,115,218,197,139, 23, 23, 37, 38, 38, 18, 83, 83, 83,152,154, +154, 54,203, 96,105,181, 90,136,197,226,151, 12, 10, 69, 81,208,104, 52,191,139,108, 53,198,213,171, 87,223, 41, 42, 42,250,120, +193,130, 5,202,135, 15, 31, 18, 11, 11, 11, 88, 88, 88, 96,239,222,189,220, 41, 83,166, 40,239,220,185,243, 98, 91, 75, 48, 55, + 55,199,227,199,143, 73, 72, 72,136,242,252,249,243, 60, 0,176,176,176, 64,124,124, 60, 89,181,106,149,178,176,176,240,227,171, + 87,175,190,211, 68,133,131,164,164, 36, 20, 23, 23, 67,167,211,161,178,178, 18,185,185,185, 72, 79, 79,127, 97,176,148, 6,178, +193, 31,190, 61,188, 75,153, 82, 89,126,227,110, 66,106, 55, 95, 15,203, 50,165,178, 60,225, 89,234, 99, 32,184,222,177,109,151, + 47, 95, 94,172, 82,169,122,252,240,195, 15,119, 23, 45, 90, 84,174, 80, 40,234, 45, 79,132,144,127, 95,245, 67, 24,107, 16,210, +235,202,221, 82,227,129,175,141, 19, 80,197, 55, 1, 77, 41,192, 51, 1,120,198,224,138,204, 48,228, 21, 31,206,158, 95,139,173, + 65, 49,129, 16, 9,155, 30,223,194, 16, 43, 48, 76,208,185,219, 21, 38,189,134,206, 22, 60,127,254, 28, 52, 77,191, 48, 88, 18, + 3, 3,188, 50,236, 45,122,247,175,149,214, 96, 72, 79,112, 56,122,143,153,225,243,249,159,190,253,246,219,252,130,130,130,151, + 52,197, 98, 49, 70,141, 26, 37,148, 74,165,203,244,206,250, 67,119, 62,178,133,221,193,144,185,241,201, 74,155,159,174, 42, 93, +231, 47,223, 45,246,236,220, 13, 51, 71, 90,138,215,134,229,120,196, 37,150, 59,129,214,205, 67,185,202,143,236,104,158,201,106, +215,174, 93,144,129,129,193,201, 99,199,142, 73,250,245,235,135,249,243,231, 27, 8,133,194,211,142,142,142,189,155,123,153,202, + 74,116, 31,174,218, 28,150,125,231,208, 32, 64, 91, 82,109,174,254,247,202, 41, 98,176,124,123, 68,145, 70, 71, 38,232,171,169, + 84, 42,167,188,251,238,187,249, 71,143, 30,253,157,185, 18,137, 68,120,246,236, 25,214,174, 93,251,252,249,243,231, 83,255,226, + 82,234, 3, 32, 22, 64, 69,117, 52, 66,130,170,153,130, 61, 0,156, 3,160, 3,144, 13, 64,161,175, 32,135,195, 89,248,245,215, + 95,115,149, 74, 37,166, 79,159,142,180,180, 52,100,102,102, 98,233,210,165,207, 24,134,153, 82,173, 25, 7,224,145, 62,122,106, +181, 58,190,160,160, 96,216,224,193,131, 11, 11, 10, 10,208,185,115,103, 12, 27, 54, 12,214,214,214,176,177,177,193,136, 17, 35, +224,226,226,130,252,252,124, 76,152, 48,225,121,110,110,238, 32, 0,141,206, 66,207,207,207, 79, 60,116,232, 80,226, 7, 31,124, +224,159,150,150,230, 5, 64,174,209,104, 76,149, 74,165, 84,171,213, 26,202,100, 50,179,174, 93,187, 90,204,156, 57,211,248,214, +173, 91, 30,233,233,233,165,205, 48,152,255, 21,234,245, 34,173,184, 17, 63,217,154, 72, 85,125, 17, 48,125,169,105,225,169, 58, +239,255, 43,132,192,242,125, 71,246, 85, 8, 28, 93, 96,228,214, 5, 18,145, 8, 98,161, 0, 98, 99, 83, 84, 48, 12,190,127,150, + 85, 94, 70,200,178, 22, 36,254,165,136, 3,195, 48,216,177, 99, 71,197,154, 53,107, 10,179,178,178,102, 94,190,124,185,203,237, +219,183,239,232, 99,132,138,139,139,113,248,240, 97,229,158, 61,123,158, 42,149, 74, 95, 62,159,175, 81,169, 84,216,191,127,127, +197,150, 45, 91,146,203,203,203,253,121, 60,158,186, 57,221,111, 53, 99,176,120, 60,158,166,162,162,194, 55, 60, 60, 60,241,228, +201,147, 74,153, 76, 6, 30,143,167, 41, 47, 47,247, 14, 11, 11,139, 15, 15, 15, 87,202,100,178,102, 25, 55,134, 97,234,141, 96, +233,116, 58, 8,133,194,102,141,193,186,125,251,246, 78,181, 90,221,109,255,254,253,233,187,119,239,174,144,201,100, 0, 0,141, + 70,227,191,111,223,190,244,111,191,253,182,178,185, 99,145, 84, 42, 21,116, 58, 29,194,194,194, 42, 15, 28, 56,144,174,213,106, +253,107,182,237,222,189,187, 34, 44, 44, 44, 93,173, 86,119,187,125,251,246,206,166,180,116, 58,157,174,176,176, 16, 92, 46, 23, + 79,159, 62,173, 20, 10,133,224,112, 56, 72, 72, 72,120, 97,176, 44,205, 77, 61,122,250,123,185,125,249,237,225, 72, 3,161, 80, + 56,168,175,159,251,131,132,148,116, 66,168,228, 38,242,126,231,242,229,203, 93,178,178,178,102,174, 89,179,166,112,199,142, 29, + 21, 12,195,188, 84,174,254,149, 6, 75, 13, 9, 40,136, 19,210, 42,165, 34,158,134, 66,214,255, 1,124,147,106,131, 85,245,178, +177,181,195,173, 71,229, 82, 80, 16, 64,165,177,108, 82, 83, 67, 12, 64, 65,114, 47, 5, 82, 46, 95, 76,101,101,101,189,136, 52, +213, 24, 34,167,142,238,136, 73, 40, 53, 4, 69,132,168,154, 90,175,119, 69,101,104,104,200, 85, 40, 20, 47,180, 94,104, 58, 57, +113, 52, 26,205, 32,189,243,158,171,147,131, 97, 62,124,156, 90, 97,243,255,236,125,119,120, 20,213,254,254, 59, 51,219, 75, 26, +233, 64, 8, 4, 82, 72, 8,189,247, 34, 85,186, 40, 69,148, 34,213,139,160, 32,162,136, 34, 29,164,138, 82,148,222, 4, 66,239, + 32, 29, 41, 1, 66, 73, 2, 41,164,247,108,218,110,182,151,153,243,251, 35, 9, 2,166,108,128,251,189,247,231,157,247,121,246, +201,206,236,204,155,211,230,156,119, 62,159,207, 57,231,232,159,134,128, 47,190,219, 38,147, 49,133, 64,242, 58, 52, 10,240,194, +204, 49, 77,197,115,183,168, 26,221,141,214,215, 7, 69, 38,163,145,214,238,183,139,186,117,235,118,148,203,229,103,142, 30, 61, + 42, 87, 40, 20, 72, 72, 72, 64,147, 38, 77,176,112,225, 66,185, 92, 46, 63, 93,167, 78,157,174,213,169,166, 59,177, 72,209, 22, +179,237,102,111, 78,203,126,148,196,150, 8, 43,186, 68, 92,169,212, 4,159,204, 59, 81, 84,168, 49,190,119, 59,210,118,169, 26, +180, 15,212,106,117,175,121,243,230,229,231,229,229,189, 36,174, 82, 82, 82,202,132, 64, 87, 0, 81,255,225, 86,170, 64, 73,240, +122, 16,128, 6, 0,154, 2,176, 1, 40, 46, 21, 66,213, 70, 72, 72, 72,115, 95, 95, 95,108,220,184, 17, 91,182,108, 41, 92,189, +122, 53, 8, 33, 8, 8, 8,112,124, 93,206,220,220,220,240,152,152,152,222, 77,155, 54,125,178,126,253,250,116,111,111,111,110, +194,132, 9, 24, 63,126, 60,220,221,221,217,117,235,214,165,118,234,212, 41,242,217,179,103,239,232,245,250,199,246, 52,247,188, +188,188,155, 91,183,110, 13,239,209,163,135,195,216,177, 99, 61,183,108,217,226,245,244,233,211, 58,122,189,190, 86,110,110,174, +226,218,181,107,146,157, 59,119,122, 69, 71, 71, 39, 25,141,198,112,148, 31,208,253,191,138, 10,181, 8, 0, 85,169,208, 49,191, +242, 87, 85,197,111,246,222, 91,238,119, 59,174,171, 16, 85,206,184, 57,152,136,155, 31,214, 47, 90,177,112,219,230, 47, 71, 55, +110, 40,171, 91, 47, 24,172,182, 8,143,179,179,177, 51, 75,173,183, 18,242,115, 88, 34, 46,191,174,192, 98, 24, 6,231,206,157, + 99,247,238,221,107, 33,132,252,170,209,104,190,125,242,228,137,206, 94, 30,142,227,152,113,227,198,105, 11, 11, 11, 15,103,101, +101, 77, 78, 72, 72, 48,119,236,216,145, 25, 53,106,148,182,160,160,224, 56, 69, 81, 19,238,223,191,111,234,208,161, 67,181, 6, + 91,138,162, 32, 18,137, 64, 81, 20,238,221,187,151, 20, 28, 28,220,232,246,237,219,191,196,198,198,126, 64, 8, 97, 34, 34, 34, +210,154, 55,111,222,228,230,205,155,235,159, 62,125, 58,146,227, 56,198, 94,222, 50,235,216,139, 66,138,166,233,231,162,142,170, +166,207, 53, 34, 34, 34, 42, 56, 56, 56, 56, 60, 60,124,199,196,137, 19,123, 3,144,223,187,119,239, 73,104,104,104,195,219,183, +111,239,248,248,227,143,251,148,190, 65,218, 55,126, 91, 44, 24, 60,120,176, 94,173, 86,159, 45, 46, 46, 30, 19, 25, 25,169,111, +222,188,121,217,185,115, 69, 69, 69, 99,170, 81, 71, 11,126,250,233,167,239, 74,235,106,199,154, 53,107, 62,153, 53,107,150,123, + 70, 70,198,115,129,149,155, 87,112,169,253,187,211,216,252, 34,181,121,219,154,217,195,100, 82,137,248,219,101,219,174, 88,153, +231,211,184,171, 18,153,123,130,131,131,143,133,135,135, 47,186,123,247,238,196, 81,163, 70,137,122,247,238,205,136,197,226,127, +166,192, 18,179, 26, 16, 58,115, 88,119, 23,201,186,159,183,138,198, 14,172, 47, 13,109,232, 91, 34,174, 68, 46,184, 27, 93,132, +239,126, 60,200, 45,159,226,158, 8, 14,105, 96, 17, 83, 37,167, 82,160,129,209,154,251, 73,111,145,100,233,175, 51,252, 58,244, +255, 82, 18, 28,218,250,185, 16,122, 26,117, 15,107, 22, 79,227,150, 79,174,145, 8,142,202,132,205, 62, 43, 1, 0,216,108,182, + 97,203,150, 45, 59, 59,118,236, 88, 69,163, 70,141,158,115, 38, 37, 37, 97,249,242,229, 6,147,201,244,158,125,125, 6, 40, 92, + 23, 52, 99, 89,214, 99,207,249,124,255,207, 63,155, 44,151,209, 5, 64,226,202, 18,241, 34,116, 66,179, 80, 55,124,247,153,151, +112,230,210, 19, 33, 55,126,241,211,194, 42, 10, 6,144,105, 15,191, 64, 32, 56,181,100,201, 18,185, 76, 38, 67, 92, 92, 28,100, + 50, 25,164, 82, 41, 90,180,104,129,181,107,215,202, 63,253,244,211, 51, 93,186,116, 81, 94,189,122,213, 86, 29,145,213, 38,144, +109, 55,123,195,179, 91, 43,166, 59,123, 53, 9,114, 67, 94, 49,240,201,247, 39, 11, 11, 52,134,247,171, 41,174,158,139,172,162, +162,162, 94, 51,102,204, 56,191,125,251,118,215,224,224, 96,164,165,165, 97,196,136, 17,249, 42,149,170,219,127,129,184, 2, 0, + 29,128, 90, 0, 98, 81, 18,139, 20,143,146,184,164,215,158,229, 25, 29, 29, 29,145,146,146,226, 61,126,252,120,104, 52, 26,151, +225,195,135, 35, 33, 33, 1,177,177,177, 15,222, 36,161, 70,163,241,110,122,122,122,227,207, 63,255,124,244,236,217,179, 59, 56, + 56, 56,212, 35,132, 16,141, 70,147,200,178,236, 13, 0,123,129,106,237,195, 73, 0,196, 63,123,246, 44,241,217,179,103,158, 59, +118,236,112, 46, 45, 3,160, 36,176, 95, 93,106,189, 99,193,163, 58, 99,242,221,255,196,189,255, 39, 24, 86, 15, 29,198,214,167, +174,142,242, 67,241, 72, 63,104,199, 54,160,236, 89,104,180,220,221,182,155, 55,111, 78,108, 54, 27, 57,127,254, 60,233,219,183, +175,174, 99,199,142,213, 89,104,244, 37,206,174, 93,187,254,109,161,209,174, 93,187,158,109,221,186,245, 75, 11,141,118,233,210, + 37,170, 75,151, 46,234,206,157, 59, 39,216,147,206,206,157, 59, 63,237,208,161,131,174,115,231,206, 47, 13, 36,173, 90,181, 26, +212,189,123,247,151, 76,142,173, 91,183, 30,248,234,185,138,242,254,206, 59,239,164,197,198,198,146,212,212, 84,210,175, 95,191, +231, 29,127,143, 30, 61,210, 30, 62,124, 72, 98, 99, 99, 73,159, 62,125, 50,171, 83,158, 47,162,101,203,150, 19, 58,117,234,116, +243,149, 52,127,242,234,185,202, 56, 59,117,234,116,179, 85,171, 86,159,188,122,174, 26, 11,141, 86,152, 78,111,111,239,192,102, +205,154,229,174, 89,179,134,248,249,249,229,190,248, 91,163,174,227,230, 21,105,180,154, 89, 11, 54, 30, 40,103,161, 81,187,118, +110,111,209,162, 69, 64,199,142, 29,111,244,237,219, 87,119,254,252,121, 98,179,217, 72,243,230,205,201,235,150,231,107,224,223, +206, 73,158, 4,139,200,159,193, 29,200,181,224, 83, 79,119,249, 62, 25,211, 75, 97,186,191,183, 15, 33, 79,191, 36,183, 15,142, + 39,237,130,197,236,159,191,248,196,146,107, 13,207,144,235,129,157,201,153,114, 23,244,252, 59,231,181, 6,157,200,181,134,103, +162,119,248, 62, 25,220,217,221,188,119,215,102, 18, 31, 31, 79,142, 31,217, 75,218, 6,203, 75, 57,131,207,147,107,193,221,236, +225,124,229,153,239,208,174, 93, 59,237,129, 3, 7, 72, 92, 92, 28,185,112,225, 2,105,223,190,189,190, 89,179,102,221,236,205, + 59, 33,160,200,213,144,193,182,203, 65, 55,190, 30,161, 44,250,164,183,212, 52,162,155,216, 60,168,157,200,210,171,185,200,214, + 33, 88,192, 54,241,163,185, 96, 31,144, 94, 45,100, 38,114, 45,232, 58,185, 17,220,219,222,116, 6, 4, 4,164,214,173, 91,151, + 84,244, 9, 12, 12, 84,149, 77,160,169,110,189,183, 9,132,239, 59,173, 36, 89, 23,127,237, 70, 6,116,118,200,111, 27, 42,232, +254, 22,218, 82, 51, 55, 55,183,188,237,219,183, 19, 79, 79, 79, 21,128, 70,255, 13,237,179, 20, 53, 0, 12,194, 95,211,216,149, + 0,186, 1,240,123, 3,206,246,189,122,245,178, 70, 68, 68,144,132,132, 4,114,246,236, 89,210,161, 67, 7, 27, 74, 98,118,240, + 95,148,119,158,147, 71,133,102,184,183, 93, 1,145,229, 9,172,222,189,123, 27,174, 94,189,170, 53,155,205,147,238,223,191,127, +252, 77, 57,255, 29,233,252,119,112,118,235,214,237, 38, 77,211,126,165, 83,128, 51, 47, 94,188,216,188, 84, 20,222,100, 24,198, +175,212,186,151,121,233,210,165,230,255,180,188,191, 40,178,104,154, 62, 7,192,148,145,145,241,124,182,147,123,200,192,118, 53, + 92,156,186, 21, 21,169, 31,228, 68, 29, 63,243, 38,233,108,209,162,197, 64,177, 88,188,185, 75,151, 46,202,115,231,206,201, 34, + 34, 34,168,127, 82,121,146, 51,245,197,112, 16,183, 4,139, 57,145, 9,250,122,223,110,205,171,223,191, 87,123,225,142,131,215, +184, 21, 83, 61,158,181, 15, 81, 36,129,226,150,131, 53,133, 83, 93, 83, 76,118,115,202,169,214,128,112,206,195,103,122,223, 89, + 27, 10,253,223, 25,240, 9,115, 34,108, 51,247,227, 84,215,103,237, 67,148,169, 0,150,131,211,223,178,151,243, 85,145, 37,145, + 72,206,140, 28, 57, 82,185,111,223, 62,131,209,104,236,255,224,193,131,203,213,201, 59,185, 25, 84, 7, 54,106, 49, 64,124,170, + 46, 54, 58, 30, 54,110, 33,213, 61, 38,245,191,161,222,219, 4,194, 87,225, 32, 57,169, 55,217,102,216,105,185,178, 39,157,205, + 92, 92, 92,118, 23, 22, 22, 14,183,211,114,245,127,153,119,119,148,172,115, 37, 40, 29,107,162, 80, 69, 12,147, 29,156, 29, 25, +134,249,170,126,253,250, 77, 18, 18, 18, 34, 89,150,253, 17, 37,179,206,254,241, 99,199,255, 8, 39, 47,176,222,180, 2, 58,118, +236,120,159,101,217,179, 34,145,104,241,213,171, 87, 77,124,227,227, 57,255, 29,156, 93,186,116,145, 88, 44,150,185, 12,195,244, +185,113,227, 70,139,127, 90,222, 95, 20, 89,247, 99,117,126, 75,247, 20,248,126, 49,220, 37,213, 14,113, 85, 57,103,169,200, 10, +143,209,215, 93,190,183,216,119,230,112,101,170, 29,226,202,174,188, 55,111,222,188,131, 84, 42,221,105, 48, 24, 38,216, 33,174, +254, 46,176,158, 4,139, 80,104,173, 5, 27, 19, 10, 26, 21, 47,211,207, 17, 61,132, 76, 36,178,144, 67,189,255,196,194, 63, 71, + 60, 39,207,201, 11,172,255,107,252, 71, 86, 61,174, 96,176,227,193,227,173,162, 84,188,207, 43,253,252,243,222,142,250, 38,152, +201,153,250,247,224, 32, 94,214, 34, 80, 54,237,240, 98,153, 30, 28,149, 14,138, 91, 91,133,184,170,138, 51, 28,114,235,178,214, +129,178, 25, 71, 22,203,244, 0,178, 65,176,166, 10,113,101, 23, 34, 34, 34,254,132,253,110,162,191,167, 47,248,137, 5, 64, 18, + 33, 72,198, 15,149,188, 32,126, 15, 66, 81,124,240, 48, 15, 30, 60,254,199, 4, 22, 15, 30, 60,222,162,200,122, 18,124, 23,249, +204, 44,176,240,131,196,150,130, 34, 91, 54,213, 55,197,252,134,156,119,144, 79, 77, 7,135, 64,136,109,207, 80,100,126, 35,206, +183,158,239, 18,241, 84,177,128,154,207,183, 13, 30, 60,120,240, 2,139, 7, 15, 30,111, 34, 54, 74,172, 58,233,165,159,255, 90, + 78, 30, 60,120,240,248,159,234,155, 81,241, 76,128,234,248, 86, 95,103, 54, 65, 36,207,201,115,242,156, 60, 39,207,201,115,242, +156,255,115,156, 85,113,243,177, 93,255, 38,225,197,115,242,156, 60, 39,207,201,115,242,156, 60,231,255, 30,231, 63, 10, 52, 95, + 4, 60,120,240,224,193,131, 7, 15, 30,111, 23,255,209, 24, 44,153,107,128, 55, 4,116, 19,138, 35, 13, 1,128,208,212, 83,216, +184, 71,134,252,184,172, 55, 38,247, 8,149, 43,133,204, 94,173,149, 29,133,220, 72,253, 91, 74,114, 71, 0,190, 40,217, 59,234, + 6,223,124,120,240,224,193,131, 7, 15, 30,213, 18, 88, 1,237, 6, 95, 87,200, 20,254, 0,192, 17, 2,150, 3, 52,133,185,183, + 82, 31,255, 49, 4, 0,188, 67,186, 31, 17, 43,220,218,113, 28, 1, 71, 8,108, 28,129,205,100,136,207,123,114,218,174,157,231, + 21,238,129, 67,186,191,211, 99,104,255,254,239, 6, 53, 14,109,220, 0, 0, 30, 71, 62,126,118,242,228,169,152, 75,127, 80,135, +117,170,216, 35,111,146, 49,165, 80, 56,175, 85,235, 54,189,239,222,189, 51, 87, 11,124,243,150,202, 75, 68,110,244,219, 69,117, + 60,221,131,111, 58, 60,120,240,224,193,131, 7,143,106, 11, 44,133, 76,225,127,233,216, 86,143, 35,215,211, 0, 0,239,180,240, +194, 15,171,182, 15,222,242,248,143, 24, 0,104,215,185,111,224,183,159,143,193,205, 40, 21, 8, 33,104,230, 95, 3,131, 63,252, +212,174,127, 42,245, 12,110, 53,108,216,123,163,102,205,154, 57, 48, 62, 62, 62,121,223,190,125,215, 1,160, 83,231,206,254, 75, +150, 44,249, 96,165, 75, 13,201,254,176, 67, 25,198,156, 39,175,181,127,144,194,179,190, 91,195, 32,255, 79,246,254,246,163,160, +123,191, 17,227, 83,173,154, 53,186,156,132,188,215,225, 18,215, 14,241,115, 18,138,126,160,104, 90, 96,210, 22,120, 0,128,139, + 79,179,147, 18, 7, 15, 86, 42,149, 61,214, 25, 12, 59,115,159,156,221, 2,126,195, 78, 30, 60,120,240,224,193,131, 71, 85, 2, + 11, 0,148, 82, 1, 98,146, 74,188,117,206,114, 96,226,199,239, 33, 39, 39, 59,208, 98,227, 48,122,248, 16, 68,196,100, 33, 54, + 73, 5, 66,128,192,218,118,239, 37, 12, 6, 92,203,113,227,199,117, 57,119,254,124,248,188,111,231,237,162, 40,220, 2,128,205, +191,254,214,238,187,239,191,155, 48,250,227,209, 61,195,194,194,162, 0,188,150,192,162, 69,206,107,150, 47,254, 65,153,145,103, + 52,126, 54,243, 75,102,214,231,211, 87, 2,248,248,117,196, 85,176, 79,237,197,215,207,135,201,229,114, 57,182,108,217, 34, 1, +142, 97,254,172,113,210,119,251,247, 7, 11,166,253,143,191,236,107,114, 94, 44, 30,175,215,235,135,228,199,253,145,197, 55, 41, + 30, 60,120,240,224,193,131, 71,165, 2,139,229, 8,158, 38,102,151,136, 22, 70,128,119, 59, 56, 97,229,162,175, 96, 48,177,120, +152,168,198,209, 63,211, 96,210, 21,129, 16,160, 67,168, 71,121, 54,156,151,166, 90,174,252, 76,214,156, 17, 11,135,223,138, 85, +212,173,225,226,226, 18, 23,190, 75,247,221,135, 57,193, 2,155,229,254,162, 19,173, 18, 21, 14,226,246, 7,195,194, 66, 6,244, +239, 47,118,116,116,154, 45,114,238, 89,155, 51, 90,102,170, 83,174,170, 43,226,124, 21, 10,207,144, 46, 3,222,237,247,174,151, +151, 39, 59,114,201,173,167, 63, 79,107, 81, 39, 32,176, 97,215, 88,171,190,139, 46, 39,246,106, 5,183, 69,150, 39,174, 26,120, +123, 46,190,122, 54, 76,110, 52, 26,145,152,152,136,252,252,252,146, 31, 41, 10, 52,205,160,150,183, 55,214, 47,157, 41,223,119, +164,113,139,121, 75, 55, 30, 3,208, 26,127,149,194,191, 99,154, 41,207,201,115,242,156, 60, 39,207,201,115,254, 83, 57,255, 81, + 40,155, 69, 88,174,123,235, 89, 90, 62, 98, 18,179,208,188, 97, 45, 52,168,235,133,240,184, 66,236,189,148,134,109,231,147,113, +233,145, 10,156,208, 1,217,197, 20,226, 83,114, 16,155,156, 87,165,143,140, 17, 11,135,207, 88,161,158, 21,226,167,105,123,229, +192, 52,212, 84,198,133,124,181,170,104, 26, 35, 22, 14,247,240,114,222, 55,107,250,228, 15, 29,228, 50,177,217,100, 70,189,186, + 62,210, 41, 19,198,141, 21, 41, 21,251,236,205,140,155, 91,176, 66, 44, 83,236, 90,252,221, 76,233,234, 35,113,169, 58, 51, 90, +120,157,249, 0, 0, 32, 0, 73, 68, 65, 84,209,133,221,204, 76,152, 53,231, 59, 13, 35,148,253,234,230, 22,172,176,135, 71, 92, + 59,196,207,215,213,117,241,141,115, 97,114,139,197,132,204,204, 76,152,205,102,216,108,182,231,215, 16, 0,197, 6, 27, 18,179, + 12,232,210,185, 3,211,188, 89,163,134,238, 13,251, 78,226,155, 20, 15, 30, 60,120,240,224,241, 90,248, 71,133,218, 84,184, 76, +131,206,160,139,255,104,210,172, 92,127,135, 44,243,144,110,193, 0, 1, 84, 89,201,136, 14, 63,135,184,251,231, 81,172, 74, 5, + 33, 64,221,186,117, 32, 50, 36,154, 55,111,218,144,203,217,140,241, 21,241, 13,236,233, 93, 59, 62, 67, 65,175,152, 85,231, 86, + 92,108,150,219,212, 89,219, 17, 23,155,229,182, 98, 86,157, 91,241, 25, 10, 90, 46, 98,219,127, 60, 98, 16, 53,168,127, 31,124, +245,213, 44, 12,234,223, 7,179, 38,127, 64, 73,197,194,182,246,102,198, 40,150, 46,155, 51,111,129, 67,118,145,197,124, 39, 86, + 99, 82,202,229,146, 63,159,234,244, 38, 34,179, 12, 28, 62, 81,101, 18, 9, 22,216, 35,174,188, 29, 29, 23,223,252,227,144,156, + 16,130,244,244,116, 88, 44, 22, 88,173, 86, 88,173,214,231,215, 21,105,173, 72, 85, 25,144,146,171, 71,100,178, 6,125,251,244, +145, 11,132,226, 15,249,231,131, 7, 15, 30, 60,120,240,224, 81,161,192,138,187,117,180, 83,196,197,221,158,121, 57, 57,106,133, + 68, 0, 1, 77, 35, 55, 61, 1, 59, 87, 77, 71,216,207, 51, 81,148, 21, 15, 66, 0,153,136,129, 73,155,175,206,126, 24,230,153, + 95,201, 12, 66, 10,214,158,191,236, 78,170,151,156, 69,156,246,158,213, 10, 1, 96,239, 89,173, 48, 57,139, 56,253,178, 59,169, +158,152,168,192,177, 44,250, 15,122, 15,187,118,108, 65,187,238,131, 16,118, 45, 21,122,131,197,174,253,207, 36, 30, 1,117, 61, +188,188,222,155, 49,186,135, 67,235, 64, 23,101,128,143, 51,195, 8, 69, 54,177, 80,194,157,184,167,206,232,221,127, 8, 45, 87, + 56,246,145,120, 4,212,173,140,199, 73, 40,250,225,207,243,135,228, 12,195, 32, 53, 53, 21, 22,139, 5,102,179, 25, 38,147,233, +185, 5, 75,163,183, 34, 35,223,128, 52,149, 30,169, 42, 61,158,164,106, 32, 86,184,192,106,181,242, 11,175,241,224,193,131, 7, + 15, 30, 60,236, 91,104, 52, 51,183, 0, 53, 28, 24,184,215,172,135, 81,211, 87, 2, 0, 88,206, 6,130,146,229, 25,236,177,233, + 17, 8, 47,252,107,116,189,196,186,222,148,250,195,190,114, 3, 0,124,216, 87,110,168,235, 77,169,255, 53,186, 94,162,158,117, +177,176, 44,139, 27, 81,185, 88,177,255, 9,230,109,127,132,115,247,236,143, 25, 23, 8,101, 51,150, 47, 93, 34, 23, 48, 20, 21, +149, 82,172,205, 42,176,105, 69, 34,161, 69, 40, 22, 88,181,102,202,144,172, 98,243,251,188, 63, 53,137, 97,132, 83,171, 76, 43, +225, 64, 8,129,201,100,130,217,108,126,254, 41,179, 96, 21,104, 45,200,204, 55, 34, 85,101, 64, 90,233, 39,167,208, 0, 66,248, +137,132, 60,120,240,224,193,131, 7,143,151, 5, 86,185,187,211,115, 0,226,146, 85,144, 8, 56,212,174,211,224,175, 43, 8, 64, + 8, 96,181,113,118,253,163,227, 23,178,210,253,106,233,200,236,149,169,237, 66, 27,186, 62,154, 50,210,231,105,104, 67,215, 71, +179, 87,166,182,243,171,165, 35, 86, 78,204, 18, 66, 64, 56, 2, 66, 8, 8, 1, 56,206,126,193, 66, 81, 76,219,102, 13,125, 5, + 63,236,139, 79,153,186, 33,246, 41, 37, 16, 88,197, 98,177,205,211, 73, 70,213,118,147, 9,138, 77, 48, 6,133, 54,183, 82, 64, +243,202,120,212, 86,203,247, 29,122,191,175,183, 88,108,240,241,241,129,217,108,126,238, 34, 44,179, 96, 21,105, 45,200, 40, 48, + 34, 77,101, 64,170,202, 0,131,145,197,227,167,201,160,104,134, 15,250,227,193,131, 7, 15, 30, 60, 94, 31,229,106,145,255,159, + 5, 22,245,194,231,111,240,245,241,196,157,200, 20,212,241,148,192,209,201, 1, 79,159,165,131,102, 4, 96,104, 10, 54,214,254, +114, 32,102,235,254,213,179,157, 86,166,102,177,183, 55,236, 78,136, 79,205, 98,111,175,158,237,180,146,152,173,251,129, 18,193, +198, 17, 2,238,133,191,118,115, 19,206,195,205, 73, 34,184,251, 76, 91, 64, 49, 2,147, 72, 40, 48,121,187, 74, 40,111, 55,153, +192,199, 85, 38, 86, 72,133,180,183,167, 39, 7, 66, 60, 43,227, 49,167, 71, 39,102,107, 52,115, 59,245,122, 79, 47, 20, 10,225, +231,231,247,220,130, 85, 38,176, 74, 44, 88, 6,164,170,244,200, 46, 48, 66, 38,161,241,240,214, 69, 61,203, 90,119,242,207, 6, + 15, 30, 60,120,240,224,241, 90,168, 84,139,252,255,134,170,183,202, 33, 4, 10,185, 12, 28, 45,197,141,123,207,208, 48,184, 9, +182, 31, 15, 71,131,208, 54,200, 42,182,129, 84, 99, 59,195, 89, 63, 25, 34, 0, 68, 12,236, 41,175, 61,164,111,173,158, 4,194, + 11, 27,126,215,164, 3, 64, 80, 91,148, 10,171, 18,203, 21, 71, 74,150,137,168, 70,173,100,166,230,234,148,245,188, 20,120,146, +102, 54, 57,200,165, 54,103,185, 72,224,238, 36,102, 28,101, 2,129, 64, 68,211, 69, 69,170, 98,128,202,172,138,203,156, 30,157, +152,138,144,185,157,251,142, 88,124,253,236, 1,121,253,250,245,241,240,225,195,231, 46, 66,189,209, 6,170,216, 2,161,140, 32, +160,150, 18, 79, 35,174,179,249,185, 25,209,133,177,103,183,240,207, 7, 15, 30, 60,120,240,224,193,195, 46,117,196,113, 4,238, +110, 46,144, 40,157,144,168, 50, 67, 11,119,168, 13, 20, 56, 22, 96,109,149,138,160,114,131,190,143, 95,200, 74, 63,118, 33,111, +235,241, 11, 89,233, 47,107,185,191,220,131,132,144,138, 92,132,161,229,235, 64,246,204,201, 11, 55, 10, 6,183,245,112,166,133, + 66,131, 88,194, 88,100, 82,161, 85, 46, 17,192,195, 73, 36,174,237, 34,146, 92, 57,245, 59, 77,113,228,146, 61,156,230,244,232, +196,164,220,220,185,221,251,143,212,123,122,121, 97,244,232,209,168, 83,167, 14, 0,160,134,130,134,175, 11, 13,129, 41, 27, 87, +143,111,213, 61,189,127,249, 62, 88,211, 16,188,108,214,228,119, 89,231, 57,121, 78,158,147,231,228, 57,121,206,255, 81,216,181, +217,115,125,111, 5,252,107, 41, 96, 52,123,194, 96,102,161, 51,217, 80,172,183, 66,173,183, 34, 57, 91,143,216, 43,111,158, 16, + 82, 42,176, 64, 40,112,132, 0, 84,137,155,144,216,105, 40,212, 9, 53, 43,151, 47,249, 97,196,129,131, 71,200,103,253,188,107, +223,137, 55,164, 73, 24,161, 89, 46,161, 5,142, 50,154, 77, 74, 76,202, 60,127,242,247, 70,122,169,126,140,189,105, 50,167, 71, + 39,198, 1,115,131,154,119,255, 1, 4, 2,179, 65,173,152,211, 33, 4,231,206,158, 50,136,111,220,183, 82, 2,113, 36,199, 90, +118,151, 90,174,248, 8,119, 30, 60,120,240,224,193,131,135,125, 2, 75,111,208,199,247, 28,250, 73,233,134,207, 4, 44, 91, 98, + 89, 98,203, 92,121, 28, 1,107, 49,196,191,105, 66, 88,142, 11,223,184,125,127,191,166,205,218, 48, 33,190, 14,208, 20,229,225, +222,157, 91, 54,194,113,183,236, 34, 72, 73, 49,217, 60,164, 31,188,255,222,224,223,199, 79,254, 76,219,169, 75, 55,185,171,171, +163, 45, 47, 55, 95,179,115,203,129,194, 35, 7,246, 52,162, 56,238, 35,164,164,152,170,147, 46,115,122,116,162, 25, 40, 91,223, +170, 59, 16,210, 69,151,249,104,128, 14,184,196, 55, 31, 30, 60,120,240,224,193,131,199,107, 9,172,248,219, 71, 59,253, 95, 36, +164,160, 32,103,244,238,223, 15, 47,218,115,224,120, 7,147,197, 82,139, 3,147,198, 90,173, 87, 37,197,249,223,217,203,161,203, +141,137,134,175,111,203,223,126, 94,249,249,175,191,172,238, 1,142,109, 0,138, 74,162, 56,114, 73, 43,213,143, 71,102,245,196, + 85, 57,200,163, 58,158,238, 5, 32,143,111, 58, 60,120,240,224,193,131, 7,143,215, 22, 88,255, 87, 40, 76, 8, 47, 46, 4, 62, +123, 99,162,148, 20,147, 22, 88,138,146,207,219, 70, 36,248,253,151,120,240,224,193,131, 7, 15, 30, 85,128,230,139,128, 7, 15, + 30, 60,120,240,224,193,227,237,130, 66,197, 51, 1,170, 99,169,121,157,217, 4,145, 60, 39,207,201,115,242,156, 60, 39,207,201, +115,254,207,113, 86,197,205,123,138,254, 77,194,139,231,228, 57,121, 78,158,147,231,228, 57,121,206,255, 61,206,127, 20,120, 23, + 33, 15, 30, 60,120,240,248,159,131,107,192, 0,165,107,192, 0,165,189,215,187, 5, 15,243,116, 11, 30,230,201,151, 28, 15,123, + 33,224,139,224,173, 64,130,146,109, 27, 45,255,169, 4, 56, 59,215,115,180, 57,184, 29,161, 57,211,114, 77,250,227, 11,111, 59, +127, 33, 33, 33,205, 0, 32, 58, 58,250, 1,128, 55,157,141, 9,185, 71,224, 72, 23, 71,231, 73, 22,206,204,234,117,250,141,186, +156,184,176,183,153, 96, 55,183, 96,133, 89, 34, 91, 1,138,244, 5, 1, 77,104,234, 34,163,177,126,161, 86, 63, 82, 87,118,159, +207,192, 37, 13,199, 15,123,247,219,173, 97,167, 22,165, 29,255,230,233,171,191,187,244,249,201,225,179,209, 61,102,255,188,255, +228,242,252, 19, 95,105,249,166, 95,125,248,116, 24,233,108, 19,120, 49, 89, 87, 87,229, 87,231,190, 90,129,109,163,132, 66,161, +187,197, 98,201,205,140,187, 99,215,219,115,237,160,118, 17, 12, 67,215,100,109, 92,122,122,236,173,150,124,233, 87, 13,153,119, + 80, 51,138,101,191, 34, 28, 43,228,192,172, 49,229,197,223,120, 19, 62,111,111,111,153,147,147, 83,103, 71, 71, 71, 31,185, 92, + 46, 45, 44, 44, 52, 20, 22, 22,166,166,164,164, 92, 2, 96,251, 79,228,209, 45,100,208,215, 12,141,239, 75,191,255,144, 23,125, +108,105,229,215, 15, 92, 68, 81,214,175, 75,191, 47,205,139, 62,254,237,127, 67, 93,121,132, 14,105, 3,194,125, 78,211, 76,123, +150,216,150,168, 34,143,111,168,206,253,109,219,182, 29,108,181, 90, 37,101,199, 66,161,208,116,251,246,237,163,252, 83,240, 31, + 18, 88,181,130,135,185, 88, 5,100,190,128,161,223,227, 8,113,200,126, 24,166,248,111,206, 96,157,214,163,239,209, 52, 93,251, +197,115, 28,199,165,167,134,239,126, 91,157,109,237, 85, 51, 90,124,149,147,111,208,252,184,231,233,194,138,196,135, 71,211, 17, + 55, 41,154,242,163, 40, 10, 52, 5, 48, 52, 5, 0,153,105,225,123,202,219,124,218,219, 81, 33, 8,212,232,108,145, 0,170, 28, +132,164, 53,252,107, 10, 92, 60,175,118, 29, 50,173,222,189,115,219,131, 89,139,165,135, 46, 55, 38,250, 45,228,205,189, 65,131, + 6,173, 24,134,113,157, 54,109,154, 8, 0,214,172, 89,227,207,178,108,254,179,103,207,238, 2, 80,189,150,184,114, 15, 26,189, +238,199, 31,118,245,237,219, 23,153, 42, 29, 86,172,217,208,245,236,201, 3,239,191, 53,145,229,221, 92,102, 19, 51,145,159,126, +254, 93,237,126,221, 90, 9,138,180, 86,156,190,116,123,116,216,182, 21,221,157,208,164,113,101, 34,139,211, 23,125,235,233, 64, +250,112,250, 34, 0, 24,249,183,246,175,180,190, 83, 67,142,190,222, 18,193,195,124,224,112,149, 73,105,249,209, 57,161, 72,228, + 75, 81,116, 73,189, 51, 20,232,210, 54, 96,179,154, 83,158,221,216,222,251,191,162,163,110,254, 97, 54, 5,202,149, 46, 77, 31, + 69, 1, 52, 77, 67, 64, 1, 32, 68,147,120,107,135,235, 91,248, 55, 78,161,254,206,141, 58,248,235,182, 94, 77, 44, 80, 10, 58, +207, 56, 69, 17,122, 67,234,245,213, 15,237,185, 89, 42,149,186,156, 56,113,194,189, 79,159, 62, 78, 30,141, 6, 93,181,231, 30, + 49,163, 13, 57,121,242,184,168, 79,159,222,213,104,159,129, 61, 65,211,187, 41, 64,200,113,100, 13,195,145, 3,218,252,216,103, +168,230, 98,194,238,141, 6, 45, 0,133, 96,187,111, 32,120,162,138, 58,246,221,107,150, 45, 35,243, 8, 26, 35,147, 74,103,249, + 7, 54, 12, 76, 78, 74,136,213,104,212,171, 13,185,177, 91, 75, 95,254,236, 6,101, 99,103,156,191,116,115,152, 64, 40,164,122, +119,107,165, 48, 1,189,171,203,241, 34, 60, 61, 61, 7,175, 95,191,190,126,187,118,237, 0, 0, 54,155,205,241,224,193,131, 94, + 11, 23, 46, 84,196,198,198, 30,126, 29,206,154, 53,107,214,114,114,114,170, 35,147,201,106, 1,128,193, 96,200, 80,171,213,169, +153,153,153, 25, 85,166,167,233, 48, 55,194, 90, 23,156, 61,252,171, 0, 0,122, 15,157,180,168,110,151, 89, 46, 20, 35, 52,148, +119, 61,107, 51, 43, 76,133, 73,159, 95, 60,177,157, 2,128, 30, 3,199,206,113, 11, 30,246,115,222,147,176,156,255,200,195, 58, +108, 24,227, 22,103, 25, 76, 17,234,139,230, 45, 90,180, 29, 58,168, 47, 66, 26,212,196,224, 17, 83,102, 1,168,150,192,178, 90, +173,146,176,176,176,218, 52, 77, 51, 22,139,197, 56, 98,196,136,220, 55, 73,154,127,135,143,110,130,162,124, 44, 54,219,111, 41, +183, 27, 44, 2,230,115,175,166,221, 59, 73, 48, 23, 20, 61,129,112, 92, 90,246,131,223,219,243, 2,171, 20,174, 1, 3,148, 86, + 1,137,236,218,169,173,235,215, 83,134,136, 55, 29,184,142,227,160, 50,178, 30, 30,172,245,223,154, 65,154,166,107, 31,219,187, +222, 67, 38, 97, 0, 0, 90, 3,139,161,163,167, 85,253, 0,183, 28,117, 5, 20,130,202,124,168, 44,107,147, 10, 4, 66, 35, 5, + 0, 84,201,236, 0,153, 76,124,123,102,219, 24,245,216, 1,126, 31,125,245,115,196, 14, 0,206, 0,178,203,237,180,104,186,246, +239,219,214,120,212,114,149, 66,192, 80,208, 26,108, 24,242,209, 23,108,121,130,109,235,220,118, 11, 70,247,173, 59,220,163,207, +161,161, 69,197,230, 51,149,165, 83,225, 25,220, 80,238,228,126, 97,232,196, 5, 53, 13,112,196,183,139, 86,123,220, 60, 31,118, + 61, 43, 35,197,146,154,158,174,183, 89,172, 49,249, 5, 89, 51,181, 89,113,113,246,118,212, 74,165,178,190, 82,169,108,218,164, + 73, 19,233,172, 89,179,132, 93,187,118,125,254,227,196,137, 19, 69, 87,174, 92,241, 94,185,114,101,191, 71,143, 30, 25,181, 90, +237, 67,173, 86,155, 0,128,181,183, 78,188,188,220,255,245,222,224, 1,232,254,222,167, 96, 57, 10, 19,166,206,192,185, 51,135, + 39, 3,120, 43, 2, 75,201,208, 63, 76,152,246, 77,237, 46,237, 90, 8,150, 29,140,135,147, 92,132,222,109, 90, 10, 36,204,108, +239,223,183,173, 92, 13, 53,198,149,103,185,226,244, 69,223,134,186, 89, 70, 12,108,239,135,227,191, 91, 70,160,199,151,160,229, +206,207, 45, 89,245,251, 76,115,144,176,185,235,107, 57, 51, 30, 18, 54,119,125,253, 62,211,254, 72, 56,187,190,184,178,180, 8, + 69, 34,223,173, 63, 47, 14,168,161, 20,129, 97, 40, 8,104, 26, 12, 67,193,100,102, 49,122,202,215,111,171,153, 51, 50,143,128, +126, 52, 48, 22, 37, 35,225,118, 67,110,220,233,234,212, 9, 69, 51,174, 7,183,173, 20,120, 56,137,193, 48, 20, 24,186,228,147, +148,109,192,103, 95,206,119,122, 83,161,222,183,131, 71,171, 47,135, 7,245,110, 27, 90,163,201,254, 91,148,115,219,190,195, 93, +243,140,178, 49,191, 31,187, 50,130,116,250,252, 14, 33,220,143,233, 55,214,157,175,140,196,100, 50,229,244,238,211,215,145, 18, + 40,228,127, 28,217,209,185,108,179,121, 43,203,253,181, 57, 60, 1,202, 94, 98, 56, 2, 76,252,100, 60,122,247,233,171,231,108, + 92,122, 53, 58,141,221,103,255,184,225,110,180, 18,172, 90,191,101,129, 78,157,183, 32,241,169,107,178, 86,157,247,185, 33, 55, +238,184,253, 74, 5,193,177, 55, 15, 14,217,123,242, 22, 66, 67,130,193,114, 37,251,171, 6,214, 86, 96,223,169,219,104, 24,212, +176,100,241,102,142, 32,200, 71,137, 46,239,126,244,154,197,219, 69,160,240, 84,237, 27, 60,124,236,176, 33,239,141,128,179,163, + 18,102,139, 41,240,210,249, 51,191,110, 92,191,162,131, 54, 59,102, 76,117,196, 33,199,177,226,191,190, 91,165, 0,132, 0,204, +175, 91,249, 53,107,214,116,111,213,170,213,243, 99,155,205,134,122,245,234, 33, 35, 35, 35,168,218, 47, 2, 30, 30,242,154, 53, +107,190, 59,115,230, 76,143,110,221,186, 9,221,221,221, 1, 0, 42,149,170,214,229,203,151,155,175, 90,181, 42, 55, 51, 51,243, + 84,110,110,174,190, 66, 81,193, 25, 69, 12, 17, 48, 18,137,172, 84,215,130,158, 53,109, 84, 19,119,119,247,114, 95,142,243,243, + 11,196,223,127,255, 29, 37, 16, 8, 75,174, 39,132, 38, 28, 91,225, 30, 35,237,218,181, 27,104,177, 88,164,229,253,150,103,115, +239,103,228,196,195, 81,186,153,177,128, 97, 10,179, 30, 30,114,183,251, 65,106, 60,176,151, 32,129,108, 28, 48,104, 80,221,193, +253,186,194,219,221, 9,151,110,199, 96,250,220, 85,176,218,216,181,175,213,121, 48,140, 32, 55, 55, 55,217,197,197,197,235, 45, +140,183,126,199,246,254,228,113,249,250,189, 57, 63, 75,126,159, 98,182,142,177,150,109,127,199,114, 4,242,124,145,176,243,160, +158, 14,174,181, 2,101, 91,126, 94, 38,228, 45, 88, 47, 86,132,152, 89,216,177,125, 43,215,175,103,140, 23, 47,220,114, 21,183, +206,159, 50,100, 61, 12,123, 43,226, 74,233, 30,216,142, 98, 4,147, 40,134, 81, 80, 52, 37,230, 88, 46,205,102, 54, 47, 50,228, +199,101,189, 41, 55,203, 1,135,254,172,166, 48, 39,196,255,215, 95, 86,121,120, 58, 75, 96, 48,219, 48,238, 95,243,176,121,237, + 2, 7,119, 39, 49, 76, 22, 22,219,143,221,205,107,162, 91, 77,198,246,243,251,104,241,214,168,195, 63,238,126,122,184,178, 78, +140,166,104,120, 56, 73,176,104, 95, 12, 28,229, 66,212, 80,138, 65,211,229,139,171,177, 3, 74, 56,139,138,205, 54, 0,226,138, + 58, 55,133, 87,163, 78, 14,110, 53,195,134,124,178,192, 61, 78, 69,129, 16, 51, 18,156, 36, 24, 58,122,138,115, 3, 47, 25, 20, + 82, 6,201,105, 89,245,190,156, 61,187,101, 36,161, 91,153,178, 99, 82,171,202,118,221,186,117,135,246,239,223, 95, 62,115,230, + 76,161,143,143, 15,118, 31, 60,231,219,115,216,103, 3, 50,178,243,125, 56, 2,120,122,212, 72, 27, 63,188,223,137,211,167, 79, +167,164,165,165, 9, 87,172, 88,209,230,200,145, 35, 33,217,217,217,118,191,137,178,132,192, 96,102,193,178, 28, 88,142,130,170, +232,181, 60,142,116,197,111,213,100, 80,175,174,173, 5,107,142, 38,160, 88,111,133, 76,196, 32, 62, 75,135,118,237, 90, 9, 14, +108,167,186,149,119,199,248, 97,239,126,235,233, 64,250, 12,108,239, 7, 15, 23, 57,182,253,188, 24,199,111, 38,246,201, 41,166, +176,158, 48,147,188, 37,130,158, 10, 46,107,125,215,150,254, 94, 61, 90,248,226, 94, 75,127,175,107,247,159,198,202,222, 95, 53, + 45, 67, 43,252,163,240,236,103,197, 21,213,123, 13,165, 8, 91,206, 37, 67, 33, 17, 66, 33, 21,148,124, 36, 2,208,244,155,109, + 24, 47,245, 14,246, 97, 56,118, 60,195, 8,198,143,248,224,253,154, 35, 71, 12, 35, 20,205,224,224,225, 19,131,246,236,217,157, +101,181,152,183,176, 52,179,213,152,245, 36,173, 74, 45, 64, 1, 30, 78, 98,124,249, 91, 36, 28,228, 66, 56,202,133,112,144, 9, +209,163,169,251,155,164,211,101,242,160,250,253, 38, 15,169,219, 45,168,142, 50,224,225, 51,117,244,248, 69,247,214, 94, 41,234, + 54, 99,253,154, 16, 87,113,161, 73, 48,111,214, 39,130,140,204,172,110, 7, 79, 92,237,206,154,199,197,216, 44,186,111, 84,143, + 14, 30, 43,143, 44, 61,230, 86,243, 90,109,135, 73, 45, 90,235,227,135,177,233, 13, 10,140, 98, 68,167,104, 74,203, 84, 8,101, + 89,217,150,150,111, 86,122, 50, 10,244,204,141, 12, 87,186, 27,174,222,170,150, 43,202, 96,225,240, 48, 81,139,186,129,205,225, +229, 93, 19,230,126,163,234,134, 95, 58,116, 44,252,234,177,165,250,236,167,223,216,203,179,247,228, 45, 44, 92,186, 54, 14, 20, +158,148,142,230,193, 51,191,152, 22,176,106,245,250,151,206, 77,249,116,106,192,235,138,107,185,103,238,158,119, 6,142, 25,214, +164, 77, 79,196, 61, 75, 64, 92,212, 61,244,120,167, 55,250,246, 31, 2,179,201,248,209,214, 95,215,223,213,229,196,252,242,183, + 62,215,171, 97,199,198,161,193,123,106,122,215,244, 33,164,116,107, 50, 66, 96, 50, 25, 49,251,243, 9,208,107,139, 17, 20, 20, +218,193,185, 83, 47, 19, 40, 6, 28, 71,144,159,159,167,139,121, 26,253,142, 49, 55,230,142,189, 9,212,235,245, 86,149, 74,133, + 7, 15, 30, 32, 54, 54, 22, 81, 81, 81,200,207,207,135,147,147,147, 86,167,211,217,157, 81,103,103,103,199,198,141, 27,143, 58, +112,224,128,212,201,233, 47,205,111, 54,155, 33,151,203, 49,120,240, 96, 97,199,142, 29,107,141, 29, 59,246, 99,139,197,178,183, +168,168, 72, 83, 30, 79,193,227, 83,153,158,161,131, 54,245, 27, 54,113, 10, 0,136, 36,202,196,117,191, 29,142,170,236,127,139, +164,142,190,239, 12, 30,215, 0,132,128,162,168,117,249, 49, 71,178, 43,186,214, 98,177,200,246,239,223, 95,139,162,168,151,198, +215, 5, 63,237,111,255, 56, 46,235,157,141,243,191, 18, 56, 40, 36,200, 83,155, 49,105,202, 52, 55,187,197, 85,232,192,169,173, +154, 53,255,101,222,172, 9, 80,200,101, 56,127, 59, 1,159,127,189,212, 86,144,151,187, 11, 20,181, 38, 47,250,232,155,122, 45, +222,202,118,111, 1,181,148,112,232,221, 78, 58,225,131,174, 82,179,149, 69,161,214, 10,147,133, 5, 71, 8,212, 58, 43,162, 83, +138,225,230, 36,194, 22,252,243, 81, 45,129, 37, 16,138,251,127, 54,166,159,120,229,222, 59,184,117,126,175, 33,235, 65,152,252, +185, 50,104, 49, 60, 49,253,254,126,191, 87,110,137,180,103,144, 16, 80,204,234,246,109, 91,246,154, 56,105, 10,105, 18,228, 43, + 2,104, 60,137, 75,178,110,219,186,101,204,229, 27,226,181,154,244,200,111, 95, 24, 76,171, 53,125,147,227,184,244, 87, 45, 86, + 28,247,183,183,217,200,242, 6, 28,103,133, 16,155, 78, 37,150,188, 25,131,192, 73, 46,196,190,203,233,208, 20,100,228, 53, 49, +172,254,115,124, 63,143,129,139,182, 70, 31,219,112, 34,231, 62,128, 40, 0, 57, 21,113, 82, 52, 32, 96, 40, 56, 41, 68,112,146, + 11,225,164, 20,130,166,168, 10,197,213,188, 95, 31,237, 0, 16,243,138,184,122,206, 41,247, 8,108,228,224, 90,235,232,123,147, +151,184, 60, 78,181,128,166, 1, 63, 47, 5, 92,148, 98,152,173, 64,178,202, 82,154, 87, 71, 76,157, 57,223,125,206, 23,147, 79, +231,100,119,105, 2, 92,181, 85,150,119,189, 94, 47, 30, 61,122,180,208,106,181, 90,198, 78, 95,212, 43, 43, 39,111,208,218, 37, + 95, 74,220,220, 92,161, 51,218,240,224, 73,114,240,210, 31,127,246, 59,115, 37,252,200,156,201,131,142,247,233,211,199,105,255, +254,253, 92,117,234, 93,149,147,247,243,246,221, 97,187,214,172, 92,138,167,201, 5,216,246,235, 6, 16,214,182,169,138,170,124, +137,115,243,230,205, 30, 59,118,236,160,111,223,190,157,255,170, 0,165, 40, 40, 10,212, 38, 56, 43, 68,144, 75, 4,240,114,150, +192,213, 65, 4,137,136, 6, 77,191,212,137, 60,231,220, 26,118,106, 17,167, 47,194,241,223, 45, 35,182,253,188, 24,227,254, 53, + 23,145,121,162,179,180,220,121,209,191,134, 15,250,170,134, 28,125,107, 57,211, 30, 61, 90,212,133, 66, 42,194,215,159,141, 70, +171,251,201, 30,233, 69,220,220, 2, 61,154,206, 63,139,111,203, 75, 39,205, 80, 16, 48, 52, 28,100, 66, 92, 57,181, 47, 87, 95, +172, 86, 83, 76,137,133,197,106,182,164,216,217,140,255, 86,158,114,143,192, 57,205, 26, 55, 90, 60,101,226,120,186, 67,187,214, +132,166, 5,200,211, 88, 40, 2,130, 25,255,154,140,169,147, 39,120,165,103,228,124,247,203,134,205,223, 94,186, 64, 22,234, 84, + 79,231, 87,198,201, 80, 52,104,154,130, 66, 38,132, 82,250,215,199,104,230, 64, 81, 96,106, 53, 31,174, 6, 5, 80, 20,149,153, +126,239,247, 96,123,210, 89,179,113,223,139, 87,115, 69, 13,245,167,141,183,226,227, 34, 22,133, 63, 74, 13, 7, 80,224,211,217, +249, 99,171,149, 64,107,180, 33, 41, 71, 15,155,153, 80,227,250,248,162,222, 48, 42,104,201,182,136, 93,103, 30,193,241,133,206, +254, 37,206,140,219, 97, 70,215,208, 33,195,215,252,180,249,238,202,197,115,153,124,141, 25, 44, 1,100, 98, 6,210,210,143, 76, +196,192,168, 83,227,151, 77,191,101,219, 64, 13,197,213,202,219,252,223, 59, 13,242,225,208,126,157,127,167, 0, 49, 69,139,210, +107,250,214,245,237,222,127,140,180,199,128,143,192,218, 44,115,238, 95, 39,151,245,185, 49, 23,237,225, 12, 13, 9, 6, 40, 60, + 81, 69, 30, 27, 90, 50, 72, 14, 58,220, 48,168, 97,192,171,231,252,253, 3, 3,236,169,247,178,102, 37,115, 15,152,232,223,176, +241,236,182, 29,187,215,205,204, 55,193,165,150, 63, 30, 68,220,199,185,131,191, 68, 24,138, 11, 87,158, 59,121,100,246,194,101, +107,155,246, 31,252, 1,142, 29, 61, 48, 83,151, 19,179,161,180, 76,159,115, 18,142,251,112,199,150,205, 62, 66,145, 4, 86,150, +192,106,227, 96,101, 57, 88,109, 4, 89, 89,153, 40,214,106, 33,149, 57, 64,225, 88, 3, 86, 91,137,165,208,100,178, 42, 38,127, +212,127,170, 17,184, 83, 94, 58,235,182,254,240, 30,104,170,118,201, 59,106,105,157,153,140,122,111,111,239, 93, 0, 32,145, 72, + 32,145, 72, 96,179,217,240, 56, 19, 51,188,189, 58,127, 13, 82, 90,217, 28,151,158,253,224,247,150, 21,229,221,199,199,103, 64, +121,226, 74,171,213,226,207,187,143,156,182,239, 63,223, 39, 57, 45,187, 62,199,122,152,100, 94, 77,123, 23, 21, 93, 30, 80, 81, +121,230, 68, 30,155,234,211,101, 58, 61,115,202,104,255,117,191,133,133,199,159, 91, 84,169, 57,185, 94,143,175,204,179,167,142, +108,185,124,221,182,184,140,107,235, 62,175,170,142, 68, 34,145, 80,165, 82, 61,127,190, 23,172, 63,212, 55, 53, 71,243,206,143, +139,231,138, 30, 36,104,241, 40, 41, 11, 99,122,250,218,253,188,123,133, 12, 14,170, 93,167,214,218,181, 11,167, 35, 54,211,128, +245,135,194,113,245,212,174,251, 22, 99,241,187,170,232, 19,185,175,211,135,188, 5,129,245, 55,206,178,129,224,242,163, 60, 20, + 27, 74,132,149,149,229, 80,108,176, 33,183,200, 4,181,206, 10,173,209,138, 49,239,248, 86, 95,253, 17,210, 10,128, 59, 0, 21, + 69, 81,119, 95, 60, 46,211,160,101, 67,204, 43,199,121,165, 22, 67,215,210,177, 66,252, 2,173,249, 5, 35, 70,121,231,203,238, +143, 6, 16, 92,202,201, 2, 8,167, 40,170,208, 30,129, 69,202,204,149, 47, 20,114,185,175,172,172,205, 90,187,166,183, 55, 56, +146,254,210, 37,190,173,135,235, 63, 27,255,190,108, 37,107,211,101, 61, 60,100,119, 76,150,210, 61,160,189, 72, 36, 62,181,116, +217, 10, 50,124, 64, 23,113,182,218,106,136,206, 48,170,180, 38, 98,243,114,111, 32, 89,182,124,185,114,201,178,149,159, 30, 57, +204, 21,105,115,162,127, 44,143,195,187,229,136,123, 20, 69,215,166,255, 50,203,131,112, 36, 61,227,222,190,150, 0,240, 38,177, + 86, 58,163, 13, 12, 67, 65, 88, 26,147,162, 55,179,208, 23,101,231, 55,209,175,253,115,124,159, 18,113,117, 39,195, 43,129, 97, + 84, 22, 0,149,186, 32,104,138,130, 70,111,133,163, 76, 8, 39,133, 8,206,114,209,139, 22,172,242,196, 85, 84,101,156, 34,139, + 37,141,181,154,140,132,101,209,175,149, 59, 60,156,196,240,118,145, 64, 42, 22,192,202, 2, 6, 51, 7,131,153, 69, 74,174, 30, +197,122, 9, 26,119, 25,225,239,230,125, 71,159,157,212,114, 71,126,202,189, 73,149, 90,152, 88, 22,123,194,206,249,103,100,229, + 14, 58,182,123,181, 36, 87,109,197,163,100, 45,114, 11,205, 32,148, 19,190,254,246, 91,201,188,121,223, 15, 57,112,244, 98, 82, +251,150,129,233,213, 45, 87,189, 42,102,247,193, 67, 97, 63,191, 59, 96,176, 67,116,248, 25,196, 61,184, 56, 79,151, 91,189,248, + 43, 95, 95, 95,246,151, 95,126,113,222,180,105,147,255,177, 99,199,210, 84, 42, 85, 98,217, 67,229,234, 32,202,188,112,233,154, +107,151, 14,157, 5,105,121, 70,184, 57,136,224,235, 41,199,253,155,151,205, 52, 69,157, 45,143,175,212, 13, 56, 18, 61,190,196, +241,155,137,125,162,242, 37, 87, 62,153, 48, 46,249,194,169,240,252,159,118, 95, 92, 81, 75,105,125, 40,229,114,215,223,111,233, +239, 53,103,218,104, 44,253,105, 55,174,222,127,154,171,163,107, 46,206, 50,217, 42,156, 84,192,208,128, 80, 64,193, 65, 38,132, + 94,167, 86, 71, 93,220, 24,248,150, 94,142, 62, 62,119,116, 55, 93, 80,108, 69,122,158,129,202,204, 47,134,141,227,224,172, 16, +195,198, 1, 69, 5,121,212,158, 61,187,113,247,238, 45, 26, 12,253, 9,128,249, 85, 89,176, 24,154,130, 82, 42,128, 82, 86, 98, + 5, 82,202, 4,176,216, 56, 4,248,249, 96,237,130,207, 28,221, 61, 60,209,107,232, 36,187, 19, 40, 83,184, 52,221,185,113, 33, +174,220,122,216,245,114,252,190, 86, 30,161, 77,127, 18,178,194,149, 32,196, 96,178,178,208,168, 11, 97, 52,165,161,117,173, 60, +212, 80,176, 72,214,120, 35, 50, 59, 78, 89, 85, 71,159, 31,121,228, 1, 69, 6,127,123,240,196,165,165,189,123,118, 69, 84,146, +166, 68, 92,137, 74,196,149,128,226,176,122,211,102,107,161,186,184,127,126,212,177,188,215,104,159,127,148,118,198, 37, 2,129, +213,186,239, 89,255,237,206, 9,179, 87,244,238, 61,228, 99, 42,242,238,229,111,244,192, 69,123,173,231,127, 63, 71,236, 58, 87, + 81, 87,226,209,160,229,222,237, 59,246, 13, 15, 9,240, 65, 78,145, 21,153,133, 22, 92,191, 31,143, 35,155,191, 41, 42,202, 73, +248, 16, 22,173,150,163,108,234,243,231, 78,156,253,244,179,217,104,212,168,105, 93, 77,186,198,241,213,216, 67,142,161, 54,127, + 52,126,242,112, 79, 15, 79, 7,174,212,130,197, 17,130,160,160, 16,244, 27, 48, 20, 87,174,221, 68,116,212,163,146,243, 28, 64, + 8, 65, 81, 97,126,182,205,106,222, 81, 97, 59, 98,168,218,219, 55,173,246,160, 41,192, 98,227, 96,182,114,152,243,245, 60,243, +244,239,214,119,236,221,161, 73, 20, 3, 78,147,154, 85,228,124, 55, 38,171, 49, 37,116,244, 30, 53,241, 43,145,193,194, 66,163, +183,226,226,193,117, 21,102,218,219,175, 73, 59,101,157, 14,227, 39,206,221, 36,145, 48,180,165, 81,160, 79, 98,151,182,141,210, +234,212,116, 43, 94,178,110, 79,235,155,247, 99,250, 13,125,111,136,116,120,253, 16,170,166,171,212, 97,242,212,105, 77, 88,255, + 14, 31,229,196,255,185,171,194,193, 79, 32, 41,242,169,237,243,220,149,232,222,104,208, 35, 0,175,142,252, 41,170,168, 99, 77, + 0,192,195,211,203, 72, 9, 37,197,213, 16, 4, 4, 0,126,248, 41,172, 95,186, 74, 59,236,199,197,115, 69, 15, 18,117,120,144, +160,134, 88,196,192,100,177, 63,172,141,165,200,140,175,166,141, 19, 22,232,108,184,252, 72,133,200,123,151,136,205,162, 25, 67, + 40,193, 88,183, 70,131, 62,162,128,122, 4, 72,162, 41,252,106,166,177, 67,253,232,152,250,117, 45, 88,238,193, 67,218, 83, 12, +250, 49, 2, 81, 43,128,107,104,179, 90, 61,104,134,201,203,121,116,200,179, 26,121,135, 62, 55, 14, 43,150,124,135,181, 91,142, + 32, 60,182, 0, 78,182, 52, 28,219,182, 24, 51,151,238,129,222,204, 86,150,134,138,244,136, 59, 69, 81, 39, 9, 33,253, 9, 33, +239, 0, 16,151, 29,151,244, 97,212,201,210,255,253,210,241,156, 57,115,190, 89,186,116,105, 84,217,181,101,231,203,174,173,236, +252, 11,247,187,126,253,245,215,161,203,150, 45, 91,210,174, 93,187,223,111,222,188,153, 8,192, 46,129,245, 98, 38, 42,124,202, + 61, 66, 7,182, 38,132, 99,188, 92,149,240,247,243,129,226,253,177,178,211, 20,165, 99, 24,154,222,190,230,107,105,190, 65, 0, + 1,195,216,109,239,149,122, 4,181,145, 41, 21,167,247, 31, 56, 68, 2,234,122,137, 15,221, 46, 74,189,159,168,127,110,210,213, +168, 82,196,254, 53, 76,204,240, 15,134, 42,206,158,191, 48, 67, 11,252, 88,254,192, 64,215,254,105,245,114, 15, 7,153, 16, 52, + 5,104, 12, 54,204,248,226,171, 55, 30,189, 8, 8, 51,245,139,239, 65, 83, 37,131,143, 86, 93,128,197,107,182,107,135,214,190, +116, 99,124, 31,183,129,139,182, 70, 31, 59,255, 68, 22, 63,100, 72,119,117,114,114,114, 97,102,102,102,229, 46, 24,194,166, 15, +251,120,186,136,166, 75,220, 70, 20, 69, 1, 96,115, 94, 71, 92, 1, 64, 81, 81,146, 70, 42, 86, 14,217,189,122,218,150, 58,181, +107,213,112,144, 75,161, 84, 72,168,134, 65, 13,164,109,219,180,147,249, 54,104, 36,186,246, 68,139, 84,149, 1, 9, 25, 26, 72, +220, 67,133,195,187,246,196,238,117, 95,245,203, 79,185, 87,101,254, 47,221,138, 28,176, 97,229, 92, 73, 78,161, 5, 79,210,138, +145, 93, 96, 66,118,161, 17,217,133, 38, 40,165, 2,180,237, 49, 84,114,252, 98,216,224,246, 45, 3,127,122,157,242, 77,120,150, +120, 36, 37, 35,107, 76,147,102,173,177,103,231,246,182,168, 85, 75,138,140, 12,163,189,247,111,217,178,165,160,121,243,230,110, + 63,254,248,163, 46, 40, 40,168,233,230,205,155,253, 98, 99, 99,175,212,175, 95,127,192,198,117, 11,175, 76,159,187,210, 87, 0, +155, 83,219, 14, 29, 24,185,152,194,237,107,231, 77, 59,182,108,202,180, 20,105,103, 87, 58,122,201,157, 23,229, 20, 83,112,175, +233, 19,169, 16, 90,123, 9,229,150,216,194,221,159,237, 46, 4, 14,215,239, 51,237,143,203,247, 98, 98, 91,220, 79,246,184,116, + 63, 54,183, 64,111, 13, 76, 56, 59,179,210, 14,151,161, 74, 45, 88,242,191, 44,150, 30, 77,134,197, 19,138,114, 47, 19, 54, 20, + 74, 44, 90, 84,201, 67,152,153, 17,113,192,142,192,104,138,112, 28, 16,155,174, 69,177,193, 6,163,213, 6, 31, 55, 5, 84, 57, +233,216,248,211, 14, 68,220,187,139, 94,125, 7,226,151,223,246, 96,194, 71,239, 27,171,122, 48,105,154, 2, 77, 83,165,150,171, + 18,113,165,148, 10, 0, 10, 40,210, 89,113,248, 70, 26, 26,248,209,160,170,225, 45,116, 80,202,160, 46, 54,130, 22, 42,241,244, +250, 46,249,153, 75,225, 95,207, 95,185,245, 75,141, 54, 39,245, 89,244, 45, 4,185,228,195,175,166, 25, 81, 57, 78,184, 87, 80, + 23, 65, 13,234,131, 22,221,181,139, 59, 47,170,241,138,227,244,161,254,173,154,133,180,171,227,225, 4,131,153, 45,181, 98, 9, +176, 99,251,118, 36, 39,165,143,207,143, 62, 22,241, 54,148,172, 46, 55, 81, 37,241,240,255,244,241,237,139,137,131, 63,156, 10, +175, 90,117,154, 22,165, 62,176, 51, 60,193, 62, 49,197,217, 39,176,232, 26,117,155,237,220,185,251,224,112,191, 58, 94,184, 16, +158,132,136,103,133,112,116,112, 6,163,240, 70, 96,151,177,206,143,207,174,123,207,144,167,221, 41, 20,201, 63,105,221,182, 3, + 8, 33,136,121, 26, 85,160, 86, 59,253,173, 9, 24,178, 98, 30,220,202,138,113,124, 73, 20,187, 53,108,234,224, 84,227,129,209, +194, 34, 35, 35, 29,127,222,188,210,220,144, 21,243,160, 58,229, 37, 17,209, 56,127, 63, 23, 22, 27, 7,139,149, 67,243,198, 13, +141, 66,145,172,211,242, 45,167,218,102,231,228,210,114,165, 19,231,228, 86, 95,228,108,205, 54, 61, 76, 84,139, 44, 54, 14,245, +189, 43,127, 47,151,215,168,191,228,243, 47,166, 7, 11,196, 50,104,116, 38,115, 86,122,134,215,175,251, 46,107,159,196, 68,215, +170, 87,183,142,227,194,133,243, 69, 26, 35, 65,110,145, 9,121,197, 22,234,131,145,227,107,238,218,246,203,135, 0,118, 85, 35, +233,141,127,223,181,201, 90, 67, 41,162,138,245, 86,162,210, 24,217,169,159,206,104,252, 38,109,231, 37,113,149,160,195,131,196, + 34, 72, 68, 12, 36, 34, 6, 86,155,125, 33,146,110,193,195, 20,110,174,138, 15,219, 52,243,199,185,251, 42, 8, 24, 10, 6,157, +198, 44,149, 40, 35, 27, 54, 12,160,155, 53, 13, 69,215,142,237,241, 44, 49, 57,232,220,133, 75,107,194,239, 70, 44, 22, 54, 26, + 60, 59, 47,234,232, 47,213, 73,107, 74,134, 74,145, 99,243, 25,225,225,229, 22, 58,112,224, 0, 73,157, 90,158,148,155,171, 51, + 88,136, 48,101,234,191, 60,236,246, 26, 17, 2, 2, 96,217,130,175, 97, 50,155,225,225, 44, 6, 33,192,182,245, 63,192,108, 54, +163,166,171, 20,106,157,181, 42,161, 87,161, 30, 41, 79, 16,189, 42,180,202,190,151, 93,183,116,233,210,254,175, 8,192,254, 21, + 8,195,191, 93, 87,118,255,178,101,203,150,188,240,187,190, 58, 46, 66,170,178, 76,185, 53, 30,220, 65, 34,150,157,255,101,233, + 12,186, 72,103,129, 68, 68,163,190, 95, 61, 76,251,108,186,188, 71, 51, 15, 24,224,136, 67,251,118,104,108,172,245,164, 93,111, +182,158,254, 45, 21, 50,249,217,109, 59,247,113, 94, 30,110,212,175,127,168, 18, 85, 26,219,243, 37, 14, 98,239, 28,231,238,157, +251,213,155,128, 58, 43,151,202,252, 77,102,147, 75,133, 61, 78,105,133,110, 59,159, 12,134,166,193,188,165,149,189,104,154,102, +127,251,105, 33,220, 28, 75, 98,174,126, 88, 88, 25, 0,227, 0, 0, 32, 0, 73, 68, 65, 84,187,187,120,128,251,217, 75, 47,138, +171,102,205,154,169,155, 54,109, 90, 68,211, 85,255,211,180,187,123,203,155, 45,241, 90,226,170, 12,198,156,199,119,141, 64,168, + 58,249,175,115,103,208, 92,232, 86,239,224,204, 17,163, 62,252,218,179,209, 0,135,164, 44, 53,196,180, 21,173,130,189,113,229, +220, 97, 46, 45,241,201,100,123,184,115,243,213, 62,110,174,174,136, 72,208, 34, 51,223,136,172,130, 18,113,149, 93, 96,132,198, + 96, 67,179,122, 30, 40, 82,107,125, 94, 91,192, 82,228,232,185,179,231,198,244, 29, 52, 28,211,190,156,223,119,203,134, 85,143, +180, 30, 14, 31, 25,115,159,134,219,115,127, 88, 88, 24,123,239,222,189,196,188,188,188, 86,179,103,207, 46,174, 87,175,158,215, +194,133, 11, 39,214,175, 95,191,102,143,110,221,212,119, 47,183,221, 57,253,203,249,221,190,153,190,197,143,166,233, 28,194,145, +227,153, 58,235,247,200,123, 98,168,180,158,142,127,243,244,251, 4,203,152, 30,157, 92,143,187,202,232, 16, 33,101, 26,137,224, +249, 7,240,100,190, 37,225,236,250, 98,217,251,171,166,101, 20,113,115,141,180,215,226,170,196, 85,137, 5,139,130,217,194,193, + 81, 38, 44,155, 57, 10, 16,120,111, 88,191, 74,238,238, 36,129,128,161, 32,100,104,168,245, 86,228,107,204,248,114,246,108,123, + 75,144, 99, 57, 14,122, 19, 11,131,217, 6, 10, 20,138, 53,121,248,250,203,207,209,119,192, 80,140,159,252, 5,138, 12,192,189, +196, 98, 88,172,214, 42,101, 17, 67, 1,122,147, 13,227,123,251, 34,191,216, 2,157,209, 6,179,133,131, 92, 42,128, 64, 64, 67, + 33, 17,192, 65, 38, 4, 69, 17,145,151,151,215, 68, 0, 16, 10,133,198,180,180,180,221, 21,187,231, 9,234,250,120,194, 96,161, +209,122,248, 74,188,211, 46, 16, 15, 46,108, 21, 92,187,243,216,239,203,249,107, 48,117,100, 59,132,197, 52, 64, 13,143,186, 80, +202,165,176, 18, 26, 0,177, 51, 32,111, 62, 71, 91,134,140,220,244,219,182,152, 5,243,190,146, 22,234, 40, 72, 68, 2, 92,186, +244, 7,110,221,185,183, 46, 47,250,216,238,183, 25, 75, 33, 36,180,167,163,147, 35,164, 98, 6, 22,139,201,238,128,111,150, 35, + 0, 65,176,123,232,160,195,165,117, 31,204,149,115,206, 14, 11, 22,229, 84, 51,116,251,166, 45,123, 62,244,246,242,192,145,139, +143,176,115,203,207,168, 21,218, 23,241,247, 55,193,167,197, 96, 40,253,186, 67,236,112,112, 34,205, 8, 26, 79,157,254,245,208, + 22, 45,219,225,230,245,203,200,205,206,218, 4,196,216, 21,131,198, 8,169,207,186,189,211, 31, 38, 11,139, 78,221,251,227,236, +137, 35,211, 80, 58,121,226,117,193, 48, 52,247,175, 9, 35,132,185, 69,102, 97,174,218,132,140, 60, 3, 18,179,117, 56,182,127, +171,221,102, 59,138,161, 91,117,105, 90, 91, 56,113,197,165, 52,159,218,222, 38,161,201, 32,139,125,246,172,225, 39, 99, 62, 20, +214,243, 15,162, 85, 69, 38,168,212,102,168,212,102,232,140, 86, 52,168, 89,135, 54,217, 4,237,170,155, 86, 15, 39,169,240,151, +147,137,112,148, 11,208, 62,216,245,181,131,176, 57,142,251, 75, 92, 45, 42,177, 92, 61, 76, 84, 67, 42, 98, 32, 22, 50,144,136, +104, 88, 89, 98,231, 88,100, 27, 49,105,204, 7, 50,179,149, 32, 79, 99, 6, 67, 83,240,114,115,149,248,120, 7, 98,219,202,127, + 1, 0, 38,124,181, 1,159,140, 27,141,160, 64,127,168,213,197,178, 79,166, 76, 95, 13,192, 46,129, 69, 8, 33,123,142, 93, 11, +185, 23,153, 50,243,227, 49, 31, 9,135, 15,236, 76, 71, 36,104,144, 85, 96, 66, 66,188, 30,102,107,245, 86,163,177,177, 37, 62, +223,237, 7, 78, 66, 46, 98,160, 82,151, 60, 46,139,214, 31,128, 82, 38, 64,118,161, 25, 28, 87,169,245,174, 82, 61, 82,145,213, +169, 58,120, 81,132, 85,118,158,162,168,147,115,230,204,249, 6, 0,153, 51,103,206, 55,101,199, 75,151, 46, 53, 0,200,180, 87, + 96,161, 34,183,160, 91,227,193, 29,100, 98,233,249, 93,235,191,145, 93,140, 37, 88,119,254, 62,250,181,245,134, 72, 64, 65,170, +244,194,131,196, 34, 92,188,120,172,248,250,173, 59, 70,138,182, 86, 57, 45, 74,230, 21,216, 92, 46, 81,252,241,243,230,157, 54, + 79, 47, 47,236,187, 81,152,153,175,181, 89,255,114, 79, 89,169,123,231,126,245,179,113,214, 62,198,156,248,187, 85,189,121,115, +132,136,150,110, 60, 14, 66, 8,192,177,224,192,129, 17, 73, 20,117, 90,127,152, 3, 10, 96, 89, 78, 42, 96,104,227,115, 63, 72, +201,208,148,158, 26,190,175,101, 85, 53,236, 40, 23, 98,255,213,116,168, 11, 50,243, 6,184,159,253,179, 76, 92,157,141,146,196, +183,104,209, 76,221,166, 77,155, 34,137, 68, 2,134, 97, 94,167,142,223, 72, 92, 85,140, 8,107, 94, 18,150, 29, 58, 36, 29,216, + 87, 17,218, 70, 76, 9,209,162,161, 55,174,156, 63,194,221, 58,179,117,136, 33, 55,238,148,189, 38, 94,173,209,134,204, 2, 3, + 50,242, 12,200, 42, 44,181, 96, 21,152, 64, 81,128,209,252,102,203,215, 24,114,227, 78,236,222,189,117,147,201,138,201,157,122, + 13,198,204,249, 63,251,239,222,180,226,122, 50,177,181,210,171,226, 31,219,245,198,149,146, 98,218,179,103, 79, 68,113,113,113, +207,213,171, 87,107,131,131,131,197, 50,153, 44, 31,128, 52, 46, 38, 70,116,233,244,193, 36, 85,102,230, 36,171,213,122,215,222, +116,249,118, 25, 35,145, 89, 34, 38,250,202,219,247,174,239, 37,135,175, 92,215,187,161,242,225,143,249,221,167, 47, 81, 93, 90, +151,155,101,178, 93, 40,208,163,105,134, 86,248,135, 93,157,141,197,156, 50,106,210, 28, 48, 52, 5,139,201,156,242,220, 29,225, + 36,193,252,221, 79,224, 32, 19, 66, 41, 19,194, 65, 38, 64,135, 96, 87, 84,195, 64, 68,172, 54, 2,131,217, 6,131,137,133,193, +100,131, 91, 29,103,252,182, 43, 12,169, 42, 3,142,223,205,195,211,100, 13, 2,125, 20, 32,164,106,187, 19, 71, 88,221, 7, 19, +231, 58, 48, 52, 13,134, 2,221,208,191, 46, 10,180,102,136, 4, 52,196, 98, 49,228, 82, 1, 28,229, 66, 8, 5, 66,132, 63,122, + 4,147,201,132, 54,109,218, 72,171,114, 56, 56, 40,101, 8,240,171, 9,139,213,134,211,215,162,177,104,198, 16,244,236,220, 18, + 95, 50, 98, 60, 53, 53,131, 67, 13, 7,112, 20, 3,139,141,131,201,202, 2,160, 42, 19,192,237, 75,227, 34,140, 0,110,103,199, + 28, 73,101,153, 65, 19,207,156,191,180,123, 64,191, 94,136,120, 24,133, 67, 71,142, 95,207,115, 85,207,122,209, 42,129,191,102, +193, 69,189,102,115,165, 8, 77,207,104,215,161, 43,180,133,185,200, 73, 75,178,187, 83, 15,169,227,128,207,103, 76, 11, 8, 10, + 10, 10, 96, 57, 2,142, 35, 8,241,117,192,164, 41, 83, 2, 26,248, 7, 6,112,165,179, 8, 27,250, 56, 84,202,163,240, 12,154, +186,120,245,198,143,124,124,124,112,246,198, 19, 44,157, 59, 57, 66, 46, 87,214,107, 89,195,193,153, 11,106,138,196,200, 11,168, + 81,183, 8,142,158, 1,181, 7,246, 28, 83,187,239,187,131,241,248,225,125,172,253,113,225, 45, 29, 35, 91, 98, 79, 90, 21, 30, +126,238, 77,155,183, 30,229, 88,195, 19,133,106, 45,148, 46, 30, 8,110,210,114, 84,244, 67,211, 87,186,220, 68,213,235, 62,235, + 28, 33, 48, 89, 56, 20,104, 45, 72, 87, 25,144,148,163, 71, 82,182, 30, 28, 71,200,139, 46,234,202,251, 99,138, 82, 72, 4,130, + 26,214,248, 58,143,254,184, 68,124,125, 60,169, 21, 11,103, 51, 22, 34, 65,174,218, 12,149,198, 12,149,218, 4,149,166, 68, 96, +185, 40, 5,224, 8, 87,237,217, 25, 5, 90, 11, 28,100, 2, 56, 41, 68, 96,217,215,143,249,158,191,102, 95,251,116,149,182,199, +143,139,230,138, 30, 36,233,240, 40, 81, 13,137,136, 46,177, 94,149, 10, 44,123,221,194,140,128,158,246,238, 59,109,144,166, 50, + 66,192,208, 16, 48, 52,252, 27, 53,135,155,156, 67,143,225,115, 0, 0, 3,250,149, 44, 67,146,152,165,195,137,219, 89, 0, 32, +178, 55,173,185,121, 26,233,145, 11, 17,211,247,253,182, 66,108,100,133,216,120, 42, 25, 70, 51, 11,137,168,212,237, 46,174,222, +248,102, 99, 75, 44, 88,105, 42, 11,116, 38, 22, 26,189, 5,132, 0,225,241,197,208,155, 88,168,245, 22,180, 13,170, 81,229, 51, + 87,197,248,212,255,141, 60, 84, 37,247,171,240, 87,156, 86,149, 22,172,165, 75,151, 70, 45, 93,186,180, 92,139,152, 61, 2,171, +124,113, 37,146,158,223,249,211, 55,178, 63, 98, 8,174, 60,202,199,176, 78,181,145,159,155,142, 45, 27,214,113,132, 0, 18,169, + 56,155,181,113,103,140,156,109,182,250,209,201, 74,253,190,114,183,224, 38, 82,177,228,210,210,181,155, 44, 94,222,181,185,195, +183,139,114,213,122,246, 37, 91, 33,107, 50,209,132, 35, 34, 99, 78,188, 93,131, 34, 77, 83,150,249,211,134,128, 35, 4,223,175, + 59,128,165, 51, 71, 64, 41, 21,200, 41,138,146,235,140, 54,204, 88,184, 21,171,191, 29,231, 32,151, 8, 74,133, 1,139,201,211, +190,180, 79, 4,152, 88,232, 10,179,243, 27,107,215,188, 34,174, 90,168, 91,181,106, 85,228,226,226, 2,133, 66,241, 58, 2,235, +111,226,202,203,203,171,166, 92, 46,175, 81,102, 13, 99, 24, 6, 44,203,234,226,227,227, 95,107,209, 55, 77, 81,222,209,204,164, +200, 54, 29,186,190,139,171,231,143,114,183, 78,111, 25, 82,157, 41,230,206, 78,142,105,247,163, 83,130, 1, 37, 50,242,141,200, + 46, 52, 34,171,192, 4,139,141,131,175,167, 28,233,105,169,112,118, 82,166,217,203, 39,243,244,239, 67, 19,102, 18, 71,225, 55, + 67, 78,204,105, 0,208,101, 70, 79, 57,176,123,211,227,168,168,135,107,251,143,152, 38,238,249,222, 20,209,230,101,159,206, 1, + 48,194,238,206, 33, 55, 87,127,252,248,241, 91, 53,107,214,236,255,253,247,223,155, 0,136, 77, 38,147,124,220,184,113,242,148, +148,148,207, 1,216,149,198,142, 99,183,185, 81, 82,210, 71, 68,140, 35,125,229,186, 94,221, 59,183, 67,251, 80, 31,164,119,110, + 7, 0,159,165,232,149,129,166,250,191,237,183,178, 56,179,113,199,233,165, 19,134,119,255,124,183, 96,254,234,172,147,243, 43, +181,136,197, 94,223,214,187,188,174, 67, 88, 26,248,254,162,192,178,177,164, 58, 46, 56, 98,101, 57,232, 77, 54,232, 77, 54,104, +141, 86, 92,124,144,139,156, 34, 51, 10,117, 22, 24, 77, 44, 8, 0,139,149,148,173, 42, 82,185, 88,189,181,211,185,236,123,173, +230,195,213,235, 22, 76,115, 60,116, 35, 29, 10, 73, 73, 60,150,147, 66, 12, 71,185, 16, 0,193,149, 43, 87, 80, 54, 61,190,170, +183,248, 67,103,195,177,122,199, 37,156,221, 58, 27, 82, 49,131,166,131, 23, 96,204,224, 54,224, 56,130,103, 49,145, 57, 1,193, +205, 60,105,165, 28, 52,141,178,152,148,202,202,211, 21,192,113, 0,253, 1,188, 11,128,168,162,143, 21, 30,101,243,117,151, 78, +237, 83,232, 12, 38, 91, 97,202,147,159,161,203,235, 82,150,132,210, 55,224, 43, 0, 58,191,174, 49, 91,230, 17,184,238,147, 41, + 51,134, 53,104, 80, 31, 7,246,110, 3, 33,212, 33,123,111,222,125,226, 22,214,172,125,121,198,224,164, 41, 83, 2, 54,111,220, +248,210,185,143,198, 77,172,108, 22, 33,229,236,238, 61, 59,168, 97, 8,110, 71,165, 99,197,188,169, 17,198,220,196,145,102,165, +235, 36,139, 46,235,139,144,208,102,240,242,116, 69,118, 86, 14,186, 13,234,137,190,189,123,227,241,195,251, 88,244,221,151,183, +160, 55,247,170,202,106,251,151, 16, 18, 78,238,218,123,176, 80,111,178, 96,253,138,239, 48,105,214, 98,180,237, 54, 64, 24,249, +224,206,100, 0, 11,236,205,179,217,202,161, 91, 19,119,152,173, 44, 44, 86, 14,199, 19, 25,193,223, 45, 5,128,128,161,233,102, +245, 75,220,187, 26,131,181,242, 74, 16, 80,217,133,154,226,186, 63, 47,158,206,232, 76, 44, 84,106, 19,114,139,204, 80,105, 76, +200, 83,155, 74,196,149,218,140, 60,181, 9, 2,134, 66, 92, 98, 6, 24,134,170,118,252, 93,145,206,130,214,129, 46, 0, 40,208, +175,233, 14,201,179,185,247,125, 24,155,222, 99,197,194,185,162, 7,137, 90, 60, 74,210,148, 10, 43, 26,226, 23, 4, 22,103, 71, + 8,150,123,240,128,246, 35,135,246,107,228,168,144, 34, 35,166, 24, 2,154,130,128,161,224,232,238, 3, 39,169, 17,211,166, 78, +130,107, 13, 39,164,230, 25,177,238, 72, 44, 30, 69,199,131, 51, 84, 47,219, 27,246,156, 29,242,209,135,195, 37,180, 80,138,221, +231, 19, 33, 22, 49, 16,192,140,232, 59,215, 76, 57,233, 73,150, 98, 77,145, 66, 32, 16,218, 69, 74, 1,196,198,114, 32,132, 96, +201, 15, 95,227,247, 29, 27,112,246, 94, 14, 8, 74,150,106,248,243,240, 42,204,152,179, 8, 42,141, 25, 0,245,218, 10,150,162, +168, 83,132,144,119, 95, 21, 66,175,138,164, 23, 44, 80,229,113,220,125,145,163,236,250,138, 4,220,139, 49, 89,176,115,177,109, + 65, 57, 74,145, 42, 19, 87, 82,177,248,252,142,117, 95,203, 46,198,226,185,184, 50,104,243,176,107,235,102, 45, 1,247, 78,110, +212,241,112,123, 11, 68,238, 30, 16, 42,145, 75,174,206, 93,180,206, 84,179,182,159,237,244, 3, 77,126,177,145,253,155, 25, 68, + 36, 87,176, 10, 39,119,163, 64, 44, 89, 45, 52,152,191,203,203,123,162,171,170, 74, 57, 66,112,226, 78, 54,192,149, 84,226,129, +107, 25, 37,235,248, 48, 20, 88,174,196,207,125, 33, 34,247,249, 57,251, 42, 16,216,127, 62, 34,175, 34,113,229,236,236, 12,103, +103,103, 40,149,202,234,182,141,114, 45, 87,114,185,188,198,185,115,231,164,142,142,142, 96, 24, 6, 38,147, 9, 61,123,246,124, +173,198, 39,247, 8, 28,209,182,251,144,165, 29,187,189,139,203,231, 14,115,183, 78,111, 31,106, 80, 85, 99,253, 30, 0,125, 59, + 55, 57,177, 98,213,122,191, 89,115,230, 74, 20, 82, 1, 10,181, 22, 48, 52, 5, 95, 15, 25, 92,149, 12,110, 93, 58,105, 28,217, +167,153,221,226,207,167,118,221, 93,171,214,109,114, 93,189,252,135, 94, 15,174,155, 61,139,138,146, 52, 0, 96, 80,197,109,138, +141,164, 98,106,215, 57,127,181,105,231, 33,240,168,229,223, 47, 41, 39,166, 90,249, 85,169, 84,185,135, 15, 31,126, 18, 18, 18, +210,114,232,208,161,100,201,146, 37, 46,233,233,233, 7,237, 21, 87, 0,208,189,119,251, 25, 10,161,181,157,171,140, 14,169,239, + 37, 71,251,208, 18,239,231,240,119, 59,162,182, 79, 29, 36,100,235,155,229, 27, 56,145,206, 42,172,191,113,211,182,187,190, 53, + 4, 19,108, 90, 67, 52,128, 99,213,238, 28, 80,218, 73,202, 75,197,149, 84, 0,165, 76, 8,142,148,252,102,191, 5,139,131,217, +194, 65,111,182, 65,111, 98, 75,196,150,153, 5,199,149, 4, 43, 83, 20, 5,139,149,173,242,109,176,188, 94,210,209,197, 13,126, +117, 75,210,248,252, 35, 19,130,162, 0,119,119,119,184,186, 86,189,238, 40,199,113, 48, 91,108,165,131, 46,251,124, 82,135,217, + 98, 3, 33, 4,177,177,113,179,147, 19,147, 7,249, 7, 52,232, 28,210,164, 89, 13,153,152, 70,169,117,170,178,183,218,145, 0, +172,120, 97,205, 52, 33, 3,227,145,195,135, 20,253, 7, 12, 40,180,232,242, 94,156, 44,193, 0,232, 83, 42,198, 12,213,173, 38, +133,123,224, 96, 23,215, 26,139, 71,143,157, 20,216,237,157,222,184,114,241, 2,142, 31,222,183, 83,175,138, 61,111, 47, 73, 80, + 80,208,223,102, 17, 54,240, 15,252,219, 44,194,186,126, 1, 21, 10, 44, 39,167, 38,142, 77, 90,117,245, 73,201,179,224,204,153, +211,208,169,179,231,153,205, 90, 61,132,100,203, 31,135,127, 29, 63,114,242,247,142,109, 91,181,132,179,131, 28,110, 46, 74,220, +191,119, 11,203, 23,204,189, 5,189,185, 87,213,253,103, 41,130,131, 69,181,100, 62,211,125,235, 55,194,253, 59, 55,240, 44, 54, + 50,234,193,221, 91,141,252, 67,219,192,189,166,239,244, 20, 55,102, 25,158, 60,169,114,167, 10,194,146,244,143, 39,126, 81, 58, +232,149,156,107,219,212, 79,252,247, 70, 72,193,102,181,176,187, 55, 47,207,125,113, 22, 97, 69,188,198,226,162,176,235,119, 30, +127, 57,176,119, 39,170,204, 21, 88, 38,170, 94, 61,246,175,165,192,179,199, 79, 57,171, 78,125,168,122, 85, 78,114,166, 76,253, + 76, 86,146,118, 14,164,100, 97,181,234,182, 27, 24, 89,209,168,141, 63,124, 67, 61, 76,214,225,113,146,166,196, 45, 88, 42,176, + 36, 34, 6,226,210,191,132,216,161, 47,104,122,197, 71,239,247, 70,158,218, 12,142,144,210,181,244, 40, 8, 4, 66,164,104,128, + 52,141, 22,170,162, 28, 36, 38, 37, 67,157,157, 8,154,102,224, 90,203, 31,250, 84,251,210, 90,204, 42, 3,173, 28, 26,188,223, +191, 19,115,244,102, 22,100, 18, 1,138,243,210,112,227,220, 1, 3, 97,217, 77,102,171,249,119, 15, 34,142,124, 18, 25,102,177, +179,235, 80,105,116,102, 79,137,136,193,129,237, 63,227,131, 49, 83,158, 91,179, 1,224,203,185, 11, 65, 81, 20, 10,213, 90, 0, +148,202, 14,203,213,139,199,170, 23, 44, 79,127, 59,126, 65, 20,149,119, 76,149, 30,155, 43,224, 48,191, 34,170,204,175,156, 55, +191,194,103,215,226,200, 21, 90,176,132, 52,115, 97,251,218,111,164, 81,185, 18,132, 63,205,198,176, 78,181,161,215,228, 97,243, + 47,107,180, 70,171,165,111, 94,164,253,226,170,180,161,244,254, 96,220,204,168,250,254,193,230,139,145,197,137, 69, 58,107,133, +113, 12,109,134,125, 19, 21,113,234,231,126,106,107,226, 84,133,119, 8,203,217,108, 43, 12,170,216, 31,202,239,196,137,248,251, +117, 7, 74,196, 21,199,225,171,229,187, 64, 56,182,116, 1, 63, 22,132,229,240,175,121, 27, 96, 43,253,206,114, 44, 40, 43, 43, +175, 42,185, 74,169,232,124, 99,237, 26,167, 87,197, 85,243,230,205,139,156,157,157,225,234,234, 10, 23, 23, 23,148, 9,162, 55, +117, 11,210, 52, 13,165, 82,137, 43, 87,174, 64,169, 84, 66,161,120,189, 5,242, 21, 30, 65, 31,180,238, 62,120, 79,183, 1,227, +232, 63,142,108,102,239, 92, 57, 57,204,168,138,177, 91, 4,176, 44, 75, 89,173, 86,244,238,218, 34,229, 65, 76,234,217,133, 63, +252,208,167, 85,247,247, 36,237,131, 60, 96, 48,219,144,158,150,134, 91,151,143, 27,253,235,184,157,109,223, 50, 48,221,106,181, +130,101,217, 42, 7,112,147,201,156, 79, 11,165,174,195, 71,140,146,220, 13, 15,223, 35,247, 8,220, 71, 51,220, 67,194, 50, 77, + 64,184, 15,154, 52, 14,134,197,198,193,160,215, 20,188, 78,190,163,162,162,238,174, 90,181, 42, 72, 40, 20,214, 14, 11, 11,203, + 43, 44, 44,172,214,118, 65, 23, 78,133,175, 19, 40,173,113,101, 22,172,180, 78,237, 48,162,127, 71,252,126,234, 6, 46, 95,187, +133, 20,189,242,129,206,204, 28, 77, 79,207, 52,133,184,168, 15, 15,238, 80,143, 57,180, 75,115, 40,170,235,236,247, 9,145, 93, +200,187, 58,223,238, 9, 30, 20, 5,104, 12,214, 23, 44, 88, 37,241, 77, 52, 77,217,109,193,162,128,196,107, 55,239,135,182, 8, + 12,198,131, 4, 13, 84,133, 38,232,205, 37,237,158,128,192,213, 81, 4,137,136, 65, 74, 82, 34, 56, 98, 73,170,222, 56, 3, 85, +223, 97,147, 4,165,175, 47, 2,161, 80,240, 60, 32, 66, 38, 21,107, 61, 60, 60,236, 18, 88, 86,150,197,208,222,109,208,182, 85, + 19, 12,154,188, 10, 0,112,113,231, 87,112, 81,138, 16, 22, 22,134,180, 63,215,238,246,107, 55,249,124,228,227,232,247,162, 34, +110,142,234,219, 66,214,204, 75,144, 37,170, 68, 21, 31, 43,117, 17,118, 3,208,179,212, 50,101,101,109, 92,106,159, 62,189, 57, +150,229, 94,140,137,112, 1,208, 14, 64, 1,128,251,165,162,172,146, 23,192,160,119, 64, 99, 31, 40, 74,170,148,201, 83,234,213, +171, 95,179, 85,219, 54, 78,131,135,190, 15,177, 72,140, 63, 46,156,195, 79,107,150, 29,208,102, 61, 25, 87, 45,247,152,157, 1, +237,149,185,139,212,106, 39, 93,108,244,131,194,196, 28,179,139,192, 57, 0, 66,137,195, 36,202,169,230, 58, 70,162,252,190, 86, +219, 49,142, 23,111,132, 35,234,193, 77,212,116,147, 33,241, 89,188, 62,242, 97,196, 6, 61, 37,252, 1,121, 79,244,246,166, 83, +158,207,190,215,118,116, 31, 23,163,133,197,245, 75,167,140,156,141,235,115,251,234,233,103, 62,129,173,164,161,173,122,184,228, + 29,219, 50, 84, 15,252, 94, 21, 79,114,248,158,191,133, 94, 48,228,253,204,211, 23,174, 41,107,214,241,103, 64,209, 48, 25,116, + 80,165, 68,218,140,154, 28,125,110,228,177,154,118,133, 3,216, 50,230,125,183,108,211,212, 22, 77, 27, 41, 8, 17,191,100,177, + 42,251,158, 95,108, 46,137,153,213, 21, 33,225,241, 13,163, 42, 94,253,117,229,125,157, 85,158,159, 95,240,124,106,190, 76,235, + 92, 87,237,164,150, 60, 31,214, 25,192, 73,237,252,220, 82,145,159, 95, 32,102, 89,171,220,158,199,211,217, 65,138,199, 73,153, +207, 3,218, 37, 34,186, 52,246,234, 47, 75,150,157,207,121, 11,129, 88,129,140,124, 35,104, 66,192,113, 54,216,172,102,104, 53, + 26,100,102,100, 35, 39, 39, 23,218, 98, 53,100, 74,103,132, 54,107, 9, 7, 7, 7, 60,185,119, 25, 0,117,194, 46, 49,200,137, + 2, 90,181,108, 41,140, 74, 46,134,197,202, 65, 8, 11,174,159,221,111,180, 89,205, 3,114, 35,143, 93, 2,236,216, 74,228, 69, +247, 32, 71,254,136,140, 73,105,228,227,230, 77, 69, 36, 20, 97,215,175,235, 75,102,147,218, 74,172,153, 81,169, 58,100,230,235, +144,145,150, 66,192,177,127, 84,231, 89,162, 40,234,110,101,199,175,105, 9,123, 99,142,215, 18, 88, 54,155, 77, 90,199,183, 46, + 70, 76, 26,141, 13, 27, 54, 34, 54, 33, 5,191,254,178,182, 68, 92, 61, 62,250,167,157,252,161, 40, 93, 43, 67,159, 19,179,194, +232,210, 58,253,196,195, 66,218, 96, 38,182,202, 59,187,122,232, 52,110,245, 57, 67,113,129,152, 53,233, 5, 39,118,143,219, 87, + 30, 39, 0, 48, 52,101, 46,117, 11,130,162, 40,148,185, 5, 55, 44,152, 0,185,132, 1, 69, 81,208,155,108,248,232,243,213,216, +185,186,228,205,234,147,169, 51,245, 21,165,179, 76, 8,125,222, 46,142, 26,219,199,111,224,162,173,209,199,110, 36,187, 38,188, +251,110, 23,117,179,102,205,138,100, 50, 25, 20, 10, 5, 28, 29, 29,225,232,232, 8,103,103,231, 42,243, 94, 10,207,170, 98,174, +104,154,134,163,163, 35,100, 50, 89, 69,194,237, 85,206,151,197,149,103,192,251,173,187, 14,218,215,125,224,120,250,143, 35,191, +114,247,174,156,120,223,168,138, 61,106,111, 29,149, 90, 29, 30, 14, 29, 58,180,241,164, 73,147, 68,223, 76, 29,122,238,220,149, +251,177,135, 47, 28, 26, 80, 80, 84,236, 67, 8,129,179,147, 50,109, 88,207,198, 39, 58,181, 10, 74,185,120,241, 34,183,111,223, + 62, 19, 69, 81,143,171, 74,103, 94, 94,238,246,139, 23, 47, 45,239,220,165, 43,126,221,177,239,221,232,232, 39,239, 62,139,143, +131,143,111,125,212,171, 31, 0, 61,229,140,139, 87,175,163,184, 32,103,187,157,229,249,215, 15,161,161,181, 24,134,169, 93, 84, + 84,100,156, 55,111, 94, 16,203,178,199, 67, 67, 67, 91,114, 28,151, 21, 29, 29,157,110, 79,222,111,237,254, 72, 5, 96,151,111, +151, 49, 7, 51, 45, 69,211, 1, 44,243,169, 83, 7,151,175,221,194,237, 63,239,108,204,147,215,249, 97,236,168,143, 39,212,117, + 21, 78, 24,212,190, 46,227,225, 34,199,222, 95, 87, 49,199,110, 38,175, 73,206,183,254,182,252,234,252, 69,246,212, 81, 25, 10, +138, 45,232, 16,226, 10,155,141,128, 37, 4, 52, 69,193, 65, 38,168, 72, 96,253,141, 83, 96,150,140,155, 50,121,210,179,208, 38, +205,102,140, 26, 51, 73,212,172, 65, 29,132,199, 21, 2,160,224,234, 40, 71,102,102, 22,174, 31,255,205, 86,152,241,116, 35,195, +112, 11,170, 83,158, 25, 17,251,253,203,190,123,121,121, 77,124, 16, 25,137, 43, 87,174,192,213,213, 21,101,226,170, 2, 23,225, + 75,156,133,133,197,127, 46, 92,245, 91,135, 9, 31, 14, 66,255,174,141,112,245,238, 51,152,173, 28, 44, 54,238,121,144,107,226, +173, 77,226,233,195,235,155,167, 14, 13,212,232,173,226,228,239,147, 53, 87,241,242, 34,178,175,166,211, 12,224, 28,128, 54, 0, + 6, 1, 56,255,202, 30,131, 20, 74,226,174, 26, 1,184, 5, 32,209,174,188,211,216,123,255,238, 61, 87,139,141,195,245, 59, 15, +131,187,119,104, 6,194, 17,220,189,123, 15, 91,182,109, 49, 62,126,244, 96,165, 46,199,107, 1, 42,222, 50,166,220,242,180,119, + 22, 97, 5, 2,171,148,243,170, 45, 59, 57,104,227,205, 27, 87,231, 74,106,182, 68,195,126,223, 12,204,120,120,124,160, 87, 72, +111,184, 53,232,128,204,135, 71, 17,241,231,222,211,247,108,182, 57, 82,142, 78,209,231,197,232,236,125,222,203, 32,145,202,167, + 53,106,222, 5,105,169,201, 72,138,139,220,105, 44,136,207, 76,121,198,236,204, 72, 79,153, 92, 47,164, 3,110,156,251,253,179, + 74, 4, 86,165,109,222, 77,172,222,120,229,198,205, 17, 25, 7,143,123, 22,107, 13, 50,129,128,214, 75, 24,228,136,244,207,246, +219,157,206, 39, 79, 44, 69,245, 29,135,142,154,244,237,169, 53,203,231, 9, 61,156, 37,200, 46, 52, 66,163,183,226,255,177,119, +223, 97, 81,156,235,223,192,191,187, 59,219,216,165,215,165, 7, 41, 42,138, 5,123, 84,236, 81,140, 13,163,137,198, 22, 61, 49, + 26,245, 36, 26,253, 25, 79, 44, 88,210,142, 38,150, 20, 19, 99,143,189,197, 18,107, 20,209,168,104, 20, 65, 20,233, 32, 32,101, +129,101,105,219,103,119,222, 63, 20,142,241, 80, 22,147,188,231, 28,189, 63,215,197,165,192,236,151,153,217,103,118,239,125,102, +230,121, 42,181, 38, 8,120, 64,176,151, 45,180, 53,149,136, 59,185,211,196, 25, 85,163,129,120, 83, 67,153,174,109, 70,172,210, +149,101,205, 94,188,120, 17, 4, 98,123,175,128,254,139,140,143,170,242,167, 6, 51,119, 6, 2, 90, 44,130,190,178,112,248,226, +197,139, 90,113, 28, 55,192,181,205,136,170, 39,230, 34,172,119,219,203,170,140,152,208,207, 23, 6,211,163,241,195,204,230, 71, +215,218, 89, 30,143,106,142,198,251,149,235, 50, 57, 64,180,255,231,107,120, 88, 92, 14,173,222, 4,131,145,133,129, 53,131,207, + 23,192,201,201, 9,193, 45,194,225,232, 96, 15,101,105, 25,126,187,246, 43,226, 82,111,103,113,192,170, 82,231,138, 93,214, 60, + 71, 60, 70, 30,236,225,238,202, 43,174, 50, 64, 42, 17, 32,238, 98,172, 9,192,182,218,226,170, 57,239, 29, 0, 80,161, 81,127, +249,225,202,245,227,191,253, 98,153,162,125,128, 61,242, 74,117,200, 47,209,162, 74,199, 2,224,192,154, 57, 24,116, 21, 72,249, +237,116, 17, 11,205,151,120,206, 53,220,131, 37, 20,234,127, 75, 76,149,124, 24,189, 26,201,233, 89,216,188,241,171, 26,125,243, +138,171,127,179,109, 86,139,189,127,197, 70,212,119, 90,208,194,113, 56, 30, 87, 84, 55,237, 71,237,169,194, 91,233,234,166,226, +132,171,231,116,252,191,218, 66,104,195,145,135,113, 18, 73,169, 37, 55, 55,183,124,215,174, 93,117, 69,143, 64, 32, 64,237,245, + 82, 6,131,161,201,187,138,156,236,197,109, 39, 70,190,244, 70, 67,197,149, 64, 32,128,197, 98,169,235,189,106,238,169, 71,153, + 91,203, 65, 93,250,142,218,219,127,228,223,248,231,127,250,193,114,243,226,177, 49, 53, 37,169, 71,154,187, 47,213,106,245, 93, + 0,105,107,214,172,233,184,121,243,230, 22,243,231,207,207,252,225,211, 25, 27, 30,125,130,123,244, 89, 38, 62, 62,158,155, 57, +115,166, 94,167,211,101,149,151,151,223,130, 21,147, 92,107,138, 83,214,108,251,246,159,173,242, 30, 22, 78, 9,106,219, 13,174, + 1, 93,161, 8,234, 6, 85,181, 17,215,211, 31, 34,243,222,121, 36, 95, 61,184, 79, 91,226,241, 9,144,106,245,250,118,232,208, +193,143,207,231, 15,231, 56,174,165, 92, 46, 15,224, 56, 78,204, 48,204, 88, 30,143,151,198,178,236,189,208,208,208,243,201,201, +201, 86,207, 25,246, 32,118,187,222,191,207,148,245, 15, 52,242,190,153, 69,154,240, 7, 26,121,188, 70,226, 48,175,228,194,122, +253,118,129,247, 90,152,202,238, 30,220, 81,113,120,247,166, 47, 4, 19,166,127, 96, 78, 82,217,191,199,216,218, 52,171,183,140, +207,227, 21,206,159,191,224, 95,195, 52,240, 30,157, 24,124, 60,100, 67,129, 53, 25,143,199, 52, 90,152,120, 79,248,117,210,251, + 51, 86,182,235,210,115, 98,159, 33,111,240,109, 69,114,156, 59,242, 29,151,149, 24,115,128,225,204, 31,105, 75, 50,179,254,232, +241,101, 48, 24,126, 87, 88, 89,211,123, 5, 0, 37, 46, 21,125,127, 62,123,113,202,137,211,177,159, 70, 14,234,229,242,205,146, +215,241,207,239,143,194, 86, 38, 1,103, 49,227,245,126,190, 99,150,254,173,245,112, 95, 15,169,247,161,152,252, 75,179,215, 38, + 45,212,104,140,169,104,122,222, 59, 14, 64, 28,128, 96, 0,195, 31, 47, 47, 7, 80, 3,160,250,241,239,127,122,252,189,213,140, +172, 5,217,197, 58, 28, 61,124, 16, 9,215,207, 35, 57, 57,165, 42,249, 94,242, 87, 60,134, 91, 91, 83,156,166, 2,210,154,189, +239,204,245,222, 49,136,250,239, 44,108, 68,141,192,230,147,248, 19,171,251,134,244,255,123, 15,151,160,158,112,242,127, 84, 83, + 86,228, 39, 33,239,183,131, 71,171, 10, 68, 99,129,187,166,154,103,124,142,189,124, 91,132, 88, 4, 98, 92,189,120, 18,156,197, +178, 17, 0, 56,139,101,227,237, 95, 79,206,232, 22, 57, 13,206,238,254, 29,212,185,241,141, 14,229,211, 16, 27,134,173,248,121, +251, 39, 7,178,179,179,113,255,254,125,164,167,167, 67,165, 82, 97,247,238,203,205, 26,171,169, 36,243,218, 57,158,128, 25, 60, +254,173,247,143, 71,189, 22, 37,245, 11, 8,226,183,242,177,135,139, 29,131,148,140,135,200, 72, 74,179,164, 39, 94,210,113, 90, +229,168,146,140,171, 13,246,142,184,134,142,241,224,243, 77, 31,158, 63,246,104,110,193,129, 35,167,182,250,191,217,243,187, 59, +187, 56,213,251, 58,174, 42, 43, 23, 71, 71, 47,109, 85,187,124, 83,115, 17,242, 5,130,170,233, 51,230,200,249, 60,126,221,105, + 64,174,118,183,213,254,195,113, 0, 15, 16, 9,153, 38,159,178, 41, 81,189,192, 90, 44,168,214, 26, 81,173, 49, 66, 93,173, 67, + 81,169, 26,119,239,101,224,198,229, 83,200,206, 72,175, 98, 89, 54, 6, 28, 14,151,184, 84,236,171,103, 96,221,134,123, 88, 33, +240,115,118,178, 67,118,185, 14, 54, 34, 6, 5,185,233,172,145,213, 61,243, 32,235,101, 9,199, 11, 5,109, 71,188,242,214,187, +255, 56, 29, 17,209,219,190,125,120,103,185,171,189, 29, 68, 12, 15, 25,185,197,184, 19,255, 91,205,131,212,219,149,102,147,118, + 72,217,221,227,127,120,150,150,255,217, 2,203,104,102, 7,126,240,143,207,206,154,205,102, 27, 70, 32,208,154, 56,203,144, 63, + 82, 92,253, 85, 56,206,146,255,238,123, 11,126,247,129,192,100,182,216,252,237,221,249,218, 39, 63, 32,240, 76,102, 89,109,207, + 21,199,113,141,245,106, 8, 74,212,250,170, 69,223, 38,236,248,124,199,189,131,120, 52,130,107,254, 31, 93,207,242, 74, 67,130, +203,160,253, 35,171, 52, 44, 15, 64,114, 61,153, 53,253,251,247,175, 43,182, 30,159,174,179,250,245, 82, 44,149,205,232, 55,124, + 42,255,252,209,205,150,223, 98,142,142,125,150,226,234,201,167, 95,167,211, 93,215,233,116, 73, 31,125,244, 81, 23, 15, 15, 15, +143,165, 75,151, 74, 43, 43, 43,133,223,124,243,141,174,180,180,180,168,178,178,242, 26,154,119, 93,139,165, 60,255,206, 91, 63, + 31, 50,125,199, 59,184,229, 21, 39,119,239,193,142,174,190, 45,203, 75,242, 51, 42,203,242, 79,243, 44, 56, 87, 93,146,122,173, +185, 43,154,144,144,144, 27, 22, 22,246,147, 64, 32,240, 49,155,205,174, 60, 30,207,150,227,184,114,150,101,203, 45, 22, 75, 97, +115,138,171, 39,139, 44,223,214,189,246,148,105, 45, 98, 35, 79,186,231, 65,236,118, 61, 0, 40,207, 45,208, 0, 56,134,190,255, + 23,117,244,106,246, 87,119,203,237,231,148,196,254,243,120,115,243, 11,110,239, 15,254,179,218,191,174,240, 94, 62,128, 41,119, +110,226,139,164,248,107,203,120, 28,132,102,176,171,180,202,244,155,127, 70,190, 80, 40,212,117,238,220,185,222,187, 5, 37, 18, + 73,227,227,150,197,198,178, 74, 96, 51,250,244,217,126,250,252,229, 41,167,206,253,250,105,247, 30,189, 92,164, 18, 47,248, 59, + 25,177,125, 65,167,191,159,143, 47,185, 49, 98,193,165,111, 51, 11,116,137,104,252,250,171,250,164, 3,168,120,220,147,181, 9, +192,244,199,199, 86, 82,179, 11, 1, 11,222,236,209,163,235,110, 30,143,199,112,172,229,159,215,132,130, 61,186,194,228,124,252, +193,233, 67,218, 7,216, 99,250,140, 25, 33,129, 65,255,186,139,176,237, 75,118,152, 48,229,237, 16,255, 22, 33,117, 63,107,229, +219,196, 7,170,194,120,109,181,123,216,160,148,179,107,150,184,100, 92,121,215,198,217,199,182,166, 52, 71, 85,158,115,115,141, + 70,233,177,166,158, 25, 26,154, 37, 59,253,238,218, 45, 95, 44,156, 95,248, 48, 99,179,166, 36,237,209, 89,135,146,180,164,228, + 91, 88, 82, 90,148, 63,191, 76,153,185,230, 89,247, 69, 77, 77, 77,193,174, 93,187, 28,123,246,236,201,247,240,240, 64, 73, 73, + 9, 98, 98, 98, 44, 22,139,229, 97,115,179,148,105,151, 99, 16, 24,232,188,103,123,197, 63, 25, 27,187,161,172, 25, 94, 28,199, +129,225,243, 10,141,250,138,211, 37,142,218, 5,184, 19,215,104, 59,226, 44,102, 30,199,231,248,181,115, 11, 90, 44, 22,222,234, +175,119,230, 8,132,226,122, 79,169,154, 77, 6,153,197, 98,177,122, 46,194, 98,193, 3,151, 48, 83,235,166,239,226,227,128, 36, +222,253, 38, 62,156,114,103, 94,142,156, 52,152,101,205,166,199,199, 71,237,151,146,227,120, 23,192, 51,159, 45,117,174,186,214, +156,162,234,119, 47,244, 70,163, 35,248, 34,216,201, 76,224,131,135,202,138, 10,137,155, 89,156, 92,250, 7,218,146,242,238,177, +187,202, 62,125,252, 13,191, 92,152, 28,123,249,202, 88,206, 98, 9, 48,115, 0, 56, 94,182,193,168, 59,160,180, 47,221,241,172, +235,251,191,134,247, 23,231, 91,117,186,228,191, 48, 83, 4,192, 21,143,134,196, 47,254,147,215,179,193,185, 5,255,200,182,219, + 42, 90,247,146, 72,101, 11, 52,154,170,205, 90,101,218,241, 63,121,127, 58, 72, 36,146,112, 91, 91, 91, 97,105,105,233,245,199, +111,106,207,227,243, 94,167,215, 91, 91, 93,251, 15,126,249,253,115, 63,223, 88,255,248,244, 97, 29,239, 49, 95, 74, 39, 12,141, +152,183,243,240,137,181,245,220, 69,248, 63,191,237,127, 89,102,159, 62,140,123,185,253, 20,179,217,178,170,127, 72,149,166, 40, + 43,101,230,229, 59, 37,215, 1, 84,253,193,245, 28,255, 68, 15,214,158,255,150,109,119,107, 59,114, 5,120, 8,181, 58,129, 67, +114,201,221,163, 75,155, 92,207,208, 80,145,172, 4, 78,154, 82,215,178,103, 40,172,254, 19,109, 73,208,174, 93,187,222, 34,145, +200,207,108, 54,203, 12, 6,131, 70,171,213,102,231,228,228, 92, 69,195, 19,146,255,165,235,233, 30, 54,114,173, 80, 40,124, 15, + 0, 76, 38,211,122,101,210,209,185,141, 61,176,145,229,255,250,253, 57,102,140, 0, 7, 15,154,255,138,231,200,171,227,107,106, +147,137,173,155,123, 72, 36,100, 42, 30,222, 62,228,248, 31,108, 75,164,153, 79, 42,101, 82, 38,101, 82,230,211,248,180, 63, 41, +243, 63,153,233, 25, 58,204,215, 51,116,152,213,131, 37, 55,176, 60,237, 79,210, 32,134,118, 1, 33,228, 63,192, 66,187,128,252, + 39, 21, 38,159,200,251, 43,151, 39,132,215, 72, 21,218,156,174,191,103,169,100,147, 40,147, 50, 41,147, 50, 41,147, 50, 41,243, +133,203,108, 42,155, 78, 61,254, 69,133, 23,101, 82, 38,101, 82, 38,101, 82, 38,101,190,120,153,207, 21, 62,237, 2, 66, 8, 33, +132, 16, 42,176, 8, 33,132, 16, 66,168,192, 34,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 80,129, 69, 8, 33,132, 16, 66, + 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33, +132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8,249,235,208, 76,227,148, 73,153,148, 73,153,148, 73,153,148,249,194,161, +145,220, 9, 33,132, 16, 66,168,192, 34,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 10, 44, 66, 8, 33,132, 16, 66, 5, 22, + 33,132, 16, 66,200,127, 13, 30, 26,190, 19, 32,169, 25, 57,207,114, 55, 65, 18,101, 82, 38,101, 82, 38,101, 82, 38,101,190,112, +153, 77,101, 39,129,252, 37,133, 23,101, 82, 38,101, 82, 38,101, 82, 38,101,190,120,153,207, 21, 58, 69, 72, 8, 33,132, 16, 66, + 5, 22, 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33, 84, 96, 17, 66, 8, 33,132, 16, 42,176, 8, 33,132, 16, 66, 8, 33,132, + 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 27,194, 75,109, 0, 0, 32, 0, 73, + 68, 65, 84, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,127, 33,154,105,156, 50, 41,147, + 50, 41,147, 50, 41,147, 50, 95, 56, 52,146, 59, 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33, 84, 96, 17, 66, 8, 33,132, 80, +129, 69, 8, 33,132, 16, 66,168,192, 34,132, 16, 66, 8,249,175,193, 67,195,119, 2, 36, 53, 35,231, 89,238, 38, 72,162, 76,202, +164, 76,202,164, 76,202,164,204, 23, 46,179,169,236, 36,144,191,164,240,162, 76,202,164, 76,202,164, 76,202,164,204, 23, 47,243, +185, 66,167, 8, 9, 33,132, 16, 66,168,192, 34,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 10, 44, 66, 8, 33,132, 16, 66, + 5, 22, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, + 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,228, 47, 68, 51,141, 83, 38,101, 82, 38,101, + 82, 38,101, 82,230, 11,135, 70,114, 39,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 10, 44, 66, 8, 33,132, 16, 42,176, 8, + 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33,255, 53,120,104,248, 78,128,164,102,228, 60,203,221, 4, 73,148, 73,153,148, 73, +153,148, 73,153,148,249,194,101, 54,149,157, 4,242,151, 20, 94,148, 73,153,148, 73,153,148, 73,153,148,249,226,101, 62, 87,232, + 20, 33, 33,132, 16, 66, 8, 21, 88,132, 16, 66, 8, 33, 84, 96, 17, 66, 8, 33,132, 80,129, 69, 8, 33,132, 16, 66,168,192, 34, 132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, - 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132,252,133,104,164,113,202,164, 76,202,164, 76,202,164, - 76,202,124,238,208,147,220, 9, 33,132, 16, 66,168,192, 34,132, 16, 66, 8,161, 2,139, 16, 66, 8, 33,132, 10, 44, 66, 8, 33, -132, 16, 66, 5, 22, 33,132, 16, 66,200,127, 13, 30, 26,191, 19, 32,177, 5, 57, 79,115, 55, 65, 34,101, 82, 38,101, 82, 38,101, - 82, 38,101, 62,119,153,205,101, 39,130,252, 37,133, 23,101, 82, 38,101, 82, 38,101, 82, 38,101, 62,127,153,207, 20, 58, 69, 72, - 8, 33,132, 16,242, 39, 99, 26,252, 97,247, 53,197, 44,203,186, 1, 0,195, 48, 37,166, 27,203,149, 77,133,248,120,120, 12, 49, - 3,223, 3,128, 0,120, 35,175,176,240,124, 3,153,231, 89,150,117,124,148, 89, 97,186,177,252,197,166, 50,133,221,215,156,123, -124,122,246,198,242,161, 79, 78,195, 1,124, 97,247, 53,133, 79,204,171,135,181, 11,207, 3, 44,255, 63,230,243,127, 37,243,121, - 38,236,177,166,216,100,122,216,142,132, 66,166,196,120,189,233,118, 36,234,177,166,240,241,233, 77,215,151,187, 63, 57,141,184, -215, 71, 57, 38, 19,235, 1, 0, 18,177,184, 52,200,207,125,125, 83,153, 25,185, 37,239,104,117,122,215, 71,153,133,134,171,255, -240,253, 95,221, 54,173,229,238,238,222,149,207,231, 47,231,241,120,118,143,253, 56,161,160,160,224, 29,106,149,132,144,103,174, -192, 98, 89,214,237,214,209, 85,168,213, 3,131,167,174,113,107, 53,118,243,158, 39,167, 49,233, 42,196,154,212, 99,237, 4, 38, -181,163,131,140,115, 76, 77, 77,229, 3,128,167,167,231,247, 0,124, 27,200,116,188,117,116, 21, 52, 6, 32,124,226,106,199, 78, -126,126,118, 85, 60,222, 34,153, 76, 54, 72,167,211,181, 7, 0,169, 84,122, 87,171,213, 94,176,227,184,207,159,156,190,177, 5, -120,124, 94, 7, 77, 89,227,214, 58,242,251,191,155,205,102,177, 62,227, 64,127, 75,245, 3, 70, 96, 54,124, 53,188,176,240,244, -119,128,217,154, 21,242,248,223,237,255,234, 63,156,125, 60, 60,134,200,228,242,174,114, 27,155,126,102,179, 57,196, 98,177,192, - 98,177, 36,105,107,107, 47,177, 38,211, 77,179, 73,227,124,235,199,143, 44, 77,205,231,147,203,210, 5, 96, 74,148,202, 9, 50, - 27,155, 1, 2,129,160, 15, 0,152,205,230,203,218,154,154, 95,220,138,138, 14, 90,179,236,214,174,159,167,157,254,121, 99, 50, -177,110,153,103, 87, 65,111, 2,194, 94,254,216,173,227,107, 59,247, 2,128,161, 36,222,189, 38,245,120, 15, 0, 80, 4,142,188, - 46, 81,134, 21, 3, 0,243,160,208, 45,229,228,123,208,155,128,144,145,171,221, 26,202, 52, 24,140, 62,105,167, 86, 64,111, 2, -254, 22,117,200, 99,201,236,241,114, 0,136,249,241,187,192,115,135, 54,188, 4, 0, 47,142,127,251,167,129, 99,223, 76, 7,128, -207,190, 61,228,177,251,195,241,208,155,128,208, 49, 31,248, 60,237,182,201,234, 43, 69,234,148,147, 65,166,170, 2, 71, 31, 5, -163,108,233,182,105, 15,216,215, 0,243,120, 2, 65,223,160,160,160, 46, 0,144,158,158,126,203,194,178,191,218, 0, 95,253,153, -109, 73, 32, 16,252, 61, 63, 63,127,212,227, 63,243,242,242,162, 6, 73, 8,121, 54, 11, 44, 0,168,213, 3,177,105, 64,255,158, - 29, 49,107,242, 75, 54,143,255,238,199,237,159,248,228,223, 61, 23,242,217,190,245,130,214,173, 91, 35, 53, 53,213,170, 63,166, - 49, 0,191,164, 2, 18, 93,150,173, 70, 40,204,136, 90,190,220,174,111,223,190,140,167,167, 39, 0,160,164,164,164,231,165, 75, -151,186,174, 94,189,122,142, 68,151, 85,161, 49,160,250, 23, 43,162,235,230,181,125,235, 23,240,222,252,137,246, 0,176,126,209, -193,174,167,174,196, 59,101,101,101, 13,254,232,163,143,202,189,174, 94,221,100, 99,177,108, 75, 46, 46,206,181,102, 62,247,159, -142,147, 5, 25,207,183, 26, 63, 99,198, 17, 95, 95, 95,185,183,183, 55, 79, 42,149, 66, 32, 16,160,166,166,198, 51, 57, 57,121, -200,237,219,183,181, 23,175, 30, 19,198,199,141,203, 44, 16,134,105,173, 89,118, 17, 91, 38,173, 13, 14,190, 55, 62, 34,194,123, -228,200,145, 82,127,127,127, 0, 64, 86, 86, 86,240, 79, 63,253, 52,233,212,169, 83, 43, 69,108, 25,171, 49, 64,215,220,178,215, -101, 2,128, 16,232,237,228,230, 54, 89, 40, 20,134,178, 44,235,245,168,119, 33,223,100, 50, 37,170, 74, 74,118, 63, 57, 61,249, -119,122, 19,144, 84, 8, 12,233, 23,134, 41,227,134, 40, 0, 96,233,171, 31,246,124,144,149, 38, 50, 24, 12,104,221, 38,164,207, - 7, 31,127,113, 22,124, 62,126, 56,242,115,253,244, 77, 22,182, 28, 31,169, 37, 64,194,253, 76,172,250,112, 35, 87,148,112,168, - 27, 91,113,111,104,121, 89, 25, 3, 0,206, 46, 46, 19,246,239,221,125, 94,217,113,252,111,233,197,181,245,211, 91,211,222, 27, -218, 54, 79,237,219,232,153,159,120,161,221, 55,103,183, 8,125,125,125,145,152,152,216,162,109, 19,149,201,182,114, 15,143,164, -168, 37, 75,148,225,225,225, 80, 40, 20, 16, 10,133, 48,153, 76, 67, 46, 95,190, 60,100,213,170, 85,115,170, 42,147,107,173,221, - 54,173,232, 59,252,220,189,117,255,129,145,163, 71,120, 12,234,223, 19,227,134,247,161,134, 72, 8,121,118, 11, 44,134, 97, 74, -134, 78,251,200,173, 95,143, 80,252, 22,159, 82,153,149, 83, 84, 83,247, 59,245,253,163,193,179, 35, 59,133,110, 62,117, 18, 70, -163, 17, 87,174, 92,193,205,155, 55,113,229,202, 21,238,243,207, 63,215, 10,128, 55, 26,201,172, 8,159,184,218, 81,162,207,181, -233,226,156,235,191,127,239, 47, 2,173, 86,139,216,216, 88, 84, 84, 84, 64, 34,145,192,203,203, 11,253,250,245, 99, 98, 98, 98, -156, 94,157, 52,217,254,197,177, 51, 51,245, 18,159, 26,134, 97, 42,216,198, 22,128, 97, 74, 6, 79, 93,227,214, 46,248, 5,164, -103, 23, 84,190,247,241,150, 26,139,153, 99,116, 15,242,140, 23, 47, 94, 68,231,206,157,177,127,255,126,231,138,138,138, 21, 59, -118,236, 88,238,254,229,246, 13,197,121,201,139,208,120, 94, 69,248,196,213,142,173,205,209,190, 7,247,108, 19,197,199,199,139, - 54,109,218, 4,149, 74, 5,177, 88, 12,123,123,123, 40,149, 74,180,110,221,154, 55,103,206, 28,249,192,129,169,120,111,209, 12, -223, 34,199,200,228,198,230,179, 46, 83,100, 40,148, 7, 11,110, 6,126,191,115, 39,191,123,247,238,188,199,167,241,245,245,197, -128, 1, 3,164,145,145,145,129,115,230,206,183, 12,137,124, 51,221, 40,246,208, 52,151,137,218, 92,153,179,230,170,231,144,137, - 19, 79, 68, 69, 69, 57,120,120,120, 64, 46,151, 3, 0, 42, 43, 43,189,179,179,179,123,174, 90,181,106,252,245,132,253, 76,248, -200,220, 2, 40,124,180, 77,173,207,231,149, 80,200,148,212,245, 68,217, 42,100, 21,185,121,197,181, 15,123,161, 12, 48, 24, 12, -208,235,245,120,107,206,155,130, 55, 94,238, 30,228,215,239,239,183,179,242,139, 85, 33, 63, 95,115,170,123,173,169,225,204,178, -118,163, 63,112, 4, 0,126, 85,102,109, 69,246,185,191,189,187, 96,129,151, 82, 57, 27, 34,145, 8, 0,176,125,219, 54,166,188, -188, 60,226,131, 15, 62, 8,229, 20,131,171,218,141,254, 64,241,232,181, 21,166, 22,110,155, 21, 41, 39, 91,125, 56,111, 88,167, -239, 63, 62, 9,179,217,140,107,215,174,225,226,197,139,248,226,139, 47,184,211,167, 79, 87,218, 41, 20, 77,110,155,168, 76,182, -237,235, 81, 20,240,233,167,135,121, 98,177, 24,199,142, 29,195,253,251,247,193,231,243,209,177, 99, 71, 76,153, 50, 5, 67,134, - 12, 81,206,154,245, 38, 23, 62,252,213, 12,216,183,169,254, 99,109, 41,138,207, 58,222,249,251,188, 89,175,121,188, 60,102, 24, - 54,126,249, 13, 21, 88,132,144,103, 27, 7,240,252,199,110,222,123,240, 22,119,210,127,236,230,189, 28,192,227, 0,158, 4,240, - 29, 52,104,144,161,166,166,134,139,143,143,231, 38, 76,152, 80,177,116,201,146,173, 59,183,111,143,210,107, 52,111,117,233,212, -105, 10,247,240,209, 15, 13,103, 58, 56,216, 5, 4, 4,148,230,230,230,114,167, 79,159,230, 86,175, 94,205,237,217,179,135, 59, -115,230, 12, 23, 29, 29,205,157, 57,115,134, 59,112,224, 0, 23, 31, 31,207,165,165,165,113,129,129,129,165,254, 14, 14,118, 77, -100,242, 57,128, 31, 20,249,221,162, 67, 55,205, 81,193,145,223,191,195, 1,252, 64,165,178,205,208,161, 67,205,135, 15, 31,230, -118,239,222,205,237,220,185,147, 75, 72, 72,224,202,202,202, 56, 47,191,128,210,186,215, 53, 54,159, 28,192, 11, 11, 11, 43, 85, -171,213,156,175,175, 47, 39, 18,137, 56, 55, 55, 55,174,117,235,214, 92,207,158, 61,185,225,195,135,115,147, 38, 77,226, 86,172, - 88,193,169,213,106,206,207,207,175,184,238,117,141,101,246,244,242,146, 6, 6, 6,230,220,185,115,135,107,140, 78,167,227,202, -202,202,184, 11, 23, 46,112,129,129,129, 57, 61,189,188,164, 77,101, 10,129,176,208,208,208,210,178,178, 50,206, 98,177,112, 26, -141,134, 43, 47, 47,231,202,203,203,185,138,138, 10,206, 96, 48,112, 22,139,133,179, 88, 44, 92,114,114, 50, 23, 16, 16, 80, 34, - 4,194, 26,203,124,206,219, 60,191,161, 47, 47,119,247,225, 74,165, 82,123,248,240, 97, 46, 63, 63,159,219,177, 99, 7,199, 7, - 62,124,114,186,134, 50,199,135,140, 23,133,133,205,146, 9, 4,178,151,122,247,238,109,190,114,229, 10,119,235,214, 45,238,221, -119,223,229, 70,141, 26,197,141, 30, 61,154,139,138,138,226,114,114,114,184,220,220, 92,238,197, 23, 95, 52, 11, 4,178,151,194, -194,102,201,198,135,140, 23,181,100,219,148, 2, 62, 35, 71,142,212, 26,141, 70, 46, 35, 35,131,107,223,190,125,158, 0,152, 44, - 2, 66, 2, 0,113,115,237,211, 14,112,240,240,240, 40,188,122,245, 42,119,248,240, 97,206,207,207,175, 84, 0,188, 46, 1,252, - 37,128,191, 0,120,189, 85,171, 86,165, 87,175, 94,229,202,202,202, 56, 95, 95,223, 66, 59,192,225,233,219, 82, 20,223,173,253, -216,109, 31,124,121,152, 75,206,171,229, 62,248,242, 48,231,222,122, 64, 14,199,113,156,135,135,199,121,106,145,132,144,103,178, - 7,171, 49,124,153,108,213,199, 31,127, 44,210,106,181,120,255,253,247, 75,223,154, 61,123,141,139,155,155, 81, 40, 20, 66, 40, -145, 52, 31, 96,103,247,206,178,101,203, 28, 12, 6, 3,226,226,226,208,165, 75, 23, 72,165, 82, 8,133, 66,136, 68, 34, 48, 12, - 3,165, 82,137,178,178, 50,184,187,187, 99,206,156, 57,246, 95,109,220,248, 14,212,234,247,155,138,181,152, 57, 6, 0,204,102, -179,216,199,211,115, 86,251, 14, 29, 62,159, 51,103, 14, 95,161, 80, 64,175,215, 67,175,215, 35, 57, 57, 25,206,206,206,144,203, -100, 86, 45, 51,159,207,231,219,216,216, 32, 54, 54, 22,219,182,109, 67,102,102, 38, 10, 10, 10, 96,103,103,135,206,157, 59, 35, - 36, 36, 4,125,250,244, 65, 90, 90, 26,120, 60, 94,179, 31, 50,197, 2,193,188, 41, 19, 39,186,133,134, 54,124,103,171, 94,175, -135, 90,173,134, 90,173,134,187,187, 59, 34, 34, 34,220, 78, 28, 59, 54, 15,192,218,134,166,151, 3, 74,255,224,224, 19, 55,110, -220,112,225,243,249,136,141,141,133, 70,163,129, 78,167, 3,203,178,224,241,120,144, 74,165,232,213,171, 23,156,157,157, 17, 28, - 28,140,163, 71,143,186, 14, 29, 58,244, 39,121,113,113, 24,128, 66,106,254,205,203, 43, 46, 62,215, 5,112,126,237,181,215, 78, - 39, 36, 36,132, 79,158, 60, 25,197,197,197,255, 16,188,251,110,133, 25, 88,215,212,107, 15, 38, 29, 98,189, 1,133,147,171,235, -119,159,124,242, 9,191,168,168, 8, 11, 23, 46, 44, 47,200,205, 93, 38, 5,174, 2,192, 79,199,143,247,218,181,107,215,199,187, -119,239,118,222,185,115, 39,191, 75,151, 46,155, 75,226, 54,183,187, 5, 84,182,164,114,209, 1,127, 95,191,126,189, 84,167,211, - 97,232,208,161, 25,154,172,172,142, 44,160,181,246,245, 53,192,188,168, 37, 75,148, 18,137, 4,139, 23, 47, 46, 43,123,240,160, - 61, 11,148, 62, 54, 73,182, 34, 51,243,244,212,169, 83,239, 38, 36, 36,184,172, 91,183, 78,249,114,100,228, 60, 0,107,172,253, - 27,255,186,160,157,111,103,182,137, 13, 30, 59, 60,194,189, 77, 43, 55, 28, 62,118, 22, 95,109,222,179, 29,234,244,239,188,188, -188,230,241,249,252,207,168,229, 17, 66,158,171, 2,203,209,209,177,107, 96, 96, 32,162,163,163,209,182,109,219,163,110,117,197, -149, 80, 8,179,185,249,107,200,101, 10,197,224,240,240,112,230,202,149, 43,240,247,247,135, 76, 38,171, 47,172,234,138, 44,161, - 80, 8,165, 82,137,202,202, 74,244,237,219, 87,184,109,219,182,193, 0,222,111, 46,187, 48, 59,217, 6, 25,219, 94, 91,253,193, - 7, 1, 93,187,118,133,209,104,124, 88,136,200,229,208,235,245, 16, 10,133, 48, 26,141,208, 25,184, 42,107,150,213,108, 54,155, - 5, 2, 1,124,125,125,177,114,229, 74,232,116,186,250,211, 58, 85, 85, 85, 80,171,213,136,139,139, 67, 86, 86, 22, 44, 22, 11, -215, 92,158,220,198, 38, 98,244,232,209,226,134,126,103, 48, 24,234,139,171,202,202, 74,232,116, 58,116,234,212, 73,124,225,194, -133,136,198, 10, 44,158, 84, 58,126,231,206,157,110, 98,177, 24, 58,157, 14,169,169,169, 72, 79, 79, 71,114,114,178, 94,165, 82, -177, 54, 54, 54, 60, 15, 15, 15, 65,101,101,165,120,234,212,169,188,234,234,106, 0, 64,100,100,164,243,246,173, 91, 95,129,193, -176,142,154,191,117,110, 1,250, 64,131, 97, 84,247,238,221, 47,252,246,219,111, 93,222,126,251,109, 36, 36, 36,252, 83,190,127, -255, 69, 13,112,187,201,118, 9,204,249,108,233, 82, 15,133, 66,129, 41, 83,166,168, 52,185,185, 29, 89,160,232,177, 73, 82,156, -179,178,206, 76,155, 54, 45, 49, 33, 33,193,113,221,186,117,202, 87,198,143,159, 3,224,227,150,204,163,189,189,125,119,165, 82, -137, 51,103,206, 32, 39, 43,107,105, 75,138, 43, 0,224, 9, 4,125,251,247,239,143, 31,127,252, 17,121, 15, 30, 44,125,162,184, - 2, 0,212, 2,165, 76, 70,198,210,237,219,183,111,155, 49, 99, 6,248, 12,211, 23,172,245, 39, 8, 27,186,160,253,173,165,159, -225,232,153,107,219, 75,238,118,248, 27,240,163, 5,192, 13,106,113,132,144,103, 65,139,158,131,213,170, 85,171, 86, 18,137, 4, -217,217,217,232,209,163, 71,150, 80, 44,134, 68, 44,134, 68, 38,179,238, 40, 91,167,235,160, 84, 42, 81, 85, 85, 5, 23, 23, 23, -136, 68, 34,136, 68, 34,136,197, 98,136,197,226,250,239,109,109,109,193,231,243,225,229,229, 5,157, 78,215,161,185, 92,182, 50, -213,237,236,142,165,115, 79, 29,221, 21, 16, 25, 25, 9, 79, 79, 15,120,121,121, 66,161, 80,128, 97, 24,248,250,250, 34, 48, 48, - 16, 91,183,110, 5,207, 46,248,186, 53,243,250,120,209, 36, 16, 8, 96, 54,155, 81, 92, 92,140,228,228,100, 36, 36, 36,224,234, -213,171,136,139,139, 67, 77, 77,141, 85,203,174,209,104, 58, 55,212,209,245,100,113,165, 86,171, 81, 90, 90,138,244,244,116, 84, - 87, 87,135, 53, 90,236, 58, 59,143, 11, 13, 13, 21, 0,128, 84, 42, 69,171, 86,173,240,237,183,223,178,231,207,156,121, 69,246, -219,111, 14,230, 11, 23,236,247,254,240,195, 43, 51,103,206, 52, 95,191,126, 29, 85, 85, 85, 72, 73, 73,129,171,171, 43, 35,145, -201, 94,161,166,223, 50,233, 64,173,162,186,122,120,239,222,189, 51, 43, 43, 43,241,217,103,159,241, 25, 91,219,239,222, 4, 4, - 77,110, 96, 2, 65,191,129, 3, 7,226,216,177, 99,200,123,240,224,221,242,223, 23, 87, 0,128,114,160, 40, 43, 61,125,233,246, -237,219, 17, 17, 17, 1,134, 97,250,181,116,254,122,246,236, 25,202,113, 28,238,220,185, 3, 49,112,173,165,175, 15, 10, 10,234, - 98, 99, 99,131,251,247,239, 67, 8, 92,108,108, 58, 33,112, 49, 46, 46, 14, 50,153, 12,237,218,181,235,218,178,191, 34,252,220, -189,117,255,194,183,150,126,134, 35,103, 46, 3, 0,126, 60,113,186,248, 97,113, 21,101,161, 86, 70, 8,121,110, 11, 44, 0,224, - 56, 14, 2,129, 0, 34,134,129, 76, 34,129, 88, 34,129, 88, 40,180,254, 72,153,199,131, 68, 34,249,183,162,170,174,208,170,251, - 87,161, 80, 88,157,105, 42,252, 53,124,250,180,169, 98, 27, 27, 27,152,205, 44, 24,134,129, 92, 46,135, 82,233,142, 54,109,218, - 64,165, 82, 97,212,232,177,186, 7, 42,230,132,208,123,112,194,211,172, 40,150,101, 81, 91, 91,139,138,138, 10,168, 84, 42, 84, - 85, 85, 65,167,211,193,138,179,131,245,117, 90, 78, 78, 14,246,237,219,135,242,242,242, 70,139,171,140,140, 12,236,218,181, 11, - 89, 89, 89, 16, 8, 4, 86,191, 63,131, 7, 15,198,201,147, 39, 5, 3, 6, 15,222,242,192,207,175,240,129,159, 95,225,128,193, -131,183, 28, 63,126, 92,224,229,229,133,156,156, 28,196,197,197, 65,165, 82,193, 98,177,208, 53, 88, 79,161, 0,168,208,168, 84, - 51,254,241,143,127,112, 54, 54, 54, 88,187,118,109,231,173,192,164,166, 94, 19, 16, 24,216,197,198,198, 6, 73, 73, 73,144, 55, - 81,184,200,129,139,183,110,221,130, 76, 38, 67,155,144,144,174, 79,179, 93, 90, 44, 22,152,205,230, 6,159,239,102,205,118, 41, - 20, 10,193,231,255, 85,207, 30,142,226,179,142,157,254, 62,111,222,124,143,191,207,127, 11, 23, 98, 31,214,128,130,154,140, 84, - 42,174, 8, 33,207,162, 22,157, 34, 76, 79, 79,207,210,233,116, 33,254,254,254,184,123,247,174,127,251, 14, 29, 18,132, 66, 33, - 36, 66, 97,211,135,241,143, 72,165,210, 59,197,197,197,125,188,189,189, 97, 50,153,234, 79, 9,214,157, 38,172,251, 30, 0, 36, - 18, 9,146,146,146, 32,149, 74,239, 52,187, 16,230, 26,191, 86,173, 90,161,168,168, 24, 18,137, 4,142,142, 14,144,201,100,144, - 72,164,248,248,227,143, 45, 91, 54,111,254, 90,210,126,158,122,193,204,165,220,141, 53,223,255, 71, 86,180, 92, 46,191,227,239, -239,223, 75,161, 80,224,232,209,163,200,202,202,130, 90,173,174,191,110, 74,171,213, 66,175,215, 67, 42,149,162, 93,187,118,112, -114,114,194,221,187,119, 27, 93,246,138,242,242, 35,137,137,137,189,186,117,235, 86,191,234, 7, 12, 24,192, 27, 48, 96,128,203, - 99,189,102, 40, 47, 47, 71,124,124, 60, 98, 99, 99,193,178, 44,238,221,187,103,214,107,181,251,169,233, 63, 29, 29,112, 89,176, -125,251,182,217,179,103,207,236,211,167, 15, 56, 96, 4,128, 31, 26, 61,130,225,243,121, 12,195,128,199,227, 53, 89,248,240, 0, - 11,199,113,117,197, 78,139, 11,224,171, 87,175, 38,154,205,230, 62,173, 91,183,134, 30,232, 14,224,100, 75, 94,159,150,150,118, -203,100, 50, 13,233,212,169, 19,142, 28, 60, 24, 14, 32,187,193,131, 25, 32, 60, 44, 44, 12, 90,173, 22,247,238,221,187,105,109, -113,229,214,254,206,150,121,179, 94,123,253,229, 49,195,112,248,216, 89,252,120,226, 76,238, 55,159, 46,241,225, 56,139,145, 90, - 21, 33,228,185,239,193,170,172,172,252,237,254,253,251,232,217,179, 39,210, 50, 50, 34,245, 90,173,168,174, 23,139, 47,104,190, -196,210,214,214, 70,255,250,235,175,108,231,206,157, 81, 83, 83, 83, 95, 84, 61,222,123, 85, 87,112, 41, 20, 10,156, 62,125,218, -168,173,173,141,110, 46,215,204,154, 45,124, 62, 31, 60, 30, 15,122,189, 30,133,133, 69,208,233,244,248,254,251,239,177,117,243, -230, 73,121,133,133,239, 64,226,168,253, 43, 86,160,181,159,133, 90,173, 54, 58, 58, 58,218,228,239,239,143,233,211,167, 99,193, -130, 5, 88,176, 96, 1,222,124,243, 77,188,254,250,235,152, 60,121, 50,198,141, 27,135, 30, 61,122,192,213,213, 21,153,153,153, - 38,173, 86,219,232,178,115, 58,221,161,105,211,166,149,232,116, 58,152,205,102,232,245,122,104,181,218,250, 94,182,184,184, 56, - 28, 57,114, 4,155, 55,111,198, 79, 63,253,132,218,218, 90, 84, 85, 85,225,214,173, 91,106,129,201,116,128,154,254, 31,218,104, - 14,255,250,235,175,112,116,116,132,167,183,119,255, 38, 15, 74,210,210,110,155,205,102,116,236,216, 17,181, 64,163,211,214, 2, -253, 59,119,238, 12,157, 78,135,164,123,247,226, 90, 58, 79,213,213,213, 55, 50, 51, 51, 49, 96,192, 0,120,120,123,127,238, 14, -200, 90,242,122, 11,203,254,122,249,242,101, 76,157, 58, 21,126,173, 90,125,170, 0, 92,159,156, 70, 1,184,250, 7, 6,126,250, -250,235,175,227,220,185,115,176,176,236,175,141,229,185,187,187,119,245,240,240, 56,238,233,233, 25,235, 30,120, 62, 59,114,120, -207,215, 31,191,160,157, 83,167, 79,240,242,242,218,205,231,243, 23, 83,139, 34,132, 60,247, 5,150, 69,171, 93,189,108,217, 50, -131, 64, 32,192,220,185,115, 93,191,250,230,155,213, 7, 14, 28,232, 22,127,231,142,210,160,215, 55, 95, 97, 85, 85,173,255,224, -131, 15,212, 70,163, 17,109,219,182,133, 74,165,130,217,108,134, 64, 32, 0,195, 48, 16, 8, 4,224,243,249,144,203,229, 72, 76, - 76,196,254,253,251,171, 80, 85,181,190,217,249,178, 88,238, 28, 61,122, 20, 12,195,112, 82,169,180,190,232,217,184,113, 99,201, -204,194,194, 35, 0, 32, 16, 8, 12, 0,192, 23,240,172,186, 42,151,207,231, 55,123,225,186, 88, 44,174,187,184,191,249,139,220, - 89,118,253,183,223,126, 91,157,154,154, 10,141, 70, 83,127,106,176,166,166, 6,213,213,213,245,223,215, 21,137, 23, 47, 94,172, -150,179,108,163,203,174, 1,138,178, 82, 83, 71,117,235,214,173, 60, 59, 59, 27, 53, 53, 53, 72, 75, 75,195,213,171, 87,113,242, -228, 73,196,196,196, 32, 61, 61, 29, 6,131, 1, 14, 14, 14,168,170,170,194,241,227,199,171,244, 53, 53,195, 52, 13, 92, 7, 68, -254,197,199,195, 99,176,187,155, 91,174,171,139, 75,190,143,135,199,224, 6, 10,141,148,148,148, 20,152,205,102, 4, 4, 4, 56, - 53,117, 29,150,153,101,127,189,122,245, 42, 38, 79,158, 12,165,151,215,199,174, 13, 20, 46,174,128,171,135,183,247,199,211,167, - 79, 71,116,116, 52,204, 77, 20, 46,141,145, 2, 27,151, 44, 89,162, 21,137, 68,216,191,127,127,128, 93, 80, 80, 50, 3,188, 38, - 6,218, 6, 2,162,230, 94,111, 3,124,181, 98,197,138, 34, 0,216,189,123,183,139, 71, 96,224, 93, 6,152, 46, 5, 94,144, 2, - 47, 48,192,116,143,192,192,187,251,247,239,119, 97, 89, 22, 11, 22, 44, 40,178, 1,190,106, 44, 79, 32, 16,252,189,160,160, 96, - 84,126,126,126,120, 81,218, 21,159,111, 62, 93,130, 11,177,215,240,213,230, 61,219, 75,238,118,248, 91, 73, 73,254,141,130,130, -130, 41,249,249,249,137,212,226, 8, 33,207,162, 6,187, 95,152,238,107,138, 1,206,173,127,207,142,248, 45, 62,185,210,217,209, -254, 76,221,239,212,247,143, 6,191, 50,192,175,243,234,213,171,193,227,241,112,255,254,125, 36, 36, 60,188,172,233,179,207, 62, -211,240, 57, 46,242,177,241,206, 66, 1, 36, 62,202, 60,207,178,172,163, 68,159,107, 19,230,152,217,234,135,157,219, 5,182,182, -182,168,169,169,129, 64, 32,128, 84, 42,133, 66,161,128, 68, 34, 65, 66, 66, 2,166, 78,159, 97, 78,103, 59,253,235, 65,163,255, - 26,239,172, 62,179,238,249, 67,125,156,157,229, 57, 34,209, 34, 87,119,247, 37,243,231,207,151,133,135,135, 67, 44, 22,163,107, -143,126, 69,178,206, 75, 54,240, 5, 60,182,160,172,114,121,224, 11,158,246,247, 82,179, 1,240, 74, 76, 55,150,123, 60,118,202, -230,223,230,179,131, 52, 33,224,135,111,222,183,107,223,190, 61, 56,142, 67,101,101, 37,138,139,139, 81, 82, 82, 2,181, 90, 13, -173, 86, 11,139,197,130,159,127,254, 25, 63, 95,207,168, 42,182,125, 49,163,177,249,252,215,178,103,219,134,200, 82,252, 55,172, -251, 92,224,232,232,136,226,226, 98,148,149,149,213,159, 42, 52,155,205,168,174,174,198,177, 19, 63,153, 51,204, 29,178,244,146, - 23,170,155,203, 68,109,174,204,169,230,178, 87,215, 80,127,238,205, 55,223,180,181,179,179,131,197, 98,129, 74,165, 66, 86, 86, - 22, 82, 82, 82,112,233,210, 37, 77, 73,149,137,211,186, 12,205,171,127,208,104, 3,153,127,162,255,185,204,199,159,101,229,233, -225, 81,248,224,193, 3, 55,179,217, 12, 47, 47, 47, 86,173, 82,125, 34, 6,206,137,128, 2, 30,192, 85, 3, 43,214,109,216, 48, - 99,204,152, 49,232,222,189,123,110, 81,113,241, 11, 13,181, 37, 14,224,123, 2,142, 34, 63,191,164,107,215,174,185,166,164,164, - 96,218,180,105,165, 5,185,185,139,236,128, 88, 0,168, 2,250,123,250,248,124,190,119,239, 94,215,208,208, 80,116,236,216,177, - 84,159,149, 21, 82, 0, 84, 52,210, 62, 27,221, 54, 43, 82, 78,182,154, 27, 25,218,237,173,183,222, 2,203,178,136,141,141,197, -245,235,215,145,147,147,131,203,151, 47,171,237, 20,138, 87,155,218, 54, 81,153,108, 27, 17, 92, 27,176,123,247, 15, 60,145, 72, -132,237,219,183, 35, 46,238, 97,103, 90, 88, 88, 24, 94,127,253,117,176, 44,139,201,147,167,112, 63, 37,203,254,245,160,209, 6, -218,146,151,151, 87,168,197, 98, 89,203,227,241, 68,102,177, 91,183,162,204, 56,169, 71,235,190, 5, 69,169,131,125, 90,120,205, - 21,181, 79,202,164,204,231, 39,243,153,210,236, 88,132,107, 54,193,254,247,195,113,188, 81,120,108,251, 39,204,136,151, 70,133, - 44,127,111,153,160, 67,135, 14,176, 88, 44,232,222,189, 59,166, 77,155, 38, 15, 9, 9,105,110,188,179,154, 23,199,206,204,124, -241,197, 23, 29,230,206,157,107,223,191,127,127, 97,221, 80, 57,119,238,220,193,169, 83,167,140,251,246,237,171,202, 23,247, 83, - 95, 62,189,181,198,154,241,206, 46,151,151,107, 0,188,223,218,104,220,188,226,189,247,162,218,119,232, 48,243,157,119,222,225, -219, 40,228,194, 53,203,223,144, 2,192,135, 95,238,179, 31, 51,254, 53,172, 15, 2,250, 79,106,120,236,184,199,231, 51,175,176, -228,193,107, 51, 38, 4,205,156, 28,105, 25, 59,118,172,220,222,222, 30, 62, 62, 62,112,112,112, 64,102,102, 38,238,220,185,195, -157, 59,119,174, 38,254,126,142,112,215,129,115, 15,196, 54,110,214,140, 27, 88,253,226,152,105, 89,211,167, 79,119,140,140,140, -180,109,223,190,189, 80, 40, 20, 66, 34,145,160,172,172, 12,121,121,121,198,152,152,152,154,124, 81,175,138,203,103,118, 84, 91, - 57, 22,161, 54,124,226,234,180,232,179, 81,239,196,199,199, 79, 1,208,201,104, 52,122,155,205,102, 30,159,207, 47, 52,155,205, - 9,186,154,154,109,108, 88,212,122, 26,139,208, 58,102,179, 89,100, 54,155,161, 86,171,113,254,252,121, 38, 61, 61,125,121,124, -124,252,242,130,130, 2, 24,141, 70,140, 31, 63, 30, 97, 97, 97,248,229,151, 95, 80, 90, 92,124,162,169,172, 2,160,130,121,240, - 96,198,156, 57,115, 78,238,216,177,131,119,231,206, 29,215,109,219,182,253,112,235,214, 45, 0, 64,151, 46, 93, 48, 99,198, 12, - 48, 12,131,105,211,166,113, 57, 89, 89, 51, 88,160,162,137,246,217,212,182, 89,122,106,223,198,248,177,227,198,183, 91,181,226, - 61, 97,159, 62,125,224,234,234,138,126,253,250,193,104, 52, 58, 88,177,109, 86,135, 15,127, 53,163, 83,167, 78,138,117,235,214, - 41,103,204,152,129,121,243,230, 1, 0,180, 90, 45,206,157, 59,135, 5, 11, 22, 20,229, 48, 61,106,111,197,236,111,178,125, 62, -234,153, 26, 10, 0,158,158,136, 5, 16,206,175,205,206,160, 11,218, 9, 33,207,117,129, 5,252,107,188,179, 75,215, 19,241,248, -112, 28, 15, 57, 37,153,156, 34, 51,102, 44,248,164,157,192,164,118,148, 49, 6,199,132,248,120,126,102,102,102,147,127,172,110, -188, 51,189,196,167,198, 92, 88,222,109,227,250,245,239,108,217,178,101,112,221,163, 24,164, 82,233, 29,109,109,109, 52,170,170, -214,235,253,125, 46,180,116,236,188,148,242,242, 98, 0,179, 3, 45,150, 13,211,103,190,249, 25,207,198,135, 89,182,230,123,157, - 64, 32, 48,100,228, 23, 99,125, 16,160,176,226,121,168, 26, 3,112,167,220,141,189,203,245, 79, 94,251,201, 39, 11, 55,125,245, - 85, 15,153,141, 77,184,209,104, 12,177, 88, 44, 0,144,164,211,104, 46,178, 70,227,245,124,207, 89, 95,136,109,220, 56,107,199, - 13,212, 75,253,171, 21,218, 75,221, 14, 31, 60,248,246,233,211,167,255,109,217,109,129, 13,122, 59,255,104,107,150,253,241,105, - 76,192, 21,148,148, 92,105,170,171,146,198, 34,180, 14,159,227,222,112,116,116,252, 97,240,224,193,210, 33, 67,134, 96,196,136, - 17,232,221,187, 55, 44, 22, 11, 56,142, 67,117,117, 53, 14, 28, 56,128,127,254,243,159,169,238,192,234,230,242, 88,224, 12,115, -236,216,232, 46, 93,186,108, 91,183,110,157,243,236,217,179, 33,123,244,104, 19,173, 86,139,152,152, 24, 44, 88,176,160, 60, 59, - 35, 99, 6, 11,156,105, 46,175,233,109, 83,154,194, 58,140,201,122,117,222, 39, 65,166,170, 2, 71,103, 57,171,188,155,120,199, -234,109, 19,246,109,170, 43,227, 14,116,127, 57, 50,114, 30,159, 97,250,214, 61,138,225,222,189,123, 55,235, 6,123, 70,216,235, - 63,183,164, 45,113,220,195,103,207,113, 28, 71, 23,180, 19, 66,158,239, 2,139, 97,152,146,186, 94, 30,134, 97, 74, 50,127,156, -245, 90, 83, 33, 62, 30, 30, 67, 30, 29, 29,163,185,177, 8,235,254,159,169, 86, 87, 63,122, 66,123,131, 15, 17, 21, 62, 49,125, - 75,198, 59, 75, 47, 46, 78, 6,240, 18,240, 0, 72,190,244, 48,175,251,154,119, 31, 95,166, 70, 87,200,239,254,174, 72,149, 87, - 92,124, 9,192, 37, 0,255,108,112, 62,125, 69,170,230,230,243,201,101,143,127,240,160,234,209,114, 55,188,236,110,205, 47,251, -147,153,205,190,209,127, 96,125, 62,111, 10, 75, 75,127, 4,160,112, 57,121,210,253,212,201,147,175, 44, 92,184,240,101, 79, 79, -207, 32, 23, 23, 23, 71, 91, 91, 91,254,181,107,215, 50, 13, 58,221,134, 64, 96, 71, 10,160,177, 38,147, 5, 78, 41, 51, 50,218, -142, 30, 57,242, 29, 62,195,244, 13, 9, 9, 9, 3,128,164,164,164, 56, 11,203,254,234, 10,172,103, 1,149, 21,239, 99,203,182, - 77, 73,203,183,205, 74,160, 18,192, 26,176, 44,144,144,240,135,183, 77,139,197,178,198,203,203,171,154,158,208, 78, 8, 33,127, -158, 80,202,164,204,103, 40, 83, 0,192,142,214, 39,101, 82, 38,101, 82,230, 95,146,249, 76,225,211, 42, 32,196,106,102, 0, 85, -180, 26, 8, 33,132, 52,135,215, 68, 21,218,146,187, 3,158,166,146, 77,164, 76,202,164, 76,202,164, 76,202,164,204,231, 46,179, -185,108,186, 59,241, 47, 42,188, 40,147, 50, 41,147, 50, 41,147, 50, 41,243,249,203,124,166,208, 41, 66, 66, 8,121, 36, 42, 10, -124,142, 3,143,227,162,248, 28,119, 80,192,113,227, 5, 28,135, 63, 52,118,231,248,241, 13, 63,136,118,254,107,176,165, 53, 78, -200,179,139,161, 85,240,159,163, 84, 42,125,221,221,221,191,227, 56,142, 87, 82, 82, 50,171,168,168, 40,135,214,202,127, 31, 39, - 39,167,193, 0,160, 82,169,162,159,213,101,108,231,143, 72,142,135,182,143,255,140,103, 65,206,189,236,223,143,179,216,238, 5, - 76,225,248,191,127,150, 22,143,195,253,123, 89, 56,218,146, 3,187,177,131, 93,215, 2,192,143,209,165,139,241, 20,131, 83, 55, -199,195,195,163,181,179,179,243, 89,129, 64,192,152,205,230, 57,137,137,137, 39,155, 59,208,124,107, 28,150,177, 69, 46,203, 86, -204,230, 9, 13,250,207,212,122,157,174,146,207,231,103,137, 68,162, 75,243, 39,115,103,190,220,109,186,219,200,235, 27,157,255, -246,254,136,224,235,219,141, 10,107,155,153,177,118, 66,247,245,253,103,186, 8, 51,111,222,182,217,116, 52,231, 59,123, 7,247, - 81,127,127,181,232,164, 68,102,158,242,207,109,168,161, 45,205, 58, 31, 1, 78, 70,160,131, 72, 34,241, 54,179,172, 59, 0, 8, - 24,166,216,164,215,231,138,128,132,101,128,250,191, 36,211,197,196, 48,161, 34,177,216,219,108, 50,185,243, 0, 14, 66, 97,137, -197, 96,200, 53,179,108, 98, 20, 80,254,180,243, 41,148, 72,124,204, 44,235,206, 3,184, 63,107,217,255,204, 76,210, 76,129, 21, - 16, 16,112,147,207,231,123,243,249, 15, 59,185, 30, 31,115,175,238,255, 79,254,107, 54,155,243,146,147,147,187, 90,251,199,253, -253,253,237,116, 58,221, 43, 60, 30,239, 53, 0,224, 56,110,143, 84, 42, 61,144,149,149,245, 84, 23, 18,251,251,251,219,113, 28, -183, 88, 38,147, 13,210,233,116,237, 1, 64, 42,149,222,213,106,181, 23,120, 60,222,218,167,204,101, 60, 60, 60, 38, 40, 20,138, -129, 44,203, 14,228, 56,142,199, 48, 76,140, 70,163,185, 80, 88, 88,120, 16, 64,139,159,120,224,225,225, 33,115,118,118,254,208, -193,193, 97,210,220,185,115,203,157,156,156,218,172, 94,189,250, 55,103,103,231,189, 42,149,234,189,194,194, 66,237,127, 73,251, - 8, 84, 42,149,123,132, 66,161, 32, 55, 55,119, 32, 0,248,248,248,196, 24, 12, 6,115, 73, 73,201,107, 0,210, 91, 18,230,226, -226,162, 16, 10,133, 61, 21, 10, 69, 87,133, 66, 17,110, 54,155, 67, 44, 22, 11, 44, 22, 75, 82,109,109,237, 69,147,201,116,211, -100, 50, 93, 43, 43, 43,171,253, 47,218, 70,108, 69, 34,209, 15, 44,203, 2, 64, 48,128,234,103,113, 71,192,241,208,246,222,221, -164, 54,191, 43,166,218,135,252,251,116,124,248, 54, 50,157,213, 5,214,136,190, 14,195, 71, 69,116,226, 3,128,209,240,219,240, - 83,191,170, 79,253,217,197,213,136, 17, 35,174,108,216,176,193, 81,175,215, 99,201,146, 37,123,244,122,253,215,105,105,105,203, -154,122,157,157,157,253,194,247, 63,250, 74,254,104,127,230,102,177, 88,220, 10, 11,114,131,147,239,223, 25,158,124, 63,241,227, -249,227,239, 95,213,178,230, 55,183,254,136,251,214,204, 71,200, 11, 24, 57,106, 92,228, 75,239,175,140,194,164, 73,147, 94,184, -171,210,201,188,238,198,139,107, 57,155, 64, 23, 55,239,209, 75,223,251,148,119,237,202, 47,163, 15,238,219,114,225,255,102,152, - 6, 81,145,213, 44,222, 26,134,233,105, 31, 20, 20,254,234,143, 63,194,198,199,135, 97, 36, 18, 62, 0,176,122,189, 79, 77,110, -174,199,254,209,163,123, 68,165,164,252, 18, 5, 92,255, 79,102,190,207, 48,125,236,131,130,250, 76, 58,117, 10, 54, 30, 30, 12, - 95, 36,226, 3,128,197,104,244,174, 42, 40,240,216,255,210, 75,221,163,210,210, 46, 70,177,236, 53, 88, 49,212,218,255,208,178, - 19,107, 10, 44, 62,159,239, 29, 23, 23,231,166, 80, 40,240,168,248,129,217,108,134,217,108,198,163, 15,197,250, 7, 47,114, 28, - 7,150,101, 49, 96,192, 0,171,142, 94, 61, 60, 60, 6, 1,152, 30, 20, 20,244,242,226,197,139, 69,125,250,244,129,217,108,198, -133, 11, 23,250,173, 91,183,238, 75,189, 94,127, 4,192,142,194,194,194,104,107,143,110,149, 74,229, 48,129, 64,176,123,249,242, -229,118,125,251,246,101,234,158, 14, 95, 82, 82,210,243,210,165, 75, 93, 87,175, 94, 61, 71,169, 84, 78, 46, 42, 42, 58,107,237, -202,241,242,242, 10,149,203,229,135, 34, 34, 34,188,187,118,237, 42,109,221,186, 53, 56,142,195,237,219,183,103, 36, 39, 39, 79, - 60,117,234,212, 42,141, 70, 51,190, 5,227,169,241, 2, 3, 3,167,217,218,218,126,184,112,225, 66,167,177, 99,199,138, 19, 19, - 19, 43, 2, 2, 2,120, 71,142, 28,113, 61,113,226,196,156,175,191,254,122,130, 92, 46,127, 47, 61, 61,125,167, 53, 27, 94, 80, - 80,208, 77, 62,159,239,109, 77, 1,220,194, 34,184,179,191,191,255,129,139, 23, 47,250,103,103,103,155, 35, 35, 35,119, 1,192, -229,203,151, 59,114, 28,199,235,211,167,207,233,188,188,188, 87, 0,220,182,102,193, 61, 61, 61, 59,218,219,219, 31, 27, 59,118, -172,147,175,175,175,220,219,219,155, 39,149, 74, 33, 16, 8, 80, 83, 83,227,153,156,156, 60,228,246,237,219,218,203,151, 47,171, - 68, 34,209,232,130,130,130,132, 22,180,227,222,110,110,110, 83,132, 66, 97, 40,203,178, 94, 0,192, 48, 76,190,201,100, 74, 44, - 41, 41,249, 1,192,149,167,221, 64,220,221,221,191, 92,183,110,157, 75,113,113, 49, 23, 21, 21,245,101,101,101,229,180,103,121, -135,144,120,251, 26, 46, 93,190,136,111, 55,255, 80,201,113,120,240,111, 5,150, 5,105,237,219,135,184,190,249,198, 20,167,126, -125,194, 17,218,185,103,179,153, 99, 6, 57,191, 47, 22, 49,206, 26,189,254,122, 89, 30,255,152, 92, 33,138,156, 60,174,107, 6, - 0,156,249,249, 78,100,247, 0,199, 95, 93,188, 45, 99,228, 18, 73, 15,131,145, 45, 63,118,161,124,101, 75,138, 41,165, 82,121, -214,198,198, 70,174, 86,171,139,202,203,137,167, 96,192, 0, 0, 32, 0, 73, 68, 65, 84,203, 55, 69, 68, 68,172, 89,183,110,157, - 99, 70, 70, 6,114,115,115, 49,125,250,116,155,252,252,252,185,122,189,254,106,110,110,110,163, 61, 89, 85,213,149,235, 63,140, - 90,184,202,214,222, 81, 32,151, 41, 96, 99,107, 7,255, 86,193,232,214,163, 31,134,188, 56, 26, 25,233,201,189, 14,236,222,114, -123,206,184,188,143,147, 85,248, 32, 54,182,241,125, 83, 59, 63,244, 31,253,242,195,226,106,229,251, 81, 72, 73,190, 95,157,157, -195,159,255,211, 45,190, 60, 98, 80, 59,137, 65, 95,147,125,237,202, 47,254, 61,123, 15, 0,128,174, 7,247,109,185, 16,245,154, -105,112,212,158,103,179,128,255, 51,138,171,247,133,194,105,195,214,173,115, 11,155, 51, 71, 84,147,149,101,204,248,246, 91, 77, -241,197,139,102, 70, 34,225,124,134, 15,231,185, 14, 28, 40,157,147,148, 36,186,252,201, 39,225,194,213,171, 3,222, 51, 26,119, -255,167, 50, 71,108,220,232,218,121,214, 44, 81, 85, 70,134, 49,229,203, 47,181, 69, 63,255,204,138,164, 82,139,247,136, 17, 2, -247,161, 67, 37,115,238,222, 21, 93,253,236,179, 62,204,138, 21,173,150,155, 76, 63, 60, 35,203, 78, 90, 80, 96, 65,161, 80, 96, -223,190,125, 16, 10,133, 16, 10,133, 96, 24,166,209,255,251,249,249, 89, 83, 4,141,115,118,118,254,106,225,194,133,238,163, 70, -141,130,163,227,239, 71,217, 24, 57,114, 36, 70,140, 24, 33,202,204,204,156,120,240,224,193,137,187,118,237, 42,170,169,169,153, - 95, 84, 84,116,164,153, 15,239,129,254,254,254, 71,246,237,219, 39,211,106,181,136,141,141, 69, 69, 69, 5, 36, 18, 9,188,188, -188,208,175, 95, 63, 38, 38, 38,198,105,226,196,137, 71,248,124,254,200,130,130,130, 24, 43, 62, 88,187, 58, 58, 58,198,110,222, -188, 89,218,182,109, 91, 94, 90, 90, 26, 58,117,234, 4, 0, 40, 47, 47,199,200,145, 35,165, 99,199,142, 13,156, 59,119,238, 85, -150,101, 7, 20, 23, 23,223,108,102,217,187,184,187,187,239, 28, 62,124,184,231,187,239,190,107,103, 99, 99,131,236,236,236, 66, -165, 82, 25, 92, 87, 4,141, 25, 51, 70, 60,116,232, 80,143, 77,155, 54,109, 56,117,234,212,146,210,210,210,105, 69, 69, 69,183, -154,172, 86,249,124,239, 91,183,110,185,201,229,114, 20, 23, 23, 99,247,238,221,152, 59,119, 46, 24,134, 65, 73, 73, 9, 14, 28, - 56,128,249,243,231,131,207,231,163,170,170,202,170, 34, 88, 46,151, 15, 9, 10, 10,218, 26, 29, 29,237,237,224,224, 0, 79, 79, - 79,254,138, 21, 43, 66, 3, 2, 2,100, 30, 30, 30,252,130,130, 2, 28, 57,114, 36, 96,202,148, 41,199,114,114,114,102,232,245, -250,102, 79,157, 57, 59, 59,111,219,181,107,151,111,124,124, 60, 54,109,218, 4,149, 74, 5,177, 88, 12,123,123,123, 40,149, 74, -180,110,221,154, 55,103,206, 28,249,192,129, 3,229, 81, 81, 81,219, 0,116,182,162,253,118,114,115,115,251,110,224,192,129, 1, - 81, 81, 81, 14, 30, 30, 30,144,203,229, 0,128,202,202, 74,239,236,236,236,158,171, 86,173, 26,127,243,230,205,204,146,146,146, - 55, 1,196,183,112,251,232,220,174, 93,187,145, 99,199,142, 21, 20, 21, 21, 97,203,150, 45, 35, 43, 43, 43, 59, 91, 91, 84,254, - 47,186,116,249, 34, 6, 14,159, 8, 45, 43, 19,158, 56,186,155,171, 62,251,133,179,141,131, 3, 3, 0, 53,106, 53, 59,226,181, - 69,150,145,163, 39, 27, 7, 13, 31,163,185,112,102,143,220,154, 2, 75, 44, 98,156,247,111,157,157,123,241, 90,106,200,217, 11, -217, 67,198,142, 30,194,103, 20,109, 2, 1, 96,209, 59,111,136,127, 60,254,243,215,195, 6,189, 80, 24,222, 51, 56,247,213,153, -223,250,180,164,184, 10, 8, 8,248,229,236,217,179,238, 98,177, 24, 21, 21, 21,206,219,183,111,255,162,103,207,158,252,244,244, -116,220,191,127, 31, 89, 89, 89, 80,171,213,232,222,189,187,205,189,123,247, 54, 1,104,180,192,250,230, 48, 62,252,100,169,251, - 70, 87, 15, 87,127,147, 65,239,202,234,139,219, 71,159,141,239,120,248,128,166,139,155,210, 59,120,226,228, 89, 88,186,226, 83, -225,209, 67, 59, 87, 34,230, 28, 98,155,122,138, 63, 15,189,255,241,238, 50, 84,105,244,152,252,218, 27,152, 50,249, 13,103,206, - 98,240,224, 44, 58,133, 65, 87,225, 96, 47, 74, 62,185,115,251,129, 72, 0,222,143, 21, 89,209, 84,100, 53,236,125,134,233,241, -226,231,159,187,117,154, 51, 71, 18,191,122,117,109,217,197,139,218, 86, 35, 70, 84,132,205,158,173, 7,128,234,172, 44, 81,202, -170, 85,114,215,240,112, 89,159,255,251, 63, 7,147, 70,163,124,255,163,143,186,175, 4,110,180, 52,211,127,210, 36,243,218, 35, - 71,186, 93,251,228,147, 1,248,224, 3,193,192,176,176,219, 43,190,253, 54,207,154,204, 53, 12,211, 51,226,235,175,221, 58,188, -254,186,228,230,178,101,181,234, 27, 55,180,129,145,145,170,110, 11, 22, 24, 32, 16, 64,147,151, 39, 76, 95,189, 90, 97,223,163, -135,172,215,162, 69, 14,102,131,193, 61,106,213,170, 30, 77,245, 16,189,207, 48, 61,134,175, 95,239,218,105,246,108, 73,252,154, - 53,181, 5, 23, 46,232,171, 66, 66,208,249,229,151,203,189,156,157,245, 79,187,236,143,103,150,197,196,252,225,245, 73, 26,218, - 13, 52,162,117,235,214,197,201,201,201,110,135, 15, 31,182,170,192,242,244,244, 68,191,126,253, 74, 18, 19, 19,221,155,216, 33, -230,230,230,230,122,179, 44, 11,177, 88,220,228,140, 85, 87, 87, 35, 33, 33, 1, 19, 39, 78,204, 43, 44, 44,108,116,167,235,232, -232,104,235,232,232,152, 17, 19, 19,227,114,239,222, 61,220,188,121, 19, 1, 1, 1,112,116,116,132, 80, 40,132,201,100, 66,117, -117, 53,130,130,130, 32,151,203, 49, 98,196,136, 50,149, 74, 21, 80, 81, 81,209,232, 78,204,207,207, 79, 34, 20, 10, 83, 15, 31, - 62,236, 19, 26, 26,138, 27, 55,110,192,199,199, 7, 74,165, 18, 0,144,149,149,133,203,151, 47, 35, 34, 34, 2,137,137,137,152, - 61,123,118,174,201,100, 10,126,240,224,129,190,209,211, 5, 33, 33,133, 7, 15, 30,204,107,219,182,173,174,182,182,150, 95, 92, - 92, 44,188,120,241, 34, 91, 83, 83, 99,163, 86,171,133,149,149,149, 76,101,101,165,176,182,182, 86,200,231,243, 69,122,189, 94, -120,237,218, 53,129, 74,165,106,242,193,150,109,218,180, 41,190,127,255,190,219,241,227,199,209,161, 67, 7, 28, 62,124, 24,139, - 23, 47,198,229,203,151,225,237,237,141, 67,135, 14, 97,241,226,197,184,127,255, 62, 92, 93, 93, 49,104,208,160, 38,223, 35, 0, - 8, 12, 12, 76, 75, 72, 72, 8, 20,139,197, 72, 79, 79, 71, 94, 94, 30,194,195,195, 97,177, 88, 80, 84, 84,132,212,212, 84, 20, - 20, 20, 32, 48, 48, 16,175,189,246, 90,122,126,126,126, 80,115, 13, 45, 44, 44,172, 52, 58, 58,218,165, 99,199,142, 40, 42, 42, -130,131,131, 67,253,151,189,189, 61, 28, 28, 28,208,170, 85, 43, 44, 92,184, 16,157, 58,117, 42,121,240,224,129,123,115,197, 79, -104,104,232,217, 11, 23, 46,184, 56, 57, 57, 65,167,211, 65,167,211,213, 31, 28,200,229,114, 8,133, 66, 0, 64,106,106, 42, 70, -142, 28, 89,154,145,145, 49,188, 5,197, 17,223,221,221,253,126,124,124,124,176,173,173, 45,114,115,115,145,152,152,136,153, 51, -103,166,214,214,214,182,197, 95,112,221,208,127, 82, 72, 43, 44,191,119, 55,169, 77,187,118, 33,149, 83,103,188, 41, 28, 51,106, - 76,109,220,245,115, 38,161,254,151,154, 23,251,217, 23, 0, 64,244,181,106, 55,189,176,159,168,107,247, 97,188, 99,199,142, 73, -119,238,248,142,185,123, 55, 73,217,174,125, 72,114, 82, 38,214, 52,150,253,210, 0,251,169,139,231, 13, 15, 9,239, 19,206, 84, -213,114,202,173,219,190,239,254, 32, 59,195, 29, 0,252, 94, 8, 40,158, 57,227,141, 27,118, 10, 94,209,197,203, 23,217,181, 95, -157, 73,250,233,151,202, 93, 86,244, 46, 7,248,248,248, 92,221,190,125,187,139,139,139, 11,236,237,237,161,209,104, 96, 52, 26, -113,239,222, 61,221,254,253,251, 77,118,118,118,182, 69, 69, 69,168,168,168, 0,195, 48,184,118,237, 90, 78,113,113,113, 67, 71, -130,245, 55,251, 28, 60, 24,197,244,239,234,235, 40,226,115, 50,177, 57,217,147, 17,112, 98, 30, 28,220,163, 99,175,117,250, 37, -246,226,228, 17,163, 94,117,237,213,103, 32, 62, 93,179,212,148,149,155,219,249,209,233,194,127,107, 11,109,253, 49,104,236,184, -200, 9,239,175,140, 66,212,251,171,113,242,196,143,149, 54, 50,190,222,206, 86,104, 31,222,183,143,110,225,252, 87,114, 53,213, -106,159, 47,214,173,157, 52,116,120,164,119,207,222, 3,112,237,202, 47, 56,184,111,203, 77,145,132, 78, 23, 62, 46, 10,112,116, - 8, 8,120,115, 94,106,170,232, 78, 84, 84, 13, 91, 80, 80,209,117,193,130,178,134,166,205, 59,127, 94, 33,246,244,180,115, 30, - 61,218,113,157,159, 31, 76, 37, 37,223, 53,116, 13, 81, 67,153, 55, 60, 60, 28,142,198,196, 12,182, 48, 76,255,185,243,230,201, -134, 12, 25,130,170,170, 42,156, 60,121, 18,123,247,236,209, 43,149,202, 4,135, 27, 55,110, 7, 20, 22, 46,111, 40,243, 35,192, -201,182,117,235, 89,115,147,146, 68,113,203,151,215, 64,165, 82,133,205,159, 95,110, 54,155,121,179,214,172, 25,145, 81, 88,216, -191,184,172,204, 15, 0,220, 28, 28,114,219,122,120,196,109,220,181,235,222, 87,109,218,112, 53, 5, 5,223, 69, 53, 48, 6,233, -147,243,185,255,242,101,247,211,165,165,127,115,116,116,148,149,149,151, 11, 68, 66,161,170, 75,112,240,254, 79,231,207,143,213, -222,188, 41,126,218,101,239,186, 96, 65, 89,165, 70,195,188,183,113, 99,159,130,242,242, 23,106, 13,134,160,202,154, 26, 37,107, - 52,242,109,101,178,242, 23, 2, 3,139,171, 46, 92, 40,242,171,169,121,123,131, 70, 83, 66,173,242, 15,246, 96,241,120, 60,112, - 28,103, 85,113, 37, 20, 10,127,119, 26,170, 9, 34,129, 64,128, 27, 55,110,160,164,164, 4, 29, 58,116,128,191,191,255,239, 38, -200,200,200,192,169, 83,167, 80, 81, 81,129, 46, 93,186, 0,128,168,169, 64, 91, 91,219,119,150, 45, 91,230, 96, 48, 24, 16, 23, - 23,135, 46, 93,186, 64, 42,149, 66, 40, 20, 66, 36, 18,129, 97, 24, 40,149, 74,148,149,149,193,221,221, 29,115,230,204,177,223, -184,113,227, 59, 21, 21, 21,239, 55,150,201,113,220,188,137, 19, 39,186,133,134, 62,188, 11, 53, 55, 55,183,110, 94, 0, 0,110, -110,110,184,125,251, 54,186,116,233, 2,119,119,119, 68, 68, 68,184, 29, 59,118,108, 30,128,181,141, 46,184, 72,196,111,219,182, -109, 55, 0, 80, 40, 20,224,243,249, 41,118,118,118,174,238,238,238, 10, 59, 59,187,127, 91,198,237,219,183,171,197, 98,177,201, -154,149, 90, 84, 84,132,208,208, 80,168,213, 15,183,165,218,218, 90, 4, 5, 5,161,178,178, 18, 0,160,215,235,225,233,233, 89, - 95,128, 52,166, 99,199,142, 81,109,219,182,125, 81,161, 80, 72, 24,134, 65,124,124, 60,194,194,194,176,127,255,126,248,249,249, - 65, 46,151, 35, 57, 57, 25, 29, 59,118, 68,108,108, 44, 92, 93, 93,209,190,125,123,137,155,155,219, 37,149, 74, 21,243,224,193, -131,168, 38,122,218,248, 54, 54, 54,136,141,141,197,182,109,219,144,153,153,137,130,130, 2,216,217,217,161,115,231,206, 8, 9, - 9, 65,159, 62,125,144,150,150, 6, 94,243,141, 73, 25, 28, 28,124,242,198,141, 27, 46,124, 62, 31,177,177,177,208,104, 52,208, -233,116, 96, 89, 22, 60, 30, 15, 82,169, 20,189,122,245,130,179,179, 51,130,131,131,113,244,232, 81,215,161, 67,135,158, 42, 46, - 46,238, 12,160,168,185,117,234,232,232,248,246,202,149, 43,125,220,221,221, 81, 93, 93, 13,141, 70, 3, 79, 79, 79, 12, 29, 58, -212,235,212,169, 83,111, 27, 12,134,117,207,212,145,150, 5, 57,237,218,135,128,227,240,224,196,209,221,156,183,171, 52,116, 64, - 23,139, 91,202, 61,166,215,181,107,137,237, 1,192, 81,225, 31, 31, 28, 98, 76,137,253,237,124,222,201,227,123,227,205,102,240, - 67,218,133,180,225,115,200,111, 42,187, 44,143,127,236,236,133,236, 33, 29, 59,246, 19,108,252, 98,213,152, 89, 51,134, 73,156, - 28,251,241,170,242, 14,224,242,173, 59,126, 43, 86,188,235,246,193, 7,159,156, 56,123, 33,219, 92,150,199,255,208,154,249, 13, -124,193,233,203,195,159, 11, 93,170,171,247, 32, 62,205, 6, 60, 89, 71,248,183, 10, 68, 85, 85, 21, 36, 18,137,116,210,164, 73, -230,101,203,150,105,108,109,109,229,143,218,114, 9,159,207, 31,214,108,240,253, 36,176, 29,130, 88,161,173,193, 98,225,108,180, -208, 85,138,238,164,101,160,223,192,136,226,238, 93, 58,175,249,100,237,186,229, 1, 65,109, 92, 39, 77,125, 83,248,249,167,203, -191, 5,184,126, 13,198,100,225, 2,239,240, 81, 25,128,151,222, 95, 25,133,140,140, 84,199, 89,227,212,171, 25,129,204,179,109, -135,254,182,223,110, 63, 63, 60,168,117,155, 23,102,205,121,251,167,205,155, 54,188,244,120, 79,214,190, 61,155,143, 1,230,193, -176,238,218,156,231, 65,199, 41, 39, 79, 66,147,147, 99, 82, 93,186,164, 27,252,213, 87,101, 93,166, 78, 93,103, 52,153, 92,120, - 60,222,239, 46,133,224,241,120,128,197,194, 99,214,174,229,115,158,158, 48, 57, 56, 76, 71, 74, 74,235,230, 50, 63, 49,153,198, -141,237,220,249,165,173,187,119,195,207,207,175, 62,211,222,222, 30,243,230,205,195,156, 57,115, 36, 9, 9, 9, 61, 78,157, 58, -213, 99,215,215, 95,187,163,180,116,220,147,129, 70,160,195,164,227,199, 81,147,149,101, 84,221,184,161, 27,180, 97, 67,249, 47, -191,253,230,244,238,215, 95,175,232, 16, 22,230,245, 77, 84,148,196,215,247,225,253, 33, 57, 57, 57, 65, 27,214,175,247, 29, 56, -116,104,159,165,139, 22,109,191,189,112, 97, 59, 60, 28,146,173,209,249, 44,186,120,209,112, 90,165,250,219,193, 67,135, 28,218, -180,105, 3,142,227,144,150,150,230,182,109,219,182, 55,251,207,153, 51,101,209,196,137, 43,134,102,102, 86,152,203,203,197, 35, -191,252, 82,184,111,194,132,246,205,101,214,173, 79, 0,120,121,241,226,119,186,247,238,221, 46, 98,210, 36, 39, 79, 79, 79,158, - 76, 38,131,209,104, 68, 81, 81,145, 99,114,114,114, 96,116,101,101,213,185,219,183,127,128, 70, 51,148,154,228, 31, 44,176, 0, -192,108, 54,183,168,192,178,178,200,170,239,241, 42, 43, 43, 67, 98, 98, 34,252,252,252, 96, 50,153,112,246,236, 89,168,213,106, -136, 68, 34,136, 68, 34, 24, 12,134,102,179, 20, 10,197,144,240,240,112,230,202,149, 43,240,247,247,135, 76, 38,171, 47,172,234, -138, 44,161, 80, 8,165, 82,137,202,202, 74,244,237,219, 87,184,109,219,182, 33,104,100, 28, 64, 0,176,177,177, 25, 49,122,244, -232,250, 46,182,218,218, 90, 8, 4, 15,239,180, 54, 24, 12,168,174,174, 70,121,121, 57, 42, 43, 43,161,211,233,208,169, 83, 39, -241,133, 11, 23, 70, 52, 85, 96, 61, 78,163,209,212,148,148,148, 56,244,235,215,207,113,199,142, 29,201,189,122,245,250,221, 69, -195,191,252,242,139, 78,175,215, 51, 98,177,216,170,139,221,119,239,222, 93,191,238, 11, 10, 10,240,221,119,223,193, 98,177,128, -199,227, 33, 53, 53, 21, 27, 55,110,172,191, 86,174,169,247,168,109,219,182, 17, 63,252,240, 67,215, 93,187,118, 85, 48, 12,131, -228,228,100,236,217,179, 7, 28,199,193,197,197, 5, 26,141, 6, 37, 37, 37, 88,183,110, 29,140, 70, 35,108,108,108,224,229,229, - 37,157, 55,111, 94,223,213,171, 87, 11,155, 42,176,204,102,179, 89, 32, 16,192,215,215, 23, 43, 87,174,132, 78,167,131, 72,244, -176,174,172,170,170,130, 90,173, 70, 92, 92, 28,178,178,178, 96,177, 88,154,252, 96,145, 74,165,227,119,238,220,233, 38, 22,139, -161,211,233,144,154,154,138,244,244,116, 36, 39, 39,235, 85, 42, 21,107, 99, 99,195,243,240,240, 16, 84, 86, 86,138,167, 78,157, -202,171,174,174, 6,199,113,136,140,140,116,222,186,117,235, 43, 6,131, 97,125, 51,171,212, 85,169, 84,254, 99,214,172, 89,210, -186,245,102,177, 88, 80, 90, 90,138, 9, 19, 38,200, 99, 98, 98,150, 25, 12,134, 61, 0, 74,159,149, 29,193,227,119, 11, 86,159, -253,194,249,220,185,111, 94, 72,185,199,244, 18,160,188, 71, 88,255,183, 25, 0,184,127,115,123,159,180,164, 27,102, 27, 11, 47, -227,167, 61,107,175,218, 6,191, 89, 14,224, 88, 83,189,128, 35,250, 58, 12,151, 43, 68,145, 99, 71, 15,225,111,221,246,125,247, - 89, 51,134, 73,220, 58,125,207, 3, 0, 71,137, 55,122,155, 22,241,117,134, 90,233,214,109,223,119, 31, 59,122,196,245,172,236, - 7,235,156,149, 14, 71, 79,253,170, 62,211, 84, 47,161,135, 11,227,229, 40, 43,131,163,207, 16,248,133, 56, 34, 46, 46, 14,199, -142, 92, 65, 80,155,110, 48, 24, 12, 48,153, 76,138,145, 35, 71,106, 14, 29, 58,164, 43, 47, 47,175, 54, 26,141,253, 11, 11, 11, - 83,154,173,175, 80,102,233,196,183, 24,197,102, 33,171,173, 21,215,206, 95,113,228,149,238,189, 35,186, 56,249,122, 9,157,165, -236,137, 1,253,195,119,239,221,245,221,194, 69, 75, 63, 64,167,176, 94,189,231,139,126,107,255,229,110,211,157,134,178,146,178, -113,146,127,244, 40,155,145,146,246,210,131,220,236,188,214, 62, 74, 67,122, 14,103,122,123,217,183, 67,251, 13, 25,223, 49,176, - 77, 79,241,221,251, 87,120, 11, 23, 44,220,251,197, 23,159, 77,170, 43,178, 46,198,158,237, 31, 53, 61, 91, 28,181, 3,122,250, -136, 2, 68, 18,137,183,141,159, 31,147,181, 99,135, 54, 96,212,168, 10, 0, 48,177,172,203,181,235,215,237,229,114, 57, 56,142, -131,201,100,250,221, 53,194,117,215, 5, 15, 25, 48,192,221,154,204,220,111,190,233, 56,119,238, 92, 20, 21, 21,129,101,217,250, -222,239,199,246,217,168,170,170,194,184,113,227,176,125,211,166, 6,207,139, 11, 37, 18, 31, 27, 31, 31, 38,107,199, 14,109,224, - 75, 47,169, 96, 54,243,150,126,253,245,202, 69, 75,150,248, 79,120,229,149,223, 29, 55,134,132,132,224,155, 77,155,196,123,246, -236,241,250,100,211,166, 25, 17, 18, 73, 6,244,250, 38,231,179,186,125,123, 56, 38, 38,202,218,180,105, 83, 95, 80, 6, 7, 7, -227,211, 79, 63,149, 76,158, 60, 89, 60,109,202,148,207,239,182,105,179, 33, 42, 43, 43,205,185,117,107, 59, 70, 34,241,110, 46, -179,110,125, 2, 64,141,193, 16, 26,245,193, 7,142,215,175, 95, 71, 65, 65, 1, 56,142,171,255, 59, 29, 59,118,228,189,242,202, - 43,246, 61,187,118,237, 78, 45,242, 79,234,193,106,168,192,106,172,208,178,182,184,122,242,111,120,120,120,192,104, 52,226,251, -239,191,175, 47,172,234,143, 8,140,198,102, 51,116, 58, 93, 7,165, 82,137,170,170, 42,180,110,221,186, 62,163,110,190,234,190, -164, 82, 41,116, 58, 29,188,188,188,160,211,233, 58, 52, 83, 0,117,182,183,183,175,235,205,130,254, 81, 35, 53, 24, 12, 80,171, -213, 80,171,213, 48, 24, 12,168,168,168, 64, 77, 77, 13,212,106, 53,170,171,171,195,172, 89,102,139,197,130,196,196,196,244, 54, -109,218,116, 22, 8, 4,176,177,177, 81,212,214,214,162,238,102, 2,149, 74,133,157, 59,119,214, 78,157, 58,213,229,218,181,107, - 90,107,214,225,252,249,243, 33,145, 72,160,209,104,176,105,211, 38,204,159, 63, 31, 34,145, 8,213,213,213,216,180,105, 19, 22, - 46, 92, 8,134, 97,160,215,235,177,127,255,254,198, 63,100,239,221,203,186,118,237, 90, 88,151, 46, 93, 28,143, 30, 61, 90, 58, -100,200, 16,215, 97,195,134,213,175, 59,150,101,209,163, 71, 15,180,109,219, 22, 37, 37, 37, 56,125,250,116, 89,112,112,176,203, -245,235,215, 45, 69, 69, 69, 15,154, 89,238,250,162, 73, 32, 16,192,108, 54,163,184,184, 24,106,181, 26,165,165,165, 40, 40, 40, - 64, 94, 94, 30, 24,166,249, 39,135, 56, 59, 59,191, 28, 26, 26, 42,120, 84,108,161, 85,171, 86, 88,180,104, 17,171,213,106, 39, - 0, 56,253,104,178,136,189,123,247, 30, 13, 10, 10, 98, 60, 61, 61,145,154,154, 10, 87, 87, 87, 70, 38,147,189,218, 92,129,165, - 84, 42,183,159, 56,113,194,169,238, 14,218, 58, 90,173, 22, 44,203, 98,226,196,137, 78, 91,183,110,221,110, 52, 26, 71, 60,139, - 59, 5, 27, 7, 7,230,197,126,246, 5,215,174, 37,182, 15,235,255, 54,227,212,122,213,195, 2, 28, 96,226, 46,110, 8,235,215, - 35,116, 79,221,117, 89, 77, 25, 59,216,117,237,168,136, 78,252,201,227,186,102, 48,138, 54,129,187,119,110,112,119,114,236,247, -175, 29, 5,227, 4,133, 20,104,235,103,230, 95, 61,153,225,190,112, 97, 27,195,158,111,255,150,177,251,200,205, 33, 34,113,252, -160, 31,163, 75, 23, 54,150,125, 55,195,116,188, 82,231, 20, 98, 95,121,132, 7,231, 55, 16, 22, 22, 6, 87, 87, 79,124,179,249, - 7,120,189,208, 5, 6,131, 1,118,118,118,242,135,187, 17,227,110,107,138, 43, 0,136,138,138,181,132,135,247, 55, 50,174, 46, -236,188,121, 95,140, 27, 22, 49, 46,164,255,128,193,220,249,243,103,140,189, 67,140, 5,131,251,247, 44,250, 37, 54, 54,181,168, - 40, 63,184,109, 72, 71, 36,223,189, 57,140,227,144,200,227, 53,220,219,116, 55, 19,103,116,188,123, 49,251,151,204,178,104, 13, -113,178, 53, 95,223,137,120,105,204,180,208,240,190,253, 44,231,127, 62,103, 16, 67,157,100,211,183,119,254,180, 41,175, 30,221, -127,224,240,139, 49, 63,159, 12,170, 84, 23,159, 92,251, 3, 21, 87,245, 7,103, 44,235,206, 72, 36,252,226,152, 24,182,211,204, -153,245,235, 69, 46,151,227,216,177, 99, 16,139,197, 16,137, 68, 16,139,197,245, 95, 34,145, 8, 74,165, 18, 60,142,227,183, 36, -179,176,176, 16, 69, 69, 69,176,183,183,135,171,171, 43,138,138,138,112,249,242,101,164,166,166,130, 97, 24, 68, 68, 68,128,223, -200,231,230, 19,153,134,191,189,255,254,240,246, 29, 59,122, 62, 89, 92,213,125,182,169, 84, 42,244,239,223,159,119,254,252,121, -215,139, 25, 25, 99,160,215,255,208, 84,102,135,209,163,203, 75,162,163, 27,252,219,237,218,181,227, 29, 61,118, 76, 50,105,226, -196, 5,159,110,222,188,126,197,231,159, 23,129,101,149, 45, 89,118, 30,143,199,231,241,120,240,241,241,129, 74,165, 66, 77, 77, - 77, 93,135, 3, 28, 29, 29, 97, 50,153, 96,177, 88,132,212, 34,173,199,111,174, 24,120,178,144,106,236,139,207,231, 63, 85,145, -213, 20,107, 10,172,186, 34, 67, 34,145,252,110,227,170,251,122,124,227,171, 43, 98,172, 32,168,170,170,194,145, 35, 71,160, 82, -169, 80, 93, 93,253,187,226,170,174,231, 42, 51, 51, 19,123,247,238, 69,126,126, 62, 4, 2,129, 85, 15,109,205,204,204,188,233, -239,239,223,185,174, 71,108,224,192,129,222,151, 46, 93, 42,168, 43,230,150, 47, 95, 94,214,179,103, 79,151, 39, 63,220,155,156, - 89,129, 0,151, 47, 95,134, 70,163, 1,199,113, 16,137, 68, 72, 78, 78, 6,203,178,224, 56, 14, 12,195,160,180,180,180,217, 30, -172,196,196,196,215,103,204,152,177,126,230,204,153, 49, 75,151, 46, 61, 63,104,208,160, 92, 30,143, 7,147,201, 4, 59, 59, 59, - 40,149, 74,164,164,164, 64,171,213,226,157,119,222,201,217,181,107,215,207,155, 54,109,138,217,178,101,203,250,188,188,188, 25, - 45,121,111, 89,150, 69,109,109, 45, 42, 42, 42,160, 82,169, 80, 85, 85, 5,157, 78,247, 84,109,104,240,224,193, 56,121,242,164, - 96,240,224,193, 91,253,252,252,138,252,252,252,138, 6, 15, 30,188,245,248,241,227, 2, 47, 47, 47,228,230,230, 34, 46, 46, 14, - 42,149, 10, 22,139,133,215, 76,239,234,192, 41, 83,166,244,245,245,245,229, 25,141, 70,232,245,122, 24, 12, 6, 24,141, 70,152, -205,102,228,228,228,160, 93,187,118,124, 95, 95,223, 94, 0, 6,210, 46,164,101,170,242, 14,128, 43,249, 10,156,106, 31, 44, 37, - 95,163, 86,247,116, 57, 21, 21, 21, 31,190,245, 81,101,137,185, 50, 6,247,110, 29, 65,181,150,129,119,208, 64,188, 57,115, 34, -126,187, 30,131,242,242,114, 36, 37, 37, 33, 60, 60, 92,196,227,241, 90,212, 54,247,237, 59,105,158, 52,241,255, 94, 25, 60,108, - 92,215,193, 67, 70,152,207,159,143,214,223,184,122,230,102,144,191, 93, 9,199,170,139,237,237,228,183,210, 82,146, 16,220,166, - 29, 76,172, 37, 28,136,106,178, 77,101,100,192,240, 83,145,135,249,149,249,137, 83,134,141,154,222,105,240,144, 97,166,179,103, - 78,152, 47,157, 59, 20, 55,108,224, 11,177, 31,127,182,199, 71,101,106,221, 94,106,167, 60,213,171,179,188,223,236,177,190,179, -168,165, 52,208,235, 36,149, 90,240,104,191,201,227,241, 96,177, 88,126, 87, 84, 61,249,101,205,103,210,227,153,117, 56,142,131, - 90,173, 70,106,106, 42, 62,251,236, 51,220,190,125, 27,102,179,185,190, 39,171,209,207,161, 71,167,116, 69, 82,169, 5, 0, 50, - 10, 11,251,207,157, 59, 87,210, 80,113, 85, 94, 94,142,178,178, 50,228,231,231, 35, 34, 34, 66, 84,229,228,212,185,185,249,244, -114,115,211,203,165,210,226,148,148,148,127,155,223,234,234,106, 72, 36, 18,124,245,245,215,162,147,137,137,243, 47, 93,190,236, -208,146,245, 89,151,195,227,241,224,230,230,134,192,192, 64,132,133,133,161, 67,135, 14,144, 74,165,184,123,247, 46,190,251,238, - 59, 8,120, 60,150, 90,226,159,208,131,213, 88,129,213,208,255, 25,134, 65, 75, 10, 2,107, 89,115,138, 80, 42,149,222, 41, 46, - 46,238,227,237,237, 13,147,201, 84,223,123, 85,119,154,176,238,123, 0,144, 72, 36, 72, 74, 74,130, 84, 42,189,211, 84,166, 92, - 46,191, 35, 16, 8,122,117,235,214, 13, 71,143, 30, 69, 76, 76, 12, 50, 51, 51,161,213,106,161,211,233,160,213,106,113,247,238, - 93, 88, 44, 22,132,134,134,194,222,222, 30,114,185,252, 78,115,243, 90, 91, 91, 91,200, 48, 76, 27,153, 76,246,175, 83, 29, 30, - 30, 40, 43, 43,179,152, 76, 38,236,220,185,179, 74,169, 84, 42,100, 50,153,213,235,147,199,227,161,164,164, 4, 62, 62, 62,168, -170,122,248,152,175,234,234,106,184,185,185,193,104, 52,194, 98,177, 64,175,215,195,198,198,166,190,203,183,169, 14,193,180,180, -180, 69,143,125,223,109,194,132, 9,123,247,239,223,223,234,231,159,127,198,245,235,215,225,226,226,130,143, 62,250, 40, 51, 59, - 59,123, 18,128,223, 74, 74,254,255, 95,239, 88, 94, 94,126, 56, 49, 49,177, 87,183,110,221,234,247, 14, 3, 6, 12,224, 13, 24, - 48,192,229,241, 46,253,242,242,114,196,199,199, 35, 54, 54, 22, 38,147, 9, 73, 73, 73,102,173, 86,187,175,169,125,142,151,151, -215,142, 21, 43, 86,216,176, 44, 11,129, 64, 0,161, 80, 8,150,101, 33,145, 72,234,123,106,115,114,114, 16, 25, 25,105,191, 97, -195,134,237,122,189, 62, 16,128,241, 89,218, 41,212,168,213,108,244,181,106, 55, 71,133,127,252,253,155,219,251,180,125,180,159, -184,127,115, 27, 43, 85,248, 92,191, 30,175,181,237, 33, 85, 55,187,163,253, 49,186,116,177,209,240,219,240, 51, 63,223,137, 92, -244,206, 27, 98,191, 23, 2,138, 47,223,186,227,215,219,180,136,175,144, 2,181, 58, 64, 85, 9,220,127, 32,176,248,189, 16, 80, -252,219,173,100,241,231,235,183, 4,104,106, 13,117,167, 8, 27,149,159,159,175,187,196,113, 99, 23,125, 33,143,157, 56, 89, 32, - 22, 75,157, 80,173, 74,131,159,159, 23, 94, 25,219, 7, 95,125,127, 14,246, 14,142,112,119,119, 7,143,199, 83,180, 96,241,121, - 87,163,227,102, 78,157,241,102,207,161, 47,142, 48,159, 61,119, 10,209,103,143, 92,223,177,126,217, 17, 35, 83,173,224,155,107, -100, 62,222,202,132,172,204,148,215,194, 7,188, 8,169, 76,254,255,216,187,238,240, 40,170,183,123,102,182,167,247,186, 36,144, -132,144,132, 36,148, 16, 64,233, 85, 32,128, 20, 65, 84, 16, 16, 21, 80, 64,177, 80, 68, 1, 65, 4,233,216,144, 14,210, 5, 1, -233, 61, 64, 32,210, 75, 26, 33,189,236,166,183,221,108,223,153,185,223, 31, 36,252, 2,134,100, 19,208,207, 50,231,121,246,201, -238,100,230,204,189,115,239,204, 61,243,190,239,125,111,115, 32,164,214, 81,188,101, 51,188, 9, 26,190,224,144,253,235,246,249, -178, 55,223,122,183, 83,191, 1, 47, 51, 39,143, 31,196,201,195, 63,255, 62,111,106,179, 99,233,119,118,138, 99,175,229,202,134, -142,152, 92,118,228,108,162,241,149, 5,126,201,222, 45,218,234,128,116,126,116,170,126,129, 20, 10, 11, 24,131,193,167, 73,191, -126, 2,109, 86,150,200,214,195,131,169,126, 73,171,249, 82,253,164, 5,139,166,105,128,166, 57, 75, 56, 45, 45,139, 78,167, 3, -247,148,220,135, 84, 53,231,128, 1, 2,109,110,174,168,176,164,164, 89,179,102,205, 30,219,199,108, 54,163,164,164,228,209,167, -188,188, 28, 50,153, 12,165,102,179,135, 37,229,236,214,186,245,182,149, 43, 86,124,178,126,195,134, 71,174, 30,181, 90, 13,149, - 74,133,138,138, 10,208, 52,141, 25, 51,103, 74,103, 46, 88,240,254, 32,161,112, 58, 24,198,226,235, 89,253,178, 78,211, 52,132, - 66, 33,178,178,178, 30,125,178,179,179, 33,147,201, 64, 40,138,227,123,228,115, 16, 88,213, 65,238,245,137,171,234,239, 2,129, -192, 50,115,111,213,155,192,243,178, 96,105, 52,154, 51, 49, 49, 49, 29,251,245,235, 39,140,141,141,133,151,151,215, 31,220,132, - 66,161, 16, 20, 69,193,218,218, 26,199,143, 31, 55,105, 52,154, 51,245,220, 68,103,207,158, 61, 27,249,209, 71, 31,137,198,141, - 27,135,248,248,120, 76,154, 52, 9,101,101,101, 80,169, 84, 40, 41, 41,129, 78,167, 67,199,142, 29, 33,147,201,144,146,146, 98, -214,233,116,245,165, 42, 32,133,133,133,149,110,110,110, 94, 79,254, 99,196,136, 17, 30, 63,254,248,163, 54, 41, 41,201,220,185, -115,103,123, 0, 13, 18,172,187,118,237,122,212,102,247,239,223,199,218,181,107, 31,197, 33,220,188,121, 19,203,151, 47, 7,203, -178,150, 8,172, 39,113,189,184,184,152, 49,153, 76, 8, 12, 12,132, 92, 46,135, 78,167,195,154, 53,107, 24, 0,215,255,140, 14, -105,137, 5, 75,175,215,239, 27, 59,118,236,204,219,183,111,123,137,197,226,106,211, 53, 56,142,131,201,100, 66,102,102, 38, 18, - 19, 19,145,146,146,130,226,226, 98, 16, 66, 96, 52, 26,113,243,230,205,114,179,217,188,247,105,188,110,110,110,159,111,218,180, -201,211,202,202,234, 15,137,117,171, 31, 58,213,174, 87,119,119,119,244,232,209,195,253,220,185,115,159,155, 76,166,185,255,244, - 7, 65,117,134,118,194, 33, 37,234,141,143,185,201,147, 38,136, 91,180, 52, 37,167, 36, 94, 99,111, 93, 92, 19, 1, 0, 50, 27, -159,171, 45,130,219, 37, 92,138,179,229, 6,190, 57,163,109,136, 63, 4, 20, 65, 48, 69, 80,252,100,198,247,234,119,180, 99, 49, -229,199, 58, 4, 56,197, 28,252,237,204, 15,179, 62,126,231,218, 23, 95,204,114,215, 27, 53,178,144,166, 44, 13, 60, 20, 87,177, -241, 54,250,133, 11,223,185,182,100,197, 54, 46, 59,213, 52,253, 90, 90,249, 83,103,248,214, 20, 45, 52,173,148,121, 6, 76, 87, -250,181,232,213,236,238,239,235, 40, 87,123, 1,236, 90, 14,194,128,254, 47,225,244,217, 24,100,229,233, 80,245, 2, 80,103,218, -131,150, 77, 49,166,154,147,162, 33, 27, 51,254,221,110, 3, 6,188, 76,142, 29,253,141, 57,248,203,207, 49,187,118, 47,223, 75, -139,197, 66, 19,103,111,164, 4,250,114, 86,224, 24,175,169, 40, 5, 0,136,132, 98,251, 58,252, 3,190, 9,241, 73,193,161,161, - 33,158, 99,198, 79,116,136, 26, 48,132, 28, 59,118,144,219,187, 99,219,249,189,223,182,218,193,153, 85,226,188, 76,173,180, 66, -109,174, 32, 2,137, 99,165,154,211, 22,232,155,235,189,127, 31, 97, 2,246,241,163, 83,245, 56, 96, 48,228, 86,230,228,120, 57, -119,239, 46, 77,153, 63,223,218,163, 99, 71, 61, 69, 81,245, 10, 44,129, 64, 0,242,148, 56,190, 39, 57, 27, 34,176, 8, 69,213, - 58,249,136, 53, 24,114, 42,179,178,188, 92,187,119,151,165,206,157,107, 93,155,213,190,164,164, 4,165,165,165,143, 9,172,170, -103,141, 69,229, 92,246,225,135,191,183, 31, 55,174, 52, 54, 54,214,227,197, 23, 95,164, 84, 42,213, 35,113, 85,253,221,205,205, -141,242,109,214,204,238,140, 66, 17, 80, 91, 12, 86,109,215,211,146,186,211, 52,253,212,235,201,227, 25, 44, 88,150, 10, 44, 11, - 6, 71,179,217,108,134,187,187, 59,138,139,139,193,113,220, 83, 27,210,202,202,170,218, 7, 92,231, 76, 58,181, 90,189,122,225, -194,133, 83,122,246,236,233, 26, 18, 18,130,162,162, 34,184,187,187, 67, 32, 16, 60, 42, 87, 53, 95, 92, 92, 28,246,236,217,163, - 82,171,213,171,235,169,247,170,159,126,250,233,253,168,168, 40,103, 55, 55, 55, 56, 57, 57,225,238,221,187,112,116,116,132, 90, -173,198,253,251,247, 97,103,103, 7,138,162, 96, 48, 24,112,241,226, 69, 53,199,113,171,234,185, 49,201,229,203,151, 77,214,214, -214,119, 75, 74, 74, 4,197,197,197,130,170,244, 12,162,138,138, 10,209,137, 19, 39, 92, 29, 28, 28,180,231,206,157, 43,242,245, -245, 21,100,100,100, 8,140, 70, 99,189, 42,139,162, 40,124,248,225,135, 16,139,197, 48, 24, 12, 88,189,122, 53, 62,254,248, 99, - 8,133, 66, 24,141, 70, 44, 93,186, 20,115,230,204,121, 36,152, 15, 31, 62,220,160, 14, 82, 29, 64,106, 50,153, 96, 50,153, 96, - 54,155,255,212, 14,105,161,139, 48,255,193,131, 7,131,218,183,111,127,234,224,193,131, 46,246,246,246, 80, 42,149, 40, 42, 42, - 66, 65, 65, 1, 10, 11, 11,161, 86,171, 97, 48, 24,224,232,232,136,172,172, 44,156, 58,117, 74, 85, 89, 89,249, 18,234,152, 65, - 40, 16, 8,198,118,235,214, 77,248,100, 25,104,154,126,212,159, 68, 34, 17, 36, 18, 9, 20, 10, 5,186,117,235, 38,185,112,225, -194, 88, 0,255,120,129, 85,157,161, 61, 44,172,165,219,160,151, 71,155, 34, 59,244,171,188,112,253,116,174, 45, 71,165,117,237, - 24,190, 19, 0,174,222,209,217, 93,138,179,229,218,180,235, 67, 13, 28,164,107,187,117,243,122, 73, 66,124,130, 95,104,120,104, -157, 25,253, 93,155,112, 67,250,245,106,150,103,111, 67, 9, 23, 46, 92,114,120,211,230, 13, 29, 98,143,252, 47, 77,195,194,133, - 15,211, 52,244,235,213,140, 73,184,159, 60, 4,105,248,217, 82,209, 50,104, 80,191, 91,155,182,236,129, 34,229,176,247,170, 79, -172, 36, 40, 41, 4,172,219,161, 91,164, 11,110,108, 76,196,157, 59,119,242, 57,142,171,219,149, 75,195, 55, 46, 46, 33, 56, 44, - 60,212,243,205,241,239, 58, 68, 69, 13,193,177, 99,135,176,125,203,250, 11, 47, 58, 70,108,202,186, 94, 44,144, 7, 59,137,173, - 29, 37, 98,161, 88, 38, 20, 11,197,197, 38,243, 67,235,186, 80, 44,178, 7, 70,214, 57,232, 76,154, 56,218,161, 87,223, 33, 56, - 90,197,249, 69,219, 17, 27,253,132, 45,169,142,159, 44,155,236,215,212,175,169, 70, 91,160,162,105,137, 73,111,224,236,150,109, -204, 92,153,150, 58, 54, 13,192, 10,240,179, 8,171,113,119,123, 84, 84,135,105,169,169, 98,183, 46, 93,172,148,231,207, 91, 63, -233, 34,172, 77, 96, 9,133, 66,128,166, 25, 75, 56,169,211,167,105, 0, 16,139,197, 79,125,177, 23,139,197,208,106,181, 96, 40, -170,214, 29,196,192,221,237,131, 6,117,156,150,154, 42,114,238,217,211,218,237,246,237,236,140,140,140,160,136,136, 8,176, 44, -251,152,229,170,250,163,215,235, 97, 52, 26, 33,147, 74,227, 44, 41,103,193,197,139,250, 57,227,199,207,125,255,189,247,190,221, -179,119,175,204,222,222, 30, 42,149, 10,106,181,250,209,199, 96, 48, 32,178,125,123,209,207,247,239,143, 65, 89,217, 60, 75,174, -167, 71,207,158,218,250,158,201, 85,130,149,119, 17, 54, 0,116,125, 22,172,103, 76,211, 16,254, 4,231,156, 1, 3, 6,232,211, -211,211,225,227,227,243, 72,164,212, 60,167,189,189, 61, 28, 29, 29,145,144,144,128, 77,155, 54,233, 40,138,154, 83, 23,103, 89, - 89,153, 90,175,215,143,122,237,181,215,116, 34,145, 8,193,193,193,143,220, 58,132,144, 71,177, 87,113,113,113, 24, 59,118,172, - 86,175,215,143,170, 37, 7,214, 99,156, 89, 89, 89, 21, 26,141,230,141,209,163, 71,107,147,146,146,208,181,107, 87,220,190,125, - 27, 26,141, 6,149,149,149,200,200,200, 64,104,104, 40, 76, 38, 19,246,237,219,167,213,104, 52,111,100,101,101, 85,212,197,169, - 86,171, 7,127,243,205, 55,130, 99,199,142,249,121,123,123,135,181,111,223, 62,164, 87,175, 94,205,135, 13, 27,214, 52, 42, 42, -202,171, 69,139, 22,250,126,253,250,185, 13, 24, 48,192, 77, 32, 16,136, 82, 83, 83,243, 8, 33, 3,234,226,172, 41, 0,146,147, -147, 97, 50,153,254, 16,115, 85, 61,155,144,101, 89,139,218,168, 54,145, 93, 45,172,170,133,150, 5,150,176,240, 90,202, 88,239, - 65, 18,137,164,218,194, 73, 44,224,188,157,152,152,216,183, 83,167, 78,183,198,142, 29, 35,244,127, 68, 0, 0, 32, 0, 73, 68, - 65, 84,171,206,206,206,134, 88, 44,134, 92, 46, 71,211,166, 77, 97, 99, 99,131,210,210, 82,236,219,183, 79,123,252,248,241, 56, -149, 74,213, 3,127,204,129, 21,254, 68, 25, 51,106,123,184, 10, 4,130, 63, 8,172,234,149, 2,104,154,206,104,200,245,108, 36, -254, 50,206,137,239,140,113, 30, 56,120,136,221,161, 67,135,100,107,215,110, 76,232,218,245,221,109,182, 94,239,159,176,245,122, -255, 68,199, 23,223,222,249,221, 79, 91, 30, 28,248,237, 55,171,129, 3,135, 57, 76,126,119,140, 55, 40, 74, 88, 31,167,181, 84, -218,177,219, 11, 45,202, 47, 94,190,200, 44, 89,177,141,237,220, 53,234,234,183,223,253,180,247,219,239,126,218,219,185,107,212, -213, 37, 43,182,177, 23, 47, 95,100,186,189,208,162,220, 90, 42,237,104, 73, 57, 39, 77, 28,237, 48, 48,106, 8,142, 28, 57,192, -236,218,182,122,233,161,104, 99,247, 17, 51,245, 5, 89, 15,206, 18,228, 47,130,187, 36, 6,217,217,217, 21, 12,195,244,172, 37, -192,189, 86,206,201,239,142,174, 41,174, 46, 38,100, 96,195,250, 91,183,216, 31,199,207, 55,239, 60,121, 64,119,228,194, 45,213, -133, 27,217,101, 69, 15, 42,210, 52,106,149,145,227, 56, 16,142, 21,124,249, 37,168,186,218,168,115,231, 30, 56,119,122, 39,182, -109, 94, 87,193,113,208,143,220,183,143, 29,249,227,124,210,180,105,179,166, 59,118,236,164, 6, 13, 30,234, 64, 8,184,193, 67, -135, 56,238,218,177,139,242,247,247,111, 22, 16, 0,241, 63,189, 47, 61, 47,206,249, 64,153, 42, 43,235,194,245, 53,107,140, 30, -163, 70, 57, 75, 60, 60,236,193,113, 84,125, 49, 88,181, 88,176,158,202,233,225,236,172, 56,121,242, 36,130,131,131, 33,151,203, - 31,243,200,136, 68, 34,248,250,250,194,205,205, 13,167, 78,157, 2, 1,110,212,198, 57, 27, 40, 47, 79, 75,139,190,186,108,153, -193, 99,196, 8,167,182,254,254, 55,190, 93,179,198,200,178,236, 35,171, 85,205,191,101,101,101, 96, 89, 22,231,207,157, 51, 86, -234,116,155,234, 42,231,205,239,191, 55, 84,215,189,163, 94,175, 25, 26, 25,185,120,204,152, 49,166,140,140, 12,176, 44,139,154, -150,172,194,194, 66,216,217,217, 65,167,215, 55,113,119,119,183,182,132,179,240,216, 49, 91,212,243, 92, 23, 8, 4, 79,186, 8, -255,140,118,255,239, 88,176, 24,134,129,143,143,207, 99,121, 70,170, 3, 7,171, 45, 67, 22, 90,174, 0, 0, 74,165,242,103,134, - 97, 78,142, 25, 51,102,110,219,182,109, 39, 77,159, 62, 93,224,239,239,143,138,138, 10, 56, 57, 57,193,205,205, 13,153,153,153, -216,191,127, 63, 91, 94, 94,254, 19,203,178, 11, 10, 11, 11,139, 44,224, 61, 15, 96,208, 75, 47,189,180,231,253,247,223,119,232, -222,189,187,168,122, 0,188,119,239, 30,142, 29, 59,102,218,189,123,183, 74,175,215,143,178, 36,139, 59, 0,228,231,231,159, 2, -240,202,184,113,227,118, 12, 27, 54,204, 78,175,215,139,210,211,211, 97, 52, 26,193, 48, 12, 74, 75, 75, 77,209,209,209,149, 90, -173,118,116,213,190,245,241,221,204,207,207, 15, 53,153, 76, 99,111,221,186,181,232,149, 87, 94,113,233,212,169,147,152, 97, 24, -196,196,196, 20, 69, 68, 68,184,171, 84, 42,211,229,203,151, 75,244,122,253, 28,165, 82,105,209, 82, 57, 20, 69, 65,165, 82,193, -213,213, 21,122,189, 30, 28,199,193,104, 52,194,206,206,238,209,242, 70,132,144,135, 55, 71,195, 93,132, 96, 24, 70, 96, 54,155, -241,218,107,175,129,227, 56,172, 94,189, 26, 12,195, 8, 26,202, 99,107,107,123, 35, 62, 62,126, 80, 88, 88,216,163,242,208, 52, - 13,154,166, 33,149, 74,225,234,234, 10, 23, 23, 23,156, 57,115, 6, 52, 77,223,176,144,246, 78,113,113,113,187,147, 39, 79,118, -186,115,231,206,155, 0,218,152, 76,166, 38, 44,203, 82, 52, 77,231,177, 44,123,183,178,178,114, 19, 44, 92, 42,167,176,176,112, -209,216,177, 99, 35,118,237,218,101, 43, 20, 10, 31, 93, 47,154,166, 33, 22,139,225,234,234, 10,153, 76,134,230,205,155, 67,167, -211,225,243,207, 63, 87,105,181,218, 69,255,166, 7, 66,215,206,221,112,238,196, 78,235,109, 91,183,171, 89, 22,116, 85, 42,134, - 71, 8,241,135, 96,235,230,245, 18,153, 80,239,212,181,115, 55,139, 92, 43, 70, 19, 83, 50,106,194, 79, 62, 85, 75,229, 44,202, -200,204, 90,181,243,167,183,211, 0, 96,197,234,141, 1,217,169,166,233, 9,247,147,135,172,221, 24,221,209,104, 98, 44, 90, 0, -247,127,162,101, 71, 5, 8,244, 74,165,242, 42, 69,201,253,186,190,101,154, 19,220,140,122,185,160,132, 83, 80, 20, 53, 85,169, - 84,166, 89, 90,247, 78,157,186, 35,250,244, 46,108,219,178,163,130,226,160,175,190,255,246, 1,100,223,252, 11, 4,184, 80,189, -171,102,242, 43,248,114,206,140, 73, 31,171,212, 21, 43,215,254, 88,183,219,164,117,155, 23,208,186,205, 11,152, 50,245, 51,135, -208,176, 16, 95, 0,216,183, 15,108,152, 95,194,225,185, 11,230,191,188, 96,238,124,168,180, 6, 84, 47,171,115, 63, 41,225,104, - 90, 58,140,252,240,244, 63,204,101,152,171,248,244,211, 22,250,138, 10,183, 46, 51,103,186, 10,151, 45,163,171, 95,160,159,180, - 96, 61,178, 94, 53,128,243,196,217,179, 71, 63,253,228, 19,197,242,101,203,250, 45,249,230, 27,171,150, 45, 91, 34, 63, 63, 31, - 33, 33, 33,144,203,229,136,137,137,193,169,227,199, 53,149, 58,221, 28, 79, 79,207,181,121,121,121,181,114,206, 7,174, 10,231, -204,105,110,212,104, 60,150,111,222,252,160, 87,159, 62, 5,155, 54,109,106,210,191,127,127, 90,171,213,162,162,162, 2, 21, 21, - 21, 48, 24, 12, 16,139,197, 80, 42, 20, 92,174, 66,113, 55, 59, 59,123, 83,157,229,252,232,163, 22,218,210, 82,183, 46, 51,103, -186,154, 75, 74,100, 31,103,102,230,210, 91,183,126, 51,105,226,196, 79,166,127,244,145,180, 73,147, 38,148,193, 96,120, 36,180, -204,102, 51,172,172,172,204, 12,195,184, 0,208, 90,194, 41, 59,122,148, 41, 41, 41,129,179,179,243,163,180, 75, 52, 77, 67, 38, -147,193,201,201, 9,149,149,149, 32,132,240, 9,112, 27,226,145,121,218, 63,130,131,131,111, 8,133,194, 38, 53, 77,132,181,173, -109, 87,243, 59,195, 48,185,241,241,241,145, 79, 40,220, 90, 77,159,114,185, 60,128,227,184,175, 59,117,234,244,202, 59,239,188, - 67, 93,184,112, 1,103,207,158, 37, 10,133, 98, 31, 77,211,115, 20, 10, 69, 90, 29,111, 54,181,114, 58, 57, 57,217,217,217,217, -125,104, 99, 99,211,167, 58, 21,131, 76, 38,187,167,209,104,206,168,213,234,213,117,100,111,127, 42,167,159,159,159, 61,199,113, - 31,216,216,216,244, 45, 46, 46,110, 11, 0,174,174,174,183, 53, 26,205,105,154,166,215,212,177,128,244, 83, 57,189,188,188,172, -108,109,109, 23, 57, 59, 59,191,241,206, 59,239,184, 92,184,112, 33,239,246,237,219, 98,149, 74,181,147, 97,152,186, 22,123,254, - 3,103,203,150, 45, 31, 91,139,240,121,182, 17, 0,180,110,221,250,200,224,193,131, 7,190,241,198, 27, 48,155,205,248,233,167, -159,112,234,212,169,163,169,169,169,131,234,121,251,124,140,211,195,195,195, 85, 46,151, 71,143, 30, 61,186,233,208,161, 67,173, - 29, 28, 28, 32, 16, 8,160,209,104,144,150,150,134,123,247,238,145, 83,167, 78, 85, 38, 36, 36,228,234,116,186, 30, 5, 5, 5, -197,150, 94,207,103,124, 75,126,140, 83, 40, 20,118,247,241,241,217, 61,111,222, 60,187,190,125,251, 90,185,184,184, 64, 40, 20, -130, 97, 24, 20, 20, 20, 32, 46, 46, 14,199,142, 29,211,252,242,203, 47,154,146,146,146,215, 80, 99,212,253, 43,203,249,188, 57, -171, 51,185, 63,214,183, 66, 91, 38, 36,101, 96,241, 99,219,252,240, 81, 66,124, 66,171,154,150,171, 26,153,220, 45, 42,103, 84, - 23,199,168, 87,134,182,239, 3, 0,251, 15, 94, 63, 83,207, 98,207, 79,150,243,139,132,248,164, 39, 22,155, 14,185,159,152,142, -133,141,174,187, 31,230,198,197, 37, 60,198, 25, 30, 30,122, 63, 49,227,233,217,233,159, 52,244,214,122,111, 86,199,139, 61,190, -103,118, 98,230,255, 92,160, 45,155, 97,208,144, 87,134, 13,252,108,214,108,124,189,100, 49, 14,237, 63,112, 52, 49,243,209,114, - 62,255,200,190,244, 39,114, 82, 95, 9,133, 47, 88,123,121,117,219,229,234, 58,251,228,233,211,182,213,241,181,213, 49,146, 79, - 78,184,138,136,136, 40,188,115,231,142,135, 37,156,131,190,251,206,164,183,179,147, 46,249,233,167,238, 90,163,177,251,199, 31, -127, 44,188,113,227, 6,118,239,220,201,232,114,114,118,228,179,236, 7, 79,241,126,252,161,238, 95,137, 68, 29,101, 46, 46, 61, - 90,204,158, 45, 93,178,103,207, 56,121,147, 38, 30,131, 6, 15, 22, 11,133, 66,104, 52, 26, 40,149, 74, 92,142,137,209,103,101, -103,199,233,245,250, 97,185,185,185,121,150,214,125,208,119,223,153, 28, 3, 2, 96,235,225,193, 93,186,124,217,113,230,188,121, -147, 60,188,188, 28,186,116,237, 42,178,182,182, 70, 89, 89, 25,178,179,179,113,233,210,165,194,180,180, 52,111, 0,172, 37,156, -191,221,187,215,250,220,213,171, 35, 62,253,244, 83, 73, 72, 72, 8,236,236,236,160, 82,169,144,152,152,136,203,151, 47, 27,246, -236,217, 83,161,209,104, 38,229,230,230,254,246, 39,182,251,127, 67, 96,253, 85, 55,158,135,135, 71, 36, 77,211, 95, 84,185,163, - 22,214,183,166,223,191,233,161,227,233,233,233,235,228,228,180, 94,167,211, 17,131,193, 48, 49, 63, 63, 63,251,111, 88, 78, 97, -100,100,228,143,133,133,133,157, 8, 33,112,112,112,184, 18, 31, 31,255, 30,234,246,197, 63,141, 83,224,233,233,217,201,198,198, -166,163,141,141, 77,119,147,201,212,178, 42, 14, 47, 81,171,213, 94, 48,155,205, 87,243,243,243,175, 84, 61, 16,254, 63,235, 46, - 0,208,215,219,219,251,109,142,227, 2,105,154,118,172,114,149,150, 19, 66, 82,202,202,202, 54, 2, 56,253, 55, 40,231,115,227, - 12,245,195, 48, 66, 33,228,177,135, 3,135,236, 39,131,215,171,131,225, 31,219,143, 32, 41, 33, 3, 7, 26, 80, 78,122,104,111, -183,229,192,195,153,134,168, 59,112,246,113, 49,100,129,104,105,176,192,106,138,177,181,114,102, 97,187,133,124,220,179,180, 81, -104, 83,116, 7,133, 78, 28,133,171, 73, 25, 56,247,111,124,214, 61, 79,206,175, 1,231, 95,130,130,174,208, 66,161, 39, 69, 81, - 52, 0, 80, 52,205,113, 0, 11,154,102,106,186, 5,159,120,161,172,147,211, 4,180, 18, 75,165, 77, 88,134,241, 40, 17,139,237, - 46,219,216,180, 51, 0,149,158, 44,251,197,217,210,210,251, 13, 45,231,124,192, 9, 64,168, 80, 42,245,189,108,109, 61,184,212, -201,169, 93, 25,195,120, 0,224,164, 82,105,124,165, 86,187, 41, 39, 39,103, 99, 45,158,138,122,203, 41,146, 74,125, 88,134,241, -160, 0, 66, 11,133,133, 39,165, 82,159, 34, 55,183, 55,181, 58, 93, 83,169, 84,106, 6,160, 50,153, 76,163,115,114,114,206, 54, -132, 51, 91, 32, 8,189,107,103,215,149,181,183,119, 49, 1, 54, 38,142, 51,153,204,230, 28,131,193,112, 79, 32, 16,172, 84, 40, - 20,169,127,114,187,243,104,224, 77,194,115,242,156, 60, 39,207,201,115,242,156, 60,231,159,204,233,238,238,110,237,233,233,233, - 91,245,146,248, 79,172,251,191, 10, 66,254, 18,240,224,193,131, 7, 15, 30,255,124, 20, 22, 22,106, 81, 75,204, 21,143,255, 31, -212, 53,251,165, 33,166,191,198, 40,217, 56,158,147,231,228, 57,121, 78,158,147,231,228, 57,255,115,156,245,113,243,174,199, 63, - 73,120,241,156, 60, 39,207,201,115,242,156, 60, 39,207,249,223,227,252, 87,129,230, 47,193, 83,225, 81,245,121,222,251,242,248, -119,247,133, 39, 33,175,250, 52,100,127, 47,254,146,243,224,193,131,199, 63, 27,255, 31, 49, 88,213, 3, 85,193,115,218,239,121, - 31, 11, 0,139, 41, 10, 51, 0,128, 16, 44, 5, 48,251, 89,246, 37, 79, 89,209,253, 73,132,133,133,185, 82, 20,213,219,193,193, -161,149, 90,173,142, 35,132,156,190,119,239, 94, 9,101,225,250, 79, 62, 62, 62,126, 50,153,108, 28, 69, 81, 45,171,206,155,168, -215,235,183,230,228,228,100, 60,135,118,163, 0,188, 43,149, 74, 95,117,116,116, 12, 44, 43, 43, 75, 49, 26,141,191, 0, 88,135, - 70,100,156,246,242,242, 10, 2, 48,150,227, 56, 33, 77,211,187,242,242,242,238, 88,122,172,123,216,144,189, 4,104, 1,128,230, - 40,110, 4, 77,232,125, 0, 56, 10,120, 80, 24,127,232,213,231,220, 95, 27,210, 23, 30,127,123,161,233, 37,132,112,159, 2, 0, - 69,209,203, 88,150,253,172,174,253, 5, 2,193, 10,194,113, 31,128, 2,161, 40,122, 25,199,113,179,248, 71, 20, 15, 30, 60,120, -252, 7, 32,151,203, 7,120,121,121,237,240,242,242,218, 33,151,203, 7, 88,112, 72,120, 45,131, 21, 75, 81, 96,129,199,243,235, - 52, 96,191,250,204,146, 53,143, 93,110, 97,213,106,114,122, 80, 20, 88, 82, 5,138, 2,231,238,238,190,222,219,219,123,245,147, - 31,119,119,247,245, 20, 5,174,198,190,108, 13,113, 23, 94, 83, 96,213,247,137,136,136,112,121,235,173,183,214, 40, 20,138,117, - 38,147,105,125,118,118,246,186,145, 35, 71,174, 9, 14, 14,246,180,164,238,254,254,254, 67,135, 12,125, 37,250, 98,236,141,251, -201, 41, 89,202,132,251,105,153, 39,207, 92,186,218,111, 64,212, 25,127,127,255,161, 13,104, 35, 10,192, 68,161, 80,120,222,214, -214, 54, 87, 40, 20,158, 7, 48, 89, 32, 16,252,182,120,241,226,204,248,248,248,130,152,152,152,242,232,232,104,197,132, 9, 19, - 82, 40,138, 58,140, 63, 90, 66,195,235,179,226,120,121,121, 45,200,201,201,185,145,151,151,119,179, 73,147, 38, 63, 60,193, 81, -155,213,231, 17,167, 91,216,144,187,133, 21, 38, 82, 88, 97, 34,110, 97, 67, 72,141,239,119, 27,216,165,235,235, 75,127,232, 11, - 54, 54, 54,193, 79, 8,121,143,167,112,254,225, 88,103,103,103,111, 66, 8,221,188,121,243, 14,114,185,252,123,185, 92,254,125, -243,230,205, 59, 16, 66,104,103,103,103,111,153, 84, 90,111, 95,122,142,224, 57,121, 78,158,147,231,252,187,113,254,119, 45, 88, -132,144, 55, 83, 82, 82,172, 57,142, 67,112,112,240, 24, 0,199, 27, 98, 85,162, 40,204,224,184,135,214, 28,154,166,102,246,236, -217, 43,194,202,202,234,177,140,197, 58,157, 78,114,254,252,185,222, 28, 71,168,170,253,102, 16,130, 53, 22, 90,163, 60, 40, 10, - 51,140, 70, 3, 45, 18, 73, 32, 16,208, 31,135,135,183,138, 44, 46, 46, 62,203,178,236, 79,181, 36,175,172,223,108, 67, 81,216, -180,105, 83, 75, 15, 15,143, 63,172,161, 82, 80, 80, 32, 30, 60,120, 80,131,248,222,108,213, 74,166, 79, 75,235, 74,139, 68,190, - 38,179,217, 21, 0, 68, 34, 81,137,204,214,214,231,243, 57,115,172,109,108,108,184,146,146, 18,168, 84, 42,106,202,148, 41,178, - 41, 83,166,244, 5,176,173, 46,206, 38, 77,154,248,135,183,110, 59,109,235,150, 45, 29, 43, 74, 75,245, 27, 87,174,189,101, 16, - 74,181, 77, 91, 6,137,191,152,247,149,195,130,185,179, 39,154, 76,166,184,220,220,220,244,250,140, 46, 0, 14,124,248,225,135, - 97,131, 6, 13,146,168,213,106,153, 86,171,109,182, 99,199,142,207,219,183,111,111, 27, 17, 17, 33,217,189,123, 55, 85, 94, 94, - 14, 66,136,117, 72, 72, 8, 25, 57,114,164,126,239,222,189, 83, 0,124,219, 16, 11, 16,203,178,162,234, 76,233, 12,195, 72,170, -250,162,201, 18,139, 17, 5, 60, 8,235, 50, 18,160, 16, 24, 31,243,139, 44,172,235, 72, 61, 8, 82, 40,224, 65,213,139,192, 59, - 28,199,249, 61,197,170,148,161, 80, 40, 54, 52,230,102, 25, 56,112, 16, 0,172,191,121,243,230,197,162,162,162, 38, 28,199,142, -182,212,178, 69, 81, 20, 37, 20, 10,199, 2, 88,162,211,233, 38,156, 61,123,182, 45, 0,244,238,221, 91, 12,224, 6, 33,164, 19, -254,252,188,116, 60,120,240,224,193,227,111, 42,176,196, 0,112,241,226, 69, 16, 66, 36,141, 56, 31, 85, 83,184,124,240,193, 7, -240,242,122, 60,220, 36, 47, 47, 15,209,209,231,159,165, 78,143, 13, 82,139, 22, 45,114, 40, 41, 41,121,121,211,166, 77,253, 0, -124, 94, 80, 80, 16, 93,207,241, 5,132, 96, 41, 77, 83, 51, 41,138,130, 68, 34,205,152, 56,113,226,141,170,250, 7, 28, 62,124, -216,122,240,224,193, 90,138,162,210, 0, 64, 34,145,186, 11, 4,180, 31, 33,164,122,160,125,170, 16,124,197,214, 54,152, 16, 50, -120,210,138, 21,108,187,168, 40,161,189,187,187, 0, 52,141,162,236,108,151,245, 63,252,208,233,254,169, 83, 82,207,144,144,108, -163, 68, 82,158,156,156, 12, 47, 47, 47,136,197,226,122,223, 18,172,173,173, 39,124, 56,253, 19,183,138,210, 50,157, 89,173, 54, -217,114, 44, 99, 47, 19, 81,170,162,146,242,140, 28,123,237,132,201,211,132,115,103,125, 52, 1,192,103,245, 80, 77,153, 62,125, -122,203, 14, 29, 58,200,247,236,217, 67, 85, 84, 84, 64, 40, 20,218,182,109,219, 22,145,145,145,236,217,179,103, 41,127,127,127, -132,135,135, 35, 38, 38, 6,151, 47, 95,166, 34, 34, 34,172, 15, 28, 56, 48,198,108, 54,127, 91,159,168, 22, 8,232, 89, 35, 70, -140, 28, 96,109,109,109,214,233,116,120,231,157,119,160,209,104,208,178,101,203,214, 61,122,244,136, 53, 24, 12,162, 67,135, 14, -134,179, 44,135,186,196,117,181, 27,176,202, 98,213, 10, 4, 41, 69,241,135, 90, 87,255,159,227, 56,191,251,247,239,135,150,151, -151,131,227,184, 71,107, 50, 2, 64,183,110,221, 26,210,151, 10, 8,193,210,193,131, 7,205, 4, 40,244,234,213,171,100,218,180, -105,108, 98, 98, 98,143,225,195,135,189,240,224, 65, 74, 93, 47, 1, 5, 20, 69, 47,163,105,106, 6, 69, 81,212,184,113,227, 11, -108,109,109,135,249,248,248,220,167, 40, 74, 40, 22,139,171,239, 3, 65,203,150, 45,221,194,195,195, 39, 59, 57, 57, 21, 10,104, -218,157,128, 16,138,162,151, 17,194, 21,240,143, 40, 30, 60,120,240,248, 15, 8, 44,138,162,138,111,223,190,237,165,215,235, 65, - 81,148, 37,214,160,184, 39, 6,156, 31,105,154,122,143,162, 40,132,135,183, 74, 95,189,122,117,109,235,109, 25,195,195, 91,165, - 11, 4,180, 63, 33, 4, 20, 69,175,125, 98,160,137,171,111, 64,148, 72,164, 51, 0,192,203,203,187,224,200,145, 35,230, 17, 35, - 70, 96,217,178,101,146, 89,179,102,125, 69,211,244,168,188,188,188,220, 58,202, 9, 0,179,221,220,220,157, 55,109,218,212,114, -226,196,137, 55,148, 74,229,135, 0,224,237,237,189, 26, 64, 43,138,162,210,106,108,195,186,117,235, 34, 39, 76,152,144, 88, 88, - 88, 56,251,105,156,175,216,217, 5,186,120,123, 15, 93, 30, 19, 67,132, 12, 67, 85,220,184, 81,158,155,159,111, 50,178, 44,125, - 60, 61,189,227,168,241,227,197, 30, 94, 94,228,208,186,117, 77,181, 34, 17, 97,101,178,138,248,248,120, 98, 50,153,238,213, 87, -119,138,162, 66,156, 28,157,108, 54,174, 88,123,195, 77, 42,160, 92,125,188, 41,177,189,163,144,182,181,147, 18,129, 64,215,212, -199,219,142,162,168,144,250,218, 72, 44, 22,143,233,215,175,159,245,238,221,187,169,240,240,112, 56, 58, 58,226,226,197,139,184, -125,251, 54,202,202,202,104,134, 97,208,190,125,123, 44, 93,186, 20, 62, 62, 62,168,168,168, 64,102,102,166,171, 88, 44,118, 51, -155,205, 79,187,158,143, 9,222, 25, 51,102,192,221,221, 29, 44,203, 34, 47, 47, 15,149,149,149,176,177,177,129,131,131, 3,148, - 74, 37, 14, 29, 58,104, 73, 95,178, 8, 47,190,248,162, 22, 64,230,147, 22,172,134,112,202,229,242, 83,133,133, 69, 93,123,246, -236,137,242,242,114,211,188,121,243,208,182,109, 91,180,104, 17, 84,111, 57, 89,150,253,204,213,213,117,179,139,139,203,138,105, -211,166,121,186,184,184,192, 96, 48,204, 41, 41, 41,193,140, 25, 51, 0, 0,145,145,145,173, 8, 33, 71, 39, 76,152, 0, 63, 63, - 63, 69,105,105,105,246,253,251,247, 39, 22, 22, 22,198,213, 88,226,232,207,152,178,204,115,242,156, 60, 39,207,249,119,227,252, - 87, 10, 44, 82, 99, 32, 36,120,138,171,130, 16, 82, 38,151,203,189,172,172,172, 64, 8, 41,107,232,201, 56,142,155,226,226,226, - 82, 56,123,246,236, 46, 65, 65, 65,198, 41, 83,166,196,101,102,102,206,169,185, 79,179,102,205, 22,125,255,253,247, 72, 78, 78, -206, 92,188,120,113, 76, 73, 73,201,194, 6,158,102, 22, 33, 88, 13, 0, 74,165,178,248,240,225,195, 29, 46, 92,184, 48,107,245, -234,213, 94, 83,166, 76,145, 76,155, 54,109,178, 5,150, 28, 8,133, 66, 93,109,110,193,218,224,225,225, 97, 18, 10,133, 79, 91, - 63, 16, 19,219,181,147, 18,142, 27,250,205,197,139, 28,151,155,171, 63,182,101, 11,150, 93,190, 60,201,193,213,213,215,205,205, -141,248, 53,105, 82,100,197, 48, 5,170,162, 34, 58,162, 95, 63,209,201,109,219,154, 74,253,252, 18,246,237,219, 87,201,113,220, - 41, 11,138, 80,105, 52,155, 13, 54, 62,222,230,193, 67,250,181,186,119,237,118,178,149,179, 51,221,170,125,219,208,164,148,204, -155, 20, 96, 4,234, 95, 60,214,193,193, 33,168,184,184, 24, 42,149, 10,110,110,110, 88,179,102, 13, 60, 60, 60,160,213,106, 17, - 31, 31, 79,154, 52,105, 66, 93,186,116, 9,222,222,222, 40, 42, 42,130,209,104,132, 86,171, 45, 52, 26,141, 79,171,123, 1, 77, - 11, 54,210, 52,245, 14, 69, 81, 8, 12,108, 81,240,237,183,223,154, 9, 33, 8, 9, 9,193,176, 97,195,112,241,226, 69,196,199, -199, 87, 91,153,204,126,126,254, 5, 52, 77,185, 63,236,110,117, 91, 4,235,233,107, 0,144,153,151,151, 55,187, 49,199,203,229, -114, 25,203,178,147, 2, 3, 3, 7,189,254,250,235, 38,177, 88, 12,173, 86, 91,125, 45, 76,253,251,247, 47, 25, 60,120,144,203, -209,163, 71,235, 44,103,113,113,113, 90,203,150, 45,223,249,228,147, 79,182,175, 93,187,214,241,179,207, 62,123,180, 8, 55,203, -178,224, 56,238,145,149,237,192,129, 3,200,200,200,248,186,176,176,144,127,112,241,224,193,227,191, 8,139,180,200, 63,209,130, -245,151, 84, 70, 32, 16,172, 59,117,234, 84,219,110,221,186, 9,123,247,238, 29,126,226,196,137,112,133, 66, 17, 87, 53,168,133, -247,238,221, 59,220,221,221, 29,107,214,172,209, 10, 4,130,117,141, 60,205,163,193, 46, 47, 47, 47,150,162,168, 47,126,253,245, -215, 77, 19, 39, 78,132,135,135, 71, 91,165, 82,249,151, 94,228,178,228,228,206,227, 22, 44,224,100,128,224,232,246,237,228,171, -152,152,111,246,254,242,139, 56, 32, 32, 0,132, 16,100,102,102,218,255,180,105,147,243,168,190,125,227,243, 53, 26, 42, 53, 63, -159, 77, 56,114,132, 46,161,233,239,210,210,210,138,107, 46,214, 92, 27, 76, 38,211,245,236,172,172,160,206, 93, 59,123, 93,188, -145,112,107,248,208, 65, 61,105, 33, 77,103,100,229, 93,119,115,113,182,185,124, 37, 70,101, 50,153,174,215, 87, 78,141, 70,147, -193, 48,140, 51, 33,196, 45, 58, 58, 26,174,174,174, 40, 43, 43,131,217,108,134,201,100, 50,106,181, 90, 89, 82, 82, 18, 12, 6, - 3, 12, 6, 3,236,237,237,113,239,222,189, 2,134, 97,206, 61,141,147,101,217,119, 1, 44, 32,132, 32, 57, 57, 89, 81,229,250, -108,225,232,232,184,147, 97, 24, 40,149, 74, 68, 71, 71,143,206,203,203, 75,174,169,111,170,254, 42, 26,125,151, 18,210,232,246, -114,115,115, 11, 23,139,197,179,167, 78,157,234, 17, 22, 22, 6,189, 94, 15, 0,176,181,181,133, 86,171,133,189,189, 61, 58,117, -234,148,184,112,225, 66, 19, 33, 24, 7, 32,191, 46,190,196,196,196,162,160,160,160,169, 19, 39, 78,252, 50, 40, 40,200,159, 16, -130,192,192, 64,244,235,215, 15,199,142, 29,195,131, 7, 15,160,209,104,216,107,215,174,237,206,201,201, 57,194, 63, 99,121,240, -224,193,139,172,127,143, 5, 11, 85, 21, 34,127,246, 9, 11, 11, 11,139,146,146,146, 78,220,188,121,115,208,171,175,190,138,232, -232,232,113, 0, 62, 2, 0,169, 84, 58,238,213, 87, 95,197,205,155, 55,145,148,148,116,162,176,176,176,232,121,156,147,162, 40, -173,209,248,208,128, 35,147,201,172, 26, 56, 80, 7, 84,185, 6, 65, 8, 9,120,218,182,122,172, 97,190, 47, 14, 27, 70, 87,222, -190, 93,190,224,228,201, 15,119,253,250,171,216,199,199, 7,106,181, 26, 2,129, 0,246,246,246, 84,191,168, 40,167,141,187,118, -121,250,216,217, 93,158, 60,126,252,253,175, 79,159,214, 94,174,168,176, 40,189,130, 94,175,223,180,104,225, 23, 61,183,239,216, - 27, 18, 28, 18,232,116,236,212,249, 91, 46, 46,246, 86,126,126, 1,210,138,242,114,195,247,171,151, 9, 53, 26,205,230,250,120, -116, 58,221,129,179,103,207, 14,245,241,241,113,139,139,139,131,209,104, 4,203,178,232,211,167, 15, 8, 33, 82, 0,156, 80, 40, - 68, 98, 98, 34, 76, 38, 83,225,131, 7, 15, 20,169,169,169, 82, 0, 75,234,161,126, 76, 40,209, 52, 61,106,208,160, 65, 96, 24, - 6,253,250,245,195,193,131, 7, 95, 5,240,229,211,246,127, 6, 11, 86, 51, 47, 47,175,197, 85,231,180, 40,184,221,211,211,179, - 75,243,230,205,191, 92,190,124, 41,229,225,225, 5,150,101, 96, 54,155, 80, 84, 84, 2,181, 90,141,208,208, 80,248,250,250, 98, -201,146, 37, 0,112,176, 62,113, 85,141,228,228,228, 20, 0,175,141, 31, 63, 94,124,241,226,197, 72,189, 94,191,170,111,223,190, -184,117,235, 22,238,220,185,243,134,187,187,123,161,143,143, 15, 35,151,203,223,161, 40,202, 94, 38,147,237,122, 30,215,129, 7, - 15, 30, 60,254, 97,248, 75,180,200, 95, 45,176,234,172,152,187,187,187,117, 89, 73,225, 7,126,126,126, 50, 0,144,138, 5,189, - 92, 92, 92,190, 46, 41, 41,169,108,232, 73,181, 90,237,222, 29, 59,118,188,180,114,229, 74,113, 84, 84, 84,243, 95,127,253,181, - 3, 0, 68, 69, 69, 53,183,179,179,195,142, 29, 59, 76, 90,173,118,239,243,170, 36,199,113,253,218,183,111,143,210,210, 82,100, -102,102,222,104,200,177,135, 15, 31,182, 6,208,170,190,109,117,193,104, 54,187,217,123,121, 9, 11, 46, 94, 52,233, 24,198, 55, - 40, 40, 8,106,181, 26, 18,137, 4, 6,131, 1, 25, 25, 25, 16,139,197,212,131,244,116,215, 89, 31,125,116,201, 42, 40,200,182, -122,134,161, 37,200,203,203,211, 1,152,246,213,162,175,118, 46, 95,182,204,189,180,164, 44, 89, 44,177,210, 91, 91, 73,157,103, -126,178,144, 20, 20, 20,124, 92,181, 70, 85,125, 88,178,115,231,206,254, 47,189,244,210, 93, 31, 31, 31,247,226,226, 98, 79,149, - 74, 69, 74, 75, 75,169,170,190, 65, 1,192,221,187,119,145,149,149,197,176, 44,123, 9,192, 2, 88,224,126,124,100,154,146,203, -157, 58,116,232,208,223,197,197,229,145, 43, 50, 34, 34,162, 63,128,239, 20, 10, 69,217,243,236,220,167, 78,157,178,230, 56, 46, - 20, 0,250,247,239,111,169, 24,127,115,212,168, 81,148,149,149, 13, 24,134,129, 84, 42,134, 84, 42,133,173,173, 61,156,157,157, -145,149,149,133, 94,189,122,113,233,233,233,135,172,173,173,183, 52,180, 76,231,207,159,127,185, 67,135, 14, 31, 77,158, 60, 25, -102,179, 25, 67,135, 14,133, 66,161, 88,158,145,145,177,199,211,211,115,244,156, 57,115, 92, 93, 92, 92, 48, 99,198, 12, 43, 0, -243,249,103, 45, 15, 30, 60,120,145,245,239, 16, 88, 79, 27, 20,219, 59, 57, 57, 77, 41, 44, 44,148, 85,187, 94, 40,138,146,181, -105,222,124,157, 88, 44,254, 49, 47, 47,239,114, 67, 78, 90, 94, 94,174, 74, 79, 79, 63, 20, 27, 27, 59,114,248,240,225, 56,125, -250,244, 88, 0, 24, 62,124, 56, 98, 99, 99,145,158,158,126,168,188,188, 92,245, 60, 42,232,237,237,253, 74,143, 30, 61,198,118, -232,208, 1,135, 15, 31, 6,203,178,231, 26,114,124,205, 25,131,181,205, 34,172,222,102, 9,151,228, 97,158, 35,176, 44, 11,129, - 64, 0,189, 94,143,188,188, 60,220,191,127, 31,246,246,246, 40, 43, 45,165,236,157,157, 77, 6,131,129,109,104, 61,243,242,242, -114,111,223,248, 61, 85,167,215,139,156, 92,156,181,118, 54, 18,162, 82,171,233,187,119,111,229, 21, 22, 22,102, 90,170, 5, 9, - 33,221, 79,158, 60, 57, 87, 32, 16,188, 42,151,203, 49,114,228, 72,170,119,239,222,144, 72, 36,208,233,116, 40, 47, 47,175,190, -142,254, 0,224,234,234,234, 97,109,109,189,159,166,233,130,140,140,140, 9,245,157,128,101,217,225, 67,134, 12, 17,154,205,102, - 44, 92,184, 16,243,231,207,199,128, 1, 3,132,215,175, 95, 31, 14, 96,195,243,234,216,132, 16,188,244,210, 75,143,130,220,159, - 8,110,175, 21,221,187,119, 23,166,167,167, 7,200,229,114,100,102,102,194,218,218, 26, 30, 30, 30,112,116,116,132,171,171, 43, - 86,174, 92,137, 85,171, 86,221, 17, 8, 4,107,243,242,242, 82, 27, 90, 38, 95, 95,223,119,198,140, 25,243,206,200,145, 35,161, - 86,171, 17, 27, 27,139,206,157, 59, 99,241,226,197,158, 49, 49, 49,211,219,183,111, 15,161, 80,136, 11, 23, 46,128,101,217, 28, -254, 25,203,131, 7, 15, 30,255,124,129, 69, 61,161, 28, 1, 0,142,142,142,246, 50,153,108, 98, 84, 84, 84,151,161, 67,135,162, - 95,191,126,143, 29,188,102,205, 26,219,232,232,232,153,223,126,251,109,119, 0,107,149, 74,101,105, 3,172, 74, 7,118,238,220, - 25,245,226,139, 47, 90,247,236,217, 51, 0, 0,164, 82,169,113,231,206,157, 90,142,227, 14, 52,162, 46,143,101,111,151,203,229, -237, 5, 2,193,184, 1, 3, 6,180,127,235,173,183, 16, 31, 31,143, 29, 59,118, 36, 6, 5, 5,157, 46, 40,176, 60,110,250,137, - 25,131,181,205, 34, 92, 93,159, 53, 75, 34, 18, 21,169,242,242, 92,132, 94, 94, 18, 27,137, 36,231,250,245,235, 1,205,155, 55, -167,210,211,211,145,156,156, 12,147,201,132,219,183,111, 19, 26,200, 21,216,219,211, 89,119,239, 82, 98,145,168,193, 57,187,172, -196, 92,187,207,103,188, 27,168,215,235, 66, 43, 42, 42, 24,161, 80, 40,148,138,216,244, 6,210, 24,124,124,124,134,176, 44,235, -106, 52, 26,205, 30, 30, 30,162, 51,103,206, 64, 34,145,224,225,236,207,112, 72, 36, 18,163, 92, 46, 87, 3,128,173,173, 45,189, -120,241, 98,209,244,233,211,227,235, 35,142,136,136, 16, 73, 36,146, 81, 65, 65, 65,184,114,229, 10, 18, 18, 18,210,174, 92,185, - 18,208,174, 93, 59,248,248,248,140,242,242,242,218,122,235,214, 45,243,243, 18, 88,104, 96,144,251,133, 11, 23, 56,111,111,111, - 80, 20, 5,129, 64, 0,173, 86,139,244,244,116,116,234,212, 9,155, 55,111,198,234,213,171,127,206,207,207,223,210,152,242,140, - 31, 63, 94,220,186,117,235, 55, 71,142, 28,137,180,180, 52, 44, 89,178,164, 36, 63, 63,255,252,201,147, 39,135, 79,158, 60, 89, -208,185,115,103, 20, 23, 23, 99,235,214,173,204,173, 91,183,182, 68, 69, 69,109, 95,191,126, 61,255,132,226,193,131,199,127,205, -114, 85,219,247,127,151, 5,203,219,219,123,160, 76, 38,123,123,212,168, 81,130,224,224, 96, 20, 20, 20,192,206, 70,106,164, 40, - 74, 2, 0,118, 54, 50,163,217,108,198,228,201,147,209,182,109,219, 14, 51,103,206,108,207,178,236,207, 5, 5, 5,251, 45, 57, -113, 97, 97,161,150,166,233,125,239,189,247,222,146,219,183,111,249, 3,192,181,107,215,210,149, 74,229, 44, 11,221, 89, 53, 81, -157,156,146,146,201,172,238, 6, 6, 6,150, 68, 70, 70, 58, 13, 27, 54, 12,174,174,174,184,117,235, 22, 22, 47, 94, 28,175,215, -235,167, 92,184,112,129,249,171, 47, 50,195, 48,217, 87,143, 28,113,122,105,244,104,167,133,163, 70,125,255,214,248,241, 75,191, - 94,188, 88, 44,151,203, 41,123,123,123,220,185,115,135,108,220,176,193,180,103,217,178,239, 5, 86, 86,226,139, 7, 15, 74, 88, -179, 57,165, 33,231,144,203,229,221,219,119,236, 16,190,124,229,183,208,105, 43,113, 45,246, 8,202, 74,139,177,110,195,175,173, -228,114,121,119,133, 66,113,161, 1,229, 13,216,183,111,223, 67,113, 40,145, 96,193,130, 5,240,246,246,134,189,189, 61, 42, 43, - 43,241,238,187,239, 74, 62,248,224, 3, 0, 64, 66, 66, 2,108,109,109, 45,181,178,245,156, 56,113,162,189,217,108,198,241,227, -199, 13, 44,203, 78, 59,125,250,244,129, 54,109,218, 72,187,117,235,102,191,125,251,246, 94, 0, 78,254, 63,222, 15, 28, 33, 36, -251,212,169, 83,190, 35, 71,142,132, 88, 44, 70, 89, 89, 25,236,236,236,176,124,249,114, 98, 50,153,246, 55,150, 88,161, 80, 72, - 92, 93, 93, 37, 44,203, 98,223,190,125, 80,169, 84, 19,114,115,115,243,155, 55,111,126, 96,230,204,153, 31, 7, 6, 6,250,165, -164,164,100,177, 44,187, 76,161, 80,100, 0, 0, 47,176,120,240,224,193,227, 95, 40,176, 0,188,113,226,196, 9, 1,199,113, 88, -191,126, 61,110,222,188, 73,108,237,157, 63,180,115,160,182,217,219,219,179,229,229,229,111, 44, 93,186,116,232,220,185,115,169, -174, 93,187, 34, 54, 54,150,242,247,247, 31, 14,160,230, 32, 20,142, 58,114,101, 84, 84, 84, 92, 47, 40,200,247,175,145,181,221, - 95, 42,149,213, 55,219,237, 73,206, 39,147, 89,182, 89,180,104, 81,156,187,187,187, 57, 46, 46, 14,107,215,174,229,110,222,188, -121, 20,192,242,194,194, 66,157,133,156,207, 3,143, 56,157,130,130, 46,111,158, 61, 59,226,197,151, 95, 38,189, 94,125,149, 91, - 33,145,124,242,197,188,121,211, 74, 85, 42, 31,142,227,224,226,224,144,253,243,162, 69, 43, 59,119,237,170,187,247,251,239, 54, - 49,191,253,102,229,209,172,217,165,134,148, 83,161, 80, 92,136,142,190,132,173, 27, 86,194,100, 50, 32, 79,145, 5, 0, 40, 46, -169, 64, 61,226,234, 15,156, 52, 77,151,143, 27, 55,206,218,104, 52, 82,163, 70,141, 18, 21, 22, 22,162,121,243,230, 0, 0,149, - 74,133,163, 71,143, 34, 36,228, 97, 90,173,123,247,238, 61,250, 94, 95, 57,173,173,173, 95,237,210,165, 11, 50, 51, 51, 17, 31, - 31,127,172,176,176,176, 40, 33, 33,225, 88, 86, 86,214,240,200,200, 72, 28, 56,112, 96,100, 29, 2,171, 65,109, 84,157, 88,180, -129,125, 9, 12,195,204, 60,112,224,192,196,216,216,216,238, 31,125,244, 17,213,187,119,111, 0,128, 70,163, 97, 45,140, 55,124, -106, 57,171,221,195, 28,199,193,199,199, 71, 3, 0,169,169,169, 25, 0,222,111, 44,231,243,232,159, 60, 39,207,201,115,242,156, -127, 19,206,255,140,192, 98, 56,142, 67,116,116, 52,126,253,245, 87,214,104, 52,206,206,207,207,191, 95, 53,152, 3,192,150,219, -183,111, 95, 26, 62,124,248,138,228,228,100, 65, 66, 66, 2, 8, 33, 13,138, 29,210,235,245,230, 39, 51, 16,232,245,250,103,118, - 17,109,222,188, 25,249,249,249,198,172,172,172,223, 76, 38,211,142,146,146,146,188,198,114, 61,143, 89,132,235,110,222, 52,188, - 98,103,119,112, 86,207,158,195, 23,158, 56, 33, 27, 48,126,188,177, 71,255,254, 95,195,104, 52,138, 68, 34, 14, 86, 86, 2,129, -149,149, 56,225,247,223,109,150, 79,154,228, 66,209,244,161, 31, 18, 18,116, 13,181, 96,245,232,209, 21,227,222,158, 14,157,174, - 18,191, 95, 57,130,242,210, 98,196, 94, 79,134,193,132, 6, 89,176,132, 66,161,175,217,108,150, 50, 12,163, 32,132,224,205, 55, -223, 4,203,178,208,235,245, 80,171,213, 40, 45, 45,213, 79,157, 58,149,174, 18, 77,120,233,165,151, 44,202,234, 31, 16, 16,224, - 43, 20, 10,113,242,228, 73, 8, 4,130,253, 15, 5,177, 96,255,217,179,103,135,143, 26, 53, 10,114,185, 60, 40, 45, 45,173,222, -224,198, 71,139, 61, 83, 8, 4, 0, 80, 8,116, 11, 27,114,183,122,177,103,154,166, 51,218,182,109,107, 81,220,213,147, 40, 42, - 42, 42,196,195,192,253, 95,102,204,152, 49,185, 67,135, 14,225, 95,126,249, 37, 0, 8,158,217, 60,198,113, 96, 24,230,153, 82, - 72,240,224,193,131, 7,143,127,184,192,162, 40,106,119,207,158, 61, 95, 35,132, 8,104,154,222, 81, 45,174,106, 34, 55, 55, 55, - 93, 46,151,175,247,243,243,123,189,202,242,177,171,129,231, 47, 32, 4,223,208, 52, 85,115,237,185,130, 70,112, 44,173,226,160, -132, 66,209,142,171, 87,175,126,166, 84, 42,243, 1,176,207,122,129,158,199, 44, 66, 0,216,175, 86,167,188, 98,107,123,104,114, -155, 54,131,135, 78,155, 70, 34,251,246,117,240,108,214,140, 97,204,102, 54,237,238, 93, 42,230,192, 1,113,204,111,191, 89, 9, - 40,234,240,126,141,230,126, 67,203,169, 80, 40, 46,156, 59,127,225,212,136,225, 81, 47, 5,248,121, 3, 0,210, 50,148, 40, 46, -173, 56,213, 16,113, 5, 0, 89, 89, 89, 6, 0, 6, 79, 79,207,225,123,247,238,221, 71, 81, 20, 85,115,185, 25, 0, 6,161, 80, -216, 2, 0,212,106,117,211, 3, 7, 14,236, 20, 10,133,185,245,241, 38, 36, 36,236,158, 55,111,222,232,244,244,244,223, 20, 10, - 69,106, 85,185, 83, 47, 93,186,180, 86,169, 84,142,206,202,202,218, 14, 11,102,142, 16,160, 69,124,204, 47,173, 0, 32,172,203, - 72,196, 15, 89,161,117, 0, 0, 32, 0, 73, 68, 65, 84,199,252, 34, 3,208, 42,172,203,200,234,107,241,204,193,242, 85,121,185, - 62,184,118,237,218,139,253,250,245, 27, 71, 8, 41,124, 22, 62,153, 76,102, 54, 24, 12, 12,203,178, 66,147,201, 68,100, 50,153, -153,127,252,240,224,193,131,199,191, 23,127,118, 16,153,165, 38,196,199, 2,212, 27,201,217, 16,142,122, 57,189,188,188,166, 80, - 20, 21, 96, 41, 1, 33, 36, 45, 47, 47,239,251,218, 56, 9,121,232,190, 4,158,190,216, 51, 49,155,179,100, 1, 1,151,126,190, -119, 79, 95,139,216,229, 26,114, 61, 3, 3, 3, 73, 74, 74,138,165,237, 91, 39,167, 92, 46,151, 9,133,194, 39, 45, 84,134, 42, - 17, 86,179, 31, 9, 0, 48, 13,108,247, 70,181,209, 35, 11, 22, 64,115, 20, 55,130, 38,244, 62, 0, 92,181, 5,235, 79,232,159, -141, 42,103,205,118, 7,128,128,128,128,247, 66, 66, 66, 70,223,189,123,119,111, 78, 78,206,154,122,111,206, 6,182,251,159,116, -111,242,156, 60, 39,207,201,115,254, 85,156,245,141,179,237, 1,184, 85,253,172,206,147,233,246,196,119, 35,128,154, 99, 86,245, -239, 34,138,162,174,215,224,120,180,221,130, 99, 1,160, 24,192, 93,138,162,140,248,155, 32,156,231,228, 57,121,206,255,161,123, -247,238, 66,254,122,242,156, 60, 39,207,201,115, 54, 92, 92, 17, 66, 6,226,161,151,131, 16, 66, 6, 86,255,126,242,123,245, 62, - 53,127, 87,253,197,147,251, 89,114, 44, 0, 50,107,214,172,217,132,144,158, 13, 41, 51, 13, 30, 60,120,252,101,248,255,152,197, -202,131, 7, 15, 30,255, 2,184, 81, 20,117,132, 16, 50,136, 16, 50,136,162,168, 35,117,136,177, 65, 53,255,214,133,218,120,170, -207, 81,243,247,146, 37, 75,190, 6,208,160,149, 96,132,117,168,208,134,152,254,194, 27,241,191, 56,158,147,231,228, 57,121, 78, -158,147,231,228, 57,255,115,156,207,235,248,103, 70,109, 98,173, 90,200,213,252, 61,107,214,172,207,208,128, 85, 75,254, 10,240, -230, 83,158,147,231,228, 57,121, 78,158,147,231,228, 57,159, 85, 8, 61,213,165, 87,151,187,240,201,239,150,184, 8,235,218,183, - 33,101, 22,130, 7, 15, 30, 60,120,240,224,193,227,239,141,162,154,214,166, 42, 11, 19, 59,107,214,172,207,170,183, 85, 89,153, - 12, 0,164, 79, 30,252,196,113,117,162, 33,251,242, 2,171, 17,104,211,156, 94,232,235,235, 30, 89,117,145, 65,170, 82, 20,112, - 85, 89, 4, 72,117, 50, 35,194,129,112, 4,202,188,242,155,247,210,241,197, 83,148,119,189,177,110, 93,187,122, 58, 11,116,149, -171, 88,142,237, 12, 0, 20,232,139, 34,145,227, 71,103,175, 41,202,107,204, 38,171, 19, 33, 1,104, 41, 19,226, 83,142, 67,107, -138, 2, 40, 10,119,245, 12,150, 37,165, 33,241, 57, 92, 18, 42,204, 31,239, 74,164,214,163, 28, 28,157, 2,203, 74,138, 31,152, - 76,134, 95, 18, 50,176, 14,141, 88,148, 51, 56, 0,109,193, 98, 38,203, 65, 36,164,177, 42, 41, 19, 49,124,175,227,193,131,199, - 95,100, 13,121,166,248,227,218,158,201,132, 16,234, 25, 57,249, 4,121,117, 95,159,235, 85,129,238,213,162,167, 8,192,189,197, -139, 23,151, 45, 94,188,184,230,182, 59, 0,218, 84,237, 87, 84,139, 80, 50, 86,253, 54,214,178,143,209,146,125,255, 20,129, 21, -218, 4,147, 65, 48, 31, 20, 8,128, 47, 19,114,177,182, 65,199, 55, 71, 31,153, 80,176, 17, 4, 2,189,153,253,152,176,184, 88, -235,133, 20,160,155, 76, 36, 88, 1, 10,156,158, 97, 39, 36,164,226,140,165,231, 8, 11, 68,127, 33, 69,111,231, 56, 34, 98, 57, -178, 13, 28,142,216,154,113,249,119, 5,244, 13, 41,171,175,175,123,228,193, 51,121, 47,157,223, 61, 13, 29,219, 6,130,112,102, -128, 48,176, 14,249, 20,103,127,126, 19, 29, 91,249, 62,220,198,153, 97, 27,177, 2, 3,186, 56,144,123,233,141, 91,159,186,107, - 87, 79,103, 43,142,187,187,118,211,118, 79,223,192, 23, 41,194, 25,144,114,251,248, 27, 31,204,152,211,179,119, 7,121,107, 0, -245,174,241,216, 58, 16,111,251,250, 6,127, 58,125,206, 74,218,219,187,137, 45,199, 24,153,188,156,132,118,223,173,156,183, 95, - 76,103,173,184,155,130,141,150,246,227, 80, 63, 76, 20,138, 36, 35,173,172,109, 2,181, 90,117, 10,107, 54,255, 66, 11,132,253, -151, 45, 93,221,182,123,207, 1,182,156, 33,159, 54, 51, 84,232,158,189,187,154,126,255,227,218,168,184, 52,246,101, 0, 92,131, - 42,205,226,195,123,135,222, 29, 33, 18, 10,168,144,129, 27,108, 0,166, 95,131, 57, 0,132,249, 33,140,212,159, 9, 29, 20,240, - 67,124, 6,226, 27,211, 62, 33,126,216, 68, 1, 65, 0,246, 81, 4,187, 19, 50, 81,200, 63,238,120,240,248,119, 65, 46,151,159, - 87, 40, 20, 61,159, 51,103, 71,133, 66,113,149,191,186,207, 79,100,213,178,249, 90, 45,219,174,255, 29,202,219, 80, 11,214, 87, -241, 41, 57, 78,224, 76, 8, 11, 10, 88, 8, 52, 76, 96,201,132,130,109,215,239, 22,120,130,152,176, 97,229,123,123,140,102,128, - 97, 76, 96, 25, 51, 88,198,252,240, 59,107, 6,199,232, 49,111, 85, 52,192,168, 17,217,182,197, 54,128,245,178,244, 28, 34,208, -219,111, 94, 62,229, 76, 49, 21,216,179,117,241,212, 44,101,229,212, 51,215,148,197,161, 34,221,236,132, 76,108,105,200, 32,126, -126,247, 7,216,177,255, 88,238,154, 13,123,147, 56, 16, 56,217, 74,131,199, 12,143,247,249,121,255,249,156,213,155,245, 73,132, - 35,112,180,147, 6,143,125, 57,197,247, 89, 26, 65,160,171, 92,245,227,134, 45,158,190, 77,155, 82,230,140,175, 0,179, 1, 62, -190, 81,130, 57,211,223,246,250,114,233, 15, 43, 1,140,173,211, 26,228,143,208,102, 1, 45, 63,222,182,231,138,175,166,178,208, -120,238,232,103,169, 20, 33,102, 87,215, 16,241,130,175,150, 91,125, 62,123,250, 71, 70, 54,247,234,253,116, 36,212, 83, 20,186, -165, 31, 14,125,253,245,178,214,189,251, 14,182,101,141, 69, 2,125,165, 58,104,227,150, 77,243, 67,194, 58, 88,119,137,104, 34, - 46,186, 60,137,210,170, 75, 97, 34, 86,210, 94,145,189,237,181, 99, 94, 53,111,250,121,215,148,132,116,124,219, 32,125,197,252, - 47,215,136,137,129, 12,128, 8,141, 8, 32, 36,192,251,183, 99,207, 79,100,202,174, 3,156,169, 74,244,154, 0,206, 12, 82,227, -239, 11,175,111, 1,128, 73,141,105, 31,154,194, 75,103,206, 92,247, 42, 40,200,107,191,106,213,215,179, 9,117,253, 56, 40,108, - 79, 76,199,133,198,136, 66, 30, 60,120,252, 61,225,237,237,205, 42,149, 74,193,243,228,148,203,229, 81, 10,133,226,216,179,112, -120,121,121,125, 10,224,237,170,159, 27,243,242,242,150, 61,107,185, 34, 35, 35,155, 16, 66, 60,171,132, 75,254,141, 27, 55,114, -249, 30,240,255, 43,176,100, 32, 28,112,121, 40, 64, 53,108,186, 98,213, 96, 40, 3, 37, 0,204,149, 24, 50,168, 15, 92, 93,188, - 0, 86, 3,176, 58,128,209, 2,236,195, 79,113, 81, 22,192,104,128,162,227, 96, 8,145, 54,184, 86,230, 10,160,240, 23,188,244, -162, 47, 28,237,100,248,224,181, 80,215,245, 7,147, 55,110, 60,120,191, 79, 66, 58, 70, 89, 84, 86, 66,208, 49, 34, 16,107, 54, -104,146, 14, 71, 23,245, 3,128,168,238, 46, 39, 58,182,106,234,179,122,179, 62,233,216,197,178,254, 0,208,191,179,253,241, 14, -225,158,190,220, 51, 44,127,194,114,108, 23,223,230, 17, 20,147,189, 20, 52, 93,134,202,202, 98,228,164,109,133,171, 71, 63,154, -225,184,110,245, 29,111, 37,196,172, 15, 62, 93, 34,212, 84, 22, 24, 9, 83,200,121,216, 22,139, 69,160, 4,156,230,146, 81,151, - 95, 94,249,225,251, 99,152,143,103,125, 61, 11,192,232,186,120, 66,253, 49,101,197,210,213,173, 58,119, 8,118,207,143,249,128, -170,172, 40,128,153, 88, 73, 95,238,222, 25, 78, 77, 67,185,130,219, 43, 40,169, 87, 31, 56,249, 5, 32,247,222, 14,100,221,253, -149,234,218, 97,184,116,219, 78,241, 24,192, 84,171,192, 10,244, 68,151,126, 47,117,216, 19,208,212,219,139, 16, 14, 28,199,129, - 16, 14,122, 35,139,217,223,167, 66,163, 99, 48,168,207, 11,157, 93, 28, 4, 6, 26, 0, 33, 28,114,148, 37,218,115, 87,146,122, -167, 41, 81,239,155, 31, 5,252,208,230,197,158, 93,238, 94,139, 13, 49, 41,143,160,253,176,197, 73, 20,254,231,110, 36, 64,151, - 91,103,183,132, 0, 91, 26,253,210, 68, 8,216,236,223,151,160, 73,196,187,130,117, 91, 78,184, 85,148, 40,198,254,186,247,199, - 17, 63,174, 95,183, 35, 41,189,113,162,141, 7, 15, 30,127, 63, 40,149,202,231, 46,178,174, 92,185,162,124, 22,145, 21, 25, 25, -217, 77,169, 84, 46, 85, 42,149,213, 34,112,105,135, 14, 29,230, 86,143, 83, 79,160,130, 16, 50,250,198,141, 27, 23,235,226,156, - 62,125,186,247,229,203,151,253,110,220,184, 1, 0,104,223,190,189, 95,100,100,164, 95,109,251, 90, 91, 91,179,109,218,180,201, - 92,181,106,149,146,239, 33,127,174,192, 74,202,191,244, 97,132,177, 84, 11, 0, 73, 22,236,255,216, 84, 75,189,153, 93,178,117, -245,216, 37, 97, 65, 78, 80,169,141, 56,125, 41,179,202,130,197,128,101,205,143,254,246,123,209, 21,157,152, 73,248,118,247,125, - 48, 44,183,184, 46,206, 39, 97,226,184,215,219,118,123,117, 47, 71,136,196,218,154,174,104,238,227,226,254,241,152, 54,244, 7, -175,133, 65,167,103, 94,221,121, 60,245, 92, 98, 38, 54, 88,196,201, 49,181, 8,175, 90,182,113,108,189,117,127, 26,218, 4, 91, -117, 28, 54,160,171, 61,204,165, 96, 53, 25, 48,178, 28,242,242, 52, 72, 87,138,225,192, 21, 88,196,201,113,104,237,233,233,101, -125,229,212,204, 12,119,187, 50,177,139, 21, 43, 22, 83, 28,161,205, 68, 96, 52, 38,233,157,188,251,136, 56, 14,173,235,107, 35, - 43, 43,187, 55,187,246, 28,232,144,125,246,109,202,202,103, 0,220,253,155, 32,227,230, 86, 20,198, 29, 65, 73, 97, 22,229, 64, -202, 96,221, 34, 0, 3,134,191,134,165, 83, 34,161, 82, 85,130, 42, 74,115,144, 72,164,142,128,169, 86, 78, 66, 99,244,138,111, - 22,121, 9,133,244,195,235, 73, 24,128,152, 1, 98,134,186,210, 0,163,209, 8,153,152,192, 70, 70,128, 42, 55, 44,203, 26,173, - 91,247,158,245, 30,192, 94,173,175,238,241, 25,136, 15,245, 67, 12, 8, 19, 66, 88, 29, 40, 32, 38, 33,227,127,162, 39,204, 15, - 97,237,122,143,127,159, 2,126,104, 76, 27,133, 55,195,160,200, 16, 91, 27, 43, 38, 9,185,209, 83,145,202,202,136, 71,171,183, -241,218,232, 41,214,235, 54,174, 31, 12,144,201,120, 60, 6,237,207,152, 94,204,115,242,156,255, 72, 78,123,123,123,255,102,205, -154,205, 53,155,205,221,196, 98,177,135,201,100, 2,199,113,249, 18,137,228, 82,102,102,230, 2,149, 74,149,254,119,171,251,241, -227,199, 27, 34,178,234,229, 20,137, 68, 56,118,236, 88, 74, 3, 68,214, 99,156, 52, 77,111,223,183,111, 31,246,238,221, 11, 0, - 56,127,254, 60, 90,180,104, 97, 83,219,129, 57, 57, 57, 54,175,188,242,202,118, 0, 62,117,113, 62,120,240,192,127,209,162, 69, -216,183,111, 31, 0,224,231,159,127, 70, 80, 80, 80,173,133,185,115,231,142,224,243,207, 63,247, 7,160,252, 11,218,232, 95, 43, -176, 8,234, 95, 90, 37,205,211, 78, 20, 1,179, 25, 0,210, 26,122,178,196, 52,124,179,102,211,137,254,103,127,253,161,155, 76, - 66, 99,254,170,143,115,138,138,212, 47, 8, 5, 15,221, 44, 12, 11,218,201, 81, 18,187,120,106, 27,223,178, 10, 61,126,187,160, -184,152,144,142, 6,153, 66, 19,210,112, 26,224, 28,171,108, 67,208,168, 10,131,198,206, 57,189,123,247, 55,253, 91, 79, 31,221, - 26,135,162, 51,167, 3, 76,189,107,213, 17,142, 3, 33,204,163,160,246,170,141, 85, 46,167,255,109,227, 8, 1,136, 25,164,129, -113,222, 95,126, 57, 82,120,104,247,129,254, 54, 82,225,119,147,222,153,104,111, 46, 73, 64, 69, 57,139,252, 98, 13,178,138, 28, -193, 90, 53, 71,114,252, 85, 86, 64,211,245,198,159, 81, 52, 84,196,172,177,115,178,178,162, 67, 59,188,231, 85, 17,247,153, 74, - 42, 48, 11, 28,219, 46,178, 43,184,183, 34,155, 49, 20, 86, 82,244,227, 10,168,214,135,161,131, 67, 11,131, 58, 83, 80, 81, 94, - 2,199, 86,161, 24,240,242, 96,204,159,208, 18,106,181, 6, 69, 37, 87, 72, 96, 83, 7, 74,127,107, 39,230,188, 25,130,146,226, - 60, 24,205, 0,173,210,151,234,141,250,202,167, 91, 2,177,238,195,143,103,188,222,180,137,155, 77,245,100, 1,194,177,104, 19, - 30,128,190, 61, 59,226,116,236, 21, 92,191,149, 12,142,112, 85,147, 9, 88,228, 22,150, 23,232, 77,236,214, 6, 89, 71, 57,230, -161, 37,180, 22, 1,134, 70,184, 6,195,195, 97,205,106,240, 69,251,150,118, 19,102,190,217,212,206, 78, 66, 65,111,197, 66,175, - 55, 67,157,244, 61, 92,154,180,130,181, 76, 70, 69, 68,232,132,183,110,129, 95, 87,144, 7,143, 26, 24, 49, 98,132,172,160,160, - 32,218,199,199, 39,180, 79,159, 62,214,221,186,117,131, 70,163,193,201,147, 39,161,213,106,155,250,248,248, 52, 61,117,234,212, -240,172,172,172, 4, 31, 31,159, 30,251,246,237,211, 55,244, 28,213, 65,229,207, 59, 56, 92, 34,145, 32, 54, 54,246,185, 90,178, - 36, 18, 9,174, 93,187,150,210, 24, 75,150, 70,163, 17,123,122,122,194,197,197, 5, 44,203, 66,163,209,224,224,193,131, 80,169, - 84,224, 56, 14, 86, 86, 86, 88,113,188, 2,250,251,251,176,241,187, 69,168,168,168, 16,215,199, 89, 92, 92, 76, 5, 7, 7,195, - 96, 48,128, 97, 24,232,245,122,156, 57,115,230,209,111,161, 80,136,133,251, 10, 96, 72,222,141,109,235, 86,160,184,184,152,250, - 11,187,143, 37, 90,228, 31, 37,176,170, 43,244,167, 87,140,101,153,217,235,183,238,142,157, 61,117, 20,166,188,217,219,103,193, -183, 7,250, 36,166, 99, 27, 0,180,244,199,216, 49, 81,129,190,142, 54, 34,124,249,211, 13, 0,100,246,179,158, 47, 62, 11,201, -161, 1,220,244, 3,209, 89,209,159, 77,136, 64,128,143,125,139, 50, 83,169, 36, 45,205,130,120, 31,206, 12, 39, 91,105,112, 84, -119,151, 19, 32, 28, 28,109,165, 33, 32, 44, 28,237,164,193,253, 59,219, 31,231, 8,129,163,141, 56,132,112,150, 39,231,238, 16, - 46,125,199, 74, 68,191, 99, 99,231,232,251,225,164, 49, 86, 3, 7,190, 98,101, 35, 33, 40, 73, 56, 6, 21, 9,131,209,198, 6, - 68, 91,142,244, 7,113,236,241, 11, 55, 20, 82, 23,175, 79,128,140,186,139,201,226,162, 50, 39,113, 88,179,192, 62,142, 69, 55, -230, 20,250,247,222,233, 71,131,165, 53,177,195, 11,109,236, 66,197, 49,119,226, 24,142,197,149,250,202,166, 86,169, 50,205, 38, -120,233,205, 34,187,212,107, 91, 48,107, 76, 24,202,203,138,160, 55, 48, 40,215, 48, 38, 47, 87,147, 84, 95,118, 15, 6, 35, 3, -131,137, 64,100,237,141, 83,177,113,197, 28, 99, 62,254, 84, 69,158,135,219,105, 59,110,219,214,220, 22,224,133, 54, 51,157,172, -110,131,213, 33, 43, 91,137,109,251, 99, 35,210,242,112,251,217,110, 73, 6,132,249,223, 51,186, 58,248,189, 49,193,237, 33, 77, -209, 65,204,136,190,251,114,214,192,208, 30, 97,172,148,210,231,129, 2, 96, 45, 19,194, 32, 99,225, 32, 11, 0, 49,169,137, 86, -175, 47,143,143, 3,159,153,157, 7,143, 26, 8, 14, 14,246, 84, 40, 20,241, 31,127,252,177,243,176, 97,195, 30,137,129,173, 91, -183, 98,245,234,213,152, 63,127, 62,204,102, 51,214,175, 95,111,189,127,255,254, 14, 63,252,240, 67,174,175,175,111, 88,118,118, -118,190,133,162, 74, 92, 53,118, 61,140, 42, 32,132,253,242,203, 47,201,252,249,243, 81,189, 13, 0, 11,212,255, 82,249, 52, 49, - 36,145, 72,144,148,148,244, 92, 68,150, 72, 36,130, 88, 44,134, 68, 34,193,253,251,247, 27, 44,178, 24,134, 17,228,230,230, 66, -165, 82,161,239,224,193, 88,189,100, 9,186,117,235,134, 62,125,250,128, 16,130,179,103,207,162,147, 83, 50,156, 7,119, 71, 98, - 98, 34,204,102,179, 69,158,169,220,220, 92,148,148,148,160,255,224,193,216,240,227,143,104,215,174, 29,130,131,131, 1, 0,209, -209,209,232, 45,207,132,109,112, 31, 36, 39, 39,255,149,221,231, 47,211, 34,127,181, 5,235, 47, 65,124, 26,126,231, 14, 92, 56, -242,218,192,246,131, 6,247, 10,197,134,221,231, 22, 65,170,218, 13, 0, 46, 82,233, 87,111, 14, 12, 64, 66, 90, 25,206, 94, 83, - 30, 73,204,192,239,207,227,156, 28, 11, 87, 23, 71,107,128,150, 64,107,100, 25,123,251,250, 3,147, 57, 16, 88,183,156,133, 49, -195, 18,125, 58,182,242,241, 33,132,169,154, 49,184, 18, 99, 95, 78,241,109, 31,230,225,251,208,229,101,134,125,167,157, 0,103, - 83,111, 57,186,182,149,157,250,100,218,212, 23, 7, 14,126,205, 74,108,237, 2, 78,151, 3,115,233, 93,148,164,159,135,193,170, - 45,138,114, 51,176,251,208,111, 21, 73,233, 5, 42,129,128, 62, 45,116,240,152,113,230, 76,122, 37, 69,213,221,207,244, 2, 44, -158, 63,119,246,192,221, 59,118, 57, 88,121,119,197,131, 67, 81,229, 18,129, 89,234, 46, 15,130,142,177, 99,151,111, 62,226,168, - 1,150,212, 87, 62,173, 70,245,235,153,179, 39, 70, 5,122,117,177,203,136, 59, 2,173,214, 8,131, 25, 8,111,215, 19, 44, 71, - 36, 20, 77,113,246, 2, 1, 85, 80, 80, 10,202,204, 21, 92,186,149,145, 23,115, 61, 77, 96,160,235,231,126,172,211,137, 5,211, - 6,247,105, 3,176, 58,188,220, 55, 28,171, 54,159,157, 10,176,227,159,237,182, 52,131,176, 58, 16,160, 75,168, 31,126,226,128, - 46, 55,143,175, 10,137, 28, 48, 29, 13,177, 96,133,249, 97, 64,104,144,247,150, 85,139,102, 59, 59,187,251, 8,192,234, 64, 49, - 42,194,149,254, 14,161,230, 1,236,155, 12, 4,235,208, 25,235,126, 92, 94,201,113,100, 55, 26,145,162,130, 7,143,127, 51,244, -122,253,175, 75,150, 44,113, 30, 52,232,225,108,247,202,202, 74, 92,185,114, 5, 27, 55,110,132,141,141, 77, 77,177,132,168,168, - 40, 16, 66,156,231,205,155,247, 43,128, 23,159,198,217,169, 83,167,193, 43, 87,174,204, 6,240, 0, 15,115, 28,137,241,112,129, -121,114,230,204, 25, 26, 0, 58,116,232,192, 94,187,118,141, 3, 64, 70,143, 30, 45, 58,116,232, 80, 11,141, 70,115,161,177, 2, - 75, 34,145, 64,161, 80, 60,179,200, 18,137, 68,143,248,196, 98, 49, 20, 10, 69,131, 68, 22,195, 48,194,163, 71,143,226,214,173, - 91,248, 50, 34, 2, 31,120,121,193,197,197, 5, 23, 46, 92, 0, 33, 4, 54, 54, 54, 40, 45, 45,197,238,221,187,209,179,103, 79, - 48, 12, 35,182,132,247,224,193,131,184,121,243, 38, 22, 70, 70, 98,170,141, 13, 28, 29, 29, 17, 29, 29, 13, 0,144, 74,165, 80, - 40, 20, 56,115,230, 12,122,244,232,193,119,234, 63, 91, 96,117, 7,132,165, 20, 60,205, 38, 29, 8, 67, 0, 10,222, 45, 91, 66, -156,152,216,240,183, 4, 26,152,179,102,243,145,129,171,102,191, 76,189, 59, 34,194,123,193, 15,231, 39, 3,192,132, 87,131,228, -214, 82, 33,214,236, 78, 32, 52, 48,231,121, 84,176,101, 75,136, 41, 3, 38,247,237, 28, 12,101,177, 17,105,217, 21,231, 18, 51, - 44,115,233,156,221, 54, 6, 63,255, 26,157,179,122,203,227, 51, 6,183, 28,188,153,189, 98,155, 62,137,128,192,209, 74, 20, 50, -254,229, 78,245,206, 34,236, 16, 46,125,103,230,244,233, 47, 14,121, 99,134,149, 57,247, 0, 12,153, 71, 1, 86, 11,173,134,130, -138, 9, 68, 94,118, 46,190, 92,181, 43,199, 96,166, 95,191,145,160,111,144,176,124,240, 0,149, 66,127,213,176, 37,223,204, 61, -253,245,151,243,108,165,138,179, 42,145, 16, 26,218,165,155,232,171,185,107,133,234, 10,227, 43,105,217, 80,215,199, 99,160,177, -228,155, 21,223, 14,124,123,204,176,164, 32,159, 30, 46,108,126,154,139,182,162,162,112,231,241,155,158, 85,111, 19, 20, 0,164, -102,148,160,168, 84,195,176,140,249,130,157, 9, 11, 18, 20,150,207,254,243,119,135,219,160, 94, 97,111,184, 57, 74,160,211,148, -193,221, 73,140,126, 93,154,191, 97,214, 39,207, 76, 47,108, 88,142,145,199,244, 85,149,139, 48,118, 99,175, 16,112,166, 16,194, -153, 97,204,218,222,152,215,167,233,211, 71, 53,117,112,182, 49,210, 20,171, 1, 68, 78,128,196,141,162,173,252, 32,176,242, 69, -102,202, 13,102,250,123,163, 74, 50, 51,243, 55,185, 18, 44,227, 31, 33, 60,120, 60,142,172,172,172, 55, 63,251,236,179,152,142, - 29, 59,122,184,186,186, 34, 60, 60, 28,135, 15, 31,198, 39,159,124,242,104,159,182,109,219, 2, 0, 74, 74, 74,240,205, 55,223, -228, 43,149,202, 55,235,124, 49,143,143, 79,218,190,125,123,151,214,173, 91, 27,197, 98,113, 89,181,200,202,202,202, 18,106, 52, - 26,202,104, 52, 18, 27, 27, 27, 78, 42,149,154, 71,142, 28,105,186,118,237, 90, 11,141, 70,147,245, 44, 22,172,200,200,200,123, -229,229,229, 21, 20, 69, 61,115, 10,135,106,113, 21, 18, 18,226,102, 52, 26, 89, 0,165,141, 73,225,192, 48, 12, 34, 35, 35,113, -230,226, 13, 28,191,120, 15,149, 69,105, 24,253, 74, 63,132,132,132,224,228,201,147,141,110,179,200,200, 72,156, 57, 19,131,232, - 27,247, 81,144,149,128, 49,175, 13, 69,112,112, 48,206,156, 57,195,119,232,231, 32,176,234, 52,201,133,248,162, 13,109, 47,249, -121,206,203,205, 67,133,225,243, 65, 9,173,112, 96,203,225,206,179,191,254, 41, 73, 80,145, 61, 58,206,130,217, 94,143,221, 44, - 25,136, 39,184,191,235, 78, 66,200, 27, 47,119,243,193,134, 95,172,191, 0,128, 87,251,250,227, 90, 66, 17,174,198, 21,238, 74, -104,100,206,162,154, 8,119,135, 53,107,192,174,111,102, 12,233,209,180,137, 39, 54,238,141, 1, 69,240,171, 69, 3, 45, 33,164, - 99,107, 95,172,222,242,228,140, 65, 47,223, 21,219,244, 73,167,174,168, 7, 0, 64,223, 23,172,143,183,111,233,236, 75, 72,221, -211, 8,101, 34,250,221, 1, 47,191,105,197, 20,156, 4, 87,250, 11, 68, 18, 49,116, 26, 22,121,133, 6,232,172,173,112,238,210, - 5, 93,165,150,153,126, 55,133,105,148,213, 46, 49, 29,105, 98,225,173,108,141, 78,231,101,235,220, 92, 67, 83, 32,149, 70, 17, -185,153,160,208, 36,100,227,190, 37, 28,105,105, 48,190, 32,103,186,174,219,246,203, 92,145, 72,242,170, 64, 0,202,221,209,198, -237,167, 53, 11, 97,103,103, 11,194,168, 65, 12,197, 24, 54,225,235,162,184, 20,179, 63, 0,180,104, 1,219,174,173, 69,219,132, - 52,149,123,254,182,233,243,250,206, 65, 9, 48,105,244,203,109, 68,156, 89,131,105,243,246, 96,221, 87, 47, 99,204,224,150,162, -163,231,146, 39, 1, 88,208,120, 51,229, 67, 23,225,139,239, 94, 76,162,128, 24, 2,116,185,113,228,171, 16, 52,192,243, 24, 17, - 1, 17, 91, 73,181,108, 41, 55,138,216,220,221,160,100,114, 34,112,237, 1,216,180,160,136,109, 56,190, 95, 51,183,114,195,198, -141,167, 56, 10, 95,222,207,172, 55,229, 5, 15, 30,255, 85,164, 41,149,202,254, 81, 81, 81,103, 79,158, 60,233, 28, 30,254,112, - 69,149,155, 55,111, 2,192, 35, 87, 84, 65, 65, 1, 94,127,253,245,226,188,188,188,254,168, 39,166, 87,173, 86,167, 31, 56,112, -192, 67,167,211,181,255,252,243,207, 11,154, 53,107,166, 54,155,205, 68,173, 86,131, 97, 24,226,230,230, 38,106,215,174, 29, 21, - 22, 22,166, 59,123,246,172, 75, 78, 78,142, 26, 64,102, 99, 10,255,246,219,111, 99,255,254,253, 0,128,231,145, 23, 75, 44, 22, - 35, 42, 42, 74,126,229,202, 21, 69, 21,103,163,243, 98, 17, 66,112,247,238, 93, 92, 74, 97, 33,177,113, 66,102,146, 10,103,126, - 59,132,209,239, 78, 4,195, 52, 62, 90,225,206,157, 59,216,125,230, 14, 60,228,205, 81, 97,184,139,131, 7, 15, 98,242,228,201, -207,196,217, 72,252,107,220,131, 79, 90,176,254, 80,161,128, 0, 72,164, 70,204,235,219, 65, 62, 99,100,239,230, 2, 70,171, 4, -199,113, 16, 0,112,181,163,177,121,195, 58,255, 95, 14, 28,139,253,238,219, 31,190,133,145,155, 19, 87, 8,109, 3,204, 88,243, - 86,110,189,252,234,246,133,221,133,147, 71,132, 56, 3,128, 88, 68, 99,205,174,120, 6, 52,230, 61, 75,165, 94,144, 67, 86, 41, -198,187,238,238, 14, 95,204,126,111,160,115,143,142, 65,184, 16, 27,135,111,119,196, 94,148, 56,225,103, 75,111, 59,194, 49,143, - 5,180, 63,220, 86,139,241,139,212,223, 9, 89,142,120, 74,172, 93,161,207, 60, 6,161, 68, 10,134, 49,161,168, 64,139,140,124, - 14, 50,111, 17,174,221,205,210, 13,125, 99,216,209,103,233,152, 54,214, 50,239,121, 95, 45,111,162,211,169, 25, 85,121, 49, 35, - 20,199, 10,173,173,164,249, 15, 87, 14,176, 12,191, 43,160,239,214, 70,212, 14,132, 19, 72, 5, 68, 59,123,250, 56, 27, 69,242, - 73, 4,186, 41, 65,129,192,202,123, 32,236,108, 4,226, 46,173, 69,217, 0, 96, 99,109, 45,249,102,193, 39, 14, 31,206,252,242, -146, 37,214,196, 32,119,207, 15,195, 3,157,113,225,106, 34, 46, 94,207,138,191,248,123,114, 88,207, 14,222, 8,242,119,252, 64, -226, 88,190,164, 49, 22,209,135,109,240,208, 69, 88, 61,139, 48,204, 15, 97,237, 7,125,254,180,217,131,181,194,239, 22,184,100, -127, 2,138, 18,128,128, 2,244, 10, 48, 57,219, 33,240,159, 74,126, 61,244,149,110,227,134,141, 11, 19, 51,121,171, 21, 15, 30, -245,161,162,162,226,110, 82, 82, 82,191, 54,109,218,108,157, 54,109,154,221, 27,111,188,225,253,246,219,111,211, 0, 80, 80, 80, -192,173, 94,189, 90,249,221,119,223, 85, 20, 23, 23,143, 55,155,205,247, 44,185,195,243,242,242,174,108,222,188,185, 40, 38, 38, - 38,236,133, 23, 94,176,110,223,190, 61,231,238,238, 46,214,106,181,108, 78, 78,142, 46, 54, 54,150, 77, 73, 73,113, 40, 47, 47, - 79, 1,144,138, 70,184,239,189,189,189, 65,211,244, 2, 31, 31,159,185, 10,133,162,213,243,136,193, 10, 12, 12,244, 6,144, 34, -151,203, 3, 27,234, 30,252,195,128, 45, 20,162,172,172, 12,234,220, 84,104, 75,138, 17, 44,208,162,173,179, 43,236,236,236,158, - 73, 12, 85, 84, 84, 64,104, 40, 64,218,221, 44,148,231,103, 34,180,105, 36,108,108,108, 96, 48, 24,254, 63,186, 15,245,111,185, - 15,158,234, 34, 12,109,130,201, 86,192,234,113, 35,253,197,254, 77,155,192, 88,116, 19,183, 83, 43,241,249,166, 14, 9, 2,177, -157, 97,202,216,190,237,122,246,113, 67,247, 30, 29,168,102, 77, 29, 63, 88,178,100,237,251,161,146,226, 79, 18,114,176,198,146, - 19, 39,164, 33,157,227, 10, 55,158,191,174,152,212,196, 77, 7, 2,130,243, 55,242,112, 47,181,108, 99, 82, 6,210, 27, 82,137, -208,230,232, 35,164,232, 61,132, 37, 50, 7, 59, 27,117,104, 72, 19,215, 62, 93, 90,211,253,123,182,135, 88, 8,196, 92,189,131, -233, 95,253,250, 59, 39, 33, 3, 45,158,241, 69,184, 63, 8,167,135, 51, 6,153,199,102, 12, 18, 66, 8, 56, 6,132,212, 29,214, - 37,160,169,124, 77,193, 13, 79,137, 93, 40, 76, 37,231, 80, 80, 80,137,248, 52, 19, 42,225,131,178,220, 92, 16,194,102,207,155, -247, 75,163,239, 16, 87, 87, 87,119,255, 22, 65,205,191,219,176, 15, 38, 67, 5,210, 18,182,160, 82,149,143,175, 22,255,214, 92, - 46,119,233,174, 80, 40, 46, 88,222,187,169,160,179,231,118,185,131, 0, 2,161, 20, 71,215,239, 69,177,208, 10,174, 14, 98,112, -250, 66,188,251,206,104,135,168,129,163, 29, 0, 32, 59,245, 14,124,157, 45,211,213,166,114, 12,127,117,124,176, 35, 88, 45,126, - 62,120, 71, 79, 83,232,255,243,111,241,169, 61,219, 57,202, 94,237,219,212,105,193,186,242, 87, 0,236,106,148,190,226,216,199, -102, 17, 54,102,246,224, 62,128, 13, 33, 72,221,117,166,200,118,100, 84,132,149, 88, 72, 81, 68,175, 0, 71,137,169, 53, 63,108, - 86, 75, 40,172,231,135, 78, 30, 60, 44,131, 78,167,187,169,211,233, 90,125,250,233,167,175,127,246,217,103,221,108,108,108,252, - 1, 64,163,209,164,155,205,230,139, 85,247, 58,219,144,219, 28, 64, 74,106,106,106,122,106,106,170,199,207, 63,255,236, 8, 64, - 86,245, 63, 61,128,114, 0, 5, 13,228,124, 12,213, 98,202,219,219,123,238,243,186, 14,213, 98, 74, 46,151, 7, 54,230,120,129, - 64,192,210,244,195,149,125,164, 82, 41, 46, 93,186,132, 1, 93,186,226,206,153, 44,132,120,248,160,231,232,113, 56,120,254, 60, - 4, 2, 65,245,254, 13, 26, 71,132, 66, 33, 98, 98, 98, 48, 98, 80, 15, 28, 60,120, 16, 1,145,109, 48,117,234, 84,156, 56,113, - 2, 66, 33,191,154,222,159, 34,176, 64,176,224,244,158,175,197,224,204,216,183,115, 41, 78, 95,215, 26,239, 43, 48, 39, 56, 23, -171,247, 65,205, 21, 22,239,159,116, 52, 58,109,217, 91,227, 7, 89,247,234,222, 23,189,186,245, 20,134,181,233,254, 5,240,152, -192, 10, 71, 29,185, 50, 88, 51, 22,174,223,159, 52,113,207,177,100, 10,140, 26,163, 94,110, 79, 88, 51, 22,214, 83,230, 63,112, - 58, 88,219,238,137,185, 20,235, 4,182, 18,249, 25,231,101,158, 30,254, 0, 49,227,193,131,100,124,191,249, 32, 23, 29,123,127, -187, 81,128,105,105,137,208, 88,202,249, 80, 81, 49,112,176,149,252, 97,198,160,163,149, 40,164,239, 11,214,199, 9, 33,196,206, - 90, 20, 66,106,183, 96, 61,198,169, 55,115,235,183,111,219,176,124,194,132,183,109, 74, 12, 10, 36,231,196, 67, 47,144, 67, 96, -221, 28,241, 55, 78,234,116,102,110,131, 5,237,245,212,235, 89, 92, 92, 92,120,243, 70, 41,246,108, 93, 12,179,217,128,194,188, -135, 26, 53,175, 64, 5,123,123,121,172, 66,161,176,152,211,196,112, 21,195,135,189, 43,182,146,193,106,244,171, 3, 37,169, 74, - 3, 34,130,237, 30,118, 11, 83, 49,146,162, 47,161,167,251,195, 96,200,212, 36, 1,124, 95,240,182,168,156,118,118,226,105, 3, -186,202,145,158,149,143, 75, 55, 21,219,210,149, 80,178, 36,111, 91,106,118,249,164, 33, 61,125,177,106,123,194, 84,192,188,171, - 33,117, 15,243, 67, 24, 7,116, 1, 49,131, 48,122, 16,160, 75,152, 31,194, 44,156, 57,248, 7, 78, 33,141, 55, 86,238,201,252, -124, 95,116,209,144, 25,111,119,181,239,252,226, 0, 9, 56, 51, 81,107, 13,230,196, 12,168,158,165,141,158, 1, 60, 39,207,249, - 79,229,100, 1,108, 55,155,205,219,203,203,203,159, 39,167, 18,127,204,203,244, 76,117,175,233, 14, 84, 42,149, 2,111,111,111, -214,130, 32,247,250, 56,175,214, 20, 90, 85,214,171,250,172, 88, 79,114, 42, 59,118,236,232, 60,120,240, 96, 48, 12,131,148,148, - 20,100,101,101, 97,240, 91,227,225,228,228,132,171, 9, 9, 72, 73, 73,193,220,185,115,193, 48, 12,174, 93,187,150, 91, 31,167, - 72, 36, 50,181,105,211, 70, 60,116,232, 80, 48, 12,131,180,180, 52,100,102,102, 98,234,212,169,112,112,112, 64, 66, 66, 2,210, -210,210, 48,119,238, 92, 24, 12, 6,164,167,167,155,254,162,190,244, 31, 17, 88, 20, 88,112,102, 84, 92,159,135,159,142,192,100, - 98, 16,146,144,139,140,234,192,147,132, 92,172, 21,144,187,135,239,198, 39,165,223,188,218, 75, 2,213, 61, 52,244,205,225, 65, - 46,242,236,172,213,106, 48,106,123, 20, 29, 71,134, 66, 93,249, 32, 23,121,141,176, 94, 80, 96,255,143,189,243, 14,143,162,106, -219,248, 61, 51, 91,179,233,125,119,211, 12, 33, 9, 9, 53, 33,180, 36, 72,135,208, 68, 4, 4, 68, 16, 84,148, 34, 42,168,116, - 1, 1, 1, 17, 68,170,128,136, 40, 34, 32, 85,164,133,222, 33, 36, 4, 8, 33,161,132,132,148, 77,239, 91,103,119,102,190, 63, -146,205, 27, 48,101, 19,248,240,149,119,126,215,181,215,102,119, 38,247,158,153, 51, 51,231, 62,207,105, 26,160,228, 58,246, 31, - 58, 3,137,244, 6, 98,226,238, 50,151, 98,147,119,146, 28, 22, 38,166,226, 94,195, 53, 57,216,180, 93,133,119, 94,123, 80, 49, - 98,144, 51,130, 99, 77,176,143,216,129,177,175,133,123,183, 11,114,240, 6,107, 4,199, 25,225,216,227, 52, 48, 71, 90,167,222, -181,219,250,205,157, 67,164, 67,202, 74,243, 59,244,234,214,213,218, 53,240, 77,148,220,187,131,132,184,104,237,245, 91,201,151, -175,221,214,111,126,150,140,244,240,240,120,181, 71,143,102, 24,254,206, 76,208,250, 98, 60, 76,248, 9,101,165,217, 56,127,209, - 6,119, 31,151,118, 2, 96,113, 4,235,114,130,169, 5, 80,132,136,150,194,199,118, 98,131,124,244,208, 1,144, 8,116, 96,141, -101, 32,232,124, 60, 40,164, 75,134,204,203, 96, 0, 64, 38, 37, 4,214,130, 18, 59,139, 34,141,126,206, 1, 50,145, 17,191, 28, - 72, 0, 75, 84, 44,179,196, 18,216,240,203,159, 15, 62, 92, 56, 57, 20,205,253, 28,219,220,184,159,107,110,131,183,180, 74, 59, -233,250,193, 5, 65,186,132,185,224, 88, 35, 46, 44,119, 12,234,252,121,209, 36, 52,114, 89,156,219, 15,145, 9,224, 67, 48,154, -141, 31, 47, 62, 58, 55,172,229,157,200,105, 31, 14,178, 3,193, 47,140,206,195,195,243,226,209,104, 52, 31, 76,159, 62,125, 35, - 69, 81,174, 0, 8,142,227,160,215,235, 5, 63,254,248,163,208,100, 50,145, 20, 69, 49, 82,169,212, 20, 27, 27,107,100, 89, 54, -143,166,233, 15,234,211, 52, 24, 12, 15,214,174, 93,219,212,104, 52, 86,141, 56,212,235,245,248,245,215, 95,161,215,235, 33,145, - 72, 96, 99, 99,131,135, 15, 31,130, 32, 8,154, 97,152, 7,124, 78, 60, 79,131, 5, 44,136,120, 99,222, 60,112, 32, 64, 96,254, -157,140,191, 79,198,116, 43, 19, 89,205, 61,233, 79, 91,132,116,153, 87,105,202, 22, 52, 52, 1, 58,134, 25,218,174,109,224,239, - 0,160,103,153,183, 27,115, 16,165, 58,237,155, 33,237, 59,237,100, 57, 78, 96, 98,184, 31, 73, 18,123,116, 64,226,195, 71,245, -143,156,171,141, 44, 85,113,108,223, 72,123,206,188, 4, 78, 85,179, 96,229,116, 12, 28,199,113, 85,205,130,115,164,200, 47,208, -215,219,155,250,252, 13, 93,239,246, 45, 37,239, 31, 59, 27, 55,158, 97, 57, 57, 69, 18,217, 58, 35,187,233, 89,205, 85,101,237, -232,236,137, 19,153,199,111, 70,186,247,118,169,156,102, 53,191, 24,200, 47,193,241,204,204,242,179,141,209, 44,210, 26, 7,205, - 90,126,224,160, 88, 64, 9, 0, 14, 44, 91,113,188, 58,154, 41,172, 48, 97, 64, 43,127, 40, 63,255,209,244, 59, 69, 17,105,245, -233, 93,189,165,250,110,248,231, 39, 62, 75,184, 95,244, 99,106,102, 69,205, 39, 53, 19,183,119, 29,123, 52,247, 65,122,217,103, -183,239, 23,125,139, 6,246,155, 32,128,117,237, 94,155,247,183,239,158,245,124,222,125,140,120, 0,131,193,101,244, 26, 62, 97, -205, 52,130, 0,191, 76, 4, 15,207,255, 16,230, 40, 22, 73,146, 95, 61, 47, 77,115, 20, 11,192,253, 6,164,227, 42,128, 86,207, -243,216,226,226,226, 10, 0, 20,240,185,252,239,166, 37,175, 9,112, 28, 71, 62,203,171,161,233,244,247,247,231, 26, 96, 84,248, - 60,226, 53,121, 77, 94,147,127, 38, 63,227, 51,153,227, 56,226, 89, 94,124, 30,189,124,240,205, 30, 47, 0,130, 32,216, 23,249, -123,247,239,223, 39,248,179,206,195,195,195,243,226,158,201,207,123,201, 30,158,127, 63, 36,127, 10,120,120,120,120,120,120,120, -120,158,179,233, 70,237, 97,190,134,140, 14,104, 76,168,240, 54,175,201,107,242,154,188, 38,175,201,107,242,154,255,115,154,245, -105,243,163, 19,255,159,140, 23,175,201,107,242,154,188, 38,175,201,107,242,154,255,123,154, 47, 21,124, 19, 33, 15, 15, 15, 15, - 15, 15, 15, 15,111,176,120,120,120,120,120,120,120,120,120,131,197,195,195,195,195,195,195,195,195, 27, 44, 30, 30, 30, 30, 30, - 30, 30, 30, 30,222, 96,241,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,188,236,152,151, 86,233,194,159, 10, - 30, 30, 30, 30, 30, 30, 30,222,139, 60,191,131,170,254,206,195,195,195,195,195,195,195,195,123, 17,222, 53,242,240,240,240,240, -240,240,240, 94,228,191,211, 53,242,240,240,240,240,240,240,240,240, 94,228, 25,225, 71, 17,242,240,240,240,240,240,240,240,240, -240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, 60, 71,248,149,198,121, 77, 94,147,215,228, 53,121, 77, - 94,147,215,252,159,131,239,131,197,195,195,195,195,195,195,195,195, 27, 44, 30, 30, 30, 30, 30, 30, 30, 30,222, 96,241,240,240, -240,240,240,240,240,240, 6,139,135,135,135,135,135,135,135,135,135, 55, 88, 60, 60, 60, 60, 60, 60, 60, 60,255, 53, 16,168,125, - 36,192,237, 6,232, 52,102, 52,193,109, 94,147,215,228, 53,121, 77, 94,147,215,228, 53,255,231, 52,235,211,190, 13,158,255, 23, -227,197,107,242,154,188, 38,175,201,107,242,154,188,230,255,158,230, 75, 5,223, 68,200,195,195,195,195,195,195,195,243,156, 17, -252,195,230,206,108,240, 88,252,103, 21,237,255, 54, 77, 30, 30,158,231, 64,231, 54,152, 46, 22, 9,199,233,104,227,178,139,241, -248,169, 75, 40,156, 77, 44,150, 74, 69,130,206,122,131,189, 50,127,110, 0, 0, 32, 0, 73, 68, 65, 84,233,155, 11, 55,241, 99, - 3, 37,137,167, 62,243,247,250, 51,210,171, 87,175,241, 0,230,113, 28,199,177, 44, 59,251,212,169, 83,219,158,199,179, 94, 46, -151,143, 0, 32, 3, 0,146, 36, 75,178,178,178,118, 91,242,143, 93,186,116, 17,148,151,151,167, 2,240,168,252,234, 94, 92, 92, - 92, 96,125,219,120, 26, 78, 76, 76, 12,231,227,227,131, 86,173, 90, 37,101,103,103,175, 1,176,129, 63, 43,255, 69, 6, 43,208, - 85,218,241, 21, 47,215,254, 71, 99, 31,207,174,239,134,243,240,240, 88,234,234,234, 58, 65,163,209,232, 0,112, 36, 73,114, 4, - 65,192,252, 2, 0,134, 97,242,146,146,146, 44, 13, 67, 62, 55,205,128,128,128,235, 36, 73,122,154,255, 7, 0,234,251,155,101, -217,140,196,196,196,176,250, 18, 41,151,203,251,144, 36, 57,163,190,253, 88,150, 93,154,157,157,125,172,174,125, 90,182,108, 25, -103,109,109,237, 78,146, 36, 81,219, 62, 28,247,159, 50,199,100, 50,113, 26,141, 38,231,206,157, 59,161, 13,205, 91,165, 82, 57, -155,227,184, 80, 0, 63,171, 84,170,195, 0,152,103,185, 86,148, 74,229, 16,142,227,230, 84,158,195, 69, 89, 89, 89,123, 26,242, -255,254,254,254,215, 69, 34,145, 39, 69, 81,196,211,121, 82,211,103,150,101, 57,131,193,144,145,156,156, 28,198,223,246, 47,158, - 78,109,208,177,169,175,226,203,201,111,117,195,103, 75,119, 78,142,104,105,202, 23,137, 69, 27,134, 68, 54,117,104,238,231,128, -175, 54, 94,158, 2,176, 13, 49, 88,132,151,151, 87,136,187,187,187,175, 86,171, 53, 95,139, 28, 69, 81, 79,236, 68,211, 52,157, -148,148,116,152,207, 1, 11, 11, 4,129,224,203, 63,255,252, 83,193,178, 44,250,245,235, 55, 31,192,243, 48, 88,132, 68, 34,177, -122,244,232, 17,140, 70, 35,233,227,227, 99,211,192, 50,202, 37, 54, 54, 22, 52, 77, 27, 58,117,234,228, 83,125,155, 88, 44,118, -185,116,233, 18, 0, 24,218,182,109,235,211,216, 4, 6, 7, 7, 91, 91, 91, 89, 77,165, 8,162, 39,195,113, 65, 0, 64, 17,196, - 93,134,227, 78,168,181,218,149,137,137,137,234,151, 61,239,163,163,163, 49,126,252,120,220,186,117,171,217,225,195,135,215,207, -158, 61,123,146, 74,165,234, 6, 32,143,191, 51,254, 97,131,213, 84,110,221,204,213,209,225,208,178,197, 11,112,180,247, 59,117, - 25, 44, 82,161, 80, 44,235,220,185,243,184,237,219,183, 91,239,219,183,207,218,215,215, 23, 34,145, 8, 20, 69,129,162, 40,144, - 36, 9,138,162, 48,104,208, 32,194, 82,115, 85, 93,243,228,201,147,214,129,129,129, 85,133, 44,199,113, 85, 38,171, 95,191,126, -245,106,146, 36,233, 25, 23, 23,231, 38,149, 74,171,254,159,101,217, 39, 94, 28,199, 85,189, 24,134, 65,231,206,157, 45, 75, 40, - 73,206, 72, 76, 76,124, 85,173, 86, 63,161, 97,254, 13,243,223,175,190,250, 42, 0, 28,171, 71, 75,121,241,252, 73, 55,130, 78, - 1, 76,133,224, 40, 39, 64,220, 4, 32, 37, 53,238, 95, 88, 88,136,110,221,186, 81,141,201, 95, 87, 87,215,209,103,206,156,241, -127,244,232,209,235, 95,127,253,117,193,229,203,151,215, 3,216,162, 82,169,210, 27,163,199,113,220,162,148,148,148, 0,142,227, -224,231,231,183, 16, 64,131, 12, 22, 69, 81,158,209,209,209,110, 98,177,184, 42,159,107,123,103, 24, 6, 52, 77, 35, 42, 42,202, -196,223,242,255,208,131,134,192,194,225,175,245,130,214, 72,194,104, 52,185, 42, 92,109,127,157, 50,186,139, 16,156, 1,219, 14, -198,193,104, 98,127,106,168,185,234,219,183,175,207,134, 13, 27, 4,137,137,137,130,224,224, 96, 48, 12, 83,245, 98, 89,182, 65, -247, 37, 79,149,193, 34, 72,146, 68,102,102, 38,108,108,108,236,187,118,237,154,197, 48,204,172,243,231,207,111,251,127,248,185, - 39, 34, 91, 4, 65,168, 85, 42,213,142, 23,125,204,109,218,180,233, 44, 21, 10,119, 46,152,247,169, 91, 80,139,150,164,179,171, - 51, 30, 60,200,128, 88,192, 69, 60, 72,186,215, 97,225,146,239, 63,108,211,166,205,240,248,248,248,243, 47, 91,126,123, 15,222, -188,158, 53,209, 19, 0, 96, 99, 12, 0,108, 66, 89, 89, 25,222,123,239, 61, 28, 56,112, 32,184, 99,199,142, 75, 25,134, 25,199, -223, 25,255,160,193,242, 83, 74, 61,108, 68,210,227, 27,127, 88, 67, 24,203,114, 28,235,185,161, 22,117,238,220,249,237,237,219, -183, 59, 18, 4,129,147, 31,189, 11, 7, 90, 7,229,151,223,192,209,197, 21,134, 25,227, 97,203,152,208,234, 84,124, 67,110,210, - 39, 52,147,146,146, 80, 88, 88, 8, 87, 87, 87,200,100, 50, 72, 36, 18,136, 68, 34,136,197, 98,203,158,222, 4, 1,169, 84,138, -232,232,104, 8, 4,130,170, 23, 69, 81, 53,126,118,119,119,183,248, 92,177, 44,187, 52, 40, 40,168,117,114,114,178, 93, 81, 81, - 17, 58,117,234, 84, 74, 16,196,205,106,198,163,245,205,155, 55,237, 44, 46,105,232, 20,148, 63,254, 1, 92,209, 30,192,225, 13, - 48,118,195,161, 67,147, 39, 10, 25,179, 41,100,152,198, 7,157,242,242,242,232,115,231,206, 33, 36, 36, 4, 59,119,238,116, 46, - 42, 42,250,242,231,159,127,158,179,106,213,170,217, 42,149,106,105, 35, 36,157, 0, 32, 41, 41, 9, 0, 28, 27,147, 38,177, 88, -140, 43, 87,174,128,227,184, 42, 83, 78,146, 36, 72,146,196,159,247, 93,160, 54,144,208,228,220,198,148,129, 62,240,245,245,253, - 91, 84,139,231,197, 16,217, 26,253,218,182,110,217,209,199,203, 27,103, 46, 93,131, 72, 44,116,152, 56,102, 0,108,109, 4, 88, -190,229, 47,246,113, 70,225,228, 11, 55, 45,142,148, 16, 10,133,162,117,239,222,189,189, 54,108,216, 32, 2,128,219,183,111, 67, -165, 82,193,205,205, 13, 82,169, 20, 66,161, 16, 20, 69, 65, 36, 18,241, 39,191, 1,132,134,134,182,104,209,162,133, 53,195, 48, -208,104, 52,248,225,135, 31,236,165, 82,169,253,128, 1, 3, 44,142,100,213,210,108, 23,164,215,235,181, 10,133, 66, 6,128, 37, - 73,178,252,233,200, 22, 0, 40, 20, 10,235, 26, 36, 77, 0,242,219,182,109,235, 1, 64, 12,224, 94,245,109, 6,131,161,182,109, -150, 30,115, 68,104,235,102,135, 23, 46,154,103,157,157,115, 15,246,118,217, 96,141,185, 88,191,126, 61,172,172,236, 48,127,254, - 44,193,254,176,182,242, 79, 62,157,121, 72, 32, 16, 68, 93,191,126,253,242,203,148,231,172,137,158,208, 38, 44,188,234,243,182, -232,213,208,219,135, 34,115,254,124,172, 90,181, 10, 1, 1, 1,237,239,222,189,203,223, 28,255,148,193,106,225,101,231,192,177, -220,241, 31, 55,172, 20,131, 86, 59, 38,197, 92,172,190,185,250, 80, 75, 2, 0,233,238,238, 62,113,199,142, 29,118,230,194, 46, -144, 96,224, 0, 26,175, 52,111, 14,153,189, 3,114, 76, 52, 56, 35, 13,177, 72, 84, 91,129, 88,175, 38, 73,146, 16, 10,133, 79, -188,196, 98, 49,170, 71, 59,234,208,172, 94,155, 3, 69, 81,136,142,142,134,209,104,196,208,161, 67,107, 52, 91,181, 80,163,102, -118,118,246, 49,165, 82,121,147,227,184, 87, 89,150, 5, 65, 16, 55,179,178,178,186,152,183,203,229,242, 62,109,218,180,153,193, -178,236,210,250, 52, 57,142, 3, 76, 5,224, 10,119,192,182, 83, 62, 74, 47,187,128,176,238, 9, 6, 62,184,125, 63, 27, 39,175, -167, 34,191,176, 28,109, 3,221,208,187,147, 31, 88,150,181, 56,157,213, 81, 40, 20, 1,193,193,193, 65, 70,163, 17,231,206,157, - 3,195, 48,104,213,170, 21,198,142, 29, 75,174, 94,189,122, 44,128,165, 13,213, 4, 16, 31, 27, 27,219, 51, 59, 59, 27, 0,110, - 89,176,255,237,154,140,240, 47,191,252, 2,157, 78,247,183,157, 29,187,124,141,207,222,240,193,216,143,182,225,155,228,221, 88, -183,110,221, 19,205,165, 13, 72,103, 67,225, 53,255,150, 81, 24, 59,108,240,235,160, 68,214, 72,122,144,129, 46, 29, 67,225,230, -230,134,155,137, 15,240, 56,179, 48,135, 32,240, 78,159,112,241, 82,173,214, 48,231,124, 60,182,212,167,169, 80, 40,154,108,218, -180, 73, 88,253, 59,145, 72, 84, 21, 5,175, 30, 13,127,186,201,144,207,163,154, 53, 67, 67, 67, 91,244,234,213,235,252,188,121, -243,108, 31, 63,126,140,139, 23, 47,194,199,199, 7, 90,173,182,166,251,166, 46,205,154,154,237,216,236,236,236,223, 26,147,206, -179,103,207,154, 0,120,214,180, 67, 93,219, 44, 57,246,150, 45, 91,202, 68, 2,193,174,175, 22,206,181,142,141, 61,140,240,136, - 40, 88,217,250,195, 68,103,160,160,176, 28, 69,247,179,176,100,201, 74,204,153, 51, 19, 95, 47, 94,104, 59, 98,212,216,157, 29, - 59,118, 12,184,114,229,138,238,101,201,119, 82, 32,218, 16,127,253,210, 4, 0, 40, 77,220,139,143, 71,134,163,172,236, 62, 62, -252,112, 46, 50, 51, 51,113,239,222,189,216, 23,156,206,151,214, 96,113,248,123,167,209, 58,241,240,128,148, 49, 26, 15,173,255, -110,169,189,173,141,204,245,250,241,253, 72, 75,203,174,243,127, 52, 26,141,225,192,129, 3, 56, 62,105, 28, 2, 8, 19, 28,191, - 92, 14, 55,165, 18, 37,227, 6,161,220, 72,163,233,145,107,144,216,216, 64,108,109, 99,113,196, 65,163,209, 24, 78,159, 62,141, -132,132, 4, 8, 4, 2,216,216,216,192,218,218, 26, 18,137,164,202, 88,153, 31,192,150,106,114, 28, 7,129, 64,128,219,183,111, - 35, 45, 45, 13, 14, 14, 14,184,120,241, 34,122,246,236,249,132,185,162, 40,234,137, 62, 94,150, 98,110, 90,172,201,128,161,158, -166,193, 39, 16,186, 0, 78,111,163,236,138, 18,112, 28, 5, 35,103, 15,150, 99,113,227,126, 1, 62, 24,213, 31, 0, 48,113,206, - 15,232,217,193,183,170, 9,178, 33, 40,149,202, 15, 90,181,106,181,114,194,132, 9,164,181,181, 53,244,122, 61,244,122, 61,146, -146,146,224,236,236, 12,153, 76,214,168, 48, 1,199,113,143,148, 74, 37,164, 82, 41, 56,142,123,212, 24, 13,130, 32,176,107,215, -174, 26,183,189,179,242, 14, 4, 21,221,179,176, 97,195, 6,152, 76, 38,112, 28,199,135,176,254, 9, 56,120,184,203, 61, 65,114, - 70,100,229,228, 99, 80,191,222, 16,136,108,144,154,145,143, 54,205,253, 20,111, 13,140, 80, 80,132, 9, 95, 44,219, 49, 17, 96, -183, 88,112,191, 51,137,137,137,194,248,248,120, 80, 20, 5, 59, 59, 59,200,100, 50,136, 68, 34, 72, 36,146, 42, 99,197, 71,176, -234,166,119,239,222,147, 89,150,157,197,178,108, 81,187,118,237,148, 11, 22, 44,176,207,200,200,192,237,219,183,177, 99,199,142, -124,142,227, 76,149,157,221,231, 63,235,111, 89, 16,217, 2, 65, 16, 13,238,231, 20, 28, 28, 44, 50,209,197, 31,219, 91, 49,175, - 9, 72, 59, 31, 83,105,249,163, 82, 35,121, 32, 57, 35,107,117,101,244,171, 86, 36, 66,225,228, 85,203,103,185,187, 56,211,232, -211,231, 53, 60,124, 84,132,153, 51,135,162,180, 84,135,237,191,172, 0, 32, 6,109,162, 16,218, 62, 10, 10,133, 23, 34,195, 35, - 21,231, 46,156,155, 8, 96,197,203,114, 13, 60,222,247,254, 68, 0, 11,189,189,189,207,254,176,100,137,127,143, 30, 61, 0, 0, - 39, 79,158,196, 79, 35, 71, 98, 62, 48,218, 22, 80,125, 12,204,124,161, 79,140, 6,122,145,255,118,131,101, 62,160,134, 28, 24, - 33, 53,217,238, 94, 48,107,178,175,119, 19, 63,249,213,191,118, 33, 37, 37, 19, 57, 57, 69,117,157, 52,150, 32, 8,182, 73,147, - 38,176, 51,234, 96,207, 25,224,166, 80,194,214,201, 25, 69,198,202,200,149,181, 53,196,214, 54,150, 62, 28,171, 52,155, 55,111, -142,156,156, 28,136, 68, 34,216,216,216,192,214,214,182,202, 96,153,205,149,165, 15, 92,130, 32,192,178, 44, 4, 2, 1,110,222, -188,137,200,200, 72,120,121,121, 97,231,206,157,232,211,167,207,223,162, 88,141,105,122, 50,247,185,170, 30,185, 34, 73,114,134, - 37,157,219,159, 64,220, 20, 38,219, 55, 65,202,122,128,230,236,160,231, 20,149, 77,130, 28,254,186,150,131,228,180,252, 39,154, - 11, 45, 55,207, 30, 74,169, 84,186,109,230,204,153,221,195,194,194, 64,211, 52, 0, 64, 38,147, 65,175,215, 67, 40, 20,130,166, -105,104,181,218,204,127,226,194, 53,159,243,227,199,143,131, 32,136, 42,163,107,110, 42, 84,171,210, 49,118,202,118,136, 5,192, -205,155, 55, 17, 20, 20,196,151,168,255, 16, 86, 82,169,179, 88,106, 15,214,164,131, 64, 40,132,183,215, 43, 96, 25, 61,138, 74, - 53,120,231,205,129,136,187,117, 7,135, 79, 95, 53, 25,141,236,106, 75, 53, 3, 3, 3,145,155,155, 11,138,162, 96,107,107, 11, -107,107,107, 52,107,214, 12,233,233,233, 79, 68,177,120,106,135, 36,201,217,135, 15, 31,118,167, 40, 74,110, 50,153,144,158,158, -142,155, 55,111, 98,205,154, 53, 57,106,181,186,107, 92, 92, 92,114, 35,100,107,107,182,171,169,179,122, 99, 34, 91,213, 43,127, -254,118, 18,195,137,229,203, 38,121,182,106,211,142,144, 82, 54, 37,154, 7,185,145,215,174, 94,142,152,179,229,143,201,105,197, -154, 30,185,185,185,181, 86,222, 40,146,236,217,172, 69, 75,146,101, 51, 64,137,130,240,221,202,207, 80, 88,164, 70,121,153, 22, -128, 24, 6,163, 0,122, 61,129,110,221,123, 96,231,174, 3,104, 23,214,142,162, 72,178,247,203,100,176, 0,128,162,168,165,251, -247,239,247,151, 74,165, 88,188,120, 49,108,109,109,113,101,225, 66,252, 36, 18,193, 10,192, 6,154,158,129, 23,103,176, 26,227, - 69,254, 21, 17,172, 6,225,233,233,185,162, 99, 68,135, 87,155, 52,111, 39,189,122,116, 47,238,223, 75, 67,126,126, 9, 56, 64, - 91,215,201, 35, 8,130, 19, 10,133,112,251,226, 43,120,183,106, 5,205,248, 33, 40, 50,210,240,251,235, 10, 36, 54, 54,184,219, - 43, 20,156,193,128,206,137, 57,150, 26, 23,142, 32, 8, 14, 0, 92, 92, 92, 32, 18,137, 32,149, 74, 33,149, 74,171,250, 94, 85, -127, 89,106,134, 88,150, 69,105,105, 41, 30, 61,122,132,241,227,199, 67, 38,147,129, 32, 8,228,228,228,192,199,199, 7, 20, 69, - 33, 51, 51, 19,167, 78,157, 66,147, 38, 77, 32, 22,139, 27,116, 49, 84,235,212,222, 90,169, 84,158,229, 56,174,245,245,235,215, -237,194,194,194,208,160, 8, 22, 33,130, 30, 62, 96,224, 9,150,251, 79, 95, 43,163,233,201,202,155,217,100, 89,130,187,187,123, -112, 80, 80,208,229, 53,107, 86,219,186,185,185,131,101, 25, 24,141, 70,148,148,148, 66,163,209,192,219,219, 27,214,214,214,220, -242,229,203, 9,134, 97,254,177,161,188,102, 67,101,142, 32,154,251, 95,145, 36,137, 41,175,121,163,168,200, 22, 20, 85,241,217, -210, 99,231,121,254, 88, 91,219, 58, 9, 68,214, 96, 73, 1,236,237, 29, 33, 16, 91,131, 53, 9,192,176,128,173,189, 11, 46,197, - 37,225,242,173,178, 15,114, 11, 96,201,208,125, 78, 32, 16,112, 20, 69,193,205,205,173,202, 76, 9,133, 66,243,181,139,210,210, - 82, 80, 20, 85,245, 29, 79,221, 21,201,212,212, 84,168,213,106, 92,185,114, 5,187,118,237,202,123,218, 92,245,234,213,107,130, - 76, 38,155,163,211,233, 22, 31, 59,118,108,125, 93,154,141,104,182,107, 76,228, 43, 48, 52, 52, 84, 40,228,138, 14, 31,217,187, -210,211,142,137, 35,144,250, 62,144, 92,154,104,115,205, 45,188, 71,251, 1, 68,243,175, 62,241, 25, 52,119,229,145,220, 92, 4, -163,150, 17,207, 28,208, 82,106, 37, 5, 56, 2, 23, 47, 28,173,104, 22, 44, 44, 67,185, 90, 7, 61, 77, 65,111, 32,160,163, 9, -244,232, 25,133, 77, 91,126,135, 42,183, 8, 28,208,234,101,187, 14, 2, 2, 2,218,122,120,120,224,147, 79, 62,129,110,199, 14, -148, 3, 24, 0, 96,127,101,165,218, 22,152,198,223, 45, 47,208, 96,121,120,120, 76,110,221,186,245,123,155,127,222,110,179,108, -238, 23,165, 69,137,183, 40,131,150,182,214, 27,141,134, 7,170,130,213,245,152,161,138, 90,167,131, 35,100,118,246,208, 63, 21, -185,226, 12, 6,176,180, 1, 34,203, 31,142, 28, 65, 16,224, 56, 14, 86, 86, 86, 16,139,197, 53, 70,174, 26, 18,193, 2,128,226, -226, 98,236,218,181, 11,237,219,183,135, 76, 38, 3, 69, 81,104,221,186, 53, 18, 19, 19,225,231,231, 7, 0,216,191,127, 63,222, -120,227, 13,220,191,127, 31,193,193,193, 54, 49, 49, 49, 13, 50, 88, 12,195,224,248,241,227,118, 28,199,189,202,113, 28,242,242, - 26, 55, 26,150, 97, 24,168,213,106, 28, 63,126, 28, 89, 89, 89,144,203,229, 40, 41,177,133,157,146,173, 50,139,230,151,133, 15, -222, 47,222,125,247, 93, 91, 27, 27, 27, 48,140, 9, 66,161,176,202,184, 10,133, 34, 36, 37, 37, 97,228,200,145, 37,169,169,169, -159, 55,114,212, 15, 33, 16, 16,238, 37, 37, 69, 40, 43, 45, 6, 69,193, 11, 0,133, 70, 76,253, 64,146,100,213,187,249, 69, 16, - 4, 68, 66, 10,114,119,215,170,142,239,149,209, 59,190,137,240, 5,250, 42, 0,195, 1,188, 93, 84,102, 16, 20,150,105, 1,147, - 1,143, 82, 31,161, 88, 77,131, 51, 25,241, 56, 67, 5,181,158, 69, 65, 97, 25,218,180,237,179,230,244,233,211,179,105,154,158, - 5,224,144, 37,215,124, 76, 76, 12,206,157, 59,135, 11, 23, 46,192,220, 81, 26, 0,236,236,236, 16, 29, 29,141,110,221,186,241, -185, 80, 7, 52, 77, 47,238,221,187,247, 44,185, 92, 46, 93,177, 98,133,189,183,183, 55, 8,130, 40,125, 58,114, 21, 22, 22, 54, -123,198,140, 25,138,161, 67,135, 78, 1,176,190,145, 63, 87, 87,103,245, 58,203,168,154,166, 98,200,205,205,158,176,113,219, 88, - 87,107,225,163, 44,164,126, 87,105,190, 40, 64, 83, 10,156,222, 14,209,171, 95,165,142,234, 62,209, 45,171,108,245,187,153,217, -153,155,106,121,208,177, 73,201,105, 88,183,110, 21,230,204,153,136, 29,219, 87,129,229, 68, 40, 83, 27,225,174, 12,129,193,200, -130, 32,133,232, 20,222, 25, 23, 46, 93, 5, 24, 26, 83,198, 95,126,233,230, 90,187,119,239,222,181,180,180,180,160,185,115,231, - 98,171,135, 7,108,109,109, 49,117,222,188,203, 12,195,132,243,119,201,243, 49, 88, 22,135,228, 60, 60, 60, 6, 43, 20,138,101, -219,183,111,183,202,202,202,130, 50,160,133,221,159,127,236,210,187,217,136,180,170,194,162, 49,241, 89,234,122,135,219,147, 36, - 9,211,194,169, 40, 48, 25,224,251,231, 37, 72,108,108,144,220, 39, 12,156,193,128,240,216, 84, 72,108,108, 32,144, 90, 53,248, - 96,106,138, 88, 85,127,153, 11,227,250, 48, 24, 12, 14, 61,123,246, 68,143, 30, 61, 48,100,200,144,170,166,192,144,144, 16,252, -254,251,239, 24, 60,120, 48,226,227,227,161, 84, 42,209,172, 89, 51, 52,107,214, 12,167, 79,159,110, 88, 28,180, 50,130,213,167, - 79,159, 82,130, 32,110,114, 28,215,250,218,181,107,118, 13,213, 48, 27,168,227,199,143,163,127,255,254,240,243,243, 67, 92, 92, - 28,162,191, 90, 14,129,141, 11, 64,186,129, 99,185,170,200,150, 37,125,176, 68, 34, 81,100,147, 38, 77,144,157,157, 3,137, 68, - 2, 71, 71, 7, 88, 89, 89, 65, 34,145, 98,201,146, 37,236,166, 77,155,214, 18, 4,241,149, 74,165, 42,108,132, 57,111,234,226, -226,242,203,152,209,163, 58, 56, 59,187,192,221, 93,129, 25,211,103, 70,237,248,125,103,194,227,199,143, 71,100,101,101,221,178, - 84,139, 32, 8, 24, 12, 6, 80, 20,133,253,201,174, 80, 27, 8,148,102,196,226,227,215,124,170,204,150,185,169,215, 60,253, 5, -207,139,129,162,168,173, 83,167, 78,237, 58,108,216, 48, 66, 68, 26, 13,209,199,182, 9, 24,198, 68,124, 54,235, 71,230,204,249, -179, 36,195,152,136, 33, 35,167,177,135, 79,221, 34, 63,152,178,156, 9,233,216, 31,183,111,223,150, 15, 24, 48, 96,145,209,104, -180,200, 96,153,243,184,150,223,231,155, 8,235,225,228,201,147,107, 1,172,237,213,171, 87,182, 76, 38, 67,121,121,249,223,250, - 41, 6, 7, 7, 91,167,164,164,136,196, 98, 49,218,182,109,235,202,178,108, 50, 65, 16, 43,142, 31, 63,190,185, 33,191, 85, 75, -100,171,209,211, 52,216, 58, 49, 3, 91,181,107,102,155,100, 61,215,214, 74,168,187,241, 74,178,212,142, 0, 80,162,149, 63,188, -152, 49,162,156,204,165,218,180,234,222, 28,182, 66,217,107, 0,106, 52, 88, 4,112, 83, 93, 86,214, 91,163, 53,225,236,153,120, - 12, 29,234, 13, 29, 77, 66,171, 35, 65, 27, 57,144,148, 8, 4, 37,194,152,113,239,193, 96, 98, 81,172, 82,129, 0,226, 95,182, -235,128, 97,152, 25,131, 6, 13,106,183,120,241,226,224,169, 83,167, 2, 0,148, 74,101,167,217,179,103,223,249, 7,230,193,122, -105,154, 7,159,142, 96,213,121, 96, 93,186,116,217,108, 52, 26, 95, 47, 44, 44,116,124,239,189,247,232,252,252,124,236,219,183, - 15, 63,253,244,147, 70,109,164,174, 23, 23,152, 70,167,168,212, 25,150, 20,138, 36, 73, 66,100, 52,130, 51,253, 39,114,197,234, -245, 85,145, 44,161,149,172, 97, 57, 82, 25,193,170,201, 84,153, 35, 89, 13,121,216, 74, 36,146,226, 11, 23, 46,184,101,100,100, - 60,209,161,221,215,215, 23, 0,112,237,218, 53, 92,185,114, 5, 35, 70,140,128, 64, 32,128, 72, 36,194,205,155, 55,203, 26,146, -102,179,225, 49,143, 34,148,203,229,125, 58,116,232, 80,219,232,193,122,181, 30, 63,126, 12, 63, 63, 63,232,245,122, 56, 56, 56, -160, 64,245, 8,143, 31,165, 64,163, 79, 70, 19,185, 20,185,185,185,144, 72, 36,150,222,112,140,185,224,210,235,245, 80,169,178, -161, 84, 42,241,235,175,219,177,121,243,230, 17, 42,149,106,119, 99,174, 53,133, 66, 49,173, 95,191,126,139, 94,127,253,117,129, - 70, 93, 14,142,173, 48, 60, 34,177, 8,223,127,255,125,179, 83,167, 78,221, 88,179,102,205,215, 82,169,116,209,195,135, 15, 13, -245,229, 57, 0,108,221,186, 21, 0, 32,235, 56, 15, 51,134,189,130,183, 39,110,195,138, 21,123,159, 56, 86,138,162,176, 96,193, - 2,190, 68,125,129,116,236,216, 49,100,214,172, 89, 66,115,159, 56,165,247, 98, 19, 77,211, 44, 0, 4,181,126,245, 63,145,202, - 62,192,253,251,247,177, 98,197, 10,168,213,106, 8, 4, 2,145,209,104,180,232, 55,122,246,236,137, 62,125,250, 84, 53, 19,186, -184,184,128,166,105,152, 76, 38,222, 92, 53, 48,146,213,191,127,255, 89, 44,203,114, 44,203,206, 53,127, 31, 26, 26,106,229,230, -230,118,113,213,170, 85,206, 38,147, 9,211,166, 77,115,200,207,207,119,152, 52,105,210, 76, 0,155,107, 41, 39, 26, 50,187,186, - 69,211, 52,212,212,167,139, 32,136, 38,214,214,246,200, 67, 54,138, 93,140, 33,197,206,166,194,227,170, 15,110,122,165,183, 9, -178, 98,140,126,100,169, 1,246, 86,118, 0,203, 5,212,250,156, 99,217,227,137, 9,119,122,120,122,248, 81, 7,254, 60,131,254, - 3, 7, 67,103, 32,160,163, 73, 16,148, 16, 4, 37, 66,187, 14,225,240,245, 11, 4,203, 2,119,226, 99,105, 35,203, 30,121,153, -242,190,250, 60, 88,211,190, 63,137,217, 11,191,195,168, 33,125, 48,118,236,216,127,114, 30,172,151,182, 15, 86,109,230,234, 29, - 71, 71,199,145,227,198,141,179,186,118,237, 26, 22, 46, 92, 40,136,142,142,166, 99, 98, 98, 76, 12,195, 76,203,202,202,218,216, -144, 31, 37, 73, 18, 77,182,255, 5,165, 92,142,123, 81,237,158,136, 92,157,109,237, 9, 86,175, 71,175,148,146, 6, 31,140,185, - 41,203,108,172,204,230,170,142,169, 20,234,170,129,215, 56,239,213,135, 31,126,136,205,155, 55, 35, 60, 60, 28,254,254,254, 16, - 8, 4, 85,205, 82,141,137, 96,153,105,240,232,193,167,106,243,222,222,222,184,117,235, 22,236,237,237,241,203, 47,191,192,203, -211, 3,163,123,251,194, 96, 48,192,104, 52, 66,173, 86,155, 35, 88,245, 38,148,101,217,132,125,251,246,249, 13, 27, 54,140, 19, - 8, 4,132, 94,175, 7, 0,172, 94,189, 58,183,161, 51,174, 87,214,134,134, 72, 36,146, 45, 35, 70,140,176,109,214,172, 25,114, -114,114,112,245,234,101,204,156, 57,227,170, 80, 40,208, 69,245,237,215, 53, 56,184, 5, 38, 78,156, 72,134,132,132,204,153, 57, -115,230, 52, 79, 79,207,177, 25, 25, 25,187,234, 51, 89,191,255,254, 59, 0,224,221,239,239,194, 96,168, 40,152, 55,108,216, 0, -185, 92,254,196,190, 15, 30, 60,224, 71, 17,190, 64, 76, 38, 19, 71,146, 36,145,158,158, 78,203,100, 50,194,201,201, 73, 32,145, - 72,160,215,235,171,140,214,253,251,247,113,232,208, 33,100,100,100,192,201,201,137,180,183,183,135,201,100, 42,178,244,154,175, - 62, 90,208,108,168,120,115,213,112,206,158, 61,187, 22,192, 90,243,231, 30, 61,122,140, 39, 8, 98,186,209,104,180,219,188,121, -179,131,157,157, 29,113,232,208, 33,195, 15, 63,252, 80, 78, 81, 84, 17,128,229,117,149, 41,207,107,118,245, 58, 34, 95, 96, 76, -184, 87, 84,158,226, 35,180, 81,176,241, 58,226,210, 39,233, 51,130,138,200, 0,119,162, 69, 11,211,208,220,132,139,163,141, 15, -195,243,114,114, 9,134,227,106,157,196,169,168,164,100,253,150,159,119,126,188,111,207, 54,111,169,157, 12,163,222,158,140,227, - 39,206, 67, 44,145,225,234,245, 27, 48,208, 12, 82, 31,103, 98,196, 91,163,160,112,115, 6,165,201, 82,233, 13,134,141, 47, 83, -222, 63, 49, 15, 86, 88, 56, 46,238, 93,142,223,147,189,145,185,112,225, 63, 61, 15,214, 75, 23,193,170,145,246,237,219,219, 22, - 23, 23,127,255,233,167,159, 90,169,213,106,228,231,231,163,160,160, 0, 87,175, 94,141, 54, 26,141, 31,215, 53, 74, 3, 21,171, -109,223,126,186, 80,164, 40, 10, 78,174,110,144,216,216,130, 51, 24,170, 34, 87, 34,153, 53, 88,189, 30, 44,109, 0,106,111,206, -169, 81,147, 32,136,191, 69,173, 26, 96,174,158,208, 52, 71,196,106,154, 84,212,203,203, 11, 95,127,253,245,223,166,105,176, 36, -157, 64,197,104, 65,142,227, 90,155, 35, 79, 28,199,181,150,203,229,125, 44, 28, 57, 88,163, 38,203,178,232,210,165, 11,162,163, -163,113,235,214, 45,144, 36,137,190,125,251,130, 32, 8,216,219,219, 67, 32, 16, 84,153, 57,243,128,128,186, 52, 25,134,121,251, -167,159,126,250,236,200,145, 35, 95,124,244,209, 71, 86,175,190,250,170,185,159, 87, 30, 42,214,120,108, 80, 58, 89,150,157,127, -243,230, 77, 91,147,201,132,197,139, 23,227,250,245,235,234, 7, 15, 30,124,170, 82,169,182, 0,224,138,138,203, 70, 61,124,248, -104,221,151, 95,126,105,219,189,123,119, 92,187,118, 77,234,229,229,245, 37,128, 93,245, 29,251,213,171, 87, 65, 81, 20, 76,133, -105,152, 56, 99, 39,108,100, 66, 36, 37, 37,161,160,160,160,234, 90,171,163, 41,169, 70,205,103,132,215, 4, 16, 19, 19,243,199, -218,181,107, 63, 28, 51,102,140,136,227, 56, 38, 45, 45,205, 8,128,144,203,229, 84, 76, 76, 12,123,240,224, 65,104,181, 90,120, -122,122,146, 30, 30, 30, 68,116,116, 52,155,152,152,120,149,227,184, 89,150,166,179,186,185, 18, 10,133,208,106,181,150,154, 43, - 62,143,234,102,222,222,189,123, 21, 58,157, 14, 98,177, 24,187,119,239,166,183,109,219,118,167,180,180,180,115, 92, 92,156,182, - 49,154,141,152,166,161, 78,205,178, 34,242, 80,244,241, 59,173,141,221,126, 36, 62,202, 46,136,172,170,184, 18,132,203,110,247, -150, 46,210,246,109, 50,109,206,125, 75,150,115,154,131,181,105, 62,124,248,208, 96, 27, 18,242,198,212,207,230,158, 94, 56,127, -158,237,210,111,150,225,118,255,161, 40, 46,209, 64,111, 96, 64,155, 88,204,159,255, 21,220,156, 28,224, 40,162,203,139,181,196, - 27,137,137,137,244,203,148,239,207, 56, 15,214,255, 71, 58, 95, 42,234,117, 31, 26,141,102, 97, 96, 96,160, 56, 49, 49, 17, 15, - 30, 60, 64,114,114, 50, 24,134,185,159,153,153, 57,160,177, 63, 74,146, 36,236,237,237, 33, 22,139,209,233, 86, 38,196, 34, 17, -196,214, 21,203, 83,245, 74, 41, 1, 56, 14,164, 88,210, 96,205,167,231,188,122,150, 81, 68, 12,195, 84,205,208, 94,125, 61,195, -167, 71,171, 53, 52,114, 69,146,228,140,203,151, 47,219,165,165,165,129,227, 56,236,221,187,215,110,200,144, 33, 51, 26, 19,189, -226, 56, 14, 5, 5, 5, 96, 89, 22, 66,161, 16,221,187,119, 71,104,104, 40,202,203,203,193, 48, 76, 85,243,165, 72, 36,106,208, - 40,194,220,220, 92, 13,128, 5, 70,163,113,227,156, 57,115, 22,180,108,217,242,189, 79, 62,249,132, 68, 35, 7, 69, 16, 4, 97, - 50,153, 76,216,189,123, 55,246,236,217, 83,198,113, 92,160, 74,165,202,174, 22,189,219,126,229,202,149,232,193,131, 7,223,127, -248,240,161, 93, 73, 73, 9, 80,207, 28, 54,149,215, 38,252,253,253,193, 48, 12,150, 77,244, 68, 89, 89, 43, 48, 12, 3,147,201, - 4,153, 76,246,196, 18, 68,252, 44,238, 47,184,102,204,178, 51,103,207,158,125,244,235,175,191,158, 49,101,202,148, 14, 99,198, -140, 17,138, 68, 34, 54, 51, 51,211,180, 99,199, 14, 34, 32, 32,128, 20, 10,133,196,241,227,199,217,107,215,174, 93, 49,153, 76, -203, 0, 52,104, 41,146,234,230,138,239,115,245, 92,217, 53,108,216,176, 49, 67,135, 14,181, 10, 9, 9,145,252,244,211, 79,197, -106,181,186, 54,115,245,183,224,101,109,211, 52, 60,167, 9, 72, 1, 0, 42,149,106,227, 87,243,206, 77, 28,229, 63, 50,224, 61, -231, 87,112, 66,157,139, 34, 33, 69,218, 57,144, 8,241,161,160, 41,126,232,118,226,218,222,100,149, 74,181,181, 46,157, 27, 55, -110,196,145, 36,217,229,237,119,222,221, 55,110,204, 56,229, 23,159,124, 44, 60, 20,125, 26,140, 81,143,243, 39, 79,194,197,134, -100,104,117, 78, 86,137,145, 28, 20, 23, 23,247,210,245,191,170,156, 7,107, 34,128, 17,243,230,205,219, 49,113,226, 68,176, 44, -139, 51,103,206, 96,221,244,233,152,207, 48,163,109, 1,205,199, 21,251,240, 60, 47,131,213,174, 93,187, 87,212,106,245, 47, 6, -131, 33,132,101, 89,241,217,179,103,161,211,233,144,152,152,168,101, 89,246,143,103,248,205,180,190,125,251,146, 79,175, 23, 87, -139,201,177,180,115, 93, 90,207,158, 61,159,155, 38,203,178, 25,213,215, 48,171, 77,183,250,103,147,201,148, 97, 73, 66, 89,150, - 93,218,169, 83,167,191,125,215,200, 66, 44,165, 71,143, 30,244,211,166,171,166,191,171, 29,127,134,165,250,249,249,249, 57, 0, - 62, 96, 89,118,213,216,177, 99,231, 1,184,223, 72,131,181, 40, 56, 56,120, 78,197,159,196,194,172,172,172,236, 26, 76, 93,158, - 82,169,124,207,203,203,171,106, 1,232,250,142,189, 87,175, 94,116,125,139, 60, 87,143, 92,177, 44,155,193,223,242, 47,148,243, - 26,141,230,252,146, 37, 75, 58,175, 91,183,110,230,135, 31,126,216,126,248,240,225,130, 46, 93,186,224,240,225,195,204,153, 51, -103,174,106,181,218,165, 13, 53, 86, 4, 65,148, 63,125, 15,213, 81, 9,209,241,217,208, 48, 78,158, 60, 57, 53, 60, 60,124,222, -174, 93,187, 82,125,124,124, 36, 4, 65,152, 44, 52, 87,207,125,154,134,186,140, 28, 85,174, 27,184,125,228,135,135, 66, 62,122, -215,167, 79,120, 91,169,103, 83,133, 60, 41,173, 0,233, 55,163,181, 15,207,174,123,196,233, 10, 6,194,130,136,123,108,108,108, -188,159,159, 95,224,198,159, 54,191, 43,162,168, 94, 44,199,133,126, 62,105, 52, 72,130,136,163, 25, 38,186,180,172,108, 75,125, -125, 66,255,237, 72, 68,162,209,147, 38, 77,194,175,191,254,138,125,171, 86,161, 79, 70, 6,126, 23,137, 96, 37, 18, 97, 3, 77, - 79, 0,111,176, 26, 69,173, 78, 36, 48, 48,240,247,194,194,194,161,165,165,165, 38,147,201,196, 16, 4, 97, 34, 8, 66,203,178, -236, 87, 44,203,254,128,138, 78,104,245,193,135,226,121, 77, 94,147,215, 52,211,217,206,206,238, 19,150,101, 81, 94, 94,190,202, - 66, 99,197,159,207,127, 72,179, 91,183,110, 43, 73,146,236,192, 48,204,207,103,206,156,217,244, 44,154, 13,236,252,222,144,116, - 10,228,114,249, 56,206,209,102, 0,140, 2,127,142,166,146, 40,186,240, 80,101,228,138,229,243,221, 50,205,164,164, 36,206,201, -201, 9,133,133,133,216,211,172,217, 19,219,108,129, 13,181, 68,176, 94,104, 19, 33,199,113,237, 0,184,154,235,255, 0,146, 0, -180, 5, 96, 5, 64, 15,160, 28,128, 75,181,127, 41,168,220,102,222,126,142, 32, 8, 35, 94, 34, 90,242,154,188, 38,175,201,107, -242,154,188, 38,175,201,107, 62,163,193,234,143,138,192, 14, 55, 99,198,140,153, 28,199, 69,205,152, 49, 99,102,181,207, 85,219, - 43,118,231,250, 63,181,189, 29, 94, 50,248,139,143,215,228, 53,121, 77, 94,147,215,228, 53,121,205,231, 98,176,234,122,175,237, -239,106,239, 47, 20,162,142,147,116,251,255,249, 68,223,230, 53,121, 77, 94,147,215,228, 53,121, 77, 94,243,127, 78,179, 62,237, -219, 53, 25, 44,130, 32, 14,113, 28, 55,160,250,123,181,237, 3, 0,192,188,205,252,119,245,237, 4, 65,252,133,151, 8,222,221, -243,154,188, 38,175,201,107,242,154,188, 38,175,249, 76,252, 27, 35, 88,181,142, 34,228,118,239,166, 50,131, 97, 39,182,146,137, - 0,192,160,213,208, 30,137, 40, 37,134, 13, 99,192,195,195,195,195,195,195,195,243,130, 33, 8,226,208,140, 25, 51,102,253, 27, -210, 42,168,205, 92,229,135,201, 92, 4,250,162, 64,198, 68, 7, 1,128,128,228,238,230,135, 57, 38,115,187,119,231, 63,111,147, - 21, 21, 21, 53,139,227, 56,119,161, 80,248,151, 92, 46, 63,179,105,211, 38, 35,127, 25,189,120, 56,142,171,119,177,198,182,109, -219, 58,234,245,250,229, 44,203,118,175, 92,231,239,140, 72, 36,250,236,198,141, 27,133, 4, 65,212, 58, 36,218,219,219,123,135, -159,159, 95, 32, 87, 1, 0, 60, 49, 47,151,249, 59,243,246,199,143, 31,223,203,200,200,120,203,210,180,123,121,121,249, 74,165, -210,119, 8,130, 8,174,212, 73,212,233,116, 63,167,167,167, 63,250, 95,203, 71,133, 66, 97,197,113,220,235, 66,161,112,140,147, -147, 83,251,188,188,188,249, 89, 89, 89,223, 61,195, 51, 98,154,131,131,195, 8, 7, 7,135, 38,133,133,133, 15, 75, 75, 75,119, - 1, 88, 1,160,222,251,244,171, 73,202,142,175,246,235, 50,247,220,225,179, 11,191, 92,151,117,229,233,237,243,167, 41,156,187, -247,136,152,123,228,175, 75, 95, 45, 89,151,213,208,181, 45,201,202, 23, 80, 49, 98,204,220,193,245,191, 53, 95, 66, 0, 76,103, - 24, 70, 72,146,228,119,217,217,217, 23,254,219,175,165,102,205,154,125, 33, 22,139, 39,144, 36,249, 48, 39, 39,103,156, 74,165, -122, 94, 83,157,144, 62, 62, 62,182,105,105,105,101,176,108,242, 98, 30, 0, 29, 59,118,204,161,105,218,173,174,125, 68, 34, 81, -238,149, 43, 87,220, 95,194,195,207, 55, 55,253, 1,200, 5, 64, 85,126, 54, 84,190,231, 84,251, 46,167,150,237,255,188,193,202, - 12,134,157, 64, 95, 20, 88,144,115,103,120,158,234,198,155, 0,224,170, 8,217,229,236,222,124,103,102,176,152,150, 55, 27,108, - 35,148, 9,214, 83,148, 48, 68,103,208,187, 8, 5,194,124,218,100,188, 65, 26,184,137,217, 73,251, 30, 91,242,195, 3, 6, 12, - 8, 4, 96, 31, 26, 26, 26,115,254,252,249,246,223,125,247,157, 98,207,158, 61,173, 99, 99, 99, 71, 14, 28, 56,240, 79,142,227, -142, 29, 58,116, 72,219,160,163,233,210, 69,224, 86,236, 52,154, 18, 8, 6, 2,104,205,113, 0, 8,234, 38,107,164,255,202,117, - 44,248, 25, 21,115,180, 52,238,194, 14,117, 10, 36, 88,250,115, 33,197,117, 54, 50,196,121,142, 20, 45,191, 18, 87,152,108,185, - 1, 80,244, 20, 11,136, 31, 1,192, 96,226,222, 75, 79, 87,157,120,150,253,106,121,128,247, 2,176,157, 32, 8, 33,128, 13, 12, -195,236,207,201,201,137,135, 5,147,118, 90, 66,243,230,205, 93, 9,130,184,185,114,229, 74,231, 14, 29, 58, 80, 44,203,226,212, -169, 83,111,205,153, 51,167, 79,139, 22, 45, 90, 86, 94,244, 53,226,231,231, 23,120,242,228,201, 54, 71,143, 30, 69,120,120, 56, - 88,150, 5,203,178,112,112,112,192,193,131, 7,209,161, 67,135,170,239,220,221,221,209,165, 75, 23,100,100, 88,246, 44,111,210, -164,201,235, 45, 90,182,153,242,233,231,211,221,221,156, 93,108, 77,140,137,206,204, 84, 41, 87,125,183,172,163, 80, 40, 92,159, -146,146,178,191, 49, 21, 37, 79, 79,207,225, 66,161,112, 0,128,224,202,239, 18,141, 70,227,161,140,140,140,157,150, 22,228,173, - 91,183, 62, 71,146,228, 43, 13,249, 97,134, 97, 30,223,186,117, 43,178, 49,121,164, 84, 42,135, 41,149,202,159, 58,118,236, 40, - 11, 9, 9,129, 72, 36,194, 55,223,124, 51,205, 2,131, 37, 0, 48, 77, 38,147, 13,183,182,182,246, 43, 47, 47,127,160,213,106, -247,136,197,226,158,223,127,255,189, 87, 68, 68,132,109, 78, 78, 14, 65, 81,148,251,159,127,254, 57,122,205,154, 53,125, 76, 38, - 83,143,250,174,173,162,135,236, 92,137, 48,168,115,209,131,211,115, 1,244,125,122,187, 73, 39, 29, 67, 9,189, 6, 80, 92, 92, -122,165,105,179,184,128,246,244,244,252,222,221,221,125,172, 86,171,213, 17, 4,193, 85,190,204,181, 92, 0,128,193, 96, 40, 74, - 78, 78,110, 86,151,208, 43, 29, 29,175, 83, 36, 85,235,220, 77, 12,203,100,164, 94, 41, 10,123, 14, 21,166,190,165,130, 0, 0, - 32, 0, 73, 68, 65, 84,152, 79,226,227,227,135, 10, 4, 2,162, 77,155, 54,214, 0,250, 88,106, 46, 20, 10, 69, 32, 65, 16,179, - 57,142,139, 81,169, 84,235, 1, 48, 74,165,178, 27,199,113, 95, 84, 30,239, 55, 89, 89, 89,167, 43,175,129,245,254,254,254,175, -221,191,127,127, 67, 86, 86,214,162,198,166,215,223,223,127,226,228,201,147,231, 77,152, 48,193,170,160,160,192,167,119,239,222, -191,169, 84,170,206,207,114, 14, 66, 67, 67,133,217,217,217,211, 92, 93, 93, 63,106,215,174,157,226,206,157, 59,217,105,105,105, -171,229,114,249,138,184,184,184,122, 13,123,171, 86,173,148, 2,129, 96, 44,128,209,149, 5,232,239, 0,126,190,113,227,198,195, -255, 5,131, 69,211,180,219,137, 69,115, 65, 80, 20,164,157,123,130,101, 89,228, 47,159, 7, 83, 97, 62, 92, 22,173,134,201,100, - 66,207,158, 61,221, 94,210,200,213,181,127, 91,154,107, 52, 88, 98, 43,153,136, 49,209, 65,121,170, 27,111,182,143, 90,109, 15, - 0,215,142, 78,121,211,217,163,197,109,177, 64,150, 44,177,147,238,125, 99, 96,207,144,161, 3,186, 16,158, 10, 55,100,168,114, -221,183,252,126, 44,234,208,177,211,123, 81, 49, 47, 69,189,148,150,150, 46,246,241,241,113, 61,121,242,100,170, 88, 44,182,146, - 74,165,196,176, 97,195,172, 70,142, 28,217,252,212,169, 83,126, 71,143, 30, 29,250,218,107,175, 29, 21,137, 68,127,253,241,199, - 31,245,174, 79,230,214,242,245,230,100,153,228,143, 65,175,247,125,165,127, 47, 55,177,143,220, 21, 44, 43, 69, 82, 10,237, 29, -125, 62, 46,234,240,209,227,159, 51,193,175, 15,203, 75,220,127,203,210,147,211,162,133,157,131, 21,201, 77,181, 18,115, 35,186, -134,251,251, 14,236, 27, 78, 52,105,218, 4,201,137,201,126,167,207,198,140,149, 80,119, 30,105, 13,196,239, 90,150, 88,153,144, - 80, 90, 92,151,150, 88, 64,108,189,153,112, 95,201, 48, 12,190, 89,246,117, 52,203,145, 85,179,171,155, 95,230, 89,200,191,253, -246, 91,232,245,122,180, 11,105,177, 21,255,153, 55,198, 18,126,187,115,231,142,179, 70,163,193,209,163, 71,103,170, 84,170,153, -199,142, 29, 83,165,167,167,127,174, 82,169,126,127, 14,181,251,181, 27, 54,108,112,110,223,190, 61, 69,211, 21,243,155, 70, 68, - 68, 80,179,102,205,114, 90,178,100,201, 42, 0, 35,234, 40, 92,184,163, 71,143,226,151, 95,126,201, 95,182,108, 89, 6, 0,184, -184,184,120,188,245,214, 91,174,219,183,111,207, 91,185,114,101, 6,199,113,112,118,118,246, 28, 62,124,184, 43,199, 89,150, 84, - 79, 79,207, 38, 45, 91,135, 76,249,121,235,214, 14, 37,133,133,186, 31, 87,110,136,211, 11, 36, 26,159,224, 64,209,220,121,139, -236,191,250,114,230, 7, 52, 77,223,206,200,200, 72,177,244, 32,229,114,185,183, 68, 34,217, 59,107,214,172,150,145,145,145, 66, - 55, 55, 55,228,228,228, 32, 41, 41,169,229,197,139, 23, 95,223,191,127,255, 52,189, 94,255, 70,118,118,118,189,149, 9,142,227, - 2, 14,124,243,181,155,196,217, 5,172,209, 8,199, 86, 33, 85,219,178, 78, 29, 3,107, 52,130, 53, 26,225,213,255,245,170, 72, - 94,183,110,221, 26, 53, 37,185,135,135,135, 50, 32, 32,224,215, 25, 51,102,136,244,122, 61,110,220,184,129,203,151, 47,179,185, -185,185,245, 77,100, 43, 32, 8,226,248,188,121,243, 60, 35, 35, 35,109,243,243,243,193, 48,140,203,254,253,251, 39,134,134,134, -218,121,122,122,138,183,109,219,102, 94, 33,192,201,207,207,207,105,228,200,145,134, 95,126,249,101, 26,128,101,181, 69,174,138, - 31,176,115, 85,148, 95, 84,179,176,119,144, 45, 56, 22,245,105,111, 28,113,240, 35,171, 34, 89, 81,126,126,182, 37,153, 86,211, -109,236, 90, 58,149,100, 70, 79,143,242,243,219,124,244,225, 67, 75, 22, 77, 39, 61, 60, 60,190,239,215,175,223, 91, 27, 54,108, -144, 37, 38, 38,202,130,131,131,193,178, 44, 76, 38, 19, 24,134, 49,175,187,137,234, 19, 6,215, 6, 69, 82,158, 23,247, 38,184, - 89, 89, 89, 85,221,135,230,119,181, 90,141, 62, 99, 58, 62,151,135, 45,203,178, 98,243,117,109, 50,153,164, 0,132, 0, 44,157, -192,114,193,165, 75,151,134, 29, 57,114,100,212,162, 69,139, 2, 84, 42,213,100,150,101,231, 38, 38, 38,118, 1,128,224,224, 96, - 49,128,211, 10,133, 98,220,135, 31,126, 56, 97,210,164, 73, 24, 51,102,204,220,172,172,172,197,141,189,239,197, 98,241,151, 31, -126,248,161,149,209,104,132,149,149, 21,104,154,110,250, 44,199, 31, 28, 28, 44, 42, 44, 44,220,179, 96,193,130, 1,131, 6, 13, - 50, 47,225, 37, 63,119,238,220,146,207, 62,251, 44, 60, 52, 52,116,112,109, 38, 43, 52, 52, 52, 4,192, 87,190,190,190,125,198, -140, 25, 67, 69, 68, 68,160,188,188, 28,199,143, 31,159,189,119,239,222,217,161,161,161,151, 0,204,141,139,139, 59,243,178,155, - 44,202,198, 22, 73,111,116,131, 95, 98, 1, 0, 32,123,125,197,210,144,118, 95,126,203,135,248,254, 13, 6,171, 62, 52, 26, 77, -232,204, 41,163, 65,146, 21,181, 68,255, 38,222, 88, 50,107, 60,113,224,208,177,208,122,194,155, 43, 25,134, 9,112,114,114,250, -188,160,160, 64,186,106,213, 42,105,102,102,102,208,158, 61,123,184,248,248,120,136, 68, 34,216,219,219,163,123,247,238,146,168, -168,168,166,151, 46, 93,242,222,187,119,239,160,126,253,250,253,124,248,240,225, 63,107,211,117,110, 57, 48,192,197,213,245,236, -183,139,222,119,106,217,196, 15, 6,163, 17, 25,185,153,224, 32,134,220,205, 26,163, 94,111, 35,138, 8, 19,249,175, 88,119,242, - 12, 65,190,246,106,110,194,193,132,250,142, 49, 50, 84,118,173, 91,167, 87,218,190,214, 39,156,244, 15,110, 14,145, 68,246,159, - 90, 84,104, 40, 90,133,134, 18,227,199,151, 53,137,143,139,159,115,244,228,213, 89,246, 34, 83,236,133, 56, 77,251,218, 75, 90, - 72,204,107,167,189, 49,228, 77, 4, 6, 6, 62,241, 48, 55,255,157,154,154, 10,130, 32,144,159,159, 15,150,131,184, 17,121,131, - 43, 87,174,160, 77,155, 54,232,221,187, 55, 70,140, 24,161,216,191,127,255,111,107,215,174,237,146,153,153, 57,254, 89, 46, 22, -134, 97, 34, 66, 67, 67, 41,154,166, 65, 81, 20, 10, 10, 10,144,146,146, 2, 63, 63, 63,138, 97,152,174,245, 24, 13,132,135,135, - 99,217,178,101, 25,231,206,157, 11, 5,128,206,157, 59,199,117,232,208,193,117,229,202,149, 25, 23, 46, 92,104, 11, 0,225,225, -225,177, 97, 97, 97,174,150,166, 73, 38,147,189,251,201,167,159,185,150, 20, 22,105,141,101,101,180, 13,203,152,236,164, 66,162, - 52,175,160,248, 81,186,157,230,221, 9, 83, 4, 95,206,152,250, 46, 0,139,218,236,229,114,185,119, 80, 80,208,181,205,155, 55, -187, 57, 59, 59,163,184,184, 24, 5, 5, 5,184,118,237, 26, 88,150, 69, 84, 84,148, 36,180,117,235,208, 21, 43, 87, 94, 6,208, -201, 18,147, 37,113,118,193,158, 46, 21,183,198,176,135, 5, 85, 17,150,163, 35, 6, 86,237, 51, 50,173, 98,113,115,169, 84,218, -232,101,125, 56,142,235, 20, 17, 17, 33, 2,128,105,211,166,149,170,213,234, 37, 4, 65,252,166, 82,169, 50,235,249,215,105,115, -230,204,241,104,210,164,137,207,111,191,253,134,242,242,114, 0,112,107,210,164, 9, 2, 2, 2,152,179,103,207, 34, 48, 48, 16, -182,182,182, 56,123,246, 44,174, 92,185,130,144,144, 16, 91,145, 72,244, 38, 77,211, 53, 26,172, 87,251,117,153, 43, 17, 6,117, -110, 22,246, 14,108,236, 20,216,188, 99, 39,146,174,255,220, 89,111,188, 59,119, 38,206,190, 77,113,146,119,114, 31, 91,207,240, - 13,235,234,236,223, 98, 16, 94,105,123,195, 69,207,156, 75,153,211,171,201, 82,129, 84,183,109,254, 10, 85, 65,109,230, 74, 46, -151, 47,239,219,183,239,176, 13, 27, 54, 56, 0,192,173, 91,183,144,157,157, 13, 87, 87, 87, 72,165, 82, 8,133, 66, 8, 4,130, - 6, 45,149,101,101,101, 5,149, 74, 5,115,197,129, 97, 24,148,149,149, 85, 45, 26, 62,127, 62,200,249,243, 45,139, 54,201,229, -242,200,208,208,208,237,158,158,158, 94,213,191,215,235,245, 24, 63,126, 60,212,106, 53, 66, 66, 66, 34,220,221,221,245, 4, 65, -128,101, 89,228,228,228,148,223,186,117,171, 87, 86, 86,214,213, 90,106,239,218,236,236,108, 76,152, 48, 1,143, 31, 63,158,244, -235,175,191,166, 17, 4, 33, 21,139,197,230,237, 98,133, 66, 17, 24, 24, 24,248,253,251,239,191,143,212,212, 84, 36, 39, 39, 95, -123,150, 74,149, 68, 34, 81, 51, 12,227,102, 50,153,160,213,106, 17, 21, 21, 37,101, 89, 54, 71, 40, 20,222, 45, 46, 46, 30,149, -145,145,161,178,180,156, 81, 40, 20,114,181, 90,189, 97,202,148, 41,253,186,116,233,130,187,119,239,226,232,209,163,120,237,181, -215,208,181,107, 87,204,158, 61,187,255,220,185,115,167, 1,168,173, 50,240,199,158, 61,123,124, 61, 61, 61,171,150, 68,178,179, -179,195,187,239,190,139,209,163, 71,227,240,225,195,225, 95,127,253,245,158, 46, 93,186,184,157,125,134,150,138,127, 3,146,176, -112,248, 37, 22,224, 97,176,115, 69,235, 64,165,209, 50,127,134, 71, 40,239,108,254,155, 13,150, 65,171,161, 5, 36,119,215, 85, - 17,178,235,218,209, 41, 85, 77,132, 48,113,119, 13,180,134,174, 8,155,115, 40,213,152, 96, 37, 33,145,170, 42,195,237,135,249, - 53, 73,221,126,170,240,255,116,245,234,213,248,230,155,111,250,106,181,218,242,148,148, 20, 85,121,121,185,122,212,168, 81,132, - 80, 40,196,197,139, 23,241,232,209, 35,180,106,213, 10, 14, 14, 14,136,140,140, 20,245,238,221,219,107,220,184,113,111, 3,248, -179, 38, 77, 12, 29, 74,137,210,136,131,203, 23, 13,119, 34,168,100, 36, 63, 46, 70, 83,207,246,112,182,247, 66,102, 94, 57, 98, -239, 28, 70,242,131,191,208,212,211, 27,227,223,106,234,240,221, 15,121,135, 16, 58,190, 41,226,158,232,231,245,183, 33,161, 82, - 17,211,110,254,234,120, 48,234, 7,224,140,143,193,209,217,127, 47,220, 29,188, 16,212,198, 29, 50,177, 43,121, 43,241,187,118, -117, 29,187,222,196,125,177,120,225,130, 45,173, 67,218,162,164,164, 4,107,214,172,169, 50, 86, 28,199, 85,213,184, 59,118,236, - 8,163,209,136, 45, 91,182,192,200, 86,132,255,235, 74,231, 83,140,236,208,161,195, 78,142,227,196, 86, 86, 86,217,109,218,180, -241,153, 60,121,178, 96,248,240,225,208,106,181,239,111,222,188,249, 88,118,118,246,190, 6,106, 86, 52,163,188,242, 74,100,215, -174, 93,173, 40,138, 2, 77,211, 40, 41, 41, 65, 70, 70, 6, 82, 82, 82,224,226,226, 2,252,167, 47, 76,173,154, 79,175,133,200, -113, 28,103, 62,254,234, 70,204,124, 94, 44, 73, 39, 65, 16, 65,142, 14,142,214, 63,174,216,112,221, 85, 66, 17, 46, 94, 74, 66, -100,231, 32, 32,109,108, 37, 28, 69,105,125,188,148,182, 4, 65, 4,213,114, 88, 79,107, 18, 18,137,100,239,214,173, 91,221,132, - 66, 33, 24,134,129,171,171, 43, 82, 82, 82, 80, 92, 92,140,178,178, 50,164,220, 77,132,175,167, 39, 62, 30,255,158, 98,193,183, - 43,247, 2, 8,123,170, 16,251,251, 98,220, 70,227,211,105,174, 45, 4, 14, 11,211, 89, 91,132,228, 81, 86, 86, 22,100, 50, 25, -130,131,131,109, 98, 98, 98,206,103,101,101,101,214,167, 41,149, 74,223,140,136,136,176,221,177, 99, 7,218,182,109, 11,123,123, -123,156, 62,125, 26,183,110,221, 2, 77,211,100, 89, 89, 25,108,108,108,176,116,233, 82,120,123,123,163,164,164, 4,105,105,105, -206, 66,161,208,197,108, 72,158,214, 60,119,248,236,194,162,135,167,231,102, 83,199,162, 54,239,216,137,247, 71, 14,135,220,244, -240,188, 99, 83,114, 97,223,254,225, 95, 82, 66,175, 1,214,182, 45, 29, 3, 90, 14,130, 72,108,131,201, 95,124,133,228,219, 7, - 29, 53,101,183, 38, 49,198,116,175,249, 43,118,127, 92,195,177, 19, 0, 72,165, 82,249,222,198,141, 27,109,171, 28, 23, 73, 66, - 40, 20, 62, 97,172,204,139,177,215,114, 78,111,215, 80,121, 0, 77,211,160,105, 26, 44,203, 34, 47, 47, 15,101,101,101,112,116, -116,172,216, 97, 30,128,121, 32, 64,212,106, 88,110, 87, 75,207,168,157, 59,119,122,201,100,178,191,237,148,158,158,142,146,146, - 18, 88, 91, 91,195,193,193, 1, 70,163, 17, 38,147, 9,122,189,222,166,107,215,174, 19, 1, 92,173, 73,147,162,168,169, 19, 38, - 76,136, 56,116,232,144,223,162, 69,139, 64,211,244,242,188,188, 60,188,255,254,251, 96, 89, 22,145,145,145, 29, 57,142, 75,154, - 50,101, 74, 69,184,107,193, 2, 99,121,121,249,135,141,189,150,220,220,220,154,183,110,221,218,241,196,137, 19,136,140,140,132, - 94,175,199,196,137, 19,237,222,123,239, 61,187, 75,151, 46,185,174, 90,181,106, 91, 70, 70, 70,207,186, 52, 67, 67, 67,133, 57, - 57, 57,211,187,118,237, 58,173,103,207,158,246,249,249,249,144, 72, 36,216,181,107, 23,126,252,241,199, 35, 52, 77,207,217,179, -103,207,226, 77,155, 54, 69, 13, 26, 52, 8,155, 54,109,154,162, 82,169,190, 65, 69,179,233,211,154, 74, 47, 47, 47,220,188,121, - 19,142,142,142,112,113,113, 65, 73, 73, 9,174, 92,185,130,107,215,174, 33, 40, 40, 8, 4, 65, 56, 86,150,105,166,103,185,143, - 26,200, 11,215,172, 90, 99,181,218,181, 11, 0, 76,221,110,218,162, 89,241,149, 74,229, 32, 7, 7,135, 73, 28,199, 9,138,138, -138, 54,202,100,178, 63,234, 88, 38,136, 95,232,217, 66,131,101,206,151,174, 0,206,122, 36,162, 52, 63,204, 49,217,217,189,249, - 78,103,143, 22, 21, 39,209,196,221,165, 36,142,201,238,215, 53,165, 0, 64, 27, 57, 92,186, 91,132,155,247,115,112,243, 94, 54, -108,164,245,215,186,157,157,157, 17, 30, 30,142, 3, 7, 14, 32, 61, 61,221,102,233,210,165, 1, 52, 77,211, 3, 7, 14,204,122, -229,149, 87,138, 34, 35, 35, 33, 20, 10,113,245,234, 85,148,150,150,130,162, 40,136,197, 98,176, 44, 91,107,164,205,237, 30,243, -206,152,241,161,126, 46, 14, 36,254,188,120, 12, 29,131, 6, 67, 38, 17, 34,175, 72, 11,146, 32,240,224,209, 9, 48,140, 53,226, -239, 62, 70,167,150,214,232,220,193,222,179,252,100,225,248,124, 96,157, 37, 39,136,206, 60, 3,241, 43,111, 0,210, 22,224, 12, - 15,192, 26, 50,193, 9,221,160,214, 72,145,159,154,134,187, 87,254, 0,103,210,212,171,147,145,161,250,105,203,214,109,145,103, - 70,191,243, 14,203,178, 88,182,108,217,153,251,247,239,119,171,190,143,159,159,223,233,217,179,103,119, 45, 42, 42,194,177, 99, -199,126,174,111,161,210,167, 81,169, 84, 39, 0, 56, 85, 51,180,222,113,113,113, 59,126,253,245,215, 78,111,191,253, 54,118,239, -222,253,121, 13, 6,171, 78,166, 76,153, 34, 60,112,224, 64, 31, 43, 43,171, 53,115,231,206,181, 49, 24, 12, 80,169, 84,200,206, -206,174,138,182, 37, 36, 36, 48, 2,129,224, 82, 61,133,127,141,139, 77, 63,109,176,170,125,103,105,205,187,220, 96, 52,234,173, -189,148,198,129,131,250,180,186,117,237, 70,178,149,147, 19,217,170, 93, 72,243,187,247, 83, 99,137,138, 38, 24,139,154, 97, 60, - 61, 61,135,207,155, 55,175,149,157,157, 29, 88,150,133,189,189, 61,242,242,242,170, 12,165,161,172, 20,116,105, 9,110,166,165, - 32,178,107,119,244,238,212, 49,248, 47,163,113,120, 70, 70,198,239,117,233, 58,181, 14,173,138, 92,237,246,115,174,250,126, 68, -106,113,149, 1, 56,220,222, 31, 18, 27,107,180,252,100,102,163,111,230,236,236,236,184, 19, 39, 78, 28,142,138,138,234, 55,126, -252,120, 50, 59, 59,251,168,201,100,138,200,205,205,189, 83,215,255,217,216,216, 52,205,207,207, 71, 89, 89, 25,236,237,237,177, -106,213, 42,184,185,185, 65,163,209, 32, 38, 38,134,243,244,244, 36, 78,159, 62, 13, 15, 15, 15, 20, 20, 20,128,166,105,104, 52, -154,108,131,193, 80,107, 31,201,202,102,192,190,159,246,194,145,164,235, 63,119,246, 64, 74,204,208,207, 59,223,139,191,150,156, -126,234,228,197,133, 38,157, 52,189, 56, 35,122,122,147,118,241, 46,147, 62, 95,128,181,203,231, 33,233,234,217, 66,119,239,178, -117, 12,161,255,185,158, 40,173, 46, 49, 49,209, 54, 62, 62, 30, 36, 73,194,206,206, 14,214,214,214, 85, 11,155,155,205,149, 64, - 96,121,128,222, 92,193, 49,155,171,188,188, 60, 60, 72, 75,198,158, 83,219, 96, 52, 25, 93,182,118,176,203,246, 19,137,110,150, -180,200,159, 85,144,128,184,122, 10,192,141, 35, 70,140, 24,238,225,225, 97, 91,253,251, 54,109,218,224,173,183,222,194,209,163, - 71,113,253,250,245, 39, 42, 88,121,121,121, 42,134, 97,106, 61,238,244,244,244, 98,150,101,163,222,123,239,189,216,125,251,246, -217,125,251,237,183, 85, 93, 10,204,205,162,230,247, 29, 59,118, 32, 54, 54,118,110, 78, 78,206,221,198, 92, 71,238,238,238, 65, - 3, 6, 12, 56,183,110,221, 58,135,156,156, 28,228,231,231, 67,173, 86, 67, 40, 20,194,100, 50,193,223,223,159, 96, 24,198,183, -190,230, 64,154,166, 15,158, 58,117,170, 79, 64, 64, 0, 0,192,104, 52,226,226,197,139, 24, 63,126,124,129, 76, 38,123, 51, 45, - 45, 77,173, 80, 40,102, 31, 58,116, 40,170, 77,155, 54,104,213,170,149, 60, 55, 55,215, 54, 45,173, 50,156, 91,195,179,130, 97, -152,170,252,217,178,101, 75,213, 54,157,174, 98,201, 73,131,193, 64,132,133,133,249, 94,191,126,253,165, 29,220,146,246,235,102, -164,206,250, 8, 62,231,147, 0, 0,177,205, 43,186, 92,249,156, 77,172,216, 97,244,232, 6,233, 41, 20, 10,103,142,227,222,111, -222,188,249, 39, 81, 81, 81,174, 10,133, 2,206,206,206,184,117,235, 86,196,177, 99,199,214,232,245,250, 31, 24,134,249,193,146, -104,253,115,224, 9, 47,242, 50, 69,176,136,202,131, 35,136, 97,195, 24,110,247,238,252,204, 96, 49, 45, 22,200,146, 1,192, 64, -107,104,247,235,154, 82, 98,216, 48,198,181,197, 32,112,224,192,176,149,209, 6,142, 3, 99,225, 56, 16,221,221, 33, 96,139, 15, -194,205,113, 16, 54,109,218,135,220,220, 92,209,170, 85,171, 94,217,183,111,159,231,168, 81,163, 30,251,251,251,151,116,239,222, - 29,219,182,109,131, 92, 46,135,193, 96, 0,203,178,181,186, 55, 91, 39,102,104,135, 86,254, 84,114,218, 45,132, 5, 12,129,175, - 34, 18, 15, 50, 75, 80, 84,166, 71, 65,137, 22,129,129,159, 35,167, 80,131, 82,181, 14,183,146,126,131,167,162, 9, 73, 9, 31, - 68,193, 66,131,165,127,176, 29,250,148,157, 16, 41,186, 65,220,100, 56,132, 46,157,144,158,116, 6, 55, 78,172, 68,198,189, 11, -224, 88, 6,238, 94, 65,150, 54,225,204, 95,189,122,245,168, 37, 75,150, 8, 62,250,232,163,174, 75,151, 46,237,154,149,149,117, - 6, 0,148, 74,101,215,119,222,121,167,171,173,173, 45, 22, 47, 94,108,228, 56,110,254,179,102,110,118,118,246, 99,165, 82, 57, -233,196,137, 19,241,227,198,141, 67, 80, 80, 80,104,114,114, 50, 9, 11, 58,214,250,251,251,143, 23,139,197, 99, 77, 38, 83,192, -200,145, 35,201,247,223,127,223,198,205,205, 13,169,169,169,208,235,245, 32, 73, 18, 34,145, 8, 9, 9, 9,236,193,131, 7, 75, - 68, 34,209, 20, 11, 34, 44,112,113,113,241,136,140,140,140, 5, 0, 39, 39, 39, 79,150,101,225,236,236,236,217,169, 83,167, 88, - 0,112,116,116,244,168,201,136,213,106,128,105, 58,230,113, 90, 90, 96, 68,231, 8,197,185,235,119,226,222,120,125, 64, 55, 82, - 64,146,143,210, 84, 49,174,206, 78,214, 23, 47, 93, 40,165,105, 58,198, 18, 45,161, 80, 56, 32, 50, 50, 82, 80, 84, 84, 4,165, - 82,137,188,188, 60,100,102,102,194,104, 52, 66, 87, 82, 4,186,180, 20,116, 73, 49, 56, 77, 57, 30,198, 92, 69,176,151,135,228, -120, 69, 39,248,223,235,171,113,214, 20,161, 34, 8,162,234, 59,137,173, 13,172,108,109,171,154, 63, 26,240,112, 28,100,103,103, - 55,189,172,172,236,112, 86, 86,214, 34,131,193, 48,121,201,146, 37,237,190,250,234, 43,151,233,211,167,219, 77,159, 62,125,183, - 84, 42, 13, 73, 75, 75,211,215,234, 80,203,203, 31, 24,141, 70,103, 0,238, 39, 79,158,132,171,171, 43, 74, 75, 75, 97, 52, 26, -161,213,106, 13,142,142,142,210,130,130, 2,232,116, 58, 24, 12, 6,216,217,217, 33, 54, 54,182,208,100, 50,253, 89, 95,250, 28, -154,146, 11,245,198,187,115,157,154, 91,103, 50,156,115,151, 50, 45, 91, 52,127,133,106, 33,128, 21, 81,126,126,155, 13,236,217, -148,228,219, 7, 28, 83, 98, 78, 23,102,221,211,248,253,120, 56,165,172,158,135, 47, 75, 16, 4,215,172, 89, 51,228,229,229,129, -162, 40, 88, 91, 91,195,198,198, 6, 65, 65, 65, 72, 79, 79,111,180,193,170,110,174, 78, 92, 62,132,252,114, 21, 54, 47,223, 1, - 15,185, 23, 9,192, 53, 51, 59,189,215,184,105,195, 58, 60,182,123,180,228,209,197,226,165,117, 84,116,110,168, 84, 42,187, 39, -194, 47, 74,101, 55, 71, 71,199, 83, 52, 77, 35, 53, 53, 21,199,143, 31,239,154,153,153,217,160, 2, 36, 51, 51,243, 33,199,113, - 81,175,191,254,250,182, 86,173, 90, 53,229, 56, 14, 65, 65, 65, 24, 52,104, 16,246,236,217,131, 59,119,238,160,180,180,148, 61, -127,254,252, 86,149, 74,213,168, 14, 57,114,185,188, 89,191,126,253, 46,172, 93,187,214, 49, 63, 63, 31, 58,157, 14,229,229,229, -248,227,143, 63, 16, 17, 17, 1,169, 84,138,213,171, 87,151,154, 76,166,181,117,153, 43,142,227, 14,236,219,183,175,143,159,159, - 31,238,222,189,139,243,231,207,195,213,213, 21, 86, 86, 86, 24, 56,112,160,243,206,157, 59, 39, 7, 7, 7,175, 84,171,213, 11, -251,245,235, 7,134, 97,112,253,250,117, 85,229,168,194, 90,243,168,214,114, 69,167, 3,199,113, 48, 26,141,171, 72,146,124, 51, - 52, 52,180,119, 92, 92,220, 53,188, 36,120,120,120,180, 16, 10,133, 31, 3, 64, 94, 94, 30,138, 89,192,166,176, 98,208,109, 73, -229,227,178,176,176,176,234, 89,227,239,239,255,151, 86,171,157,149,153,153, 89,107,148, 73,169, 84,182,150,201,100,159,116,235, -214,109, 84,255,254,253, 41,154,166,113,232,208, 33,172, 93,187, 22, 81, 81, 81,240,247,247,199,231,159,127,110,175,215,235,103, - 28, 61,122,116,250,185,115,231,142,150,149,149,205,172, 75,243, 57, 81,229, 69, 94, 38,131,197, 85,186,198,138, 35,172,152,138, -161,168,178, 70,227,226,228,228,180,150, 97,152,110,129,129,129, 48,113, 57, 72,125,112, 15,101, 69, 44,140, 6, 61, 88,150, 3, -199, 90,118, 46,216,226,131,176,123,149, 67,233, 57, 2, 52, 77,195,205,205, 13, 75,151, 46, 69, 73, 73,137, 96,220,184,113,190, - 11, 22, 44,184,161,211,233,160, 86,171,161,213,106,161,213,106,235, 52, 88, 34,169,190,149,143,123, 0,202,180,237, 33, 19,139, - 81, 80,170, 71, 81,153, 30,249,197, 58,236, 61, 48, 18,122,173, 6, 38,131, 1, 12,109,130,141,251, 96,248, 59,117, 3,112,223, -162, 9,210,170,130, 40,172, 9,116,102, 52,232,204,104,200,218,204,198,129,213,111, 63,177,159,201,100, 89,147,127,118,118,246, -227,253,251,247,175, 31, 59,118,236,148,215, 95,127, 29, 63,252,240,195, 55, 89, 89, 89, 97,149, 81,132,111, 6, 15, 30,140,132, -132, 4,156, 59,119,110,195,243,170, 45,112, 28,231,236,228,228, 4,146, 36,161,209,104,244,245,153,171, 63,254,248,131, 88,176, - 96,193,209,129, 3, 7,118,154, 60,121,178, 76, 46,151,131,227, 56, 24, 12, 6,100,100,100,128, 36, 73, 20, 23, 23, 99,203,150, - 45,234,235,215,175,115, 98,177,248,146, 80, 40,252, 32, 33, 33, 33,171,190,190, 67,142,142,142, 24, 57,114,164,107,251,246,237, - 93,171,143, 24,124,243,205, 55, 93,195,194,194,170,190,243,244,244,180,248,248,116, 58,221,150,197, 11,231,118,251,117,251,174, -160,102, 65,254,142,135,143,159,142,115,118,182,179,242,245,245,147,148, 20, 23,235,215,174, 90, 46, 80,171,213, 63, 89, 40, 23, -236,226,226,130,236,236,108,220,191,127, 31,122,189,190,162, 9, 71, 83, 14, 67,113, 49,232,146, 34, 64,167,133,152, 97,160,207, -207,129,175,159, 47,240,159, 17,134,117, 63, 49,170,153,169,167,155, 4, 9,130,128,149,189, 29,196,214,214,160,132, 2,139,251, - 96,201,229,242,182, 33, 33, 33,187, 54,109,218, 36,154, 58,117,106,135,171, 87,175,174, 77, 75, 75, 75, 19, 8, 4, 61,150, 47, - 95,126,109,209,162, 69,146, 81,163, 70, 53,219,184,113,227, 24, 0, 27,235, 56,135,187, 14, 31, 62,252,150,183,183,183,251,237, -219,183,161,211,233,192,178, 44,250,246,237, 11, 0, 82,243,126, 73, 73, 73, 90,173, 86,155,147,144,144, 80,150,150,150, 70,195, -130, 81,127, 95,174,203,186,242,105,222,185, 55, 20, 10,229,101,177,196,167, 9,169,137, 29,252,233, 80,143,111,191,251, 35, 83, -119,244,225,195,178, 57,189,154, 44,213,148,221,158,228,232,169, 94,183,254, 80,138, 37, 29,220,171, 70, 11,186,184,184, 84, 53, - 9,138, 68, 34,115,244, 5, 37, 37, 37,245, 53, 17,214, 88,120,151,148,148,160,164,164, 4,247, 30,221, 69, 94,153, 10,209,191, - 95, 6,195, 48, 85,209, 17,165,187, 39, 78,252,126,205,182,235,208,118,179, 74, 91, 21,159, 46,188,133, 24, 75,175, 83,146, 36, - 63, 25, 50,100, 8,104,154,198,160, 65,131,176, 99,199,142, 79, 26, 83, 67,207,202,202,186,146,149,149, 21,112,255,254,125, 59, -163,209,248,218,192,129, 3,127,238,215,175, 31, 46, 95,190,140,147, 39, 79,118, 53, 24, 12,201, 12,195,104, 21, 10,197, 18,142, -227,220, 8,130, 88,162, 82,169,234, 28,237, 28, 16, 16, 48,202,214,214,118,177,149,149, 85, 89,211,166, 77,149,230,200,149, 90, -173,134,201,100, 66, 70, 70, 6,142, 28, 57,162, 58,124,248,176,138,227, 56, 89,121,121,249,188,244,244,244, 63,106,107, 22, 44, - 47, 47,223,127,240,224,193, 40, 63, 63, 63,156, 61,123, 22,203,150, 45, 67,211,166, 77,177,117,235, 86,132,135,135,195,215,215, - 23, 78, 78, 78, 31,151,150,150,118, 90,182,108, 89,191,208,208, 80,236,219,183, 15,185,185,185,107,234,122, 62,213,245,156,213, -106,181,224, 56, 14,221,187,119, 31, 63,117,234, 84, 12, 28, 56,240,120,219,182,109,219,199,198,198,222,251,183, 23,210, 10,133, - 98,105,247,238,221,167,183,110,221, 26,219,183,111,135, 62, 44, 18,214, 91,255,196,237, 1, 17,224, 0, 40,183, 30,168,104,175, -123,173, 98, 64,135,111,143,161,152, 62,125,122,191,193,131, 7,123, 3,104, 81,139,230,183,163, 70,141,154,246,246,219,111, 35, - 46, 46, 14, 27, 55,110,196,141, 27, 55,170,202, 60,163,209,136,196,196, 68, 36, 38, 38, 66,161, 80, 96,192,128, 1,196, 7, 31, -124,208,183,111,223,190,174,168,232, 22,241,255, 29,197,234,250, 50, 53, 17,214,234, 26,221,221,221, 93, 28, 29, 29, 19,214,174, - 93,235,220,161, 67, 7,202,100, 50,225,228,169, 83,248,236,163,113,136, 26, 48, 9, 58,189, 24, 38, 29, 1, 70,100, 99,217, 47, -218, 13, 64,233, 57, 2,172, 77, 63, 24, 12, 6,140,223, 33,130, 3,145,131, 85,239,184, 3, 0,161,213,106,161,215,235,161,213, -106,161, 86,171,161, 86,171,193, 48, 76,173, 79,201,178, 98,107,154, 54,178,200,204, 77, 67,134,234, 54,236,109,188,193,145, 94, -200, 41,212,128,128, 27,140,186, 36,176,149, 55,166, 94,155, 1,181,254,217, 76, 49, 83,150, 82, 67,100,198,242, 62,149, 12,195, - 44, 94,190,124,249,248,181,107,215, 74, 38, 77,154,212,118,209,162, 69,175, 1,192,251,239,191,223, 86, 42,149, 98,221,186,117, -122,134, 97, 22, 63,167,252,165, 72,146,252,228,213, 87, 95, 69,105,105, 41, 18, 18, 18, 14,213,247, 15,179,103,207,158, 56,100, -200,144, 78, 11, 22, 44,144,233,116, 58,104, 52, 21,205,159, 37, 37, 37, 80,171,213,200,201,201,193,180,105,211,138,104,154,158, -240,232,209,163, 61, 13, 48,122, 56,120,240, 32,126,253,245,215, 39, 70, 12,190,249,230,155,174, 59,118,236,200, 93,189,122,117, - 38,199,113,156,147,147,147,231,208,161, 67,221, 44,109, 33, 84,169, 84, 90, 0, 83, 22, 45, 94,244,219,183,203,151,187, 21, 22, - 20, 37,139,196, 86, 58,153,149,196,105,250,103, 11,185,156,156,156,105,185,185,185, 26, 75,211, 89, 84, 84,132,148,148, 20, 88, - 89, 89, 65, 36, 18,129,209,148,131, 85,171,161, 47, 42, 0,105,208, 67,194, 48,112,146, 73,224,229,238, 14,111, 55,203,250,226, -171, 78, 31,199,145,225, 3,158,104, 22, 36, 8, 2, 71,195,155, 65,108, 99, 13,169,141, 13, 34,247,159,175,168, 48,136, 68,192, -170, 77,150, 52,227,184, 40, 20,138,131,107,214,172, 17,229,231,231, 35, 33, 33, 33, 62, 45, 45,173,196,209,209,209,214,104, 52, -178,247,238,221, 59,145,148,148, 52,192,215,215, 23, 28,199,213, 55,250,107,197,222,189,123,123, 69, 68, 68,152,124,125,125,173, -243,242,242,188,139,138,138, 8,149,234,201, 62,204, 49, 49, 49,210,199,143, 31,107, 88,150,221, 87,105,174,234,189,240, 63, 29, -234, 33,189, 20,135, 41, 93, 92,124, 91,219,187,182, 70,190,241, 70,235, 43,241,217, 83, 62, 29,234,177,250,187, 63, 50,117, 12, -161,255,153, 49,166,123, 9,164,186,109, 13,105, 66,224, 56, 14, 49, 49, 49, 56,127,254, 60,206,159, 63,143,212,212,212,170, 29, -236,237,237, 17, 29, 29,141,110,221,186, 89,124,163,104, 52, 26, 40, 20, 10, 56, 56, 56, 96,223,153, 95,240,227,183, 59,170, 58, -186,155,201,207,207,135, 76, 38,195,226,207, 86,218,140,251, 98,232,194, 66,228,247,182, 68,219,211,211,179, 73, 68, 68, 68,127, -119,119,119, 20, 21, 21,193,213,213, 21,237,218,181, 27, 72,211,180,111,110,110,110,163,154,178, 12, 6,195,196,110,221,186, 45, -154, 54,109, 26,140, 70, 35,134, 15, 31,142,148,148,148, 93, 15, 31, 62, 92,229,227,227, 51,101,210,164, 73,238, 46, 46, 46,152, - 56,113,162, 53,128, 55,106,211,105,214,172,217,167, 95,124,241,197,215,163, 71,143,150, 24,141, 70,156, 60,121,178, 42, 74,109, - 50,153,144,150,150,134,121,243,230,169, 74, 75, 75,187,100,102,102, 62,176,160, 18, 57,109,255,254,253,125, 3, 3, 3,113,244, -232, 81, 76,152, 48,225, 47, 27, 27,155, 22,253,251,247,247,182,182,182, 70,124,124, 60,104,154,134, 66,161,112,159, 49, 99,198, -128, 62,125,250,224,196,137, 19, 88,184,112,225, 33,185, 92,190,226,233,107,238,105, 19, 44, 16, 8, 96,124,170, 79, 35, 69, 81, -184,113,227, 6,186,119,239,142,233,211,167, 3, 0, 78,156, 56, 97,215,187,119,239,219, 93,186,116,177, 59,123,246,172,254,223, - 92, 72, 91, 91, 91,143,221,186,117, 43,238,223,191,143, 11, 23, 46,160,160,160, 0, 6,131, 1, 37,108,197,205, 32,169,140, 92, -113, 30, 62, 8,159, 54, 11, 35, 6,188, 1,149, 74, 5,146, 36, 93,234,168,240,141,154, 53,107, 22,142, 28, 57,130,165, 75,151, -162,180,180,180,198,253,172,172,172,208,174, 93, 59,132,132,132, 32, 37, 37, 5, 0, 92, 94,192, 33,191,148, 17,172,218,162, 14, -171,214,175, 95,239, 28, 17, 17, 65,169,213,106,176, 44,139, 78, 29, 59, 98,204, 59, 99,112,108,223, 31, 80, 52,233, 6, 74,103, - 5,147,173,204, 50,131,225,245, 51, 10, 11, 11, 33,145, 72, 32,173,236, 80,122, 51,163, 42,188, 11,157, 78, 87,101,174,204,239, -117, 97, 50,136, 99, 19, 31, 50, 94,165,229, 55,112, 53,246, 87, 24, 13, 6,248, 6,204,132,222,228, 2,107,183,119,161,165, 15, -130, 46,174, 24,185, 43,182,235,138,156,156,124, 0,132, 69, 33,206,154, 10,121, 86,251,247,206,238, 44, 99,185,193,202,205,205, -205, 59,127,254,252,138, 27, 55,110,204,238,219,183, 47,126,252,241,199,165, 28,199,161, 95,191,126,136,137,137, 65,124,124,252, -138,220,220,220,188,231,145,183,114,185,124,203,186,117,235,250,185,187,187, 99,239,222,189,224, 56,174, 94, 67, 36, 22,139,223, -159, 50,101,138,204, 28,197, 16,139,197,208,106,181,200,206,206, 6, 77,211,216,183,111,159,222, 96, 48, 76, 77, 77, 77,221,211, -144,196,112, 28,199,181,111,223, 30, 43, 87,174,204,184,120,241, 98, 91, 0,232,212,169, 83,108, 88, 88,152,235,234,213,171, 51, -175, 94,189,218, 22, 0,218,183,111,127, 61, 36, 36,164, 65,243,184,168, 84,170,140, 27,215,175, 60,208,234,116, 66, 71,103, 39, -141,173,181,152, 43, 45, 43, 35,111,222,140, 83,229,230,230,166, 54, 64, 42, 49, 33, 33,161,101,102,102, 38,210,210,210,192,104, -202, 65,234,245, 32,244, 90,244,232,212, 17, 86,224, 32, 1, 11, 17,107,132,144, 18,160,172,172, 28, 0, 18,235,141,218, 86, 43, - 16,204,230,138, 32, 8, 72,109,108, 32,182,181,129,196,198,230,137,136,150, 37,230,210,202,202,234,183,141, 27, 55, 42, 20, 10, - 5,190,251,238, 59, 40, 20,138, 32,185, 92,174,177,181,181,181,114,113,113, 65, 96, 96, 32,194,194,194,112,250,244,105, 16, 4, - 81, 95,193,104,226, 56,174,247,133, 11, 23,166, 93,186,116,105,152, 82,169, 36, 70,143, 30,141,168,168, 40, 72, 36, 18,104,181, - 90, 20, 21, 21,225,175,191,254, 34, 88,150, 13,173, 52,120, 62, 18,137,100, 7, 65, 16, 25,169,169,169,111, 62, 45,184, 97, 81, - 43,101,153,150, 29, 71,170,173,222,232,210,199,183, 85,247, 62, 61,209, 36,160, 7,186,247, 73, 7,128,165, 46,194, 71,195,151, -205,114,216,231,104, 71,108,189,180,255,196,151,145,125,187,205,153, 79,159, 89, 56,127, 77, 81,189, 81, 44,130, 32,170, 10, 91, -146, 36,107,140, 82, 81, 20, 5,146, 36, 45,123, 38,177, 76, 70,212, 59,157,170, 62, 27, 77,180,139,135,220,139, 52, 71,174, 0, -160,180,180, 20,143, 31, 63,134,209,104,132,179,179, 51,140, 70,186,117, 3, 42, 85, 83,134, 15, 31, 78,232,116, 58, 76,155, 54, - 13,203,151, 47,199,160, 65,131,136,171, 87,175, 78, 1,240, 73, 67,111,108,165, 82,185,124,226,196,137,211,198,142, 29,139,226, -226, 98,156, 58,117, 10,221,186,117,195,250,245,235, 93, 79,157, 58,245,117,120,120, 56, 40,138, 66,116,116, 52,104,154, 78,170, -231,126,255,104,244,232,209,146,244,244,116,136, 68, 34,132,133,133, 33, 35, 35, 3,106,181, 26,185,185,185,248,234,171,175,178, - 75, 74, 74,186,102,101,101, 61,176, 32,105,164,159,159,223,199,254,254,254, 56,121,242, 36, 38, 78,156,120,196,218,218,250,141, -162,162,162, 15,244,122,253,234, 1, 3, 6, 32, 60, 60, 28, 73, 73, 73, 24, 56,112, 32,218,181,107,135, 83,167, 78, 97,250,244, -233,127,201,100,178, 33,245,204,131,117,239,204,153, 51, 45,195,194,194,160, 86,171, 81, 86, 86, 6,161, 80, 8, 7, 7, 7, 36, - 38, 38, 34, 32, 32, 0,211,167, 79,199,202,149, 43, 49,117,234, 84,182,119,239,222, 38,154,166, 69,230, 81,150,255,102,212,106, - 53,167, 82,169, 96,103,103,135,221,187,119,227,214,137,255, 99,239,187,195,163,168,254,175,207,204,236,206,150,236,166,144,190, - 73,168,161, 38, 1, 66, 66,232, 18, 66, 17, 69, 4, 81,145, 34, 69, 4, 20, 41, 74, 83,154, 18,106, 16,164,131, 52,165, 41, 32, - 4, 16,233, 69, 8, 29, 66, 42,164, 16, 90, 72,217,221, 52, 82, 73,182,206,206,188,127, 36, 27,147,144,178, 65,120,191,234,111, -206,243,236,179, 59,101,207,220, 50,229,204,185,247,126,238, 89,156,154,250, 41, 36, 11, 86,129,227, 56,164, 47,157,131,222, 95, - 47, 64,151,152,199, 80,171,213,216,179,103, 15, 72,146, 68,149, 1, 40, 47, 60,219, 10, 10, 10,208,161, 67, 7,220,185,115, 7, -123,246,236,193,218,181,107,203,221, 90,161, 80,136, 94,189,122,161, 95,191,126,120,240,224, 1,182,109,219, 6, 27, 27, 27,240, -120, 57,129, 69, 84,249,174,224,206,176,189, 3, 2, 2,168,231,207,159, 67,171,213, 34, 51, 51, 19,201,201,201,144, 74,165, 80, -102,165,162, 83,243,231,200, 32,244,136,139, 78, 50, 17,148, 48,186, 46, 27,222, 96, 48, 64,175,215, 35, 54, 54,182,116,232,123, -203,144,242,206,207,101,125, 62,160,213,106, 17, 22, 22,198, 73,165, 82,200,100, 50,162,182,182,119,150,209,157,190,116, 61,102, -192,168, 33,189, 69,231,195,126,130, 81,199,224,185,206, 14,197, 90, 61,138, 52, 66,232,197,253, 65, 16, 87, 65, 82, 98,116,235, -208, 28, 23,175, 61,208,154,140,134, 51,150,169, 2, 19, 40,251,246, 48,229,198, 86, 16, 88,149,223,176,104,177, 28, 38,166,126, -163,130, 37, 18,201,170,213,171, 87, 79,253,249,231,159,173, 63,251,236,179, 86,230,135,197,230,205,155,139, 36, 18,201,170,191, - 91,167, 10,133, 98, 84,211,166, 77, 23, 47, 92,184,208,189, 67,135, 14,136,140,140, 68, 72, 72,200,201,140,140,140, 99, 22,188, - 25,123, 56, 56, 56,224,249,243,231, 16,137, 68, 48,153, 76,200,202,202, 66,106,106, 42,196, 98, 49,194,195,195,245,141, 27, 55, - 62,242, 50, 9,179,164, 67,123,197, 17,149,245,129,148,102,253, 23,124, 61,177,133, 86,171,241, 46, 42, 42, 98, 4, 2,129, 64, - 44, 52, 61,169, 15,135, 7,243, 62,169, 0, 0, 32, 0, 73, 68, 65, 84,209,104, 60,113,245,234,213,247,122,244,232, 33, 78,138, -141,134,161,160, 0,198,194,124,208, 38, 6,246,254, 29, 64,234,181, 32,244, 70,184,123,113,208,228,203,112, 61,234,177,209,104, - 52,214,233, 10,154, 5, 22, 73, 81,149,251, 93,217, 88, 67, 36, 47, 21, 88, 21,215, 19,117,180,107, 57, 59, 59, 91,245,236,217, -179,143,159,159, 31, 56,142,195,170, 85,171,160,215,235, 69, 70,163, 17, 70,163, 17, 6,131, 1, 69, 69, 69, 56,124,248, 48,246, -238,221,123,221,214,214,118,151, 74,165,170, 43,153,140,187,187,251, 20,150,101,157, 25,134, 49, 56, 57, 57,209, 7, 15, 30,132, - 68, 34, 1, 73,146,232,208,161, 3, 36, 18,137, 78,161, 80, 24, 0,192,201,201,201,184,122,245,106,193,248,241,227,233,234,200, -124, 59,181,154,101,226, 28, 2, 69,226,198, 77,109,157,218,163, 89,203, 62, 0,128,126, 3,199,161, 89,139,134, 40,200,142,109, -166,215,165, 12,161,136,103, 13,126,185,169, 76,120,195,170,237, 39,207,210,195,146, 0,252,108,233,185,212,167, 79, 31,188,249, -230,155,229,205,129,206,206,206,208,235,245, 96, 24,198, 98,113, 5, 0,230, 32,162,193,193, 32,177, 16,216,213,217, 58, 3, 64, -185, 61, 89, 80, 80,128,180,180, 52,164,164,164,148,223,167, 88,206,178,183,107,133, 66, 33,109,214,172,217, 88, 31, 31, 31, 92, -188,120, 17,177,177,177,202,203,151, 47,187,119,234,212, 9, 30, 30, 30,159,112, 28, 55,175,204,133,181, 8,142,142,142,178,206, -157, 59, 79,253,228,147, 79,112,255,254,125,124,243,205, 55,207, 50, 50, 50,142,158, 56,113, 98,252,244,233,211,201,192,192, 64, -100,101,101, 97,235,214,173,166,240,240,240, 31, 26, 52,104,176, 56, 35, 35,163,182,114,124,162, 82,169,154,104,181, 90, 60,123, -246, 12,230,144, 12,103,206,156,193,217,179,103, 51,243,243,243,123,169,213,234,135,150,164,173,113,227,198,214,254,254,254, 46, - 73, 73, 73, 56,112,224, 0, 12, 6,195,130,148,148, 20,131,141,141,205,175,155, 55,111, 94,232,233,233,105,223,179,103, 79,116, -235,214, 13, 28,199,225,248,241,227, 8, 14, 14, 62, 41,149, 74,223, 79, 72, 72, 48,212, 65, 63,100,201,146, 37, 75, 28, 29, 29, - 63, 26, 57,114, 36,233,239,239,143,136,136, 8,152, 76, 38,244,233,211,167, 92, 92,157, 57,115,102,223,153, 51,103, 62, 4, 64, -203,229,114,201,191,221,189, 50, 67,171,213, 34, 41, 41, 9, 46, 46, 46,104,209,169, 43,190,185,151,140,171, 55,110,130,227, 56, -244,136, 75,198,243,231,197,216,181,107, 23, 34, 35, 35, 65, 81, 20, 60, 61, 61,235,228, 52, 24, 12,120,248,240, 33,178,179,179, - 49,120,240, 96,124,252,241,199, 88,185,114, 37, 12, 6, 3,230,207,159,143,220,220, 92,108,223,190, 29, 15, 31, 62,132, 64, 32, -128, 92, 46,255,255,145,213, 26,181,200,127,210,193, 2, 74,219,190, 89,150,133, 74,165,194,157, 59,119,144,156,156, 12,153, 76, - 6, 13,195,178, 27,111,197,176, 36, 33, 84,154, 56, 92,227, 24,124, 93,151, 18, 55, 26,141,132, 64, 32,192,141, 27, 55,240,232, -209, 35,216,180,224,202,221, 43,163,209, 8,157, 78,135,146,146, 18, 8,133,194,231, 55,111,222,124, 26, 17, 17,209, 76, 32, 16, -212, 56, 10, 44,171, 37,181,251,252,133, 63,103,249,119,240,110,213, 55, 48, 24, 39, 78,124,135,252,194, 66, 20,235, 4,120,174, - 49,160, 88,203,193,205,186, 57, 58,183,247, 67,246, 51, 61, 30,196, 69,166,231,208,246,117,182,193, 24, 77,100,193,190, 77,159, -217, 14,250,240, 11, 72, 92,123, 66,159,124, 16,172, 38,179, 92, 96,209, 18,107,216, 56, 54, 66,225,115, 13,174, 39, 60,129,209, - 68, 22, 88, 90,232,201,201,201,133, 58,157,110,217,245,235,215,191, 55,143,252,185,114,229, 10, 30, 63,126,188, 76,173, 86, 23, -214,167, 2, 21, 10, 69, 95, 0,251, 1, 72,156,157,157, 51, 3, 2, 2, 20,111,190,249,166, 36, 48, 48, 16, 20, 69, 33, 42, 42, - 10,159,125,246,217, 57,185, 92,254, 62, 44,136,137, 35, 18,137, 50, 11, 10, 10,108,197, 98, 49,140, 70, 35, 50, 50, 50,112,255, -254,125,104, 52, 26,100,102,102,130, 32, 8, 85, 88, 88,152,166,190, 39,154,121,132, 86,213,135,100,117,226,185,158,163, 8,225, -238,238, 30, 24,208,185, 83,219, 31,214,108,128,166,228, 57,194,111,158, 64, 94,110, 14,182,237, 56,210,206,221,221, 61,208,210, -206,196,233,233,233,191, 29, 57,114,100,166,175,143,143,159,103,195,134,184,155,146, 12,154, 53, 65,100, 50,129,210,107, 65,154, -116,240,104,203,129, 36,229,200,204, 40,194,150,115, 23,239,149, 69,117,175, 61,125,111, 15,194,136,148, 2, 16, 4,129,115,111, -120, 67, 34,151,131,150,203,208,237,112, 88,185,168,122,186, 98, 54,104,153, 28, 13, 2,234, 14,140,153,149,149, 85,114,253,250, -245,136,196,196,196,128,214,173, 91, 99,209,162, 69, 72, 75, 75, 3,199,113,200,202,202,210,102,103,103, 43,159, 61,123,246,148, - 32,136,163, 42,149,106, 7, 44,140, 22,206,178,172,243,241,227,199, 1,128, 6,128, 63,255,252, 19,110,110,110,176,181,181, 69, - 97, 97, 33, 70,143, 30, 45,254,246,219,111, 1, 0, 81, 81, 81, 66,137, 68, 82, 35, 87, 92,244,253,213,121,133, 92, 30, 89, 28, -249,126, 14, 19,221,174,119,255,116,244, 27,248, 9,206,159,216,133,139,103, 47,192, 81,152,252,196, 36,125,126, 58,251, 73, 78, -145,186,184,229, 86,239,142,227, 41,213,243,179,219,190, 24,148, 36,240, 80,176,135,230,110,169, 61,112, 47,199,113,160, 40,234, -133, 14,237,245, 21, 87, 21, 17, 28, 12, 22, 11, 65, 52, 19, 10,162,149, 25,105,253,221, 92, 60,202, 95, 46, 82, 83, 83,145,150, -150,134, 22, 45, 90, 32, 57,229, 49, 68, 34, 58,218,194,243,126,228,192,129, 3,173,245,122, 61,126,255,253,119,134, 32,136,129, -199,143, 31,143,240,245,245, 21, 4, 5, 5, 89,239,218,181,107, 36,128, 29,245,105, 49,146,203,229,180,209,104,196,238,221,187, -161, 84, 42, 3, 51, 51, 51, 19, 56,142,219,250,249,231,159,255,232,229,229,213, 34, 33, 33,225,129, 70,163,249, 66,173, 86,199, -214,214,228, 6, 0,249,249,249, 99,222,122,235,173, 67, 44,203, 54,238,222,189,187,108,196,136, 17, 54, 28,199,193,203,203, 11, -167, 78,157, 82,169,213,106,139,251, 48,165,164,164, 20, 93,189,122, 53,211,219,219,219, 69,161, 80,128,166,233, 21,174,174,174, - 75, 41,138,250,225,221,119,223,181, 63,120,240, 32, 66, 67, 67, 33,147,201,240,228,201, 19, 85, 98, 98,226, 58, 87, 87,215,245, -150, 68,112,143,138,138,122, 2, 96, 68, 64, 64, 64,240,218,181,107, 23,144, 36, 57,234,220,185,115,229,177,206,204,226,170,105, -211,166, 99, 66, 67, 67, 63,254,143, 25, 33, 70,189, 94, 15, 7, 7, 7,100,103,103, 35, 43, 43, 11,141, 26, 53, 66,215,174, 93, - 97, 52, 26,113,236,196, 73, 92,189,122, 21, 28,199,193,209,209, 17, 54, 54, 54,136,137,137, 1,128,218, 70, 15, 27, 13, 6, 3, -236,237,237,145,159,159,143,152,152, 24, 56, 59, 59, 99,198,140, 25,208,235,245, 56,120,240, 32,162,163,163, 65,146, 36,156,156, -156, 96,109,109,141,232,232,232,186, 56,121,212, 87, 96, 81, 20,117,233,210,165, 75, 31,182,111,223, 94,240,224,193, 3, 60,120, - 80,122,189,105, 52, 26, 70, 64, 33, 52,235,238,177, 17,181,252,189, 45, 42,196,202, 16,137, 68, 91, 62,252,240,195, 47,198,141, - 27,135,201,147, 39,131, 36, 73,252, 28,165, 67,106, 42, 11,131,193,128,204,204, 76,220,189,123,151, 11, 8, 8, 32, 88,150, 53, -244,234,213,107, 66,100,100,100, 39,138,162, 10,107,226, 68,104,168,137,105,251,238,224,205, 91,118,220, 24, 59,118,172,253,160, -193,155, 17, 21, 31,135,252,226,210, 86, 38, 55, 71, 25, 58,183,158,141,172,103, 58,156, 61,125, 34,143,101,180, 31, 32,238, 55, - 99,109,233, 4,128,236, 18,141,243,214, 61, 71, 86, 29, 56,124,116,194,196, 49, 35, 36,189,122,141,129,176,232, 46, 76,207, 34, -225,214,178, 59, 8,202, 10,183, 99,162, 16,251, 48, 77, 91,162,165,118, 20, 26, 52,179,235,226,172,228,165,147,228,198,237, 91, - 54, 44, 63,115, 62,140, 50, 24, 12, 24,240, 86, 31, 19, 73,146, 27,235,168,142, 23, 56,173,172,172, 14,196,196,196,216,235,116, - 58,164,167,167, 55,107,213,170, 21, 56,142, 67, 74, 74, 10,214,173, 91,199,156, 58,117,106,179, 68, 34,249,166,150, 55,196, 74, -156, 70,163,113,255,238,221,187,231, 78,153, 50, 69,146,149,149,133,196,196, 68, 20, 23, 23,195, 96, 48, 32, 50, 50, 82,107, 52, - 26, 15, 88,112, 94,189,144, 78,179,192,178,183,183,119,239,220,185,179,121, 20,161, 59,203,178,104,208,160,129, 71, 64, 64, 64, - 4, 0,216,218,218,214, 52,138,176,198,242, 84, 42,149,151,195,194,174, 98,247,142, 53, 48, 24,116, 80, 43, 75,157,134,156,103, - 5,168, 67, 92, 85,229,228,180, 90,237,251,107,215,173,187, 53,105,204, 40,215, 55,122,247, 65, 90,108, 12,244,185,217, 32, 77, - 12,132,156, 0, 37, 89, 82,100,102, 62,199,242, 83, 23,178, 52, 90,109,117,162,181,218,116,150, 55, 11,218, 88, 67, 44,151, 67, - 84,230, 90,153,183,137,228,214, 16,202,228,160,104,186,186, 38,175, 23, 56, 75, 74, 74, 62,152, 56,113, 98,236,169, 83,167, 26, -140, 24, 49, 2,131, 6, 13,138,202,207,207, 15,202,203,203, 43,178,240,218,127,129,147, 36,201,172, 1, 3, 6, 56,235,245,122, -102,216,176, 97,130,156,156, 28,152,135,216, 23, 21, 21,225,244,233,211,104,221,186,116,214,153,184,184, 56,120,123,123,215,200, - 57,225,155,123, 74, 0, 75,166,127,232,254,195,173,152,140,105, 0, 86, 52,107,225,129,139,103, 47,224,234,197, 27,115,186,180, -101, 55,188, 51,178,211, 98, 73,239,143,102,123,251,143,167,228, 54, 10,236, 57,114,152,138,143,252,105,153,182,248,158, 39,182, - 28,153, 93, 83, 58, 9,130, 0,199,113,149,196,149, 64, 32, 64, 73, 73,137,165,226,170,230,107,147, 0, 87,232,147,183, 96,236, -140,161, 93,255, 60,112,219, 90, 38,147,149,247,249,105,222,188, 57, 4, 66, 1,126, 62,186,177, 56, 63, 63,231, 91, 75, 56,101, - 50,217,148,160,160, 32, 60,126,252, 24,177,177,177,135,213,106,117, 44,199,113,135,159, 60,121, 50,172, 83,167, 78,248,237,183, -223,166,212, 34,176,170,229, 52, 71,172, 47,115,123,115, 1, 64,173, 86,199, 0,232,242,232,209,163,122,229,189, 44, 88,104,247, -178,114, 77, 27, 50,100,136, 13,195, 48, 40, 19,207, 14,245, 60,151, 88,181, 90,189, 62, 60, 60, 60,164, 67,135, 14, 24, 62,124, -120,191,136,136,136,126,190,190,190,240,244,244, 68, 94, 94, 30,194,194,194,126, 97, 89,246,115,181, 90,173, 5,192,213, 34, 0, -171,205,251,157, 59,119, 30, 2, 24,237,231,231,247,145, 64, 32,128,141,141, 13,165, 84, 42,169,115,231,206, 1,192,196,208,208, - 80,211, 75,213,251,203,227,181,115, 18, 4, 49,127,204,152, 49, 91, 63,251,236, 51, 73,167, 78,157, 80, 80, 80, 80, 46,250, 79, -157, 58,133,178,145,216,112,112,112,192,195,135, 15,113,244,232, 81,125, 65, 65,193, 58,154,166, 87,212,198, 57,122,244,232, 74, -156,102,241,118,226,196, 9,152, 7,145, 56, 56, 56,224,193,131, 7, 56,114,228,136,182,160,160, 96,141, 94,175, 95,249,154,243, -254,127, 75, 96,229,230,230,126, 57,119,238,220,160, 79, 63,253,212, 65,163,209, 80,142,142,142, 80,169, 84,204,217,179,103,115, -139,138,138,190,172,207,193,110,222,188, 57,249,157,119,222, 89,183,115,231,206,237,219,183,111, 15, 28, 62,124, 56, 70, 15, 24, -128, 47,186,202,160,211,233, 64, 16, 4,206,158, 61,123,255,210,165, 75,205,104,154,214, 5, 7, 7,179, 0,110,213,197,251,236, -222,241, 7, 84,219,247, 2, 55,108,252, 49,212,175, 99,151,198, 77,154, 54, 17,119,111,104, 11,131,209,132,204,172,103,184,124, - 35, 94,247, 32, 62, 38,141, 53,232,135,102, 39,212, 29,197, 29, 0, 18, 18, 96, 0,138,190,244,242,178, 94,180,114,203,190, 45, -123, 15, 29, 30, 50, 97,248,251, 2,255,118, 65, 72,206, 56,134, 43, 17,151,152,188, 34,238,104,145,158,154,148,144, 80,148, 87, -223,130, 87, 42,149, 90,137,144, 43,208,106,181,246,201,201,201,200, 84,171, 10,149, 74,149,246,101,154,221,116, 58, 29, 30, 63, -126,140, 11, 23, 46, 32, 42, 42, 10,215,175, 95, 55,156, 59,119,110, 39, 73,146,203,106, 9, 52, 89,253,149,221,182,237,247, 63, -253,244,211,135, 38,147,201,179, 87,175, 94, 18,123,123,123,228,228,228, 32, 60, 60, 92, 31, 29, 29,253,184,109,219,182, 43, 95, -246,100,115,117,117,197,208,161, 67,157,253,253,253,157,205, 35, 6, 27, 54,108,136, 15, 62,248,192,217,215,215,183,124, 93,163, - 70,141, 80,159, 80, 13,238,238,238,129,189,122,189,129,177,227,167, 67,163,121,142, 91, 55, 78, 32, 63, 55, 7, 55,239, 36, 65, -103, 64, 96,125,134,195,151,141,222,236,178,116,221,134, 35,111,117, 14,240,106,229,230, 42,118,104,218, 4, 50, 39, 87,228, 62, -123,134, 91, 49,143,140,155,206, 95,190,167,209,106,223,183,116,164, 39,203,178,229,163,220,188,167,205, 1, 73,146,229,179, 32, -152,183,219,116,236, 1, 82, 32,132,137, 3, 12, 6, 67,157,238,157, 90,173, 78, 39, 8,226,131,169, 83,167,254,185,123,247,110, -178, 87,175, 94, 29,254,248,227,143,191, 53,105,174, 82,169,244, 40,115, 69, 11,109,108,108, 4,159,124,242, 9,140, 70, 35, 74, - 74, 74, 80, 88, 88,136,103,207,158,233,190,250,234, 43, 49, 0,208, 52,109,124,235,173,183,234,188,127,172, 13, 85,106,167,127, -232,190,193, 81,152, 60,172, 32, 59,182,153,163, 48,249, 73,151,182,236,134,181,161, 74,173,179, 93,201, 82,101,118, 88,146,234, -249,217,109,123,142, 28,166,198, 12,249,192,164,144, 63,152,227,216, 16,135, 44,186,121, 85, 17, 88, 47,235, 92,189,112, 63,137, - 67, 84,186,236,113, 72,208,208, 78,243,150,206, 92, 45,119,116,114, 4,195, 48,120,146,250, 24, 59,143,108, 42, 46,210,229, 45, -203, 77, 64,132, 37, 92,205,154, 53,107, 74, 81, 20,142, 29, 59, 6, 0,230,208, 6,155, 78,159, 62, 61,108,228,200,145,104,212, -168,145, 55,203,178,226,218,194,104, 84,231,222, 25,141,198,122, 55,163,215,217, 54, 67, 16,143, 99, 98, 98,220,221,221,221,137, - 3, 7, 14, 60, 55, 24, 12,193, 47,113,141,175, 62,121,242,228, 27, 28,199,189,229,231,231,135,198,141, 27, 3, 0,226,227,227, -113,245,234,213,253, 74,165,114, 44, 94,205,228,206, 28, 65, 16, 40, 44, 44, 52,199, 53, 49,200,229,242,255,228,164,209, 42,149, -106, 47,195, 48,103,131,131,131,191,107,222,188,249,231, 19, 39, 78,164, 90,181,106,133,130,130, 2,216,216,216, 64,161, 80, 64, -169, 84, 98,239,222,189,166,172,172,172,157, 36, 73, 46, 82,171,213,170,151,229,108,208,160, 1, 20, 10, 5,210,211,211,205,156, -219,141, 70,227,226,156,156,156, 76,240,168,223, 53,101,201, 78,101, 97, 26,214,155, 76,166, 32,179,171,149,155,155,251,101,102, -105,143,241,151, 82,247,239,188,243, 78,243,156,156,156,237, 6,131, 33,112,208,160, 65, 24, 62,124, 56,222,125,247, 93, 12, 31, - 62,156, 50,187, 86,127,252,241, 71, 98,189,222, 24,202, 38,123, 38, 41,122, 32,199,113,237, 1, 16, 4, 73, 90, 50,217,115,157, - 74,188,131,151,181,167, 84,204,238,144,138,216, 30, 26, 61,121, 77,163, 35, 39, 68, 39, 20, 61,254, 59,111, 54,101, 19, 59,255, - 10, 0, 58, 35, 55, 42, 61, 93,125,190,190,229, 89,214, 68,120,128, 32, 8,138,227,184,141, 28,199, 29, 80, 40, 20,143, 45,177, -221,171,114,114, 28, 71, 2,165,193, 69, 47, 92,184,240, 29, 65, 16,163,116, 58,157,147, 88, 44,206,230, 56,238,151,190,125,251, - 46,222,176, 97,131,177,150, 27, 52, 91, 83, 58, 61, 60, 60,246,185,185,185,181, 44, 59, 78,165, 62, 87,230,111,243,250,178,120, - 68,143,148, 74,229, 72, 75,203,211,179,153,251, 89,207,166,238,111,122, 54,117, 3, 0, 60, 78, 86,225,113,178,242,220,227, 39, -202,254, 47, 89, 71,229,147, 61, 19,101,161, 24, 56,203, 38,123,174,196,233,237,237, 29, 65, 81,148, 71,125, 46, 74,150,101, 85, -113,113,113,126,150,164, 83,161, 80,140,104,216,176,225, 10,149, 74,117, 36, 61, 61,125,250,171,120,243, 86, 40, 20,221, 72,146, - 60,197,178,172,180,170,195,101, 22, 97, 53,116,114,175,145,243,251,121, 62,223,118, 15,124, 99,200,245,203, 87,143,126,179, 60, -110, 73,197,109,147,223,107, 48,110,228,228, 47, 87,238,219,188,254,235,205,191,231,237,172, 43,157,237,218,181, 11, 3,208,210, -236,102,213, 6,147,201,164,138,139,139,235,248, 50,174,131,125, 59, 4,216,201, 28,151,232, 13, 6, 95,146, 0, 39,164,233,152, -252,252,156,111,107, 16, 87,213,114,186,187,187,175,104,209,162,197,151,143, 30, 61,218,159,158,158,254,105,133, 50,254,161, 73, -147, 38,147,211,210,210, 54,165,167,167,207,182,180,142,154, 54,109,106,227,235,235,155,183,104,209, 34,114,225,194,133, 8, 15, - 15,183, 87, 42,149,121,175,162,222, 27, 53,106,228, 42,145, 72,246,176, 44,235,105, 50,153, 54, 63,121,242,100,245,203,112,122, -121,121,209,249,249,249, 95, 54,108,216,112,134,139,139,139, 75,102,102,102, 74,106,106,106, 72, 70, 70,198, 79,245, 16, 87,117, -214,145,159,159,159, 14, 40,157, 78,204,194,254, 86,255, 74, 7,171,202,249,228,201,178,236, 50, 95, 95,223, 15,199,141, 27, 71, - 36, 36, 36,224,252,249,243,120,250,244,233,209,178,254,124, 15, 94, 5,231,217,179,103,185,148,148,148, 67, 36, 73, 46, 80, 42, -149,143,255, 63,230,157, 71, 61, 79,148, 90,241,206, 59,239, 52,239,212,169, 83, 88,187,118,237,216,118,237,218, 21,189, 10,206, -215,145,206,191, 52,156,163,236, 85,115,190,142,116,190, 12, 39,199,113,228,223,249,252, 19,242,222,162, 69, 11, 14,150,207,191, -246,175,171,163,127, 43,231,150,165,237,220,110, 95,248,104,237,142,239,219,190, 48,121,121,240,212, 6,214,127, 30,123,127,101, -240,212, 6,214,255,209,242, 36, 95,242, 5,183,109,245, 47,102, 13,183,190,247,222,123,166,134, 13, 27,110,255,135,231,157,104, -220,184,177,152,191,142, 94, 61,167,139,139, 75, 71,133, 66,113, 92,161, 80, 28,119,119,119,239,244,138, 57,127,119,117,117,245, -251, 31,229,157,199,235, 56,249,222,125,247, 93,231,247,222,123,207,158,191,240,120, 78,158,147,231,228, 57,107,231, 84, 40, 20, - 82,190, 60,121,206,255, 32,231,127, 10,130,127, 74, 66,142, 31, 63,158,197, 87, 7, 15, 30, 60,120,212,141,250,132,118,224,193, -131,199,255, 6, 68, 45, 42,180, 62,109,171, 47,163,100,239,241,156, 60, 39,207,201,115,242,156, 60, 39,207,249,127,142,179, 46, -110,190,111,215,107, 18, 94, 60, 39,207,201,115,242,156, 60, 39,207,201,115,254,223,227,252, 79,129,228,139,128,199,235,198,134, -241,112,223, 48, 30,238,175,107,127, 30, 60,120,240,224,193,227,159, 6,193,127, 45, 67,254,254,254,222, 28,199,141, 36, 8,226, - 67, 0,224, 56, 46,148, 32,136,125,145,145,145, 22, 69,160,149, 72, 36, 25, 90,173,214,185,236,119,150, 86,171, 85, 84,216, 76, - 84,248, 0,165,163,213, 42,126,170, 69,211,166, 77, 51,116, 58,157, 37,243,235, 69, 19, 4, 17,197,178,108,164, 92, 46,191,246, -240,225,195, 36, 75,243,221,183,111,223,207,101, 50,217,183, 26,141,102,229,185,115,231,214,255,127, 40,234,206, 13,221, 92,119, - 25, 25, 3,155,145,149, 59, 31, 64,181,211,240,108, 30,135, 16,130,195,236,178,223,171, 38,239,196,220,218, 72,235,187,127, 45, -232, 40, 20, 10,167,184,184,184,188,157,158,158, 30, 1,224,107,240, 81,136,121,240,224,193,131,199, 63, 81, 96,117,241,179,111, - 69,176,134,217, 66,138,123,195,104, 34,174,114, 36,189,234, 86, 84,110,210,223, 73,128, 66,161,104, 72, 16, 68, 47,142,227,188, - 72,146,188,203,178,236, 57,181, 90,253,172, 62, 28,126,126,126, 13, 1, 12, 7, 48,162,115,231,206,109, 39, 77,154,132, 22, 45, - 90, 64,171,213, 34, 60, 60,124,206,175,191,254, 58,135,227,184,123, 40,157, 82,230, 64, 84, 84, 84, 90, 77, 92, 90,173,214,217, - 28,155,137, 32, 8,231, 15, 63,252, 48,188,194, 36,188,132,121,114, 89,142,227,110, 1,184, 73, 16,196,141,223,126,251, 45,189, -149,147,164, 75,147,134, 78,239,156,137, 76,157, 95,149, 83,167,211, 57, 71, 31, 63, 10,142, 49,225,185, 50, 21,205,223, 31, 94, -190,237,252,251,125,192, 21, 23, 66, 40,166,163,131,254,184, 17, 5, 32, 50, 53, 53, 53,170,113,227,198, 73,181,113, 86, 69,135, - 14, 29, 22, 7, 7, 7, 59, 14, 26, 52,104, 10,128, 26, 5, 86,125, 56,107,129,184, 75,199,246,151,142, 31, 62, 32, 1, 65,226, -189, 33, 31,238,191, 30,121,111, 52,128, 74, 19, 64,111, 30, 11, 23,130,192,236, 73, 95, 77,162, 0,224,199,117, 91,190, 94,251, - 49, 54, 76,255, 21, 25,110,110,110, 65, 28,199,125, 93, 86,206, 43, 85, 42,213,165,205, 99,225, 2,224,155, 73, 95, 77, 34, 0, - 96,203,186, 45,179, 55,143,197,250,201,187, 81,223, 0,119, 95,140, 29, 59,118,195,178,101,203,168,178, 32,124,111,121,123,123, -183, 42, 44, 44,244, 6,192,119, 14,230,193,131, 7, 15, 30,255,123,129,229,227, 99, 99, 39, 37,185, 25, 82, 17, 55,188, 87,183, - 22, 77,223,125,187, 27,209,172,121, 51, 36, 37, 36,121, 94,186,124,231, 19, 49, 21,159,172,209, 19, 7, 52, 44,177, 38, 46,174, -246,249,195, 22,140,135,145, 97, 74,143, 41, 16,192,180,231,156,199,209,160,160,160,166,227,198,141,131,159,159, 31, 34, 34, 34, -130, 14, 29, 58,244,229,201,147, 39,239, 24,141,198, 83, 98,177, 56,172,174, 8,199,126,126,126, 43,220,221,221,191,158, 57,115, - 38,209,177, 99, 71,136,197,127,133, 93,145,203,229,232,211,167, 15,250,244,233,131,140,140,140,182, 97, 97, 97,109,247,237,219, - 23,226,231,231,183, 50, 42, 42,106,142, 37, 5,244,237,183,223,250, 87,179,250, 44, 65, 16,143, 72,146,140,244,242,242, 74,111, -238, 42,107,237,104,111,119,226,251,101,139,112,230,205,177, 53, 10,151,223,251,119, 3,128, 74, 2,203,144,147, 9,137,181, 60, -154,150, 74,163, 0, 68, 2,136,106,220,184,113,180,165,156, 0, 16, 24, 24, 40,190,127,255, 62,193,113, 28, 58,117,234,100, 79, - 16, 68, 18, 73,146,235,207,156, 57,179,165,226,126,245,225,172,203,189, 10,158, 61,153,206,121, 28,141,196, 27,231, 48,216,223, - 93, 18, 21,119,127,169, 86,111, 60, 92,219,159, 8,130, 36,119, 71, 56,206, 1,178,190,100, 89,246,219,132,132,132, 64, 0,240, -242,242, 18, 1,184,180, 39,188,193,128,177,221, 10,254,206, 36,159, 52, 69, 81,155,119,238,220, 57,126,244,232,209, 72, 73, 73, -193,181,107,215, 32,151,203,177,120,241,226, 38, 51,103,206, 12, 97, 24,230, 75,254,178,231,193,131, 7, 15, 30,255, 83,129,213, -195,207, 42, 60,168,107, 19,255, 65,253,187,145, 45,188,188, 65,139,173,202,183,181,243,243, 67, 59, 63, 63, 98,226,196,162,102, - 49, 81, 49, 11,206,252,121,123,158, 45,205, 68, 94,139, 42,169, 49,232, 25,195, 64, 16,178,108, 31, 0, 96,207,142,145, 84, 82, - 82, 82, 83,169, 84, 90, 81, 40, 32, 48, 48,144, 12, 9, 9,233,124,233,210,165,206, 7, 14, 28, 48, 24,141,198,117, 42,149,170, -182,169, 51,190, 62,116,232, 16, 65, 81, 20, 40,138,170,113, 39, 87, 87, 87,244,235,215, 15,174,174,174,196,236,217,179,191, 6, - 80,173,192,146, 72, 36, 89, 4, 65, 56, 3, 64,131, 6, 13, 76,193,193,193, 49, 92, 25, 0,128,101,217, 91, 20, 69,221, 36, 8, -226,214,209,163, 71,149,158,110, 18,119, 57, 45, 62,183,125,235, 70, 24, 11, 51,107,140,227, 85,162, 74, 55,171,140, 74,235, 69, - 50,171,104,145, 76, 22, 37,146,203, 35, 1, 68, 17, 4, 17,109, 41,167, 89, 92, 73,165,210, 43, 91,183,110,109, 0, 0, 83,167, - 78,181, 43, 41, 41,177,155, 48, 97,194, 28, 0,229, 2,171, 62,156,181,192,238,141,174, 29,159,126,240,238, 91, 54,126,157,123, -224, 86,232,143,200,207, 47, 70,113, 81, 9, 88,150,125, 97,230,223,201,187,145,185,121, 28, 86,253,184,118,203, 55, 4, 73, 18, -190,253,191, 70,127,123,110, 90,206, 47,191,196, 1, 16,138, 68,162,178, 34, 33, 4,238,238,238,110,214,110,173, 86,181,232,209, - 26, 91,214,111, 6,199,178, 28,128, 85,245,112,175,156,173,173,173,143,157, 59,119,174,115, 64, 64, 0,110,221,186,133,199,143, - 31, 99,242,228,201,250,201,147, 39,211, 99,198,140, 33,102,204,152, 49,117,229,202,149,161, 0,174,243,151, 62, 15, 30, 60,120, -240,248,159, 9, 44, 9,109, 10, 8,222, 16, 3, 83,241, 35,112,198, 84,112,134,140, 23,246,177,178,107,136, 54,190, 46,176, 18, - 57,145,119, 19,214, 6, 84,217, 92,235, 80, 75,179,184, 10, 93,237,230,163, 41, 86,211, 0, 32,149, 41, 12, 31,204, 80,198, 5, - 4, 4,192,201,201,137,190,113,227,198, 12,160,210,220,100, 85, 57, 9,125,108, 4, 18,223,237,142,230,137,185,176,178,178,130, -249,193,109, 70, 82, 82, 18,174, 92,185,130,148,148, 20,120,122,122, 2, 47, 70, 80, 46,231,212,106,181,174,253,251,247, 15, 91, -185,114,101,207, 21, 43, 86,220,221,191,127,127, 47, 0, 37,213,186,123, 13,109,236, 88,134, 59,183, 99,203, 90, 33,244,197,246, -247,239, 92,175, 49,239, 77,223,253, 0,147,242, 75,155, 30, 15,122,187, 65, 98, 35,135, 88,110, 29,221,239,236,157,114,231,138, - 32,136,104, 75, 57,131,130,130, 62, 17, 8, 4,243, 13, 6,131,237,182,109,219,236,236,236,236,200, 99,199,142, 25,182,110,221, - 90, 68,211,180,158, 32,136,229, 47,147,206,218, 32,164,168, 37, 63, 4,207,182,177, 34, 25, 68,157,250, 5,233, 41,169,136,125, -168, 52,254,118, 53,222,164, 55,154,198, 85,199, 57,121, 39,230,206,120, 79,180, 43, 66,237,121,124,224,194,201, 45,151, 14,114, -129,193, 96,216,145,157,157,141, 9, 19, 38,128,101, 89,244,232,209,163, 59,199,113,202,105,211,166,193,211,211, 19, 59,254,120, - 80, 34, 40,188,221,107,223,197,162, 8, 11,211,217,182,113,227,198,231, 46, 93,186,228,226,238,238,142,176,176, 48,100,100,100, - 64,161, 80, 96,242,228,201,162, 21, 43, 86,236, 41, 44, 44, 28,186,108,217, 50,201,189,123,247, 14,156, 61,123,182, 33, 74,251, -204,189,142,161,192, 60, 39,207,201,115,242,156, 60,231, 43, 6,199,113, 1, 0,156, 0,100, 19, 4,113,167,226,114,217, 46, 78, -101,223, 85,151,115,202,158,249, 21, 39, 47,207, 41,123, 6, 56, 1, 48, 1, 8, 39, 8, 34,239, 85,167,217, 44,176, 2, 1,132, - 1, 88, 4, 32,184,234, 78, 6,101, 24, 68, 77,222, 7, 36, 62,224,244,143,192,234,149,224,132,206, 40, 46,145, 32,231,105, 10, - 18,111,133,130, 99, 74,234, 62,152, 0,204,198,117, 35, 5,214, 86, 0, 45,118, 50, 20, 21, 21, 65, 38,147, 65, 83,172,166,199, - 76, 40,119,182,232, 75,151, 46, 33, 50, 50, 18,110,110,110,117,138, 64, 0,224,244,165,173,136,122,189, 30,122,189, 30, 25, 3, - 58, 65,214,165, 39,242, 70, 77,198,133, 11, 23,144,157,157, 13,154,166, 65,211, 52, 24,134,169, 51,157,100,217, 76,188,102,211, -170,186,125,220,221, 33, 49, 25,141, 39, 54,174, 89,110, 99, 35,183,114,137, 56,247, 59, 82, 82, 50, 44, 42,116,145,204, 10, 34, -169, 85,180, 72, 38,173, 36,174,234,195, 73, 81,212,226,195,135, 15,187,235,116, 58,208, 52,141,208,208, 80,195,238,221,187,227, -138,139,139,223,136,138,138,210,188,138,116, 86,133,131,147,211,201,247, 63,254,108,242,210, 79,251, 65, 83,172,197,209,171,241, -248,243,110,242, 32, 0,215, 0, 20,215,244,191, 53,191,235, 31,186,185, 21,244,153, 48, 97, 66,244,145, 35, 71, 28,127,248,225, - 7,152, 76, 38, 48, 12, 3,134, 97,202,127,155, 76, 38,236,223,191, 31,215,110,199, 79, 83,171,139, 34, 44, 76,150, 91,211,166, - 77, 47,220,190,125,219,201,202,202, 10,231,207,159, 71,126,126, 62,190,248,226,139,114,231, 42, 63, 63,127,248,150, 45, 91, 62, -120,250,244,233, 15, 87,175, 94,125, 6,128, 2,192,128, 7, 15, 30, 60,120,252,147, 80,155, 22,113, 34, 8,226, 4,199,113, 3, - 57,142,235, 11, 64,100, 94, 6, 0,130, 32, 78,148, 61,183, 43, 45,207,153, 51,103, 94, 72, 72, 72,156,121,217,188,207,220,185, -115,125, 86,172, 88,177,188,107,215,174, 7,110,220,184,241, 4,192,107, 19, 88, 97,168,101, 94, 44,221,163, 95,161,123,242, 27, -104, 69, 16, 68,205,134, 65,232,216, 21,105,247,195, 16,125, 97, 13,210, 31, 92, 3,199,154,224,210,176, 77,157, 7, 91,250, 19, -132, 10,133, 34, 82,165, 82, 33, 42, 42, 10,143, 30, 61,130, 68,242, 66,203, 18,254,252,243, 79, 0,128,139,139,139,101,130, 37, -160, 59, 26,198,168,145,230, 91, 58,224,175, 97,140, 26, 0,176,124,238, 92,136, 68, 34,208, 52, 93,190,175,201,100,170,147,143, - 40,235,213, 94,214, 44, 88,221,232, 64, 66,194, 88, 31, 90, 56,103, 74,227,166,158, 45,220,110,159, 60,136, 39, 79,148,200,204, -180,172,126,196,114, 89,180,216, 90, 22, 37,146,254,213, 44,248, 18,156, 7,135, 14, 29,250,201,144, 33, 67,164, 93,186,116, 17, -255,252,243,207,249, 85,197,213,223, 77,103, 69,184,186,186,246,127,231,157,119, 78, 78,156, 56, 17,131,223,234,139,145, 61,188, -184,244,172, 2, 13,128,243,101,111, 0,181, 66,165, 82, 41, 1,244,123,255,253,247,127,245,241,241,241,226, 56, 14,109,218,180, -193,224,193,131,113,248,240, 97,196,199,199,163,168,168,200,112,245,234,213,117,106,181,122,167,133,201,178,106,208,160,193,153, -139, 23, 47, 58, 89, 89, 89,225,220,185,115, 40, 41, 41,121,193,185, 90,190,124,185, 36, 57, 57,121,211,217,179,103,155,160, 52, - 52, 9, 47,174,120,240,224,193,227,159,135, 90,181,136, 89, 56,113, 28, 55,176,162, 96,170, 42,180,204,191,205,251,133,132,132, - 12,172, 40,190, 0, 96,197,138, 21,203, 43, 44,151,188,142,204,152, 5, 86,175, 50, 33,209, 11,192,229, 42,182, 92,233, 15,150, -129, 65,121, 30, 6,229,121, 88,249,206,199,177, 13,163, 42, 17, 89,226, 12, 85, 7,173, 86, 11,161,200,193,176,103,199, 72, 26, - 0, 76,156,204,240,194,177,235,182, 14, 45, 62,158, 37,233, 36, 8,130,172,192,251,130,120,240,240,240, 88,221,181,123,231, 30, - 45,218,117,178,186,125,230, 8, 30, 62, 72, 65, 78, 78, 1,192, 65, 91, 19,231,249, 97,111,163,248,113, 18,164, 54, 54,209,253, - 47,198, 84,114,174, 94,134,243,194,133, 11,179,186,116,233,242,109,104,104,168,202,211,211, 83, 44, 16, 8, 12, 85,196,213, 75, -165,179, 34, 20, 10, 69,119,129, 64,112,142, 36, 73,105, 80, 80, 16,166, 77,155,134,245,235,215, 51,172, 80, 50,112,203,153,136, -161,207,117,134,249,150,136,171, 10, 34, 43, 86,165, 82,121, 39, 37, 37,137, 25,134, 9,122,247,221,119, 79, 13, 24, 48, 0, 55, -111,222,196,133, 11, 23, 90, 26, 12, 6,117,217,113, 23, 3,112, 33, 73,114,101, 45, 51,185,147, 52, 77, 31,184,112,225,130,143, -155,155, 27,206,159, 63,143,146,146,146,114,231,106,236,216,177,149,156,171, 27, 55,110, 60,227,197, 21, 15, 30, 60,120,252,163, - 81,163, 22,169,232, 62, 85, 39,178, 44, 65, 5,241,165,153, 51,103,206, 60,130, 32, 78,148, 57, 92, 26, 0,170,215, 37,176, 46, -151,169, 70, 14,117,207,240, 14, 83,209,147, 23,214,177,236,203, 63,183, 90,246, 61, 27, 39,149, 74,177,101,203, 22, 88, 89, 89, -213, 91, 56, 21,159, 58,130,180,201, 31,151, 59, 87,102, 39, 11,253,199,188,172,192, 50, 59, 88,183, 80,165,137,208,221,221,125, - 74,187,118,237, 62,221,190,251, 87,235, 21,223,126, 93, 80,152, 24, 39,208,150,232,100, 58, 35, 99,120,148,153, 83, 99,120, 4, -166, 48, 31, 98,153, 44, 90,104, 37,125, 65, 92,189, 44,231,173, 91,183,180,189,123,247,222,181,124,249,242, 46, 44,203,238,126, - 21,233,172, 40,174, 28, 28, 28,206,110,218,180, 73, 42,149, 74,161,211,233,176,114,229, 74,252,249,231,159, 3, 51, 50, 50,206, - 2, 56,251,178,245,109, 48, 24,198,247,237,219,119,237,172, 89,179, 96, 52, 26, 49,108,216, 48, 60,125,250,244,220,195,135, 15, -215,123,120,120,204,250,226,139, 47,220, 28, 29, 29, 49,105,210, 36, 26,192,216, 26,104,190,223,183,111,223, 64, 95, 95, 95, 92, -190,124, 25, 5, 5, 5, 80, 40, 20,152, 50,101,138, 40, 36, 36,100, 79, 81, 81,209,208,144,144, 16,222,185,226,193,131, 7,143, -127, 15, 44,210, 34, 21,157,168,250,160,194,255,132, 33, 33, 33,113, 33, 33, 33,149, 28,174,215, 37,176,184, 10,234,177, 78,119, -136,213,188,216,135,135, 53, 49,245,201,164, 69,251, 89,210,156, 7,252,213, 7,171, 26,161,244,194,114, 61,250, 96,157,229, 56, -238, 70, 69,129,229,238,238,254,158,171,171,235,247,251,246,237,147,170, 84, 42,120,180,106,107,123,242,240,111, 58, 23,153, 88, -155,158,155, 59, 38, 86, 85, 28, 90, 19, 39,171, 45,142,150,200,228, 81, 18, 43,121, 85,113,245,210,156, 0,112,241,226,197,153, - 85,215,253, 93, 78,133, 66,209,221,209,209,241,236,166, 77,155,172, 84, 42, 21,104,154,134, 92, 46,199,197,139, 23, 81, 38,174, - 94, 26,238,238,238,193,147, 39, 79, 94, 56,118,236, 88,228,229,229,225,194,133, 11, 8, 10, 10,194,166, 77,155, 26, 95,188,120, -113,109,183,110,221, 64, 81, 20,206,159, 63, 15,163,209,248,160, 6,154, 33, 19, 39, 78,156,245,193, 7, 31, 32, 60, 60, 28,106, -181, 26,147, 38, 77,210, 79,153, 50,165,188,207,213,143, 63,254,248, 65,114,114, 50,239, 92,241,224,193,131,199,191, 7, 53,106, -145, 42,207,242,147, 28,199,189, 83,213,213,170, 42,190,204, 14, 85,197,229,170,251,151,109,215,190,142,204,152, 5, 86,205,174, - 21,103, 2,101,223, 30,166,220,216, 10, 2, 75, 93,105, 23, 90, 44,135,201, 2,225,178, 96, 60,140, 78,118,106,193,222,197, 36, -132, 34, 7, 67,203,190,103,227,106,218, 87, 46,151,131,101, 89,139,116, 24, 61,224, 3,170,121,255,247,240,184,157, 43, 56,163, -161,220,201,194,188,121,149,196, 21, 77,211,208,235,245, 64,221,205, 90,225, 4, 65, 60,165, 40,234, 38, 0, 46, 48, 48,112,135, -209,104,124, 47, 47, 47,175,193,132, 9, 19, 12, 57, 57, 57, 56,122,244, 40,118,237,218,165,121,110, 16, 68,228, 61, 51,142,122, -162, 46, 78,175,133, 47,250,157,203,113,149,156,171, 87,192,249, 2, 94, 5,167, 66,161,232,238,236,236, 92, 46,174,196, 98, 49, -228,114, 57,148, 74, 37, 4, 2,193,223, 10,210,217,184,113, 99,177,191,191,255, 55, 99,198,140, 65, 98, 98, 34,230,204,153,163, - 86,169, 84, 71,142, 29, 59, 54,105,198,140, 25,130,192,192, 64,100,101,101, 97,235,214,173,198,240,240,240,229, 25, 25, 25,171, -170, 61,105, 5,130,241, 75,150, 44,225, 84, 42, 21,241,248,241,227, 74,206, 85, 97, 97,225,208,144,144, 16,201,147, 39, 79,120, -231,138, 7, 15, 30, 60,254, 93,168,173, 5, 45,167, 76, 60,101, 86,179, 76, 85, 16, 86, 85,151,179,170, 44, 3,128,190,202,246, -152,215, 41,176,170,133,209, 68, 22,236,219,244,153,237,160, 15,191,128,196,181, 39,244,201, 7,193,106, 50,203, 5, 22, 45,177, -134,141, 99, 35, 20, 62,215,224,122,194, 19, 24, 77,100, 65,109,124, 12, 3,193,212,175,254, 26, 45,104,103,103,135,130,130,130, - 74,142,150,149,149, 21,220,220,220, 80, 88, 88,136,208,208, 80,112, 28,119,189, 14, 55,108,201,152, 49, 99,190,251,226,139, 47, -200,230, 35,198,225,249,173,171, 47,184, 86, 18,137, 4, 82,169, 20, 74,165, 18,247,239,223,103, 57,142, 91, 82,135, 58,190, 77, -146,100,244,111,191,253,150, 30, 24, 24, 56,182, 65,131, 6, 35,198,141, 27, 39, 13, 15, 15,199,146, 37, 75, 4,231,207,159, 55, -220,185,115,135, 49,153, 76, 51, 85, 42,213,214, 58,207, 24,130,168, 42,174,254, 54,103, 53,226,234,111,115, 42, 20,138,110,110, -110,110,103,215,175, 95,111,149,145,145, 1,177, 88, 12,107,107,107,164,166,166, 98,201,146, 37,197, 12,195,188,245, 55,207, 55, -177, 76, 38, 19, 27,141, 70,236,222,189, 27, 74,165,178,107, 70, 70, 70, 42,203,178, 91, 63,255,252,243, 13, 94, 94, 94,109,238, -223,191,255,224,249,243,231,147, 51, 51, 51, 19,107, 34,177,179,179,235,234,228,228, 68,220,188,121, 19,147, 38, 77,210, 79,157, - 58,181,188,207, 21,239, 92,241,224,193,131,199,127, 80,121, 17, 68,120,109,203,255, 68,212, 58,217,115,118,137,198,121,235,158, - 35, 27,134,125,212, 71,123,246,226, 69,160,241, 24, 8,221,251, 3,148, 4,110, 45,187,195,169, 73, 23,196, 60,204,192,209,171, -113,218, 36,165,126, 67,118,137,166,234,124,123,181,206,182, 93, 80, 80, 35, 29,184,229, 0, 0, 32, 0, 73, 68, 65, 84,128, 38, - 77,154,224,209,197, 1, 62,119, 14,181,241,243,179,223,232,215, 16,171,125, 46, 94,188,136,213,171, 87, 63, 79, 74, 74, 90,211, -178,101,203, 89,181,113, 70, 71, 71, 47, 74, 75, 75,235, 48,119,238,220, 51,243,211, 11,145,183,120, 51, 10,191, 26,131,140, 62, -237, 96,101,101, 5, 71, 71, 71, 20, 23, 23,227,202,149, 43,136,137,137, 57,163,213,106, 59, 68, 71, 71, 47,170,141,147,227,184, - 91, 94, 94, 94,143, 59,117,234,100, 93, 80, 80,176,126,204,152, 49,210,226,226, 98,228,228,228,224,217,179,103,184,125,251,246, -121,189, 94,239, 83,135,104, 41,231,100, 89,182, 92, 92,189, 42,206,138,120, 85,156, 50,153,108,246,209,163, 71,173, 72,146,132, - 88, 44,134,173,173, 45,210,210,210,176,120,241,226, 98,141, 70,243,150, 90,173,182, 52, 64,103,141,245,206,178, 44, 24,134, 1, -199,113, 16,137, 68,133, 0,144,153,153,153,248,228,201,147, 62,199,143, 31, 87, 60,122,244,168, 87, 13,226,170,156, 51, 39, 39, - 39,236,233,211,167,144,201,100,152, 58,117,170,104,249,242,229,123,215,175, 95,175, 13, 9, 9,161,251,246,237,187,233,236,217, -179,173, 53, 26, 77, 79, 11,196,213,255,229, 89,235,121, 78,158,147,231,228, 57,255,105,156,255, 41,212,234, 96, 37, 36,192, 0, - 20,125,233,229,101,189,104,229,150,125, 91,246, 30, 58, 60,100,194,240,247, 5,254,237,130,144,156,113, 12, 87, 34, 46, 49,121, - 69,220,209, 34, 61, 53, 41, 33,161,168,206,177,255, 2, 1,152,185,243, 71, 10, 0, 64, 40, 4, 51,111,224,192, 48, 31, 31,159, - 30,131,124,179,232, 73, 83, 75,157,173, 45, 27, 71,210, 97, 97, 97,135,196, 98,241,182,228,228,228, 66,165, 82, 89,103, 38, 98, - 98, 98,238, 2,120,155,162,168,158,179,102,205,250,126, 64, 83,143, 78, 67,186,246,130, 80, 40,196,157, 59,119,144,155,155, 27, - 78,146,228, 55,209,209,209, 87, 44, 41,148, 63,254,248, 35, 29, 0, 74, 74, 74,150,180,108,217, 82,148,144,144,128, 71,143, 30, - 33, 41, 41, 9, 38,147,233,161, 82,169,172, 87,135, 56,137, 68,114,155, 32,136,184, 87,201, 89, 17,175,138, 83,163,209, 44, 95, -186,116,233,155,139, 22, 45, 18, 91, 91, 91, 35, 58, 58, 26,139, 22, 45, 42,214,106,181,245, 17, 87,181,130,227, 56, 24,141,198, -122,141,252,172, 6,223,248,250,250,182, 94,186,116,105,203,178,190, 92,188,115,197,131, 7, 15, 30, 60,254, 61, 2,235, 47,161, - 85,148, 7,224,163, 14, 94,214,158,203, 55,255,186, 67, 42, 98,123,104,244,228, 53,141,142,156, 16,157, 80,244,216,210,131, 45, -253, 9,194,202,107,212,176,179,179,147,165,185,226,185,121, 77, 90, 38,160, 86,171, 87,190, 76,102, 34, 34, 34,174, 0,232,204, -113,220,144, 83, 4, 49, 15,120, 2,142,227,150, 71, 71, 71, 31,173, 15, 79, 64, 64, 64,147,226,226,226,189, 58,157,174, 3,203, -178,162,203,151, 47, 67,171,213, 34, 33, 33, 65,195,178,108,104,125,211,149,156,156, 28,247,170, 57, 95, 71, 58,149, 74,229,157, - 19, 39, 78,244, 37, 8,226,194, 55,223,124, 35, 94,188,120,241, 43, 21, 87,246,246,246, 37, 25, 25, 25,207,180, 90,173, 67,102, -102,166,222,222,222,190, 36, 37, 37,229,101,168, 30, 22, 22, 22,182,155, 62,125,250,226, 89,179,102,205,254,254,251,239,105,190, -207, 21, 15, 30, 60,120,240,248,215, 35, 48,208, 81,102,225,174, 22, 89,136, 11,198,195, 56,103, 44,184, 57, 99,193, 45, 24, 15, -227,171,224,172, 39, 42,113,182,106,213,234,128,163,163, 35, 67,211,180,142, 36,201, 18,138,162, 10, 5, 2, 65, 6, 73,146,147, - 96, 65, 24,139,127, 51, 39, 0,184,184,184,116,244,246,246, 62,160, 80, 40,186,189,138,242,172, 8, 87, 87,215, 55, 61, 60, 60, - 14,186,185,185,245,122, 69,156, 1,111,189,245,214, 83,169, 84,122,195,210, 23,134,255,159,231, 18,207,201,115,242,156, 60, 39, -207,201, 3,252,137,194,115,254, 75, 57,137,151, 16, 87,124,121,242,156, 60, 39,207,201,115,242, 2,235,181,129,228,139,128,199, -127, 0, 28,248,102, 65, 30, 60,120,240,224,241, 15, 2, 81,139, 10,173,207, 76,217, 47,163,100,239,241,156, 60, 39,207,201,115, -242,156, 60, 39,207,249,127,142,179, 46,238,123,224,241, 90,132, 23,207,201,115,242,156, 60, 39,207,201,115,242,156,255,247, 56, -255, 83,224,155, 8,121,240,224,193,131, 7, 15, 30, 60, 94, 49,234,221, 49, 56, 32, 32,160, 5, 0,220,185,115,231,225,107, 76, -215, 20,133, 66, 49,161,125,251,246, 94, 52, 77,147, 5, 5, 5,139, 46, 95,190,188,168,186, 29,219,183,111, 31,241,230,155,111, -122, 94,186,116, 73, 15,252, 53,255,160,249,219,100, 50,165, 71, 70, 70,118,228,171,250,127, 3, 87, 87,215,179, 18,137,164,113, -105,128, 81, 14, 12,107,130,137,229, 96, 50,177, 48,154, 56, 24,244,218, 20,125, 73, 97,255,151,226,246, 29,210,200,100, 98, 67, - 56,112, 91, 8,142,152,196, 17,220, 22,130, 35, 62,231, 72, 98, 11,193,114,159, 65,192,252, 0, 70, 48, 75,192, 10,231,171, 19, - 66,211,254, 11,229, 25, 28, 28, 76,254,205,255, 87, 59,255, 84,135, 14, 29, 78, 72, 36,146,230, 53,253,175,164,164, 68, 29, 27, - 27, 27,244, 95, 62, 87, 93, 92, 92,122,146, 36,185, 17,128, 79,149, 77,137, 0,190, 84,171,213,127,254,211,210,236,228,228,116, -133,162,168,150,197, 37, 37,197,207,139,138, 60,229,114,249, 99,169,149, 76,102, 98, 76, 15,158, 61,203,238,201,223,129,120,240, -248, 7, 11, 44, 63, 63,191, 86, 0, 2, 9,130, 8,228, 56,174,103,203,150, 45, 93, 74, 74, 74, 96, 50,153, 50, 9,130,184,194, -113,220,101, 0,151,163,162,162,146, 94, 69,130, 72,146, 92,181,118,237,218,153, 83,167, 78, 45, 23, 73,247,238,221, 67,187,118, -237,170,221,159,162, 40,143, 21, 43, 86,216,166,166,166,130,166,105,136, 68,162,242, 15, 69, 81,232,210,165, 75,189,142,223,160, - 65, 3,107,103,103,231, 69, 4, 65, 12, 37, 73,146,170,107,127,150,101, 77, 28,199, 29,202,202,202, 90,152,151,151, 87, 84,159, - 99,117,244,111,103, 4,136, 26,142,193,153, 34, 34,239, 10,107,251,127,171, 86,173, 34, 4, 2,129, 71, 69, 65,105, 70,197,229, -138,191, 77, 38, 83,122,124,124,124, 71, 75,203, 66, 98,101, 53,155, 32, 5,125,193,177,109, 74,201,200, 68,142,101, 46,104, 75, - 74, 86, 89,146, 95,177, 88,220, 56, 50, 42,170,101,252,253, 39,240,108,214, 8,122, 3, 3,157,222,136, 99, 23,238,192,215,171, - 41, 6, 13,232,247,210,231, 10,195, 18,193,243,167,140,234,189,124,227,254,128,121, 83, 71,200,151,111,220,223,113,222,212, 17, -214,203, 55,237,239, 56,127,218, 72,235,165, 27,247,117,156, 63,109,164,237,178,141,251,244, 0,198,191,204, 49,198,181,109, 84, - 76,154, 24,113,181,117, 79, 9,116, 59,239,165,202,254, 23, 23,238,242,229,203, 91, 25, 12,134,132,177,195, 58, 46,105,211,194, - 57,171,186,125, 10, 10,178,156, 31, 37, 70,124, 11, 33,237,229,213,105, 94,173,215, 39, 77,211,205,174, 92,185,210,210, 28,105, -223,100, 50,193,100, 50,129, 97, 24,232,245,122,124,240,193, 7,130, 87,145,110,127,127,255,113, 28,199, 45, 43, 61, 45,137,165, -145,145,145,155,254, 6,157, 92, 32, 16, 76, 23,137, 68,129, 12,195,120, 1,128, 80, 40, 76,208,233,116,151, 25,134, 89, 11,252, - 21, 95,207,194,123,207,186,240,240,112,111,107,107,107, 24, 12,134,242,137,225, 41,138,106,211,185,115,231,205, 0, 90, 90,202, -229,238,238, 30, 65, 16,132, 71,125,142,207,113, 92,186, 82,169,172,215,203, 32, 69, 81, 45,159,166,170,156,155, 52,114,195,243, -162, 34, 88, 89,201,100,119,238, 37, 59,251,251, 52,225,159,110, 60,120,252, 83, 5,150,159,159,223, 41, 0,129,109,218,180,145, -246,235,215, 15,126,126,126,104,220,184, 49, 36, 18, 9, 0, 32, 55, 55,215, 37, 62, 62,254,163,232,232,232,143,110,222,188, 9, - 0, 26, 0,215,162,162,162,170,117, 35,250, 12,236, 49, 85, 34, 23,175, 7,128,108,229, 51,117,250,227,172,141,106,181,122, 21, -128,138,111,212,158,163, 71,143,158, 49,109,218, 52,156, 56,113, 2,251,247,239,135, 78,167, 67, 65, 65,205, 83, 28,154, 76,166, -244,209,163, 71, 11,146,146,146,152,154, 28,172,250, 20,136,179,179,243,162, 97,195,134,125,229,237,237, 93, 62,173,139,209,104, - 44,255,206,203,203,195,140, 25, 51,204, 55, 68,176, 44,139,139, 23, 47, 78,253,250,235,175,145,151,151, 55,189, 58,206,190, 61, - 61, 35, 4, 4,225,193,254, 37,202,210, 47, 92,125,210, 17, 32,168, 59, 17, 49, 68,149,155, 44, 0,160, 83, 64,135, 58,197,157, - 64, 32,240,136,138,138,114,166,105,218,162,188,177, 44, 11, 63, 63, 63,139,246,117,115,115, 11,162, 4,244,254, 33,195, 63,109, -208,193,207, 79,232,225,166,128,145, 97,240, 36, 57,181, 83, 76,116,100,135,115,199,127,155, 32,145, 72, 70,168, 84,170, 75,181, -241, 24, 77, 44, 98,226, 30,226,252,181, 40,188, 75, 75, 80,162,213,163,168, 68,143,189,127, 92, 71,122, 86,193, 75,159,184,157, - 58,117,114,207,102,244,157,167,141,127, 79,246,195,143,123,100,211,198,191,135,213, 91,246,150,127, 79,253,116, 48, 86,253,184, - 71, 62,237,211,193,216,184,117, 87,215,166,157, 58,185,135,135,135,215, 56, 45, 64, 77,117, 68,154, 24,241,142,120, 37, 5, 0, -217, 91,183,194,144,153, 9,183,133, 11, 1, 0, 19,125, 60,196,245, 73,179,143,143, 79,185, 32,174, 85, 56, 50, 76,122, 92, 92, - 92,199,186,196, 21,195, 48,156, 64, 32,248,246,234,233, 69,161,221, 58,181,170, 84,152, 73, 15,146,108,131,191, 91,248,225,193, - 51, 69,220, 71,111, 89, 39, 36,132, 47,175, 85,100,177, 44, 75,234,116, 58, 60,120,240,160,218, 40,251, 36, 73,154, 94,166,158, - 2, 3, 3,197,197,197,197,251,228,114,121,251,226,226,226,113, 44,203,126, 23, 22, 22,230, 66,146, 36,250,246,237,251,157,191, -191,127,178, 88, 44,254, 81,171,213, 70,203,229,242, 17,151, 47, 95,214, 89, 72,221,211,218,218,122,239,239,191,255,222,192,207, -207,143,204,201,201, 65,211,166, 77,145,155,155,219,233,202,149, 43,254,159,126,250,233,167, 69, 69, 69,163, 1, 92,169, 71,114, - 91,203,100, 50,110,204,152, 49,132,201,244, 87,118,127,254,249,103,248, 55,207,108,222,175,131,164, 68,107,224, 10,174,198, 74, - 62,231, 72,238, 90, 74, 74,205, 55, 38,130, 32, 60, 22,237,248,210, 89, 36, 18,193,104, 52,150,127, 56, 22, 0, 7,112, 44,192, -177, 28, 56, 14, 0, 71,128, 53,177, 88, 61,119,199, 75, 95, 15, 86, 50,153,149,139,139,107,166,212,202,202,138,227,159,107, 60, -120,252,227, 29,172,183,195,194,194,192, 48, 12,172,173,173, 65, 81,149,159,247,246,246,246,232,217,179, 39, 58,119,238,140,190, -125,251,226,254,253,251,210,239,191,255,190, 70, 59, 98,228,204,129,104,216,210,197, 44, 34, 20, 87, 79, 68,133,252,180,232,176, -163, 90,173,174, 56,215,224,184,137, 19, 39, 18,207,158, 61,195,208,161, 67,175,232,116,186,193, 0, 10,107,203, 64,108,108,108, -199,216,216,216, 87, 86, 32, 4, 65, 12, 85, 40, 20, 56,112,224, 0,244,122,253, 11,219,109,108,108, 16, 23, 23, 87,241, 13, 18, - 29, 58,116,160, 8,130, 24, 10,160, 90,129, 69, 18,132,199,233,176,135,229,243, 52, 14, 27,212,129,238,215,211, 51,243,185,214, -200, 1, 32,230,207,159, 95, 46,174, 56,142,195,226,197,139, 45, 78, 47, 77,211, 72, 76, 76, 4, 69, 81,120,220,163, 21, 0,160, -109, 84, 26, 40,138, 66, 76,123, 55, 0, 64,215, 7,121, 16, 8, 4,144,203,229,150,138,171, 94, 46, 10,143,223,231, 46, 12,177, -214, 26, 57,156,188, 24,142, 84,213,121,112, 28, 7,133,179, 61,186,249,251, 9,189,218,181,119,222,185,121,213,239, 0, 6,171, - 84,170,176,154,197,130, 9, 94,173,154, 97,247,239, 87,176,236,199, 80, 60, 43,212,162,168,164,180, 92,251,118,245,198,207,171, - 95,174,158, 40,138, 90,213,166, 89,179,134,187, 15,158, 69,183, 46,157,176,251,224, 25,116,237,210, 9,187, 15,149, 46,239, 57, -116, 22,111,116,237,140, 61,135,206,162,173, 87,203, 70,207,158, 22,172, 2, 48,188, 70,247,162,106, 29, 13, 46,173, 35, 65,190, -137, 48,215,205,211, 73,147, 74,203,167, 76, 96,213,251, 98, 43, 19,196, 22,184,198,117, 58, 87, 12,195, 32, 43, 43,139,200,207, -207,231,236,236,236, 62,172, 40,178,204,226,234,183,211,133,208, 36,109, 36,126,253,245, 50,251,241,199,129, 9, 9,225,203,189, - 80,218,220,245, 2, 12, 6, 67,242,155,111,190,201, 1,128, 94,175,119, 23,137, 68,116, 21, 1,230,214,173, 91,183, 23, 4, 90, - 93, 77,135,197,197,197,251, 14, 29, 58, 52,196,197,197, 5,131, 7, 15, 62,231,237,237, 45,178,178,178,194,233,211,167,225,225, -225,225,104, 99, 99,115, 42, 36, 36, 4,107,214,172,105,116,238,220,185,253, 0,134, 88, 80,148,125,131,130,130, 14,156, 56,113, - 66, 66,211, 52, 52, 26, 13,226,226,226, 96,107,107, 11,145, 72,132,193,131, 7, 83,221,186,117,115, 8, 10, 10, 58,156,148,148, - 52, 2,192, 5, 75,235, 72,163,209,112,115,231,206,133,149,149, 21,100, 50, 89,249, 71, 42, 50, 17, 91,130,155, 73,191, 90,145, - 33,157,255,245,199, 43,182,239, 60,126,137,101,185,239,210,210, 10,243,107,226,242,160,218, 97,206,172, 57,102,129, 10,145, 72, - 84,201,101, 55,255,166,105, 26, 29, 58,116,168, 51,109,109,218,180,217, 74, 81,148, 83,197,117,121,121,121,212,183, 11,230, 49, -119,227,238,203,140, 12,100, 90,189, 17, 75, 23,127,199, 80, 36, 69,249,248,248, 28,229, 56, 46, 59, 62, 62,254,115,254, 81,199, -131,199, 63, 75, 96, 65, 46,151,227,206,157, 59, 32, 8, 2,214,214,214,176,177,177,129,173,173, 45, 10, 11, 11, 17, 31, 31,143, -196,196, 68, 36, 39, 39,131, 36, 73,120,122,122, 2, 47, 70, 15, 47, 31,106,185,111,245, 9, 72,228, 98, 16, 4, 16,208,175, 61, - 58,246,246,197,189,219,143,191,188,115, 14, 59,212,106,245, 3, 0,130,182,109,219,126,218,165, 75, 23,172, 89,179, 6, 58,157, -110,109, 13,226,234,133,225,155,159,189, 39,184, 74, 11,200,134, 6,134, 77,219,246, 59,243,134,175,175,111,132,159,159, 95,211, -187,119,239, 26,205,110, 86,213,102,178, 42,253,178, 42,113,230,228,228,128,101, 89,139, 93,161,252,252,106,239,177,247,170,186, - 82,102, 44, 13, 89, 99, 87, 84,144,133, 37, 43,127,129,209,104,196,204,153, 51,193,178, 44, 88,150,133,201,100, 66, 94, 94, 94, -105,100,167, 58,242,110,206, 19, 69, 81,149, 4,112, 93,203,181,113, 58, 58, 58,202, 72, 74,184,127,214,252, 37,214,177, 73,233, - 56,113, 49, 28, 28,199,225,216,246,239, 0, 0,131, 39, 46,134, 82,157,141,110,254,109, 48,246,179,233,214,235, 66,230,239,119, -116,116,108,158,147,147, 83, 92, 29,167,145, 97, 17,122,230, 38,212,207,158, 99,244,144,222,208,233,141,200,202, 84, 99,215,143, - 63,224,139, 79,142,160,129, 92,234, 42,117,106,150, 84,177,140,172,173,173, 41,173, 86,123,229,193,131, 7,227,107, 74,167,209, -104,124,123,238, 87, 19,176,110, 71, 40,124, 60, 93,112,226,252, 45, 4,180,109,140, 83, 23,195,209,181, 93, 83,156,185, 28,129, -110,190,158,184,116,243, 30,190,252,252, 99,204,254,242,202,219,245,170,163,229,107,236,138, 10,179,112,114,249, 30,100,109,218, -132,148,169, 83, 17, 80,118, 78,220, 33, 73,208,238,238,128, 77,221,229, 89, 29, 18, 19, 19,161,211,189,104,212,136,197, 98,180, -105,211,166, 86, 78,179,115,149,153,153, 73,100,102,102, 66, 38,147, 17, 9,113,247, 76, 94, 62,109, 63, 52,229, 30,220, 1, 0, -165,206, 85, 33, 74,238,111,128,230,193, 70,208,249,119,201,237,139, 63,211, 79,252,110, 91, 66,133,107,244, 94,149, 23,149,242, -242,233,220,185,115,226,181,107,215, 90, 87,112,129,193, 48, 12,205, 48, 76, 75,115,179, 33,195, 48,208,233,116, 24, 49, 98, 4, - 85, 91,222,165, 82,105,123, 23, 23, 23,220,190,125, 27,193,193,193, 34, 31, 31, 31, 60,120,240, 0, 36, 73, 98,220,184,113,240, -246,246, 70,118,118, 54, 2, 2, 2,112,245,234,213, 14, 22,148,167,181, 76, 38,219,121,252,248,113, 9, 73,146, 40, 42, 42, 2, -203,178,232,222,189, 59, 8,130,192,221,187,119,177, 96,193, 2, 28, 57,114, 4,191,255,254,187,212,223,223,127,103, 73, 73,137, - 23,128, 34, 11,234,136,211,233,116,156, 68, 34,129, 68, 34,129, 88, 44,134, 88, 44, 6, 77,211,208,232, 41,124,182, 48, 89, 39, - 20,203,217,246,237, 60,155,127, 49,113, 8,185,100,197,174,139, 0,142,213,196,169,226,226, 96,239, 67,224,220,174, 8, 12,158, -212, 19,180, 80, 4, 90, 72, 67, 68,139, 32, 44,251, 77, 11,105,136,132, 98, 80,142,218, 58,207, 37,161, 80,232, 24, 21, 21,101, - 87,241, 90,102, 24, 38, 97,234,212,169,158, 67, 6, 13,116, 57,120,228, 4, 53,106,216, 96,147,171,139,115, 78, 90, 90,202, 67, - 0,118,254,254,254, 92,125,207,207,151, 0,207,201,115,190,118,112, 28, 23, 0,160,226, 11,134, 30,128,200,252,216, 46,187,183, - 57, 84, 89, 15, 0,217,101,223, 78, 53, 44,231, 0,136, 7,224, 85,182,206, 4, 32,156, 32,136,188,191,155,102,179,192,170,120, - 17, 18,213,100, 12,133,133,133, 40, 44, 44, 68, 90, 90, 26,182,108,217, 2,161, 80, 8,129, 64, 0,129, 64, 0,146, 36,203,251, - 43,212,132, 63, 79, 92,219, 8, 96,163,159,159,159,240,167,155,161,167,230,239,254,178, 79,231,126,254, 84,196,249,187, 31, 2, - 88, 10,224,237, 49, 99,198, 56, 2,192,158, 61,123,114, 0,156,182,216,197, 17,144, 13, 55,172,255,165,209,180, 47, 71,153, 5, -133,199,142, 29, 59, 26,164,167,167, 87,122, 75,164,105,186,206,126, 89, 28,199, 29,122,248,240,225, 87, 10,133,162,252, 65, 82, -177,153,144, 97, 24, 72, 36,146,114, 49,164,211,233,176,111,223, 62,134,227,184, 67,181,112, 34, 41,238, 79, 60,136,187, 4,147, -137,173, 36,166,180, 90, 45,130,131,131,203,221, 43, 0,152, 84,230,148, 88,138,218,156, 43,138,162,112,205,179, 84, 9, 12,200, -230, 94,232,171, 85, 21, 66,145,100,230,128,247, 63,182,103, 56,170, 92, 92,149,230,161, 84, 92,136,132, 2, 72,197, 66, 60,120, -156,134,166,238,254,232,243,214,123, 13, 46,156, 58, 60, 19, 64,181,131, 16,140, 38, 22, 3,122,249,227,199, 3,151, 80,248, 92, -139,194,252, 92,228,164, 37, 34, 33, 54, 28, 34,145, 8,183,110,221,178,182,181,181,179,110,214,172, 41, 76, 38, 22,215,110, 69, -192,202, 74,138, 3,251,127,109,170, 51, 24,145,250, 52,121,124, 13,194, 86,208,173,163, 23, 10,115, 82, 33, 16, 8,208,205,175, - 57, 4, 2, 1,186,251,183, 4, 69, 81,232, 17,208, 26, 20, 69, 33,176,179, 55,154, 55,111, 14,150,101, 5,117, 92,188, 72,186, -247, 39,146,226, 47,129, 99, 89,152,216,210,230, 95, 14,128, 65,173,126, 49, 95, 25, 25,224,108,156, 95,230, 38,129,111,190,249, - 38, 95,165, 82, 25,170,113, 14,233, 35, 71,142,216,213, 54, 17, 54, 77,211, 94, 2,129, 32, 33, 55, 55,151,181,178,178, 34, 77, - 38,134,245,242,105, 75, 93, 61,189,168,124,238,201,224,197,139, 66, 63,122,203,230,195, 95,118, 29,231,104,167,238, 4, 65,137, -153, 9,223,109, 19, 65, 72,123, 1, 6, 75, 94, 26, 72,157, 78,135,251,247,239,215, 57, 41, 55,199,113,181,158, 80,197,197,197, - 99, 7, 15, 30,124,238,243,207, 63,151,152, 95, 94, 4, 2, 65,185,232,127,244,232, 17, 72,146,196,246,237,219,161,211,233,234, - 60,241, 5, 2,193, 87,135, 15, 31,182, 21,137, 68,229,226,138,227, 56, 80, 20,133,196,196, 68,172, 94,189, 26, 99,198,140, 65, -106,106, 42, 20, 10, 5,102,206,156, 41, 95,177, 98,197, 87, 6,131,193, 18, 91, 56, 86,175,215,119,148, 74,165, 16,139,197, 48, - 11, 45, 0,136,124,228,114, 47, 57, 57,185, 93,163, 70, 50,215,166,222,119,255,232,213,163,189,175,131,131, 93,215, 39, 41, 5, -199,106,124, 65,125,222, 8, 69, 73, 2, 4, 6, 6,226,242,229, 43, 24, 56,112, 32, 76, 52, 13, 86, 36, 2, 43, 18,129,163,105, - 64, 36, 2, 33, 18,129,179,178,178,232,244,161, 40, 10, 25, 25, 25,149,214, 77,156, 56, 49,229,227,143, 63,118, 6, 56,168, 84, - 74,110,250, 87,211,148, 57, 57, 57,156,139,139, 11,111, 33,240,248,183,161, 54, 45,226, 68, 16,196,137, 10,247,158,129,230,229, - 57,115,230,204, 11, 9, 9,137, 35, 8,226, 68,197,245,230,253,202, 12,137, 19,213, 45,151,253,215, 97,238,220,185,109, 87,172, - 88,177,188,107,215,174, 7,110,220,184,241, 4,192, 43, 19, 88, 68, 89,198, 44,154,191,174,186,135,116, 93, 2,203,140,168,168, - 40,163,155,155,219, 79,137, 17, 79,250,180,238,216, 18, 82,153,184, 31,128,141, 98,177,120,250,232,209,163,113,235,214, 45,220, -187,119,239,103,212, 35, 50,183,129, 97,211,166,125, 57, 10, 6,134, 77, 51, 59, 84, 51,103,206,164,175, 93,187,102,168,201,193, -170,137, 43, 43, 43,107, 97,120,120, 56,106,235,228,254,209, 71, 31, 85,124, 24,149,119,114,175,241,140, 97, 57, 24, 12, 70, 20, - 23,107, 74,133, 85,217,195,219,100, 50,161,184,184, 24,195,134, 13, 43, 23, 93, 44,203, 34, 43, 43,235,165, 42,147, 36,201,250, - 56, 87,213,115, 80, 84,255,246,190,126,194,139, 55, 98, 43, 61, 92,223,251,108, 41, 68,116,169,184,146, 74,104, 72,197, 66,164, -169, 50,209,198,203,135,190,124,254, 68,255, 26, 5, 22, 99,194,198, 95,207, 3, 4,129,208, 19, 23,209,177,169, 21, 22, 45,248, - 6, 67,135, 14,133, 72, 36,193,225,195,135,176,106,243,110, 76,106,220, 24, 28,128,206, 29, 59, 96,229,214, 3, 88,178,120, 49, -121,232, 96,104,143,186,210, 43, 20, 10, 65, 81, 84,249, 67,187,234, 55, 69, 81,117,138,132,242, 58, 50, 26, 81, 82,172,129,137, -101,193,178, 28, 56,150, 5, 56, 14,238,203,150,193,125,217, 50,220, 33, 75, 7,240,121, 23, 23, 67,163,209, 0,189,218,215, 91, - 92,233,245,122,168, 84, 42, 67,108,108,108,117, 79,191, 76,189, 94, 95,107,122,231,205,155,151,180,124,249,114, 47,123,123,251, -132,216,216, 24, 99,251,246,190,194,170,125,176, 90,181,108, 85, 16,188,120, 81,232,168, 79,222,253,112,235,130,225,204,231, 11, -247, 10,204, 29,221, 67,207, 4,215,125, 61, 25, 12,201,125,251,246,181,168, 43,143, 70,163,201,168,105,155,185, 67,123,171, 86, -173,196,189,123,247,198,149, 43, 87,176,108,217, 50,150, 97,152, 28, 0,232,214,173,155,211,146, 37, 75,136,248,248,120,216,217, -217, 33, 43, 43,107,183,191,191,255,146,218, 58,190,139, 68,162, 94, 1, 1, 1,164, 78,167, 43,127, 41, 33, 73, 18,137,137,137, - 88,177, 98, 5, 70,140, 24,129, 86,173, 90,149, 95, 91, 65, 65, 65,194, 13, 27, 54,244,178, 68, 96,145, 36,249,101,159, 62,125, -126, 64,233, 40,194,138, 55,185, 4, 0,179, 1, 32, 53,245, 89, 70,100,100, 82, 92,159, 64,191,142,205,155,186, 43,194, 35,159, -214,200,247, 76,248, 8, 10, 63, 41,104, 33,141, 49, 95, 15,194,137, 19, 39, 48, 57,248,227, 50, 39,171,212,193, 18, 10,105,208, - 66, 17, 68, 78, 47, 55, 17, 65,217,125,132,176,177,177, 5, 0,216,218,218,154,239,113, 4, 0,142, 36, 73,190, 75, 22,143,127, - 19,234,212, 34,102,129, 84, 85,104,133,132,132, 12,172,186,174,162,152,170,238,119,197,255,174, 88,177, 98,121, 5,238,146, 87, -145, 25,193,171, 42, 21,163,177,246, 57,154,131,130,130,166, 90, 91, 91,175, 55, 47, 63,189,174,196,211,235, 74,120,181,246,233, -238,231,219, 49,127,196,136, 17,112,112,112,192,236,217,179, 57, 0, 59,235,115,236,109,191, 51,111, 84, 92,142,137,137,233, 24, - 19, 19,243, 82,249,200,203,203, 43, 42,235,172, 62,253, 21, 90,155, 48, 26,140, 40, 46,209,194, 96, 48,192,104, 52,129, 97, 76, -240,247,182,198,222,109,223, 64,175, 55,192,104, 42, 93, 87,234,148,153, 32,166,117,232,217,217,195, 8,130,212, 92,185,149,106, - 83, 27,191, 79,100, 42, 40,138, 66,172,175,123,181,206, 85, 63,149,193, 98,161,197,177,166,214, 46, 46,206, 72, 61,115,187,244, - 45,220, 74,130,179,123,150, 64,102, 85,250, 38,255,246,152,121,165, 34, 75, 76,195, 96,208,195,217,165, 9, 24,147,177,117, 77, -124,140,209,160,111,223,210, 29,118,214, 82,196,220,185,137,233, 83,198, 99,220,184, 79, 65, 75,172,113,249,242, 37,164,170,178, -240, 40, 61, 15, 83, 22,254, 8,163,209, 4, 3, 99,130,145, 97,177,110,215, 9, 24, 76,117, 43, 35,154,166, 49,115,230, 76,105, - 77,219, 15, 28, 56,160,177, 72, 96,113,101, 34,184, 68, 3,157, 86, 7,189,161,180, 46, 76,205,132, 88,186,224, 99, 24,141, 70, -104,134,119,133,193,104,132,233,203, 33, 48, 24, 12, 72,179, 18,144,221,253, 21, 70, 16,164,230,122,132,210,198, 82,129, 85, 83, -122, 56,142,171,182,233,176, 38,145,213,190,189,111,194,152, 97, 29, 67,174,223,184,147,125,253,198,157, 23,246,107,214,170,227, -227,207,151, 30,152,107,201, 40,194, 74, 54, 78,133,230,194,191,121,222,127, 23, 22, 22,230, 34,151,203,145,148,148, 4,138,162, - 64, 16,196,179,168,168, 40, 23, 0,120,231,157,119,114,132, 66,161, 3, 69, 81,248,234,171,175, 64, 81,148,211,228,201,147,191, - 5, 80,163,192, 98, 24,198,203,218,218, 26, 69, 69, 69,229,229, 40, 18,137, 48,103,206, 28,140, 26, 53,170, 92, 92,137, 68, 34, -236,222,189, 27,254,254,254,208,235,245, 94,150,164, 87,169, 84,222, 1,240,134, 5,162,166,180, 95, 30,203,214,122, 98,201,139, - 27, 66,155, 44,130,137,166,113,224,216, 49,140, 26, 53, 10, 34,145,184,220,185, 2, 77,131, 16,137, 64,210, 52, 76,148,184,222, -229,203,178, 44, 10, 11, 11,169,221,187,119, 55,243,241,241, 33, 56, 0,109,218,120, 19, 39, 78,158,108, 36,151,203,159,216,219, -219, 27,192,131,199,127, 77,129, 85, 16, 72,175,130,107,206,156, 57,243, 0,112,115,230,204,153,103, 94, 14, 9, 9,209, 0, 80, -253, 99, 4, 86, 93, 14,214,154, 53,107,106, 12,181, 96,126,184,108,216,176, 1,123,247,238, 93, 3,224,113,125,142, 61,113,176, -224,182,149,148, 86,148,104, 12,234,237,199,152,206,237,219,183,143,232,218,181,107,179,136,136,136, 26, 29,172,154, 98, 99,189, -142, 48, 13, 28,199, 65,111, 48,162,164, 68, 3,173, 94,143, 25,223,108,182,168,238, 13,250, 34,193, 59,111,245,148,214,229, 36, - 90,210, 7,171,174,166,193,202, 98,153,129, 89, 3, 60, 47,209, 34,104,196, 28,220,249,163, 84, 27,155,197,149, 84, 44,132, 68, - 36, 4, 73, 0, 68, 45,198,167, 81, 83, 56,232,235,169,227,175,110,249,121,175,199,123, 61, 39, 96,218,180,105, 16,136,172,208, -192,193, 9,140,137, 67, 35, 55,103, 60, 74,207,195,225, 77,223,148,121,195, 28,122,142, 12,198,154, 5, 19,176, 42,184,238,183, -122,138,162,176,105,211, 38, 77, 85,215,170,162,147,101,169, 8, 54,187,140, 26,157, 30,179,230,254,104,121, 29,245,127, 67,106, -105,217, 86, 55,112,194, 82, 1, 86, 85,100, 1,160,128,154, 27,253,196, 14,128, 87,247, 1, 11,254,151, 55, 67,150,101,113,242, -228,201, 23,220,213,170,117,104,169,219,202,178, 44, 82, 82, 82,112,239,222, 61,116,237,218, 21, 5, 5, 5, 16, 0,152,121,247, - 46,188, 71,143,134,174,172,235,130, 72, 36,194,196,137, 19, 95,215, 59,118,169,192, 34,106,175,168, 98,171,116,184,180, 21, 99, -231,138,163,152,186,120, 12,156,218, 72,176,122,238,246,242,237,171,126, 10, 46,235,135, 37,130, 68, 94,255,100, 20, 22, 22, 10, -126, 88,189,186,125,231, 78, 93,164,163,198,140, 35,245, 12,139,165,223,175,167, 14,238,223,227,176,103,207, 47, 82,137, 68,146, -192, 63,142,121,252,215,240,170,196, 85, 85, 7, 43, 36, 36, 36, 46, 36, 36,228, 5, 55,236,181, 10, 44,138,162, 80,113,200,114, -117, 15,121, 75,250, 96,205,152, 49, 3,214,214,214,213,110, 51, 24, 12, 92,108,108,108,188, 90,173,222, 81,219,219,107, 77, 16, - 9, 73,151, 53, 63,236,242,152,246,229, 40, 22, 40, 29,173,181,121,243,102, 59,115, 31,172,138,253,176,234,234,131,229,236,236, -188,104,229,202,149,211,222,126,251,109,146, 36,201, 74, 15, 63,115, 88,134,138, 31,163,209,136,227,199,143, 79, 11, 9, 9,169, - 49, 76, 3,199,149, 54, 63, 21,151,104,160,213,149, 62, 96, 31,221, 11,181,244, 12,168,219,113, 40,115,174,186, 36,229, 86,235, - 92,157,113, 41,125,112, 13,200,174,155,139, 32,169,164,228,148,180, 78,174,142,118,200, 43,120, 14,113, 89,179,160, 25,102,113, - 37, 21,211,104, 96, 43, 71,238,179, 44, 8,133,194,218,220,145,148, 44,117,202, 27,195,134, 12, 56, 71, 82, 2, 73,197, 13, 66, -169,141,213,249,235,119, 27,100,230,149,128,173,144, 79,150,227, 48,117,137,101, 38,166, 80, 40,196,228,201,147,107, 20, 56,199, -142, 29,211,212, 95, 96,233,234, 87, 71,245,112, 50,235,114,176, 44, 21, 88, 85, 97, 30, 93, 72,211,180, 87,153,248,178, 24,237, -219,183, 63,109,101,101,213,212,210,253, 45, 13, 58, 74, 16,196,226,222,189,123, 47,243,240,240,112,254,252,243,207, 9,129, 64, -128,142, 29, 59, 58,246,237,219,183, 0, 0, 90,183,110,109,109,190,199,172, 91,183, 14, 9, 9, 9,217, 4, 65, 44,169,245, 90, - 23,137, 18,109,109,109, 59,246,238,221, 27, 5, 5, 5, 72, 77, 77,133, 92, 46,135,247,234,213,184,251,197, 23,240,221,186, 21, -100,239,222,165, 2, 83, 44,198,221,187,119, 33, 22,139, 19,181,218,106, 59,145,195,205,205,173, 51,199,113, 43, 1,116,199, 95, -205, 18, 28,128,235, 4, 65,124,173, 82,169,110,191,240, 39,146, 32, 75, 95,212,106,175, 40, 81,129, 11,116,105, 98,140, 29, 59, - 22, 52, 45, 2, 68, 34,204,154, 53,171,194,253, 72, 4,170,172, 63, 22,107, 18, 89,242,182,205, 85, 17,235,132, 88, 36, 18,143, -249,228, 83,242,235, 89,211, 89, 35,195,176, 2,129,144,156, 57,127, 57,249,224,254, 61,113,113,113, 49, 73,212,231,205,138, 7, -143,127,137,131, 85, 81,104, 85,112,161,106, 66,118,197,126, 89, 53, 9,180,138,125,178, 0,232, 94, 69, 90, 5,149,222,203, 42, -227, 65, 76, 76, 76, 75, 31, 31, 31,164,166,166,214, 52, 82,174,116, 8,179, 84,138,135, 15, 31, 2,192,131,154, 14,116,233,210, -165,141, 0, 54,154,151, 21, 10, 69,215, 94, 67,123, 93,247,237,237,135,208,181, 7, 11,212,106,181, 47,254,138,137, 69,184,185, -185,141, 18,138, 4, 31, 53,111,219, 40,208,196,178, 43, 47, 29,191,190,168, 38,238,170,125,176, 24,134,121,233, 62, 88, 4, 65, - 12,125,251,237,183,201,248,248,120, 12, 27, 54, 12,191,252,242, 75,141,133, 55,106,212, 40, 28, 56,112, 0,253,251,247, 39, 87, -172, 88, 81, 99,152, 6,142, 3,140, 6, 6,197, 37, 90,104,181,186,215,118,226,253, 93,231, 10, 0, 56,150,185,112, 55, 58,178, - 67, 59,255,174,194,228,180, 12, 72, 68,194, 74, 2,203, 74, 76, 67, 34, 46, 93,231,234,212, 0,225, 55, 46, 27, 24,198, 88,215, - 48,248, 20,131,246,249, 11, 65, 26, 57,130, 74,234,215,189, 93,131,106, 29,207,185, 99,208,238,183, 53, 22, 9,172,159,127,254, - 89, 83,147,123,101,105, 25,112, 28,202,155, 8, 75, 52,175,182,142,156,157,157,157,156,157,157,183,216,217,217, 73,204,125,135, -170,219,110,107,107, 43,169,205,225,170, 75, 92,149,197,197, 74, 88,190,124,121,189, 68,150, 72, 36,106,122,253,250,245,150,230, -126,129,181,125,235,245,122,124,244,209, 71, 22,217,130,145,145,145, 59, 59,116,232,240,200,201,201,233,124,183,110,221,196,241, -241,241, 88,186,116, 41, 33, 20, 10,109,204,215,101, 81, 81, 17, 4, 2, 1,242,242,242, 64, 16,196,216,200,200,200, 51,181,113, -234,116,186,176,176,176,176, 14,131, 6, 13,162, 18, 18, 18, 32, 16, 8,192,178, 44,116, 93,186,192,119,235, 86,220,155, 62, 29, - 61,147,147,161, 51, 26, 33,145, 72,112,230,204, 25, 67, 73, 73, 73, 88, 45,121,223,126,243,230, 77, 31,137, 68, 2,131,193, 0, -150,101, 65,146, 36, 65, 81, 84, 15, 31, 31,159, 13, 0, 2, 42,238,223,164,137,147,115, 71,223, 86,173, 77, 44,107, 82,170,178, -179,107,117, 43,173,179,225,228, 37, 46,239,111, 69, 11,105,208,130, 82, 97,101,118,174,104, 33, 13,154, 22, 65, 44,178,168, 9, -159,171,122,238,152,251, 94,201,100, 86,108,139, 22, 45,226, 31, 60,124,228, 13,128,180,181,181,179,184, 95, 44, 15, 30,255, 52, - 13, 85,155, 80,170,120,137, 85, 88,206, 6, 64,148, 45,103, 87, 16, 82,217, 4, 65,220,225, 56, 46,160,202,190,230,237,250, 42, -223,230,237, 49,175, 34, 35,181,221, 40, 7,140, 31, 63,126,235,155,111,190,217,103,230,204,153,144,203,229, 80,171,213,229, 23, -173, 72, 36, 66,195,134, 13,161,209,104,112,229,202, 21,228,231,231, 95, 4,240,153,165, 7, 86,171,213,183, 30, 70, 63,120,214, - 99, 80,103, 7,175,206,173,237,210,147,210,187,168,213,234, 27, 0, 8,119,119,247,159,134, 79,127,251,147,160,247, 59,129, 22, - 9,145,246, 48, 3,151,142, 95,175,145,171,106, 31,172,191, 19, 27,139, 36, 73,138, 32, 8, 12, 27, 54,204,162,253,135, 15, 31, -142,203,151, 47,163,182,230,196,210, 38, 66, 3, 74,138, 53, 40,121,133, 2,139, 32, 8,152, 76,166,114,231,202,252,233,167, 50, -128, 36,201,114, 97,241,118, 22,107, 49,167,182,164,100,213,213, 11,199, 38,182,246,110,239,212,213,175, 21, 30, 60, 73,195,170, -121,127, 53,181,204,154, 52, 28,187, 15, 28,135,155,171, 3,116,154,231, 56,123,234,120, 65, 97, 97,225,170,151,205,195,238,163, -151, 1, 0,111,140,172, 60, 70, 96,216, 87,235, 44, 59,129, 5, 2,140, 27, 55,174, 70, 7,235,252,249,243,154,138, 78,100, 93, -117, 84, 92,172, 69,137, 70,243,202,234, 72,161, 80,248, 6, 4, 4,156,223,182,109,155,131,163,163, 35, 84, 42, 85, 37,129,165, - 80, 40,124, 59,118,236,120,126,219,182,109, 14, 78, 78, 78, 72, 77, 77,181, 56, 68, 72, 21,113,133,236,236,108, 34, 47, 47,143, -109,208,160, 65,189, 68, 22, 73,146,208,233,116, 72, 72, 72,176,244, 26,177, 56,232,104,211,166, 77,127, 89,191,126,189,248,233, -211,167, 48, 26,141,136,143,143,127, 97, 16, 2, 69, 81,152, 51,103, 14,230,207,159,191, 5, 64,227,218,248, 24,134, 89, 59,122, -244,232,241, 74,165,178,129,139,139, 11,212,106, 53,104,154, 6,199,113, 32,130,130,240,198,147, 39, 48,152, 76,144, 74,165,184, -127,255, 62,118,236,216, 81,108, 48, 24,214, 86,199,229,233,233, 41, 2,208,146,166,105,124,252,241,199,149,182,237,217,179, 7, - 93,189,242, 58,218,117,162,159,155, 56, 90,247, 28, 94,167, 73,146, 36, 58,250,181,106,213,163,107,187,182,113,241,201,143, 84, - 89,185,215,107, 21,255, 5, 14, 48,168,196, 0, 77,255,213,223,170,172,207, 21, 37, 18,149,143, 40,228, 68, 34,176, 34,203,130, - 5, 87, 20, 77, 4, 65,192,193,193, 65,183,110,237, 42,177, 76, 38, 51, 1,128,181, 92,102, 58,184,103, 51, 28,236,237,117,220, -203, 88,161, 60,120,252,115,157,171, 59,255,139,255,190, 22,129, 21, 21, 21,245, 4, 64, 95, 0, 35,175, 92,185,178,102,198,140, - 25, 78, 61,122,244, 64,110,110, 46, 26, 55,110, 12,133, 66,129,136,136, 8,196,196,196,228,112, 28, 55, 51, 50, 50,178, 58,171, -167, 45,106,137, 57,163,122,172, 62,100, 40, 41,249,194,183, 71,107, 92, 14,189, 26,226,234,234,250,153, 64, 32,248,114,204,220, - 65,159,244,122, 47, 0, 73, 81,201,184,117,238, 46,212,169, 57,181,114, 90,210, 7,171,226,119, 53,125,176,202, 57, 89,150, 53, -233,245,122,252,246,219,111, 22,137,172,253,251,247, 67,171,213,130,101, 89, 83, 77,121, 55,177, 38,194,218,198, 9,238,141,188, - 96,208, 23,131,101, 45,127,179,228,234, 40, 79,134, 97,176,104,209, 34,204,158, 61, 27, 75,150, 44,169, 85,136,108,222, 92,109, -223,175, 74,156,121,121,121, 69, 98,177,120,212,129,159,215,135,142,156, 48,205,218,163,155, 47,118, 30, 60, 5,163,193, 8,137, - 88,128, 6, 54,114,180,104,234, 14,189,182, 4, 63,110, 92, 83,168,213,106, 70, 85,211,247,172,182,122,175,132,177, 67, 2,241, -253,142, 63,112,117,223, 95, 6,229, 27, 35, 23,226,215, 31,166,194,207,111, 87,173,156, 38,147, 9, 66,161, 16,251,246,237,211, -212, 52,154,144,162, 40,212, 34,176, 42,213,145,141,141, 19, 60,154,120, 67,175,125,254,202,234,200,193,193, 97,246, 79, 63,253, -228,160,209,104,144,152,152,136,196,196, 68, 16, 4,145, 80,117,123,113,113, 49,238,221,187,103, 22, 57, 9,150,150,167,217,185, -202,206,206, 38,212,106, 53,172,172,172,200,216,216, 88,109,251,246,237, 19, 80,214, 71,171,174,188,235,116,186,167,125,236, 87, -186, 77, 0, 0, 32, 0, 73, 68, 65, 84,250,244,169,201, 49,114, 23,139,197,149,166,108, 50, 7, 29,173,166,169,240,133,116,166, -165,165, 69,175, 95,191,190, 81,171, 86,173,176,125,251,118,157,181,181,181,104,198,140, 25,160, 40,138, 88,183,110, 29,151,155, -155,107,152, 51,103,142,232,218,181,107, 40, 46, 46,142,182,224, 30, 82,164,213,106, 39,118,235,214,109,239,233,211,167,165, 45, - 91,182, 44,159,233, 97,247,238,221,152, 50,101, 10,164, 82, 41,146,146,146, 48,120,240,224,146,146,146,146,137,168, 28, 3,171, -156,147, 97, 24, 66, 40, 20,114, 44,203, 98,193,130, 5,149, 2,139, 90, 89, 89, 65, 42, 50, 97,219, 98, 79,217,244,239, 51,100, -211,190, 24, 61,186,244, 60, 97, 77,113,241,201,143,182,237,252,227, 18, 42, 71,137,127, 33,239,172,109, 1, 28, 91,150, 58, 88, - 66,115,204, 43, 90, 92,105,244, 96,105, 28,172,210,184, 88,117,229,189,106, 87, 12,123,123,123,198,223,223, 47, 94,163,209, 80, -102, 45,229,232,232,120,175,108, 95,174, 97,195,134,250, 23, 79, 79,203,175,205,122,128,231,228, 57,121,212,211,193, 2, 0, 68, - 71, 71,239,243,241,241, 57,189, 98,197,138, 21, 71,143, 30,157, 48,109,218, 52,194,198,198, 6,135, 14, 29,226,114,115,115,119, -137, 68,162,217,183,110,221,122,169,120, 17, 28,199,237,190,118,252,214,164, 17,211,223, 37,166,253, 48,182,123,116,216,189,132, -246,221, 91,162, 93,183,150,136,184, 24,143,205,243, 14,252,194, 24,153,239, 50, 50, 50, 82,107,227,177,164, 15,150,249, 35, 16, - 8,234,140,131,117,244,232,209,105, 3, 6, 12, 32,195,195,195, 95,232,115, 85,177, 31,214,249,243,231, 97, 48, 24,112,232,208, - 33,182,182, 56, 88, 44,112,108,237, 15,223,141,249,121,207, 73, 17, 73, 24,112,243,202, 97, 20,228,101,212, 90, 54, 52, 45,196, -175,251,143, 25, 4, 2,234,126, 45,105, 77,137,140,140,116,248,254,251,239, 41,146, 36,177,121,243,230, 74,206, 85, 85,220,189, -123,151, 53, 26,141,117,214,149, 90,173, 62,207,178,236,240,173,107, 23,239, 14,234, 63,200,174, 77, 27, 31,129,179,115, 35, 8, - 72, 18,249,185,217,184,115,235, 26,115,230,228,239,249,122,189,126,172, 90,173, 62,255,119, 78,192,144,109,191, 87,187,254,131, -105,107,234,114, 81, 24,163,209, 40,144,201,100, 96, 24,166, 90,113,213,167, 79, 31,233,245,235,215, 53, 6,131, 1, 20, 69,213, -170,152, 74,235,104,225,152,159,247,190,218, 58, 50,153, 76, 94,121,121,121, 40, 46, 46, 70, 68, 68, 4,183,121,243,230,236,252, -252,252,121, 21,183,231,230,230,162,168,168, 8,119,238,220,225,182,111,223,158, 93, 88, 88, 56,207,210,242, 51,199,197,202,203, -203, 99,173,172,172, 72,163,209,104,108,223,190,189,132,166,105, 47, 75, 57, 98, 98, 98,222,170,105, 91,183,110,221, 30, 92,191, -126,189, 69,197,185, 9, 25,134,161,117, 58, 93,203,193,131, 7,215,121,255,144, 74,165, 35, 14, 31, 62,188, 79, 34,145,180,211, -106,181,227,179,178,178,118, 3,104, 68, 81, 20, 30, 62,124,152,195, 48,204,208, 5, 11, 22,252, 92, 92, 92,124, 87, 46,151,143, -180, 48,201,255,143,189,239, 14,143,162,218,223,127,103,102,123, 73,111,187, 73, 72, 32, 13,210, 8, 9, 1, 2,132, 42,157, 32, - 40, 32,136, 74, 81, 81, 80,138,128, 20,175,210, 53, 8, 40,136, 10, 2, 34,196, 6,132,166,180, 32, 72, 9, 37,148, 20, 74, 42, -144, 0,105,155,108,122,219,190, 51,243,251,131, 36, 23, 48,101, 19,245,119,239,247, 58,239,243,236,179, 59, 59, 51,239,156, 57, -115,230,204, 59,239, 57,231,115,226,178,178,178,166, 4, 6, 6,126,183,114,229, 74,217,192,129, 3,249,174,174,174,232,222,189, - 59,178,178,178,112,252,248,113,227,214,173, 91, 53, 26,141,102, 6,128,211, 45,188,116,176, 0, 8,179,217,252,212, 28,166, 66, -161, 16,124, 62, 31, 26, 61,137, 55, 63,204,214, 50,224,107, 63,217,240,195,113,150, 5, 81,168, 42, 45, 45, 42,174,188,198, 51, -153,226, 31,169,106, 91,156,235,137, 46,149,162,163,117,112,227,203, 29, 65, 16, 32, 25, 18,132,145, 0, 69, 83,160, 76, 20, 8, - 30,239,177,187,101,217,116, 87,172,217,108, 70, 84, 84, 20,142, 29, 59,134,113,227,198,177,104,161,175,200,177, 99,199, 96,137, -123,203,129, 3,135,255,144,192, 2,128,212,212,212, 74, 0,111, 17, 4, 17, 51,103,206,156, 99, 12,195,240, 25,134, 25,125,243, -230,205,139,127,230,224, 69, 69, 69, 73, 87,142, 39,126,224,228,102, 27, 61, 98, 74, 95, 4,245,240, 4,109,166,113,249, 68, 10, -118,127,114,100,111,126, 94,254,116, 60, 61, 87, 97,147,176,164, 15,214,179, 14, 86,115, 92,106,181,122,197,218,181,107,241,241, -199, 31,183,121, 20, 97,115,219, 36, 36, 22,190, 21,209,157,113, 31,255,124,223,225, 36, 65,176,250, 22,250,217, 16, 4,216,134, -158, 22, 60, 30,149, 25,127, 45, 63,164,133,252,123,110,246,236,217,191,147, 36,233,249,132, 21,138, 22, 30,246,170,178,178,178, - 97,150, 92,155,226,226,226,147,110,110,110,157, 47,196,253,186,236,210,153,147, 3,105,218,232, 67,128,128, 64, 32,184,111,162, -205,231, 77, 6, 67,116, 65, 65,193,159, 14,196,182,236,173,113,120, 84, 88, 10, 30,143,122, 28,123,170, 62,160,233,193, 45, 11, - 16, 22,246, 99,179,251,137, 68,162,147,223,125,247, 93,212,107,175,189, 70,240,120,188,198,102,183,134,243, 39, 73, 18, 87,175, - 94,213, 26, 12, 6,236,222,189,155,149, 72, 36, 45, 6,174,253,187,174, 81,109,109,237,140,177, 99,199,238, 1, 32, 2,112,175, -170,170,234,109,149, 74,149,255,228,250,113,227,198,237, 1, 32, 34, 8,226, 15,235, 91, 67, 67,200, 6, 59, 59,187,244,122,231, - 74,220,158,142,238, 45,148,111,170,185,230, 67, 75,154, 10,235,231, 22,124,177, 97,185,123,247,238,171,103,205,154,245,228,100, -207,241, 0,188,219,145,180,211, 90,173, 54,232,195, 15, 63,156, 39,145, 72, 6,105,181, 90,127, 0,144, 74,165, 25, 26,141,230, -156,209,104,252, 2, 64,101, 75, 4,217,217,217,134, 78,157, 58,101,153,205,230, 96,103,103,231,198,209,135, 66,225, 99, 55,233, -106,134,125, 98, 97, 97, 97,143,199,227, 52,175,181,245,229, 49,191, 37, 71,185,185,125, 90, 90,111, 48, 24, 74,174, 92,185, 98, -127,230,204, 25,138,166,105,196,197,197, 53,190,244, 53,213, 26,152,157,157, 13,131,193,160,227, 30,115, 28, 56,252,103,240,119, -143, 48,177,200, 66, 84, 42,149,147,196, 50,209,108,207,206,202,144,194, 28,117, 90, 77,165,230, 71,149, 74,181, 29,143, 67,214, -115,246,233,255, 40,167, 64, 98,117,138,160, 4,158,205, 62,112,104,227, 35,163,182,102,120, 83,156, 61,123,246,116, 19, 8, 4, - 27,244,122,253,200,150,162,180, 83, 20,101,150, 72, 36, 39,117, 58,221,251, 77, 76,246,252,127, 46, 63, 87,174, 92,217,164, 37, - 97,233, 40,194,149, 43, 87, 50,109, 73,103, 72, 72,200, 57,169, 84,170,108,106,157, 70,163,201,189,117,235,214,176,255,146,252, -124,114, 4,160,197,156,237, 26, 69,248, 31,186,143,220,220,220,196,214,214,214, 27, 72,146, 84, 90, 40,142, 13,106,181,122, 65, - 89, 89, 89, 17, 87, 47,113,156,224,154, 8,255,231, 16,204,113,114,156, 28, 39,199,201,113,114,156, 28, 39,199,249, 79, 3,215, - 64,207,129, 3, 7, 14, 28, 56,112,224,240, 23,131,104, 65,133,182,197,250,107,143,146,189,195,113,114,156, 28, 39,199,201,113, -114,156, 28,231, 63,142,179, 53,110,174,233,241,111, 18, 94, 28, 39,199,201,113,114,156, 28, 39,199,201,113,254,243, 56,255,167, -192, 53, 17,114,224,192,129, 3, 7, 14, 28, 56,252,167, 4,150,204,197, 63,192,209, 51,100,143,157,123,215, 91,118,238, 93,111, - 57,122,134,236,145,185,248, 7,252, 19, 51, 77,169, 84, 74, 20, 10,197,148, 14, 29, 58,156,238,214,173, 91,181,171,171,235,123, - 92, 81,106, 59, 6, 0,188, 73,192, 59,175, 1,185,175, 1,185,147,128,119, 6,252,133, 19,144,255,183, 96,245, 59,174, 17,241, - 39,167,156, 92,253,142,107,147, 1,216, 86, 46, 84, 58, 92,138,155,248,197,178,119, 92,237,255,162, 67, 90, 57, 59, 59,239,112, -113,113,121,232,236,236,252,200,217,217,249, 59, 0, 54, 92,137,227,192,129, 3,135,255,127,176,232, 97,102,231, 17,252,134,143, -151,207,251,171, 87, 44, 35,220, 20, 78, 82,147,153, 54, 62,120,152, 31,184, 98,237,186, 3,133, 66,222,231, 21,185,119,190,109, -199,177, 9,119,119,247, 73,124, 62, 63, 10, 64,131, 80, 75, 55,153, 76,199,242,243,243,247,193,178,225,214,232,218,181,235, 37, -138,162, 60,218,114, 96,134, 97, 30,222,186,117,171,127,123, 50,204,213,213,117,162,171,171,235,119, 17, 17, 17,210,208,208, 80, - 8, 4, 2,172, 95,191,126, 97, 97, 97,225, 38,203,149,197, 0,158,115,165,253,107, 20,143, 55, 6, 64, 8,203, 2, 32,168, 91, -140,201,120, 92,109, 87,182, 7, 23, 46, 88, 20, 70, 92,161, 80,124, 64, 16,196,180,250,188,250, 86,165, 82,109,248, 59, 10,137, - 82,169,236, 64, 16,196, 32,150,101,253, 73,146,188,205, 48,204,111, 42,149,170,236,207,242,186, 0,111,245,137,140,252, 98,234, -194,133,148, 54, 62, 30, 95,124,247,221,102, 84, 87, 3,192,215,109, 45, 75,189,122,133, 78,176,178, 66, 20, 1,132,129, 0, 65, -130, 77, 41,175, 36, 79,220,184,145,188, 15, 22,196, 82,107, 14, 97, 97, 97,199, 1,140,170, 95, 60,145,156,156, 60,186,173, 28, - 21,217,204, 71, 34,190,127,191,138,251,231, 62, 2, 48,242,217,245,102,157,120, 42,197,239, 16, 69,177,201,121, 0, 62,251,147, -217, 42,117,114,114,186,117,228,200, 17,247, 94,189,122,241, 0, 32, 49, 49,241,181,168,168,168,193, 37, 37, 37,193, 0,170,255, - 19, 21, 77, 68, 68,132,157,217,108,142,161, 8, 34,130, 97, 24, 91, 0, 32, 73,178,146,102,217,171, 60, 30,111,106,123,131, 21, -115,224,192,129,195,255, 89,129, 37,115,238, 18,232,231,227,187, 48,238,112, 76,135,202,242, 74,221,215, 27,246, 36,107,121, 66, - 77,167, 64, 63,193,150,207, 63,181,125,119,254,162,249, 70,189,233, 90,157, 58, 51,205,210,131, 42, 20, 10, 15,145, 72,116,232, -131, 15, 62, 8,142,140,140,228, 59, 59, 59,163,184,184, 24,153,153,153,193,151, 47, 95, 30,119,228,200,145,133,122,189,254,197, -214, 34,184, 3,128, 76, 40,240,218,247,233, 39, 10,161,173, 29, 88,218, 12,219,160,110, 0, 0,150, 97,160, 58,127, 26,140,201, - 4,150,161,225, 62,226,249,199,255,179, 44,122,246,236, 41,104, 79,102,185,185,185,185,250,249,249,253,176,116,233, 82,129, 94, -175, 71, 74, 74, 10, 18, 18, 18, 24,181, 90,189,206, 82, 14,231,224,113,129,100,141,232,192,216,113, 35, 59,142, 30,234, 44,244, - 84, 56,129, 97,196,200,204, 49,122,156,190,152, 60,226, 68,220,111,239,211, 1,227, 38,150,164, 31,185,221, 18, 79, 80, 80, 80, - 68, 69, 69,197,199, 5, 5, 5, 13,194,111,125,207,158, 61,151, 63,185,205,179,193, 7, 25,134, 1,143,199, 43,214,104, 52,147, - 82, 83, 83,147,155,226,253,240, 13,152,204,230,199,229,130,199, 3, 29,243,155,251,225, 65,131, 6,117,154, 49, 99, 6,194,194, -194,144,152,152, 56, 40, 54, 54,118,222,241,227,199,111,152, 76,166, 19, 34,145,232,252,163, 71,143,218, 53,193,162, 0, 88, 60, -117,225, 66, 74,254,240, 33,228, 41, 41,120,165,186,154,247, 41,176,184, 45, 2, 43, 44, 44,204,203,193, 14, 7,198,189, 56, 32, - 64,161, 8, 20,240,249,142, 96, 89, 22, 38, 83,121,231,146,146,244, 9, 54, 54, 88, 90, 85, 69,141,191,113,227,198, 61, 75,248, -194,195,195, 93, 24,134,249,134,101, 89, 1, 65, 16,115, 0,140,138,139,139, 3, 77,211, 24, 61,122,244,168,176,176, 48, 47,150, -101,191,148,203,229,172, 86,171,125, 61, 49, 49,177,184, 37,231,170,242, 62,243,145,138,242, 30,209, 37,124, 26,138,120,167, 70, -188, 55, 12, 39,109,189,201, 53,203,191, 46,188, 10, 0, 35,188,189,173,170, 10, 36, 75,228,214,193,246, 85, 5,167,151,140,240, -246,222, 25,151,157, 93,211,222, 27,218,213,213,117, 67, 76, 76, 76,135,136,136,136,198, 32,185,161,161,161,212,250,245,235,221, - 22, 44, 88,176,185,162,162, 98,186,133,162,186,179,131,131,195, 41,134, 97,244,105,105,105,157, 27,254,119, 10,121,161,143,131, -149,236,185,146,138,154,248,178,180, 95, 46, 88,194,213,189,123,247, 25, 4, 77,239,248,252,195,119,169,128,144, 16, 72, 29,157, - 97, 44, 44, 68,157,217,100,127,245,102,234,232, 79, 55,237, 40,233,222,189,251,204,164,164,164,239,184, 42,153, 3, 7, 14,255, - 24,129, 37, 18, 9,151,174,248,215, 18,162,162,172, 82,107,172,169, 54, 74, 89,131,217, 90, 42, 38,170,213, 37,149, 15,172,165, -154, 5,243,231,138,151, 44,253,215,210, 58,224, 21, 75,197,149,191,191,255,245,157, 59,119, 58,219,219,219,163,170,170, 10,101, -101,101,184,126,253, 58, 88,150,197,200,145, 35, 69,221,186,118, 13,251,124,211,166, 4, 0,189, 91, 19, 89, 60, 62,143,224,203, -100, 56, 56, 32, 12,164, 64,128,241, 25,170,199,226,194,100, 68,220,228, 49, 0, 0, 74, 40,196, 75,119,213, 0, 0,177, 88,220, -238,204, 98, 89,182,119,223,190,125, 5, 0,176,112,225,194,234,186,186,186,104,130, 32,126, 82,169, 84, 5,150,236,239, 16, 60, -198,207,209,201,233,194,198,181,111,218, 7,123,121,195, 96, 50, 33, 95, 93, 0, 22, 66, 40,156,101,120,101, 92, 55, 65,223,112, -129,239,103, 95,255,126,158, 32,159,239,175, 78,253, 53,181, 89, 97, 41,147,197,108,222,188, 25,251,247,239, 7, 0,156, 59,119, - 14,126,126,126,178,214,210,144,153,153,233, 61,109,218,180,189, 0,124,155, 90,111, 54,131, 23,253,241, 79, 0,128,152,157, 83, -168,172,172,172, 78, 18,137,228, 9,243,109, 0, 6, 12, 24, 64, 70, 71, 71,247, 58,119,238, 92,175,189,123,247, 26, 77, 38,211, -230,194,194,194,216,246,228,169, 54, 62, 30,242,148, 20, 32, 62,190,205,251,118,235,214,205, 35, 32,192, 33,225,179,141,203,157, -142, 30, 75,197,198,141,223,225,254,253,251, 0, 0,111,111,111, 76,121,121, 34,255,167, 31,191, 9, 90,186,116,229, 21,154, 14, -139, 76, 78, 78,110, 53,186, 57,195, 48,223, 68, 71, 71, 63, 47,151,203,177,116,233,210, 44, 47, 47, 47, 88, 91, 91, 99,251,246, -237,176,179,179,131,201,100,202, 90,191,126, 61,175,176,176, 16, 91,182,108,217,245,132,187,245, 7,244, 31, 53,224, 35, 17,223, -191, 95,151,240,105,144, 91, 43,177,243,231,125,200, 76,220,211, 79,111,202,248,104, 25, 46,188, 74,177,162,105,234, 92,217,210, - 78,225, 3, 29,124,131,198,162, 99,247, 20, 71, 61, 29,159,243,225, 80,175,117, 60,177, 46,102,229,103, 77,184,132, 19, 98,169, -224,234, 27,246,119, 78,203,202,128,198,160,161, 68,253, 7, 12,139, 49, 3, 6, 12,160, 26, 4,246,195,135, 15, 97, 48, 24, 16, - 24, 24, 72, 26, 12,134, 65,150,138,171,254,253,251, 95,250,225,135, 31, 28,250,245,235, 87,242,212,253,235, 96, 59,252,194,161, -205,115, 63,254,226, 71,255,239, 89,162,178,181, 23,129,238,221,187,207,232,218,217,251,219,205,235, 87, 16, 84, 93, 62,120,182, -101, 0, 83, 6,213,222, 93,128,212, 30,163,223, 94,128, 30,189,122, 81,115,231,127,240, 45, 17, 30,206, 38, 38, 38,238,230,170, -101, 14, 28, 56,252, 35, 4, 22,195, 50, 33, 78, 78,246,226, 45, 27,246, 36, 42,197, 36,161,112,119, 37,132,214,182, 60,200,101, - 34,146,226,107,189,189,221, 5, 12,203, 52, 55, 85,200,179, 67, 45, 9,145, 72,116,104,247,238,221,206,124, 62, 31, 12,195,192, -201,201, 9, 57, 57, 57,168,168,168, 64,109,109, 45,238,167,167,163, 99, 7,119,204,157,249,166,114,205,198,207, 14, 1, 8,199, -211,205,133, 79,113,178, 12, 11,198,252,116,139, 26, 65, 16, 77,182, 47,182, 48,141,140, 69, 67, 66, 25,134,121, 80, 88, 88, 8, -169, 84,138,128,128, 0,249,141, 27, 55, 46, 22, 22, 22, 22, 88,196, 57, 97, 2, 37,120, 68,252,186, 97,237, 36,123,130,202, 66, - 86,110, 37,124,220,123,194,193,166, 3, 10, 74,106,145,148,118, 2, 89,247,143,195,199,221, 3, 51,167,248,216,110,250,166,228, - 24,194,102,250, 32,121,135,169, 41,206,154,154, 26,185,135,135, 7,220,220,220,192, 48, 12,104,154, 70,106,106,106,227,239,134, -249, 18, 27,126,111,254,233, 50,236,168, 82, 76,122, 97, 20,202,203,203,229,150,158,123,131,184, 58,240,153,107,144,182, 78, 37, - 0, 0,137, 76,105, 28,191,160, 32,181, 71,143, 30,112,114,114, 18, 92,185,114,101, 1,128,216,182,230,167, 17, 88,255,197,238, -221, 91, 94,169,170, 34, 1,224, 91,130, 96,140,143,163,106, 91, 84,150,156, 28,137,195,155, 54,125,228, 68,176,105,176,183,249, - 20,215,175, 63,130,209,248,248,202,151,149,169, 49,231,157,106,240,120, 86,248,236,179, 21, 14, 47, 77,154,117, 16,143, 71,189, - 48, 45,165,147,101, 89, 65, 70, 70, 6,130,130,130,176,119,239, 94, 30, 69, 81,184,118,237, 26, 36, 18, 9,166, 77,155,134,224, -224, 96,158, 68, 34,193,197,139, 23, 81, 93, 93, 77,180,148,206,248, 19, 23,214, 84,100,159,251,168,136, 58, 53, 98,231,207,251, -240,230,203,147,160, 48,103, 95,180,243, 33,215,140, 28,221,103, 57,197,239, 16, 37,179, 10,182,243, 11, 30, 11,129, 80,142,119, - 23,175, 70,214,157, 95,237, 52, 53,183,223,161, 77,121, 29, 86,126, 22, 59,239, 15,233, 60, 48,145,158,186, 59,190,251, 25,143, -100,207, 59, 41, 51,175,169,146,119,220,250,247,161, 3,120, 32,181,182, 13,226,234,222,189,123,184,127,255, 62, 40,138,130, 86, -171,125,106,162,224, 39, 57, 67, 67, 67,223,162,105,122, 57, 0, 24, 12,134, 61, 18,137,100,198,151, 95,126,233, 64, 81,255,158, - 41,170,193,185, 42, 86,151, 85, 92,185,145,154,185,224,173, 9, 3,227,175,222,201, 51,242,199,230, 86,221,250,165,170,169,252, -140,136,136,176, 35, 25,102,199, 23, 27, 87, 17,116,246,239, 16, 5, 12, 4, 79,238, 7,218, 84, 0, 93, 69, 45,180, 57, 69, 48, -110,255, 10,222,111,207,199,134,245, 31, 19, 47,191,250,250, 14,111,111,239, 67,217, 79, 59,120,127,199,112,109,142,147,227,228, - 56,255, 59, 57,255, 89, 2,139, 32,200,106,163,209,196,183,238,224,102, 26,255, 98,255,174,201,215,238,100,201,237,109,200,110, - 61,187, 6,222,201,202, 79,130,153, 54, 18, 4,105, 81,191, 14,119,119,247, 73, 43, 86,172,232,106,109,109, 13,134, 97, 96, 99, - 99,131,146,146, 18, 24,141, 70, 84, 87, 87, 67, 95, 91, 3, 99, 77, 53,110,230, 62, 68,228,192,129, 24,218,187,119,192, 9,147, -105, 82,126,126,254,222,230, 56,105,146, 98, 29,194,122, 98, 98,118, 25, 24,163, 1,177,222, 14,141,174,213,228,135,149, 32, 8, - 2,180, 65,143, 19, 61,125, 33,146,203, 16,242,254,138,118,103, 86, 81, 81, 81,242,153, 51,103, 78,142, 24, 49, 98,228,204,153, - 51,201,162,162,162, 56,179,217,220, 87,173, 86,183,218, 60,234,124,151,158, 54,117,102,152,183,163, 45,137,163,151, 79, 33,194, -255, 5, 72, 69,124,148, 84,104, 65, 18, 4,238, 63, 56, 3,154,150,225,102, 70, 46,122, 7,203,208,175,151,141,123,237,239,229, - 51, 75,155,111, 46, 35, 42, 42, 42,160, 86,171, 97, 50,153, 96, 54,155, 49, 97,226, 68,196,236,217,131,186,186, 58,232,116, 58, - 24, 12, 6, 48,204, 99, 61, 81, 84, 82,139,235, 55,227, 16,222,181,115,131,227,209,116,129,224,193,252,229,230, 41, 60, 43, 41, - 32, 16, 57, 25,107,106,106, 32,147,201,160,173, 83, 9,166,190,217,232,108, 9,206,157, 59,135,164,164, 36,184,186,186, 90, 84, -142,154,194,125, 96,199, 3,154,254,112,228,225,195,206,151, 15, 31,102,174, 30, 61,154, 47,170,169,217,110,201,190,189,122,133, - 78,120,247,221,209, 1, 18,177, 4,249,185,155,225,239, 47,192,194,247, 28, 16,253,105, 41, 0, 96,238,187,238, 8, 15,119, 64, -117,229, 1, 56, 58,127,128,133, 11,198,249,212,214,178,175, 37, 36,164,236,105,185,188, 19,115,126,252,241,199,172, 97,195,134, -241,146,147,147, 33, 18,137, 32,145, 72, 32, 22,139, 33,145, 72, 80, 84, 84, 4,131,193,128,216,216, 88,115,125, 19, 98,179,168, -111, 6, 28,249,222, 80,156,204, 76,220,211,207,141,204,185, 57,110, 65,159, 7,201,215,110,214,158,253,253,242, 26,179, 78,156, - 87,153,127,122,137, 87,143,155,142,239,188,191, 10, 95,109, 88,129,204,107, 23,202, 93, 60,106,190,166, 9,125,147,233, 28, 48, - 96, 37,207,221, 93, 97,154, 61, 99,188,205, 49,229,149, 55,143,241, 80, 90, 92,126,123, 35,178,175,107, 69,126, 65,175,118,246, - 34, 12,103,207,158,149,244,239,223, 31, 90,173,246,241,189, 64, 81,248,241,199, 31, 25,179,217,124,174, 41, 78,147,201,180, 60, - 41, 41, 73,169,209,104,240,242,203, 47,207, 93,185,114,165,140,207,231, 63,190,191,104,250, 41,231,106,237,166,239, 79,205, 95, -254,245,185, 83,123, 63,117, 93,187,116,198,192, 87,222,253,248, 28,128,184,166,221, 80,115,204,166, 79,151, 81, 34, 91, 35,136, - 30,195, 96, 84,107,241,232,219,153, 48, 84,105,209,121,205,106, 0, 2, 24,140, 20,142,141,155, 8,202,222, 21,111,244,239,203, -219,126,225, 82, 12,128,113, 92,213,204,129, 3,135,103, 94,126,123, 0,112,170, 95, 44,173,127,142, 57, 0,104,112,217,157, 0, - 24, 0, 8,159,216,237,217,229, 39,183,125,118,249,201,223,165,245,198,142, 19, 30, 79,217,119,157, 32,136, 54,247, 19,109, 24, - 69,248,164,225,195, 62,227,218,196,223,207,126,168, 29, 56, 32, 92,121,238,250,221,228, 17, 47, 12,237,217,127,112,175,136,226, -178,234,108,133,147,181,236,202,181,171, 34,134, 97, 44,106,223,225,243,249, 81,145,145,145,188,138,138, 10, 72,165, 82,148,148, -148,160,160,160, 0, 70,163, 17,218,170, 74,232, 43, 43,160,173, 40,135,169,166, 18,247,111, 92, 67, 23, 15, 55, 81,125, 39,120, -139,240,172, 67,213, 48,131, 61, 65,146, 16, 91, 91, 65, 98,109, 13,138,106, 91,100, 10,165, 82, 57,182, 75,151, 46, 87, 93, 93, - 93, 63,172,127,195,127, 39, 58, 58,186,148,101, 89, 44, 89,178,196,218,218,218, 58,214,211,211, 83,212, 26,143,149, 61, 61,161, - 87, 87, 95, 42,235,209,109,132,251,141, 71, 39,101,127,220, 47,168, 66, 73,149, 14, 69,229,117,232,220,249,125, 56,185,190, 9, - 27,197,219,184,157,153, 7,165,162, 19, 73,241, 5, 35, 90, 17,124, 79, 45,255,252,211, 79,208,104, 52,240,245,245,197,228,201, -147,177,120,241, 98, 76,154, 52, 9,174,174,174,232,231,203,195,140, 87, 39, 64,173, 86,183,152,206,181,223,130,191,238, 39,101, -242,212, 21,108,178,239,115, 39, 83,239,223,191,143,172,172, 63,182,172,253,254,251,239,168,170,170,106,124, 0, 91, 2,103,103, -231,101, 10,133,226,150, 66,161, 72, 85, 40, 20, 39,138, 93, 93, 51, 76,222,222, 46,125,199,141, 35, 2, 95,122,137,202,147,201, -136, 7, 29, 58,200, 45,225,178,182,198,232,240,240, 72, 97,101,197,119,141,166,212,140,233, 78,184,116, 33, 8,151, 47,118,199, -156,119,189, 65, 18, 98, 16,164, 0,154,186,223, 17, 24, 20, 44,176,178, 98, 91, 44, 75,245, 29,218,179,131,130,130,120,179,102, -205,130, 72, 36, 66, 76, 76, 12,182,109,219,134,207, 63,255, 28, 89, 89, 89,240,244,244,132, 82,169,132,139,139, 11, 15, 64,118, -253, 62, 45,194,214,135, 92,163, 55,101, 92,180,243,147,101, 19,164,115, 31,189, 89, 60,126,229,103,170,178,181, 91,115, 62,123, -144,169,245,206,184,118,161, 44,235,206, 47, 76,206,141,115,165,133,119,107,189,215,110,205,249, 44,250,235,194,242,166,184, 46, - 92, 88, 65, 31, 57,113,193, 88, 87,171,225,141, 29,249,156,246,237,233,147, 59,219, 75,187,252, 8,183, 97,161, 29, 59, 40, 95, - 93,241,201, 22,195, 27,179,230, 27,191,221,245, 29, 91, 83, 83,131,234,234,106,124,241,197, 23,230,163, 71,143, 22,208, 52, 61, -191,153, 36, 82,245,130, 8, 19, 39, 78,148, 73, 36, 18,228,229,229, 53,186,160, 0,160, 42, 41,187,125,249,198,157,140, 5,111, - 79, 28, 80,167,215,235, 79,157, 79, 76, 15,244,243,116, 39, 8,182, 99,115,231, 77, 17, 68, 68, 80, 72, 8, 88,182, 18, 36,207, - 3,249,223,111,132,182,168, 28,154,146,114,144,124, 25, 76, 16,195,200, 10, 33, 14,233,137, 71, 73, 41,112,145, 91,131, 71, 16, -125,185, 71, 9, 7, 14,255, 92, 29,213,156, 22, 1,224, 68, 16,196, 49,130, 32,142, 45, 91,182,108, 16, 0, 7,130, 32,142,213, -139, 32,167,250,223,194,134,109,154, 89,118,122,146,231,153,125,159,252,237,184,108,217,178,193, 4, 65, 28,235,211,167,207,171, -245, 66,174,205,104, 85,109, 80, 58, 67,244,178, 15, 87,144,214,114,161, 85, 96, 64, 39,187,163,191,197, 39, 95,190,154,146,110, - 37, 21,139,106,235,234,132,159,127,185,205,131,208,104, 45,237,228, 29,224,232,232, 8,163,209,136,123,247,238, 33, 63, 63, 31, - 70,163, 17,102, 77, 29,244,149,149,208, 85, 84,128,209,212, 66, 64, 51,208,150,150,192, 78, 44, 4,254, 61,194,176, 37,101,219, - 40,166,154, 18, 92, 4, 65, 64,108,109, 5,161,149, 28, 36,143,178, 56,115, 20, 10, 69,247,208,208,208,253,103,207,158,237, 21, - 25, 25,185,198,211,211,211,166,184,184,248, 81,113,113,241,115, 27, 54,108,208, 59, 57, 57,225,149, 87, 94,233, 98, 50,153,166, -182,198, 37, 16,235,187,122,186,248,193,195,101, 44, 92, 29, 34, 80, 86,173, 71, 73,165, 22, 69,101, 26,236, 59, 56, 25,167, 79, - 78, 70,202,197, 87,113,239,218, 12,148,213, 89, 67,108, 63, 8, 0,219, 98, 32,183,171, 87,175,226,155,111,190,105,252,124,245, -213, 87, 40, 47, 47, 71, 80, 80, 16,242,242,242, 16, 23, 23,135,162,162, 34, 56, 57, 57, 33, 37, 37, 5,219,183,111,199,181,107, -215,218, 92, 72,116, 58, 29,248, 66, 7, 99,204,206, 41,136,217, 57, 5, 52, 43, 51, 62,153,247, 22, 23, 54,146,156,166, 26, 55, -174,171,202,214, 54, 48, 36, 36,100,228, 75, 47,189,228,221,171, 87,175,198,245, 62, 62, 62, 30, 60, 30,175, 72,169, 84,126,171, - 84, 42, 67, 91, 36, 99,216, 48, 59,251, 0, 24,244, 25,245,215,152, 7,130, 16, 97,240,208,116,244,237,151, 4,163, 73, 8,130, - 20,129, 36,196, 48,155,203, 96,109,229, 2,150, 37, 90, 11,140, 55, 42, 46, 46, 14,223,124,243, 13,114,114,114, 26,155, 71,163, -162,162,230,188,252,242,203,135,104,154,198,177, 99,199,112,228,200, 17,120,121,121, 33, 52, 52, 20, 70,163,113, 84,107,231,189, -252,235,194,171, 63,125,126,114, 50,223,108, 27, 42, 20,121,122,145, 53,210,177,179, 7, 56,202, 0, 32, 46, 59,187,198,197,163, -102,157,166,230, 78,174,157,123,221,167,173,119,112, 39,216,196,172,212,107,123, 15,254, 86, 85, 92, 90,198, 15,235, 22,172,253, -120,213,251,130,142,157,124,215,175, 88, 50,219,165,160, 90, 92, 53,116,238,201,140, 67,113,215,107, 95,155, 49,211,252,250,204, -119,117,167,126,251,253, 48,195, 48, 33,104,102, 4, 33,195, 48, 80,169, 84,184,115,231, 14,114,114,114, 80, 90, 90,138,146,146, - 18,212,212,212, 52, 54, 43, 74,107,170,143,127,181,251,232, 77,153, 68, 34,237,213,213,207,227, 90,114,154, 90, 38,145, 72,253, - 58,121,116, 6,154,158,128,154, 97, 24,219,199,121, 72,160,230, 78, 60,116,229, 53,208, 86,214, 66, 91, 94, 11,189,145,130, 78, - 79, 66,103, 36,225,216,111, 24,106,235,180,208,149, 87,130, 97, 89, 59,238, 25,195,129, 3,135, 22,158,247, 81,235,214,173,251, -164,165,245, 79,124, 27,158, 89, 6, 65, 16,199, 88,150,141, 98, 89, 54,170, 94, 76, 53,232,132, 99, 79,242,172, 91,183,238, 19, -150,101,163,174, 92,185,242, 51, 0, 77,123,210,218,106,211, 78, 89,217,221, 90, 43, 34,224,197,249, 75,150,159,248,113,231, 22, -231,242,242,138, 44,129, 88,162, 19,139,133,246,139,151,172,178,173,211, 84,189, 88, 87, 97,249,168,167,138,138,138,198,135,151, - 64, 32, 0,173,169, 3,173,213, 64, 87, 81, 6,194,168,135,128,166, 97, 47,149,194,195,213, 5, 29, 93, 20,173,242, 81, 12, 77, - 20,158, 62,129, 83,175,190,240, 84,179, 32, 99, 52, 32,174, 79, 23, 8,229, 50, 72,108,237, 16,121,228,226, 99,161, 35, 16, 0, - 43, 62,109,149,215,197,197,197, 81,169, 84,254,250,229,151, 95, 10, 74, 75, 75,145,154,154,122,243,209,163, 71, 85,118,118,118, - 86, 38,147,137,185,123,247,238,153,204,204,204,168, 78,157, 58,129,101, 89,159,214,248,106, 42,101, 70,163,137, 65,129,250, 17, -242, 85,119, 96, 35,247, 0, 75,118, 64,113,185, 6, 4,156, 97,210,101, 54,246, 37,211,107,243, 81,167, 39, 44,202, 79,163,209, - 8,147,201, 4,147,201, 4,131,193,128,215, 94,123, 13, 87, 18, 18,240,211,145,243,200,203,203,131,151, 66,138,201,147, 38,162, - 91,183,110, 72, 76, 76,108,119,161,246, 27,114, 42, 85, 34,145, 96,219,182,109,144, 74,165,104,171,192, 82, 40, 20,159,249,251, -251,251,102,214,213, 33, 45, 35, 3, 61, 39, 78, 4, 0, 92,186,116,169,113, 27,173, 86,139, 41, 83,166, 8,115,114,114, 94,207, -200,200,120,157,101,217,207,139,138,138, 22, 54,199,121,252,120, 2,222,126, 59, 13, 37, 37,143,157,221,125, 63, 7, 54,174,123, -144, 99,196,136,209,143, 91,174,108,109,109,241,217,103,150, 5, 29,166,105, 26,219,183,111,135, 68, 34,105, 20, 88, 2,129,160, -239,130, 5, 11, 94,108,106,251,192,192,192, 86, 57,223,155,224, 38,190,116,147,125,199,198,183, 83,176,141, 83, 8, 74,205, 41, - 93,147, 11,138,230,188, 55,193,109,243,166, 3, 5, 58,154,208,239,161, 77,121, 29,120, 98, 93,140, 37,105,204,142,251,210, 80, -222,105,102, 76,145,186,234, 95,239,206,124,197,193,214,206,165,246,219, 47,163,109, 73,146,196,209, 36, 67, 69,144,183,131,221, -216,136, 47,106,223,126,239,163,100,131,249,209, 28,228, 29,203, 68, 11, 97, 79, 24,134, 65, 65, 65, 1, 74, 75, 75,145,155,155, -139,146,146, 18, 16, 4,129,146,146,146, 54, 57,148, 77, 57,202,134,252, 2, 20, 29,222, 5,197,148, 87,208,121,245,106, 48, 12, - 31, 90,141, 25, 7,250, 61,135,234, 42, 45, 12, 12, 1,219,238,125, 48,244,216, 69,144,140, 25, 72,184,194, 61, 65, 56,112,224, -208, 82,189,114,108,233,210,165, 31, 88,184,237, 25,150,101, 45, 10,173,243,172,224, 90,186,116,233, 7, 13,199,138,142,142,214, - 2, 40,252,203, 5, 22, 0,212,148,166,103,167,165,241, 84,181, 26,173,216,206,222, 78, 99, 37, 23,178, 85,149, 85, 84,198,189, - 44, 93, 93,209,253,204, 54, 28, 47, 61, 53, 53, 53,184,160,160, 0,185,143, 30,193,164,169, 3, 97,208, 3, 58, 45,134,244,235, - 11, 49, 0, 49, 1, 8, 24, 35, 40, 74,136,218,218,106, 0, 72,111,141,148, 49,153,158,170,212, 27,155, 5,173,172, 32,148,203, - 32,178,182,122,202,209,178, 4, 18,137,228,167,237,219,183, 43,149, 74, 37, 54,109,218, 4,165, 82,233,175, 80, 40, 52, 86, 86, - 86, 18, 71, 71, 71,116,238,220, 25,225,225,225, 56,119,238, 28, 8,130,184,223, 26,159,217, 32, 76, 74,207,166, 59, 84,215,166, -224, 90,210, 15, 48, 25, 12,232,228,183, 12,122,179, 35,100,206,175, 67,107,252, 21,198,202,243, 0, 0,161,245, 64, 20, 23,151, - 2, 32,238,180,230,220, 61,187,124,235,214, 45,236, 57,124, 9, 30, 1, 3, 81, 84, 30,135, 59,119, 18,225, 98,247, 27,252, 2, -131, 96, 50,153,218,242,150, 96,177, 32,177,176,160, 79, 89,182,108, 25,170, 36, 18, 96,244,104, 8,178,179, 97, 52, 26, 17, 17, - 17,129, 30, 61,122, 0, 0, 34, 34, 34, 64, 81, 20,124,125,125, 97,111,111,143, 67,135, 14, 77, 1,208,164,192, 98, 9, 34,133, -161,203,252,189,189,189, 27, 5, 86,204,247, 37, 72, 78, 28, 2, 2, 66,108,249,234,223,151,196,195,195, 3, 69, 69, 57, 32, 8, -182,181, 78,153, 39, 70,143, 30, 61,202,206,206, 14,211,167, 79,135, 68, 34,193, 11, 47,188, 0,173, 86,251, 82,253, 27, 13,150, - 45, 91, 6, 0, 88,177, 98, 5, 86,174, 92, 9,141, 70,211,108,136,138,109,107,187,186,214,104,153, 25,164, 70,242,194, 32,199, - 78, 33,131,135, 15,129,151,223,115, 24, 60, 60, 15, 0, 62,113,228, 63,152,248,233, 7,182,135,237,172,137,221, 87,142,156, 89, - 30, 57,114,208,135, 43,141,231,215,172,252,178,162,213, 23,150,202, 7, 59,106, 50,248, 99, 54,111,249,198,188,105,197, 7, 11, - 68,143, 74,141,229,133, 21, 76,173, 76,196,179,242,113,129,124,206,226, 53, 57,133,133,247, 22, 33,239,183, 44, 75,174, 97, 78, - 78, 14,244,122, 61,104,154,134, 94,175, 71,109,109, 45,242,243,243, 27,175,175, 86,102, 61,226,221,233, 99,186,213,105,181,154, -107,183,239,230,126, 56,247,149,222,117, 90,173,230,238,131,220, 44, 96, 11,211,204, 53,175,212,212,212,218, 27,106, 76,168,188, -153, 5,199,193,158, 48,152, 9,232,205, 20,202, 75,107, 96,164, 1, 19,201,135,251,132,215, 96, 38,120,168, 46, 41, 2,217,142, -126, 14, 28, 56,112,248,103, 57, 88, 4, 65, 28,139,142,142,142,250,187,184, 1, 32, 58, 58, 58, 53, 58, 58,250, 79, 29,171, 65, - 96, 13,124,226, 13,119, 96, 83,117,165,135,109,149,219, 39, 31,188,232,106, 50, 25,252,107,107,107,105, 30, 79,200,235, 96,163, - 45, 42,207,181,252, 96, 38,147,233,216,197,139, 23,199,245,235,215, 79,116,247,246, 77,232,171,170,160,175,170,132,128, 49,195, - 94, 28, 14,210,100, 0, 97,208,195,173, 11, 3,109,181, 24, 9, 55, 50, 77, 38,147,233, 88,139, 25, 2,150,101,204,143,133, 3, - 73, 82, 79, 53, 21,138,172,228, 16,202,229, 16,201,173,154,108, 66,108, 14,206,206,206,210,254,253,251, 63, 23, 22, 22, 6,150, -101,177, 97,195, 6, 24, 12, 6, 97,131, 83,100, 52, 26, 81, 83, 83,131,131, 7, 15,226,251,239,191,191,108, 99, 99,179,187,176, -176,101,113,203,152,245, 39,207, 93,190, 57,234,213, 23, 6, 11, 79,159,255, 22, 38,189, 25,181,122, 91,212,233, 12,168,209,242, - 97, 16, 13, 7, 65, 92, 4, 73,137,208, 39,212, 7,103, 47,221,213,209, 38, 99, 92, 91,196, 16, 65, 16,208,235,245, 80,171, 75, - 80, 94,115, 14,168, 41,128,163,177, 6,181, 15,238, 35,244,181,169, 48, 24, 12,173,114,125,248, 6, 76, 78,182, 42,222,247,171, - 73,240,133, 14, 70,191, 33,167,154, 13, 21, 33,151,203, 27,251,232, 88,130,234,234,106,252,240,195, 15,136,136,136,192,128, 1, - 3, 80, 80, 80,128,236,236,108,140, 26,245,239, 86,182,155, 55,111, 34, 57, 57, 25, 62, 62, 62,173,112,177, 39,202,203,239, 77, - 28, 59,118,172,224,234,213,171, 96, 89, 22,126,126, 54,176,182,146,131, 32, 69, 8, 8,112, 2,144, 9,130, 32, 48,112,224, 64, - 24,141,133,230,186, 58,156,104,137, 51, 57, 57,121,116, 88, 88,152,151,201,100,202, 10, 14, 14,230, 21, 21, 21, 97,194,132, 9, -216,183,111, 95,195, 27, 13,150, 46, 93,250,212, 62,181,181,181,186,230,248,186,245,236,188,136,102, 29, 6, 8, 69,158, 94, 54, - 78, 33,240,242,123, 14, 0, 48, 52,106, 6,188,124, 59,160,170,228,150,151, 65,255,232, 5,138, 40,179,251,241,106, 65, 90, 63, -105,240,244,210,188,243,119, 1, 88, 18,184,151,213,222, 61, 90,156,203,183,222,127,224,151, 99,111,141, 25,243, 60,207, 68, 51, -230, 96, 15,158,205,190, 67,199,213, 5,143,114,191, 64,238,111,169, 79,221, 42,205, 11, 44,186,178,178, 18,114,185, 28,217,217, -217,250, 49, 99,198,136,180, 90, 45,238,222,189,219, 40,176,156, 29,237, 3,251,246, 8,246, 95,187,233,251, 83, 50,145, 72, 52, -124, 96,120, 64,218,221, 71,249, 44, 75, 60,108,150,151,101,175,222, 77, 79, 31,237,228,232, 1,213,249, 43,144, 69,142,132, 94, - 79, 64,103,100, 96,160, 1, 51, 37,128, 77,183,158,144,120, 7,128, 97,129,244,219, 55, 97,102,217,203,220, 35,132, 3,135,127, - 44, 90,211, 34, 32, 8,226, 88,239,222,189,247, 62,233, 50, 53,252, 6,160, 7,208, 82,159,232,146, 39, 69, 84, 67,179, 97,115, -199,121,134,183,221, 2,235, 2, 90, 24, 89,230,232,232,232, 28,208, 37,200,123,231,174,111, 97,212, 87, 33, 59,109, 55,234,106, -138,241,209, 39, 9, 62,110,110,110, 3, 10, 10, 10, 46, 88,114,176,252,252,252,125,135, 14, 29, 90,216, 45, 40, 40,172,163,187, - 59,110, 61,124, 0, 1, 75, 67, 64,211, 32,141,122,240,104, 3,220, 3, 25,144,164, 12, 69, 69, 53,216, 30,247,251,157,250,168, -238,205,191,125, 19, 20, 58,140, 25,143,151,135,142, 6,107, 50,226,183,126,129, 16,203,229, 16,217,218,162,207,193,243,143, 67, - 54,152, 77,120,184,238,125, 8,100,114,216, 71, 12,108, 53,157,106,181, 90,115,249,242,229,196,140,140,140, 30, 93,186,116,193, -170, 85,171,144,151,151, 7,150,101,161,182,100, 14,165, 0, 0, 32, 0, 73, 68, 65, 84, 86,171,117, 37, 37, 37, 5,101,101,101, - 15, 9,130, 56, 92, 88, 88,184, 19, 22, 68, 10, 87,251, 81,123, 78,159,249,125, 81,247,208,192,206, 67, 6,172,196,177, 99,203, - 81, 89, 93,141, 58, 61, 15,181, 90, 35,234,116, 44, 92,173,124,208, 43, 36, 12, 37,101, 6,220, 77, 77,202, 47, 21,216,239,104, -163,117,138,155, 55,111,194,211,158, 64, 90, 86, 50, 28,117,229,232, 98, 43, 71, 88,100, 63,228,228,228, 88,228, 76,153,205,224, -205,153,255,239,209,130,182,182,182,168,170,170,122,106, 63,169, 84, 10, 87, 87, 87, 84, 87, 87,227,192,129, 3, 96, 45,123, 40, -154, 12, 6, 3,252,253,253,113,227,198, 13,156, 57,115, 6,131, 7, 15, 70,255,254,253,113,254,252,121, 36, 38, 38, 34, 57, 57, - 25, 4, 65,192,193,193,161,193,109,107,214,114,187,126,253,102,172, 92, 78, 44,155, 62,125, 86,240, 43,175,188,130,131, 7,247, - 98,198,244, 46, 32, 72, 17, 8, 66,132,231,199,248, 99,245,154, 68,244,234, 53, 16,142,142, 2,156, 57,147,154,195,227,217,124, -111,129, 88,253,114,253,250,245, 60,177, 88, 12,131,193,128,218,218, 90,148,149, 61, 14, 71,213,148,131,165,213,106,155, 13,172, -150,154,146,249, 89, 69, 53, 91, 65,106,146, 94, 40, 53,165,132, 12, 30,158,143,161, 81,211,113,250,216,110,156, 61,117, 6,142, -252, 7, 57,180,164,246,100, 73, 78,105, 77, 97,173,223,246,192,240, 55, 40, 85,221,169,111,102, 63,159, 69,185, 43,153,216,101, -219,170, 43, 91, 75,111,121,218, 15,191,254,202,226,249,200,136,158, 62, 93, 61, 92,133,229,101,106, 28,250,229,100,170,241,193, -193, 99,245, 21,149, 37, 86,228,234, 45, 91,182, 44, 7, 0,134, 97,246,108,218,180,233,141, 69,139, 22, 57, 21, 20, 20, 52, 10, - 44,117,105,249,217, 62,163,231,208,101,149, 85,134,239, 54, 45,158, 32, 17,139,132, 31,174,251,238,188,137,194,213,102, 43, 23, - 30,111,234, 7, 91,127, 44, 57, 16,187,155,114, 18, 11,112,105,201, 10,100,255,126, 14, 70, 66,128,225,191, 93,131,193, 72,163, - 90, 93,134,179,211,103,195, 78,105,143, 19,101,119,233,170,154,234,169,220, 51,134, 3,135,127, 44, 90,210, 34, 37, 79, 8,162, -114, 0, 15,163,163,163, 75,159,112,151, 74, 0,220, 4,208,173,126,187,146,103,246, 43, 33, 8,226, 6,203,178, 61,158,224, 41, -121, 66,104, 61,249,219,240,204, 54, 55,255,140,192,106, 17,165,165,165,234,235,137,119,112,249,244, 54,152, 77,122, 84,213,219, - 86,133,197, 58, 88, 91, 91, 39, 52, 68, 19,111, 2,193,120, 58, 86, 6,171,211,233, 94,220,180,121,243,213,183,166,190,170,232, -255,220,115,120,116,251, 22,244,229,165,160,104, 26, 20,193, 71,109,169, 24,197, 69,213,136,254,245,164, 90,171,211,189,216,196, - 3,226, 89,206,198, 78,238, 44, 65, 64,108, 99, 13,145, 76, 6,145,141,245,191, 29, 43,130,128, 80,110, 5,190, 76, 14, 74, 32, -180, 36,157,208,104, 52,227,103,206,156,121,235,196,137, 19,118, 47,191,252, 50,158,127,254,249,228,202,202,202, 65, 21, 21, 21, -150,246, 55,123,154,243,192, 1,218, 28, 60,102,236,215,219,118, 94,153, 54,109,154,253,243, 99,191, 70,114, 90, 42, 42,235,156, - 1, 0,174,142, 50,244,234,242, 62,212,101,122,156, 58,121,172,130, 49,235,198, 35,117,159,169, 57, 78,150,101, 89, 71, 71,199, -167, 92, 57,138,162,112,254,252,121,204,155, 55, 15,142, 86,231, 81,243, 48, 27, 93,251, 13,192,208, 87,166, 98,198,140, 25,160, - 40, 10, 14, 14, 14,207,186, 25,127, 56,247, 39, 81, 85, 85,133,142, 29, 59,226,183,157, 93,130, 12, 58,181, 32,204, 30, 32, 96, - 99, 60,125,118, 84,106,124,124,124, 45,128,157,126,126,126,177,207,140,104,252, 3, 39, 65, 16,255,250,228,147, 79,182,245,237, -219, 87, 34,151,203,225,231,231,135,203,151, 47,227,242,229,203,184,120,241,113,255, 56, 7, 7, 7,216,219,219,163,178,178, 18, -121,121,121, 90,130, 32,254,213, 2, 39, 83, 93, 77,141, 59,125,250,240,181, 49, 99, 94,116, 28, 49,162, 55, 20,138, 26,152,205, -165, 32, 72, 1, 68, 98,103,236,220,185, 14,234,226,114, 92, 73, 72, 40,175,173,229,141, 79, 74,250,195, 20, 68, 77,165,211, 24, - 23, 23, 7,177, 88,140,131, 7, 15,154, 93, 92, 92,120,182,182,182,205, 58, 88, 58,157, 78,212, 28,231,155, 75,238, 20, 0, 88, -243,222, 4,183,141, 87, 82,139,199, 1,248,201,203,215, 29,103, 79,157,193,197,179, 87,150, 70, 4, 51, 91, 70, 79,233,185, 90, - 60,248,165,247, 3,187,191, 65,201,173,149,136, 57,116,144, 74, 75,250,246, 99, 93,221, 29,111,108, 59,244,126, 43,215,136, 5, -128, 90,117,241,178,232,207,191,218, 19,189,106,185,100,195, 23, 91, 11,181,165, 69, 31,212,139,126,182, 5,247,170,145, 51, 39, - 39,103, 59,128,237, 79, 56,205, 63,172, 91,183, 46,254,213, 87, 95,117,106,112, 40, 75,210,126, 77, 40, 1, 18,130, 6,206,248, -168, 79,143,160, 46, 31,127,241,227,169,220,188,226, 31,171,210, 27, 99, 96,253, 33,157, 87,175, 94,173,232,222,189,251,204,247, -151,172,252,118,213,234, 21,132,255,252,165,200,186,124, 3,122,173, 17, 70,150,130, 9, 4,146,214,126, 14, 43, 39,107, 92, 98, -203, 89, 61, 69,190,153,253,199, 78,254, 45,150,207,118,130,227,228, 56, 57,206,255, 78,206,150, 12,132, 27, 77,252,221,212, 76, - 26, 55, 90,218,175, 25,158,191, 5, 22, 9, 44, 55, 55,183,254, 67,159,139, 64,223,161,179, 96,212, 87, 34, 59,245, 59,212,214, - 20,195, 77, 33, 66,118,110,117,239,122,213,105, 17,234, 35,179, 71,124,188,121,203,161,225, 61,123, 4,248,185, 41, 69,182, 29, - 61, 33,115,118, 65,105, 73, 9,174, 37,101,153,182,158, 58,123, 71,171,211, 89, 52, 85, 14,195, 48, 44,203,178, 16, 8, 4, 96, - 41, 10,129,115,150,128, 36,201,103, 70, 11, 18,176, 14,143, 4,201,227,195,100, 97,159, 33,149, 74,149, 79, 16,196,248, 57,115, -230,252,190,103,207, 30,114,224,192,129,161,191,254,250, 43,243,103, 50,187,236,206,209,187, 84,240,184, 1, 91,190,220,122, 32, - 44, 60,194,179, 99,167,142,162,190, 29,108, 96, 52,209, 40, 86,151,225,194,149, 52,253,221,180,155,121,140,209, 48,177, 36,189, -249, 40,238,245, 15,193, 92, 87, 87, 87,151,149, 43, 87,194,108, 54,131,166,105,152,205,102,148,150,150, 34, 57, 57, 25,221, 35, -122,195,255,245, 55, 80, 94, 94,142, 93,187,118,193,221,221, 29,163, 70,141, 66, 77, 77, 13,226,227,227,115,155,119, 29, 96, 94, -246,175, 41, 60, 0,224,243, 97,254, 32, 42,234,124, 80, 80, 80,228,243,221,212,130, 89,115, 30, 59, 91,159,174,155, 34, 56,127, -254,124,172, 72, 36,218,254,224,193,131,234, 22, 4, 54,188,189,189,133, 58,157, 46,148,101, 89, 94,117,117,245,102,189, 94, 63, -109,193,130, 5,202,245,235,215, 35, 36, 36, 4,165,165,165,176,183,183,135, 82,169, 68,109,109, 45,114,114,114,104,163,209,248, - 13, 77,211,171,213,106,117, 73, 75,121,144,152,152,248,128,166, 67,123, 23, 23,109, 59, 52,235,237, 97,126, 38, 83,184,208,218, -166, 31, 88,214,140,202,138, 60, 16,236, 45,227,225, 35,191,223,175,172,164, 94, 76, 74, 74,186,107,201, 53, 34, 73,242,237,163, - 71,143,162, 97,170,156,194,194,194,108,146, 36,155,117,176, 44,193,166, 3, 5, 58, 0, 63, 79, 24,174,156, 95, 85,114,171,179, - 35,255, 65, 78, 68, 48,179,101,211,129, 2,157,179,173,102,109, 65,201,249,172,194,218, 83,219, 99, 14, 29,164,166,190, 48,158, - 86,202,239, 46,117,236, 0, 75, 34,227,179, 33, 33, 33, 30, 36, 89,222, 73, 93,150,153, 56,227,205,183, 94,178, 17,104, 79,132, -184,149,250,154, 93, 2,197,105,105,105, 15,219,224, 98, 61, 89,246,179, 0,244,255,236,179,207, 78, 61,107,141,171, 75,203,207, -246,142,122,151,173,172,172, 74, 41, 73,255,245,118,107, 92, 13,211,223,188,246,234,140, 29,111,190, 62,147, 10,158,187, 24,249, -231,126, 7,204, 38,168, 46, 94,128,212,138,198,177,210,135,180,134, 34,103, 38, 37, 37,113, 81,220, 57,112,224,240, 63, 3,139, -123,125,123,123,185,157,242,238,228, 54,204,187,147, 43, 0, 32,251, 65, 33,178, 31, 20,252,150,157, 83, 48,188,157, 10,183,113, -178,103,162, 62, 20, 3,107,217,100,207, 79,113, 6, 5, 5, 37,147, 36,233,218,150,147,166,105, 58, 63, 45, 45, 45,220,146,116, - 42,149,202,151, 59,116,232,176,174,176,176,240, 80,126,126,254,123,127,137,186,175,159,236,153,164, 4, 81, 44,203,134, 0, 32, - 8,146,180,100,178,231, 70, 78, 87, 87,215,174, 18,137,100, 59,143,199,243,104,184,142, 13,205,120, 70,163,145,170,170,170, 18, - 27, 12, 6, 10, 0, 33, 16, 8,204,114,185, 92,199,231,243,205, 52, 77,231,154, 76,166,183, 10, 11, 11,111, 91,250, 22, 18, 16, - 16, 32,139, 10, 79,175,109,152, 66,103,217,191,166, 96,221,158, 22,203, 78, 35,231,221,187,119, 59,219,217,217, 77, 34, 8, 98, - 2,203,178, 93,106,106,106,244,203,151, 47, 79,185,112,225, 66,181,135,135,199,136,126,253,250, 17,183,110,221,194,195,135, 15, -217,218,218,218, 3, 36, 73,254,171,160,160, 32,187,141,101,137,236,211, 39,116,178,149, 28,163, 25, 22,221, 0,150, 32, 8,226, -118,109, 45,113, 66,169,236,244,227,129, 3, 7,232,246,190,129,133,133,133, 29,175,173,173, 29,117,247,238,221,230,222,170,158, -189,143,154,229,220,240, 65,240,191,122, 15,136, 28,127,249,194,197,195, 75, 62, 73, 93,243,228,186,119,198,217,205,152,242,206, -188,245, 63,125,253,197,226,175,143, 84,124,103, 73, 58,195,194,194,188, 0, 76,102, 89, 54,136, 32, 8, 63,134,129,152, 32,216, -114,130, 32,210, 24,134,185,201, 48,204,209,219,183,111, 23,254, 55,188,209, 62, 57,217, 51, 65,211,182, 52, 65, 88, 58,217, 51, -231, 16,112,156, 28, 39,231, 96,253,159,132,197, 17,184,179,115, 10,134,103,231, 20,192,215,215,151,189,119,239, 94,155,196, 89, -115,111,223,245, 17,218,247,254, 25,146,212,212,212,176,191, 51,131, 84, 42,213,207, 42,149,234,231,191,148,244,194, 5,179, 26, -248, 14,143, 63,237, 66,189, 64,234,101,201,182, 26,141, 6,149,149,149,237, 78,110,122,122,122,221,184,136,127, 59, 91, 60, 30, -204,150,238, 59,108,216,176, 71, 70,163,241, 12,128,124, 0,182, 0,202, 77, 38, 83, 92,105,105,105, 49, 77,211,225,143, 30, 61, -250,168,222,137, 92, 83, 92, 92,220,222, 56, 18,204,149, 43, 41, 63, 1,248,233,143,171,146,255,212,165, 74, 78, 78, 30,173, 84, - 42,147, 29, 28, 28,124,116, 58,157, 80,167,211,241, 89,150,109, 44,251, 18,137,164,164, 33, 98,122,107,176,177, 70, 12, 69,148, - 57,216, 89, 19,127,112,106, 28,221,112, 80, 91,119,167,179,163, 27, 14,182, 33,109, 57,221,186,117,251,129, 36,201, 78, 12,195, -184, 0,176,102, 89,148,178, 44, 91, 74,211,116,254,157, 59,119, 10,255, 91, 42,154,122, 1, 21, 5, 14, 28, 56,112,224,240,151, - 41, 92,142,147,227,228, 56, 57, 78,142,147,227,228, 56, 57,206,127, 20, 72, 46, 11, 56,112,224,192,129, 3, 7, 14, 28,254, 90, - 16, 45,168,208,182,180,173,182, 71,201,222,225, 56, 57, 78,142,147,227,228, 56, 57, 78,142,243, 31,199,217, 26, 55,215,183,235, -111, 18, 94, 28, 39,199,201,113,114,156, 28, 39,199,201,113,254,243, 56,255,167,192, 53, 17,114,224,192,129, 3, 7, 14, 28, 56, -252,197,104,118, 20,161,151,151,123, 32, 73, 51,125, 89,150,164, 88,146, 53, 17,213,218,125,217,207, 4,217,236,208,161,131, 45, -159,196, 24,130,101,101, 4,193,208, 12, 69, 94,206,201,201, 79,179,228,192, 1, 1, 1, 2, 0,211,248,124,126,164,209,104, 84, -242,249,124,149, 78,167,187,196,231,243,247,164,167,167, 27,255,155, 50,169,111,223,190,147, 15, 28, 56, 96, 27, 21, 21,165, 55, - 26,141,102,129, 64,192,219,187,119,175,104,250,244,233,149,151, 47, 95,110,215, 40,200,208,208,208, 65,159,126,250,169,215,115, -207, 61,135,200,200,200,186,145, 35, 71, 10,194,195,195, 5, 75,150, 44,201, 73, 73, 73, 57,215, 22, 46,103,103,231, 64, 30,143, -247, 61, 65, 16, 20,203,178,175, 61, 17,130,225,239,192,203, 0, 38, 2, 80, 2, 40, 2,176, 31, 64,123, 71, 89,142, 0, 48, 6, - 64, 72,253,242, 45, 0, 71, 1,196,253,137,244,141, 0, 48,134, 32,136,110, 0,192,178,236,205,191,144, 51,164,158,243, 47, 75, -231,159, 61,247,176,176,176,229, 66,161,240, 77, 0, 48, 24, 12,223,201,229,242,232,166,182,187,112,225,130, 1,205,132, 62, 9, -232, 4, 54,237,168, 63, 0, 32,112, 76, 6, 0,160,181,229,244, 7,237, 27, 69,204,166,249,179, 77,241, 18,129, 25,237, 30,149, -172, 84, 42,103,143, 26, 53,106, 73, 92, 92,220,199, 5, 5, 5, 59,192,129, 3, 7, 14,255,173, 2,203,203,203, 61,112,194,184, - 23, 63,121,251,173, 89, 4, 69,145, 72,207,200,224,189, 51,247,189, 97,254, 46, 46,110, 50,157, 46,128, 5, 24,173, 68,114, 71, -171,213, 20,108,251,250, 75,171, 46,157, 59,211, 52,205,224,155,237,219, 70, 30, 56,114,232,131,214, 68,150,147,147,147, 23,159, -207,223, 60,119,238, 92,231, 97,195,134,145, 46, 46, 46,200,207,207,183, 62,124,248,176,239,174, 93,187,162,156,156,156,230,151, -148,148,228,180,231,132, 20, 10, 69, 63,165, 29, 70, 72, 68,236, 32, 84, 19,208,154,137,115, 42, 3, 27, 87, 84, 84,116,177,189, -153,100, 48, 24,230,104, 52,154,136,192,192, 64,102,219,182,109,196,204,153, 51, 89,130, 32, 72,173, 86,187, 27,237, 12, 51, 33, -145, 72,190,126,238,185,231,252, 34, 35, 35,179, 47, 95,190, 60, 26,192,241,137, 19, 39,122, 75, 36,146,187, 0,186,180,133,139, -162,168,221,105,105,105,221,180, 90, 45,194,195,195,119, 1,232,254, 55,149,151, 93,118,118,118,166,173, 91,183,110, 15, 13, 13, -245,169,168,168,168,123,235,173,183,134,220,190,125,123, 48,128,215,219,192, 35, 3,176, 69, 42,149, 82,243,231,207, 63,249,194, - 11, 47,220,148,201,100,242,204,204, 76,254,188,121,243, 94,203,205,205,157, 0, 96, 46,128,186,182,114, 58, 56, 56, 72,214,174, - 93,155,212,167, 79, 31,181, 88, 44,150,228,228,228, 16,243,231,207,159,153,153,153,249,103, 56, 5,171, 87,175,190, 60,112,224, -192,108,145, 72, 36,205,205,205,165, 22, 45, 90, 52, 35, 41, 41,169,221,156,182,182,182,194,229,203,151, 39, 12, 24, 48,224,161, - 88, 44,150,101,103,103,147, 11, 22, 44,120,227,222,189,123, 22,115,246,239,223,127,178, 86,171, 93, 21, 31, 31, 15, 0,232,221, -187,247,114,131,193,240,225, 31, 68, 13,203, 34, 50, 50, 82, 71,146,228,155,241,241,241, 77,150,215, 61,137,239, 79, 6,128, 69, - 31, 53, 44, 63,254,110,106,121, 90,248,134,189, 68, 96, 70,155, 10, 78, 64,167,199,226,110,219,197,119, 95, 5,128,119, 22, 61, -254,127,219,197,134,245,179,217,182,136, 54, 87, 87,215,183,122,246,236,185,236,218,181,107, 49,225,225,225,243,118,236,216,193, -143,138,138, 90,203, 48,140,207,136, 17, 35, 38, 36, 36, 36,108,200,204,204,252,154,171,226, 57,112,224,240, 95, 37,176, 72,154, -233,251,246, 91,179,136, 73, 47, 79, 46, 82, 21,171, 25,185,149,205,203,251, 99, 99,165,157, 59,119, 38,117, 91,182,192, 92, 90, - 10,122,225,194, 62, 23, 46, 92, 48,189, 59,127,161, 86,175,211,236, 86,186, 56, 75,247,253,188, 87,113,232,224,129,190, 0,210, - 90,114,174,248,124,254,230,131, 7, 15, 42,188,188,188, 96, 48, 24, 80, 82, 82, 2,163,209,136, 23, 94,120,129,138,136,136, 80, -204,152, 49, 99,179,163,163,227,139,109,113,178, 28, 29, 29, 93,186,120,240, 79, 76,153, 56,188,243,160,254,225, 18,133, 91, 39, - 32,159, 65, 65,246,221, 30,191, 95, 77,154, 27,123,250,124, 86,102,149,113, 84,105,105,105,113, 91, 51,169,172,172,108,201, 91, -111,189,117, 32, 36, 36,196, 73, 36, 18,193,197,197,133,120,227,141, 55,138, 85, 42,213,234,246,102,124, 67,116,112,146, 36,233, -103,190,219, 67,231,110, 99, 99, 3,107,107,107, 0,112,251, 51, 5, 98,194,132, 9, 84,110,110,238,155, 12,195, 4, 60,249,191, - 74,165,242, 54,155,205,165, 15, 30, 60,236,166, 51, 24,123,205, 94,180,106,237,164, 49,131,172, 19, 18, 18,200,209,163, 71,243, -207,159, 63,255,114, 27,156,172, 45, 93,186,116,185,189,126,253,122, 67,250,221,156,224,223,206, 39,144,206,246, 50,198,171, 99, - 71,121,106,106,170, 32, 58, 58,186, 36, 58, 58,122, 11,128, 25,109, 72,250,150,161, 67,135,230, 45, 91,182,140, 74,207,186,239, -125, 49, 33, 5,214,114, 33,237,225,238, 42, 78, 72, 72,224,109,219,182, 13, 31,124,240, 65,155, 57, 7, 13, 26,116,119,205,154, - 53,108,145,186,220, 55,231,129, 10, 86,114,161,217,193,193, 65,114,254,252,121, 98,207,158, 61,134,121,243,230,109, 97, 24,166, - 77,156,125,250,244,185,191, 98,197, 10, 34,227, 94,142,239,165,132, 20,200,101, 2,115, 71, 15,119,241,245,235,215,137, 47,191, -252,210,180,124,249,114,139,210,201,178,236, 55, 27, 54,108,192, 47,191,252, 2, 0,248,249,231,159,225,237,237,253, 84, 1,210, -234,116, 32, 8, 2, 15, 31, 60,144,190,253,246,219,223, 52,245, 66,144,118,212, 31,123, 18,129,105,211,166, 21, 89,116, 6,233, - 27,218,236, 90, 53, 8,171, 89,179,102,229, 55,179,217,171, 95,111,180, 92,100,245,237,219,119,201,190,125,251, 28, 99, 99, 99, - 23, 29, 62,124, 24, 0, 32,149, 74,165, 95,125,245,213,236,177, 99,199,226,245,215, 95, 95,194, 9, 44, 14, 28, 56,252,215, 9, - 44,150, 37, 41,138, 34,161, 46, 46, 53, 13, 29, 50,108,198, 87, 91,183,138,132, 66, 33, 12, 6, 3,234,206,158, 5,171,215,195, - 70, 34,193,168, 81,163,248,193,193,193,214, 51,103,204,120, 67, 93, 92,180,157,162, 72, 5,203,146, 84, 43,199,156, 54,119,238, - 92,103, 47, 47,175,167, 38, 16,166,105, 26,197,197,197,176,178,178,194, 75, 47,189,228,248,195, 15, 63, 76, 3, 96,145,221,239, -236,236,220,209,175,147,227,149,216,111, 23, 41,156,109, 9,160,228, 32,240,232, 46,240,147, 24,126,206,158,240, 27,220, 95, 50, -166, 87,112,183,201,235,247,164,144, 36,217, 71,173, 86, 63,108, 75, 38, 61,124,248,240,146,193, 96,120, 83,167,211, 29, 1, 64, - 94,190,124,153,205,205,205,125,187,184,184,248, 81,123, 51,158,166,105, 84, 86, 86,130, 97, 24, 10, 64,227, 55,109,225, 84, 62, -127, 7, 38, 76,152, 64,229,229,229,189, 21, 16, 16,224,187,115,231, 78,168,213,106,136,197, 98, 48, 12,131,222,189,123,123, 12, - 25, 50,228,126, 73,121,149,157,217, 76, 27,243, 31, 61, 8, 95,183, 33,165,164, 91, 96,151, 75,177,177,177,161,142,142,142, 47, - 89, 40,176, 70, 88, 89, 89,241, 62,254,248, 99,173,194,221,123,146,210,195,143,127,229,198,237, 44,129, 84,200,150, 85,213,212, -164,164,164,100,173, 90,181,170,255,137, 19, 39,212,119,238,220, 25, 1,203,154,204, 70, 56, 56, 56, 72,150, 46, 93, 74,216, 56, -184, 14,141,236,239,193, 79,186,149,118, 95, 40, 21, 50,145,145,145, 99,174, 92,185,178,107,193,130, 5,161,199,143, 31,175, 78, - 72, 72,176,152,211,222,222,158,191,122,245,106,218,197,213,115,172, 71, 39, 95,190,155,194, 49, 16, 0, 50,179,238,125, 91, 92, - 92,124,255,237,183,223,238,117,242,228,201,154,184,184, 56,139, 57,109,108,108, 4,203,151, 47,103, 3,130, 67,103, 4,133,116, - 39,143,254, 22,159, 32,145, 9,233,234, 58,109,109, 90, 90,218,253,197,139, 23,247, 60,126,252,120,205,141, 27, 55, 90,229,212, -104, 52, 86,238,238,238, 80, 40, 20, 96,180, 90, 84, 87, 87,227,208,161, 67,168,169,169, 1, 77,211,144, 72, 36,248, 34,174, 28, -186,123, 71,177,125,243,106,104,181, 90,171,191,162,156, 52, 52,239,181, 69, 92,181, 32,172,240,132,240,122,117, 86,191,175,216, -150,154, 11, 27,156,171, 75,151, 46,229,199,198,198, 58,251,248,248, 96,224,192,199, 19,184,207,152, 49, 3, 67,134, 12,193, 47, -191,252,130,223,126,251, 45,119,220,184,113, 57, 73, 73, 73, 27,242,243,243,191,225,170,122, 14, 28, 56,252,255, 70,147,118, 9, - 75, 16,117,169,233,233,124,185,173,237,171, 95,109,221, 42,226,243,249,120,248,240, 33,210,210,210,160, 57,123, 22,218, 43, 87, -160, 86,171, 81, 83, 83, 3, 39, 39, 39, 68,111,216, 32, 19, 72,100, 51,238,222,187, 71,177, 36,251,228, 4,197,127, 24,106, 41, - 20, 10, 35, 71,141, 26, 69, 62, 41,174,158, 68, 81, 81, 17,134, 13, 27,198,227,241,120,145,205,164,249, 89, 78,194,213,137, 56, -186,127,199,124,133, 51,239, 54,112,111, 30, 80,121, 17, 48, 87, 2,218, 90,224,193,109,224,240,103,112, 47,191, 71,252, 52,119, -162,139,155, 68,112, 20,127,140, 66,223,226,144, 80, 55, 55, 55,111, 31, 31,159,157,227,199,143, 39, 1, 32, 50, 50,146,240,241, -241,217,238,230,230,230,221,194,110, 45,114,234,116,186,171, 21, 21, 21,196,232,209,163, 29,250,244,233,115,122,244,232,209, 14, - 0, 8,157, 78,119,181,189,156,245,112, 24, 52,104, 80,153,151,151,215,207,158,158,158, 34, 11,182,111,228,204,205,205,125,211, -223,223,223,119,231,206,157, 20, 69, 81,216,177, 99, 7,246,239,223,143,248,248,120,148,148,148, 72, 23, 44, 88, 96,251,235,217, -228, 51,167, 47,222, 60, 54,127,214, 91,204,208,238,161, 74, 81,105, 81,153,131,131,195, 72, 0, 10, 11,211, 57,102,206,156, 57, - 39,146,211, 30, 40, 8, 74, 36, 18, 8, 4, 98,133,139,163,179,210,217,165,163,210,217,165,179,149, 84,106, 87, 87, 87,151,123, -228,200, 17, 22,143,251, 40, 89,196,185,106,213,170,235,105,119,115,157, 89, 82, 32, 20, 8,248, 2, 71, 59, 91,251, 9,207, 15, - 27, 3, 0, 82,145, 72, 90, 87, 87,167,250,225,135, 31,218,196,185, 98,197,138,139, 5,197,149, 10, 30, 95, 32, 18,139, 68,141, -179,132,219,219,217,184,201,101, 50,169,193, 96,200,219,185,115,167,185, 45,156, 31,126,248,225,229,244,123,185, 46, 36, 73, 81, - 36, 73,240,156, 28,236, 28, 29, 28, 28,148, 14,118,246,110, 18,161, 80, 86, 91, 91,155,255,243,207, 63,211,150,114, 22, 23, 23, - 35, 35, 35, 3, 29,122,244,192,153, 51,103,208,161, 67, 7, 76,156, 56, 17,147, 38, 77,130, 68, 34, 65, 79,219,251,120, 97, 68, - 31,220,191,127,191,217,235,110,137, 96,114,117,117,189,208,150,178, 4, 60,110, 22,108, 73, 92, 61,203,217,204,118,119,158,117, -174, 14, 29, 58,228,184,105,211,166,208,247,222,123, 47,251,208,161, 67, 8, 9, 9, 65,122,122, 58,220,220,220,176,119,239, 94, -188,251,238,187,217, 43, 87,174, 12,221,191,127,191, 75,112,112,240,210,118,222, 71,109, 5,199,201,113,114,156, 28, 90, 23, 88, - 38, 6, 71,231,204, 91,160,137,137,137,145, 10,133, 66, 60,122,244, 8, 69, 69, 69, 56,124,240, 32, 61,165,107,215,154,215, 66, - 67,171, 15, 31, 60,200, 26,141, 70,176, 44, 11, 95, 95, 95,140, 26, 53, 74,242,198,204, 89,106,162, 90,187,175,197, 55, 90,150, -117,118,114,114,106,156, 52,247, 41,107,107,218, 52,152,205,102, 88, 89, 89,129, 32, 8,103, 75, 78, 64,169, 84, 78,156,177,232, -185, 14,214,158,214,197,108,209,238,114,128, 4,120, 86, 0,207, 26,144, 90, 3, 18, 43, 64, 36,131, 62,241, 74, 57, 75, 68, 62, - 28, 30,246,146,155, 82,169,156,216,150, 76,114,116,116,252, 48, 54, 54,214,233,246,237,219,108, 77, 77, 13,212,106, 53,187,120, -241, 98, 39, 71, 71,199, 15,219,155,241,133,133,133,107,103,204,152, 81, 52,126,252,120,219,152,152, 24,143,241,227,199,219,206, -152, 49,163,168,176,176,112,237,159,185,160,124, 62,159, 58,123,246,172,253,162, 69,139, 38,155, 76,166,196,193,131, 7,151,133, -134,134, 38,186,184,184,120,182,182, 47,195, 48, 1, 13,226, 10, 0, 40,138,130, 80, 40,132, 88, 44,134,141,141, 77,101, 78, 78, -142,185,163,131,128, 71,215, 85,104, 60,109,132,226,200,110,129,174,206,238, 30, 47,214,213,213, 37, 1, 80, 89,152,196,144, 17, - 35, 70,240,140, 16, 97,246,235, 67, 58,191, 61, 53,210,119,251,198,215, 7,109,249,248,181,222,159,175,122,117,192,218,101, 83, - 38, 19,140,217,228,233,233,233,221,208, 81,189, 53, 16, 4,209,173, 95,191,126, 18, 51, 37, 34,175,165,220,205,206,188,151,167, - 30, 51, 60, 50,162,241,128, 97, 97,147, 28, 28, 28, 70,121,121,121, 13, 36, 8, 98,184,165,233, 28, 56,112,160,136, 47,145,145, - 30,174,142, 93,236,109,229, 62, 13, 43,156,156,156,134,187, 40, 20,175, 19, 44, 93,167, 84, 42,221, 69, 34, 81, 55, 75, 57, 7, - 15, 30, 44, 50, 83, 34, 82,225,100,235,236,236, 96,235, 48,110, 68,255,200,193,145, 61,250,244,233,221,115,104, 88,143, 30,211, - 64,155, 52,158,158,158,110,150,158,251,145, 35, 71,240,229,151, 95,162,111, 96, 32, 60, 61, 61,225,228,228,132,179,103,207,226, -236,217,179,144,201,100,168,172,172,196, 55,223,124,131,184,184,184, 63, 93, 89, 52, 8,162,134,142,233,127, 5,158, 21, 89,173, -137,189, 75,151, 46, 29,138,141,141,133,143,143, 15,166, 79,159,238,189,123,247,238,236,236,236,108,200,229,114,220,188,121, 19, -239,191,255,126,246,202,149, 43,189,167, 77,155,134, 61,123,246,224,230,205,155, 49, 92, 53,207,129, 3,135,255, 4, 26,154, 8, -217,122, 87,135, 5, 64,228,229,229, 85,250,251,251,187,249,248,248,144, 6,131, 1, 85, 85, 85, 56,117,242, 36,189,119,255,254, -227, 6,131, 97, 46, 73,146,130, 61,223,127,255,141,179,139,203,160, 9, 19, 39, 18, 38,147, 9,207, 61,247,156,240,236,217,179, - 14,183,243,242,106, 90, 58, 32, 69, 81,141,238,209,236,217,179,177,121,243,102, 0,192,212,169, 83,255, 45,240, 76,166,134, 73, -116, 91,133,212,134,142, 26, 48, 36,200, 42, 79,246,165,149,174, 79,117,141, 87,150,219, 21,121,141,172, 39,120, 98, 30,164,114, - 48,102,152,239,214, 70, 36,101, 63,234, 20, 32, 62,161,238,212,183, 75, 79,236, 79, 56, 28,133,199,163,223, 44,130, 68, 34,233, - 41,147,201,144,158,158, 94, 30, 30, 30, 94,105,109,109,109,227,231,231,231, 40,145, 72,122,182, 55,227,213,106,245, 3, 30,143, - 55,224,197, 23, 95,124,135, 36,201, 33, 12,195,156, 41, 43, 43,251, 90,173, 86, 63,176,240,193, 52,139,101,217, 21, 0, 14, 52, -252,103, 52, 26, 65,146, 36, 88,150,197,152, 49, 99,176,110,221,186,192, 51,103,206, 32, 62, 62,222,126,202,148, 41, 87,149, 74, -101, 37, 65, 16,175, 23, 22, 22, 54,235,146,149,149,149, 97,219,182,109,160, 40, 10,182,182,182,176,178,178,130, 88, 44,198,192, -129, 3,139,215,175, 95,239, 23, 27, 27,107, 42,243, 85,179,194,218,170, 58, 7,137,159, 43,233,232,228,245,206,204,183,174, 1, -136,181,244,220,229,114,185,149, 21,165,173,165, 88, 29,181,105,203,118,158,148, 71, 66,198, 23, 64, 76,214, 18,203,150,175, 97, -197, 4, 37, 69, 27,230,201, 4, 0,129, 64, 32,181, 17,194, 32,144,242,105,185, 84, 72,252, 21, 55,135, 68, 34,145,201, 5, 48, - 52,183, 94, 72,242,132, 0,196, 4, 65,104, 44,229, 20,139,197,114,107, 33,171,111,110,189, 21, 95, 32, 32, 8, 66,140,102, 58, -185, 79,120, 14,108,236,230,199, 2,167,251,191,111, 25,208, 52,141, 30, 61,122, 96,255, 47,103,112,234, 98, 42,202,243,211,240, -234,196,145,232,216,177, 35, 24,134,105, 49, 77, 13,125,176, 44,120, 41,128,171,171,235,133,194,211, 54,173,110,107,105,211,224, -147,156,129, 99, 50, 90, 28,157,232,230,230, 54, 51, 36, 36,100,234,225,195,135, 49,104,208, 32, 68, 69, 69,161, 75,151, 46,222, - 83,166, 76, 1, 0,244,239,223, 31,209,209,209,222,147, 39, 79,198,145, 35, 71,112,226,196, 9,132,135,135,207, 75, 76, 76, 84, -171, 84,170,173, 92,117,207,129,195,127, 61,158,210, 34,255, 43, 2,235, 15, 16, 25,141, 93,116,219,182, 65,115,230, 12,132,167, - 79,227,120,183,110,181,102,179,121,161, 74,165,202, 3, 0,103,103,231,249,177, 7, 14, 92, 30,118,238,156,181, 33, 61, 29, 29, -238,220, 1,175,115,231, 80, 75, 15, 28, 29, 29,221, 40, 10, 0, 32, 38, 38, 6,213,213,213,168,170,170,130,217,108,241, 92,194, -224,243,137,190,206,142, 30, 80,225, 46, 24, 30,207,234, 65,160,161,143, 76,107, 93,208,225,129, 99,109, 21,191, 27,145,165,238, -102,165,171, 49,245, 34, 5, 6, 24, 42,117,112,117,112, 3,143,228,245,109, 75, 38, 53, 56, 58, 18,137,164, 60, 41, 41,233,249, -126,253,250,253, 10,192,177,225,255, 63,225, 98,221, 43, 44, 44,156,215, 46,235,145, 36, 87,156, 63,127,222, 57, 54, 54,246,221, -175,190,250,138, 5, 0,131,193,208,216, 73,222, 96, 48,128,199,227,129, 97, 24,200,100, 50,240,120, 60,151,195,135, 15,187,140, - 29, 59,246,107, 0,205, 94, 39,169, 84, 10, 23, 23, 23,240,249,124,216,216,216,160,174,186, 66,182,237,147, 15, 7, 74,237, 92, -236,231,205, 91, 72, 78,155, 54, 45,245,171,175,190,114,119,245,241, 13,202,200,200,200,125,121,250,140,203,123,247,238,173,133, -229, 29,220,111,101,103,103, 11,131, 2,124,197,199, 15,212, 50, 82, 30, 11,105,233,199,144, 74,148, 16, 10,221, 33, 21,137, 32, - 16, 10, 29, 85, 69, 69,197, 44,203,222,183,232,142,100,217,155, 57, 57, 57, 84, 39, 15,133,176, 70, 99,174,145, 82,180,213,189, -228, 91, 89,190, 97, 33,157, 1, 64,151,126,235,188,168,147,143, 80, 85, 81, 37,114,117,117, 77,107, 67, 58, 5, 46, 46, 46,194, -212,244,123, 59, 29,237,173, 61, 92, 92,156,135, 2,128, 73,171, 73, 37, 12,186, 66,138,199, 83,150, 87, 84,148,232,116,186,123, -150,114,102,101,101,241,124, 58,186,139, 14, 29, 59,253,157,179,181,188,131,163, 68,228, 98, 45, 19,200,133, 52, 93, 39,100,232, - 66,129, 72,164, 40, 44, 42, 42,101, 89, 54,171, 57,146,134, 14,227,192,174, 31,234,207,191,193,221,193,149,108, 22,118, 78,174, - 40,203,203,196,217,163, 71, 48,117,246,187, 22,221, 79, 27,215, 76,223,187,113,205,244,102,195, 51, 60, 35,136,254,124,205,147, - 30,112,225, 89, 78,149,170,229, 10,117,196,136, 17,255,218,177, 99,135,180,145, 34, 61, 29,145,145,143,123, 18,172, 90,181, 10, -195,135, 15,135,159,159, 31,210,210,210,224,233,233,137, 67,135, 14,129,162, 40,254,204,153, 51,151,236,220,185,147, 19, 88, 28, - 56,112,248,255,138,102,135,172, 49, 44,203,208, 21, 21, 96, 13,134, 6,135,128,101, 89, 86,250,111, 97,195,151,218,218,218, 18, -124, 55, 55, 16, 98,241,227, 63, 9,226, 79,247,208,230,241,120,109, 18, 88, 52, 13, 10,132, 9, 44, 88, 0, 36, 8,144,208, 72, -132, 88,233, 18, 69, 44, 83, 46,161, 74,164,118, 4, 65,145, 32, 72, 2, 32, 0,214,196,128,102,233,182, 42, 35,182,182,182, 22, -122,189,222,206,199,199,231,184, 78,167,179,171,127,176,177,255,169, 11, 71,211,116, 54, 73,146,120,237,181,215,208,160,244, 13, - 6, 3,178,178,178,160,211,233, 96, 48, 24,144,150,150,134,234,234,106, 24, 12, 6, 36, 38, 38,194,211,211, 19, 60, 30, 79,217, - 18,175,217,108,134,147,147, 19,148, 74, 37,244,117,213,178,131, 59, 54,143, 94,191,106,153,227,203, 62, 44,185,107,203,103, 76, -231,206,157, 43,131,130,130, 28, 37, 18, 73, 69, 72, 72, 72,217,222,189,123, 15,163,109, 33, 26,142, 46, 91,182,172,215,192,129, - 3,253,108,173, 36, 38,153, 24,144, 82,117, 16,178, 90,240,205,197,240,243,242,101, 8,169,180,203,228,201,147,245,120, 28, 23, -202, 34,206, 5, 11, 22,248, 4, 7, 7, 43,237,172, 69,117, 18, 1, 81, 36,166,104, 85,101,218,173,171, 0, 32,178,181,215, 66, - 36, 9,158, 58,117,170,182, 45,156,139, 23, 47, 14,232,212,169,147, 66,192, 99, 53, 4,109, 46,108, 92,163,215, 21, 83,124,129, - 6, 2, 65,216,188,121,243,140,109,225, 92,180,104,145,127,183,110,221, 92,156,108,196,117, 18, 62, 10, 37, 20, 93,200, 55,232, -243, 4,102, 67,177,216,206, 78, 3,137, 52,244,213, 87, 95, 53, 52,199,217,224, 94, 61,235, 12,241,120, 60, 20, 22, 22,162,252, -193, 21,148, 63,184,141,206,100, 13,122,185, 56, 65, 46,151,183,122, 63, 17,129, 25, 68,250, 3, 16,233, 15, 64, 16,129, 25, 68, - 83,203,207,138, 44,165, 82,217, 98,217,111,177,169, 47, 61,224, 66,123, 56, 79,156, 56,241,233,216,177, 99, 77,147, 38, 77,194, -233,211,167, 65, 16, 4, 46, 93,186,132,130,130, 2, 12, 31, 62, 28, 44,203, 34, 37, 37, 5, 70,163, 17,233,233,233,152, 48, 97, - 2,162,162,162, 52,113,113,113, 31,115, 85, 61, 7, 14, 28,254, 83, 2,107, 96,189, 37, 55,176, 97,133, 73, 36, 74,101,230,204, -129,205, 47,191,128,127,247, 46, 38,188,248,162,181, 72, 36,218,162, 80, 40,186, 43,149,202,190, 18,137,228,235, 5, 11, 22, 88, - 57, 68, 71,195, 53, 62, 30,170,211,167, 97,226,243,111,180,229,224, 90,173,182,193,141,129,161, 94,200,217,218,218,130, 97, 24, - 88,170, 93, 88, 26, 9,170,146,187, 16,162, 35, 88,160,230,100,205,224,132,151,179, 87,187,156,169,233,220,249,110, 53,223,103, -189,115, 47,199,157,157,250,220,208, 18,252, 90,129,181, 16,133,133,133, 96,193, 36,180, 37,157, 58,157,174,170,174,174,142,240, -241,241,113, 76, 74, 74,242,241,245,245,117, 0, 64,232,245,250,235,127, 38,243,149, 74,101,239,208,208,208,253, 97, 97, 97, 57, -161,161,161,251,149, 74,101,239, 54,236,190, 43, 57, 57, 25, 20, 69, 97,230,204,153,168,169,169,129,193, 96, 64, 94, 94, 30,114, -115,115, 97, 48, 24,144,154,154,138,140,140, 12, 24, 12, 6,164,164,164, 64,175,215, 91, 34,220, 96,101,101,133,202, 50,181,108, -223,182,207, 70,127,188,234, 35, 73,213,189, 36,228, 23, 22,131,161,181,133, 31,125,244, 81,182,143,143,207, 37,131,193,224, 79, -211,244, 40, 0,251,218, 88,222, 82,186,116,233, 50,112,227,198,141,125, 87,127,250,189,208, 70, 94, 13,145,173, 61,132,118, 82, - 8, 61,195, 49,245,253,207,121,219,183,111,189,117,233,210,165, 18, 88, 54, 50,143, 4,144,210,163, 71,143,190, 69, 69, 69, 3, -194,194,194,194,221, 58,117,146,201, 20,202, 10,145,194,181,148,209,235,174, 66,225,214, 63, 38, 38,230,250,185,115,231, 84,109, -225,244,244,244,236,191,117,235,214, 94, 29, 59,118,236, 37,181,182,150,235,106,106,126, 48,107, 52,177,148, 92, 46,132, 68, 54, - 44, 46, 46,238,210,222,189,123,139,218,194, 25, 16, 16,208, 47, 58, 58,186, 71,247,238,221,123,185,123,123,203, 37,206,138, 50, -153,171,187, 90,226, 23, 40,128,194,125, 72, 76, 76,204,149,243,231,207, 91,154, 78,144, 36, 9, 30,143, 7,185, 92,142, 11, 23, - 46, 32,170, 95, 23, 40,201,114,132,116, 84, 98,228,244,215,241,219,111,191,129,207,231,227,207,186,173, 77,184,175,173, 10,162, -182,138,175,214, 56, 85, 42,213,214,196,196,196, 47, 94,122,233, 37, 12, 25, 50, 4, 55,111,222,196,226,197,139,179,207,159, 63, - 15, 0,184,121,243, 38,214,174, 93,155,157,144,144,128,233,211,167, 35, 50, 50, 18, 41, 41, 41, 49, 92,240, 81, 14, 28,254,207, -224, 15, 90,228,255, 50, 26,154, 8, 47, 60,249,237,109,103,103,165,211,105,242, 47, 92,184, 96, 28, 53,106,148, 64, 34,145, 96, -226,164, 73,100, 7, 15,143,126, 23, 98, 98,206,202,164, 82, 98,210,178,101,242,224,224,224,198, 74,254,215, 95,127,213, 86, 85, - 85,150,117,232,208,193, 54, 47, 47,175,210,146,131,151,150,150, 66,161, 80,128,162, 40,212,213,213,129,162, 40,200,229,114,104, - 52, 26,139,251, 96,213, 85,147,167, 47, 93, 72, 29, 50,104,226,236,154, 97,217, 70,153,153,117,232,109, 69,178,160, 97,130, 78, -195,194,204,176,188,107,172,109,143,179,126, 81, 21,107,125, 75, 51,243,207,108,117,210,178,134,211,109,201,164,138,138,138, 15, -103,207,158,189, 47, 40, 40,200,209,202,202, 10, 46, 46, 46,228,155,111,190, 89,146,151,151,183,166,189, 25, 31, 16, 16, 48,217, -223,223,127, 75,108,108,172,125, 78, 78, 14, 0,116, 90,182,108,217,160,140,140,140,185,233,233,233,150, 4, 47,221,191,113,227, -198, 45,131, 7, 15,150, 69, 68, 68, 52, 10, 44,163,209,216,248,253,236,239,134,230,216,150,192, 48, 12,196, 98, 49, 98,191,221, - 60,236,227, 85, 31, 73,202,210, 19,112,235,210,105,196, 61,208,107, 54,124,183,231,170,184,193,173,108,235,249, 58, 73,187, 90, -217, 90,237, 31, 52,116,132,235,184,169,179,201, 85,171, 86,177,191,159,138,101,191,251,106, 14,188,253,191, 0, 65,144,200,200, -188,137, 89,147,250,179,169,183, 83,123, 0,112,111, 43,231,167,159,126, 90,151,145,145, 81,181,127,255,126,113,135, 14, 29,124, - 72,146, 20, 21, 21, 23,151, 77,158, 60,249,230,229,203,151,203, 25,134,153,211,174,116,224, 23, 88,155, 0, 0, 32, 0, 73, 68, - 65, 84,254,254,123, 93, 76, 76,140,212,201,201,201,159, 36, 73, 81, 85, 85, 85,233,236,217,179,147, 99, 99, 99,107, 24,134,153, -219, 30,206,200,200,200,218,125,251,246, 73, 61, 60, 60,186,144, 36, 41, 42, 44, 42, 42,157, 52,105, 82, 74, 66, 66, 66, 53, 30, - 7, 26,109, 18, 19,231,103, 96,224, 11,143,127, 75, 36,146,178,128,128, 0,135, 81,163, 70,129,166,105,228,228,228,224,246,237, -219, 24, 49,229, 21,216,219,219,227,220,157, 59, 80,169, 84,248,224,131, 15,160,213,106,113,239,222, 61,213, 95, 89,121,212, 55, -237,177, 42,149,234, 15, 55,107,218, 81,255,198, 32,162, 79,137, 43, 47,226, 66, 75,253,172, 90,226, 4,128, 97,195,134, 77, 31, - 59,118, 44,126,249,229, 23, 44, 94,188, 56,123,229,202,149,222,147, 38, 77, 66, 90, 90, 26, 66, 67, 67,177,112,225, 66,239,141, - 27, 55,102,179, 44,235,221,167, 79, 31,184,187,187, 63,175, 82,169,222,231,158, 91, 28, 56,252,159,192,133,103,190,255, 39, 4, - 22,240, 68,135, 50,214, 90, 50,105,199,214,175,109,222,157,191,176, 46, 48, 48,208,206,197,197, 5, 36, 73, 98,196,200,145, 68, -239, 83,167,172,248, 74, 37, 28,186,118, 5,203,178, 96, 24, 6, 23,227,227,113,246,236,217,186, 31,190,219,229, 54,227,141, 55, -198, 0,104,118,228, 78, 67,179, 26, 65, 16, 40, 41, 41,105, 20, 88, 98,177, 24,133,133,133, 80, 40, 20, 16, 8, 4,160, 40,138, - 7,128, 2,208, 98,179,163, 66,161,248, 62,122,109,218,210,188,144, 69, 94,145, 82,146, 56, 89, 87, 4, 18, 4,204, 44, 3, 82, -203,130, 97, 88,232, 77, 64,144, 27,101,119, 70, 15,219,235,169,167,115, 20, 10,197,247, 42,149,229,207,154,156,156,156,115, 90, -173,246,237,186,186,186, 3, 0,200,171, 87,175, 50, 15, 30, 60,120,199,210, 14,233, 77, 65, 34,145,188, 31, 27, 27,107,191,102, -205,154,138,179,103,207, 86, 13, 30, 60,216, 38, 58, 58,218, 97,242,228,201,239,195,130,232,240, 42,149, 74, 11, 32,166,184,184, -248,157, 30, 61,122,160,188,188, 28, 6,131, 1,201,201,201,240,245,245, 69, 98, 98, 34,186,116,233,130,235,215,175,195,223,223, - 31, 52, 77, 67,167,211,129,182, 32,208, 86, 97,222, 35,185, 84, 95, 97, 93,120,237, 4, 50,111, 37,226, 68,182, 94,179,225,187, -125, 39,186,134,134,215, 89, 42,124,159, 68,103,103,105,144,139,163,195,169,207, 55,174,179, 42,184,118, 18,251,183,127,206,254, -126,236, 88,119,145, 53, 94,235, 61,244,221,137, 38, 35, 58, 48, 44, 4,145,145,125, 48,166,123, 42,193,215,163,226,108, 82,203, -145,204,155,226, 60,240,253,207, 97, 58, 32,200,203,203,107, 12, 69, 81, 78, 0,140, 52, 77,167,193,194, 41,104,154, 75,167, 14, - 8, 82, 42,149, 99,196, 98,177, 27, 65, 16, 90,173, 86,123,247,175,224,244,246,246, 30, 67, 81,148, 43, 0, 13, 77,211, 89,104, -227, 84, 57, 67,134, 12,217,176,107,215,174, 5,122,189,222,225, 9,183,149, 56,121,242, 36, 12, 6, 3,132, 66, 33, 43,147,201, -144,151,151,199, 2, 80,177, 44,251,246, 95, 85,113,140, 31, 63, 30, 87,175, 94, 93, 5, 96, 69, 75,219,149,151,151,243,236,237, -237,205, 79, 10,175,230,162,192, 91,194,121,237,218,181, 79,223,124,243,205,247,227,226,226,242, 87,174, 92, 25, 58,109,218, 52, - 28, 57,114, 4, 30, 30, 30,200,204,204,196,130, 5, 11, 64, 16,132,247,198,141, 27, 83,246,238,221,171, 44, 42, 42,250,140,123, -102,113,224,240,127, 10,196,255,202,137, 52,217, 7,139, 96, 8,190,159,175, 47,109,208,212,238,126, 99,250,116, 77,106,106, 42, -104,154,134,217,108,134,238,250,117,212,157, 58, 5,179,217, 12,150,101,113,237,234, 85,204,157, 51,167, 86,167,169,253,182, 83, -167,142, 44,193,178,178, 39,168,254, 48,219,182,161,161, 45, 16,143,155, 8,181, 90, 45,248,124, 62,228,114, 57, 74, 74, 74, 32, - 20, 10, 33,145, 72,208,173, 91, 55,210,221,221, 61,170,137,228, 61,197,153,156,156,108, 66,181,126,194, 47, 83,231, 21,185,107, -204,236, 76,219, 78,232,192,151, 60,238,111, 5,192,201,138,196,144, 64, 30,236,121,165,236,237, 61, 47,171, 8,115,213,132,228, -228,100, 83, 75,156,207, 66,169, 84,118, 14, 10, 10,250,186, 33, 14, 86,191,126,253,200,224,224,224, 47,149, 74,101,231, 22,118, -107,145, 83, 44, 22,139, 0,224,244,233,211,229,241,241,241, 35, 79,159, 62, 93, 14,128,109,248,223, 18, 78,146, 36,119,108,223, -190, 29, 82,169, 20,102,179, 25, 6,131, 1,122,189, 30, 6,131,225, 15, 31, 71, 71, 71,156, 57,115, 6, 12,195, 28,111, 45,157, - 1,193, 33,181, 85, 60,219,226, 61,191,254,142,147, 15,141,181,237, 16, 87,141,156,129, 10, 89, 23, 55,167,199, 2,163, 44, 61, - 1,247,110, 39,226,196,241,163, 41, 58,160,160,178, 26,159, 84, 86, 35,164, 78, 7,187,158, 1, 40, 61,117, 96, 41,177,240, 21, - 16, 32,154,156, 51,207, 34,206,122,129, 50,139,166,233,158, 52, 77,247, 4, 48,171, 5,209,210, 38, 78,157, 78,215, 75,171,213, -254,165,156,109, 77,103, 67, 31, 44, 0,248,232,163,143,174,199,199,199,191,116,253,250,245,193, 13,159, 59,119,238, 12,202,201, -201, 25, 84, 80, 80, 48, 40,231,168,136,186,115,231, 14, 47, 49, 49,145,159,152,152,232,145,148,148, 20,103,105,249,108, 14, 79, -118,112, 87,169, 84, 43,159,113,154, 26, 57,137,192, 12,226,235,141,179,127,136,141,141, 85,252, 85,156, 0,144,153,153,249,245, -174, 93,187, 60,187,117,235,230,222, 16,138,225,219,111,191, 5,240, 56,146,253,231,159,127,142,222,189,123,195,221,221,221, 57, - 41, 41,201,171,176,176,112,123, 91,239,205,118,130,227,228, 56, 57, 78, 14, 22, 8, 44,130,161,105,154,129,179,139,179, 85,137, - 90,253,213,236,217,179,202, 86,175, 94,173,251,127,237, 93,121, 92, 84,213,251,126,238,157,125,103, 21, 24, 65, 81, 65, 4,113, - 65, 92, 48,181, 12,197,157,178, 92, 75,203,221,220,181,197,204,212,159,184,164,169,165,102,230,146, 90,238, 75,102,101,185,100, -148, 95,200, 21, 17,220, 80,217, 20, 20, 24,246, 29,134, 89,238,242,251, 3,102, 26, 8, 97, 6, 53,177,238,243,249,220,207,157, - 59,119,230,153,115,206,189,115,206,115,223,247, 61,239,137,136,136,128,254,206, 29, 84,196,196, 32, 60, 60, 28,115,231,206, 45, -127,103,218, 52, 77, 69,121,233, 70, 55, 87, 23,103,154,102, 64, 16, 76,157, 22, 18,146, 36,147, 19, 18, 18, 0, 0, 58,157, 14, - 95,126,249,165,209, 96, 48, 64,165, 82,129,101, 89,236,216,177,131, 1,128,190,125,251,202, 5, 2,129, 85, 75,144,100,100,100, - 92, 47,126,152,209,255,251, 55,166, 39,223, 62,244,115,113,135, 60, 61, 70, 73,212,120,173, 3,139, 86,146, 84, 60,184,248, 77, -209,197,109,195,146,203, 11, 30, 14,200,200,200,184,110,107, 35,185,185,185,253,223,129, 3, 7, 92,174, 94,189,202,234,116, 58, -164,167,167,179,243,231,207,119,113,115,115,251,191,199, 81,233,133,133,133, 32, 73,146,169,106, 23,198, 86,245,158,158,158,126, -243,232,209,163, 63,157, 61,123, 22, 30, 30, 30,160,105,218, 44,176, 44,247,124, 62, 31, 4, 65, 96,219,182,109,133, 4, 65, 44, -172,143, 87, 36, 18, 97,251,145,147,167, 62,216,122,236,200,145,240,168, 99, 13,181, 92, 1,128, 76,169, 90,241,249,186, 79,237, - 76,174,198, 3, 87, 51,138, 9,154,173,221, 85,103, 72,175,188, 71,106, 23, 88, 13,227,124, 26,229,124,134,156,207, 18,149, 51, -253, 52, 68,211,166, 77,241,253,247,223,219, 28,131,229,223,138,248, 91,112,123, 67, 57,111,222,188,249,233,168, 81,163,178,194, -194,194,182, 84, 84, 84,148, 85, 61,188, 25, 62,255,252,243,207,102,205,154,149,149,158,158,206, 89,174, 56,112,224,240, 76, 81, -107,154, 6,134, 71,158,223,182,125,235,160,195, 7, 15,185,241,120,164,219,189,123,247,175,188, 61,105, 82,122,100,100,164,163, -160,117,235,110, 36, 73, 50,250,143, 62,186, 88, 90, 92,148,191,247,219,111, 60, 91,182,108, 17, 80,181,216, 51,203,240,200,243, -117,253, 96,126,126,254,238,121,243,230,117,219,179,103,143,112,221,186,117,101,233,233,233,103, 46, 95,190, 60,104,203,150, 45, -146, 29, 59,118,148, 23, 21, 21, 29, 63,121,242,228,208,224,224, 96, 74,175,215, 91,157, 95, 40, 59, 59, 59, 14,217,217,126,228, -250, 29, 99,226,183,239,235,207,242,200, 30,168, 16,130, 96,233, 11, 36, 85,122, 38, 59, 35,227, 0, 0,170, 33,141, 36,145, 72, - 2,164, 82, 41, 18, 19, 19, 11,186,117,235,166, 23,137, 68,130, 22, 45, 90, 56, 73, 36,146,128,134, 54, 60,203,178,108, 65, 65, - 1, 88,150,229, 3, 32,104,154,230, 3, 0, 83, 95,210,162, 26, 16, 10,133,111, 76,156, 56,241,167, 45, 91,182,244,239,219,183, - 47,188,188,188, 96, 52, 26,225,235,235, 11,189, 94, 15, 31, 31, 31, 84, 84, 84,224,139, 47,190, 64,105,105,233,123, 25, 25, 25, - 5,117,241, 49, 12, 3,177, 88, 12,145, 72, 4,223,182,237,203, 37, 18, 9, 26, 42,174, 0, 64, 46, 66,171,135,151, 78, 32,241, -198, 85, 28,142,209, 20,150, 25,152,129,241, 57,229,183,106,126,174, 92,143,178,224,129,211, 43,133,183, 17,165, 79,130,243,105, -148,243, 89,115, 90,198, 96, 89,243,217, 39,133, 71,197, 68,213,133,219,247, 65, 76,127,113, 51,139,219,155,107,205,113,213, 16, - 78, 19,210,210,210,182,153,150,192, 33, 73, 50,105,206,156, 57,243,211,211,211, 55,104, 52,154, 45, 26,141,102, 41,215,181,115, -224,192,161, 81, 10,172,123,247,210,226,142,254,120,236,227, 99,223, 31,237,201,178, 36,143, 37,136, 50,128,252, 57, 46, 46,174, - 90,240,186,151,131,131,114,226,148,137,163, 9,134, 16, 16, 4, 67, 51, 60,242,252,189,123,105,113,245, 88,155,110,244,233,211, -103,115,112,112,240, 36,154,166,215, 38, 38, 38,158, 33, 73, 50,118,224,192,129, 31, 80, 20,245, 89,114,114,242, 25, 95, 95,223, -223, 14, 31, 62,252, 33, 77,211,182, 90,136,168,140,140,140, 61,168, 35, 6,172,129, 88, 14,192, 78, 44, 22, 23, 93,189,122,245, - 80,207,158, 61,223, 32, 8,194, 14, 64, 81, 67, 9,117, 58,221,156,146,146, 18,231,209,163, 71, 27, 1,248,190,254,250,235, 11, - 19, 18, 18, 4,101,101,101,201,182,240,164,166,166,234, 60, 61, 61,135,206,152, 49, 99,167, 80, 40,236,139,191,146,180,153,132, - 28, 88,150, 5, 77,211,199,171,218,230,145, 16, 8, 4,165, 67,134, 12, 81, 88, 97,225, 42,181,182,124,153,185, 37,115, 86,238, - 62,185, 90,103,100, 24,138, 97,167,197,103,151,215, 58,234, 95,137, 67,187, 39,205,105, 11,158, 23, 78, 0,152,254,226,230,125, -184,189,217, 44,160, 76,110,195,154,199, 79, 11, 85, 22, 39, 22,192,178,250, 62, 91,215,186,130, 13,229,172,137,244,244,244,175, -185,153,130, 28, 56,112,248,175,129,243, 79,115,156, 28, 39,199,201,113,114,156, 28, 39,199,249,159, 3,201, 53, 1, 7, 14, 28, - 56,112,224,192,129,195,147, 5, 81,135, 10,181,101,165,236,134, 40,217,155, 28, 39,199,201,113,114,156, 28, 39,199,201,113,254, -231, 56,235,227,190, 9, 14, 79, 69,120,113,156, 28, 39,199,201,113,114,156, 28, 39,199,249,223,227,252, 87,129,115, 17,114,224, -192,129, 3, 7, 14, 28, 56,112, 2,171, 81,224,109, 84, 38,133,188, 9,224,215,170,227,134, 66, 10,224, 35, 11,190, 83, 0, 62, - 4, 32,230,154,185, 81,131,199, 53, 1,135,134, 66,173, 86,183,105,219,182,237,213,122,146, 21,115,224,192,225, 57, 6,255, 81, - 39,188,188,188, 46,144, 36,217,138, 36, 43, 53,152,101, 46, 36,211,235,154,123,150,101,239,221,190,125,187,199,163, 56, 91,182, -108,105,230, 36, 73, 18, 4, 65,128, 36, 73, 24,141, 70, 37,143,199, 43,169,141,147,166,233,180,248,248,248, 46,141,168,205,246, - 57, 56, 56, 24,183,108,217,242, 85, 96, 96, 96,235,252,252,252,178,169, 83,167, 14,184,121,243,102, 8,128,183,108,228,106, 79, - 16,196,222,174, 93,187, 30,155, 53,107,214,119,254,254,254,202,178,178, 50,241,225,195,135,221,182,109,219,246, 39, 77,211, 19, - 1,196,113,183,105,227,129,155,155, 91, 32, 65, 16,155, 21, 10, 69,151,210,210,210, 43, 0,102,106, 52,154,107, 92,203,252,163, -152, 44, 18,137, 6,250,248,248,116,211,233,116, 5,247,238,221,139,170, 74,233,146,249,132,248,237, 0,252,159, 88, 44, 14,242, -246,246,110,150,144,144,240,208, 96, 48, 92, 70,101,186,150,162,199, 37, 87,171,213,109,130,130,130,206,173, 90,181,202,105,225, -194,133,231,162,162,162,122,105, 52,154,120,238,178,114,120, 22,104,214,172,153,125, 89, 89,217, 78,146, 36, 3, 37, 18,137,155, - 82,169,132, 66,161,200, 20,139,197,177, 50,153,108,210,201,147, 39, 11,185, 86,122,194, 2,139,199,227,121, 68, 69, 69,185, 40, -149, 74,208, 52, 13,134, 97,192, 48,140,121,253,193,170, 37, 5, 77,194, 10, 52, 77, 35, 56, 56,184,206,213,132,249,124,126,179, -171, 87,175,186, 40, 20,127,165, 90, 50, 24, 12,232,216,177, 35, 19, 19, 19,227, 82,115, 33, 97,189, 94,143,206,157, 59,179,141, -168,189,198, 58, 57, 57,233, 83, 83, 31,188, 80,161, 51,244,152, 49,127,197,255,141,126,181,183,221,197,139, 23,201, 87, 94,121, - 69,112,246,236,217,183, 1,236,181,146, 75, 74, 16,196,174,197,139, 23,127,202, 23,202, 92,142,158,188,192,255,114,251,129,135, -237,219,182, 36,230,205,158, 33,155, 51,103, 78,148,159,159,223, 55, 52, 77,191, 8, 64,199,221,170,141,227,255, 34, 16, 8,126, - 90,189,122,181,123,166, 70,131,245, 27, 54,116, 7,176, 5, 64,119,174,105,254, 49,124,180,108,217,178,213, 99,198,140, 1, 69, - 81,208,106,181, 77,147,146,146,218, 45, 94,188,248,245,164,164,164,110, 0,146, 31,147,191,137,143,143,207,157,121,243,230, 57, -118,235,214, 13, 36, 73,162,176,176,176,233,185,115,231,186,239,218,181,235,237, 7, 15, 30,248, 1,200,121,156, 31,112,112,112, -216,255,217,103,159, 57,137,197, 98,124,251,237,183, 78,163, 70,141,250, 19,192,139,143, 33,178, 72, 39, 39,167, 57, 0,130, 25, -134, 17, 3,184, 92, 80, 80,176, 18,128,129,187, 93, 56,212, 5, 39, 39,167,201, 89, 89, 89, 95,201,100, 50,161,189,189, 61,164, - 82, 41,132, 66, 33, 68, 34, 81,115, 7, 7,135,230, 10,133, 98,240, 27,111,188, 49,243,208,161, 67, 59,185,214,122,130, 2,139, - 36, 73, 72,165, 82, 28, 62,124, 24, 60, 30, 15, 66,161, 16, 2,129, 0, 2,129,160,218,107,211,113,179,102,205,234,253, 49,147, - 85,234,248,241,227,176,179,179,131, 74,165, 66,219,182,109, 65, 16, 4,196, 98, 49,194,195,195,171,241,118,233,210,229,177,178, -136, 55, 4, 35,250, 86, 38,233,172, 45,121, 99,232,204, 52,188, 50,102,213,240,114,157,241, 37,150, 37,180,153, 5,198,252,229, -235,190,138,235,212,174, 45,113,228,200,145,206,206,206,206,111,218, 32,176,230,118,235,214,237, 56, 5,145,235,196,241, 19,198, - 79, 32, 9,106,216,132,247,151,157,139, 73, 42,216,233, 31,120, 32, 39, 39,109,218,151, 95,126, 25, 63, 99,198,140, 57, 0,214, - 90, 91,254, 46, 93,186, 60, 96, 24,166, 89,149, 72,206,149, 74,165,234,136,136, 8,170, 17,220,107, 77, 1,172, 3, 96, 4,176, - 6,128,101,210,205, 54, 66,161,112,173,193, 96,200, 71,229, 66,191, 15, 27,227,159,197,221,221,221,239,173,183,222,114,206,203, -201,193,250, 13, 27,204, 77, 14, 43, 22, 37,127,210, 8, 12, 12,108, 37,145, 72,214, 1, 8,212,233,116,238, 0, 32,149, 74,211, - 89,150,253, 65,171,213, 46,138,137,137,209, 54,244,129, 22, 64, 59, 60,122,201, 38,118,237,218,181,241, 31,126,248,225,189,103, -192,217,194,213,213,117,213,200,145, 35,113,226,196, 9,156, 60,121,210, 40,145, 72,248,227,199,143, 39,102,206,156,233, 48,111, -222,188,193, 0,190,120,204,166, 29,188,108,217, 50,199,182,109,219,226,232,209,163,184,118,237,154,182, 77,155, 54,210,222,189, -123,131,199,227, 57, 46, 90,180,104, 16,128,221,143,243, 3, 5, 5, 5, 43, 87,172, 88,177,103,243,230,205,202,228,228,100, 44, - 91,182,204,121,214,172, 89, 17, 0,122,219, 32,178,196, 0,230, 0, 8,230,241,120, 47,142, 31, 63,158,154, 61,123,182,128, 36, - 73,227,198,141, 27,155,236,220,185,115,180, 64, 32, 8,204,203,203, 43, 5, 7,212, 49,206, 25, 24,134, 17, 0,144, 0,208,213, -119,252,111,170,187,163,163,227,244,252,252,252, 45, 77,155, 54, 69,147, 38, 77,204, 99, 45,195, 48, 40, 43, 43,131, 86,171, 69, -171, 86,173,132,109,219,182,221, 49,115,230, 76,193, 87, 95,125,181,149,187, 99,108, 23, 88,189, 1, 68, 88,188,215, 27, 64, 4, - 65, 16, 96, 24, 6, 2,129, 0, 60, 30, 15,124, 62,223, 44,124, 44, 95,155,182, 71, 8,161,155, 53,110,102,162,164,164,196, 44, -174,236,236,236,204,150, 48,163,209,248, 55, 78,154,166, 65,146, 36, 91, 23,231, 19,130,153,243,187,141,126,216, 29, 61,255,141, -221,209,149,199,131,198, 84,238,119, 71, 3,225,151,167,173, 91,187,181,103,179,185, 43,191, 93,157,151, 87,152,237,239,209,132, -122,115, 76,111, 79, 81,110, 86,174, 83,203,150,161, 0,178,109, 40,103,175,105,211,166, 29, 61,122, 54, 81, 46, 22,139, 68, 60, - 18,188, 54, 94,173, 4,238,170,214,142, 77, 6,116, 19,165, 36, 39,255,249,246,219,111, 79,155, 49, 99,134,147,133,192,170,183, -238, 44,203,170,207,156, 57, 3, 62,159,143,144,144, 16,135,170,107, 76, 89, 83,247,167,209,158, 22, 88,156,149,149,245, 70, 69, - 69, 5,186,116,233,242,106, 94, 94, 94, 48,128, 88, 0, 29,134, 14, 29,250,231,119,223,125,167,140,137,137, 65,247,238,221,165, - 0, 70, 61,195,114,254, 13,106,181,250, 12,128,126, 4, 65, 64, 95, 81,161, 95,247,121,181,101,238,162,107,136,171,167, 94,206, -128,128, 0, 63,137, 68,114,225,243,207, 63, 87,249,251,251, 19, 2,129, 0, 20, 69, 33, 33, 33,161,217,190,125,251,222,185,114, -229,202,160,192,192, 64,255, 90, 22, 53,183,166,238,237,254,252,243,207, 50, 47, 47,175, 90, 5, 99,121,121, 57,207,203,203,235, -229, 71,136,161,167,205,153,150,149,149,245, 90,191,126,253,166,101,102,102,222,161, 40,106, 1,128,246,206,206,206, 49,195,135, - 15,135, 84, 42, 13,214,106,181, 95, 60,206,117,119,113,113, 25,218,163, 71, 15,108,222,188, 25,107,214,172, 9, 1,240,251, 47, -191,252,210,183,184,184, 56,252,213, 87, 95,133,189,189,253,107,133,133,133,187, 31,227, 94,106,211,173, 91,183, 29,239,189,247, -158,242,151, 95,126,129,143,143, 15,138,139,139, 49,113,226, 68,151, 77,155, 54,253, 15,192,203, 22, 34,235, 81,156,254, 98,177, -120,247,193,131, 7, 21, 94, 94, 94, 94, 66,161,144,244,242,242, 66,126,126, 62, 42, 42, 42,196, 43, 87,174,236, 32,145, 72,174, -125,241,197, 23,187, 1, 12,123,198,255,163, 34, 0, 42, 0,246,176,205,189,122,179, 14, 62,115,124,170, 64, 32,128, 88, 44,134, - 68, 34,129, 68, 34,193,189,123,247,190,231,241,120, 19, 8,130, 48, 90,195, 73,252, 53,112, 5, 0,136,170,239, 24, 0,211, 8, -250, 37, 15,130, 32, 54, 2, 8, 70,101, 28,117,132,139,139,203,220,172,172,172, 84,107, 57,213,106,181, 83, 94, 94,222, 23, 77, -155, 54,133,139,139, 11,170, 30,200,209,165, 75, 23, 84, 84, 84,224,214,173, 91, 96, 24, 6, 73, 73, 73, 80,169, 84,232,208,161, -195, 23, 97, 97, 97, 71,195,194,194,242,158, 98,221,107,213, 34,207,187,192,250, 95,213,147,165,169, 50,166, 99,208, 52,109, 22, - 88, 53,197, 79, 77,193, 69, 16, 4, 88,150, 37,234,177, 96,145,122,189,222, 44,174, 84, 42,149, 89,156, 81, 20, 85,171,192,106, - 40,236,237,237,127, 45, 44, 44,220, 0,224, 76, 67,190, 63,126,252,248,191,197,115,124,244,209, 71, 15,115,114,114,232,161,189, -218,136,247,238, 61,145,247,118,232,203,110,254,222, 30,190,114, 39,151,128,242,242,242, 43, 0, 4,182, 24, 68,252,253,253,149, - 91, 15, 70,100,143,153,179,110,185,135,171,130,238,234,227,170,242,118,148,139,156, 36,124,202,158,165, 10,101, 50, 89, 59, 0, -121,182,150,221,206,206, 14,199,143, 31,111,108,247,154,131, 86,171, 69, 65, 65, 1,182,109,219,166,154, 54,109,218,217,188,188, -188,185, 67,135, 14,221,124,244,232, 81,121, 97, 97, 33, 12, 6, 3, 0,104, 27,225,255,100,133,131,131,195, 75,193,193,193,162, - 67, 71,142,136, 88,150, 45, 67,229,114, 68,165, 44,203,206,250,167, 11, 35,145, 72, 62, 88,185,114,165,202,223,223,159,200,205, -205, 5,203,178, 32, 73, 18,206,206,206,152, 63,127,190,100,209,162, 69,238,241,241,241, 31,163, 1,203,206, 0, 32, 30, 37,132, - 0, 64, 38,147,209,176,125,114, 76,173,156, 20, 69, 17, 61,123,246,156,159,155,155,219, 65,171,213,126, 98, 5, 15, 5,224,120, - 90, 90,154,229,205,125,237,206,157, 59, 90, 62,159, 47,109,217,178,101, 80, 92,220,227,133, 44,182,105,211,230, 5,129, 64,128, -203,151, 47,235, 44, 58,247,136,235,215,175,235,134, 13, 27, 38,110,214,172,217, 11,133,133,214,133,164,168,213,234, 54,222,222, -222,191, 57, 59, 59, 75, 77, 75, 86, 57, 57, 57, 9,214,174, 93,171, 76, 75, 75, 3, 69, 81, 88,184,112, 33, 66, 67, 67,225,224, -224,128, 9, 19, 38,184,238,216,177, 99, 63,128,206,117, 89,174,196, 98,241,238,196,196, 68, 95,181, 90, 45,189,116,233, 18, 58, -118,236,136,220,220, 92,100,102,102,162,180,180, 20,153,153,153,152, 52,105,146,203,250,245,235,213,141,232, 63, 84,200,231,243, - 33,151,203,237,139,138,138, 30, 39,142, 77, 12, 64, 4, 0,124, 62,223, 44,174,196, 98, 49,196,226,255,196,188, 32,119,130, 32, -226, 4, 2,129, 88, 46,151, 11, 73,146,132, 92, 46, 31,224,225,225,113, 43, 36, 36,164,253,190,125,251, 82,172, 33,169,168,168, -216, 43,149, 74, 5, 77,154, 52, 1, 0,244,239,223, 31,227,199,143, 71, 78, 78, 14,147,145,145, 1, 95, 95, 95, 50, 34, 34, 2, - 89, 89, 89,184,118,237, 26,186,118,237, 42,112,116,116,220, 11, 96,208, 83,172,219, 35,181,200,243, 44,176,106, 86,206, 12,134, - 97,170,137,171,218, 44, 87,150, 22,172,250,220,121, 4, 65,128,166,105,184,185,185, 65, 38,147, 65, 38,147,153,207,153,196,156, -229,198,178,108,131, 93,132,173, 91,183,238, 35,147,201, 94, 60,123,246,236,171, 0,194,173,253,222,200,121,119,204, 86,171,154, - 8, 8, 8,184,176,112,225,194,129,127,252,241, 71,193, 11, 29, 91, 49,226,140,135,121, 50, 7,231,142, 68, 19,151,144, 25, 83, -166, 94, 4,112,208,134, 34,102, 84, 84, 84,136, 91,184,145,218,140,162, 98,125, 43,149,157,125, 43, 59,133,172,133,179,157,147, -131, 68, 68,202, 93, 93,154, 26,141,198, 66, 0, 25,245, 17, 89,186, 5,197, 98,177,158, 32, 8,190,189,189, 61,236,236,236, 12, - 5, 5, 5, 21,129,129,129, 16,137, 68,185, 66,161,208,106,119, 97,215,174, 93,179,104,154,118,169,235, 51, 66,161, 48,251,210, -165, 75,174, 86,214,119, 81, 64, 64, 64,239, 45, 91,182, 52,241,241,241,193,182,109,219, 84, 71,143, 30,221,189,127,255,126, 20, - 22, 22,226,254,253,251,152, 56,113, 98, 49, 42,221,136,141,205,148,126,110,196,136, 17,216,185,115, 39, 91,245, 16, 33, 39, 8, -162,163,157,157,221,221,219,183,111,255,227,113, 46, 36, 73, 14,240,245,245, 37,138,138,138,192,178, 44,120, 60, 94,181,109,254, -252,249,210, 73,147, 38, 45,238,222,189,251,124,129, 64, 80, 76, 81,212,161,210,210,210, 79,110,221,186,213,168,130, 85, 95,124, -241,197,119, 31, 62,124, 24,234,233,233,249,243, 99,208,176, 20, 69,233, 89,150,149,242,120, 60,193,227,150,137, 32, 8, 94, 85, -127, 84, 97, 97,249,165,170,142,197,176, 97,246,168,163,163,227,254,125,251,246,121,120,120,120,192,104, 52,194,104, 52,162,172, -172, 12, 17, 17, 17,208,233,116,230, 69,217, 63,253,244,211,138,153, 51,103, 74,142, 28, 57,146,173,213,106,199,214, 67, 59,231, -187,239,190, 83,170,213,106,169, 86,171, 69,114,114, 50, 58,119,238,140,146,146, 18,148,149,149,161,188,188, 28, 6,131, 1, 69, - 69, 69,246, 52, 77,235, 27,203,181,230,241,120, 16,139,197, 16, 8, 4,133,205,154, 53, 3, 73,146,146,212,212,212,134,184,220, - 84, 0,138,249,124,190,200, 82, 88, 73, 36, 18,220,188,121,243,112, 29,214,171,218,111, 30,203, 96, 98, 43,142,159, 53, 8,130, -216, 40, 16, 8,196, 78, 78, 78, 66,211,123, 6,131, 65,232,224,224, 0, 79, 79,207,205, 0, 6, 91,201,211,201,201,201, 9, 4, - 65, 64, 40, 20, 98,202,148, 41,136,138,138,250, 33, 45, 45,237,237,236,236,108,148,150,150,238, 85,169, 84,175,103,103,103,131, -166,105,164,164,164, 32, 32, 32,160,211, 63, 84,205,231, 94, 88,213, 20, 88,189,107,236, 77, 22,169,122, 45, 87,245,184, 8,171, -193, 96, 48, 40, 66, 67, 67, 25,147, 24, 51,205, 34, 4, 64,208, 52, 13,161, 80, 88,141,179, 74, 96, 53,232, 6, 23,139,197, 24, - 60,120,176, 68, 38,147,253,248,203, 47,191,188, 10,224,143,134, 54,210,241,163, 7, 92,215, 46, 93,184,212,177,105, 75,239,143, - 63,254,152, 63,104,208,160,240, 67,135, 14,117,117,238,213,103, 96,228,239,135, 93,183, 45, 56,254,243,225,195,135, 75, 96,125, -252, 21, 0,156,255,225,135, 31,212, 31,204,158, 33,236,221,187,247,247,227, 58,188,199, 87,139, 24,165,163, 88,200,147,241,248, -164,184, 89,139,129,191, 71, 68,106, 0, 68, 90,209, 73,168,195,195,195, 97,111,111, 15, 0, 34,189, 94, 15,123,123,123,108,219, -182, 77,162, 82,169,160, 82,169,208,163, 71, 15, 7,161, 80, 88,159,187,208, 82,240,186,252,239,127,255,131, 66,161, 64, 89, 89, - 25,116, 58, 29, 40,138, 2,203,178,230, 39,199,151, 95,126,217,197,134,250, 38, 23, 23, 23,191, 52, 99,198,140,200, 45, 91,182, - 52,241,246,246,198,242,229,203,145,151,151,135, 7, 15, 30, 96,236,216,177,197,247,238,221, 11, 70,245,216,172,103,142,246,237, -219,179,231,206,157,195,169, 83,167,240,202, 43,175, 16,199,143, 31, 55,208, 52, 45,204,200,200,184,145,145,145,241, 76,202, 68, - 81,148, 82, 36, 18,193,104, 52,130,207,231,155, 93,248, 38,129,229,238,238,142,223,126,251,141, 95, 94, 94,206,207,203,203,147, -237,218,181,107,118,116,116,180, 26,192,155,207,178, 45,183,110,221,234, 57,101,202,148, 7,124, 62,159, 29, 56,112,224, 91,169, -169,169,175,169,213,234,223,207,158, 61,251, 57, 0,155,211, 21,180,107,215, 46,154,199,227,121, 24,141, 70,225,143, 63,254,104, -164,105, 90,216,190,125,251, 44,147,181,200, 52, 54, 82, 20,149,150,144,144,208,197, 26, 62,173, 86, 43,252,250,235,175,141, 21, - 21, 21,194, 14, 29, 58,152,185, 12, 6,131,240,167,159,126, 50, 26,141, 70, 97,155, 54,109,162,173,153,217,156,159,159, 63,118, -222,188,121,127, 30, 62,124,216,153,199,227, 33, 53, 53, 21,249,249,249,176,183,183,199,190,125,251,208,162, 69, 11,132,135,135, -231,211, 52, 61,121,231,206,157,139,181, 90,237, 88, 43, 98,176, 94, 14, 10, 10,242, 44, 44, 44,132,157,157, 29, 74, 75, 75, 17, - 29, 29, 13,127,127,127,100,100,100,128, 36, 73,216,219,219, 99,235,214,173,229, 4, 65,228, 55,134,255, 16, 73,146,102, 33,100, - 33,136, 42,130,130,130,112,254,252,249, 3, 54,138, 34,189,169,255,177,116, 13,138,197, 98,240,120, 60,155, 93, 30, 12,195, 8, - 1,116, 50, 13,232,245, 29, 55, 2,244,150,203,229,194,154,111, 22, 20, 20, 8,125,125,125, 95,180, 97,124,116,146, 74,165,149, -132,189,123, 35, 59, 59,155,246,242,242, 26, 61,122,244,104, 35, 0, 76,157, 58,117,116, 78, 78, 78,133,209,104,228,241,249,124, -228,228,228,160, 85,171, 86, 78,255, 68,253,106,106,145,231, 93, 96, 17,168,116,119, 88,238,205, 22,172,250, 44, 87,166,115, 38, -161, 84,207, 31,173,240,234,213,171,114,185, 92,110,126,207,104, 52,162, 83,167, 78, 12,195, 48, 68,205,223,122, 28, 11,150, 88, - 44,134,189,189, 61,222,124,243, 77, 89,122,122,250,238,107,215,174,121, 88,243,189,202, 24,172,234,226,106,251,154,229,155,191, - 92,187,210, 41,233,212,183,216,185,233, 51, 90, 46, 87,196, 4, 4, 4,188, 84, 84, 84,164,179,151,235,144,153,135,163, 0,246, -219,210,231, 0, 56,124,241,226,197,216,254,253,251, 95,188,127,255,190, 67,106, 98,226, 57,149,190,180, 84,209,172, 37, 37,116, -113, 29,170, 53, 24,249, 35, 70,140,112, 5,176,201,138,167, 17, 48, 12,131, 19, 39, 78, 64,169, 84, 66,165, 82,193,222,222, 30, - 38,113,213, 80,220,187,119, 15,105,105,105,144,203,229,144,203,229, 80, 40, 20, 80, 40, 20, 16,137, 68,213,172,143, 54, 32,190, -184,184,120,238,177, 99,199, 14,173, 94,189, 26, 5, 5, 5, 40, 43, 43,195,210,165, 75,145,156,156, 60, 15,149, 49, 89,141, 6, - 29, 58,116, 96, 47, 92,184,128,115,231,206,161,172,172, 12,155, 55,111,134, 90,173,238, 3, 96,201,179, 44, 23,195, 48, 66, 83, -170, 19,146, 36,255,102,193, 50,137, 45,169, 84, 10,103,103,103, 44, 92,184, 80, 56,116,232,208,208,103, 89,230,181,107,215,182, -222,184,113,227,174, 61,123,246,156, 26, 59,118,236,145,155, 55,111, 78,176,179,179,187,241,199, 31,127,172, 20,139,197, 76,131, - 58, 47, 62,223, 35, 54, 54,214, 82,228, 11,104,154,150,209, 52, 13,138,162, 96, 52, 26, 81, 94, 94,142,144,144, 16,171,249,162, -162,162,100, 0,176,100,201, 18, 1, 0, 25,195, 48,176,228,211,106,181,130,190,125,251, 90,213,151,104, 52,154,248,203,151, 47, -191, 56,122,244,232, 11,135, 14, 29,114,240,244,244, 68, 90, 90, 26, 50, 50, 50,224,237,237,141, 77,155, 54,149,177, 44,219,179, - 74, 84,253,100,101,181,155, 58, 56, 56, 8, 30, 60,120, 0,138,162, 16, 24, 24,136,173, 91,183, 98,212,168, 81,104,215,174, 29, - 74, 74, 74, 16, 23, 23,135,221,187,119, 59, 8,133,194,225,141, 65, 92,153, 68, 80,109, 91, 3, 31, 48, 84, 18,137,164, 88, 34, -145,136, 76, 66,235,202,149, 43, 54, 91,175, 44, 16,107,227,241, 51,131,169, 15, 54, 26,171, 87, 83, 46,151,195,199,199,199,106, - 30,185, 92, 78,152,198, 88,163,209, 8,141, 70, 67,223,188,121,211, 44, 80,213,106, 53,125,233,210, 37, 90,167,211,241,148, 74, - 37, 0,192,222,222,254,105,139,204, 71,106,145,231,221,130, 21, 89, 99,111,182, 96,153, 4, 79, 93, 65,238,124, 62,223, 90,129, - 5, 30,143,135,211,167, 79, 67,161, 80, 64,169, 84,194,207,207,207,100,133,169,213, 42,214, 80,129, 37, 18,137, 96,103,103,135, - 51,103,206, 84, 92,187,118,109, 74, 67, 45, 87,219,215, 44,223,252,233, 39,203,156,242,110, 95, 68, 90,134, 6,121, 89,134,232, -243, 55, 83,126, 69,101,130, 81,224,118,219, 8,194,255,142,213,226,202,207, 89, 26,160,114, 80,253, 20,220,111,160,251,107,227, -102,144, 51,103,206,124, 97,252,248,241,249,111,189,245,214, 28,169, 84,218,142,162,168,130,240,136,136,148,145, 35, 71, 58, 21, - 21, 21,141,135, 21, 49, 73, 60, 30, 79,211,191,127,255,102, 0,160, 84, 42,245,223,124,243,141,200,222,222, 30, 99,198,140,169, -200,204,204,148, 84,181, 71,129,181,214,171,170,193, 38,123,242,228,201, 46,245,180,113,182,141, 77,218, 41, 52, 52,116,199,225, -195,135,145,151,151,135,178,178, 50, 8,133, 66,172, 91,183, 14, 15, 30, 60,248, 34, 62, 62,254,102, 99,233,204, 58,118,236,200, - 94,186,116, 9, 55,110,220,128, 78,167,195,148, 41, 83, 0,128,208,104, 52, 0,208,255, 89,123, 10,210,211,211,177,111,223, 62, -208, 52,141,177, 99,199,162, 69,139, 22,102,129,149,153,153,137,111,190,249, 6, 52, 77, 99,242,228,201,104,222,188, 57,140, 70, -163,164,119,239,222,252,103, 53,163,244,189,247,222, 75,250,225,135, 31, 78, 61,124,248,112,208,154, 53,107,122, 19, 4,193,204, -159, 63,255, 83,149, 74,245, 88,179, 47, 11,138, 74,112, 55, 49, 21, 20, 69,213,186, 53,113,118,180,153, 47, 33,249, 1, 40,138, - 54,115,208,244, 95,124, 78,142,182,241,105, 52,154,242,188,188,188,178,201,147, 39,219,239,216,177,131,240,241,241,193,253,251, -247, 33, 16, 8,160, 84, 42,203,239,222,189,107,107,106,134,244,252,252,124, 31, 30,143, 39, 76, 76, 76,132,167,167, 39,186,117, -235,134, 85,171, 86, 33, 39, 39, 7, 20, 69,193,197,197,133, 49, 26,141, 49, 6,131, 33,242, 89,255,143,106, 90,174, 76, 91,149, -229,138, 4,240, 51,254, 30, 56, 94,175, 21,203,210,130,213, 80,235,213, 83, 20,149, 79,109,102,162,143,143, 79,132, 74,165, 10, -189,115,231, 78, 53, 43,214,155,111,190,105,240,246,246,254,211, 90, 30,149, 74, 85, 32, 18,137,156, 42, 42, 42,112,241,226, 69, -248,249,249, 9,139,138,138, 86,163, 50,233, 53,126,250,233,167,213, 89, 89, 89, 66,119,119,119, 0,128,175,175, 47,138,138,138, - 10,254,129,230,251,155, 22,249, 55, 8,172, 90,205,114, 53, 93,132,117,137, 44, 83, 66,210,250, 44, 45, 90,173,214,108, 17,145, -203,229, 96, 24,166,154, 59,178,166,192,170,101, 22,161,213,127,236,179,103,207, 86,108,223,190,125,132, 89, 12, 89, 1,203, 24, -172,175,215,175, 92,107, 18, 87,215,207,253,134,159,238, 20,229,206, 95,181,126, 99, 67, 27,187,173,179,172,163,171,171,211,255, -214,175,251, 84,149,126,249, 20,142,108, 95,207, 94,143,138,234, 58, 61, 42,106,248,244,233,211, 29, 81, 25,111,149, 14,224, 28, - 42,167,155, 91, 21,240,125,249,242,229,230,166,215, 93,187,118, 53,170, 84, 42, 40, 20, 10,228,228,228, 8, 21, 10,133, 36, 34, - 34,194,230, 88,135,168,168, 40,215, 39,124,175,181,121,229,149, 87, 34,191,255,254,123,121, 97, 97, 33, 82, 82, 82,240,225,135, - 31,226,171,175,190,130, 74,165,194,137, 19, 39,148,161,161,161,255,187,123,247,110, 15, 60,227,228,170, 1, 1, 1,108, 84, 84, - 20, 82, 82, 82, 64, 81, 20, 94,123,237,181,122, 31, 30,254, 97, 11, 22, 59,111,222, 60,236,216,177, 3, 36, 73, 98,220,184,113, - 40, 46, 46, 54,159,119,116,116,172,237, 28, 15,245,207, 40,125,122, 29, 13,159,207, 70, 68, 68,172,233,221,187, 55, 30, 62,124, - 56,168,115,231,206, 95, 78,152, 48, 33,253,113,121, 29,236,148, 8,240,247,130, 78,167,131, 78,167, 67,211,166, 77, 81, 82, 82, -130,164,164, 36,232,116, 58,184,186,216,219,204,215,169, 93,107,232,245,122,232,116, 58,184,184,184,160,172,172, 12,247,239,223, -135, 78,167, 67,147, 38, 14,182,208, 53, 27, 48, 96,192,217, 3, 7, 14, 56,237,223,191, 95, 63,108,216, 48,209,242,229,203, 9, -149, 74,133,172,172, 44, 52, 48,188, 39,226,220,185,115,158, 33, 33, 33,190,113,113,113,136,140,140,132, 94,175, 71,167, 78,157, -144,144,144,128, 23, 94,120, 1,197,197,197,151,175, 92,185,210, 40,102,185,212, 20, 86,209,209,209,135,133, 66, 33, 11,160,161, -214, 38, 0, 64, 90, 90,154,184,125,251,246, 58,177, 88, 44,186,112,225,194,129,199,176, 94, 61,249,167,159,199,159,153,248, 72, -180,110,221,122,158,135,135, 71, 72, 96, 96, 32,226,226,226,132, 98,177, 24,111,189,245,150, 97,240,224,193, 6, 62,159,111,245, -132, 27,137, 68,114, 91,169, 84,190,164,211,233,160,215,235, 17, 30, 30, 14, 71, 71,199, 15, 67, 67, 67,231,106, 52, 26,100,100, -100,136,196, 98,177,217, 74, 30, 28, 28,140,252,252,252,219,255, 64,243,213,170, 69,158,119,129, 85,171, 24,178,180, 96,213,229, - 30,180, 86, 96,145, 36, 9,189, 94, 15,153, 76,102, 22, 88,150,153,226, 27,194,249, 72,155,111,108,236,133,228,228,228,207, 1, -156,108,200,247,191,219,191, 71,109,199,148, 55,203,184,124, 18,119,175, 71,227,135,184,194,220,249,171,214,207,126,117,196,152, -172,154,130,204,170, 39,143, 38,178,246,174, 46,149,226, 42,239,246, 69, 36,222,136,198,201,203,105, 87,245, 64, 2,128, 79,158, -228, 69, 53,249,214, 27, 19,196, 98,241, 60,211,108,193,228,228,100,140, 29, 59,182, 48, 37, 37,101,198,107,175,189,246,213,175, -191,254,234,224,224,224,128, 51,103,206, 40,155, 53,107,182, 26,192,179,116,103,177, 87,175, 94, 69, 94, 94,229,228,205,158, 61, -123, 54, 42,113, 5, 0, 87,175, 94, 21,134,134,134,254, 14,160,207,237,219,183,193, 48,204,133,152,152,152,158,166,243,117,157, -179, 70,191,149,148,148, 8,148, 74,101,173,131,149, 80, 40, 20, 54,192,226, 96,230, 60,127,254,252,167,159,127,254,249, 15,239, -191,255,126,226, 99,114,214,106,193, 10, 13, 13, 69,133,206,136,180,172, 34, 80, 20,133,114,125,214, 99, 89,176, 66, 67, 67,161, -173,208,227,129, 38, 31, 20, 69,161,180,194,106, 67,137,172, 95,191,126,191, 30, 58,116,200,237,194,133, 11,208,235,245, 76,116, -116,244, 3,215, 14,207, 0, 0, 32, 0, 73, 68, 65, 84,253,169, 83,167,170, 38, 77,154,228, 84, 89,229, 6, 97,211,155,111,190, - 57,226,252,249,243,249,190,190,190,142, 87,174, 92, 65,118,118, 54,140, 70, 35,250,244,233, 3,177, 88,156,186,122,245,106, 33, -172, 8, 45,248, 39, 5,214,237,219,183, 77,194,106,220,147, 18, 66, 38, 11,214,127, 9, 7, 14, 28, 72,255,230,155,111,252,213, -106,245,198,183,222,122, 43,184,105,211,166,164, 72, 36,138,224,243,249,115, 9,130, 72,181,161,237, 38, 56, 56, 56, 36,241,120, - 60, 94,122,122, 58, 18, 19, 19,193,227,241,192,178,172, 72,171,213,194,213,213, 21, 60, 30,207,100, 29,131,135,135, 7,157,144, -144, 48, 1, 28,158,140,192, 50, 97,197,138, 21,216,190,125, 59,222,121,231,157, 58, 63, 87,149, 22,160,230, 64,212, 30, 22,185, - 50, 76,179, 8,195,194,194,170,125,207,228, 10,156, 49, 99, 70,181, 47,255,248,227,143,181,185, 8,171,113, 62, 10,201,201,201, -182, 40, 96, 51,167, 41, 6,107,228,216,113,154,205,159, 46,189,177,251,248,239, 29, 52, 90, 86, 51,127,213,250,247,106,138, 43, -107, 57,253, 92,229,109,213,206,142, 17,159,175,251,212,206,100, 13, 59, 20,147, 89, 4,138,125,199,198,235, 85,111,221, 5, 2, -129,166, 71,143, 30,205, 0,171,221,130, 86,181,231,227,150, 83,167,211,225,210,165, 75, 0,128,137, 19, 39, 22,166,164,164,188, - 4,224, 86, 74, 74,202,237,129, 3, 7, 70,156, 62,125,218,161,234,137, 62,239, 89,150, 19,168,156,209,202,231,243, 77, 49, 13, -196,147,190, 70, 79,162,156, 26,141,230,157,105,211,166,109,215,233,116,252,178,178,178,119,172, 61, 87, 95, 57,191,251,238,187, - 68, 31, 31,159,222,120,116, 42, 6, 6,192,197,199,225,220,184,113, 35, 0,248, 62, 14,231,163, 44, 88,135, 15, 31, 6, 77,211, -240,112,181,131, 78,167,131,101,188,167, 53,156, 53, 45, 88, 71,142, 28, 1,195, 48,104,174,118,132, 78,167,171, 43,246,176, 26, -167,147,147,211,250, 61,123,246,120,220,190,125, 27,233,233,233,216,176, 97, 67,106, 78, 78,206, 96, 62,159, 47,254,242,203, 47, -255, 55,100,200, 16, 87,138,162,116, 13,184,151,116, 6,131, 97, 66,143, 30, 61,246,174, 92,185,242,158,159,159, 95,179, 30, 61, -122, 56,228,231,231,103,199,198,198,166,108,223,190, 93, 65, 81,212, 4, 60,218,245,244,143,253,143, 0, 32, 35, 35,227, 56, 42, -211,215,216, 42,172,234, 45,103, 84, 84,212,145, 42,238,147, 86,114,255, 35,117,127, 2, 51, 19,235, 44,231,196,137, 19,211,240, -247,252,102, 54,149,243,183,223,126, 75, 25, 61,122,244,138,246,237,219,135, 41, 20, 10,196,199,199,155,211, 34,153, 30,208, 9, -130,192,200,145, 35, 49,125,250,116,156, 57,115,102,197,200,145, 35, 83,254,129,246,252,111, 8, 44,154,166, 31,166,164,164,168, -247,236,217,195, 35, 8, 2,251,246,237, 67,205,192, 90,211, 30, 0, 46, 93,186, 68,177, 44,155, 84,215,143,209, 52,253, 48, 58, - 58,218,245,219,111,191, 21, 72,165, 82,136,197, 98,100,100,100,128, 97, 24, 38, 43, 43,139, 60,112,224, 64,181, 96,221,139, 23, - 47, 82, 6,131,225,193,179,106,156, 63,227, 82,231,158, 62,241,131,243, 11,221, 95, 42, 84, 57, 58,214, 42, 84,190,219,232, 7, -194,191,110, 43,150, 92,169,250,244,243,117,159,218,155,196,213,225,152,204,194, 10, 29, 29,124, 39, 87,123,253, 73,151,249,194, -133, 11,205, 27,233,189,182,180,119,239,222, 12, 0,103, 0,139, 81,105,185, 3,128, 91,247,239,223,239,238,227,227,243, 62, 42, - 23,190, 94,250, 44,173, 87, 12,195, 88, 90, 78, 27,109,144,101, 76, 76,204, 61, 0,125,109, 61, 87, 31, 70,142, 28,153,140,199, - 95,110,230,169,115,154,144, 95, 88,140,164,251,233, 85, 75,121,209,160, 83, 51, 45,226,167,140,200, 47,182, 45,141, 92, 65, 81, - 9,146,238,167,129, 97,216, 74, 62, 58,221, 28,228, 78, 81, 20,114, 11,235,247,218,243,249,252, 94, 97, 97, 97,131, 73,146, 36, - 47, 93,186,164, 91,183,110,221,195,156,156,156,161, 0, 30, 84,197,240,189,252,227,143, 63,238,183, 34, 37,131, 37, 39, 65, 81, -148,105, 96,142, 51, 26,141, 47, 44, 88,176, 96, 14,128, 94, 0,154, 3,120,128,202,208,130, 77,104, 68, 25,199, 9,130, 24,247, - 60,114, 63, 14,158,151,153,137,135, 15, 31, 94, 54,125,250,116,126, 80, 80,208,199, 93,187,118, 37,239,223,191,143,236,236,108, -243,195,229,128, 1, 3,224,233,233,201,156, 60,121,114,213,176, 97,195,150,129,195,147, 19, 88,185,185,185, 3,198,141, 27,247, - 27, 73,146, 45, 31,181,184,179,165,117,137, 97,152,148,172,172,172, 58,147,144,229,230,230, 14, 88,186,116,233,111,124, 62,191, -165,197, 98,206,186,188,188,188, 25, 35, 71,142,220, 34, 16, 8,196,150,214, 46,134, 97, 82, 53, 26,205, 63, 26, 80, 92, 51, 15, -214,192, 33,175,231, 62, 46,167, 92, 4,175,135,151, 78, 32,241,198, 85, 28,142,201, 44, 40,209,211, 47, 39,228,150,255,215,148, -127, 54,128, 25,143, 56,151, 8,224,157, 70, 80, 70,162, 42,230,143,224,186,134,198, 15,138,162,210, 66,250,188,140,154,105, 25, -106, 30,211, 52,157,102, 45, 95,223,224,222,143,228, 49,189,174,143,143,199,227,189, 31, 20, 20,196,123,255,253,247,179, 78,157, - 58,245,123, 65, 65,193,123, 0,202, 45, 44,140,241,168, 59,153,104,109,156,206, 20, 69, 89,174,129,168, 67,229, 10, 15,107,185, - 59,161, 81,226,185,152,153,184,117,235,214, 37,243,231,207,223,221,180,105,211,125,189,122,245,242,245,246,246, 86, 41,149, 74, - 20, 23, 23,151,228,231,231,223, 61,113,226,196,216,241,227,199,223,227, 46,103,227, 68,251,231,141,115, 68, 95,176,108,156, 31, -203,198,249,177, 35,250,130,181,230,184, 62,206, 54,174,242,222,221,154,171,174,118,104,170,188,226,235, 34,247,255, 47,181, 39, -199,201,113,254, 7, 57,155,139, 68,162,159,248,124,126,175, 39,200,233, 44, 18,137,154,112,215,136,227,124,154,156, 35, 70,140, -224,141, 24, 49,130,247, 12,203,249, 72,176, 44,219,149,101,217, 33, 85,123,211,235, 16,211,123,141, 81, 0,241,193,161, 26,142, -254, 14,162,166,203,175,190,227,250, 16,159, 85, 22, 97,235, 19, 43, 7, 14, 28,158, 91, 60,208,235,245, 67,159, 48,103,174, 94, -175,231, 90,150,195,211, 29,255,142, 30,165, 27,113,241,154, 16, 4,241, 11,203,178,161, 0, 96,122,109,249, 94, 99, 3,201,221, - 82, 28, 56,112,224,192,129, 3, 7, 14, 79, 22, 4, 30,109,230,179, 37, 70,168, 33,166,194,155, 28, 39,199,201,113,114,156, 28, - 39,199,201,113,254,231, 56,235,227,254,219,247, 89,150, 29, 82,151, 5,139, 32,136, 19,255, 53, 1,199,249,188, 57, 78,142,147, -227,228, 56, 57, 78,142,147,227,124, 44,176, 44, 59,164,114,199, 14,177,124,109,177,111,116,224, 98,176, 56,112,224,192,129, 3, - 7, 14,141, 29,218,143, 62,250,232, 99,130, 32,126, 1,128,143, 62,250,232,227,198, 94, 96, 78, 96,113,224,192,129,131, 5,212, -106,245, 43, 0,150,161, 50,132, 98,181, 70,163, 57,194,181, 10,135,127, 19,156,157,157,229, 78, 78, 78,191,147, 36,233, 9, 84, - 79,185, 84,219,250,191, 12,195,104,242,243,243,251,103,101,101,229,254,147,156, 53,112, 97,245,234,213,229,171, 87,175, 54, 5, -180,231, 0, 32,170, 92,134, 57,255, 10,129,181,160, 95,139, 23,155,186,187, 31, 40,204,203,139,209,149,151, 76, 90,253, 71, 70, -126, 3,127,219, 73, 36, 18,141,150,203,229, 33, 44,203,122,241,120,188, 59, 69, 69, 69,225, 70,163,241, 16,128, 82,238, 47,192, -225, 89, 35, 32, 32,160,131, 72, 36,250,144, 32,136,238, 20, 69,121, 8, 4,130, 12, 0,151,117, 58,221,186,216,216,216, 24,174, -133,254, 53, 32,213,106,245, 23,246,246,246, 65,133,133,133, 99, 1,124, 28, 31, 31,223,145, 36, 73,248,251,251,127,172, 86,171, -147,148, 74,229,206,146,146,146, 11, 26,141,102, 46, 26,184,172, 15,135,198, 5, 47, 47,175,104,146, 36, 61, 44,151,107,171, 41, - 8,106,238, 89,150,189,119,251,246,237, 30,143,226,116,119,119,247, 82,169, 84, 91, 0,116,173, 77, 84, 88,162, 42,191,218,149, -226,226,226, 25,233,233,233,181, 38,226,117,112,112, 80,186,184,184, 44, 35, 8, 98, 36, 73,146,245,166, 79, 96, 24,134,102, 89, -246,187,236,236,236,165, 5, 5, 5, 37,143, 28,124,157,156,194, 35, 35, 35,187, 58, 59, 59,215,155,243,143,162, 40,164,165,165, - 53, 9, 13, 13,141,204,202,202,242,251, 39, 57, 45, 65, 16,132, 30,149,107, 55, 62, 55,176, 89, 96, 17, 52,222,154, 52,101,156, -123,225,195,120,247, 61,135, 78,183,249,184, 63,255,229, 85,103, 30,100,218,194, 33,145, 72, 70,123,123,123,111,218,180,105,147, - 83,203,150, 45, 9,169, 84, 10,141, 70,227,119,237,218,181,215,195,194,194,150,166,165,165, 77,160, 40,234,183,199,172,155,189, -163,130,255, 97,126, 41,181,144,235, 74, 56,216,130, 17, 35, 70,240, 30, 62,124, 24,166, 82,169, 62, 88,176, 96,129,184, 85,171, - 86, 80, 40, 20,200,206,206,110,158,144,144,208,108,203,150, 45,175,188,240,194, 11, 95, 10,133,194, 69, 17, 17, 17, 20,215, 98, -207, 55,212,106,245, 23,145,145,145,179,154, 54,109,138,158, 61,123, 94,232,212,169,147, 74, 38,147,225,212,169, 83,240,242,242, -106,103,103,103,119,121,219,182,109,130,101,203,150, 5, 28, 59,118, 12, 26,141,102, 54,215,106,255, 2, 85, 77,146, 30, 49, 49, - 49, 46, 50,153, 12, 52, 77, 87,173, 6,192,128,101, 89,243,222, 82, 12,209, 52,141,224,224, 96, 67, 61, 99,219, 87, 55,110,220, - 8, 49,173,112, 98, 33,164,106, 69, 70, 70, 70, 72,112,112,240, 87, 0,106, 77,168,237,226,226,178,108,212,168, 81,243,218,181, -107,103, 94,106,142, 97, 24,243, 62, 55, 55, 23, 51,103,206, 52,255, 6,195, 48,136,140,140,156,243,238,187,239,162,160,160,224, -221, 58,234,238,233,236,236, 76,212,183, 4, 94, 88, 88, 24,194,194,194,176,105,211, 38,130,207,231,219,215,211,158, 79,156,243, -121,135,237, 2, 11,236,201,147, 71,143, 76, 10,237,237, 75,140, 31, 26,232,179,255,120,244,197, 5,125, 91,190,180,230,247,251, - 15,173, 20, 87,115,166, 77,155,246,233,242,229,203, 37,119,239,222, 69, 92, 92, 28, 40,138,130, 66,161, 64,135, 14, 29,200,147, - 39, 79,170,231,204,153,115,244,207, 63,255,156,104, 48, 24,142, 53,180, 98,110, 14,188,117,114, 41,111, 76,169,150,189,108,160, -233,227,141,177,241,187,117,235,118,198,104, 52,174,137,141,141, 61,251,188,220, 48,129,129,129, 61,133, 66,225, 82,145, 72, 52, -240,223, 42, 46, 82, 83, 83,151,190,248,226,139, 31,132,133,133,137,239,223,191,143,248,248,120,104, 52, 26,180,108,217, 18, 45, - 91,182, 36, 54,109,218, 36,249,242,203, 47,103, 95,187,118,141, 4, 48,223,150, 62,221,205,205,109,114,223,190,125,135, 59, 59, - 59,219,165,167,167, 23,157, 63,127,254, 39,141, 70,243, 53,234, 95, 51,242,145,156,206,206,206,227, 67, 67, 67,135, 59, 58, 58, - 58,106, 52,154,252,223,127,255,253,167,236,236,236,157,143,105,105, 81, 3,232, 8,192,169,234, 88,211,162, 69,139, 91, 41, 41, - 41,217, 79,144, 51,163, 69,139, 22,113, 13,225,116,118,118,150,243,249,252, 35, 4, 65, 52,173,195, 66,144, 65, 81,212,168,220, -220,220,178,186,184, 84, 42, 85,119,181, 90,141,203,151, 47, 99,241,226,197,142,193,193,193, 72, 72, 72, 0, 73,146,248,224,131, - 15, 8,127,127,127, 65,102,102, 38,186,116,233,130,240,240,240, 30, 85,203,221,112,176, 14,223, 1,176, 7,240, 38, 0, 75, 87, -144, 51,128, 31, 81,185,194,195,176,103, 85, 56,169, 84,138,131, 7, 15, 66, 32, 16, 64, 40, 20,162,160,160, 0,238,238,238, 16, - 10,133, 16, 8, 4,230, 77, 40, 20,162, 89,179,102,245,242, 49, 12,211,141,199,227,161,180,180, 20, 52, 77,155,151, 89, 42, 42, - 42, 2,203,178, 16,137, 68,230,247, 77,231, 24,134,233, 86,135,213,102,100,211,166, 77,113,232,208, 33,212,150, 7, 77,165, 82, -225,230,205,191, 38,220,241,120, 60, 4, 4, 4,144, 4, 65,140, 4,240,110, 29,188, 44, 0, 76,153, 50,165,218,242,116, 53, 55, -211,218,193, 44,203, 90, 46, 33,246,143,113,254,171, 5,214, 71,125, 90,206,104, 23, 24,176, 78, 36, 18, 72, 25,218, 8,134, 50, -130, 49,234,193, 48, 20,238,165,106,224,229, 34,194,196, 65,222,158,123,207, 36,220, 92,216,175,117,208,234,223, 18,227,107, 80, -212,156,106,217,162, 93,187,118,203, 86,174, 92, 41,249,253,247,223,113,247,238, 93,172, 90,181, 10, 0, 32,151,203,113,234,212, - 41,208, 52,141,245,235,215, 43, 7, 14, 28,184, 37, 35, 35, 35, 2, 64,126, 61,156,181,193,179,117, 43,245,208, 99,159,189, 36, -110,247,250,209,141,153,249,244, 9, 0,117, 37, 80,123, 26,203,214,212,203, 73, 81, 84, 63,129, 64,208,163, 83,167, 78,175, 88, - 41,178,158, 73, 57, 45,197,149, 64, 32, 56,109, 48, 24,100, 34,145,136, 95,135, 40,120,166,229,124, 28,206,128,128,128, 14, 42, -149,234,131,165, 75,151,138, 47, 93,186,132,130,130, 2,100,103,103, 99,238,220,185,216,186,117, 43,218,181,107, 7,185, 92,142, -217,179,103, 75,102,206,156, 57,163, 75,151, 46,223, 69, 71, 71, 71, 91, 81, 78,178,119,239,222, 7,247,237,219,215,146,162, 40, - 18, 0,140, 70,163, 67,106,106,234,184,133, 11, 23,246,142,137,137,121,179, 1,237, 73,246,232,209, 99,223,254,253,251,189, 69, - 34, 17, 89,213, 89, 55,121,251,237,183, 39, 45, 90,180, 40,248,234,213,171, 99,234,184,239,235,106,207, 78, 50,153,172,237,140, - 25, 51,114,135, 14, 29,154, 14, 0, 87,175, 94, 37, 98, 99, 99,123,142, 27, 55, 46, 37, 44, 44, 44,182, 1,156,157,101, 50,153, -239,172, 89,179,114, 6, 15, 30,156, 33, 20, 10,153, 75,151, 46,241,110,222,188,217,107,242,228,201,201,139, 22, 45,186,110, 11, -167, 64, 32, 56,124,236,216,177,222,238,238,238, 52, 80,185,154, 2, 65, 16, 44, 65, 16, 44, 73,146, 44, 73,146, 72, 78, 78,110, - 49, 98,196,136, 3, 0, 94,173,139,179,176,176,112, 92,175, 94,189, 34, 23, 47, 94,236, 8, 0,145,145,145,224,243,249,230, 1, -225,238,221,187,208,233,116,216,180,105,147,161,164,164,100,242,191,237,158,127,202,156,205, 0,116, 3,240, 7,128, 62, 85, 34, -203, 25,192, 89, 0,254, 0,206, 63,171,114,146, 36, 9,154,166,205, 34,234,183,223,126,195,214,173, 91,113,232,208, 33,184,187, -187, 87, 19, 88, 2,129, 0,143,112,249,221,172, 33, 50, 76,125, 59,104,154, 70, 84, 84, 20,118,238,220, 9, 23, 23, 23, 56, 59, - 57,193,185, 73, 19, 4, 5, 5,193,100, 53,163,105,186, 54,222,106,156,185,185,185, 96, 24,235,158,149, 88,150, 69,113,113,177, -213,237, 89,151, 16,178,220,108,185, 70,143,201,249,223, 17, 88,106, 55,231, 69, 35,134,247,147,130,166, 0, 67, 25, 96, 40, 7, -107, 40, 7,171, 47, 3, 33,146,130, 53, 86, 64,206,203,195, 59,125, 93, 85, 71, 47,102,221, 94, 16,220,124,200,154,179, 15, 78, -215,241,164,184,100,251,246,237,118, 55,110,220, 64,124,124, 60, 54,108,216,128,229,203,151,155,159, 28, 94,125,245, 85, 92,184, -112, 1,122,189, 30,139, 23, 47,118, 92,176, 96,193,172,146,146, 18,155, 23,153,116,115,226,111, 61,178,119,147,163,163, 52, 23, - 19,135, 94,113,250,234, 72,202,140,162, 50,227,151,141,241, 2, 44, 88,176, 64,182,118,237,218,159,109, 16, 89,207,204,114, 37, - 22,139, 79, 47, 89,178, 68,190,100,201, 18,250, 9,113,182,227,243,249,135,141, 70,227,251,177,177,177,191, 54,128,162,121,215, -174, 93, 87,197,199,199,159, 46, 41, 41,217, 95,243,164, 80, 40,124,181,115,231,206, 99, 47, 94,188,248, 49,128, 36,107, 8,197, - 98,241,156, 15, 62,248, 64,146,150,150,134,194,194, 66,136,197,226,106,157,155, 88, 44, 6, 73,146, 16,137, 68,120,251,237,183, - 37,187,118,237,122, 15,192, 27,245,222,147,110,110,147,247,238,221,219,210, 96, 48,144,101,101,101, 16, 10,133, 16, 10,133,232, -208,161, 3,111,254,252,249,205,230,205,155, 55, 45, 43, 43,107,179, 45,149,119,112,112, 24,183,111,223, 62,111,145, 72, 68,106, - 52, 26,244,236,217, 19,151, 47, 95, 70, 80, 80, 16,111,254,252,249,205,103,207,158, 61, 53, 39, 39,103,171,173, 86, 38,153, 76, -214, 46, 50, 50,242, 97,211,166,127, 25,135, 90,182,108,201, 14, 26, 52, 40, 63, 62, 62,222,247,234,213,171,121,157, 59,119,126, -104, 3,167,187, 76, 38,243,251,245,215, 95, 53,203,151, 47,239,187,117,235,214,161, 85, 22,220,227,171, 86,173,250, 61, 47, 47, -207,255,242,229,203,121, 65, 65, 65,233, 54,112, 58,185,185,185, 81, 51,102,204, 80,214, 60,177,116,233, 82, 44, 91,182, 12,187, -119,239,206, 3,224, 82,103,101,171, 2,218,219,181,107,167,234,211,167, 15, 34, 35, 35, 49,123,246,108,157,209,104, 76, 0,128, -144,144,144, 54, 97, 97, 97,162,152,152, 24, 56, 56, 56, 8, 52, 26,205, 55,106,181,154, 11,124,183, 30, 67, 1,252, 15, 64,187, - 42,145, 53, 10,192, 81, 0,109, 1,196, 3, 24,241, 44, 11,103, 18, 88,233,233,233,216,181,107, 23, 86,173, 90, 5, 31, 31, 31, - 24, 12, 6,240,249,124,179,184,226,243,249, 32, 8, 2, 44,203, 18,214,242, 94,185,114, 5,123,247,238,197,226, 69,139,160, 84, - 86,222,166, 6,131, 1,249, 5, 5,144, 72, 36,102, 17, 86,143, 96,250, 46, 49, 49,113,158,187,187,187,217, 77,105,233, 34, 4, - 0,133, 66, 1,134, 97, 64, 81, 20,116, 58, 29,118,236,216, 65,177, 44,251, 93, 61,214, 38,179, 24,122,247,221,119,161,211,253, -181, 62,120,199,142, 29, 43,173, 33, 45, 90, 32, 32, 32,192,124,108,178, 80, 89,195,185,179,103, 7,104, 45, 62,237, 27,246, 25, - 0,192,195,195, 3,190,190,190, 80,171,213, 86,113,254, 91, 4,150,105,129,219,106, 11,221,102,102,102,175,217,189,237,155,207, - 68, 2, 82, 16,210,195, 23, 14, 98, 10,132,204, 17,194,222, 31,129,176,247,172,252, 98,126, 50,244,191,126,132, 81, 1,185,228, - 94, 29,239,199,176,129, 94, 77,194, 78, 39,215, 26, 92, 71,146,100,247,230,205,155, 35, 50, 50, 18, 45, 91,182,196,146, 37, 75, -224,231,231, 7,153, 76,134,172,172, 44,148,149,149, 65, 46,151,131,166,105, 4, 6, 6,242,148, 74,101,112, 3, 4, 86,224,224, - 62,157,187,241, 85,126,232, 57,240, 5,156,217,210, 91,190,251,151,140,133, 69,101,198,111, 96,177,224,106, 99,193,107,175,189, -134,172,172, 44,217,190,125,251, 26, 44,178,186,117,235,118,134,162,168,126, 86,152,195,207,158, 59,119,174, 79, 67,197,213,174, - 93,187,228,246,246,246,168, 47,120,211, 6,113,117,110,220,184,113,170,125,251,246,253,208,169, 83,167,215,109, 20, 89,205, 71, -141, 26,117, 98,231,206,157,126, 67,134, 12, 81, 68, 70, 70,254, 77, 96,181,107,215,238,181, 51,103,206,188, 62,125,250,244,118, -251,247,239,127, 5,149,139, 74,215,103,230,238,209,170, 85, 43, 60,120,240, 0, 89, 89, 89,208,233,116,200,202,202, 2, 0,164, -165,165,193,195,195, 3, 14, 14, 14,240,240,240, 64,155, 54,109, 8,146, 36,131,172, 41,108,112,112,240, 80, 0,100,114,114, 50, -114,114,114, 96,103,103, 7,185, 92, 14,119,119,119,244,233,211,135,239,237,237, 61,216, 86,129, 53,104,208,160,225, 50,153,140, - 76, 77, 77, 69, 74, 74, 10,116, 58, 29, 18, 18, 18, 96,103,103,135,144,144, 16,129,183,183,119,104, 3, 4, 86,251,169, 83,167, -102, 91,138, 43, 19,228,114, 57,225,235,235,155,111,111,111,223, 5,128, 45, 2,171,253,236,217,179,179, 86,175, 94,253, 82,120, -120,248, 2,211,155,225,225,225, 31, 2,192,230,205,155, 35, 29, 29, 29,187, 0,176, 69, 96,129,101, 89,102,210,164, 73,137, 34, -145, 8,166,205, 36, 92, 63,251,236, 51,144, 36,105,103, 5,205,199,241,241,241, 29, 21, 10, 5,226,227,227,193,227,241, 64, 16, - 68,162, 70,163,233, 8, 0, 46, 46, 46, 73, 21, 21, 21, 94, 21, 21, 21, 24, 49, 98, 4, 49,100,200,144, 14, 27, 54,108, 88, 4, -160,177, 8,172,174, 0,214, 3,208, 3, 88, 4,224,114, 35,235,226,178, 0,188,108, 33,178, 98, 1,136,171,196,213,203, 85,231, -159, 9, 8,130, 0,195, 48,224,243,249,248,236,179,207, 96, 48, 24,176,127,255,126, 28, 61,122, 20, 36, 73,130, 32, 8, 16, 4, - 1,149, 74,133, 47,190,248,194,124,108, 13, 40,138,194,183,223,126,139,143, 22, 44, 48,139,171,170,135, 62,184,185,186,194,201, -217, 25,201,201,201,245, 10,172,236,236,236,165, 81, 81, 81,168, 43,200,125,216,176,191, 60,172,150, 65,238,214,148,147,199,227, - 65,167,211,161, 95,191,191,134,143, 89,179,102,153, 95, 23, 20, 20,152,254, 19, 32,172,172, 60,143,199,131,150, 5, 94,147,252, -245,222,224,247,223,175,102,145,171,131,179, 86, 45,242,175,180, 96,137,122,165,110,190,127,129, 12, 24, 25,250,194,120, 71,149, - 20, 76, 73, 6,132,125,195,112, 35, 95,134,141,219, 42,199,194,121, 35, 2,209,190,223, 74,232,190,233,143, 62, 45,244,162,111, - 98,164,243, 1, 44,169,141,207,217,217,217,153,162, 40,144, 36, 9,185, 92, 14, 71, 71, 71, 72,165, 82,228,230,230, 98,206,156, - 57, 56,125,250, 52,244,122, 61,132, 66, 33, 90,181,106, 5,131,193,224,101,179,245,202,129,191,115,195,103,171,236,243,146, 15, -224,234,221, 66,200,236, 60,176,104,106, 23,135,176, 45,209, 75,115, 10,202, 63,108,140, 23,193,223,223, 31,115,231,206,149,125, -249,229,151, 13, 18, 89, 20, 69,173,224,243,249, 61,223,127,255,125,233,136, 17,127,127, 32,140,139,139,195,180,105,211,180,229, -229,229,159, 52, 68, 92,137, 68,162,211, 59,119,238,148,219,217,217,225,193,131, 7, 79, 76, 92,109,218,180, 73,229,229,229, 5, -129, 64, 32,249,246,219,111,109, 17, 89,109,134, 13, 27,118,114,231,206,157,158, 83,167, 78, 77,139,140,140, 76, 65,229,180,250, -106,136,137,137, 41, 24, 63,126,124,234,238,221,187,189, 25,134,249,245,224,193,131,161, 0,110,215,211,150,205,101, 50, 25,114, -115,115, 49,111,222,188,106, 1,170, 38,119, 54, 0,196,199,199,195,195,195, 3, 21, 21, 21,238,214,212,217,209,209,209,129,101, - 89, 76,153, 50, 5, 15, 31,254,165, 77,220,221,221,241,240,225, 67, 80, 20,229,104,107, 59, 58, 56, 56, 56, 26,141, 70,244,238, -221, 27, 21, 21, 21, 0,128, 81,163, 70, 65, 32, 16, 32, 59, 59, 27, 6,131,193,169, 1,151,199,121,200,144, 33, 25,143, 58, 41, -151,203,141, 14, 14, 14, 45,108,228,116, 10, 13, 13, 77,223,190,125,123, 77, 87, 29,162,162,162, 94,181,179,179, 11,119,116,116, -244,109, 64, 89, 25,177, 88, 12,177, 88, 12,129, 64, 0,145, 72, 4,177, 88, 12,145, 72, 4,129, 64, 0, 30,143,103,149, 95,133, - 97, 24,156, 56,113, 2, 36, 73, 86,115, 93, 44, 94,188,248, 29,153, 76,230, 26, 17, 17, 97,126, 0, 44, 45, 45, 69,235,214,173, - 91,181,106,213,234, 90,102,102,102,202,237,219,183, 95,127,198,221,199, 58, 0,166, 89,109, 91, 1, 4, 52,194, 46, 46, 11,192, - 72, 0,209, 85,226, 74, 15, 96,248,179, 20, 87,150,215,158,207,231,155,255,231, 18,137, 4,129,129,129,102, 49, 69, 16, 4,202, -203,203,205, 46, 66,107, 45, 88, 69, 69, 69, 80,171,213, 80, 42,149,104,237,227,131,196,132, 4, 0, 48,191, 22,137, 68,102, 33, - 86, 23, 10, 10, 10, 74,170,130,213,223,125,194,226,146, 5, 0, 62,191,238, 48,108,181, 90, 13,134, 97, 76,194,146,125, 18,156, -206,206,206, 40, 45, 45,181,138,243,223, 34,176,254,166, 24,195,194, 64,234, 46,180,220, 53,114,112,183,241,109, 61,228,208,229, - 38, 67,164,112, 2, 97,223, 2, 27,183,253,138,219, 41,149,161, 81, 27,143,198, 96,247,194, 1, 32,100,142, 80,107,239, 66, 41, - 17,191,254, 40,129,149,151,151, 87,106, 48, 24, 28,165, 82, 41,248,124, 62,132, 66, 33,114,115,115,241,127,255,247,127, 56,114, -228, 8, 90,180,104, 1,138,162, 32, 18,137,144,147,147, 3,161, 80,104,211,236, 68, 30, 15, 67,102,140,239,215, 82,238,228,131, -188,152,229,149,111,170, 2, 49,117, 20, 79,244,249,222, 91,227,114, 10,202, 63, 71,101, 80,101,163,130, 66,161, 64, 64, 64, 0, -198,140, 25, 35,219,191,127,255, 30, 0, 30,182,124, 63, 38, 38,230,124, 96, 96, 96,255,245,235,215,159,209,104, 52,210, 78,157, - 58, 65,161, 80, 64,161, 80, 32, 57, 57, 25,203,151, 47,175,208,233,116,161, 13,177,142,241,249,252,111, 39, 77,154, 36, 87,169, - 84, 72, 78, 78,134,163,163,227, 99,213, 53, 48, 48,176,157, 64, 32, 56,183,105,211, 38,149,183,183, 55,238,220,185,131,206,157, - 59,195,205,205, 77,178,122,245,106,107, 69,214, 87, 7, 14, 28,104, 33, 18,137,136,131, 7, 15, 54, 63,120,240,224,156,250,126, -119,239,222,189, 45, 14, 30, 60,184, 9, 64, 8,234, 8,254, 22, 10,133,105, 57, 57, 57,222,205,154, 53,195,174, 93,187, 64,146, - 36, 50, 50, 50,176,104,209, 34,172, 94,189, 26, 65, 65, 65, 80, 42,149,104,214,172, 25, 18, 19, 19, 33,145, 72,172,138,120, 78, - 79, 79,207, 7,224,114,250,244,105,228,228,252,149,178,197,211,211, 19,249,249,249,208,233,116,121,182,182,101,122,122,122, 30, - 0,215,107,215,174, 33, 37, 37, 5, 3, 7, 14,196,143, 63,254,136, 46, 93,186,128,166,105, 24,141,198,188, 6, 92, 34,154,199, -227,177,117,116,162, 4, 0, 7, 27, 57,169,186, 56,171,250, 29, 91, 57,193,178, 44,251, 40,113, 37, 18,137, 80,207,111,154,117, -179,159,159,223,178, 86,173, 90,181, 93,180,104,145,128,207,231,163, 87,175, 94,109,134, 15, 31,158, 74,146,164,211, 71, 31,125, - 36,171,205, 24, 12,160, 99,219,182,109,229,141,160,251,176,180,210, 53,214, 73, 39, 46, 85, 22, 63, 17, 0, 67,213,254, 16,254, -138,201,122,166, 22, 44,161, 80,136,176,176, 48, 76,159, 62, 29,174,174,174, 88,176, 96, 1,248,124,190,121, 51, 89,101, 76, 86, - 45, 43,239, 77,184,186,184,212,253, 71,171, 10,114,175,231, 33,234,169,164,105, 48,137, 33,107, 98,161, 44,172, 77, 86,137,182, -199,228,252,215, 88,175, 44, 5, 86, 53,179,156, 89, 92, 13,236, 60,222,207, 67,138,216,152,155,104,239,102, 4, 43, 16,212,113, -183, 24, 65, 8,229,176,151,242, 61,234,184, 0, 49, 41, 41, 41,158,246,246,246, 48, 24, 12, 16,137, 68,104,223,190, 61, 46, 94, -188, 8,157, 78, 7,189, 94, 15,177, 88, 12,161, 80,136, 91,183,110,193, 96, 48, 68,218,162,175,156, 85,188, 77, 31,126,188, 92, -137,244, 93,176, 87,138, 16,220,221, 27,144,183, 5,175,236, 46,214, 47, 14,117,124,103,209,143, 27,179,114,139,223,104,108, 23, - 65,161, 80, 32, 53, 53, 21, 7, 15, 30, 44,215,233,116,227, 26,194, 97, 18, 89, 71,142, 28, 57, 99,111,111, 47, 13, 10, 10, 66, - 66, 66, 2, 62,249,228,147, 10,157, 78, 55,164,161,241, 93, 20, 69, 77,216,177, 99,199,105,138,162,228, 38,113,241,184,150,171, - 57,115,230, 40, 91,183,110,141,164,164, 36,216,217,217, 65,169, 84,162,101,203,150, 80,171,213,146, 57,115,230, 88, 35,178,102, -142, 25, 51,230,228,238,221,187, 61,167, 78,157,154,118,232,208,161,227, 0,138,106,107,218, 97,195,134,189,186,123,247,110,207, -119,222,121,231, 1,128, 57,168,103,102, 29,195, 48, 23,146,146,146,188,252,252,252,136, 54,109,218, 64, 36, 18,193,221,189,210, - 72,213,177, 99, 71,248,249,249, 65, 40, 20, 2, 0,146,146,146, 0, 43,243,178,252,249,231,159, 63,197,199,199, 79,238,210,165, - 11,207,205,205,173,218,236,164,213,171, 87, 27, 82, 83, 83,109, 94, 71,235,143, 63,254,248,241,230,205,155, 83,122,245,234,197, -119,112,112,128, 88, 44, 70,251,246,237,161, 86,171,241,201, 39,159, 24,238,223,191,223,144,181,185, 30, 92,187,118, 77,226,227, -227, 67, 63,226, 94, 85, 54,192,242,144,118,245,234, 85, 97,247,238,221,143,159, 58,117,170,157,229,137,110,221,186, 29, 87, 40, - 20,118, 0, 26, 50, 53,143,177,116, 13, 90,186, 10, 69, 34, 17,248,124,126,189, 22, 44,141, 70,243,179,171,171,235, 61, 87, 87, -215,243, 61,122,244,176,139,142,142,198,146, 37, 75,132, 58,157,174,121,120,120,184,121, 32,174,109, 0, 45, 43, 43,147, 52,130, -238, 99, 30,128, 13, 0,100, 0, 22, 52,194, 49,198, 21,149, 1,237,190,168,116, 11,142,170, 18, 91,166,152,172,103, 42,178, 24, -134,129, 64, 32,128,175,175, 47,222,125,247, 93,172, 89,179, 6, 51,102,204, 64,235,214,173,205,215,222, 20,131, 85, 53,227,205, -170,129, 95, 40, 20,194,213,205, 13, 70,163,209,108,189, 2,128,196,132, 4,240,249,124, 48, 12, 3,157, 78, 87,175,139,208,197, -197,101,217,218,181,107,231, 12, 26, 52,136,180,156,113,199,178,172, 57,157,132,229,102, 52, 26,241,243,207, 63,207, 89,189,122, -117,157,105, 26, 44,133, 78,199,142, 29,171,185, 5, 55,111,222,108,217,103, 35, 36, 36,196,166,217,126, 60, 30, 15,190, 97,159, - 85,115, 11,158,108,242, 87,179, 53,123,123, 42, 90,127,178,233, 81,156,255, 42, 23, 97,173, 53, 52, 92,244, 92, 57, 98, 64,192, -120, 63,119, 49,174,197,220,194, 47, 81,154,187,185,185,133, 96,178,110,130,201,185,131,121, 35, 2,209,182,133, 35,218,182,112, -196,188, 17,129, 96,178,111,129, 45, 72, 6, 43,113, 64,118, 25,241, 72,247, 66,126,126,254,186, 21, 43, 86, 20, 56, 56, 56, 64, - 34,145, 64, 36, 18, 33, 45, 45, 13,254,254,254,230,227,170, 39, 79, 44, 89,178, 36, 39, 39, 39,103,155,181, 21,145, 75,201,169, -107, 22,189,225, 42, 20, 43,129,252, 72,168, 84, 10,236,218,246, 25,160,203, 0, 72, 17, 94, 9, 9,224,169, 93,237,251, 0,104, -211,216, 46,194,131, 7, 15, 16, 22, 22, 86,174,213,106, 31, 43,208, 61, 38, 38,230,188,193, 96,232,191,109,219, 54,237, 47,191, -252,242,216,226,202,196,105, 52, 26, 7,238,217,179,167,236,193,131, 7, 80, 40, 20, 13,174,167, 80, 40,252,136,162, 40,213,134, - 13, 27,152,126,253,250,209, 51,103,206,164, 39, 76,152, 64, 15, 27, 54,140, 14, 9, 9,161,167, 77,155, 70,235,116, 58,177, 76, - 38, 91, 91, 15, 85,252,177, 99,199,130, 39, 79,158,124,231,235,175,191,246,120,233,165,151, 90, 0, 88, 90,115, 11, 12, 12,116, -216,189,123,183,231,244,233,211,147, 14, 30, 60, 56, 0,245,184, 7, 1, 64,167,211,109,222,186,117,107, 5, 73,146, 80, 40, 20, - 16,137, 68,104,210,164,137, 89, 8,155, 6,114,131,193,128, 45, 91,182,104,181, 90,237, 70,107,234,158,151,151,183,107,254,252, -249,247,207,156, 57, 99, 52,205,242,201,200,200,192, 39,159,124, 98,216,182,109, 91,122, 97, 97,225,215,182,182,103,113,113,241, -183, 31,126,248, 97,202,137, 19, 39,140, 36, 73,162,160,160, 0,246,246,246,248,228,147, 79, 12, 95,127,253,117,122, 73, 73,137, -205,156, 47,188,240, 66, 82,122,122,186, 82,167,211,253,205,250, 35, 16, 8, 8,137, 68, 98,154, 17,102, 53,186,116,233,146,148, -146,146,162, 90,185,114,101, 68, 72, 72,200, 26,165, 82,153,160, 84, 42, 19, 66, 66, 66,214,110,217,178,229,108, 21,103,184,205, -157, 23, 73,154, 5,150,201, 85,104,178, 98, 85, 89,178,172,114, 17,250,249,249, 29,216,187,119,175, 93, 66, 66, 2,138,139,139, - 17, 27, 27,139,152,152, 24,179, 43,215, 52,152, 89,110, 0, 80, 94, 94, 46,109, 4,221,199,255, 80,153,250,194,187, 74,200, 52, - 54, 28,181, 16, 87, 47,163,114,230,217,203, 85,199,237, 0,252,244, 44, 45, 88, 44,203,154, 31,118,222,120,227, 13,132,135,135, -163,117,235,214,102, 81,101, 57,139,208, 22,145, 65,211, 52,218,183,111, 15,157, 94, 95, 77,160,243,249,124, 52,105,210, 4, 73, - 73, 73,160, 40,170, 94, 11, 22, 65, 16, 35, 7, 13, 26, 68,198,197,197,193,207,207, 15, 49, 49, 49,136,137,137, 65,108,108, 44, -174, 93,187,134, 27, 55,110,224,214,173, 91,184,125,251, 54, 58,119,238,140,212,212, 84, 12, 24, 48,192,148,166,161, 78, 35,155, - 45,214, 38, 43,173,119, 79,131,243, 95, 97,193, 34, 44,247,174, 14,242, 9,109,213,124, 92,187,118, 27,199,175,230,239, 38, 8, -242, 88,204,125,221, 47, 3, 90,149,192,112,228, 77,180, 31,185, 15,187, 23, 14,168,124, 2,200,190, 5,195,119,111,129,144, 57, - 35,177, 88, 14,173,190,176,174,167,230,168,232,232,232,195,123,247,238,157, 52,126,252,120, 17,195, 48,144, 74,165,120,239,189, -247,204, 57, 66,120, 60, 30,102,204,152, 81,154,157,157,189, 1, 86,206,252, 2, 32,181,147, 11, 22,143,157,178, 68,130,135,219, - 1, 82,136, 92,116, 66,199,151, 38, 33, 59,229, 34, 80,118, 27, 32,132,216,246,233,100,231, 87, 39,124,254,117,102, 78,225,139, -141,229, 2,220,185,115, 7, 75,151, 46,125,108,113, 85,211,146,117,252,248,241, 61, 58,157,110,202, 19,228, 28,184,102,205,154, -211, 46, 46, 46, 13,118,139,184,187,187,191,157,155,155, 59,201, 26,195,153, 53,186,244,200,145, 35, 67, 82, 82, 82, 86,197,199, -199,215, 58,115,245,214,173, 91, 63,246,239,223, 95,102,203, 44,194,216,216,216,152,160,160,160,173, 27, 54,108,152, 49,119,238, - 92,137, 84, 42,133, 74,165, 66,124,124, 60,154, 55,111, 14, 0,208,106,181, 88,184,112,161,214,104, 52,238,142,142,142,190,104, -237,195,242,205,155, 55,199, 78,155, 54,109,114,155, 54,109, 94,101, 24,198, 73,175,215,231,165,166,166,158,168, 18, 66, 13,113, -239, 48,113,113,113, 99,166, 79,159, 62,222,199,199,103,184,193, 96,112,162, 40, 42,239,225,195,135,199,139,139,139,119, 53,132, -243,226,197,139, 57, 19, 38, 76, 72,206,204,204,244, 87,171,213, 69,118,118,118,122,189, 94,207, 83, 40, 20, 74,145, 72,212, 25, -192, 69,130, 32,110,219,194, 25, 29, 29,157, 53,113,226,196, 20,157, 78,215,102,199,142, 29,145,114,185,252,119,130, 32, 8,161, - 80,232, 32,151,203,131, 1, 68, 16, 4,145,104,107, 89, 73,146,100, 44, 5,149,165, 21, 75, 40, 20,130, 32, 8,171, 4, 86, 82, - 82,210,249, 21, 43, 86,116,104,213,170, 21,182,109,219,150,175, 80, 40,148,195,135, 15,231, 23, 21, 21, 17,117, 89,176,180, 90, -173, 4, 28,234,125,182,168,178,242, 14,181,176,124,154, 2,223,143, 2, 40,124,150,133, 99, 89,182,154,144,106,222,188,121, 53, - 81,101,121,206, 22,129, 69, 81, 20,132, 66, 33,248,124, 62,220,212,106,179,152, 99, 89, 22, 9,137,137, 40, 40, 40, 48,167,105, -168,231, 30,231, 17, 4,129,209,163, 71, 91,245,187,111,188,241, 6, 34, 34, 34, 80,159, 59,209,114,198, 95,139, 22, 45,234, 21, - 67, 85,101,177,122, 22,161,135,135, 71, 67, 57,137, 26,251,127,133,192,170,134,140,252,242,149, 59,127,136, 93,152, 81, 76, 29, - 19,247, 72,125, 55, 44, 12,236,194,190, 45,206,120,200, 69,253,219,146,233,208,125,221, 11,132,170,114,176, 97, 75, 51, 64,200, -221, 80, 32,104,142,159, 99, 50, 51, 73, 1,175, 78,235, 67, 97, 97,225,188, 47,190,248,130,119,250,244,233,145,171, 86,173,178, -247,245,245,197,216,177, 99,161,215,235,113,227,198, 13, 76,155, 54, 45, 63, 39, 39,103,123, 97, 97,225, 26,107, 43,225,172,226, -255,223,198,143,251, 59,145, 76, 41, 80,124, 21,224,219,193,217, 81,137,235,209,145, 64, 81, 52, 64, 10, 1, 82,132, 46,157,252, -208,177,157,183, 95,230, 31, 87,122, 1, 56,215, 24, 46,192, 59,239,188,243,196,196,149,165, 32, 2,208,234, 73,150,211, 36,178, -222,127,255,253,211, 12,195,200, 26,244, 40,123,244, 40,141,186,243,145,217,108,252,187,114,229,202,152, 71,157, 52, 24, 12,199, - 47, 94,188,104,115,146, 89,163,209,184, 48, 46, 46, 14,179,102,205,154,254,214, 91,111, 73,125,125,125,225,233,233,137,132,132, - 4,196,199,199, 99,235,214,173, 21, 12,195,236, 42, 44, 44,252,192, 70,106,186,184,184,120,123, 84, 84,212,246, 39,216, 6, 76, - 81, 81,209, 55, 81, 81, 81,223, 60, 41,194, 41, 83,166,220, 76, 72, 72,200,119,119,119, 15,226,241,120, 29, 80,153, 40, 82, 3, -224,155,134, 8, 33, 0,152, 62,125,250,181,164,164,164, 92, 55, 55,183, 32,161, 80,232, 93,197,153, 14, 96, 87, 3, 57,243,174, - 95,191,238,221,173, 91, 55,134,199,227,177, 2,129,128,173, 26, 12, 89, 62,159,207, 18, 4,193,254,250,235,175, 18, 88, 17,115, -153,150,150, 54,103,247,238,221,172, 66,161, 8, 42, 45, 45, 29, 11, 96,143, 86,171,237, 86, 88, 88,104, 30,132,107, 67, 69, 69, -133,152,211, 79,245,226,181, 71,188,159, 5,160, 87, 99, 40,224,138, 21, 43,176,125,251,118,212,151,129,252,248,241,227,245, 14, -252,166,123,197, 20, 95,165,215,235, 17, 23, 23, 7,130, 32,204,199,150, 73, 70,105,154,174, 51,211, 59,195, 48,180, 94,175,199, -225,195,135,173, 18, 89, 7, 15, 30, 68, 69, 69, 5, 24,190,144,179, 28, 0, 0, 2,246, 73, 68, 65, 84,134,177,170,159,173, 74, - 76,138,130,130, 2,115,234,132,192,192, 64,203, 62,212,230,246,228,241,120,240,245,245, 69,110,110, 46,156,157,157, 1, 84,186, - 5,205,226,179,172,236, 63,115,243, 91,173, 18,195,122,123,218, 85,240,201, 31, 2,220,153,151,187,120,138,225,108, 47, 1, 79, - 32, 70,113, 5,129,184,140, 10,156,187, 93,252,144,166,216,208, 85,127,164, 88,155, 32,174,187, 90,173,254,152,166,233,118, 36, - 73,202, 88,150, 45,229,241,120,177, 25, 25, 25,203, 0,220,178,165, 18,118, 10, 50,209, 65,206,179, 19,136, 68, 44, 77, 49, 0, - 72,128, 36, 1,130, 4,192,171,218, 87, 30,107,181, 6, 33,205, 16,199,178,115,243, 38, 63,235,198,127,241,197, 23,207,148,149, -149, 61,119,153,220,165, 82,233, 82, 30,143, 55,240,223,190, 76, 76,151, 46, 93,186, 72,165,210,143, 25,134,233, 90, 81, 81,225, - 38,149, 74,179, 8,130,136, 46, 41, 41,249,244,218,181,107,151,184,177,243,217,225, 73,102,114,175, 9, 83,110, 44,103,103,103, -159,235,215,175, 75, 44, 45, 88,150,131, 97,213,251, 4,119, 53,158, 79,248,249,249, 93, 62,112,224, 64,151,230,205,155,147,166, -128,107,146, 36,205,155,201,141,101,178,182, 92,186,116,137,154, 57,115,230,197,235,215,175,191,244, 40, 78,111,111,239, 51,225, -225,225,253, 44, 45, 84, 38, 33, 85,243, 53, 77,211, 40, 47, 47,199,210,165, 75,127, 75, 74, 74,170,117,169, 28, 95, 95,223, 13, -139, 23, 47,158, 51,120,240, 96,146, 36,201,191,197, 92,213,140,195, 50, 24, 12, 56,118,236, 24,243,237,183,223,110,186,123,247, -238, 35, 99,176, 2, 2, 2, 30,198,198,198,122,152, 82, 38,212,220,106,206,168, 5,128,238,221,187,107,162,162,162,154,254,147, -156,255, 25,129,101,250,252,130, 62,158,163, 8,144, 35, 73,130,105, 15,130, 16, 49, 44,226, 9,224,140, 72,162,223, 18,246,139, - 70, 91,227,243,237,241,228, 51,242,114,156, 28,231,179,224, 36, 97,221,210, 51, 92,123,254, 75, 56,189,189,189, 19, 19, 19, 19, -189, 31,217, 25, 86, 23, 88, 92,123, 62,103,156,206,206,206,242, 38, 77,154,252, 78,146,164,231,163, 22,119,182, 20,215, 12,195, -164,100,101,101,245,205,206,206, 46,127, 20,167,187,187,187,151, 68, 34,249,138, 97,152,110,214, 44,246, 76,146,100, 84, 69, 69, -197,204, 26,139, 61,155, 57,159,224, 44,194,106,229,244,247,247, 79,138,138,138,242,146, 74,165,213,226, 10,107,214,217,132,251, -247,239, 99,248,240,225,169,215,175, 95,111,241,148, 57,255, 85,176,117, 45, 66,118,205, 31,169,135, 1, 28,230,158,127, 56,252, -199,192,112, 77,240,223,130, 86,171, 45,104,210,164, 73,105, 69, 69,133, 64,167,211, 9, 40,138,170, 54,192, 73,165,210, 28,173, - 86,203, 53,212,115,138,220,220,220,178,220,220,220,160, 39,201, 89, 37,148,250, 63, 41,190,167,149, 7,171,160,160, 32,180,107, -215,174,191,242,249,124,113, 77,241, 83,155, 24,162,105,186, 34, 47, 47,111,224, 63,205,249, 95, 19, 88, 28, 56,112,224,240,159, - 64, 70, 70, 70, 80, 61, 2,140,107, 36, 14,207, 37, 52, 26, 77,188, 70,163,241,108,236,156,207, 59, 72,174, 9, 56,112,224,192, + 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132, 16, 66, 8, 33,132,252,133,104,166,113,202,164, 76,202,164, 76,202,164, + 76,202,124,225,208, 72,238,132, 16, 66, 8, 33, 84, 96, 17, 66, 8, 33,132, 80,129, 69, 8, 33,132, 16, 66, 5, 22, 33,132, 16, + 66, 8,161, 2,139, 16, 66, 8, 33,228,191, 6, 15, 13,223, 9,144,212,140,156,103,185,155, 32,137, 50, 41,147, 50, 41,147, 50, + 41,147, 50, 95,184,204,166,178,147, 64,254,146,194,139, 50, 41,147, 50, 41,147, 50, 41,147, 50, 95,188,204,231, 10,157, 34, 36, +132, 16, 66, 8,249,147, 49,245,254,176,235,170, 98,150,101,221, 1,128, 97, 24,165,233,198, 98, 69, 99, 33,190,158,158, 3,205, +192, 15, 0, 32, 0,222,206, 47, 44, 60, 87, 79,230, 57,150,101,157, 30,103,150,155,110, 44,126,165,177, 76, 97,215, 85,103,159, + 92,158,189,177,120,208,211,203,112, 0, 95,216,117, 85,225, 83,235,234,105,237,198,243, 0,203,255,143,245,252, 95,201,124,145, + 9,187,173, 42, 54,153, 30,181, 35,161,144, 81, 26,175, 55,222,142, 68,221, 86, 21, 62,185,188,233,250, 98,143,167,151, 17,247, +248, 36,215,100, 98, 61, 1, 64, 34, 22,151, 4,251,123,172,107, 44, 51, 51, 79,249,190, 86,167,119,123,156, 89,104,184,246, 15, +191,255,213, 99,211, 90, 30, 30, 30,157,249,124,254, 98, 30,143,103,255,196,143, 19, 11, 10, 10,222,167, 86, 73, 8,121,238, 10, + 44,150,101,221,111, 29, 89,134, 26, 61, 48, 96,210, 42,247, 22,163, 54,237,126,122, 25,147,174, 92,172, 73, 59,218, 70, 96, 82, + 59, 57,218,112, 78,105,105,105,124, 0,240,242,242,250, 1,128, 95, 61,153, 78,183,142, 44,131,198, 0, 68,140, 91,238,212,193, +223,223,190,146,199,251,192,198,198,166,191, 78,167,107, 11, 0, 82,169,244,174, 86,171,189, 96,207,113, 95, 60,189,124, 67, 27, +240,228,186,246,159,184,202,189,101,212, 15,127, 55,155,205, 98,125,230,254, 62,150,170, 7,140,192,108,248,122, 72, 97,225,169, +239, 1,179, 53, 59,228,201,191,219,231,141,127,184,248,122,122, 14,180,145,201, 58,203,108,109,123,155,205,230, 80,139,197, 2, +139,197,146,172,173,169,185,204,154, 76, 55,205, 38,141,203,173,159, 62,177, 52,182,158, 79,111, 75, 39,128, 81, 42, 20, 99,109, +108,109,251, 10, 4,130,158, 0, 96, 54,155,175,104,171,171, 47,186, 23, 21, 29,176,102,219,173,221, 63,207,186,252,139,198,100, + 98,221,179,206, 44,131,222, 4,132,191,246,169,123,251, 55,119,236, 1, 0,131, 50,193,163, 58,237, 88, 55, 0,144, 7, 13,187, + 46, 81,132, 23, 3, 0,243,160,208, 61,245,196, 71,208,155,128,208, 97,203,221,235,203, 52, 24,140,190,233, 39,151, 64,111, 2, +254, 22,125,208,115,193,140, 49, 50, 0,136,249,233,251,160,179, 7,215,191, 10, 0,175,140,121,239,231,126,163,222,201, 0,128, +213,223, 29,244,220,245,241, 24,232, 77, 64,216,200,149,190,207,122,108,178,250, 10,145, 58,245, 68,176,169,178,192,201, 87,206, + 40,154,123,108, 58, 0, 14,213,192,108,158, 64,208, 43, 56, 56,184, 19, 0,100,100,100,220,178,176,236,175,182,192,215,127,102, + 91, 18, 8, 4,127,127,248,240,225,240, 39,127,230,237,237, 77, 13,146, 16,242,124, 22, 88, 0, 80,163, 7, 98,211,129, 62,221, +219, 99,250,132, 87,109,159,252,221, 79,219, 62,243,125,120,247,108,232,234,189,235, 4, 45, 91,182, 68, 90, 90,154, 85,127, 76, + 99, 0, 46,166, 1, 18, 93,182,157, 70, 40,204,140, 94,188,216,190, 87,175, 94,140,151,151, 23, 0, 64,169, 84,118,191,124,249, +114,231,229,203,151,207,148,232,178,203, 53, 6, 84, 93,180, 34,186,118, 93,219,182,124, 9, 31,205, 25,231, 0, 0,235, 62, 56, +208,249,228,213, 4,231,236,236,236, 1,159,124,242, 73,153,247,181,107, 27,109, 45,150,173, 41,197,197,121,214,172,231,190, 83, +241, 54,193,198,115, 45,198, 76,157,122,216,207,207, 79,230,227,227,195,147, 74,165, 16, 8, 4,168,174,174,246, 74, 73, 73, 25, +120,251,246,109,237,165,107, 71,133, 9,241,163,179, 10,132,225, 90,107,182, 93,196,150, 74,107, 66, 66,238,141,137,140,244, 25, + 54,108,152, 52, 32, 32, 0, 0,144,157,157, 29,242,243,207, 63,143, 63,121,242,228, 82, 17, 91,202,106, 12,208, 53,181,237,181, +153, 0, 32, 4, 94,118,118,119,159, 32, 20, 10,195, 88,150,245,126,220,187,240,208,100, 50, 37,169,148,202, 93, 79, 47, 79,254, +157,222, 4, 36, 23, 2, 3,123,135, 99,226,232,129,114, 0, 88,248,198,199,221, 31,100,167,139, 12, 6, 3, 90,182, 10,237,185, +242,211, 47,207,128,207,199,143,135,127,169, 91,190,209,194,150,227, 35, 77, 9, 36,222,207,194,178,143, 55,112, 69,137, 7,187, +176,229,247, 6,149,149,150, 50, 0,224,226,234, 58,118,223,158, 93,231, 20,237,199,252,150, 81, 92, 83,183,188, 53,237,189,190, + 99,243,228,222, 13, 94, 15,147, 46,180,249,246,204,102,161,159,159, 31,146,146,146,154,117,108,162, 34,197, 78,230,233,153, 28, +189, 96,129, 34, 34, 34, 2,114,185, 28, 66,161, 16, 38,147,105,224,149, 43, 87, 6, 46, 91,182,108,102,101, 69, 74,141,181,199, +166, 21,125,135, 95,120,180,236,211, 47,106,196, 80,207,254,125,186, 99,244,144,158,212, 16, 9, 33,207,111,129,197, 48,140,114, +208,228, 79,220,123,119, 11,195,111, 9,169, 21,217,185, 69,213,181,191, 83,223, 63, 18, 50, 35,170, 67,216,166,147, 39, 96, 52, + 26,113,245,234, 85,220,188,121, 19, 87,175, 94,229,190,248,226, 11,173, 0,120,187,129,204,242,136,113,203,157, 36,250, 60,219, + 78, 46,121, 1,251,246, 92, 20,104,181, 90,196,198,198,162,188,188, 28, 18,137, 4,222,222,222,232,221,187, 55, 19, 19, 19,227, +252,198,248, 9, 14,175,140,154,150,165,151,248, 86, 51, 12, 83,206, 54,180, 1, 12,163, 28, 48,105,149,123,155,144,151,144,145, + 83, 80,241,209,167,155,171, 45,102,142,209, 61,200, 55, 94,186,116, 9, 29, 59,118,196,190,125,251, 92,202,203,203,151,108,223, +190,125,177,199, 87,219,214, 23,231,167,124,128,134,243,202, 35,198, 45,119,106,105, 62,239,119, 96,247, 86, 81, 66, 66,130,104, +227,198,141, 80,169, 84, 16,139,197,112,112,112,128, 66,161, 64,203,150, 45,121, 51,103,206,148,245,235,151,134,143, 62,152,234, + 87,228, 20,149,210,208,122,214,102,138, 12,133,178, 16,193,205,160, 31,118,236,224,119,237,218,149,247,228, 50,126,126,126,232, +219,183,175, 52, 42, 42, 42,104,230,172, 57,150,129, 81,239,100, 24,197,158,154,166, 50, 81,147,103,227,162,185,230, 53,112,220, +184,227,209,209,209,142,158,158,158,144,201,100, 0,128,138,138, 10,159,156,156,156,238,203,150, 45, 27,115, 61,113, 31, 19, 49, + 44,175, 0,114, 95,109, 99,251,243, 69, 37, 20, 50,202,218,158, 40, 59,185, 77,121, 94,126,113,205,163, 94, 40, 3, 12, 6, 3, +244,122, 61,222,157,249,142,224,237,215,186, 6,251,247,254,251,237,236,135,197,170,208, 95,226,156,107, 31,107,170, 63,179,180, +205,136,149, 78, 0,192,175,204,170, 41,207, 57,251,183, 15,231,206,245, 86, 40,102, 64, 36, 18, 1, 0,182,109,221,202,148,149, +149, 69,174, 92,185, 50,140,147, 15,168,108, 51, 98,165,252,241, 99,203, 77,205, 60, 54,203, 83, 79,180,248,120,246,224, 14, 63, +124,122, 2,102,179, 25,113,113,113,184,116,233, 18,190,252,242, 75,238,212,169, 83, 21,246,114,121,163,199, 38, 42, 82,236,122, +121, 22, 5,126,254,249, 33,158, 88, 44,198,209,163, 71,113,255,254,125,240,249,124,180,111,223, 30, 19, 39, 78,196,192,129, 3, + 21,211,167,191,195, 69, 12,121, 35, 19, 14,173,170,254, 88, 91,138,230,179, 78,119,254, 62,123,250,155,158,175,141, 28,140, 13, + 95,125, 75, 5, 22, 33,228,249,198, 1,188,128, 81,155,246, 28,184,197,157, 8, 24,181,105, 15, 7,240, 56,128, 39, 1,252,250, +247,239,111,168,174,174,230, 18, 18, 18,184,177, 99,199,150, 47, 92,176, 96,203,142,109,219,162,245, 26,205,187,157, 58,116,152, +200, 61, 26,250,161,254, 76, 71, 71,251,192,192,192,146,188,188, 60,238,212,169, 83,220,242,229,203,185,221,187,119,115,167, 79, +159,230,206,159, 63,207,157, 62,125,154,219,191,127, 63,151,144,144,192,165,167,167,115, 65, 65, 65, 37, 1,142,142,246,141,100, +242, 57,128, 31, 28,245,253, 7, 7,111,154,163, 67,162,126,120,159, 3,248, 65, 10, 69,171, 65,131, 6,153, 15, 29, 58,196,237, +218,181,139,219,177, 99, 7,151,152,152,200,149,150,150,114,222,254,129, 37,181,143,107,104, 61, 57,128, 23, 30, 30, 94,162, 86, +171, 57, 63, 63, 63, 78, 36, 18,113,238,238,238, 92,203,150, 45,185,238,221,187,115, 67,134, 12,225,198,143, 31,207, 45, 89,178, +132, 83,171,213,156,191,191,127,113,237,227, 26,202,236,238,237, 45, 13, 10, 10,202,189,115,231, 14,215, 16,157, 78,199,149,150, +150,114, 23, 46, 92,224,130,130,130,114,187,123,123, 75, 27,203, 20, 2,225, 97, 97, 97, 37,165,165,165,156,197, 98,225, 52, 26, + 13, 87, 86, 86,198,149,149,149,113,229,229,229,156,193, 96,224, 44, 22, 11,103,177, 88,184,148,148, 20, 46, 48, 48, 80, 41, 4, +194, 27,202,124,193,219, 60,191,190, 47,111, 15,143, 33, 10,133, 66,123,232,208, 33,238,225,195,135,220,246,237,219, 57, 62,240, +241,211,203,213,151, 57, 38,116,140, 40, 60,124,186,141, 64, 96,243,234,203, 47,191,108,190,122,245, 42,119,235,214, 45,238,195, + 15, 63,228,134, 15, 31,206,141, 24, 49,130,139,142,142,230,114,115,115,185,188,188, 60,238,149, 87, 94, 49, 11, 4, 54,175,134, +135, 79,183, 25, 19, 58, 70,212,156, 99, 83, 10,248, 14, 27, 54, 76,107, 52, 26,185,204,204, 76,174,109,219,182,249, 2, 96,130, + 8, 8, 13, 4,196, 77,181, 79,123,192,209,211,211,179,240,218,181,107,220,161, 67,135, 56,127,127,255, 18, 1,240,150, 4, 8, +144, 0, 1, 2,224,173, 22, 45, 90,148, 92,187,118,141, 43, 45, 45,229,252,252,252, 10,237, 1,199,103,111, 75,209,124,247,182, +163,182,174,252,234, 16,151,146, 95,195,173,252,234, 16,231,209,178,111, 46,199,113,156,167,167,231, 57,106,145,132,144,231,178, + 7,171, 33,124, 27,155,101,159,126,250,169, 72,171,213, 98,197,138, 21, 37,239,206,152,177,202,213,221,221, 40, 20, 10, 33,148, + 72,154, 14,176,183,127,127,209,162, 69,142, 6,131, 1,241,241,241,232,212,169, 19,164, 82, 41,132, 66, 33, 68, 34, 17, 24,134, +129, 66,161, 64,105,105, 41, 60, 60, 60, 48,115,230, 76,135,175, 55,108,120, 31,106,245,138,198, 98, 45,102,142, 1, 0,179,217, + 44,246,245,242,154,222,182, 93,187, 47,102,206,156,201,151,203,229,208,235,245,208,235,245, 72, 73, 73,129,139,139, 11,100, 54, + 54, 86,109, 51,159,207,231,219,218,218, 34, 54, 54, 22, 91,183,110, 69, 86, 86, 22, 10, 10, 10, 96,111,111,143,142, 29, 59, 34, + 52, 52, 20, 61,123,246, 68,122,122, 58,120, 60, 94,147,111, 50,197, 2,193,236,137,227,198,185,135,133,213,127,103,171, 94,175, +135, 90,173,134, 90,173,134,135,135, 7, 34, 35, 35,221,143, 31, 61, 58, 27,192,154,250,150,151, 1,138,128,144,144,227, 55,110, +220,112,229,243,249,136,141,141,133, 70,163,129, 78,167, 3,203,178,224,241,120,144, 74,165,232,209,163, 7, 92, 92, 92, 16, 18, + 18,130, 35, 71,142,184, 13, 26, 52,232,103, 89,113,113, 56,128, 66,106,254, 77,203, 47, 46, 62,219, 9,112,121,243,205, 55, 79, + 37, 38, 38, 70, 76,152, 48, 1,197,197,197,255, 16,124,248, 97,185, 25, 88,219,216, 99, 15, 36, 31,100,125, 0,185,179,155,219, +247,159,125,246, 25,191,168,168, 8,243,230,205, 43, 43,200,203, 91, 36, 5,174, 1,192,207,199,142,245,216,185,115,231,167,187, +118,237,114,217,177, 99, 7,191, 83,167, 78,155,148,241,155,218,220, 2, 42,154, 83,185,232,128,191,175, 91,183, 78,170,211,233, + 48,104,208,160, 76, 77,118,118,123, 22,208, 90,251,248,106, 96,118,244,130, 5, 10,137, 68,130,249,243,231,151,150, 62,120,208, +150, 5, 74,158, 88, 36, 71,158,149,117,106,210,164, 73,119, 19, 19, 19, 93,215,174, 93,171,120, 45, 42,106, 54,128, 85,214,254, +141,127, 93,208,206,183, 55,219,198,134,140, 26, 18,233,209,170,133, 59, 14, 29, 61,131,175, 55,237,222, 6,117,198,247,222,222, +222,179,249,124,254,106,106,121,132,144, 23,170,192,114,114,114,234, 28, 20, 20,132,243,231,207,163,117,235,214, 71,220,107,139, + 43,161, 16,102,115,211,215,144,219,200,229, 3, 34, 34, 34,152,171, 87,175, 34, 32, 32, 0, 54, 54, 54,117,133, 85,109,145, 37, + 20, 10,161, 80, 40, 80, 81, 81,129, 94,189,122, 9,183,110,221, 58, 0,192,138,166,178, 11,115, 82,108,145,185,245,205,229, 43, + 87, 6,118,238,220, 25, 70,163,241, 81, 33, 34,147, 65,175,215, 67, 40, 20,194,104, 52, 66,103,224, 42,173,217, 86,179,217,108, + 22, 8, 4,240,243,243,195,210,165, 75,161,211,233,234, 78,235, 84, 86, 86, 66,173, 86, 35, 62, 62, 30,217,217,217,176, 88, 44, + 92, 83,121, 50, 91,219,200, 17, 35, 70,136,235,251,157,193, 96,168, 43,174, 42, 42, 42,160,211,233,208,161, 67, 7,241,133, 11, + 23, 34, 27, 42,176,120, 82,233,152, 29, 59,118,184,139,197, 98,232,116, 58,164,165,165, 33, 35, 35, 3, 41, 41, 41,122,149, 74, +197,218,218,218,242, 60, 61, 61, 5, 21, 21, 21,226, 73,147, 38,241,170,170,170, 0, 0, 81, 81, 81, 46,219,182,108,121, 29, 6, +195, 90,106,254,214,185, 5,232,131, 12,134,225, 93,187,118,189,240,219,111,191,117,122,239,189,247,144,152,152,248, 79,217,190, +125,151, 52,192,237, 70,219, 37, 48,115,245,194,133,158,114,185, 28, 19, 39, 78, 84,105,242,242,218,179, 64,209, 19,139,164,186, +100,103,159,158, 60,121,114, 82, 98, 98,162,211,218,181,107, 21,175,143, 25, 51, 19,192,167,205, 89, 71, 7, 7,135,174, 10,133, + 2,167, 79,159, 70,110,118,246,194,230, 20, 87, 0,192, 19, 8,122,245,233,211, 7, 63,253,244, 19,242, 31, 60, 88,248, 84,113, + 5, 0,168, 1, 74,152,204,204,133,219,182,109,219, 58,117,234, 84,240, 25,166, 23, 88,235, 79, 16,214,119, 65,251,187, 11, 87, +227,200,233,184,109,202,187,237,254, 6,252,100, 1,112,131, 90, 28, 33,228,121,208,172,113,176, 90,180,104,209, 66, 34,145, 32, + 39, 39, 7,221,186,117,203, 22,138,197,144,136,197,144,216,216, 88,247, 41, 91,167,107,167, 80, 40, 80, 89, 89, 9, 87, 87, 87, +136, 68, 34,136, 68, 34,136,197, 98,136,197,226,186,239,237,236,236,192,231,243,225,237,237, 13,157, 78,215,174,169, 92,182, 34, +205,253,204,246,133,179, 78, 30,217, 25, 24, 21, 21, 5, 47, 47, 79,120,123,123, 65, 46,151,131, 97, 24,248,249,249, 33, 40, 40, + 8, 91,182,108, 1,207, 62,228,186, 53,235,250,100,209, 36, 16, 8, 96, 54,155, 81, 92, 92,140,148,148, 20, 36, 38, 38,226,218, +181,107,136,143,143, 71,117,117,181, 85,219,174,209,104, 58,214,215,209,245,116,113,165, 86,171, 81, 82, 82,130,140,140, 12, 84, + 85, 85,133, 55, 88,236,186,184,140, 14, 11, 11, 19, 0,128, 84, 42, 69,139, 22, 45,240,221,119,223,177,231, 78,159,126,221,230, +183,223, 28,205, 23, 46, 56,236,249,241,199,215,167, 77,155,102,190,126,253, 58, 42, 43, 43,145,154,154, 10, 55, 55, 55, 70, 98, + 99,243, 58, 53,253,230,201, 0,106,228, 85, 85, 67, 94,126,249,229,172,138,138, 10,172, 94,189,154,207,216,217,125,255, 14, 32, +104,244, 0, 19, 8,122,247,235,215, 15, 71,143, 30, 69,254,131, 7, 31,150,253,190,184, 2, 0,148, 1, 69,217, 25, 25, 11,183, +109,219,134,200,200, 72, 48, 12,211,187,185,235,215,189,123,247, 48,142,227,112,231,206, 29,136,129,184,230, 62, 62, 56, 56,184, +147,173,173, 45,238,223,191, 15, 33,112,169,161,229,132,192,165,248,248,120,216,216,216,160, 77,155, 54,157,155,247, 87,132, 95, +120,180,236, 83,248,238,194,213, 56,124,250, 10, 0,224,167,227,167,138, 31, 21, 87,209, 22,106,101,132,144, 23,182,192, 2, 0, +142,227, 32, 16, 8, 32, 98, 24,216, 72, 36, 16, 75, 36, 16, 11,133,214,127, 82,230,241, 32,145, 72,254,173,168,170, 45,180,106, +255,149,203,229, 86,103,154, 10,127,141,152, 50,121,146,216,214,214, 22,102, 51, 11,134, 97, 32,147,201,160, 80,120,160, 85,171, + 86, 80,169, 84, 24, 62, 98,148,238,129,138, 57, 46,244, 25,144,248, 44, 59,138,101, 89,212,212,212,160,188,188, 28, 42,149, 10, +149,149,149,208,233,116,176,226,236, 96, 93,157,150,155,155,139,189,123,247,162,172,172,172,193,226, 42, 51, 51, 19, 59,119,238, + 68,118,118, 54, 4, 2,129,213,207,207,128, 1, 3,112,226,196, 9, 65,223, 1, 3, 54, 63,240,247, 47,124,224,239, 95,216,119, +192,128,205,199,142, 29, 19,120,123,123, 35, 55, 55, 23,241,241,241, 80,169, 84,176, 88, 44,116, 13,214, 51, 40, 0,202, 53, 42, +213,212,127,252,227, 31,156,173,173, 45,214,172, 89,211,113, 11, 48,190,177,199, 4, 6, 5,117,178,181,181, 69,114,114, 50,100, +141, 20, 46, 50,224,210,173, 91,183, 96, 99, 99,131, 86,161,161,157,159,229,184,180, 88, 44, 48,155,205,245,142,239,102,205,113, + 41, 20, 10,193,231,255, 85, 99, 15, 71,243, 89,167, 14,127,159, 61,123,142,231,223,231,188,139, 11,177,143,106, 64, 65,117,102, + 26, 21, 87,132,144,231, 81,179, 78, 17,102,100,100,100,235,116,186,208,128,128, 0,220,189,123, 55,160,109,187,118,137, 66,161, + 16, 18,161,176,241,143,241,143, 73,165,210, 59,197,197,197, 61,125,124,124, 96, 50,153,234, 78, 9,214,158, 38,172,253, 30, 0, + 36, 18, 9,146,147,147, 33,149, 74,239, 52,185, 17,230,106,255, 22, 45, 90,160,168,168, 24, 18,137, 4, 78, 78,142,176,177,177, +129, 68, 34,197,167,159,126,106,217,188,105,211, 55,146,182,179,213,115,167, 45,228,110,172,250,225, 63,178,163,101, 50,217,157, +128,128,128, 30,114,185, 28, 71,142, 28, 65,118,118, 54,212,106,117,221,117, 83, 90,173, 22,122,189, 30, 82,169, 20,109,218,180, +129,179,179, 51,238,222,189,219,224,182,151,151,149, 29, 78, 74, 74,234,209,165, 75,151,186, 93,223,183,111, 95, 94,223,190,125, + 93,159,232, 53, 67, 89, 89, 25, 18, 18, 18, 16, 27, 27, 11,150,101,113,239,222, 61,179, 94,171,221, 71, 77,255,217,232,128, 43, +130,109,219,182,206,152, 49, 99, 90,207,158, 61,193, 1, 67, 1,252,216,224, 39, 24, 62,159,199, 48, 12,120, 60, 94,163,133, 15, + 15,176,112, 28, 87, 91,236, 52,187, 0,190,118,237, 90,146,217,108,238,217,178,101, 75,232,129,174, 0, 78, 52,231,241,233,233, +233,183, 76, 38,211,192, 14, 29, 58,224,240,129, 3, 17, 0,114,234,253, 48, 3, 68,132,135,135, 67,171,213,226,222,189,123, 55, +173, 45,174,220,219,222,217, 60,123,250,155,111,189, 54,114, 48, 14, 29, 61,131,159,142,159,206,251,246,243, 5,190, 28,103, 49, + 82,171, 34,132,188,240, 61, 88, 21, 21, 21,191,221,191,127, 31,221,187,119, 71,122,102,102,148, 94,171, 21,213,246, 98,241, 5, + 77,151, 88,218,154,154,243,191,254,250, 43,219,177, 99, 71, 84, 87, 87,215, 21, 85, 79,246, 94,213, 22, 92,114,185, 28,167, 78, +157, 50,106,107,106,206, 55,149,107,102,205, 22, 62,159, 15, 30,143, 7,189, 94,143,194,194, 34,232,116,122,252,240,195, 15,216, +178,105,211,248,252,194,194,247, 33,113,210,254, 21, 59,208,218,247, 66,173, 86,123,254,252,249,243,166,128,128, 0, 76,153, 50, + 5,115,231,206,197,220,185,115,241,206, 59,239,224,173,183,222,194,132, 9, 19, 48,122,244,104,116,235,214, 13,110,110,110,200, +202,202, 50,105,181,218, 6,183,157,211,233, 14, 78,158, 60, 89,169,211,233, 96, 54,155,161,215,235,161,213,106,235,122,217,226, +227,227,113,248,240, 97,108,218,180, 9, 63,255,252, 51,106,106,106, 80, 89, 89,137, 91,183,110,169, 5, 38,211,126,106,250,127, +232,160, 57,244,235,175,191,194,201,201, 9, 94, 62, 62,125, 26,253, 80,146,158,126,219,108, 54,163,125,251,246,168, 1, 26, 92, +182, 6,232,211,177, 99, 71,232,116, 58, 36,223,187, 23,223,220,117,170,170,170,186,145,149,149,133,190,125,251,194,211,199,231, + 11, 15,192,166, 57,143,183,176,236,175, 87,174, 92,193,164, 73,147,224,223,162,197,231,114,192,237,233,101,228,128, 91, 64, 80, +208,231,111,189,245, 22,206,158, 61, 11, 11,203,254,218, 80,158,135,135, 71,103, 79, 79,207, 99, 94, 94, 94,177, 30, 65,231,114, +162,134,116,127,235,201, 11,218, 57,117,198, 88,111,111,239, 93,124, 62,127, 62,181, 40, 66,200, 11, 95, 96, 89,180,218,229,139, + 22, 45, 50, 8, 4, 2,204,154, 53,203,237,235,111,191, 93,190,127,255,254, 46, 9,119,238, 40, 12,122,125,211, 21, 86,101,229, +186,149, 43, 87,170,141, 70, 35, 90,183,110, 13,149, 74, 5,179,217, 12,129, 64, 0,134, 97, 32, 16, 8,192,231,243, 33,147,201, +144,148,148,132,125,251,246, 85,162,178,114, 93,147,235,101,177,220, 57,114,228, 8, 24,134,225,164, 82,105, 93,209,179, 97,195, + 6,229,180,194,194,195, 0, 32, 16, 8, 12, 0,192, 23,240,172,186, 42,151,207,231, 55,121,225,186, 88, 44,174,189,184,191,233, +139,220, 89,118,221,119,223,125, 87,149,150,150, 6,141, 70, 83,119,106,176,186,186, 26, 85, 85, 85,117,223,215, 22,137,151, 46, + 93,170,146,177,108,131,219,174, 1,138,178,211,210,134,119,233,210,165, 44, 39, 39, 7,213,213,213, 72, 79, 79,199,181,107,215, +112,226,196, 9,196,196,196, 32, 35, 35, 3, 6,131, 1,142,142,142,168,172,172,196,177, 99,199, 42,245,213,213,131, 53,245, 92, + 7, 68,254,197,215,211,115,128,135,187,123,158,155,171,235, 67, 95, 79,207, 1,245, 20, 26,169,169,169,169, 48,155,205, 8, 12, + 12,116,110,236, 58, 44, 51,203,254,122,237,218, 53, 76,152, 48, 1, 10,111,239, 79,221,234, 41, 92,220, 0, 55, 79, 31,159, 79, +167, 76,153,130,243,231,207,195,220, 72,225,210, 16, 41,176, 97,193,130, 5, 90,145, 72,132,125,251,246, 5,218, 7, 7,167, 48, +192,155, 98,160,117, 16, 32,106,234,241,182,192,215, 75,150, 44, 41, 2,128, 93,187,118,185,122, 6, 5,221,101,128, 41, 82,224, + 37, 41,240, 18, 3, 76,241, 12, 10,186,187,111,223, 62, 87,150,101, 49,119,238,220, 34, 91,224,235,134,242, 4, 2,193,223, 11, + 10, 10,134, 63,124,248, 48,162, 40,253,170,239,183,159, 47,192,133,216, 56,124,189,105,247, 54,229,221,118,127, 83, 42, 31,222, + 40, 40, 40,152,248,240,225,195, 36,106,113,132,144,231, 81,189,221, 47, 76,215, 85,197, 0,231,222,167,123,123,252,150,144, 82, +225,226,228,112,186,246,119,234,251, 71, 66, 94,239,235,223,113,249,242,229,224,241,120,184,127,255, 62, 18, 19, 31, 93,214,180, +122,245,106, 13,159,227,162,158,152,239, 44, 12, 64,210,227,204,115, 44,203, 58, 73,244,121,182,225, 78, 89, 45,126,220,177, 77, + 96,103,103,135,234,234,106, 8, 4, 2, 72,165, 82,200,229,114, 72, 36, 18, 36, 38, 38, 98,210,148,169,230, 12,182,195,191, 6, + 26,253,215,124,103,117,153,181,227, 15,245,116,113,145,229,138, 68, 31,184,121,120, 44,152, 51,103,142, 77, 68, 68, 4,196, 98, + 49, 58,119,235, 93,100,211,113,193,122,190,128,199, 22,148, 86, 44, 14,122,201,203,225, 94, 90, 14, 0,158,210,116, 99,177,231, + 19,167,108,254,109, 61,219, 73, 19, 3,127,252,118,133,125,219,182,109,193,113, 28, 42, 42, 42, 80, 92, 92, 12,165, 82, 9,181, + 90, 13,173, 86, 11,139,197,130, 95,126,249, 5,191, 92,207,172, 44,182,123, 37,179,161,245,252,215,182,231,216,133,218,164, 6, +172, 95,251,133,192,201,201, 9,197,197,197, 40, 45, 45,173, 59, 85,104, 54,155, 81, 85, 85,133,163,199,127, 54,103,154,219,101, +235, 37, 47, 85, 53,149,137,154, 60, 27,231,234, 43,222,157,195, 2,184,119,222,121,199,206,222,222, 30, 22,139, 5, 42,149, 10, +217,217,217, 72, 77, 77,197,229,203,151, 53,202, 74, 19,167,117, 29,148, 95, 55,208,104, 61,153,127,162,255,185,204, 39,199,178, +242,242,244, 44,124,240,224,129,187,217,108,134,183,183, 55,171, 86,169, 62, 19, 3,103, 69, 64, 1, 15,224,170,128, 37,107,215, +175,159, 58,114,228, 72,116,237,218, 53,175,168,184,248,165,250,218, 18, 7,240,189, 0, 39,145,191,127,114, 92, 92,156, 91,106, +106, 42, 38, 79,158, 92, 82,144,151,247,129, 61, 16, 11, 0,149, 64, 31, 47, 95,223, 47,246,236,217,227, 22, 22, 22,134,246,237, +219,151,232,179,179, 67, 11,128,242, 6,218,103,131,199,102,121,234,137, 22,179,162,194,186,188,251,238,187, 96, 89, 22,177,177, +177,184,126,253, 58,114,115,115,113,229,202, 21,181,189, 92,254, 70, 99,199, 38, 42, 82,236, 34, 67,106, 2,119,237,250,145, 39, + 18,137,176,109,219, 54,196,199, 63,234, 76, 11, 15, 15,199, 91,111,189, 5,150,101, 49, 97,194, 68,238,231, 20,155,127, 13, 52, + 90, 79, 91,242,246,246, 14,179, 88, 44,107,120, 60,158,200, 44,118,239, 82,148, 21, 47,245,108,217,171,160, 40,109,128,111, 51, +175,185,162,246, 73,153,148,249,226,100, 62, 87,154,156,139,112,213, 70, 56,252,126, 58,142,183, 11,143,110,251,140, 25,250,234, +240,208,197, 31, 45, 18,180,107,215, 14, 22,139, 5, 93,187,118,197,228,201,147,101,161,161,161, 77,205,119, 86,253,202,168,105, + 89,175,188,242,138,227,172, 89,179, 28,250,244,233, 35,172,157, 42,231,206,157, 59, 56,121,242,164,113,239,222,189,149, 15,197, +189,213, 87, 78,109,169,182,102,190,179, 43,101,101, 26, 0, 43, 90, 26,141,155,150,124,244, 81,116,219,118,237,166,189,255,254, +251,124, 91,185, 76,184,106,241,219, 82, 0,248,248,171,189, 14, 35,199,188,137,117,193, 64,159,241,245,207, 29,247,228,122,230, + 23, 42, 31,188, 57,117,108,240,180, 9, 81,150, 81,163, 70,201, 28, 28, 28,224,235,235, 11, 71, 71, 71,100,101,101,225,206,157, + 59,220,217,179,103,171, 19,238,231, 10,119,238, 63,251, 64,108,235,110,205,188,129, 85,175,140,156,156, 61,101,202, 20,167,168, +168, 40,187,182,109,219, 10,133, 66, 33, 36, 18, 9, 74, 75, 75,145,159,159,111,140,137,137,169,126, 40,234, 81,126,229,244,246, + 42, 43,231, 34,212, 70,140, 91,158,126,254, 76,244,251, 9, 9, 9, 19, 1,116, 48, 26,141, 62,102,179,153,199,231,243, 11,205, +102,115,162,174,186,122, 43, 27, 30,189,142,230, 34,180,142,217,108, 22,153,205,102,168,213,106,156, 59,119,142,201,200,200, 88, +156,144,144,176,184,160,160, 0, 70,163, 17, 99,198,140, 65,120,120, 56, 46, 94,188,136,146,226,226,227,141,101, 21, 0,229,204, +131, 7, 83,103,206,156,121, 98,251,246,237,188, 59,119,238,184,109,221,186,245,199, 91,183,110, 1, 0, 58,117,234,132,169, 83, +167,130, 97, 24, 76,158, 60,153,203,205,206,158,202, 2,229,141,180,207,198,142,205,146,147,123, 55, 36,140, 26, 61,166,205,178, + 37, 31, 9,123,246,236, 9, 55, 55, 55,244,238,221, 27, 70,163,209,209,138, 99,179, 42, 98,200, 27,153, 29, 58,116,144,175, 93, +187, 86, 49,117,234, 84,204,158, 61, 27, 0,160,213,106,113,246,236, 89,204,157, 59,183, 40,151,233, 86,115, 43,102, 95,163,237, +243,113,207,212, 32, 0,240,242, 66, 44,128, 8,126, 77, 78, 38, 93,208, 78, 8,121,161, 11, 44,224, 95,243,157, 93,190,158,132, + 39,167,227,120,196, 57,217,228, 28,149, 57,117,238,103,109, 4, 38,181,147, 13, 99,112, 74, 76, 72,224,103,101,101, 53,250,199, +106,231, 59,211, 75,124,171,205,133,101, 93, 54,172, 91,247,254,230,205,155, 7,212, 14,197, 32,149, 74,239,104,107,106,206,163, +178,114,157, 62,192,247, 66,115,231,206, 75, 45, 43, 43, 6, 48, 35,200, 98, 89, 63,101,218, 59,171,121,182,190,204,162, 85, 63, +232, 4, 2,129, 33,243, 97, 49,214, 5, 3,114, 43,198, 67,213, 24,128, 59,101,238,236, 93,174, 79,202,154,207, 62,155,183,241, +235,175,187,217,216,218, 70, 24,141,198, 80,139,197, 2, 0,201, 58,141,230, 18,107, 52, 94,127,232, 53,253, 75,177,173, 59,103, +237,188,129,122,105, 64,149, 92,123,185,203,161, 3, 7,222, 59,117,234,212,191,109,187, 29,176, 94,111, 31,112,222,154,109,127, +114, 25, 19,112, 21, 74,229,213,198,186, 42,105, 46, 66,235,240, 57,238,109, 39, 39,167, 31, 7, 12, 24, 32, 29, 56,112, 32,134, + 14, 29,138,151, 95,126, 25, 22,139, 5, 28,199,161,170,170, 10,251,247,239,199, 63,255,249,207, 52, 15, 96,121, 83,121, 44,112, +154, 57,122,116, 68,167, 78,157,182,174, 93,187,214,101,198,140, 25,176,121, 60,180,137, 86,171, 69, 76, 76, 12,230,206,157, 91, +150,147,153, 57,149, 5, 78, 55,149,215,248,177, 41, 77,101, 29, 71,102,191, 49,251,179, 96, 83,101,129,147,139,140, 85,220, 77, +186, 99,245,177, 9,135, 86, 85, 21,241,251,187,190, 22, 21, 53,155,207, 48,189,106,135, 98,184,119,239,222,205,218,201,158, 17, +254,214, 47,205,105, 75, 28,247,104,236, 57,142,227,232,130,118, 66,200,139, 93, 96, 49, 12,163,172,237,229, 97, 24, 70,153,245, +211,244, 55, 27, 11,241,245,244, 28,248,248,211, 49,154,154,139,176,246,255, 89,106,117,213,227, 17,218,235, 29, 68, 84,248,212, +242,205,153,239, 44,163,184, 56, 5,192,171,192, 3, 32,229,242,163,188,174,171, 62,124,114,155, 26,220, 33,191,251,187, 34, 85, +126,113,241,101, 0,151, 1,252,179,222,245,244, 19,169,154, 90,207,167,183, 61,225,193,131,202,199,219, 93,255,182,187, 55,189, +237, 79,103, 54,249, 68,255,129,253,249,162, 41, 44, 41,249, 9,128,220,245,196, 9,143,147, 39, 78,188, 62,111,222,188,215,188, +188,188,130, 93, 93, 93,157,236,236,236,248,113,113,113, 89, 6,157,110,125, 16,176, 61, 21,208, 88,147,201, 2, 39, 21,153,153, +173, 71, 12, 27,246, 62,159, 97,122,133,134,134,134, 3, 64,114,114,114,188,133,101,127,117, 3,214,177,128,202,138,231,177,121, +199,166,164,249,199,102, 5, 80, 1, 96, 21, 88, 22, 72, 76,252,195,199,166,197, 98, 89,229,237,237, 93, 69, 35,180, 19, 66,200, +159, 39,140, 50, 41,243, 57,202, 20, 0,176,167,253, 73,153,148, 73,153,148,249,151,100, 62, 87,248,180, 11, 8,177,154, 25, 64, + 37,237, 6, 66, 8, 33, 77,225, 53, 82,133, 54,231,238,128,103,169,100,147, 40,147, 50, 41,147, 50, 41,147, 50, 41,243,133,203, +108, 42,155,238, 78,252,139, 10, 47,202,164, 76,202,164, 76,202,164, 76,202,124,241, 50,159, 43,116,138,144, 16, 66, 30,139,142, + 6,159,227,192,227,184,104, 62,199, 29, 16,112,220, 24, 1,199,225, 15,205,221, 57,102, 76,253, 3,209,206,121, 19,118,180,199, + 9,121,126, 49,180, 11,254,115, 20, 10,133,159,135,135,199,247, 28,199,241,148, 74,229,244,162,162,162, 92,218, 43,255,125,156, +157,157, 7, 0,128, 74,165, 58,255,188,110, 99,155, 0, 68,113, 60,180,126,242,103, 60, 11,114,239,229,252,126,158,197, 54, 47, + 97, 34,199,255,253, 88, 90, 60, 14,247,239,101,227, 72,115, 62,216,141, 26,224,182, 6, 0,126, 58, 95, 50, 31,207, 48, 57,117, + 83, 60, 61, 61, 91,186,184,184,156, 17, 8, 4,140,217,108,158,153,148,148,116,162,169, 15,154,239,142,198, 34,182,200,117,209, +146, 25, 60,161, 65,191, 90,173,215,233, 42,248,124,126,182, 72, 36,186, 60,103, 2,119,250,171, 93,166,187, 13, 60,190,193,245, +111, 27,128, 72,190,190,205,240,240,214, 89,153,107,198,118, 93,215,103,154,171, 48,235,230,109,219,141, 71,114,191,119,112,244, + 24,254,247, 55,138, 78, 72,108,204, 19,255,185, 21,213,116,164, 89,231, 19,192,217, 8,180, 19, 73, 36, 62,102,150,245, 0, 0, + 1,195, 20,155,244,250, 60, 17,144,184, 8, 80,255,151,100,186,154, 24, 38, 76, 36, 22,251,152, 77, 38, 15, 30,192, 65, 40, 84, + 90, 12,134, 60, 51,203, 38, 69, 3,101,207,186,158, 66,137,196,215,204,178, 30, 60,128,251,179,182,253,207,204, 36, 77, 20, 88, +129,129,129, 55,249,124,190, 15,159,255,168,147,235,201, 57,247,106,255,255,244,191,102,179, 57, 63, 37, 37,165,179,181,127, 60, + 32, 32,192, 94,167,211,189,206,227,241,222, 4, 0,142,227,118, 75,165,210,253,217,217,217,207,116, 33,113, 64, 64,128, 61,199, +113,243,109,108,108,250,235,116,186,182, 0, 32,149, 74,239,106,181,218, 11, 60, 30,111,205, 51,230, 50,158,158,158, 99,229,114, +121, 63,150,101,251,113, 28,199, 99, 24, 38, 70,163,209, 92, 40, 44, 44, 60, 0,160,217, 35, 30,120,122,122,218,184,184,184,124, +236,232,232, 56,126,214,172, 89,101,206,206,206,173,150, 47, 95,254,155,139,139,203, 30,149, 74,245, 81, 97, 97,161,246,191,164, +125, 4, 41, 20,138,221, 66,161, 80,144,151,151,215, 15, 0,124,125,125, 99, 12, 6,131, 89,169, 84,190, 9, 32,163, 57, 97,174, +174,174,114,161, 80,216, 93, 46,151,119,150,203,229, 17,102,179, 57,212, 98,177,192, 98,177, 36,215,212,212, 92, 50,153, 76, 55, + 77, 38, 83, 92,105,105,105,205,127,209, 49, 98, 39, 18,137,126,100, 89, 22, 0, 66, 0, 84, 61,143, 47, 4, 28, 15,173,239,221, + 77,110,245,187, 98,170,109,232,191, 47,199,135, 95, 3,203, 89, 93, 96, 13,237,229, 56,100,120,100, 7, 62, 0, 24, 13,191, 13, + 57,249,171,250,228,159, 93, 92, 13, 29, 58,244,234,250,245,235,157,244,122, 61, 22, 44, 88,176, 91,175,215,127,147,158,158,190, +168,177,199,217,219, 59,204, 91,241,201,215,178,199,175,103,238, 22,139,197,189,176, 32, 47, 36,229,254,157, 33, 41,247,147, 62, +157, 51,230,254, 53, 45,107,126,103,203, 79,184,111,205,122,132,190,132, 97,195, 71, 71,189,186, 98,105, 52,198,143, 31,255,210, + 93,149,206,198,251,110,130,184,134,179, 13,114,117,247, 25,177,240,163,207,121,113, 87, 47,142, 56,176,119,243,133,255,155,106, +234, 79, 69, 86,147,120,171, 24,166,187, 67,112,112,196, 27, 63,253, 4, 91, 95, 95,134,145, 72,248, 0,192,234,245,190,213,121, +121,158,251, 70,140,232, 22,157,154,122, 49, 26,184,254,159,204, 92,193, 48, 61, 29,130,131,123,142, 63,121, 18,182,158,158, 12, + 95, 36,226, 3,128,197,104,244,169, 44, 40,240,220,247,234,171, 93,163,211,211, 47, 69,179,108, 28,172,152,106,237,127,104,219, +137, 53, 5, 22,159,207,247,137,143,143,119,151,203,229,120, 92,252,192,108, 54,195,108, 54,227,241,155, 98,221,192,139, 28,199, +129,101, 89,244,237,219,215,170, 79,175,158,158,158,253, 1, 76, 9, 14, 14,126,109,254,252,249,162,158, 61,123,194,108, 54,227, +194,133, 11,189,215,174, 93,251,149, 94,175, 63, 12, 96,123, 97, 97,225,121,107, 63,221, 42, 20,138,193, 2,129, 96,215,226,197, +139,237,123,245,234,197,212,142, 14,175, 84, 42,187, 95,190,124,185,243,242,229,203,103, 42, 20,138, 9, 69, 69, 69,103,172,221, + 57,222,222,222, 97, 50,153,236, 96,100,100,164, 79,231,206,157,165, 45, 91,182, 4,199,113,184,125,251,246,212,148,148,148,113, + 39, 79,158,223,178,194,155, 0, 0, 32, 0, 73, 68, 65, 84, 92,166,209,104,198, 52, 99, 62, 53, 94, 80, 80,208,100, 59, 59,187, +143,231,205,155,231, 60,106,212, 40,113, 82, 82, 82,121, 96, 96, 32,239,240,225,195,110,199,143, 31,159,249,205, 55,223,140,149, +201,100, 31,101,100,100,236,176,230,192, 11, 14, 14,190,201,231,243,125,172, 41,128,155, 89, 4,119, 12, 8, 8,216,127,233,210, +165,128,156,156, 28,115, 84, 84,212, 78, 0,184,114,229, 74,123,142,227,120, 61,123,246, 60,149,159,159,255, 58,128,219,214,108, +184,151,151, 87,123, 7, 7,135,163,163, 70,141,114,246,243,243,147,249,248,248,240,164, 82, 41, 4, 2, 1,170,171,171,189, 82, + 82, 82, 6,222,190,125, 91,123,229,202, 21,149, 72, 36, 26, 81, 80, 80,144,216,140,118,252,178,187,187,251, 68,161, 80, 24,198, +178,172, 55, 0, 48, 12,243,208,100, 50, 37, 41,149,202, 31, 1, 92,125,214, 3,196,195,195,227,171,181,107,215,186, 22, 23, 23, +115,209,209,209, 95, 85, 84, 84, 76,126,158, 95, 16,146,110,199,225,242,149, 75,248,110,211,143, 21, 28,135, 7,255, 86, 96, 89, +144,222,182,109,168,219, 59,111, 79,116,238,221, 51, 2, 97, 29,187, 55,153, 57,178,191,203, 10,177,136,113,209,232,245,215, 75, +243,249, 71,101,114, 81,212,132,209,157, 51, 1,224,244, 47,119,162,186, 6, 58,253,234,234, 99, 25, 41,147, 72,186, 25,140,108, +217,209, 11,101, 75,155, 83, 76, 41, 20,138, 51,182,182,182, 50,181, 90, 93, 84, 86, 86,182, 49, 50, 50,114,213,218,181,107,157, + 50, 51, 51,145,151,151,135, 41, 83,166,216, 62,124,248,112,150, 94,175,191,150,151,151,215, 96, 79, 86,101, 85,197,186,143,163, +231, 45,179,115,112, 18,200,108,228,176,181,179, 71, 64,139, 16,116,233,214, 27, 3, 95, 25,129,204,140,148, 30,251,119,109,190, + 61,115,116,254,167, 41, 42,172,140,141,109,248,181,169,141, 63,250,140,120,237, 81,113,181,116, 69, 52, 82, 83,238, 87,229,228, +242,231,252,124,139, 47,139,236,223, 70, 98,208, 87,231,196, 93,189, 24,208,253,229,190, 0,208,249,192,222,205, 23,162,223, 52, + 13,136,222,253,124, 22,240,127, 70,113,181, 66, 40,156, 60,120,237, 90,247,240,153, 51, 69,213,217,217,198,204,239,190,211, 20, + 95,186,100,102, 36, 18,206,119,200, 16,158, 91,191,126,210,153,201,201,162, 43,159,125, 22, 33, 92,190, 60,240, 35,163,113,215, +127, 42,115,232,134, 13,110, 29,167, 79, 23, 85,102,102, 26, 83,191,250, 74, 91,244,203, 47,172, 72, 42,181,248, 12, 29, 42,240, + 24, 52, 72, 50,243,238, 93,209,181,213,171,123, 50, 75,150,180, 88,108, 50,253,248,156,108, 59,105, 70,129, 5,185, 92,142,189, +123,247, 66, 40, 20, 66, 40, 20,130, 97,152, 6,255,239,239,239,111, 77, 17, 52,218,197,197,229,235,121,243,230,121, 12, 31, 62, + 28, 78, 78,191,159,101, 99,216,176, 97, 24, 58,116,168, 40, 43, 43,107,220,129, 3, 7,198,237,220,185,179,168,186,186,122, 78, + 81, 81,209,225, 38,222,188,251, 5, 4, 4, 28,222,187,119,175,141, 86,171, 69,108,108, 44,202,203,203, 33,145, 72,224,237,237, +141,222,189,123, 51, 49, 49, 49,206,227,198,141, 59,204,231,243,135, 21, 20, 20,196, 88,241,198,218,217,201,201, 41,118,211,166, + 77,210,214,173, 91,243,210,211,211,209,161, 67, 7, 0, 64, 89, 89, 25,134, 13, 27, 38, 29, 53,106, 84,208,172, 89,179,174,177, + 44,219,183,184,184,248,102, 19,219,222,201,195,195, 99,199,144, 33, 67,188, 62,252,240, 67,123, 91, 91, 91,228,228,228, 20, 42, + 20,138,144,218, 34,104,228,200,145,226, 65,131, 6,121,110,220,184,113,253,201,147, 39, 23,148,148,148, 76, 46, 42, 42,186,213, +104,181,202,231,251,220,186,117,203, 93, 38,147,161,184,184, 24,187,118,237,194,172, 89,179,192, 48, 12,148, 74, 37,246,239,223, +143, 57,115,230,128,207,231,163,178,178,210,170, 34, 88, 38,147, 13, 12, 14, 14,222,114,254,252,121, 31, 71, 71, 71,120,121,121, +241,151, 44, 89, 18, 22, 24, 24,104,227,233,233,201, 47, 40, 40,192,225,195,135, 3, 39, 78,156,120, 52, 55, 55,119,170, 94,175, +111,242,212,153,139,139,203,214,157, 59,119,250, 37, 36, 36, 96,227,198,141, 80,169, 84, 16,139,197,112,112,112,128, 66,161, 64, +203,150, 45,121, 51,103,206,148,245,235,215, 79, 22, 29, 29,189, 21, 64, 71, 43,218,111, 7,119,119,247,239,251,245,235, 23, 24, + 29, 29,237,232,233,233, 9,153, 76, 6, 0,168,168,168,240,201,201,201,233,190,108,217,178, 49, 55,111,222,204, 82, 42,149,239, + 0, 72,104,230,241,209,177, 77,155, 54,195, 70,141, 26, 37, 40, 42, 42,194,230,205,155,135, 85, 84, 84,116,180,182,168,252, 95, +116,249,202, 37,244, 27, 50, 14, 90,214, 70,120,252,200, 46,174,234,204,151, 46,182,142,142, 12, 0, 84,171,213,236,208, 55, 63, +176, 12, 27, 49,193,216,127,200, 72,205,133,211,187,101,214, 20, 88, 98, 17,227,178,111,203,140,188, 75,113,105,161,103, 46,228, + 12, 28, 53, 98, 32,159,145,183, 10, 2,128, 15,222,127, 91,252,211,177, 95,190, 25,220,255,165,194,136,238, 33,121,111, 76,251, +206,183, 57,197, 85, 96, 96,224,197, 51,103,206,120,136,197, 98,148,151,151,187,108,219,182,237,203,238,221,187,243, 51, 50, 50, +112,255,254,125,100,103,103, 67,173, 86,163,107,215,174,182,247,238,221,219, 8,160,193, 2,235,219, 67,248,248,179,133, 30, 27, +220, 60,221, 2, 76, 6,189, 27,171, 47,110,123,254, 76, 66,251, 67,251, 53,157,220, 21, 62, 33,227, 38, 76,199,194, 37,159, 11, +143, 28,220,177, 20, 49,103, 17,219,216, 40,254, 60,188,252,143, 15, 23,161, 82,163,199,132, 55,223,198,196, 9,111,187,112, 22, +131, 39,103,209,201, 13,186,114, 71, 7, 81,202,137, 29,219,246, 71, 1,240,121,162,200, 58, 79, 69, 86,253, 86, 48, 76,183, 87, +190,248,194,189,195,204,153,146,132,229,203,107, 74, 47, 93,210,182, 24, 58,180, 60,124,198, 12, 61, 0, 84,101,103,139, 82,151, + 45,147,185, 69, 68,216,244,252,191,255,115, 52,105, 52,138, 21,159,124,210,117, 41,112,163,185,153, 1,227,199,155,215, 28, 62, +220, 37,238,179,207,250, 98,229, 74, 65,191,240,240,219, 75,190,251, 46,223,154,204, 85, 12,211, 61,242,155,111,220,219,189,245, +150,228,230,162, 69, 53,234, 27, 55,180, 65, 81, 81,170, 46,115,231, 26, 32, 16, 64,147,159, 47,204, 88,190, 92,238,208,173,155, + 77,143, 15, 62,112, 52, 27, 12, 30,209,203,150,117,107,172,135,104, 5,195,116, 27,178,110,157, 91,135, 25, 51, 36, 9,171, 86, +213, 20, 92,184,160,175, 12, 13, 69,199,215, 94, 43,243,118,113,209, 63,235,182, 63,153, 89, 26, 19,243,135,247, 39,169,239,101, +160, 1, 45, 91,182, 44, 78, 73, 73,113, 63,116,232,144, 85, 5,150,151,151, 23,122,247,238,173, 76, 74, 74,242,104,228, 5, 49, + 47, 47, 47,207,135,101, 89,136,197,226, 70, 87,172,170,170, 10,137,137,137, 24, 55,110, 92,126, 97, 97, 97,131, 47,186, 78, 78, + 78,118, 78, 78, 78,153, 49, 49, 49,174,247,238,221,195,205,155, 55, 17, 24, 24, 8, 39, 39, 39, 8,133, 66,152, 76, 38, 84, 85, + 85, 33, 56, 56, 24, 50,153, 12, 67,135, 14, 45, 85,169, 84,129,229,229,229, 13,190,136,249,251,251, 75,132, 66, 97,218,161, 67, +135,124,195,194,194,112,227,198, 13,248,250,250, 66,161, 80, 0, 0,178,179,179,113,229,202, 21, 68, 70, 70, 34, 41, 41, 9, 51, +102,204,200, 51,153, 76, 33, 15, 30, 60,208, 55,120,186, 32, 52,180,240,192,129, 3,249,173, 91,183,214,213,212,212,240,139,139, +139,133,151, 46, 93, 98,171,171,171,109,213,106,181,176,162,162,130,169,168,168, 16,214,212,212, 8,249,124,190, 72,175,215, 11, +227,226,226, 4, 42,149,170,209,129, 45, 91,181,106, 85,124,255,254,125,247, 99,199,142,161, 93,187,118, 56,116,232, 16,230,207, +159,143, 43, 87,174,192,199,199, 7, 7, 15, 30,196,252,249,243,113,255,254,125,184,185,185,161,127,255,254,141, 62, 71, 0, 16, + 20, 20,148,158,152,152, 24, 36, 22,139,145,145,145,129,252,252,124, 68, 68, 68,192, 98,177,160,168,168, 8,105,105,105, 40, 40, + 40, 64, 80, 80, 16,222,124,243,205,140,135, 15, 31, 6, 55,213,208,194,195,195, 75,206,159, 63,239,218,190,125,123, 20, 21, 21, +193,209,209,177,238,203,193,193, 1,142,142,142,104,209,162, 5,230,205,155,135, 14, 29, 58, 40, 31, 60,120,224,209, 84,241, 19, + 22, 22,118,230,194,133, 11,174,206,206,206,208,233,116,208,233,116,117, 31, 14,100, 50, 25,132, 66, 33, 0, 32, 45, 45, 13,195, +134, 13, 43,201,204,204, 28,210,140,226,136,239,225,225,113, 63, 33, 33, 33,196,206,206, 14,121,121,121, 72, 74, 74,194,180,105, +211,210,106,106,106, 90,227, 47,184,110,232, 63, 41,180, 5, 22,223,187,155,220,170, 77,155,208,138, 73, 83,223, 17,142, 28, 62, +178, 38,254,250, 89,147, 80,127,177,250,149,222, 14, 5, 0,112, 62,174,202, 93, 47,236, 45,234,220,117, 48,239,232,209,163,210, + 29,219,191,103,238,222, 77, 86,180,105, 27,154,146,156,133, 85, 13,101,191,218,215, 97,210,252,217, 67, 66, 35,122, 70, 48,149, + 53,156, 98,203,214, 31,186, 62,200,201,244, 0, 0,255,151, 2,139,167, 77,125,251,134,189,156, 87,116,233,202, 37,118,205,215, +167,147,127,190, 88,177,211,138,222,229, 64, 95, 95,223,107,219,182,109,115,117,117,117,133,131,131, 3, 52, 26, 13,140, 70, 35, +238,221,187,167,219,183,111,159,201,222,222,222,174,168,168, 8,229,229,229, 96, 24, 6,113,113,113,185,197,197,197,245,125, 18, +172,187,217,231,192,129,104,166, 79,103, 63, 39, 17,159,179, 17,155, 83,188, 24, 1, 39,230,193,209,227,124,108, 92,135,139,177, +151, 38, 12, 29,254,134, 91,143,158,253,240,249,170,133,166,236,188,188,142,143, 79, 23,254, 91, 91,104, 29,128,254,163, 70, 71, +141, 93,177, 52, 26,209, 43,150,227,196,241,159, 42,108,109,248,122,123, 59,161, 67, 68,175,158,186,121,115, 94,207,211, 84,169, +125,191, 92,187,102,252,160, 33, 81, 62,221, 95,238,139,184,171, 23,113, 96,239,230,155, 34, 9,157, 46,124, 82, 52,224,228, 24, + 24,248,206,236,180, 52,209,157,232,232,106,182,160,160,188,243,220,185,165,245, 45,155,127,238,156, 92,236,229,101,239, 50, 98, +132,211, 90,127,127,152,148,202,239,235,187,134,168,190,204, 27,158,158,142, 71, 98, 98, 6, 88, 24,166,207,172,217,179,109, 6, + 14, 28,136,202,202, 74,156, 56,113, 2,123,118,239,214, 43, 20,138, 68,199, 27, 55,110, 7, 22, 22, 46,174, 47,243, 19,192,217, +174,101,203,233,179,146,147, 69,241,139, 23, 87, 67,165, 82,133,207,153, 83,102, 54,155,121,211, 87,173, 26,154, 89, 88,216,167, +184,180,212, 31, 0,220, 29, 29,243, 90,123,122,198,111,216,185,243,222,215,173, 90,113,213, 5, 5,223, 71,215, 51, 7,233,211, +235,185,239,202, 21,143, 83, 37, 37,127,115,114,114,178, 41, 45, 43, 19,136,132, 66, 85,167,144,144,125,159,207,153, 19,171,189, +121, 83,252,172,219,222,121,238,220,210, 10,141,134,249,104,195,134,158, 5,101,101, 47,213, 24, 12,193, 21,213,213, 10,214,104, +228,219,217,216,148,189, 20, 20, 84, 92,121,225, 66,145,127,117,245,123,235, 53, 26, 37,181,202, 63,216,131,197,227,241,192,113, +156, 85,197,149, 80, 40,252,221,105,168, 70,136, 4, 2, 1,110,220,184, 1,165, 82,137,118,237,218, 33, 32, 32,224,119, 11,100, +102,102,226,228,201,147, 40, 47, 47, 71,167, 78,157, 0, 64,212, 88,160,157,157,221,251,139, 22, 45,114, 52, 24, 12,136,143,143, + 71,167, 78,157, 32,149, 74, 33, 20, 10, 33, 18,137,192, 48, 12, 20, 10, 5, 74, 75, 75,225,225,225,129,153, 51,103, 58,108,216, +176,225,253,242,242,242, 21, 13,101,114, 28, 55,123,220,184,113,238, 97, 97,143,238, 66,205,203,203,171, 93, 23, 0,128,187,187, + 59,110,223,190,141, 78,157, 58,193,195,195, 3,145,145,145,238, 71,143, 30,157, 13, 96, 77,131, 27, 46, 18,241, 91,183,110,221, + 5, 0,228,114, 57,248,124,126,170,189,189,189,155,135,135,135,220,222,222,254,223,182,113,219,182,109,106,177, 88,108,178,102, +167, 22, 21, 21, 33, 44, 44, 12,106,245,163, 99,169,166,166, 6,193,193,193,168,168,168, 0, 0,232,245,122,120,121,121,213, 21, + 32, 13,105,223,190,125,116,235,214,173, 95,145,203,229, 18,134, 97,144,144,144,128,240,240,112,236,219,183, 15,254,254,254,144, +201,100, 72, 73, 73, 65,251,246,237, 17, 27, 27, 11, 55, 55, 55,180,109,219, 86,226,238,238,126, 89,165, 82,197, 60,120,240, 32, +186,145,158, 54,190,173,173, 45, 98, 99, 99,177,117,235, 86,100,101,101,161,160,160, 0,246,246,246,232,216,177, 35, 66, 67, 67, +209,179,103, 79,164,167,167,131,215,116, 99, 82,132,132,132,156,184,113,227,134, 43,159,207, 71,108,108, 44, 52, 26, 13,116, 58, + 29, 88,150, 5,143,199,131, 84, 42, 69,143, 30, 61,224,226,226,130,144,144, 16, 28, 57,114,196,109,208,160, 65, 39,139,139,139, + 59, 2, 40,106,106,159, 58, 57, 57,189,183,116,233, 82, 95, 15, 15, 15, 84, 85, 85, 65,163,209,192,203,203, 11,131, 6, 13,242, + 62,121,242,228,123, 6,131, 97,237,115,245, 73,203,130,220, 54,109, 67,193,113,120,112,252,200, 46,206,199, 77, 26,214,183,147, +197, 61,245, 30,211, 35, 46, 46,169, 45, 0, 56,201, 3, 18, 66, 66,141,169,177,191,157,203, 63,113,108, 79,130,217, 12,126,104, +155,208, 86,124, 14, 15, 27,203, 46,205,231, 31, 61,115, 33,103, 96,251,246,189, 5, 27,190, 92, 54,114,250,212,193, 18,103,167, +222,188,202,252,253,184,114,235,142,255,146, 37, 31,186,175, 92,249,217,241, 51, 23,114,204,165,249,252,143,173, 89,223,160,151, +156,191, 58,244,133,208,181,170,106, 55, 18,210,109,193,179,105,143,128, 22, 65,168,172,172,132, 68, 34,145,142, 31, 63,222,188, +104,209, 34,141,157,157,157,236,113, 91, 86,242,249,252,193, 77, 6,223, 79, 6,219, 46,152, 21,218, 25, 44, 22,206, 86, 11, 93, +133,232, 78,122, 38,122,247,139, 44,238,218,169,227,170,207,214,172, 93, 28, 24,220,202,109,252,164,119,132, 95,124,190,248, 59, +128,235, 93,111, 76, 54, 46,240, 14, 29,177, 1,240,234,138,165,209,200,204, 76,115,154, 62, 90,189,156, 17,216,120,181,110,215, +199,238,187,109,231,134, 4,183,108,245,210,244,153,239,253,188,105,227,250, 87,159,236,201,218,187,123,211, 81,192, 60, 0,214, + 93,155,243, 34,104, 63,241,196, 9,104,114,115, 77,170,203,151,117, 3,190,254,186,180,211,164, 73,107,141, 38,147, 43,143,199, +251,221,165, 16, 60, 30, 15,176, 88,120,204,154, 53,124,206,203, 11, 38, 71,199, 41, 72, 77,109,217, 84,230,103, 38,211,232, 81, + 29, 59,190,186,101,215, 46,248,251,251,215,101, 58, 56, 56, 96,246,236,217,152, 57,115,166, 36, 49, 49,177,219,201,147, 39,187, +237,252,230, 27, 15,148,148,140,126, 58,208, 8,180, 27,127,236, 24,170,179,179,141,170, 27, 55,116,253,215,175, 47,187,248,219, +111,206, 31,126,243,205,146,118,225,225,222,223, 70, 71, 75,252,252, 30,221, 31,146,155,155, 27,188,126,221, 58,191,126,131, 6, +245, 92,248,193, 7,219,110,207,155,215, 6,143,166,100,107,112, 61,139, 46, 93, 50,156, 82,169,254,118,224,224, 65,199, 86,173, + 90,129,227, 56,164,167,167,187,111,221,186,245,157, 62, 51,103, 78,252, 96,220,184, 37,131,178,178,202,205,101,101,226, 97, 95, +125, 37,220, 59,118,108,219,166, 50,107,247, 39, 0,188, 54,127,254,251, 93, 95,126,185, 77,228,248,241,206, 94, 94, 94, 60, 27, + 27, 27, 24,141, 70, 20, 21, 21, 57,165,164,164, 4,157,175,168,168, 60,123,251,246,143,208,104, 6, 81,147,252,131, 5, 22, 0, +152,205,230,102, 21, 88, 86, 22, 89,117, 61, 94,165,165,165, 72, 74, 74,130,191,191, 63, 76, 38, 19,206,156, 57, 3,181, 90, 13, +145, 72, 4,145, 72, 4,131,193,208,100,150, 92, 46, 31, 24, 17, 17,193, 92,189,122, 21, 1, 1, 1,176,177,177,169, 43,172,106, +139, 44,161, 80, 8,133, 66,129,138,138, 10,244,234,213, 75,184,117,235,214,129,104, 96, 30, 64, 0,176,181,181, 29, 58, 98,196, +136,186, 46,182,154,154, 26, 8, 4,143,238,180, 54, 24, 12,168,170,170, 66, 89, 89, 25, 42, 42, 42,160,211,233,208,161, 67, 7, +241,133, 11, 23,134, 54, 86, 96, 61, 73,163,209, 84, 43,149, 74,199,222,189,123, 59,109,223,190, 61,165, 71,143, 30,191,187,104, +248,226,197,139, 58,189, 94,207,136,197, 98,171, 46,118,223,181,107, 87,221,190, 47, 40, 40,192,247,223,127, 15,139,197, 2, 30, +143,135,180,180, 52,108,216,176,161,238, 90,185,198,158,163,214,173, 91, 71,254,248,227,143,157,119,238,220, 89,206, 48, 12, 82, + 82, 82,176,123,247,110,112, 28, 7, 87, 87, 87,104, 52, 26, 40,149, 74,172, 93,187, 22, 70,163, 17,182,182,182,240,246,246,150, +206,158, 61,187,215,242,229,203,133,141, 21, 88,102,179,217, 44, 16, 8,224,231,231,135,165, 75,151, 66,167,211, 65, 36,122, 84, + 87, 86, 86, 86, 66,173, 86, 35, 62, 62, 30,217,217,217,176, 88, 44,141,190,177, 72,165,210, 49, 59,118,236,112, 23,139,197,208, +233,116, 72, 75, 75, 67, 70, 70, 6, 82, 82, 82,244, 42,149,138,181,181,181,229,121,122,122, 10, 42, 42, 42,196,147, 38, 77,226, + 85, 85, 85,129,227, 56, 68, 69, 69,185,108,217,178,229,117,131,193,176,174,137, 93,234,166, 80, 40,254, 49,125,250,116,105,237, +126,179, 88, 44, 40, 41, 41,193,216,177, 99,101, 49, 49, 49,139, 12, 6,195,110, 0, 37,207,203, 11,193,147,119, 11, 86,157,249, +210,229,236,217,111, 95, 74,189,199,244, 16,160,172, 91,120,159,247, 24, 0,184,127,115, 91,207,244,228, 27,102, 91, 11, 47,243, +231,221,107,174,217,133,188, 83, 6,224,104, 99,189,128, 67,123, 57, 14,145,201, 69, 81,163, 70, 12,228,111,217,250, 67,215,233, + 83, 7, 75,220, 59,252,192, 3, 0, 39,137, 15, 94, 54,125,192,215, 25,106,164, 91,182,254,208,117,212,136,161,215,179,115, 30, +172,117, 81, 56, 30, 57,249,171,250,116, 99,189,132,158,174,140,183,147, 77, 41,156,124, 7,194, 63,212, 9,241,241,241, 56,122, +248, 42,130, 91,117,129,193, 96,128,201,100,146, 15, 27, 54, 76,115,240,224, 65, 93, 89, 89, 89,149,209,104,236, 83, 88, 88,152, +218,100,125,133, 82, 75, 7,190,197, 40, 54, 11, 89,109,141,184,102,206,146,195,175,119,125, 57,178,147,179,159,183,208, 69,202, + 30,239,219, 39, 98,215,158,157,223,207,251, 96,225, 74,116, 8,239,241,242, 28,209,111,109,191,218,101,186, 83, 95, 86,114, 14, + 78,240,143, 28, 97, 51, 83,211, 95,125,144,151,147,223,210, 87, 97,200,200,229, 76,239, 45,250,110, 80,239,129, 99,218, 7,181, +234, 46,190,123,255, 42,111,222,220,121,123,190,252,114,245,248,218, 34,235, 82,236,153, 62,209, 83,114,196,209,219,161,167,183, + 40, 64, 36,145,248,216,250,251, 51,217,219,183,107, 3,135, 15, 47, 7, 0, 19,203,186,198, 93,191,238, 32,147,201,192,113, 28, + 76, 38,211,239,174, 17,174,189, 46,120, 96,223,190, 30,214,100,230,125,251,109,251, 89,179,102,161,168,168, 8, 44,203,214,245, +126, 63,241,154,141,202,202, 74,140, 30, 61, 26,219, 54,110,172,247,188,184, 80, 34,241,181,245,245,101,178,183,111,215, 6,189, +250,170, 10,102, 51,111,225, 55,223, 44,253, 96,193,130,128,177,175,191,254,187,207,141,161,161,161,248,118,227, 70,241,238,221, +187,189, 63,219,184,113,106,164, 68,146, 9,189,190,209,245,172,106,219, 22, 78, 73, 73, 54,173, 90,181,170, 43, 40, 67, 66, 66, +240,249,231,159, 75, 38, 76,152, 32,158, 60,113,226, 23,119, 91,181, 90, 31,157,157,157,238,210,178,165, 61, 35,145,248, 52,149, + 89,187, 63, 1,160,218, 96, 8,139, 94,185,210,233,250,245,235, 40, 40, 40, 0,199,113,117,127,167,125,251,246,188,215, 95,127, +221,161,123,231,206, 93,169, 69,254, 73, 61, 88,245, 21, 88, 13, 21, 90,214, 22, 87, 79,255, 13, 79, 79, 79, 24,141, 70,252,240, +195, 15,117,133, 85,221, 39, 2,163,177,201, 12,157, 78,215, 78,161, 80,160,178,178, 18, 45, 91,182,172,203,168, 93,175,218, 47, +169, 84, 10,157, 78, 7,111,111,111,232,116,186,118, 77, 20, 64, 29, 29, 28, 28,106,123,179,160,127,220, 72, 13, 6, 3,212,106, + 53,212,106, 53, 12, 6, 3,202,203,203, 81, 93, 93, 13,181, 90,141,170,170,170,112,107,182,217, 98,177, 32, 41, 41, 41,163, 85, +171, 86, 29, 5, 2, 1,108,109,109,229, 53, 53, 53,168,189,153, 64,165, 82, 97,199,142, 29, 53,147, 38, 77,114,141,139,139,211, + 90,179, 15,231,204,153, 3,137, 68, 2,141, 70,131,141, 27, 55, 98,206,156, 57, 16,137, 68,168,170,170,194,198,141, 27, 49,111, +222, 60, 48, 12, 3,189, 94,143,125,251,246, 53,252, 38,123,239, 94,118, 92, 92, 92,120,167, 78,157,156,142, 28, 57, 82, 50,112, +224, 64,183,193,131, 7,215,237, 59,150,101,209,173, 91, 55,180,110,221, 26, 74,165, 18,167, 78,157, 42, 13, 9, 9,113,189,126, +253,186,165,168,168,232, 65, 19,219, 93, 87, 52, 9, 4, 2,152,205,102, 20, 23, 23, 67,173, 86,163,164,164, 4, 5, 5, 5,200, +207,207, 7,195, 52, 61,114,136,139,139,203,107, 97, 97, 97,130,199,197, 22, 90,180,104,129, 15, 62,248,128,213,106,181, 99, 1, +156,122,188, 88,228,158, 61,123,142, 4, 7, 7, 51, 94, 94, 94, 72, 75, 75,131,155,155, 27, 99, 99, 99,243, 70, 83, 5,150, 66, +161,216,118,252,248,113,231,218, 59,104,107,105,181, 90,176, 44,139,113,227,198, 57,111,217,178,101,155,209,104, 28,250, 60,190, + 40,216, 58, 58, 50,175,244,118, 40,136,139, 75,106, 27,222,231, 61,198,185,229,178, 71, 5, 56,192,196, 95, 90, 31,222,187, 91, +216,238,218,235,178, 26, 51,106,128,219,154,225,145, 29,248, 19, 70,119,206,100,228,173,130,118,237, 88,239,225,236,212,251, 95, + 47, 20,140, 51,228, 82,160,181,191,153,127,237, 68,166,199,188,121,173, 12,187,191,251, 91,230,174,195, 55, 7,138,196, 9,253, +127, 58, 95, 50,175,161,236,187,153,166, 99, 21, 58,231, 80,135,138,195, 60,184,188,141,240,240,112,184,185,121,225,219, 77, 63, +194,251,165, 78, 48, 24, 12,176,183,183,151, 61,122, 25, 49,238,178,166,184, 2,128,232,232, 88, 75, 68, 68, 31, 35,227,230,202, +206,158,253,229,232,193,145,163, 67,251,244, 29,192,157, 59,119,218,248,114,168,177, 96, 64,159,238, 69, 23, 99, 99,211,138,138, + 30,134,180, 14,109,143,148,187, 55, 7,115, 28,146,120,188,250,123,155,238,102,225,180,142,119, 47,102,223,130,233, 22,173, 33, +222,102,213, 55,119, 34, 95, 29, 57, 57, 44,162, 87,111,203,185, 95,206, 26,196, 80, 39,219,246,122,249,225,228,137,111, 28,217, +183,255,208, 43, 49,191,156, 8,174, 80, 23,159, 88,243, 35, 21, 87,117, 31,206, 88,214,131,145, 72,248,197, 49, 49,108,135,105, +211,234,246,139, 76, 38,195,209,163, 71, 33, 22,139, 33, 18,137, 32, 22,139,235,190, 68, 34, 17, 20, 10, 5,120, 28,199,111, 78, +102, 97, 97, 33,138,138,138,224,224,224, 0, 55, 55, 55, 20, 21, 21,225,202,149, 43, 72, 75, 75, 3,195, 48,136,140,140, 4,191, +129,247,205,167, 50, 13,127, 91,177, 98, 72,219,246,237,189,158, 46,174,106,223,219, 84, 42, 21,250,244,233,195, 59,119,238,156, +219,165,204,204,145,208,235,127,108, 44,179,221,136, 17,101,202,243,231,235,253,219,109,218,180,225, 29, 57,122, 84, 50,126,220, +184,185,159,111,218,180,110,201, 23, 95, 20,129,101, 21,205,217,118, 30,143,199,231,241,120,240,245,245,133, 74,165, 66,117,117, +117,109,135, 3,156,156,156, 96, 50,153, 96,177, 88,132,212, 34,173,199,111,170, 24,120,186,144,106,232,139,207,231, 63, 83,145, +213, 24,107, 10,172,218, 34, 67, 34,145,252,238,224,170,253,122,242,224,171, 45, 98,172, 32,168,172,172,196,225,195,135,161, 82, +169, 80, 85, 85,245,187,226,170,182,231, 42, 43, 43, 11,123,246,236,193,195,135, 15, 33, 16, 8,172, 26,180, 53, 43, 43,235,102, + 64, 64, 64,199,218, 30,177,126,253,250,249, 92,190,124,185,160,182,152, 91,188,120,113,105,247,238,221, 93,159,126,115,111,116, +101, 5, 2, 92,185,114, 5, 26,141, 6, 28,199, 65, 36, 18, 33, 37, 37, 5, 44,203,130,227, 56, 48, 12,131,146,146,146, 38,123, +176,146,146,146,222,154, 58,117,234,186,105,211,166,197, 44, 92,184,240, 92,255,254,253,243,120, 60, 30, 76, 38, 19,236,237,237, +161, 80, 40,144,154,154, 10,173, 86,139,247,223,127, 63,119,231,206,157,191,108,220,184, 49,102,243,230,205,235,242,243,243,167, + 54,231,185,101, 89, 22, 53, 53, 53, 40, 47, 47,135, 74,165, 66,101,101, 37,116, 58,221, 51,181,161, 1, 3, 6,224,196,137, 19, +130, 1, 3, 6,108,241,247,247, 47,242,247,247, 47, 26, 48, 96,192,150, 99,199,142, 9,188,189,189,145,151,151,135,248,248,120, +168, 84, 42, 88, 44, 22, 94, 19,189,171,253, 38, 78,156,216,203,207,207,143,103, 52, 26,161,215,235, 97, 48, 24, 96, 52, 26, 97, + 54,155,145,155,155,139, 54,109,218,240,253,252,252,122, 0,232, 71, 47, 33,205, 83,153,191, 31,156,242,107,112,170,189,176, 40, +191, 65,141,238,217,114,202,203,203, 63,126,247,147, 10,165,185, 34, 6,247,110, 29, 70,149,150,129, 79,112, 63,188, 51,109, 28, +126,187, 30,131,178,178, 50, 36, 39, 39, 35, 34, 34, 66,196,227,241,154,213, 54,247,238, 61, 97, 30, 63,238,255, 94, 31, 48,120, +116,231, 1, 3,135,154,207,157, 59,175,191,113,237,244,205,224, 0,123, 37,199,170,139, 29,236,101,183,210, 83,147, 17,210,170, + 13, 76,172, 37, 2,136,110,180, 77,101,102,194,240,115,145,167,249,245, 57, 73, 19, 7, 15,159,210, 97,192,192,193,166, 51,167, +143,155, 47,159, 61, 24, 63,184,223, 75,177,159,174,222,237,171, 50,181,108, 43,181, 87,156,236,209, 81,214,123,198, 40,191,233, +212, 82,234,233,117,146, 74, 45,120,252,186,201,227,241, 96,177, 88,126, 87, 84, 61,253,101,205,123,210,147,153,181, 56,142,131, + 90,173, 70, 90, 90, 26, 86,175, 94,141,219,183,111,195,108, 54,215,245,100, 53,248, 62,244,248,148,174, 72, 42,181, 0, 64,102, + 97, 97,159, 89,179,102, 73,234, 43,174,202,202,202, 80, 90, 90,138,135, 15, 31, 34, 50, 50, 82, 84,233,236,220,177,169,245,244, +118,119,215,203,164,210,226,212,212,212,127, 91,223,170,170, 42, 72, 36, 18,124,253,205, 55,162, 19, 73, 73,115, 46, 95,185,226, +216,156,253, 89,155,195,227,241,224,238,238,142,160,160, 32,132,135,135,163, 93,187,118,144, 74,165,184,123,247, 46,190,255,254, +123, 8,120, 60,150, 90,226,159,208,131,213, 80,129, 85,223,255, 25,134, 65,115, 10, 2,107, 89,115,138, 80, 42,149,222, 41, 46, + 46,238,233,227,227, 3,147,201, 84,215,123, 85,123,154,176,246,123, 0,144, 72, 36, 72, 78, 78,134, 84, 42,189,211, 88,166, 76, + 38,187, 35, 16, 8,122,116,233,210, 5, 71,142, 28, 65, 76, 76, 12,178,178,178,160,213,106,161,211,233,160,213,106,113,247,238, + 93, 88, 44, 22,132,133,133,193,193,193, 1, 50,153,236, 78, 83,235, 90, 83, 83, 83,200, 48, 76, 43, 27, 27,155,127,157,234,240, +244, 68,105,105,169,197,100, 50, 97,199,142, 29,149, 10,133, 66,110, 99, 99, 99,245,254,228,241,120, 80, 42,149,240,245,245, 69, +101,229,163, 97,190,170,170,170,224,238,238, 14,163,209, 8,139,197, 2,189, 94, 15, 91, 91,219,186, 46,223,198, 58, 4,211,211, +211, 63,120,226,251, 46, 99,199,142,221,179,111,223,190, 22,191,252,242, 11,174, 95,191, 14, 87, 87, 87,124,242,201, 39, 89, 57, + 57, 57,227, 1,252,166, 84,254, 63,246,174, 59, 60,138,234,237,158,153,237,233,189, 46, 9, 36, 33, 36, 33, 9, 37, 36,160,244, + 42, 16, 64, 1, 41, 42, 8,136, 8, 40,162,136, 82, 68,169, 34, 72, 19,108, 72, 7,233, 82,165,151, 64, 2,129, 72, 47,105,132, +244,178,233,125,179,125,103,230,126,127,144,240, 11, 24,146, 77, 64, 63,203,156,231,217, 39,187,147,153, 51,183,205,189,103,222, +247,222,247,254,245,243, 29, 75, 74, 74, 14,198,198,198,190, 28, 22, 22,246,184,119,232,217,179, 39,213,179,103, 79,199,218, 38, +253,146,146, 18,220,189,123, 23, 81, 81, 81, 48, 26,141, 72, 72, 72, 96, 53, 26,205,222,250,250, 28,185, 92,190,253,203, 47,191, +180,100, 24, 6, 2,129, 0, 34,145, 8, 12,195, 64, 42,149, 62,182,212,102,101,101, 97,216,176, 97, 54,235,214,173,219,166,211, +233, 90, 2, 48,252,155, 58,133,170,242,114, 38,226,119,165,179,157,133,215,221,196,155,219,186, 4, 84,247, 19,137, 55,183, 50, + 50, 11,143,107,215,238,106,172, 58,201,202, 27,236,104,143, 68, 20,125,106,208,223, 24,112,250,252,253, 97, 51, 63,158, 36,105, +222,194,167,224,202,173,251,205, 59, 27,103,210, 22, 50, 64,165, 5, 74, 43,128,196, 76, 1,215,188,133, 79,193,141, 91, 15, 36, +171,215,110,246, 81,171,244, 53, 46,194,103, 66,161, 80,104, 47, 19, 50,116,230, 26,243,168, 55,198, 8, 36, 18,153, 61,148,165, +201,104,222, 92,142, 81, 67,187,224,135, 77,103, 97, 99,107, 7, 23, 23, 23, 80, 20,101,209,136,236, 83, 49, 17,183, 39,190,253, +206,228,151,250,189, 18,206,158, 57,123, 18, 17,103, 14, 93,219,190,118,238, 33,131, 80,105, 65,179, 85,102, 30,205, 92,239,165, +167, 37,189,213,189,231, 43,144,153,153,183, 4, 2,234, 28,197, 91,183,192,219,160,225, 9, 14, 89,135,118, 46,148,189,253,206, +123,157,251, 15,124,149, 57,115,234, 8,206, 28,251,229,247, 5, 31,182, 56,153,118,119,183, 56,230,122,142,108,232,136,169,101, +199, 35, 18,244,175, 47,246, 74,114,111,213, 94, 3,164,241,163, 83,205, 11,164, 80, 88,192,232,116, 30,205,250,247, 23,168, 51, + 51, 69,150, 46, 46, 76,205, 75, 90,237,151,234,167, 45, 88, 52, 77, 3, 52,205,153,194,105,106, 90, 52, 26, 13,184,103,196, 62, +164,106, 56, 7, 14, 20,168,115,114, 68,133, 37, 37, 45, 90,180,104,241,196, 57, 70,163, 17, 37, 37, 37,143, 63,229,229,229,144, +201,100, 40, 53, 26, 93, 76, 73,103,247,182,109,119,172, 89,189,250,211,141,155, 54, 61,118,245, 40,149, 74, 84, 86, 86,162,162, +162, 2, 52, 77, 99,214,236,217,210,217,139, 23,127, 48, 88, 40,156, 1,134, 49,185, 60,107, 94,214,105,154,134, 80, 40, 68,102, +102,230,227, 79, 86, 86, 22,100, 50, 25, 8, 69,113,124,139,124, 1, 2,171,102,146,123, 67,226,170,230,187, 64, 32, 48,205,220, + 91,253, 38,240,162, 44, 88, 42,149,234,124,116,116,116,167,254,253,251, 11, 99, 98, 98,224,230,230,246, 7, 55,161, 80, 40, 4, + 69, 81, 48, 55, 55,199,169, 83,167, 12, 42,149,234,124, 3, 15, 81, 68, 68, 68, 68,232, 39,159,124, 34, 26, 63,126, 60,226,226, +226, 48,101,202, 20,148,149,149,161,178,178, 18, 37, 37, 37,208,104, 52,232,212,169, 19,100, 50, 25,146,147,147,141, 26,141,166, +161, 80, 5,164,176,176,176,202,201,201,201,237,233,127,140, 24, 49,194,229,167,159,126, 82, 39, 38, 38, 26,187,116,233, 98, 13, +160, 81,130,117,207,158, 61,143,235,236,193,131, 7, 88,191,126,253,227,121, 8,183,110,221,194,170, 85,171,192,178,172, 41, 2, +235,105,220, 40, 46, 46,102, 12, 6, 3,124,125,125, 33,151,203,161,209,104,176,110,221, 58, 6,192,141, 63,163, 65,154, 98,193, +210,106,181, 7,198,141, 27, 55,251,206,157, 59,110, 98,177,184,198,116, 13,142,227, 96, 48, 24,144,145,145,129,132,132, 4, 36, + 39, 39,163,184,184, 24,132, 16,232,245,122,220,186,117,171,220,104, 52,238,127, 22,175,147,147,211, 23, 91,182,108,113, 53, 51, + 51,251, 67, 96,221,154, 78,167,198,245,234,236,236,140,158, 61,123, 58, 95,184,112,225, 11,131,193, 48,255,159,222, 17,212, 68, +104, 39, 28,146,195,223,154,201, 77,157, 50, 81,220,170,181, 33, 41, 57,225, 58,123,251,210,186, 16, 0,144, 89,120, 92,107,229, +223, 33,254,114,172, 37, 55,232,237, 89,237, 3,188, 33,160, 8,252, 41,130,226,167, 35,190,215,188,163,157,140, 46, 63,217,209, +199, 46,250,200,111,231,127,156, 51,115,210,245, 47,191,156,227,172,213,171,100, 1,205, 89, 26,120, 36,174, 98,226, 44,180, 75, +150, 76,186,190,124,245, 14, 46, 43,197, 48,227,122,106,249, 51, 87,248,214, 22, 45, 52,157, 43,115,245,153,145,235,213,170,119, +139,123,191,111,160, 28,173, 5,176,106, 61, 24, 3, 7,188,130,115, 17,209,200,204,211,160,250, 5,160,222,176, 7,173,155, 99, +108, 13, 39, 69, 67, 54,118,194,123,221, 7, 14,124,149,156, 60,241, 27,115,228,215, 95,162,247,236, 93,181,159, 22,139,133, 6, +206, 90, 79, 9,180,229,172,192, 54, 78, 85, 81, 10, 0, 16, 9,197,214,245,248, 7, 60,227,227, 18,253, 3, 3, 3, 92,199, 78, +152,108, 19, 62,240, 53,114,242,228, 17,110,255,174, 29, 23,247,127,215,102, 23,103,172, 20,231,101,168,165, 21, 74, 99, 5, 17, + 72,108,171,148,156,186, 64,219, 82,235,254,251, 8, 3,112,128, 31,157,106,198, 1,157, 46,167, 42, 59,219,205,190, 71, 15,105, +242,194,133,230, 46,157, 58,105, 41,138,106, 80, 96, 9, 4, 2,144,103,204,227,123,154,179, 49, 2,139, 80, 84,157,139,143, 88, +157, 46,187, 42, 51,211,205,177, 71, 15, 89,202,252,249,230,117, 89,237, 75, 74, 74, 80, 90, 90,250,132,192,170,238,107, 76, 74, +231,202,143, 63,254, 61,108,252,248,210,152,152, 24,151,151, 95,126,153,170,172,172,124, 44,174,106,190, 59, 57, 57, 81,158, 45, + 90, 88,157, 87, 40,124,234,154,131, 85, 87,121,154,146,119,154,166,159, 89,158, 60,158,195,130,101,170,192, 50, 97,112, 52, 26, +141, 70, 56, 59, 59,163,184,184, 24, 28,199, 61,179, 34,205,204,204,106,124,192,245,174,164, 83, 42,149,107,151, 44, 89, 50,173, + 87,175, 94,142, 1, 1, 1, 40, 42, 42,130,179,179, 51, 4, 2,193,227,116,213,240,197,198,198, 98,223,190,125,149, 74,165,114, +109, 3,249,254,246,231,159,127,254, 32, 60, 60,220,222,201,201, 9,118,118,118,184,119,239, 30,108,109,109,161, 84, 42,241,224, +193, 3, 88, 89, 89,129,162, 40,232,116, 58, 92,186,116, 73,201,113,220,183, 13, 60,152,228,202,149, 43, 6,115,115,243,123, 37, + 37, 37,130,226,226, 98, 65,117,120, 6, 81, 69, 69,133,232,244,233,211,142, 54, 54, 54,234, 11, 23, 46, 20,121,122,122, 10,210, +211,211, 5,122,189,190, 65,149, 69, 81, 20, 62,254,248, 99,136,197, 98,232,116, 58,172, 93,187, 22, 51,103,206,132, 80, 40,132, + 94,175,199,138, 21, 43, 48,111,222,188,199,130,249,216,177, 99,141,106, 32, 53, 19, 72, 13, 6, 3, 12, 6, 3,140, 70,227,159, +218, 32, 77,116, 17,230, 63,124,248,112,112, 88, 88,216,217, 35, 71,142, 56, 88, 91, 91, 35, 55, 55, 23, 69, 69, 69, 40, 40, 40, + 64, 97, 97, 33,148, 74, 37,116, 58, 29,108,109,109,145,153,153,137,179,103,207, 86, 86, 85, 85,189,130,122, 86, 16, 10, 4,130, +113,221,187,119, 23, 62,157, 6,154,166, 31,183, 39,145, 72, 4,137, 68, 2,133, 66,129,238,221,187, 75,162,162,162,198, 1,248, +199, 11,172,154, 8,237, 65, 65,173,157, 6,191, 58,198, 16,218,177,127, 85,212,141,115, 57,150, 28,149,218,173, 83,240,110, 0, +184,118, 87, 99,117, 57,214,146,107,215,161, 47, 53,104,176,166,253,246,173, 27, 37,241,113,241, 94,129,193,129,245, 70,244,119, +108,198,189,214,191,119,139, 60,107, 11, 74,184,100,201,242, 99, 91,182,110,234, 24,115,252,127, 97, 26,150, 44,121, 20,166,161, +127,239, 22, 76,252,131,164,215,144,138, 95, 76, 21, 45,131, 7,247,191,189,101,219, 62, 40,146,143,185,127,251,169,153, 4, 37, +133,128,121, 7,116, 15,117,192,205,205, 9,184,123,247,110, 62,199,113,245,187,114,105,120,198,198,198,251, 7, 5, 7,186,190, + 61,225, 61,155,240,240,215,112,242,228, 81,236,220,182, 49,234,101,219,144, 45,153, 55,138, 5,114,127, 59,177,185,173, 68, 44, + 20,203,132, 98,161,184,216, 96,124,100, 93, 23,138, 69,214,192,200,122, 7,157, 41,147,199,216,244,238,247, 26, 78, 84,115,126, +217,126,196,102, 47, 97,107,170,211,167, 43,167,122, 53,247,106,174, 82, 23, 84,210,180,196,160,213,113, 86, 43, 55,103,172, 73, + 77, 25,151, 10, 96, 53,248, 85,132, 53,184,183, 51, 60,188,227,244,148, 20,177, 83,215,174,102,185, 23, 47,154, 63,237, 34,172, + 75, 96, 9,133, 66,128,166, 25, 83, 56,169,115,231,104, 0, 16,139,197,207,124,177, 23,139,197, 80,171,213, 96, 40,170,206, 19, +196,192,189,157,131, 7,119,154,158,146, 34,178,239,213,203,220,233,206,157,172,244,244,116,191,144,144, 16,176, 44,251,132,229, +170,230,163,213,106,161,215,235, 33,147, 74, 99, 77, 73,103, 66, 66, 69,103, 0, 0, 32, 0, 73, 68, 65, 84,193,165, 75,218,121, + 19, 38,204,255,224,253,247,191,219,183,127,191,204,218,218, 26,149,149,149, 80, 42,149,143, 63, 58,157, 14,161, 97, 97,162, 95, + 30, 60, 24,139,178,178, 5,166,148,167, 75,175, 94,234,134,250,228,106,193,202,187, 8, 27, 1,186, 33, 11,214,115,134,105, 8, +126,138,115,222,192,129, 3,181,105,105,105,240,240,240,120, 44, 82,106,223,211,218,218, 26,182,182,182,136,143,143,199,150, 45, + 91, 52, 20, 69,205,171,143,179,172,172, 76,169,213,106, 71,191,241,198, 27, 26,145, 72, 4,127,127,255,199,110, 29, 66,200,227, +185, 87,177,177,177, 24, 55,110,156, 90,171,213,142,174, 35, 6,214, 19,156,153,153,153, 21, 42,149,234,173, 49, 99,198,168, 19, + 19, 19,209,173, 91, 55,220,185,115, 7, 42,149, 10, 85, 85, 85, 72, 79, 79, 71, 96, 96, 32, 12, 6, 3, 14, 28, 56,160, 86,169, + 84,111,101,102,102, 86,212,199,169, 84, 42,135,124,243,205, 55,130,147, 39, 79,122,185,187,187, 7,133,133,133, 5,244,238,221, +187,229,176, 97,195,154,135,135,135,187,181,106,213, 74,219,191,127,127,167,129, 3, 7, 58, 9, 4, 2, 81, 74, 74, 74, 30, 33, +100, 96,125,156,181, 5, 64, 82, 82, 18, 12, 6,195, 31,230, 92,213,172, 38,100, 89,214,164, 58,170, 75,100,215, 8,171, 26,161, +101,130, 37, 44,184,142, 52, 54,120,145, 68, 34,169,177,112, 18, 19, 56,239, 36, 36, 36,244,235,220,185,243,237,113,227,198, 41, +179,178,178, 32, 22,139, 33,151,203,209,188,121,115, 88, 88, 88,160,180,180, 20, 7, 14, 28, 80,159, 58,117, 42,182,178,178,178, + 39,254, 24, 3, 43,248,169, 52,166,215,213,185, 10, 4,130, 63, 8,172,154,157, 2,104,154, 78,111, 76,121, 54, 17,127, 25,231, +228, 73, 99,237, 7, 13,121,205,234,232,209,163,178,245,235, 55,199,119,235,246,222, 14, 75,183, 15, 78, 91,186,125,112,186,211, +203,239,238,254,254,231,109, 15, 15,255,246,155,217,160, 65,195,108,166,190, 55,214, 29, 20, 37,108,136,211, 92, 42,237,212,253, +165, 86,229,151,174, 92, 98,150,175,222,193,118,233, 22,126,237,187,239,127,222,255,221,247, 63,239,239,210, 45,252,218,242,213, + 59,216, 75, 87, 46, 49,221, 95,106, 85,110, 46,149,118, 50, 37,157, 83, 38,143,177, 25, 20,254, 26,142, 31, 63,204,236,217,177, +118,197,209, 72,125,143, 17,179,181, 5,153, 15, 35, 8,242,151,194, 89, 18,141,172,172,172, 10,134, 97,122,213, 49,193,189, 78, +206,169,239,141,169, 45,174, 46,197,167, 99,211,198,219,183,217,159, 38, 44, 52,238, 62,115, 88,115, 60,234,118,101,212,205,172, +178,162,135, 21,169, 42,101,165,158,227, 56, 16,142, 21, 44, 90, 4,170,190, 58,234,210,165, 39, 46,156,219,141, 29, 91, 55, 84, +112, 28,180, 35, 15, 28, 96, 71,254,180,144, 52,111,222,162,249,174, 93,187,169,193, 67,134,218, 16, 2,110,200,208,215,108,247, +236,218, 67,121,123,123,183,240,241,129,248,159,222,150, 94, 20,231, 66,160,172, 50, 51, 51,234,198,186,117,122,151,209,163,237, + 37, 46, 46,214,224, 56,170,161, 57, 88,117, 88,176,158,201,233, 98,111,175, 56,115,230, 12,252,253,253, 33,151,203,159,240,200, +136, 68, 34,120,122,122,194,201,201, 9,103,207,158, 5, 1,110,214,197, 57, 23, 40, 47, 79, 77,141,188,182,114,165,206,101,196, + 8,187,246,222,222, 55,191, 91,183, 78,207,178,236, 99,171, 85,237,191,101,101,101, 96, 89, 22, 23, 47, 92,208, 87,105, 52, 91, +234, 75,231,173, 31,126,208,213,228,189,147, 86,171, 26, 26, 26,186,108,236,216,177,134,244,244,116,176, 44,139,218,150,172,194, +194, 66, 88, 89, 89, 65,163,213, 54,115,118,118, 54, 55,133,179,240,228, 73, 75, 52,208,175, 11, 4,130,167, 93,132,127, 70,189, +255,119, 44, 88, 12,195,192,195,195,227,137, 56, 35, 53, 19, 7,107, 44, 67, 38, 90,174, 0, 0,185,185,185,191, 48, 12,115,102, +236,216,177,243,219,183,111, 63,101,198,140, 25, 2,111,111,111, 84, 84, 84,192,206,206, 14, 78, 78, 78,200,200,200,192,193,131, + 7,217,242,242,242,159, 89,150, 93, 92, 88, 88, 88,100, 2,239, 69, 0,131, 95,121,229,149,125, 31,124,240,129, 77,143, 30, 61, + 68, 53, 3,224,253,251,247,113,242,228, 73,195,222,189,123, 43,181, 90,237,104, 83,162,184, 3, 64,126,126,254, 89, 0,175,143, + 31, 63,126,215,176, 97,195,172,180, 90,173, 40, 45, 45, 13,122,189, 30, 12,195,160,180,180,212, 16, 25, 25, 89,165, 86,171,199, + 84,159,219, 16,223,173,252,252,252, 64,131,193, 48,238,246,237,219, 75, 95,127,253,117,135,206,157, 59,139, 25,134, 65,116,116, +116, 81, 72, 72,136,115,101,101,165,225,202,149, 43, 37, 90,173,118, 94,110,110,174, 73, 91,229, 80, 20,133,202,202, 74, 56, 58, + 58, 66,171,213,130,227, 56,232,245,122, 88, 89, 89, 61,222,222,136, 16,242,232,225,104,188,139, 16, 12,195, 8,140, 70, 35,222, +120,227, 13,112, 28,135,181,107,215,130, 97, 24, 65, 99,121, 44, 45, 45,111,198,197,197, 13, 14, 10, 10,122,156, 30,154,166, 65, +211, 52,164, 82, 41, 28, 29, 29,225,224,224,128,243,231,207,131,166,233,155, 38,210,222, 45, 46, 46,238,112,230,204,153,206,119, +239,222,125, 27, 64, 59,131,193,208,140,101, 89,138,166,233, 60,150,101,239, 85, 85, 85,109,129,137, 91,229, 20, 22, 22, 46, 29, + 55,110, 92,200,158, 61,123, 44,133, 66,225,227,242,162,105, 26, 98,177, 24,142,142,142,144,201,100,104,217,178, 37, 52, 26, 13, +190,248,226,139, 74,181, 90,189,244,223,212, 33,116,235,210, 29, 23, 78,239, 54,223,177,125,167,146,101, 65, 87,135, 98,120,140, + 0,111, 8,182,111,221, 40,145, 9,181,118,221,186,116, 55,201,181,162, 55, 48, 37,163, 39,254,236, 81,189, 85,206,210,244,140, +204,111,119,255,252,110, 42, 0,172, 94,187,217, 39, 43,197, 48, 35,254, 65,210,107,235, 55, 71,118,210, 27, 24,147, 54,192,253, +159,104,217, 85, 1, 2,109,110,110,238, 53,138,146,123,117,123,199, 48,207,191, 5,245,106, 65, 9,167,160, 40,234,195,220,220, +220, 84, 83,243,222,185,115, 15, 68,158,219,131, 29,219,118, 85, 80, 28,180, 53,207,223, 1,128, 28, 88, 24, 69,128,168,154, 83, + 85, 83, 95,199,162,121,179,166,204,172, 84, 86,172, 89,255, 83,253,110,147,182,237, 94, 66,219,118, 47, 97,218,135,159,219, 4, + 6, 5,120, 2,192,129, 3, 96,131,188,226,143,205, 95,188,240,213,197,243, 23,162, 82,173, 67,205,182, 58, 15, 18,227, 79,164, +166, 65,207, 15, 79,255,195,124,134,185,134,207, 62,107,165,173,168,112,234, 58,123,182,163,112,229, 74,186,230, 5,250,105, 11, +214, 99,235, 85, 35, 56, 79, 71, 68,156,248,236,211, 79, 21,171, 86,174,236,191,252,155,111,204, 90,183,110,141,252,252,124, 4, + 4, 4, 64, 46,151, 35, 58, 58, 26,103, 79,157, 82, 85,105, 52,243, 92, 93, 93,215,231,229,229,213,201,185, 16,184, 38,156, 55, +175,165, 94,165,114, 89,181,117,235,195,222,125,251, 22,108,217,178,165,217,128, 1, 3,104,181, 90,141,138,138, 10, 84, 84, 84, + 64,167,211, 65, 44, 22, 35, 87,161,224,114, 20,138,123, 89, 89, 89, 91,234, 77,231, 39,159,180, 82,151,150, 58,117,157, 61,219, +209, 88, 82, 34,155,153,145,145, 67,111,223,254,205,148,201,147, 63,157,241,201, 39,210,102,205,154, 81, 58,157,238,177,208, 50, + 26,141, 48, 51, 51, 51, 50, 12,227, 0, 64,109, 10,167,236,196, 9,166,164,164, 4,246,246,246,143,195, 46,209, 52, 13,153, 76, + 6, 59, 59, 59, 84, 85, 85,129, 16,194, 7,192,109,140, 71,230, 89,255,240,247,247,191, 41, 20, 10,155,213, 54, 17,214,181,183, + 93,237,239, 12,195,228,196,197,197,133, 62,165,112,235, 52,125,202,229,114, 31,142,227,190,238,220,185,243,235,147, 38, 77,162, +162,162,162, 16, 17, 17, 65, 20, 10,197, 1,154,166,231, 41, 20,138,212,122,222,108,234,228,180,179,179,179,178,178,178,250,216, +194,194,162,111, 77, 40, 6,153, 76,118, 95,165, 82,157, 87, 42,149,107,235,137,222,254, 76, 78, 47, 47, 47,107,142,227, 62,178, +176,176,232, 87, 92, 92,220, 30, 0, 28, 29, 29,239,168, 84,170,115, 52, 77,175,171,103, 3,233,103,114,186,185,185,153, 89, 90, + 90, 46,181,183,183,127,107,210,164, 73, 14, 81, 81, 81,121,119,238,220, 17, 87, 86, 86,238,102, 24,166,190,205,158,255,192,217, +186,117,235, 39,246, 34,124,145,117, 4, 0,109,219,182, 61, 62,100,200,144, 65,111,189,245, 22,140, 70, 35,126,254,249,103,156, + 61,123,246, 68, 74, 74,202,224, 6,222, 62,159,224,116,113,113,113,148,203,229,145, 99,198,140,105, 62,116,232, 80,115, 27, 27, + 27, 8, 4, 2,168, 84, 42,164,166,166,226,254,253,251,228,236,217,179, 85,241,241,241, 57, 26,141,166,103, 65, 65, 65,177,169, +229,249,156,111,201, 79,112, 10,133,194, 30, 30, 30, 30,123, 23, 44, 88, 96,213,175, 95, 63, 51, 7, 7, 7, 8,133, 66, 48, 12, +131,130,130, 2,196,198,198,226,228,201,147,170, 95,127,253, 85, 85, 82, 82,242, 6,106,141,186,127,101, 58, 95, 52,103, 77, 36, +247, 39,218, 86, 96,235,248,196,116, 44,123,226,152, 23, 62,137,143,139,111, 83,219,114, 85, 43,146,187, 73,233, 12,239,106, 27, +254,250,208,176,190, 0,112,240,200,141,243, 13,108,246,252,116, 58,191,140,143, 75,124,106,179,233,128, 7, 9,105, 88,210,228, +188,123, 97,126,108,108,252, 19,156,193,193,129, 15, 18,210,159, 29,157,254,105, 67,111,157,207,102,205,124,177, 39,207,204, 74, +200,248,159, 11,180,117, 11, 12,126,237,245, 97,131, 62,159, 51, 23, 95, 47, 95,134,163, 7, 15,159, 72,200,120,188,157,207, 63, +178, 45,253,137,156,212, 87, 66,225, 75,230,110,110,221,247, 56, 58,206, 61,115,238,156,101,205,252,218,154, 57,146, 79, 47,184, + 10, 9, 9, 41,188,123,247,174,139, 41,156,131,191,255,222,160,181,178,146, 46,255,249,231, 30,106,189,190,199,204,153, 51,133, + 55,111,222,196,222,221,187, 25, 77,118,246,174,124,150,253,232, 25,222,143, 63,228,253, 43,145,168,147,204,193,161,103,171,185, +115,165,203,247,237, 27, 47,111,214,204,101,240,144, 33, 98,161, 80, 8,149, 74,133,220,220, 92, 92,137,142,214,102,102,101,197, +106,181,218, 97, 57, 57, 57,121,166,230,125,240,247,223, 27,108,125,124, 96,233,226,194, 93,190,114,197,118,246,130, 5, 83, 92, +220,220,108,186,118,235, 38, 50, 55, 55, 71, 89, 89, 25,178,178,178,112,249,242,229,194,212,212, 84,119, 0,172, 41,156,191,221, +191,223,246,194,181,107, 35, 62,251,236, 51, 73, 64, 64, 0,172,172,172, 80, 89, 89,137,132,132, 4, 92,185,114, 69,183,111,223, +190, 10,149, 74, 53, 37, 39, 39,231,183, 63,177,222,255, 27, 2,235,175,122,240, 92, 92, 92, 66,105,154,254,178,218, 29,181,164, +161, 61,253,254, 77,157,142,171,171,171,167,157,157,221, 70,141, 70, 67,116, 58,221,228,252,252,252,172,191, 97, 58,133,161,161, +161, 63, 21, 22, 22,118, 38,132,192,198,198,230,106, 92, 92,220,251,168,223, 23,255, 44, 78,129,171,171,107,103, 11, 11,139, 78, + 22, 22, 22, 61, 12, 6, 67,235,234,121,120, 9,106,181, 58,202,104, 52, 94,203,207,207,191, 90,221, 33,252,127,230, 93, 0,160, +159,187,187,251,187, 28,199,249,210, 52,109, 91,237, 42, 45, 39,132, 36,151,149,149,109, 6,112,238,111,144,206, 23,198, 25,232, +133, 97,132, 66,192, 19,157, 3,135,172,167, 39,175,215, 76,134,127,226, 60,130,196,248,116, 28,110, 68, 58,233,161,125,156, 86, + 1,143, 86, 26,162,254,137,179, 79,138, 33, 19, 68, 75,163, 5, 86,115,140,171,147, 51, 19, 59, 77,228,227,158,167,142, 2,155, +163, 7, 40,116,230, 40, 92, 75, 76,199,133,127, 99, 95,247, 34, 57,191, 6,236,127,245,243,187, 74, 11,133,174, 20, 69,209, 0, + 64,209, 52,199, 1, 44,104,154,169,237, 22,124,234,133,178, 94, 78, 3,208, 70, 44,149, 54, 99, 25,198,165, 68, 44,182,186, 98, + 97,209, 65, 7, 84,185,178,236,151, 17,165,165, 15, 26,155,206,133,128, 29,128, 64,161, 84,234,121,197,220,124, 72,169,157, 93, +135, 50,134,113, 1,192, 73,165,210,184, 42,181,122, 75,118,118,246,230, 58, 60, 21, 13,166, 83, 36,149,122,176, 12,227, 66, 1, +132, 22, 10, 11,207, 72,165, 30, 69, 78, 78,111,171, 53,154,230, 82,169,212, 8,160,210, 96, 48,140,201,206,206,142,104, 12,103, +150, 64, 16,120,207,202,170, 27,107,109,237, 96, 0, 44, 12, 28,103, 48, 24,141,217, 58,157,238,190, 64, 32, 88,163, 80, 40, 82, +254,228,122,231,209,200,135,132,231,228, 57,121, 78,158,147,231,228, 57,121,206, 63,153,211,217,217,217,220,213,213,213,179,250, + 37,241,159,152,247,127, 21,132,124, 17,240,224,193,131, 7, 15, 30,255,124, 20, 22, 22,170, 81,199,156, 43, 30,255, 63,168,111, +245, 75, 99, 76,127, 77, 81,178,177, 60, 39,207,201,115,242,156, 60, 39,207,201,115,254,231, 56, 27,226,230, 93,143,127,146,240, +226, 57,121, 78,158,147,231,228, 57,121, 78,158,243,191,199,249,175, 2,205, 23,193, 51,225, 82,253,121,209,231,242,248,119,183, +133,167, 33,175,254, 52,230,124, 55,190,200,121,240,224,193,227,159,141,255,143, 57, 88, 53, 3, 85,193, 11, 58,239, 69, 95, 11, + 0,203, 40, 10,179, 0,128, 16,172, 0, 48,247,121,206, 37,207,216,209,253,105, 4, 5, 5, 57, 82, 20,213,199,198,198,166,141, + 82,169,140, 37,132,156,187,127,255,126, 9,101,226,254, 79, 30, 30, 30, 94, 50,153,108, 60, 69, 81,173,171,239,155,160,213,106, +183,103,103,103,167,191,128,122,163, 0,188, 39,149, 74, 71,217,218,218,250,150,149,149, 37,235,245,250, 95, 1,108, 64, 19, 34, + 78,187,185,185,249, 1, 24,199,113,156,144,166,233, 61,121,121,121,119, 77,189,214, 57,232,181,253, 4,104, 5,128,230, 40,110, + 4, 77,232, 3, 0, 56, 10,120, 88, 24,119,116,212, 11,110,175,141,105, 11, 79,190,189,208,244,114, 66,184,207, 0,128,162,232, +149, 44,203,126, 94,223,249, 2,129, 96, 53,225,184,143, 64,129, 80, 20,189,146,227,184, 57,124, 23,197,131, 7, 15, 30,255, 1, +200,229,242,129,110,110,110,187,220,220,220,118,201,229,242,129, 38, 92, 18, 92,199, 96,197, 82, 20, 88,224,201,248, 58,141, 56, +175, 33,179,100,237,107, 87,153,152,181,218,156, 46, 20, 5,150, 84,131,162,192, 57, 59, 59,111,116,119,119, 95,251,244,199,217, +217,121, 35, 69,129,171,117, 46, 91, 75,220, 5,215, 22, 88, 13,125, 66, 66, 66, 28,222,121,231,157,117, 10,133, 98,131,193, 96, +216,152,149,149,181, 97,228,200,145,235,252,253,253, 93, 77,201,187,183,183,247,208,215,134,190, 30,121, 41,230,230,131,164,228, +204,220,248, 7,169, 25,103,206, 95,190,214,127, 96,248,121,111,111,239,161,141,168, 35, 10,192,100,161, 80,120,209,210,210, 50, + 71, 40, 20, 94, 4, 48, 85, 32, 16,252,182,108,217,178,140,184,184,184,130,232,232,232,242,200,200, 72,197,196,137, 19,147, 41, +138, 58,134, 63, 90, 66,131, 27,178,226,184,185,185, 45,206,206,206,190,153,151,151,119,171, 89,179,102, 63, 62,197, 81,151,213, +231, 49,167, 83,208,107,247, 10, 43, 12,164,176,194, 64,156,130, 94, 35,181,190,223,107,100,147,110,168, 45,253,161, 45, 88, 88, + 88,248, 63, 37,228, 93,158,193,249,135,107,237,237,237,221, 9, 33,116,203,150, 45, 59,202,229,242, 31,228,114,249, 15, 45, 91, +182,236, 72, 8,161,237,237,237,221,101, 82,105,131,109,233, 5,130,231,228, 57,121, 78,158,243,239,198,249,223,181, 96, 17, 66, +222, 78, 78, 78, 54,231, 56, 14,254,254,254, 99, 1,156,106,140, 85,137,162, 48,139,227, 30, 89,115,104,154,154,221,171, 87,239, + 16, 51, 51,179, 39, 34, 22,107, 52, 26,201,197,139, 23,250,112, 28,161,170,207,155, 69, 8,214,153,104,141,114,161, 40,204,210, +235,117,180, 72, 36,129, 64, 64,207, 12, 14,110, 19, 90, 92, 92, 28,193,178,236,207,117, 4,175,108,216,108, 67, 81,216,178,101, + 75,107, 23, 23,151, 63,236,161, 82, 80, 80, 32, 30, 50,100,112,163,248,222,110,211, 70,166, 77, 77,237, 70,139, 68,158, 6,163, +209, 17, 0, 68, 34, 81,137,204,210,210,227,139,121,243,204, 45, 44, 44,184,146,146, 18, 84, 86, 86, 82,211,166, 77,147, 77,155, + 54,173, 31,128, 29,245,113, 54,107,214,204, 59,184,109,251,233,219,183,109,235, 84, 81, 90,170,221,188,102,253,109,157, 80,170, +110,222,218, 79,252,229,130,175,108, 22,207,159, 59,217, 96, 48,196,230,228,228,164, 53,100,116, 1,112,248,227,143, 63, 14, 26, + 60,120,176, 68,169, 84,202,212,106,117,139, 93,187,118,125, 17, 22, 22,102, 25, 18, 18, 34,217,187,119, 47, 85, 94, 94, 14, 66, +136,121, 64, 64, 0, 25, 57,114,164,118,255,254,253,211, 0,124,215, 24, 11, 16,203,178,162,154, 72,233, 12,195, 72,170,219,162, +193, 20,139, 17, 5, 60, 12,234, 58, 18,160,224, 27, 23,253,171, 44,168,219, 72, 45, 8,146, 41,224, 97,245,139,192, 36,142,227, +188,158, 97, 85, 74, 87, 40, 20,155,154,242,176, 12, 26, 52, 24, 0, 54,222,186,117,235, 82, 81, 81, 81, 51,142, 99,199,152,106, +217,162, 40,138, 18, 10,133,227, 0, 44,215,104, 52, 19, 35, 34, 34,218, 3, 64,159, 62,125,196, 0,110, 18, 66, 58,227,207,143, + 75,199,131, 7, 15, 30, 60,254,166, 2, 75, 12, 0,151, 46, 93, 2, 33, 68,210,132,251, 81,181,133,203, 71, 31,125, 4, 55,183, + 39,167,155,228,229,229, 33, 50,242,226,243,228,233,137, 65,106,233,210,165, 54, 37, 37, 37,175,110,217,178,165, 63,128, 47, 10, + 10, 10, 34, 27,184,190,128, 16,172,160,105,106, 54, 69, 81,144, 72,164,233,147, 39, 79,190, 89,157,127,159, 99,199,142,153, 15, + 25, 50, 68, 77, 81, 84, 42, 0, 72, 36, 82,103,129,128,246, 34,132,212, 12,180,207, 20,130,175, 91, 90,250, 19, 66,134, 76, 89, +189,154,237, 16, 30, 46,180,118,118, 22,128,166, 81,148,149,229,176,241,199, 31, 59, 63, 56,123, 86,234, 26, 16,144,165,151, 72, +202,147,146,146,224,230,230, 6,177, 88,220,224, 91,130,185,185,249,196,143,103,124,234, 84, 81, 90,166, 49, 42,149, 6, 75,142, +101,172,101, 34,170,178,168,164, 60, 61,219, 90, 61,113,234,116,225,252, 57,159, 76, 4,240,121, 3, 84,211,102,204,152,209,186, + 99,199,142,242,125,251,246, 81, 21, 21, 21, 16, 10,133,150,237,219,183, 71,104,104, 40, 27, 17, 17, 65,121,123,123, 35, 56, 56, + 24,209,209,209,184,114,229, 10, 21, 18, 18, 98,126,248,240,225,177, 70,163,241,187,134, 68,181, 64, 64,207, 25, 49, 98,228, 64, +115,115,115,163, 70,163,193,164, 73,147,160, 82,169,208,186,117,235,182, 61,123,246,140,209,233,116,162,163, 71,143, 4,179, 44, +135,250,196,117,141, 27,176,218, 98,213, 6, 4,201, 69,113, 71,219,214,252,159,227, 56,175, 7, 15, 30, 4,150,151,151,131,227, +184,199,123, 50, 2, 64,247,238,221, 27,211,150, 10, 8,193,138, 33, 67, 6,207, 6, 40,244,238,221,187,100,250,244,233,108, 66, + 66, 66,207,225,195,135,189,244,240, 97,114,125, 47, 1, 5, 20, 69,175,164,105,106, 22, 69, 81,212,248,241, 19, 10, 44, 45, 45, +135,121,120,120, 60,160, 40, 74, 40, 22,139,107,158, 3, 65,235,214,173,157,130,131,131,167,218,217,217, 21, 10,104,218,153,128, + 16,138,162, 87, 18,194, 21,240, 93, 20, 15, 30, 60,120,252, 7, 4, 22, 69, 81,197,119,238,220,113,211,106,181,160, 40,202, 20, +107, 80,236, 83, 3,206, 79, 52, 77,189, 79, 81, 20,130,131,219,164,173, 93,187,182,174,253,182,244,193,193,109,210, 4, 2,218, +155, 16, 2,138,162,215, 63, 53,208,196, 54, 52, 32, 74, 36,210, 89, 0,224,230,230, 94,112,252,248,113,227,136, 17, 35,176,114, +229, 74,201,156, 57,115,190,162,105,122,116, 94, 94, 94, 78, 61,233, 4,128,185, 78, 78,206,246, 91,182,108,105, 61,121,242,228, +155,185,185,185, 31, 3,128,187,187,251, 90, 0,109, 40,138, 74,173,117, 12, 27, 54,108, 8,157, 56,113, 98, 66, 97, 97,225,220, +103,113,190,110,101,229,235,224,238, 62,116, 85,116, 52, 17, 50, 12, 85,113,243,102,121, 78,126,190, 65,207,178,244,169,180,180, + 78,163, 39, 76, 16,187,184,185,145,163, 27, 54, 52, 87,139, 68,132,149,201, 42,226,226,226,136,193, 96,184,223, 80,222, 41,138, + 10,176,179,181,179,216,188,122,253, 77, 39,169,128,114,244,112,167,196,214,182, 66,218,210, 74, 74, 4, 2, 77,115, 15,119, 43, +138,162, 2, 26,170, 35,177, 88, 60,182,127,255,254,230,123,247,238,165,130,131,131, 97,107,107,139, 75,151, 46,225,206,157, 59, + 40, 43, 43,163, 25,134, 65, 88, 88, 24, 86,172, 88, 1, 15, 15, 15, 84, 84, 84, 32, 35, 35,195, 81, 44, 22, 59, 25,141,198,103, +149,231, 19,130,119,214,172, 89,112,118,118, 6,203,178,200,203,203, 67, 85, 85, 21, 44, 44, 44, 96, 99, 99,131,220,220, 92, 28, + 61,122,196,148,182,100, 18, 94,126,249,101, 53,128,140,167, 45, 88,141,225,148,203,229,103, 11, 11,139,186,245,234,213, 11,229, +229,229,134, 5, 11, 22,160,125,251,246,104,213,202,175,193,116,178, 44,251,185,163,163,227, 86, 7, 7,135,213,211,167, 79,119, +117,112,112,128, 78,167,155, 87, 82, 82,130, 89,179,102, 1, 0, 66, 67, 67,219, 16, 66, 78, 76,156, 56, 17, 94, 94, 94,138,210, +210,210,172, 7, 15, 30, 76, 46, 44, 44,140,173,181,197,209,159,177,100,153,231,228, 57,121, 78,158,243,239,198,249,175, 20, 88, +164,214, 64, 72,240, 12, 87, 5, 33,164, 76, 46,151,187,153,153,153,129, 16, 82,214,216,155,113, 28, 55,205,193,193,161,112,238, +220,185, 93,253,252,252,244,211,166, 77,139,205,200,200,152, 87,251,156, 22, 45, 90, 44,253,225,135, 31,144,148,148,148,177,108, +217,178,232,146,146,146, 37,141,188,205, 28, 66,176, 22, 0,114,115,115,139,143, 29, 59,214, 49, 42, 42,106,206,218,181,107,221, +166, 77,155, 38,153, 62,125,250, 84, 19, 44, 57, 16, 10,133,154,186,220,130,117,193,197,197,197, 32, 20, 10,159,181,127, 32, 38, +119,232, 32, 37, 28, 55,244,155, 75,151, 56, 46, 39, 71,123,114,219, 54,172,188,114,101,138,141,163,163,167,147,147, 19,241,106, +214,172,200,140, 97, 10, 42,139,138,232,144,254,253, 69,103,118,236,104, 46,245,242,138, 63,112,224, 64, 21,199,113,103, 77, 72, + 66,149,222,104,212, 89,120,184, 27,135,188,214,191,205,253,235,119,146,204,236,237,233, 54, 97,237, 3, 19,147, 51,110, 81,128, + 30,104,120,243, 88, 27, 27, 27,191,226,226, 98, 84, 86, 86,194,201,201, 9,235,214,173,131,139,139, 11,212,106, 53,226,226,226, + 72,179,102,205,168,203,151, 47,195,221,221, 29, 69, 69, 69,208,235,245, 80,171,213,133,122,189,254, 89,121, 47,160,105,193,102, +154,166, 38, 81, 20, 5, 95,223, 86, 5,223,125,247,157,145, 16,130,128,128, 0, 12, 27, 54, 12,151, 46, 93, 66, 92, 92, 92,141, +149,201,232,229,229, 93, 64,211,148,243,163,230, 86,191, 69,176,129,182, 6, 0, 25,121,121,121,115,155,114,189, 92, 46,151,177, + 44, 59,197,215,215,119,240,155,111,190,105, 16,139,197, 80,171,213, 53,101, 97, 24, 48, 96, 64,201,144, 33,131, 29, 78,156, 56, + 81,111, 58,139,139,139, 83, 91,183,110, 61,233,211, 79, 63,221,185,126,253,122,219,207, 63,255,252,241, 38,220, 44,203,130,227, +184,199, 86,182,195,135, 15, 35, 61, 61,253,235,194,194, 66,190,227,226,193,131,199,127, 17, 38,105,145,127,162, 5,235, 47,201, +140, 64, 32,216,112,246,236,217,246,221,187,119, 23,246,233,211, 39,248,244,233,211,193, 10,133, 34,182,122, 80, 11,238,211,167, + 79,176,179,179, 51,214,173, 91,167, 22, 8, 4, 27,154,120,155,199,131, 93, 94, 94, 94, 12, 69, 81, 95, 30, 58,116,104,203,228, +201,147,225,226,226,210, 62, 55, 55,247, 47, 45,228,178,164,164, 46,227, 23, 47,230,100,128,224,196,206,157,228,171,232,232,111, +246,255,250,171,216,199,199, 7,132, 16,100,100,100, 88,255,188,101,139,253,232,126,253,226,242, 85, 42, 42, 37, 63,159,141, 63, +126,156, 46,161,233,239, 83, 83, 83,139,107,111,214, 92, 23, 12, 6,195,141,172,204, 76,191, 46,221,186,184, 93,186, 25,127,123, +248,208,193,189,104, 33, 77,167,103,230,221,112,114,176,183,184,114, 53,186,210, 96, 48,220,104, 40,157, 42,149, 42,157, 97, 24, +123, 66,136, 83,100,100, 36, 28, 29, 29, 81, 86, 86, 6,163,209, 8,131,193,160, 87,171,213,178,196,196, 68,232,116, 58,232,116, + 58, 88, 91, 91,227,254,253,251, 5, 12,195, 92,120, 22, 39,203,178,239, 1, 88, 76, 8, 65, 82, 82,146,162,218,245,217,202,214, +214,118, 55,195, 48,200,205,205, 69,100,100,228,152,188,188,188,164,218,250,166,250,175,162,201, 79, 41, 33, 77,174, 47, 39, 39, +167, 96,177, 88, 60,247,195, 15, 63,116, 9, 10, 10,130, 86,171, 5, 0, 88, 90, 90, 66,173, 86,195,218,218, 26,157, 59,119, 78, + 88,178,100,137,129, 16,140, 7,144, 95, 31, 95, 66, 66, 66,145,159,159,223,135,147, 39, 79, 94,228,231,231,231, 77, 8,129,175, +175, 47,250,247,239,143,147, 39, 79,226,225,195,135, 80,169, 84,236,245,235,215,247,102,103,103, 31,231,251, 88, 30, 60,120,240, + 34,235,223, 99,193, 66,117,134,200,159,125,195,194,194,194,162,196,196,196,211,183,110,221, 26, 60,106,212, 40, 68, 70, 70,142, + 7,240, 9, 0, 72,165,210,241,163, 70,141,194,173, 91,183,144,152,152,120,186,176,176,176,232, 69,220,147,162, 40,181, 94,255, +200,128, 35,147,201,204, 26, 57, 80,251, 84,187, 6, 65, 8,241,121,214,177, 6,172, 97,158, 47, 15, 27, 70, 87,221,185, 83,190, +248,204,153,143,247, 28, 58, 36,246,240,240,128, 82,169,132, 64, 32,128,181,181, 53,213, 63, 60,220,110,243,158, 61,174, 30, 86, + 86, 87,166, 78,152,240,224,235,115,231,212, 87, 42, 42, 76, 10,175,160,213,106,183, 44, 93,242,101,175,157,187,246, 7,248, 7, +248,218,157, 60,123,241,182,131,131,181,153,151,151,143,180,162,188, 92,247,195,218,149, 66,149, 74,181,181, 33, 30,141, 70,115, + 56, 34, 34, 98,168,135,135,135, 83,108,108, 44,244,122, 61, 88,150, 69,223,190,125, 65, 8,145, 2,224,132, 66, 33, 18, 18, 18, + 96, 48, 24, 10, 31, 62,124,168, 72, 73, 73,145, 2, 88,222, 0,245, 19, 66,137,166,233,209,131, 7, 15, 6,195, 48,232,223,191, + 63,142, 28, 57, 50, 10,192,162,103,157,255, 28, 22,172, 22,110,110,110,203,170,239,105,210,228,118, 87, 87,215,174, 45, 91,182, + 92,180,106,213, 10,202,197,197, 13, 44,203,192,104, 52,160,168,168, 4, 74,165, 18,129,129,129,240,244,244,196,242,229,203, 1, +224, 72, 67,226,170, 6, 73, 73, 73,201, 0,222,152, 48, 97,130,248,210,165, 75,161, 90,173,246,219,126,253,250,225,246,237,219, +184,123,247,238, 91,206,206,206,133, 30, 30, 30,140, 92, 46,159, 68, 81,148,181, 76, 38,219,243, 34,202,129, 7, 15, 30, 60,254, + 97,248, 75,180,200, 95, 45,176,234,205,152,179,179,179,121, 89, 73,225, 71, 94, 94, 94, 50, 0,144,138, 5,189, 29, 28, 28,190, + 46, 41, 41,169,106,236, 77,213,106,245,254, 93,187,118,189,178,102,205, 26,113,120,120,120,203, 67,135, 14,117, 4,128,240,240, +240,150, 86, 86, 86,216,181,107,151, 65,173, 86,239,127, 81,153,228, 56,174,127, 88, 88, 24, 74, 75, 75,145,145,145,113,179, 49, +215, 30, 59,118,204, 28, 64,155,134,142,213, 7,189,209,232,100,237,230, 38, 44,184,116,201,160, 97, 24, 79, 63, 63, 63, 40,149, + 74, 72, 36, 18,232,116, 58,164,167,167, 67, 44, 22, 83, 15,211,210, 28,231,124,242,201,101, 51, 63, 63,203,154, 21,134,166, 32, + 47, 47, 79, 3, 96,250, 87, 75,191,218,189,106,229, 74,231,210,146,178, 36,177,196, 76,107,110, 38,181,159,253,233, 18, 82, 80, + 80, 48,179,122,143,170,134,176,124,247,238,221, 3, 94,121,229,149,123, 30, 30, 30,206,197,197,197,174,149,149,149,164,180,180, +148,170,110, 27, 20, 0,220,187,119, 15,153,153,153, 12,203,178,151, 1, 44,134, 9,238,199,199,166, 41,185,220,174, 99,199,142, + 3, 28, 28, 28, 30,187, 34, 67, 66, 66, 6, 0,248, 94,161, 80,148,189,200,198,125,246,236, 89,115,142,227, 2, 1, 96,192,128, + 1,166,138,241,183, 71,143, 30, 77,153,153, 89,128, 97, 24, 72,165, 98, 72,165, 82, 88, 90, 90,195,222,222, 30,153,153,153,232, +221,187, 55,151,150,150,118,212,220,220,124, 91, 99,211,116,241,226,197, 87, 59,118,236,248,201,212,169, 83, 97, 52, 26, 49,116, +232, 80, 40, 20,138, 85,233,233,233,251, 92, 93, 93,199,204,155, 55,207,209,193,193, 1,179,102,205, 50, 3,176,144,239,107,121, +240,224,193,139,172,127,135,192,122,214,160, 24,102,103,103, 55,173,176,176, 80, 86,227,122,161, 40, 74,214,174,101,203, 13, 98, +177,248,167,188,188,188, 43,141,185,105,121,121,121,101, 90, 90,218,209,152,152,152,145,195,135, 15,199,185,115,231,198, 1,192, +240,225,195, 17, 19, 19,131,180,180,180,163,229,229,229,149, 47, 34,131,238,238,238,175,247,236,217,115, 92,199,142, 29,113,236, +216, 49,176, 44,123,161, 49,215,215, 94, 49, 88,215, 42,194,154, 99,166,112, 73, 30,197, 57, 2,203,178, 16, 8, 4,208,106,181, +200,203,203,195,131, 7, 15, 96,109,109,141,178,210, 82,202,218,222,222,160,211,233,216,198,230, 51, 47, 47, 47,231,206,205,223, + 83, 52, 90,173,200,206,193, 94,109,101, 33, 33,149, 74, 37,125,239,222,237,188,194,194,194, 12, 83,181, 32, 33,164,199,153, 51, +103,230, 11, 4,130, 81,114,185, 28, 35, 71,142,164,250,244,233, 3,137, 68, 2,141, 70,131,242,242,242,154,114,244, 6, 0, 71, + 71, 71, 23,115,115,243,131, 52, 77, 23,164,167,167, 79,108,232, 6, 44,203, 14,127,237,181,215,132, 70,163, 17, 75,150, 44,193, +194,133, 11, 49,112,224, 64,225,141, 27, 55,134, 3,216,244,162, 26, 54, 33, 4,175,188,242,202,227, 73,238, 79, 77,110,175, 19, + 61,122,244, 16,166,165,165,249,200,229,114,100,100,100,192,220,220, 28, 46, 46, 46,176,181,181,133,163,163, 35,214,172, 89,131, +111,191,253,246,174, 64, 32, 88,159,151,151,151,210,216, 52,121,122,122, 78, 26, 59,118,236,164,145, 35, 71, 66,169, 84, 34, 38, + 38, 6, 93,186,116,193,178,101,203, 92,163,163,163,103,132,133,133, 65, 40, 20, 34, 42, 42, 10, 44,203,102,243,125, 44, 15, 30, + 60,120,252,243, 5, 22,245,148,114, 4, 0,216,218,218, 90,203,100,178,201,225,225,225, 93,135, 14, 29,138,254,253,251, 63,113, +241,186,117,235, 44, 35, 35, 35,103,127,247,221,119, 61, 0,172,207,205,205, 45,109,132, 85,233,240,238,221,187,195, 95,126,249, +101,243, 94,189,122,249, 0,128, 84, 42,213,239,222,189, 91,205,113,220,225, 38,228,229,137,232,237,114,185, 60, 76, 32, 16,140, + 31, 56,112, 96,216, 59,239,188,131,184,184, 56,236,218,181, 43,193,207,207,239, 92, 65,129,233,243,166,159, 90, 49, 88,215, 42, +194,181, 13, 89,179, 36, 34, 81, 81,101, 94,158,131,208,205, 77, 98, 33,145,100,223,184,113,195,167,101,203,150, 84, 90, 90, 26, +146,146,146, 96, 48, 24,112,231,206, 29, 66, 3, 57, 2,107,107, 58,243,222, 61, 74, 44, 18, 53, 58,102,151,153,152,235,240,197, +172,247,124,181, 90, 77, 96, 69, 69, 5, 35, 20, 10,133, 82, 17,155,214, 72, 26,157,135,135,199,107, 44,203, 58,234,245,122,163, +139,139,139,232,252,249,243,144, 72, 36,120,180,250, 51, 24, 18,137, 68, 47,151,203,149, 0, 96,105,105, 73, 47, 91,182, 76, 52, + 99,198,140,184,134,136, 67, 66, 66, 68, 18,137,100,180,159,159, 31,174, 94,189,138,248,248,248,212,171, 87,175,250,116,232,208, + 1, 30, 30, 30,163,221,220,220,182,223,190,125,219,248,162, 4, 22, 26, 57,201, 61, 42, 42,138,115,119,119, 7, 69, 81, 16, 8, + 4, 80,171,213, 72, 75, 75, 67,231,206,157,177,117,235, 86,172, 93,187,246,151,252,252,252,109, 77, 73,207,132, 9, 19,196,109, +219,182,125,123,228,200,145, 72, 77, 77,197,242,229,203, 75,242,243,243, 47,158, 57,115,102,248,212,169, 83, 5, 93,186,116, 65, +113,113, 49,182,111,223,206,220,190,125,123, 91,120,120,248,206,141, 27, 55,242, 61, 20, 15, 30, 60,254,107,150,171,186,190,255, +187, 44, 88,238,238,238,131,100, 50,217,187,163, 71,143, 22,248,251,251,163,160,160, 0, 86, 22, 82, 61, 69, 81, 18, 0,176,178, +144,233,141, 70, 35,166, 78,157,138,246,237,219,119,156, 61,123,118, 24,203,178,191, 20, 20, 20, 28, 52,229,198,133,133,133,106, +154,166, 15,188,255,254,251,203,239,220,185,237, 13, 0,215,175, 95, 79,203,205,205,157, 99,162, 59,171, 54,106,130, 83, 82, 50, +153,217, 61, 95, 95,223,146,208,208, 80,187, 97,195,134,193,209,209, 17,183,111,223,198,178,101,203,226,180, 90,237,180,168,168, + 40,230,175, 46,100,134, 97,178,174, 29, 63,110,247,202,152, 49,118, 75, 70,143,254,225,157, 9, 19, 86,124,189,108,153, 88, 46, +151, 83,214,214,214,184,123,247, 46,217,188,105,147, 97,223,202,149, 63, 8,204,204,196,151,142, 28,145,176, 70, 99,114, 99,238, + 33,151,203,123,132,117,234, 24,188,106,205,119,208,168,171,112, 61,230, 56,202, 74,139,177, 97,211,161, 54,114,185,188,135, 66, +161,136,106, 68,122,125, 14, 28, 56,240, 72, 28, 74, 36, 88,188,120, 49,220,221,221, 97,109,109,141,170,170, 42,188,247,222,123, +146,143, 62,250, 8, 0, 16, 31, 31, 15, 75, 75, 75, 83,173,108,189, 38, 79,158,108,109, 52, 26,113,234,212, 41, 29,203,178,211, +207,157, 59,119,184, 93,187,118,210,238,221,187, 91,239,220,185,179, 55,128, 51,255,143,207, 3, 71, 8,201, 58,123,246,172,231, +200,145, 35, 33, 22,139, 81, 86, 86, 6, 43, 43, 43,172, 90,181,138, 24, 12,134,131, 77, 37, 86, 40, 20, 18, 71, 71, 71, 9,203, +178, 56,112,224, 0, 42, 43, 43, 39,230,228,228,228,183,108,217,242,240,236,217,179,103,250,250,250,122, 37, 39, 39,103,178, 44, +187, 82,161, 80,164, 3, 0, 47,176,120,240,224,193,227, 95, 40,176, 0,188,117,250,244,105, 1,199,113,216,184,113, 35,110,221, +186, 69, 44,173,237, 63,182,178,161,118, 88, 91, 91,179,229,229,229,111,173, 88,177, 98,232,252,249,243,169,110,221,186, 33, 38, + 38,134,242,246,246, 30, 14,160,246, 32, 20,140,122, 98,101, 84, 84, 84,220, 40, 40,200,247,174, 21,181,221, 91, 42,149, 53,180, +218,237,105,206,167,131, 89,182, 91,186,116,105,172,179,179,179, 49, 54, 54, 22,235,215,175,231,110,221,186,117, 2,192,170,194, +194, 66,141,137,156, 47, 2,143, 57,237,252,252,174,108,157, 59, 55,228,229, 87, 95, 37,189, 71,141,226, 86, 75, 36,159,126,185, + 96,193,244,210,202, 74, 15,142,227,224, 96, 99,147,245,203,210,165,107,186,116,235,166,185,255,251,239, 22,209,191,253,102,230, +210,162,197,229,198,164, 83,161, 80, 68, 69, 70, 94,198,246, 77,107, 96, 48,232,144,167,200, 4, 0, 20,151, 84,160, 1,113,245, + 7, 78,154,166,203,199,143, 31,111,174,215,235,169,209,163, 71,139, 10, 11, 11,209,178,101, 75, 0, 64,101,101, 37, 78,156, 56, +129,128,128, 71, 97,181,238,223,191,255,248,123, 67,233, 52, 55, 55, 31,213,181,107, 87,100,100,100, 32, 46, 46,238,100, 97, 97, + 97, 81,124,124,252,201,204,204,204,225,161,161,161, 56,124,248,240,200,122, 4, 86,163,234,168, 38,176,104, 35,219, 18, 24,134, +153,125,248,240,225,201, 49, 49, 49, 61, 62,249,228, 19,170, 79,159, 62, 0, 0,149, 74,197,154, 56,223,240,153,233,172,113, 15, +115, 28, 7, 15, 15, 15, 21, 0,164,164,164,164, 3,248,160,169,156, 47,162,125,242,156, 60, 39,207,201,115,254, 77, 56,255, 51, + 2,139,225, 56, 14,145,145,145, 56,116,232, 16,171,215,235,231,230,231,231, 63,168, 30,204, 1, 96,219,157, 59,119, 46, 15, 31, + 62,124,117, 82, 82,146, 32, 62, 62, 30,132,144, 70,205, 29,210,106,181,198,167, 35, 16,104,181,218,231,118, 17,109,221,186, 21, +249,249,249,250,204,204,204,223, 12, 6,195,174,146,146,146,188,166,114,189,136, 85,132, 27,110,221,210,189,110,101,117,100, 78, +175, 94,195,151,156, 62, 45, 27, 56, 97,130,190,231,128, 1, 95, 67,175,215,139, 68, 34, 14,102,102, 2,129,153,153, 56,254,247, +223, 45, 86, 77,153,226, 64,209,244,209, 31,227,227, 53,141,181, 96,245,236,217, 13,227,223,157, 1,141,166, 10,191, 95, 61,142, +242,210, 98,196,220, 72,130,206,128, 70, 89,176,132, 66,161,167,209,104,148, 50, 12,163, 32,132,224,237,183,223, 6,203,178,208, +106,181, 80, 42,149, 40, 45, 45,213,126,248,225,135,116,181,104,194, 43,175,188, 98, 82, 84,127, 31, 31, 31, 79,161, 80,136, 51, +103,206, 64, 32, 16, 28,124, 36,136, 5, 7, 35, 34, 34,134,143, 30, 61, 26,114,185,220, 47, 53, 53,181,193,198, 16,174, 11, 0, + 0, 32, 0, 73, 68, 65, 84,201,141,143, 55,123,166,224, 11, 0,160,224,235, 20,244,218,189,154,205,158,105,154, 78,111,223,190, +189, 73,243,174,158, 70, 81, 81, 81, 33, 30, 77,220,255,117,214,172, 89, 83, 59,118,236, 24,188,104,209, 34, 0, 16, 60,183,121, +140,227,192, 48,204,115,133,144,224,193,131, 7, 15, 30,255,112,129, 69, 81,212,222, 94,189,122,189, 65, 8, 17,208, 52,189,171, + 70, 92,213, 70, 78, 78, 78,154, 92, 46,223,232,229,229,245,102,181,229, 99, 79, 35,239, 95, 64, 8,190,161,105,170,246,222,115, + 5, 77,224, 88, 81,205, 65, 9,133,162, 93,215,174, 93,251, 60, 55, 55, 55, 31, 0,251,188, 5,244, 34, 86, 17, 2,192, 65,165, + 50,249,117, 75,203,163, 83,219,181, 27, 50,116,250,116, 18,218,175,159,141,107,139, 22, 12, 99, 52,178,169,247,238, 81,209,135, + 15,139,163,127,251,205, 76, 64, 81,199, 14,170, 84, 15, 26,155, 78,133, 66, 17,117,225, 98,212,217, 17,195,195, 95,241,241,114, + 7, 0,164,166,231,162,184,180,226,108, 99,196, 21, 0,100,102,102,234, 0,232, 92, 93, 93,135,239,223,191,255, 0, 69, 81, 84, +237,237,102, 0,232,132, 66, 97, 43, 0, 80, 42,149,205, 15, 31, 62,188, 91, 40, 20,230, 52,196, 27, 31, 31,191,119,193,130, 5, + 99,210,210,210,126, 83, 40, 20, 41,213,233, 78,185,124,249,242,250,220,220,220, 49,153,153,153, 59, 97,194,202, 17, 2,180,138, +139,254,181, 13, 0, 4,117, 29,137,184,232, 95,101, 0,218, 4,117, 29, 89, 83, 22,207, 61, 89,190, 58, 46,215, 71,215,175, 95, +127,185,127,255,254,227, 9, 33,133,207,195, 39,147,201,140, 58,157,142, 97, 89, 86,104, 48, 24,136, 76, 38, 51,242,221, 15, 15, + 30, 60,120,252,123,241,103, 79, 34, 51,213,132,248,196, 4,245, 38,114, 54,134,163, 65, 78, 55, 55,183,105, 20, 69,249,152, 74, + 64, 8, 73,205,203,203,251,161, 46, 78, 66, 30,185, 47,129,103,111,246, 76,140,198, 76,153,143,207,229, 95,238,223,215,214, 33, +118,185,198,148,167,175,175, 47, 73, 78, 78, 54,181,126,235,229,148,203,229, 50,161, 80,248,180,133, 74, 87, 45,194,106,183, 35, + 1, 0,166,145,245,222,164, 58,122,108,193, 2,104,142,226, 70,208,132, 62, 0,128,171,177, 96,253, 9,237,179, 73,233,172, 93, +239, 0,224,227,227,243,126, 64, 64,192,152,123,247,238,237,207,206,206, 94,215,224,195,217,200,122,255,147,158, 77,158,147,231, +228, 57,121,206,191,138,179,161,113, 54, 12,128, 83,245,207,154, 56,153, 78, 79,125,215, 3,168, 61,102,213,252, 46,162, 40,234, + 70, 45,142,199,199, 77,184, 22, 0,138, 1,220,163, 40, 74,143,191, 9,130,121, 78,158,147,231,252, 31,122,244,232, 33,228,203, +147,231,228, 57,121, 78,158,179,241,226,138, 16, 50, 8,143,188, 28,132, 16, 50,168,230,247,211,223,107,206,169,253,187,250, 47, +158, 62,207,148,107, 1,144, 57,115,230,204, 37,132,244,106, 76,154,105,240,224,193,227, 47,195,255,199, 42, 86, 30, 60,120,240, +248, 23,192,137,162,168,227,132,144,193,132,144,193, 20, 69, 29,175, 71,140, 13,174,253,183, 62,212,197, 83,115,143,218,191,151, + 47, 95,254, 53,128, 70,237, 4, 35,172, 71,133, 54,198,244, 23,220,132,255,197,242,156, 60, 39,207,201,115,242,156, 60, 39,207, +249,159,227,124, 81,215, 63, 55,234, 18,107, 53, 66,174,246,239, 57,115,230,124,142, 70,236, 90,242, 87,128, 55,159,242,156, 60, + 39,207,201,115,242,156, 60, 39,207,249,188, 66,232,153, 46,189,250,220,133, 79,127, 55,197, 69, 88,223,185,141, 73,179, 16, 60, +120,240,224,193,131, 7, 15, 30,127,111, 20,213,182, 54, 85, 91,152,216, 57,115,230,124, 94,115,172,218,202,164, 3, 32,125,250, +226,167,174,171, 23,141, 57,151, 23, 88, 77, 64,187,150,244, 18, 79, 79,231,208,234, 66, 6,169, 14, 81,192, 85, 71, 17, 32, 53, +193,140, 8, 7,194, 17,228,230,149,223,186,159,134, 47,159,161,188, 27,156,235,214,173,155,171,189, 64, 83,245, 45,203,177, 93, + 0,128, 2,125, 73, 36,178,253, 36,226,186,162,188,214,106,178,122, 17,224,131,214, 50, 33, 62,227, 56,180,165, 40,128,162,112, + 79,203, 96,101, 98, 42, 18, 94, 64,145, 80, 65,222,120, 79, 34, 53, 31,109, 99,107,231, 91, 86, 82,252,208, 96,208,253, 26,159, +142, 13,104,194,166,156,254, 62,104, 15, 22,179, 89, 14, 34, 33,141,111, 19, 51, 16,205,183, 58, 30, 60,120,252, 69,214,144,231, +154,127, 92, 87,159, 76, 8,161,158,147,147, 15,144, 87,127,249,220,168,158,232, 94, 35,122,138, 0,220, 95,182,108, 89,217,178, +101,203,106, 31,187, 11,160, 93,245,121, 69,117, 8, 37,125,245,111,125, 29,231,232, 77, 57,247, 79, 17, 88,129,205, 48, 21, 4, + 11, 65,129, 0, 88, 20,159,131,245,141,186,190, 37,250,202,132,130,205, 32, 16,104,141,236, 76,194,226, 82,157, 5, 41, 64,119, +153, 72,176, 26, 20, 56, 45,195, 78,140, 79,193,121, 83,239, 17,228,139, 1, 66,138,222,201,113, 68,196,114,100, 7, 56, 28,183, + 52,226,202,239, 10,104, 27,147, 86, 79, 79,231,208, 35,231,243, 94,185,184,119, 58, 58,181,247, 5,225,140, 0, 97, 96, 30,240, + 25, 34,126,121, 27,157,218,120, 62, 58,198, 25, 97, 25,178, 26, 3,187,218,144,251,105, 77,219,159,186, 91, 55, 87,123, 51,142, +187,183,126,203, 78, 87, 79,223,151, 41,194,233,144,124,231,212, 91, 31,205,154,215,171, 79, 71,121, 91, 0, 13,238,241,216,214, + 23,239,122,122,250,127, 54, 99,222, 26,218,221,189,153, 37,199,232,153,188,236,248, 14,223,175, 89,112, 80, 76,103,174,190,151, +140,205,166,182,227, 64, 47, 76, 22,138, 36, 35,205,204, 45,124,213,106,101, 50,107, 52,254, 74, 11,132, 3, 86,174, 88,219,190, + 71,175,129,150,156, 46,159, 54, 50, 84,224,190,253,123,154,255,240,211,250,240,216, 84,246, 85, 0, 92,163, 50,205,226,227,251, + 71,223, 27, 33, 18, 10,168,128, 65,155, 44, 0,166,127,163, 57, 0, 4,121, 33,136, 52, 28, 9, 29, 20,240, 99, 92, 58,226,154, + 82, 63, 1, 94,216, 66, 1,126, 0, 14, 80, 4,123,227, 51, 80,200,119,119, 60,120,252,187, 32,151,203, 47, 42, 20,138, 94, 47, +152,179,147, 66,161,184,198,151,238,139, 19, 89,117, 28,190, 94,199,177, 27,127,135,244, 54,214,130,245, 85, 92,114,182, 29, 56, + 3,130,252,124,150, 0,141, 19, 88, 50,161, 96,199,141,123, 5,174, 32, 6,108, 90,243,254, 62,189, 17, 96, 24, 3, 88,198, 8, +150, 49, 62,250,206, 26,193, 49, 90, 44,248, 54, 18, 96,148, 8,109,223,106, 7,192,186,153,122, 15, 17,232,157,183,174,156,181, +167,152, 10,236,219,190,236,195,204,220,170, 15,207, 95,207, 45, 14, 20,105,230,198,103, 96, 91, 99, 6,241,139,123, 63,194,174, +131, 39,115,214,109,218,159,200,129,192,206, 82,234, 63,118,120,156,199, 47, 7, 47,102,175,221,170, 77, 36, 28,129,173,149,212, +127,220,171,201,158,207, 83, 9, 2, 77,213,183, 63,109,218,230,234,217,188, 57,101, 76,255, 10, 48,234,224,225, 25, 46,152, 55, +227, 93,183, 69, 43,126, 92, 3, 96, 92,189,214, 32,111, 4,182,240,105, 61,115,199,190,171,158,170,170, 66,253,133, 19,159,167, + 80,132, 24, 29, 29, 3,196,139,191, 90,101,246,197,220, 25,159,232,217,156,107, 15,210, 16,223, 64, 82,232,214, 94, 56,250,245, +215, 43,219,246,233, 55,196,146,213, 23, 9,180, 85, 74,191,205,219,182, 44, 12, 8,234,104,222, 53,164,153,184,232,202, 20, 74, +173, 44,133,129,152, 73,123,135,246,177, 86,143, 29,101,220,242,203,158,105,241,105,248,174, 81,250,138,249, 95,172, 17, 3, 3, + 25, 0, 17,154, 48,129,144, 0, 31,220,137,185, 56,153, 41,187, 1,112,134,106,209,107, 0, 56, 35, 72,173,191, 47,189,185, 13, + 0,166, 52,165,126,104, 10,175,156, 63,127,195,173,160, 32, 47,236,219,111,191,158, 75,168, 27,167, 64, 97,103, 66, 26,162,154, + 34, 10,121,240,224,241,247,132,187,187, 59,155,155,155, 43,120,145,156,114,185, 60, 92,161, 80,156,124, 30, 14, 55, 55,183,207, + 0,188, 91,253,115,115, 94, 94,222,202,231, 77, 87,104,104,104, 51, 66,136,107,181,112,201,191,121,243,102, 14,223, 2,254,127, + 5,150, 12,132, 3,174, 12, 5,168,198, 45, 87,172, 30, 12,101,160, 4,128,177, 10,175, 13,238, 11, 71, 7, 55,128, 85, 1,172, + 6, 96,212, 0,251,232, 83, 92,148, 9, 48, 42,160,232, 20, 24, 66,164,141,206,149,177, 2, 40,252, 21,175,188,236, 9, 91, 43, + 25, 62,122, 35,208,113,227,145,164,205,155,143, 60,232, 27,159,134,209, 38,165,149, 16,116, 10,241,197,186, 77,170,196, 99,145, + 69,253, 1, 32,188,135,195,233, 78,109,154,123,172,221,170, 77, 60,121,169,108, 0, 0, 12,232, 98,125,170, 99,176,171, 39,247, + 28,219,159,176, 28,219,213,179,101, 8,197,100,173, 0, 77,151,161,170,170, 24,217,169,219,225,232,210,159,102, 56,174,123, 67, +215,155, 9, 49,231,163,207,150, 11, 85, 85, 5,122,194, 20,114, 46,150,197, 98, 17, 40, 1,167,186,172,215,228,151, 87,125,252, +193, 88,102,230,156,175,231, 0, 24, 83, 31, 79,160, 55,166,173, 94,177,182, 77,151,142,254,206,249,209, 31, 81, 85, 21, 5, 48, + 18, 51,233,171, 61,186,192,174,121, 32, 87,112,103, 53, 37,117,235, 11, 59, 47, 31,228,220,223,133,204,123,135,168,110, 29,135, + 75,119,236, 22,143, 5, 12,117, 10, 44, 95, 87,116,237,255, 74,199,125, 62,205,221,221, 8,225,192,113, 28, 8,225,160,213,179, +152,251, 67, 10, 84, 26, 6,131,251,190,212,197,193, 70,160,163, 1, 16,194, 33, 59,183, 68,125,225,106, 98,159,212, 92, 52,248, +230, 71, 1, 63,182,123,185, 87,215,123,215, 99, 2, 12,185,199, 17, 54,108, 89, 34,133,255,185, 27, 9,208,245,118,196,182, 0, + 96, 91,147, 95,154, 8, 1,155,245,251,114, 52, 11,121, 79,176, 97,219,105,167,138, 18,197,184, 67,251,127, 26,241,211,198, 13, +187, 18,211,154, 38,218,120,240,224,241,247, 67,110,110,238, 11, 23, 89, 87,175, 94,205,125, 30,145, 21, 26, 26,218, 61, 55, 55, +119, 69,110,110,110,141, 8, 92,209,177, 99,199,249, 53,227,212, 83,168, 32,132,140,185,121,243,230,165,250, 56,103,204,152,225, +126,229,202, 21,175,155, 55,111, 2, 0,194,194,194,188, 66, 67, 67,189,234, 58,215,220,220,156,109,215,174, 93,198,183,223,126, +155,203,183,144, 63, 87, 96, 37,230, 95,254, 56, 68, 95,170, 6,128, 68, 19,206,127, 98,169,165,214,200, 46,223,190,118,220,242, + 32, 63, 59, 84, 42,245, 56,119, 57,163,218,130,197,128,101,141,143,255,246,127,217, 17,157,153, 41,248,110,239, 3, 48, 44,183, +172, 62,206,167, 97,224,184, 55,219,119, 31,181,159, 35, 68, 98,110, 78, 87,180,244,112,112,158, 57,182, 29,253,209, 27, 65,208, +104,153, 81,187, 79,165, 92, 72,200,192, 38,147, 56, 57,166, 14,225, 85,199, 49,142,109, 48,239,207, 66, 59,127,179, 78,195, 6, +118,179,134,177, 20,172, 42, 29,122,150, 67, 94,158, 10,105,185, 98,216,112, 5, 38,113,114, 28,218,186,186,186,153, 95, 61, 59, + 59,221,217,170, 76,236, 96,198,138,197, 20, 71,104, 35, 17,232,245,137, 90, 59,247,190, 34,142, 67,219,134,234,200,204,204,234, +237,110,189, 6,217,100, 69,188, 75,153,121, 12,132,179,119, 51,164,223,218,142,194,216,227, 40, 41,204,164,108, 72, 25,204, 91, +249, 96,224,240, 55,176, 98, 90, 40, 42, 43,171, 64, 21,165,218, 72, 36, 82, 91,192, 80, 39, 39,161, 49,102,245, 55, 75,221,132, + 66,250, 81,121, 18, 6, 32, 70,128, 24,161,172,210, 65,175,215, 67, 38, 38,176,144, 17,160,218, 13,203,178,122,243,182,125,230, +188, 15,176,215, 26,202,123, 92, 58,226, 2,189, 16, 13,194, 4, 16, 86, 3, 10,136,142, 79,255,159,232, 9,242, 66, 80,135, 62, + 19, 62,160,128, 31,155, 82, 71,193, 45, 48, 56, 52,192,210,194,140, 73, 68, 78,228,135, 72, 97,101,196,165,205,187,120, 99,204, + 52,243, 13,155, 55, 14, 1,200, 84, 60, 57, 7,237,207, 88, 94,204,115,242,156,255, 72, 78,107,107,107,239, 22, 45, 90,204, 55, + 26,141,221,197, 98,177,139,193, 96, 0,199,113,249, 18,137,228,114, 70, 70,198,226,202,202,202,180,191, 91,222, 79,157, 58,213, + 24,145,213, 32,167, 72, 36,194,201,147, 39,147, 27, 33,178,158,224,164,105,122,231,129, 3, 7,176,127,255,126, 0,192,197,139, + 23,209,170, 85, 43,139,186, 46,204,206,206,182,120,253,245,215,119, 2,240,168,143,243,225,195,135,222, 75,151, 46,197,129, 3, + 7, 0, 0,191,252,242, 11,252,252,252,234, 76,204,221,187,119, 5, 95,124,241,133, 55,128,220,191,160,142,254,181, 2,139,160, +225,173, 85, 82, 93,173, 68, 33, 48, 26, 1, 32,181,177, 55, 75, 72,197, 55,235,182,156, 30, 16,113,232,199,238, 50, 9,141,133, +223,206,204, 46, 42, 82,190, 36, 20, 60,114,179, 48, 44,104, 59, 91, 73,204,178, 15,219,121,150, 85,104,241, 91,148,226, 82,124, + 26, 26,101, 10,141, 79,197, 57,128,179,173,182, 13, 65, 85, 89,232, 55,110,222,185,189,123,191, 25,208,118,198,152,182, 56, 26, +153, 49, 3, 96, 26,220,171,142,112, 28, 8, 97, 30, 79,106,175, 62, 88,237,114,250,223, 49,142, 16,128, 24, 65, 26, 57,207,123, +209,162,145,194,163,123, 15, 15,176,144, 10,191,159, 50,105,178,181,177, 36, 30, 21,229, 44,242,139, 85,200, 44,178, 5,107,214, + 18, 73,113,215, 88, 1, 77, 55, 56,255,140,162, 81, 73,140, 42, 43, 59, 51, 51, 58,176,227,251,110, 21,177,159, 87, 74, 5, 70, +129,109,251,165, 86, 5,247, 87,103, 49,186,194, 42,138,126, 82, 1,213,217, 25,218,216,180,210, 41, 51, 4, 21,229, 37,176,109, + 19,136,129,175, 14,193,194,137,173,161, 84,170, 80, 84,114,149,248, 54,183,161,180,183,119, 99,222,219, 1, 40, 41,206,131,222, + 8,208,149,218, 82,173, 94, 91,245,108, 75, 32, 54,124, 60,115,214,155,205,155, 57, 89,212, 44, 22, 32, 28,139,118,193, 62,232, +215,171, 19,206,197, 92,197,141,219, 73,224, 8, 87,189,152,128, 69, 78, 97,121,129,214,192,110,111,148,117,148, 99, 30, 89, 66, +235, 16, 96,104,130,107, 48, 56, 24,230,172, 10, 95,134,181,182,154, 56,251,237,230, 86, 86, 18, 10, 90, 51, 22, 90,173, 17,202, +196, 31,224,208,172, 13,204,101, 50, 42, 36, 68, 35,188,125, 27,252,190,130, 60,120,212,194,136, 17, 35,100, 5, 5, 5,145, 30, + 30, 30,129,125,251,246, 53,239,222,189, 59, 84, 42, 21,206,156, 57, 3,181, 90,221,220,195,195,163,249,217,179,103,135,103,102, +102,198,123,120,120,244, 60,112,224,128,182,177,247,168,153, 84,254,162, 39,135, 75, 36, 18,196,196,196,188, 80, 75,150, 68, 34, +193,245,235,215,147,155, 98,201, 82,169, 84, 98, 87, 87, 87, 56, 56, 56,128,101, 89,168, 84, 42, 28, 57,114, 4,149,149,149,224, + 56, 14,102,102,102, 88,125,170, 2,218, 7, 7,176,249,251,165,168,168,168, 16, 55,196, 89, 92, 92, 76,249,251,251, 67,167,211, +129, 97, 24,104,181, 90,156, 63,127,254,241,111,161, 80,136, 37, 7, 10,160, 75,218,139, 29, 27, 86,163,184,184,152,250, 11,155, +143, 41, 90,228, 31, 37,176,106, 50,244,167,103,140,101,153,185, 27,183,239,141,153,251,225,104, 76,123,187,143,199,226,239, 14, +247, 77, 72,195, 14, 0,104,237,141,113, 99,195,125, 61,109, 45, 68, 88,244,243, 77, 0,100,238,243,222, 47, 46, 19, 73,129, 62, +220,140,195,145,153,145,159, 79, 12,129,143,135,117,171, 50, 67,169, 36, 53,213,132,249, 62,156, 17,118,150, 82,255,240, 30, 14, +167, 65, 56,216, 90, 74, 3, 64, 88,216, 90, 73,253, 7,116,177, 62,197, 17, 2, 91, 11,113, 0,225, 76, 15,206,221, 49, 88, 58, +201, 76, 68, 79,178,176,178,245,252,120,202, 88,179, 65,131, 94, 55,179,144, 16,148,196,159, 68, 37, 9,130,222,194, 2, 68, 93, +142,180,135,177,236,169,168,155, 10,169,131,219,167, 64,122,253,201,100,113, 41, 55, 59, 97, 88, 11,223,190,182, 69, 55,231, 21, +122,247,217,237, 69,131,165, 85, 49,195, 11, 45,172, 2,197,209,119, 99, 25,142,197,213,134,210,166,172,172,204, 48, 26,224,166, + 53,138,172, 82,174,111,195,156,177, 65, 40, 47, 43,130, 86,199,160, 92,197, 24,220, 28, 13, 82,109,217,125,232,244, 12,116, 6, + 2,145,185, 59,206,198,196, 22,115,140,241,212, 51, 21,121, 30,238,164,238,186, 99, 89,251,152,143, 27,218,205,182, 51,187, 3, + 86,131,204,172, 92,236, 56, 24, 19,146,154,135, 59,207,247, 72, 50, 32,204,255,250,232,154,201,239, 77,153,220, 30,208, 28, 29, +197,140,232,251, 69,115, 6, 5,246, 12, 98,165,148, 54, 15, 20, 0,115,153, 16, 58, 25, 11, 27,153, 15,136, 65, 73,212, 90,109, +121, 92, 44,248,200,236, 60,120,212,130,191,191,191,171, 66,161,136,155, 57,115,166,253,176, 97,195, 30,139,129,237,219,183, 99, +237,218,181, 88,184,112, 33,140, 70, 35, 54,110,220,104,126,240,224,193,142, 63,254,248, 99,142,167,167,103, 80, 86, 86, 86,190, +137,162, 74, 92, 61,118, 61,154, 85, 64, 8,187,104,209, 34,178,112,225, 66,212, 28, 3,192, 2, 13,191, 84, 62, 75, 12, 73, 36, + 18, 36, 38, 38,190, 16,145, 37, 18,137, 32, 22,139, 33,145, 72,240,224,193,131, 70,139, 44,134, 97, 4, 57, 57, 57,168,172,172, + 68,191, 33, 67,176,118,249,114,116,239,222, 29,125,251,246, 5, 33, 4, 17, 17, 17,232,108,151, 4,251, 33, 61,144,144,144, 0, +163,209,104,146,103, 42, 39, 39, 7, 37, 37, 37, 24, 48,100, 8, 54,253,244, 19, 58,116,232, 0,127,127,127, 0, 64,100,100, 36, +250,200, 51, 96,233,223, 23, 73, 73, 73,127,101,243,249,203,180,200, 95,109,193,250, 75, 16,151,138,223,185,195, 81,199,223, 24, + 20, 54,120, 72,239, 64,108,218,123, 97, 41,164,149,123, 1,192, 65, 42,253,234,237, 65, 62,136, 79, 45, 67,196,245,220,227, 9, +233,248,253, 69,220,147, 99,225,232, 96,107, 14,208, 18,168,245, 44, 99,109,221,240,196,100, 14, 4,230,173,231, 96,236,176, 4, +143, 78,109, 60, 60, 8, 97,170, 87, 12,174,193,184, 87,147, 61,195,130, 92, 60, 31,185,188,140,176,238,188, 27,224, 44, 26, 76, + 71,183,246,178,179,159, 78,255,240,229, 65, 67,222, 48, 19,155, 59,128,211,100,195, 88,122, 15, 37,105, 23,161, 51,107,143,162, +156,116,236, 61,250, 91, 69, 98, 90, 65,165, 64, 64,159, 19,218,184,204, 58,127, 62,173,138,162,234,111,103, 90, 1,150, 45,156, + 63,119,208,222, 93,123,108,204,220,187,225,225,209,240,114,137,192, 40,117,150,251, 65,195, 88,177,171,182, 30,183, 85, 1,203, + 27, 74,159, 90, 85,121,232,124,196,233,209,190,110, 93,173,210, 99,143, 67,173,214, 67,103, 4,130, 59,244, 2,203, 17, 9, 69, + 83,156,181, 64, 64, 21, 20,148,130, 50,114, 5,151,111,167,231, 69,223, 72, 21,232,232,134,185,159,104,116, 98,193,244, 33,125, +219, 1,172, 6,175,246, 11,198,183, 91, 35, 62, 4,216, 9,207,247, 88, 26, 65, 88, 13, 8,208, 53,208, 11, 63,115, 64,215, 91, +167,190, 13, 8, 29, 56, 3,141,177, 96, 5,121, 97, 96,160,159,251,182,111,151,206,181,183,119,246, 16,128,213,128, 98, 42, 9, + 87,250, 59,132,170,135,176,110, 54, 8,172, 77, 23,108,248,105, 85, 21,199,145,189,104, 66,136, 10, 30, 60,254,205,208,106,181, +135,150, 47, 95,110, 63,120,240,163,213,238, 85, 85, 85,184,122,245, 42, 54,111,222, 12, 11, 11,139,218, 98, 9,225,225,225, 32, +132,216, 47, 88,176,224, 16,128,151,159,197,217,185,115,231, 33,107,214,172,201, 2,240, 16,143, 98, 28,137,241,104,131,121,114, +254,252,121, 26, 0, 58,118,236,200, 94,191,126,157, 3, 64,198,140, 25, 35, 58,122,244,104, 43,149, 74, 21,213, 84,129, 37,145, + 72,160, 80, 40,158, 91,100,137, 68,162,199,124, 98,177, 24, 10,133,162, 81, 34,139, 97, 24,225,137, 19, 39,112,251,246,109, 44, + 10, 9,193, 71,110,110,112,112,112, 64, 84, 84, 20, 8, 33,176,176,176, 64,105,105, 41,246,238,221,139, 94,189,122,129, 97, 24, +177, 41,188, 71,142, 28,193,173, 91,183,176, 36, 52, 20, 31, 90, 88,192,214,214, 22,145,145,145, 0, 0,169, 84, 10,133, 66,129, +243,231,207,163,103,207,158,124,163,254,179, 5, 86, 15, 64, 88, 74,193,213,104,208,128, 48, 4,160,224,222,186, 53,196, 9, 9, +141,127, 75,160,129,121,235,182, 30, 31,244,237,220, 87,169,247, 70,132,184, 47,254,241,226, 84, 0,152, 56,202, 79,110, 46, 21, + 98,221,222,120, 66, 3,243, 94, 68, 6, 91,183,134,152,210, 97,106,191, 46,254,200, 45,214, 35, 53,171,226, 66, 66,186,105, 46, +157,136, 29, 99,241,203,161,200,236,181,219,158, 92, 49,184,237,200,173,172,213, 59,180,137, 4, 4,182,102,162,128, 9,175,118, +110,112, 21, 97,199, 96,233,164,217, 51,102,188,252,218, 91,179,204,140, 57,135,161,203, 56, 1,176,106,168, 85, 20, 42, 25, 95, +228,101,229, 96,209,183,123,178,117, 70,250,205,155,241,218, 70, 9,203,135, 15, 81, 37,244,174, 28,182,252,155,249,231,190, 94, +180,192, 82,170,136,168, 20, 9,161,162, 29,186,139,190,154,191, 94,168,172,208,191,158,154, 5,101, 67, 60, 58, 26,203,191, 89, +253,221,160,119,199, 14, 75,244,243,232,233,192,230,167, 58,168, 43, 42, 10,119,159,186,229, 90,253, 54, 65, 1, 64, 74,122, 9, +138, 74, 85, 12,203, 24,163,172, 12, 88, 28,175, 48,125,245,159,183, 51,156, 6,247, 14,122,203,201, 86, 2,141,170, 12,206,118, + 98,244,239,218,242, 45,163, 54,105,118, 90, 97,227, 98,140, 60,161,175,170, 93,132, 49,155,123, 7,128, 51, 4, 16,206, 8,125, +230,206,166,188, 62,205,152, 49,186,185,141,189,133,158,166, 88, 21, 32,178, 3, 36, 78, 20,109,230, 5,129,153, 39, 50,146,111, + 50, 51,222, 31, 93,146,145,145,191,197,145, 96, 37,223,133,240,224,241, 36, 50, 51, 51,223,254,252,243,207,163, 59,117,234,228, +226,232,232,136,224,224, 96, 28, 59,118, 12,159,126,250,233,227,115,218,183,111, 15, 0, 40, 41, 41,193, 55,223,124,147,159,155, +155,251,118,189, 47,230,113,113,137, 59,119,238,236,218,182,109, 91,189, 88, 44, 46,171, 17, 89,153,153,153, 66,149, 74, 69,233, +245,122, 98, 97, 97,193, 73,165, 82,227,200,145, 35, 13,215,175, 95,111,165, 82,169, 50,159,199,130, 21, 26, 26,122,191,188,188, +188,130,162,168,231, 14,225, 80, 35,174, 2, 2, 2,156,244,122, 61, 11,160,180, 41, 33, 28, 24,134, 65,104,104, 40,206, 95,186, +137, 83,151,238,163,170, 40, 21, 99, 94,239,143,128,128, 0,156, 57,115,166,201,117, 22, 26, 26,138,243,231,163, 17,121,243, 1, + 10, 50,227, 49,246,141,161,240,247,247,199,249,243,231,249, 6,253, 2, 4, 86,189, 38,185, 0, 79,180,163,173, 37,191,204,123, +181,101,160, 48,120, 33, 40,161, 25, 14,111, 59,214,101,238,215, 63, 39, 10, 42,178,198,196,154,176,218,235,137,135, 37, 29,113, + 4, 15,246,220,141, 15,120,235,213,238, 30,216,244,171,249,151, 0, 48,170,159, 55,174,199, 23,225, 90,108,225,158,248, 38,198, + 44,170,141, 96,103,152,179, 58,236,249,102,214,107, 61,155, 55,115,197,230,253,209,160, 8, 14,153, 52,208, 18, 66, 58,181,245, +196,218,109, 79,175, 24,116,243, 92,189, 67,155,120,246,170,114, 32, 0,244,123,201,252, 84, 88,107,123, 79, 66,234, 95, 70, 40, + 19,209,239, 13,124,245,109, 51,166,224, 12,184,210, 95, 33,146,136,161, 81,177,200, 43,212, 65, 99,110,134, 11,151,163, 52, 85, +106,102,198,189,100,166, 73, 86,187,132, 52,164,138,133,183,179, 84, 26,141,155,165,125, 75, 21, 77,129, 84,233, 69,228, 86,188, + 66, 21,159,133, 7,166,112,164,166, 66,255,146,156,233,182, 97,199,175,243, 69, 34,201, 40,129, 0,148,179,173,133,211,207,235, +150,192,202,202, 18,132, 81,130,232,138, 49,108,226,215, 69,177,201, 70,111, 0,104,213, 10,150,221,218,138,118, 8,105, 42,231, +226, 29,195, 23, 13,221,131, 18, 96,202,152, 87,219,137, 56,163, 10,211, 23,236,195,134,175, 94,197,216, 33,173, 69, 39, 46, 36, + 77, 1,176,184,233,102,202, 71, 46,194,151,223,187,148, 72, 1,209, 4,232,122,243,248, 87, 1,104,132,231, 49, 36, 4, 34,182, +138,106,221, 90,174, 23,177, 57,123, 65,201,228, 68,224,216, 19,176,104, 69, 17,203, 96,252,176,110,126,213,166,205,155,207,114, + 20, 22, 61,200,104, 48,228, 5, 15, 30,255, 85,164,230,230,230, 14, 8, 15, 15,143, 56,115,230,140,125,112,240,163, 29, 85,110, +221,186, 5, 0,143, 93, 81, 5, 5, 5,120,243,205, 55,139,243,242,242, 6,160,129, 57,189, 74,165, 50,237,240,225,195, 46, 26, +141, 38,236,139, 47,190, 40,104,209,162,133,210,104, 52, 18,165, 82, 9,134, 97,136,147,147,147,168, 67,135, 14, 84, 80, 80,144, + 38, 34, 34,194, 33, 59, 59, 91, 9, 32,163, 41,137,127,247,221,119,113,240,224, 65, 0,192,139,136,139, 37, 22,139, 17, 30, 30, + 46,191,122,245,170,162,154,179,201,113,177, 8, 33,184,119,239, 30, 46, 39,179,144, 88,216, 33, 35,177, 18,231,127, 59,138, 49, +239, 77, 6,195, 52,125,182,194,221,187,119,177,247,252, 93,184,200, 91,162, 66,119, 15, 71,142, 28,193,212,169, 83,159,139,179, +137,248,215,184, 7,159,182, 96,253, 33, 67, 62, 62,144, 72,245, 88,208,175,163,124,214,200, 62, 45, 5,140, 58, 23, 28,199, 65, + 0,192,209,138,198,214, 77, 27,188,127, 61,124, 50,230,251,239,126,252, 14,122,110, 94,108, 33,212,141, 48, 99, 45, 88,179,253, +202,168,157, 75,122, 8,167,142, 8,176, 7, 0,177,136,198,186, 61,113, 12,104, 44,120,158, 76,189, 36,135,172, 74,140,247,156, +157,109,190,156,251,254, 32,251,158,157,252, 16, 21, 19,139,239,118,197, 92,146,216,225, 23, 83, 31, 59,194, 49, 79, 76,104,127, +116,172, 14,227, 23,105,184, 17,178, 28,113,149,152, 59, 66,155,113, 18, 66,137, 20, 12, 99, 64, 81,129, 26,233,249, 28,100,238, + 34, 92,191,151,169, 25,250,214,176, 19,207,211, 48, 45,204,101,238, 11,190, 90,213, 76,163, 81, 50,149,229,197,140, 80, 28, 35, + 52, 55,147,230, 63,218, 57,192, 52,252,174,128,182,123, 59, 81, 7, 16, 78, 32, 21, 16,245,220, 25,227, 45, 20, 73,103,224,235, +148, 11, 10, 4,102,238,131, 96,101, 33, 16,119,109, 43,202, 2, 0, 11,115,115,201, 55,139, 63,181,249,120,246,162,203,166, 88, + 19,253,156, 93, 63, 14,246,181, 71,212,181, 4, 92,186,145, 25,119,233,247,164,160, 94, 29,221,225,231,109,251,145,196,182,124, +121, 83, 44,162,143,234,224,145,139,176,102, 21, 97,144, 23,130,194, 6,127,241,172,213,131,117,194,235, 54,184, 36,111, 2,138, + 18,128,128, 2,180, 10, 48,217, 59, 33,240,254,144, 28, 58,250,149,102,243,166,205, 75, 18, 50,120,171, 21, 15, 30, 13,161,162, +162,226, 94, 98, 98, 98,255,118,237,218,109,159, 62,125,186,213, 91,111,189,229,254,238,187,239,210, 0, 80, 80, 80,192,173, 93, +187, 54,247,251,239,191,175, 40, 46, 46,158, 96, 52, 26,239,155,242,132,231,229,229, 93,221,186,117,107, 81,116,116,116,208, 75, + 47,189,100, 30, 22, 22,198, 57, 59, 59,139,213,106, 53,155,157,157,173,137,137,137, 97,147,147,147,109,202,203,203,147, 1,164, +160, 9,238,123,119,119,119,208, 52,189,216,195,195, 99,190, 66,161,104,243, 34,230, 96,249,250,250,186, 3, 72,150,203,229,190, +141,117, 15,254, 97,192, 22, 10, 81, 86, 86, 6,101, 78, 10,212, 37,197,240, 23,168,209,222,222, 17, 86, 86, 86,207, 37,134, 42, + 42, 42, 32,212, 21, 32,245, 94, 38,202,243, 51, 16,216, 60, 20, 22, 22, 22,208,233,116,255, 31,205,135,250,183, 60, 7,207,116, + 17, 6, 54,195, 84, 51, 96,237,248,145,222, 98,239,230,205,160, 47,186,133, 59, 41, 85,248, 98, 75,199,120,129,216, 74, 55,109, + 92,191, 14,189,250, 58,161, 71,207,142, 84,139,230,182, 31, 45, 95,190,254,131, 64, 73,241,167,241,217, 88,103,202,141,227, 83, +145,198,113,133,155, 47,222, 80, 76,105,230,164, 1, 1,193,197,155,121,184,159, 82,182, 57, 49, 29,105,141,201, 68, 96, 75,244, + 21, 82,244, 62,194, 18,153,141,149,133, 50, 48,160,153, 99,223,174,109,233, 1,189,194, 32, 22, 2,209,215,238, 98,198, 87,135, +126,231, 36,100,144,201, 43,190, 8,247, 7,225,244,104,197, 32,243,196,138, 65, 66, 8, 1,199,128,144,250,167,117, 9,104, 42, + 95, 85,112,211, 85, 98, 21, 8, 67,201, 5, 20, 20, 84, 33, 46,213,128, 42,120,160, 44, 39, 7,132,176, 89, 11, 22,252,218,228, + 39,196,209,209,209,217,187,149, 95,203,239, 55, 29,128, 65, 87,129,212,248,109,168,170,204,199, 87,203,126,107, 41,151, 59,244, + 80, 40, 20, 81,166,183,110,202, 47,226,194, 30,103, 16, 64, 32,148,226,196,198,253, 40, 22,154,193,209, 70, 12, 78, 91,136,247, + 38,141,177, 9, 31, 52,198, 6, 0,178, 82,238,194,211,222, 52, 93,109, 40,199,240, 81, 19,252,109,193,170,241,203,145,187, 90, +154,194,128, 95,126,139, 75,233,213,193, 86, 54,170, 95,115,187,197, 27,202, 95, 7,176,167, 73,250,138, 99,159, 88, 69,216,148, +213,131, 7, 0, 54,128, 32,101,207,249, 34,203,145,225, 33,102, 98, 33, 69, 17,173, 2, 28, 37,166,214,253,184, 85, 41,161,176, +145, 31, 58,121,240, 48, 13, 26,141,230,150, 70,163,105,243,217,103,159,189,249,249,231,159,119,183,176,176,240, 6, 0,149, 74, +149,102, 52, 26, 47, 85, 63,235,108, 99, 30,115, 0,201, 41, 41, 41,105, 41, 41, 41, 46,191,252,242,139, 45, 0, 89,245,255,180, + 0,202, 1, 20, 52,146,243, 9,212,136, 41,119,119,247,249, 47,170, 28,106,196,148, 92, 46,247,109,202,245, 2,129,128,165,233, + 71, 59,251, 72,165, 82, 92,190,124, 25, 3,187,118,195,221,243,153, 8,112,241, 64,175, 49,227,113,228,226, 69, 8, 4,130,154, +243, 27, 53,142, 8,133, 66, 68, 71, 71, 99,196,224,158, 56,114,228, 8,124, 66,219,225,195, 15, 63,196,233,211,167, 33, 20,242, +187,233,253, 41, 2, 11, 4,139,207,237,251, 90, 12,206,136, 3,187, 87,224,220, 13,181,254,129, 2,243,252,115,176,246, 0,148, + 92, 97,241,193, 41, 39, 34, 83, 87,190, 51, 97,176,121,239, 30,253,208,187,123, 47, 97, 80,187, 30, 95, 2, 79, 8,172, 96,212, + 19, 43,131, 53, 98,201,198,131,137,147,247,157, 76,162,192, 40, 49,250,213, 48,194, 26,177,164,129, 52,255,129,211,198,220,114, + 95,244,229, 24, 59,176, 85,200, 79,191, 40,115,117,241, 6,136, 17, 15, 31, 38,225,135,173, 71,184,200,152, 7, 59,245, 2, 76, + 79, 77,128,202, 84,206, 71,138,138,129,141,165,228, 15, 43, 6,109,205, 68, 1,253, 94, 50, 63, 69, 8, 33, 86,230,162, 0, 82, +183, 5,235, 9, 78,173,145,219,184,115,199,166, 85, 19, 39,190,107, 81,162, 83, 32, 41, 59, 14, 90,129, 28, 2,243,150,136,187, +121, 70,163, 49,114,155, 76,168,175,103,150,103,113,113,113,225,173,155,165,216,183,125, 25,140, 70, 29, 10,243, 30,105,212,188, +130, 74, 88, 91,203, 99, 20, 10,133,201,156, 6,134,171, 24, 62,236, 61,177,153, 12,102, 99, 70, 13,146,164,228,234, 16,226,111, +245,168, 89, 24,138,145, 24,121, 25,189,156, 31, 77,134, 76, 73, 20,192,243, 37,119,147,210,105,101, 37,158, 62,176,155, 28,105, +153,249,184,124, 75,177, 35, 45, 23,185, 44,201,219,145,146,245,127,236,157,119,120, 20, 85,219,198,239,153,217,154, 77,239,187, +155,102, 8, 33, 36,212,132, 78,130,116, 8, 77, 64, 64, 64, 4, 65, 69, 41, 98, 65,165, 55, 1, 1, 17, 68,138, 8,136,136, 32, + 2, 82, 69,164,247, 30, 18, 2,132,144, 16, 18, 18, 82, 54,189,111,157,157,242,253,145,242, 6, 76,217, 4, 62,124,229,157,223, +117,237,181,217,157,201,189,115,230,204,204,185,207,115, 90,225, 7,131,187,123,227,219, 29,247, 62, 4,204,187,234,147,246,230, +190,104,206, 1, 97,224,205,224, 25, 3,120, 32,172,185, 47,154, 91, 56,114,240,111,154, 34, 18,111,174,222,157, 60,247,247,115, + 57,131,191,120,183,139, 93,104,167,126, 82,112,102,190, 68,103, 52,199, 62, 66,241,179,228,209, 51, 32,104, 10,154,255, 86, 77, + 22,192, 14,179,217,188,163,176,176,240,121,106,102,224,239,243, 50, 61, 83,218,171, 54, 7,102,100,100, 80,106,181,154,181,160, +147,123, 93,154,215,171, 26,173,242,232, 85, 93, 81,172,167, 53, 51, 58,116,232,224, 52,104,208, 32, 48, 12,131,132,132, 4,164, +164,164, 96,208,132,241,112,116,116,196,245,123,247,144,144,144,128,249,243,231,131, 97, 24,220,184,113, 35,173, 46, 77,177, 88, + 76,183,110,221, 90, 50,100,200, 16, 48, 12,131,196,196, 68, 36, 39, 39,227,195, 15, 63,132,189,189, 61,238,221,187,135,196,196, + 68,204,159, 63, 31, 70,163, 17, 73, 73, 73,244, 11,186,150,254, 71, 12, 22, 1, 22,156, 25, 69, 17, 11,240,195, 17,208, 52,131, +192,123,105,120, 84,209,241,228, 94, 26, 54, 82,252,237, 63,110,199,220, 79,138,188,222, 67,138,226, 59,168,111,205,225, 65, 26, + 52,182,138,146, 18, 48, 37,118,200,249, 11,143,210, 75, 74, 31,164, 65,211,128,232, 5, 1, 86, 7, 20,221,196,193, 35,231, 32, +147,223, 66, 68,212,125,246, 74,100,252,110,146,199,226,216,100, 60,168,191, 38, 15,155, 54,107,240,246,107, 15,203, 70, 12,242, +102,240, 28, 3,251,208, 93, 24,255, 90,103,239,118,129, 14,222,224,204,224,121, 51, 28,123,158, 5,230,202,107,213,187,113,215, +184,165, 75,176,124, 88, 73,113,110,135,222,221,187, 89,187, 6,188,129,162, 7,247, 16, 19,117, 82,127,243, 78,252,213, 27,119, +141, 91,158, 37, 35, 61, 60, 60, 94,237,217,179, 41, 70,190, 61, 11,180,177, 16,137, 49, 63,161,164, 56, 19, 23, 47,219,224,254, +227,226, 78, 0, 44,142, 96, 93,141, 97,154, 3, 5, 8,109, 33,126,108, 39, 53, 41,199, 14, 31, 8,153,200, 0,206, 92, 2,130, +206,197,195,124,186,104,216,130, 52, 22, 0, 20,114, 66,100, 45, 42,178,179, 40,210,232,231,220, 68, 33, 49,227,151, 67, 49,224, +136,178,101,150, 56, 2, 27,127,249,227,225, 7,139,167,134,160,153,159, 99,235, 91, 9,217, 21,109,240,150, 86,105,167,220, 60, +188, 40,208, 16, 51, 15, 60,103,198,165,149,142,129, 93, 62, 47,152,130, 6, 46,139,115, 55, 17,233, 0, 62, 0,171,219,244,209, +210, 99,243,218,182,184, 23, 54,253,131,193,118, 32,132,133,209, 5, 4, 4, 94, 60, 58,157,238,253, 25, 51,102,108,162, 40,202, + 21, 0,193,243, 60,140, 70,163,232,199, 31,127, 20, 51, 12, 67, 82, 20,197,202,229,114, 38, 50, 50,210,204,113, 92, 14, 77,211, +239,215,165,105, 50,153, 30,174, 95,191,190,177,217,108,174, 28,113,104, 52, 26,177, 99,199, 14, 24,141, 70,200,100, 50,216,216, +216, 32, 49, 49, 17, 4, 65,208, 44,203, 62, 20,114,226,121, 26, 44, 96, 81,232,235, 11, 22,128, 7, 1, 2, 11,239,165,253,125, + 50,166, 59,233,200,104,230, 73,127,210, 60,184,235,130,114, 83,182,168,190, 7, 96, 96,217,225,237,218, 4,252, 6, 0, 70,142, +125,171, 33,137, 40, 54,232,223, 8,110,223,105, 55,199,243, 34,134,229,127, 36, 73,236, 51, 0,177,137,143,234, 30, 57, 87, 19, + 25,154,194,200,126, 97,246,124,197, 18, 56,149,205,130,229,211, 49,240, 60,207, 87, 54, 11,206,149, 35, 55,207, 88,103,111,234, +139,183, 12,125,218,183,144,189,119,252,124,212, 68,150,227,149, 20, 73,100, 26,204,220,230,103, 53, 87,229,181,163,243,167, 78, +165,159,184, 29,230,222,199,165,124,154,213,220, 66, 32,183, 8, 39,210,211, 75,207, 55, 68,179, 64,111, 30, 60,123,229,161,195, + 82, 17, 37, 2,120,112, 92, 89,122, 13, 52,155, 95,102,194,128,150,254, 80,127,254, 35,243, 27, 69, 17, 41,117,233, 93,191,163, +249,118,228,231,167, 62,139, 73, 40,248, 49, 57,189,172,230,147,156,142,187,123,142, 63,154,247, 48,181,228,179,187, 9, 5,223, +160,158,253, 38, 8, 96, 67,187,215, 22,252,237,187,103, 61,159,247, 31, 35, 26,192, 80,240,105,189, 71, 78, 90, 55,157, 32, 32, + 44, 19, 33, 32,240, 63, 68, 69, 20,139, 36,201, 47,159,151,102, 69, 20, 11, 64, 66, 61,142,227, 58,128,150,207, 51,109, 81, 81, + 81,121, 0,242,132, 92,254,119,211, 66,208, 4,120,158, 39,159,229, 85,223,227,244,247,247,231,235, 97, 84,132, 60, 18, 52, 5, + 77, 65, 83,120, 38, 63,227, 51,153,231,121,226, 89, 94, 66, 30,189,124, 8,205, 30, 47, 0,130, 32,184, 23,249,123, 9, 9, 9, +132,112,214, 5, 4, 4, 4, 94,220, 51,249,121, 47,217, 35,240,239,135, 20, 78,129,128,128,128,128,128,128,128,192,115, 54,221, +168, 57,204, 87,159,209, 1, 13, 9, 21,222, 21, 52, 5, 77, 65, 83,208, 20, 52, 5, 77, 65,243,127, 78,179, 46,109, 97,116,226, +255,147,241, 18, 52, 5, 77, 65, 83,208, 20, 52, 5, 77, 65,243,127, 79,243,165, 66,104, 34, 20, 16, 16, 16, 16, 16, 16, 16, 16, + 12,150,128,128,128,128,128, 25, 33, 81,140, 0, 0, 32, 0, 73, 68, 65, 84,128,128,128, 96,176, 4, 4, 4, 4, 4, 4, 4, 4, + 4,131, 37, 32, 32, 32, 32, 32, 32, 32, 32, 32, 24, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,129,151, +157,138,165, 85,186, 10,167, 66, 64, 64, 64, 64, 64, 64, 64,240, 34,207, 47, 81, 85,223, 5, 4, 4, 4, 4, 4, 4, 4, 4, 47, + 34,184, 70, 1, 1, 1, 1, 1, 1, 1,193,139,252,119,186, 70, 1, 1, 1, 1, 1, 1, 1, 1,193,139, 60, 35,194, 40, 66, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,129,231,136,176,210,184,160, + 41,104, 10,154,130,166,160, 41,104, 10,154,255,115, 8,125,176, 4, 4, 4, 4, 4, 4, 4, 4, 4,131, 37, 32, 32, 32, 32, 32, + 32, 32, 32, 24, 44, 1, 1, 1, 1, 1, 1, 1, 1,193, 96, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 75, 64, 64, 64, 64, 64, + 64, 64,224,191, 6, 2, 53,143, 4,184, 91, 15,157,134,140, 38,184, 43,104, 10,154,130,166,160, 41,104, 10,154,130,230,255,156, +102, 93,218,119, 33,240,255, 98,188, 4, 77, 65, 83,208, 20, 52, 5, 77, 65, 83,208,252,223,211,124,169, 16,154, 8, 5, 4, 4, + 4, 4, 4, 4, 4,158, 51,162,127,216,220, 85, 24, 60, 14,255, 89, 69,251,191, 77, 83, 64, 64,224, 57,208,165, 53,102, 72, 37, +226, 9, 6,218,188,226,114, 52,126,234, 26, 2,103,134,195,114,185, 68,212,197,104, 98,190,190,116, 27, 63,214, 83,146,120,234, +179,112,175, 63, 35,189,123,247,158, 8, 96, 1,207,243, 60,199,113,115,206,156, 57,179,253,121, 60,235,149, 74,229, 40, 0, 10, + 0, 32, 73,178, 40, 35, 35, 99,175, 37,255,216,181,107, 87, 81,105,105,105, 50, 0,143,242,175, 30, 68, 69, 69, 5,212,181, 77, +160,254, 68, 68, 68,240, 62, 62, 62,104,217,178,101, 92,102,102,230, 58, 0, 27,133,179,242, 95,100,176, 2, 92,229, 29, 95,241, +114, 29,112, 44,242,241,156,186,110, 56, 15, 15,143,229,174,174,174,147,116, 58,157, 1, 0, 79,146, 36, 79, 16, 4, 42, 94, 0, +192,178,108, 78, 92, 92,156,165, 97,200,231,166,217,164, 73,147,155, 36, 73,122, 86,252, 15, 0,212,245, 55,199,113,105,177,177, +177,109,235, 58, 72,165, 82,217,151, 36,201,153,117,237,199,113,220,242,204,204,204,227,181,237,211,162, 69,139, 40,107,107,107, +119,146, 36,137,154,246,225,249,255,148, 57, 12,195,240, 58,157, 46,235,222,189,123, 33,245,205, 91,181, 90, 61,135,231,249, 16, + 0, 63,107, 52,154,163, 0,216,103,185, 86,212,106,245, 48,158,231,231,150,159,195, 37, 25, 25, 25,251,234,243,255,254,254,254, + 55, 37, 18,137, 39, 69, 81,196,211,121, 82,221,103,142,227,120,147,201,148, 22, 31, 31,223, 86,184,237, 95, 60,157, 90,163, 99, + 99, 95,213,252,169,111,118,199,103,203,119, 79, 13,109,193,228, 74,164,146,141,195,194, 26, 59, 52,243,115,192,151,155,174, 78, + 3,184,250, 24, 44,194,203,203, 43,216,221,221,221, 87,175,215, 87, 92,139, 60, 69, 81, 79,236, 68,211, 52, 29, 23, 23,119, 84, +200, 1, 11, 11, 4,145,104,254, 31,127,252,161,226, 56, 14,253,251,247, 95, 8,224,121, 24, 44, 66, 38,147, 89, 61,122,244, 8, +102,179,153,244,241,241,177,169,103, 25,229, 18, 25, 25, 9,154,166, 77,157, 58,117,242,169,186, 77, 42,149,186, 92,185,114, 5, + 0, 76,109,218,180,241,105,232, 1, 6, 5, 5, 89, 91, 91, 89,125, 74, 17, 68, 47,150,231, 3, 1,128, 34,136,251, 44,207,159, +210,234,245,171, 99, 99, 99,181, 47,123,222,159, 60,121, 18, 19, 39, 78,196,157, 59,119,154, 30, 61,122,244,251, 57,115,230, 76, +209,104, 52,221, 1,228, 8,119,198, 63,108,176, 26, 43,173,155,186, 58, 58, 28, 89,177,116, 17,142,245,121,187, 54,131, 69,170, + 84,170, 21, 93,186,116,153,176,115,231, 78,235, 3, 7, 14, 88,251,250,250, 66, 34,145,128,162, 40, 80, 20, 5,146, 36, 65, 81, + 20, 6, 15, 30, 76, 88,106,174,170,106,158, 62,125,218, 58, 32, 32,160,178,144,229,121,190,210,100,245,239,223,191, 78, 77,146, + 36, 61,163,162,162,220,228,114,121,229,255,115, 28,247,196,139,231,249,202, 23,203,178,232,210,165,139,101, 7, 74,146, 51, 99, + 99, 99, 95,213,106,181, 79,104, 84,252, 70,197,223,175,190,250, 42, 0, 28,175, 67, 75,125,249,226,105, 55,130, 78, 2,152,124, +240,148, 19, 32,109, 4,144,178,106,247,207,207,207, 71,247,238,221,169,134,228,175,171,171,235,216,115,231,206,249, 63,122,244, +104,200, 87, 95,125,149,119,245,234,213,239, 1,108,213,104, 52,169, 13,209,227,121,126, 73, 82, 82, 82, 19,158,231,225,231,231, +183, 24, 64,189, 12, 22, 69, 81,158, 39, 79,158,116,147, 74,165,149,249, 92,211, 59,203,178,160,105, 26,225,225,225,140,112,203, +255, 67, 15, 26, 2,139, 71,190,214, 27,122, 51, 9,179,153,113, 85,185,218,238,152, 54,182,171, 24,188, 9,219, 15, 71,193,204, +112, 63,213,215, 92,245,235,215,207,103,227,198,141,162,216,216, 88, 81, 80, 80, 16, 88,150,173,124,113, 28, 87,175,251, 82,160, +210, 96, 17, 36, 73, 34, 61, 61, 29, 54, 54, 54,246,221,186,117,203, 96, 89,118,246,197,139, 23,183,255, 63,252,220, 19,145, 45, +130, 32,180, 26,141,102,215,139, 78,115,235,214,173,187,200,197,226,221,139, 22,124,226, 22,216,188, 5,233,236,234,140,135, 15, +211, 32, 21,241,161, 15,227, 30,116, 88,188,236,187, 15, 90,183,110, 61, 50, 58, 58,250,226,203,150,223,222, 67,183,124,207, 49, +244, 36, 0,216, 20, 1, 0,155, 81, 82, 82,130,119,223,125, 23,135, 14, 29, 10,234,216,177,227,114,150,101, 39, 8,119,198, 63, +104,176,252,212,114, 15, 27,137,252,196,166, 31,214, 17,230,146, 44,199, 58,110,168, 37, 93,186,116,121,107,231,206,157,142, 4, + 65,224,244,135,239,192,129, 54, 64, 61,255,107, 56,186,184,194, 52,115, 34,108, 89, 6, 45,207, 68,215,231, 38,125, 66, 51, 46, + 46, 14,249,249,249,112,117,117,133, 66,161,128, 76, 38,131, 68, 34,129, 84, 42,181,236,233, 77, 16,144,203,229, 56,121,242, 36, + 68, 34, 81,229,139,162,168,106, 63,187,187,187, 91,124,174, 56,142, 91, 30, 24, 24,216, 42, 62, 62,222,174,160,160, 0,157, 58, +117, 42, 38, 8,226,118, 21,227,209,234,246,237,219,118, 22,151, 52,116, 18, 74, 31,255, 0,190, 96, 31,224,240, 58, 88,187,145, + 48,160,209, 19,133, 76,133, 41,100,217,134, 7,157,114,114,114,232, 11, 23, 46, 32, 56, 56, 24,187,119,239,118, 46, 40, 40,152, +255,243,207, 63,207, 93,179,102,205, 28,141, 70,179,188, 1,146, 78, 0, 16, 23, 23, 7, 0,142, 13, 57, 38,169, 84,138,107,215, +174,129,231,249, 74, 83, 78,146, 36, 72,146,196, 31, 9, 46,208,154, 72,232,178,238, 98,218, 32, 31,248,250,250,254, 45,170, 37, +240, 98, 8,107,133,254,109, 90,181,232,232,227,229,141,115, 87,110, 64, 34, 21, 59, 76, 30, 55, 16,182, 54, 34,172,220,250, 39, +247, 56, 45,127,234,165,219, 22, 71, 74, 8,149, 74,213,170, 79,159, 62, 94, 27, 55,110,148, 0,192,221,187,119,161,209,104,224, +230,230, 6,185, 92, 14,177, 88, 12,138,162, 32,145, 72,132,147, 95, 15, 66, 66, 66,154, 55,111,222,220,154,101, 89,232,116, 58, +252,240,195, 15,246,114,185,220,126,224,192,129, 22, 71,178,106,104,182, 11, 52, 26,141,122,149, 74,165, 0,192,145, 36, 89,250, +116,100, 11, 0, 84, 42,149,117, 53,146, 12,128,220, 54,109,218,120, 0,144, 2,120, 80,117,155,201,100,170,105,155,165,105, 14, + 13,105,213,244,232,226, 37, 11,172, 51,179, 30,192,222, 46, 19,156, 57, 27,223,127,255, 61,172,172,236,176,112,225,108,209,193, +182,109,148, 31,127, 50,235,136, 72, 36, 10,191,121,243,230,213,151, 41,207, 57,134,158,212,186,109,231,202,207,219, 79,174,133, +209, 62, 4,233, 11, 23, 98,205,154, 53,104,210,164, 73,251,251,247,239, 11, 55,199, 63,101,176,154,123,217, 57,240, 28,127,226, +199,141,171,165,160,181,142,113, 17,151,171,110,174, 58,212,146, 0, 64,186,187,187, 79,222,181,107,151, 93, 69, 97, 23, 64,176, +112, 0,141, 87,154, 53,131,194,222, 1, 89, 12, 13,222, 76, 67, 42,145,212, 84, 32,214,169, 73,146, 36,196, 98,241, 19, 47,169, + 84,138,170,209,142, 90, 52,171,214,230, 64, 81, 20, 78,158, 60, 9,179,217,140,225,195,135, 87,107,182,106,160, 90,205,204,204, +204,227,106,181,250, 54,207,243,175,114, 28, 7,130, 32,110,103,100,100,116,173,216,174, 84, 42,251,182,110,221,122, 38,199,113, +203,235,210,228,121, 30, 96,242,192,231,239,130,109,167, 92, 20, 95,117, 1, 97,221, 11, 44,124,112, 55, 33, 19,167,111, 38, 35, + 55,191, 20,109, 2,220,208,167,147, 31, 56,142,179,248, 56,171,162, 82,169,154, 4, 5, 5, 5,154,205,102, 92,184,112, 1, 44, +203,162,101,203,150, 24, 63,126, 60,185,118,237,218,241, 0,150,215, 87, 19, 64,116,100,100,100,175,204,204, 76, 0,184, 99,193, +254,119,171, 51,194,191,252,242, 11, 12, 6,195,223,118,118,236,250, 21, 62,123,221, 7,227, 63,220,142,175,227,247, 98,195,134, + 13, 79, 52,151,214,227, 56,235,139,160,249,183,140,194,248, 17, 67,135,128,146, 88, 35,238, 97, 26,186,118, 12,129,155,155, 27, +110,199, 62,196,227,244,252, 44,130,192,219,125, 59, 75,151,235,245,166,185, 23,163,177,181, 46, 77,149, 74,213,104,243,230,205, +226,170,223, 73, 36,146,202, 40,120,213,104,248,211, 77,134, 66, 30, 85,175, 25, 18, 18,210,188,119,239,222, 23, 23, 44, 88, 96, +251,248,241, 99, 92,190,124, 25, 62, 62, 62,208,235,245,213,221, 55,181,105, 86,215,108,199,101,102,102,254,218,144,227, 60,127, +254, 60, 3,192,179,186, 29,106,219,102, 73,218, 91,180,104,161,144,136, 68,123,190, 92, 60,207, 58, 50,242, 40, 58,135,134,195, +202,214, 31, 12,157,134,188,252, 82, 20, 36,100, 96,217,178,213,152, 59,119, 22,190, 90,186,216,118,212,152,241,187, 59,118,236, +216,228,218,181,107,134,151, 37,223, 73,145,100, 99,244,205, 43,147, 0,160, 56,118, 63, 62, 26,221, 25, 37, 37, 9,248,224,131, +121, 72, 79, 79,199,131, 7, 15, 34, 95,240,113,190,180, 6,139,199,223, 59,141,214,138,135, 7,228,172,217,124,228,251,111,151, +219,219,218, 40, 92,111,158, 56,136,148,148,204, 90,255, 71,167,211,153, 14, 29, 58,132, 19, 83, 38,160, 9,193,192,113,254, 74, +184,169,213, 40,154, 48, 24,165,102, 26,141,255,186, 1,153,141, 13,164,214, 54, 22, 71, 28,116, 58,157,233,236,217,179,136,137, +137,129, 72, 36,130,141,141, 13,172,173,173, 33,147,201, 42,141, 85,197, 3,216, 82, 77,158,231, 33, 18,137,112,247,238, 93,164, +164,164,192,193,193, 1,151, 47, 95, 70,175, 94,189,158, 48, 87, 20, 69, 61,209,199,203, 82, 42,154, 22,171, 51, 96,168,163,105, +240, 9,196, 46,128,211, 91, 40,185,166, 6, 28,199,192,204,219,131,227, 57,220, 74,200,195,251, 99, 6, 0, 0, 38,207,253, 1, +189, 58,248, 86, 54, 65,214, 7,181, 90,253,126,203,150, 45, 87, 79,154, 52,137,180,182,182,134,209,104,132,209,104, 68, 92, 92, + 28,156,157,157,161, 80, 40, 26, 20, 38,224,121,254,145, 90,173,134, 92, 46, 7,207,243,143, 26,162, 65, 16, 4,246,236,217, 83, +237,182,183, 87,223,131,168,172,123, 22, 54,110,220, 8,134, 97,192,243,188, 16,194,250, 39,224,225,225,174,244, 4,201,155,145, +145,149,139,193,253,251, 64, 36,177, 65,114, 90, 46, 90, 55,243, 83,189, 57, 40, 84, 69, 17, 12,190, 88,177,107, 50,192,109,181, +224,126,103, 99, 99, 99,197,209,209,209,160, 40, 10,118,118,118, 80, 40, 20,144, 72, 36,144,201,100,149,198, 74,136, 96,213, 78, +159, 62,125,166,114, 28, 55,155,227,184,130,118,237,218,169, 23, 45, 90,100,159,150,150,134,187,119,239, 98,215,174, 93,185, 60, +207, 51,229,157,221, 23, 62,235,111, 89, 16,217, 2, 65, 16,245,238,231, 20, 20, 20, 36, 97,232,194,143,236,173,216,215, 68,164, +157, 15, 83, 92,250,168,216, 76, 30,138, 79,203, 88, 91, 30,253,170, 17,153, 88, 60,117,205,202,217,238, 46,206, 52,250,246,125, + 13,137,143, 10, 48,107,214,112, 20, 23, 27,176,243,151, 85, 0,164,160, 25, 10, 33,237,195,161, 82,121, 33,172,115,152,234,194, +165, 11,147, 1,172,122, 89,174,129,199, 7,222,155, 12, 96,177,183,183,247,249, 31,150, 45,243,239,217,179, 39, 0,224,244,233, +211,248,105,244,104, 44, 4,198,218, 2,154,143,128, 89, 47,244,137, 81, 79, 47,242,223,110,176, 42, 18, 84,159,132, 17,114,198, +118,239,162,217, 83,125,189, 27,249, 41,175,255,185, 7, 73, 73,233,200,202, 42,168,237,164,113, 4, 65,112,141, 26, 53,130,157, +217, 0,123,222, 4, 55,149, 26,182, 78,206, 40, 48,151, 71,174,172,173, 33,181,182,177,244,225, 88,169,217,172, 89, 51,100,101, +101, 65, 34,145,192,198,198, 6,182,182,182,149, 6,171,194, 92, 89,250,192, 37, 8, 2, 28,199, 65, 36, 18,225,246,237,219, 8, + 11, 11,131,151,151, 23,118,239,222,141,190,125,251,254, 45,138,213,144,166,167,138, 62, 87, 85, 35, 87, 36, 73,206,180,164,115, +251, 19, 72, 27,131,177,125, 3,164,162, 39,104,222, 14, 70, 94, 85,222, 36,200,227,207, 27, 89,136, 79,201,125,162,185,208,114, +243,236,161,150,203,229,219,103,205,154,213,163,109,219,182,160,105, 26, 0,160, 80, 40, 96, 52, 26, 33, 22,139, 65,211, 52,244, +122,125,250, 63,113,225, 86,156,243, 19, 39, 78,128, 32,136, 74,163, 91,209, 84,168,213,164, 98,252,180,157,144,138,128,219,183, +111, 35, 48, 48, 80, 40, 81,255, 33,172,228,114,103,169,220, 30, 28, 99,128, 72, 44,134,183,215, 43,224, 88, 35, 10,138,117,120, +251,141, 65,136,186,115, 15, 71,207, 94,103,204,102,110,173,165,154, 1, 1, 1,200,206,206, 6, 69, 81,176,181,181,133,181,181, + 53,154, 54,109,138,212,212,212, 39,162, 88, 2, 53, 67,146,228,156,163, 71,143,186, 83, 20,165,100, 24, 6,169,169,169,184,125, +251, 54,214,173, 91,151,165,213,106,187, 69, 69, 69,197, 55, 64,182,166,102,187,234, 58,171, 55, 36,178, 85,181,242,231,111, 39, + 51,157, 90,185, 98,138,103,203,214,237, 8, 57,101, 83,164,123,152, 29,118,227,250,213,208,185, 91,127,159,154, 82,168,235,153, +157,157, 93, 99,229,141, 34,201, 94, 77,155,183, 32, 57, 46, 13,148, 36, 16,223,174,254, 12,249, 5, 90,148,150,232, 1, 72, 97, + 50,139, 96, 52, 18,232,222,163, 39,118,239, 57,132,118,109,219, 81, 20, 73,246,121,153, 12, 22, 0, 80, 20,181,252,224,193,131, +254,114,185, 28, 75,151, 46,133,173,173, 45,174, 45, 94,140,159, 36, 18, 88, 1,216, 72,211, 51,241,226, 12, 86, 67,188,200,191, + 34,130, 85, 47, 60, 61, 61, 87,117, 12,237,240,106,163,102,237,228,215,143,237, 71,194,131, 20,228,230, 22,129, 7,244,181,157, + 60,130, 32,120,177, 88, 12,183, 47,190,132,119,203,150,208, 77, 28,134, 2, 51, 13,191, 63,175, 65,102, 99,131,251,189, 67,192, +155, 76,232, 18,155,101,169,113,225, 9,130,224, 1,192,197,197, 5, 18,137, 4,114,185, 28,114,185,188,178,239, 85,213,151,165, +102,136,227, 56, 20, 23, 23,227,209,163, 71,152, 56,113, 34, 20, 10, 5, 8,130, 64, 86, 86, 22,124,124,124, 64, 81, 20,210,211, +211,113,230,204, 25, 52,106,212, 8, 82,169,180, 94, 23, 67,149, 78,237,173,212,106,245,121,158,231, 91,221,188,121,211,174,109, +219,182,168, 87, 4,139,144,192, 8, 31,176,240, 4,199,255,167,175,149,153,121,178,242, 86, 97,178, 44,193,221,221, 61, 40, 48, + 48,240,234,186,117,107,109,221,220,220,193,113, 44,204,102, 51,138,138,138,161,211,233,224,237,237, 13,107,107,107,126,229,202, +149, 4,203,178,255,216, 80,222, 10, 67, 85, 17, 65,172,232,127, 69,146, 36,166,189,230,141,130, 2, 91, 80, 84,217,103, 75,211, + 46,240,252,177,182,182,117, 18, 73,172,193,145, 34,216,219, 59, 66, 36,181, 6,199,136,192,114,128,173,189, 11,174, 68,197,225, +234,157,146,247,179,243, 96,201,208,125, 94, 36, 18,241, 20, 69,193,205,205,173,210, 76,137,197,226,138,107, 23,197,197,197,160, + 40,170,242, 59,129,218, 43,146,201,201,201,208,106,181,184,118,237, 26,246,236,217,147,243,180,185,234,221,187,247, 36,133, 66, + 49,215, 96, 48, 44, 61,126,252,248,247,181,105, 54,160,217,174, 33,145,175,128,144,144, 16,177,152, 47, 56,250,215,254,213,158, +118,108, 20,129,228,247,128,248,226, 88,155, 27,110,157,123,182, 31, 72, 52,251,242, 99,159,193,243, 86,255,149,157,141, 32,212, + 48,226,153, 7, 90,200,173,228, 0, 79,224,242,165, 99,101,205,130,249, 37, 40,213, 26, 96,164, 41, 24, 77, 4, 12, 52,129,158, +189,194,177,121,235,111,208,100, 23,128, 7, 90,190,108,215, 65,147, 38, 77,218,120,120,120,224,227,143, 63,134, 97,215, 46,148, + 2, 24, 8,224, 96,121,165,218, 22,152, 46,220, 45, 47,208, 96,121,120,120, 76,109,213,170,213,187, 91,126,222,105,179, 98,222, + 23,197, 5,177,119, 40,147,158,182, 54,154,205,166,135,154,188,181,117,152,161,178, 90,167,131, 35, 20,118,246, 48, 62, 21,185, +226, 77, 38,112,180, 9, 18,203, 31,142, 60, 65, 16,224,121, 30, 86, 86, 86,144, 74,165,213, 70,174,234, 19,193, 2,128,194,194, + 66,236,217,179, 7,237,219,183,135, 66,161, 0, 69, 81,104,213,170, 21, 98, 99, 99,225,231,231, 7, 0, 56,120,240, 32, 94,127, +253,117, 36, 36, 36, 32, 40, 40,200, 38, 34, 34,162, 94, 6,139,101, 89,156, 56,113,194,142,231,249, 87,121,158, 71, 78, 78,195, + 70,195,178, 44, 11,173, 86,139, 19, 39, 78, 32, 35, 35, 3, 74,165, 18, 69, 69,182,176, 83,115,149,102,177,226,101,225,131,247, +139,119,222,121,199,214,198,198, 6, 44,203, 64, 44, 22, 87, 26, 87,177, 88,130,184,184, 56,140, 30, 61,186, 40, 57, 57,249,243, + 6,142,250, 33, 68, 34,194,189,168,168, 0, 37,197,133,160, 40,120, 1,160,208,128,169, 31, 72,146,172,124,175,120, 17, 4, 1, +137,152,130,210,221,181,178,227,123,121,244, 78,104, 34,124,129,190, 10,192, 72, 0,111, 21,148,152, 68,249, 37,122,128, 49,225, + 81,242, 35, 20,106,105,240,140, 25,143,211, 52,208, 26, 57,228,229,151,160,117,155,190,235,206,158, 61, 59,135,166,233,217, 0, +142, 88,114,205, 71, 68, 68,224,194,133, 11,184,116,233, 18, 42, 58, 74, 3,128,157,157, 29, 78,158, 60,137,238,221,187, 11,185, + 80, 11, 52, 77, 47,237,211,167,207,108,165, 82, 41, 95,181,106,149,189,183,183, 55, 8,130, 40,126, 58,114,213,182,109,219, 57, + 51,103,206, 84, 13, 31, 62,124, 26,128,239, 27,248,115,181,117, 86,175,181,140,170,110, 42,134,236,236,204, 73,155,182,143,119, +181, 22, 63,202, 64,242,183,229,230,139, 2,116,197,192,217,157,144,188,250,101,242,152, 30,147,221, 50, 74,214,190,147,158,153, +190,185,134, 7, 29, 23, 23,159,130, 13, 27,214, 96,238,220,201,216,181,115, 13, 56, 94,130, 18,173, 25,238,234, 96,152,204, 28, + 8, 82,140, 78,157,187,224,210,149,235, 0, 75, 99,218,196,171, 47,221, 92,107, 15, 30, 60,184,145,146,146, 18, 56,111,222, 60, +108,243,240,128,173,173, 45, 62, 93,176,224, 42,203,178,157,133,187,228,249, 24, 44,139, 67,114, 30, 30, 30, 67, 85, 42,213,138, +157, 59,119, 90,101,100,100, 64,221,164,185,221, 31,191,239, 49,186,217, 72,244,154,252,130,113,209, 25,218, 58,135,219,147, 36, + 9,102,241,167,200, 99, 76,240,253,227, 10,100, 54, 54,136,239,219, 22,188,201,132,206,145,201,144,217,216, 64, 36,183,170,119, + 98,170,139, 88, 85,125, 85, 20,198,117, 97, 50,153, 28,122,245,234,133,158, 61,123, 98,216,176, 97,149, 77,129,193,193,193,248, +237,183,223, 48,116,232, 80, 68, 71, 71, 67,173, 86,163,105,211,166,104,218,180, 41,206,158, 61, 91,191, 56,104,121, 4,171,111, +223,190,197, 4, 65,220,230,121,190,213,141, 27, 55,236,234,171, 81, 97,160, 78,156, 56,129, 1, 3, 6,192,207,207, 15, 81, 81, + 81, 56,249,229, 74,136,108, 92, 0,210, 13, 60,199, 87, 70,182, 44,233,131, 37,145, 72,194, 26, 53,106,132,204,204, 44,200,100, + 50, 56, 58, 58,192,202,202, 10, 50,153, 28,203,150, 45,227, 54,111,222,188,158, 32,136, 47, 53, 26, 77,126, 3,204,121, 99, 23, + 23,151, 95,198,141, 29,211,193,217,217, 5,238,238, 42,204,156, 49, 43,124,215,111,187, 99, 30, 63,126, 60, 42, 35, 35,227,142, +165, 90, 4, 65,192,100, 50,129,162, 40, 28,140,119,133,214, 68,160, 56, 45, 18, 31,189,230, 83,105,182, 42,154,122, 43,166,191, + 16,120, 49, 80, 20,181,237,211, 79, 63,237, 54, 98,196, 8, 66, 66,154, 77, 39,143,111, 23,177, 44, 67,124, 54,251, 71,246,220, +197,243, 36,203, 50,196,176,209,211,185,163,103,238,144,239, 79, 91,201, 6,119, 28,128,187,119,239, 42, 7, 14, 28,184,196,108, + 54, 91,100,176, 42,242,184,134,223, 23,154, 8,235,224,244,233,211,235, 1,172,239,221,187,119,166, 66,161, 64,105,105,233,223, +250, 41, 6, 5, 5, 89, 39, 37, 37, 73,164, 82, 41,218,180,105,227,202,113, 92, 60, 65, 16,171, 78,156, 56,177,165, 62,191, 85, + 67,100,171,193,211, 52,216, 58,177,131, 90,182,107,106, 27,103, 61,207,214, 74,108,184,245, 74,188,220,142, 0, 80,164, 87, 38, + 94, 78, 27, 85, 74,102, 83,173, 91,246,104, 6, 91,177,226, 53, 0,213, 26, 44, 2,184,173, 45, 41,233,163,211, 51, 56,127, 46, + 26,195,135,123,195, 64,147,208, 27, 72,208,102, 30, 36, 37, 1, 65, 73, 48,110,194,187, 48, 49, 28, 10, 53, 26, 16, 64,244,203, +118, 29,176, 44, 59,115,240,224,193,237,150, 46, 93, 26,244,233,167,159, 2, 0,212,106,117,167, 57,115,230,220,251, 7,230,193, +122,105,154, 7,159,142, 96,213,154,176,174, 93,187,110, 49,155,205, 67,242,243,243, 29,223,125,247, 93, 58, 55, 55, 23, 7, 14, + 28,192, 79, 63,253,164,211,154,169,155,133,121,204,216, 36,141, 54,205,146, 66,145, 36, 73, 72,204,102,240,204,127, 34, 87,156, +209, 88, 25,201, 18, 91, 41,234,151, 35,229, 17,172,234, 76, 85, 69, 36,171, 62, 15, 91,153, 76, 86,120,233,210, 37,183,180,180, +180, 39, 58,180,251,250,250, 2, 0,110,220,184,129,107,215,174, 97,212,168, 81, 16,137, 68,144, 72, 36,184,125,251,118, 73,125, +142,185,194,240, 84,140, 34, 84, 42,149,125, 59,116,232, 80,211,232,193, 58,181, 30, 63,126, 12, 63, 63, 63, 24,141, 70, 56, 56, + 56, 32, 79,243, 8,143, 31, 37, 65,103,140, 71, 35,165, 28,217,217,217,144,201,100,150,222,112,108, 69,193,101, 52, 26,161,209, +100, 66,173, 86, 99,199,142,157,216,178,101,203, 40,141, 70,179,183, 33,215,154, 74,165,154,222,191,127,255, 37, 67,134, 12, 17, +233,180,165,224,185, 50,195, 35,145, 74,240,221,119,223, 53, 61,115,230,204,173,117,235,214,125, 37,151,203,151, 36, 38, 38,154, +234,202,115, 0,216,182,109, 27, 0, 64,209,113, 1,102,142,120, 5,111, 77,222,142, 85,171,246, 63,145, 86,138,162,176,104,209, + 34,161, 68,125,129,116,236,216, 49,120,246,236,217,226,138, 62,113,106,239,165, 12, 77,211, 28, 0, 4,182,122,245, 63,145,202, +190, 64, 66, 66, 2, 86,173, 90, 5,173, 86, 11,145, 72, 36, 49,155,205, 22,253, 70,175, 94,189,208,183,111,223,202,102, 66, 23, + 23, 23,208, 52, 13,134, 97, 4,115, 85,207, 72,214,128, 1, 3,102,115, 28,199,115, 28, 55,175,226,251,144,144, 16, 43, 55, 55, +183,203,107,214,172,113,102, 24, 6,211,167, 79,119,200,205,205,117,152, 50,101,202, 44, 0, 91,106, 40, 39,234, 51,187,186, 69, +211, 52, 84,215,167,139, 32,136, 70,214,214,246,200, 65, 38, 10, 93,204,193,133,206, 76,254, 9,205,251,183,189, 82, 91, 7, 90, +177,102, 63,178,216, 4,123, 43, 59,128,227,155,212,248,156,227,184, 19,177, 49,247,122,122,122,248, 81,135,254, 56,135, 1,131, +134,194, 96, 34, 96,160, 73, 16,148, 24, 4, 37, 65,187, 14,157,225,235, 23, 0,142, 3,238, 69, 71,210,102,142,251,235,101,202, +251,170,243, 96, 77,255,238, 52,230, 44,254, 22, 99,134,245,197,248,241,227,255,201,121,176, 94,218, 62, 88, 53,153,171,183, 29, + 29, 29, 71, 79,152, 48,193,234,198,141, 27, 88,188,120,177,232,228,201,147,116, 68, 68, 4,195,178,236,244,140,140,140, 77,245, +249, 81,146, 36,209,104,231,159, 80, 43,149,120, 16,222,238,137,200,213,249, 86,158,224,140, 70,244, 78, 42,170,119, 98, 42,154, +178, 42,140, 85,133,185,170,101, 42,133,218,106,224,213,206,123,245,193, 7, 31, 96,203,150, 45,232,220,185, 51,252,253,253, 33, + 18,137, 42,155,165, 26, 18,193,170,160,222,163, 7,159,170,205,123,123,123,227,206,157, 59,176,183,183,199, 47,191,252, 2, 47, + 79, 15,140,237,227, 11,147,201, 4,179,217, 12,173, 86, 91, 17,193,170,243, 64, 57,142,139, 57,112,224,128,223,136, 17, 35,120, +145, 72, 68, 24,141, 70, 0,192,218,181,107,179,235, 59,227,122,121,109,104,152, 76, 38,219, 58,106,212, 40,219,166, 77,155, 34, + 43, 43, 11,215,175, 95,197,172, 89, 51,175,139,197, 34, 67,120,191,254,221,130,130,154, 99,242,228,201,100,112,112,240,220, 89, +179,102, 77,247,244,244, 28,159,150,150,182,167, 46,147,245,219,111,191, 1, 0,222,249,238, 62, 76,166,178,130,121,227,198,141, + 80, 42,149, 79,236,251,240,225, 67, 97, 20,225, 11,132, 97, 24,158, 36, 73, 34, 53, 53,149, 86, 40, 20,132,147,147,147, 72, 38, +147,193,104, 52, 86, 26,173,132,132, 4, 28, 57,114, 4,105,105,105,112,114,114, 34,237,237,237,193, 48, 76,129,165,215,124,213, +209,130, 21,134, 74, 48, 87,245,231,252,249,243,235, 1,172,175,248,220,179,103,207,137, 4, 65,204, 48,155,205,118, 91,182,108, +113,176,179,179, 35,142, 28, 57, 98,250,225,135, 31, 74, 41,138, 42, 0,176,178,182, 50,229,121,205,174, 94, 75,228, 11, 44,131, + 7, 5,165, 73, 62, 98, 27, 21, 23,109, 32,174,124,156, 58, 51,176,128,108,226, 78, 52,111,206, 12,207,142,185, 60,214,156,216, + 57, 39, 43,155, 96,121,190,198, 73,156, 10,138,138,190,223,250,243,238,143, 14,236,219,238, 45,183, 83, 96,204, 91, 83,113,226, +212, 69, 72,101, 10, 92,191,121, 11, 38,154, 69,242,227,116,140,122,115, 12, 84,110,206,160,116, 25, 26,163,201,180,233,101,202, +251, 39,230,193,106,219, 25,151,247,175,196,111,241,222, 72, 95,188,248,159,158, 7,235,165,139, 96, 85, 75,251,246,237,109, 11, + 11, 11,191,251,228,147, 79,172,180, 90, 45,114,115,115,145,151,151,135,235,215,175,159, 52,155,205, 31,213, 54, 74, 3,101,171, +109,223,125,186, 80,164, 40, 10, 78,174,110,144,217,216,130, 55,153, 42, 35, 87, 18,133, 53, 56,163, 17, 28,109, 2,106,110,206, +169, 86,147, 32,136,191, 69,173,234, 97,174,158,208,172,136,136, 85, 55,169,168,151,151, 23,190,250,234,171,191, 77,211, 96,201, +113, 2,101,163, 5,121,158,111, 85, 17,121,226,121,190,149, 82,169,236,107,225,200,193,106, 53, 57,142, 67,215,174, 93,113,242, +228, 73,220,185,115, 7, 36, 73,162, 95,191,126, 32, 8, 2,246,246,246, 16,137, 68,149,102,174, 98, 64, 64,109,154, 44,203,190, +245,211, 79, 63,125,246,215, 95,127,125,241,225,135, 31, 90,189,250,234,171, 21,253,188,114, 80,182,198, 99,189,142,147,227,184, +133,183,111,223,182,101, 24, 6, 75,151, 46,197,205,155, 55,181, 15, 31, 62,252, 68,163,209,108, 5,192, 23, 20,150,140, 73, 76, +124,180, 97,254,252,249,182, 61,122,244,192,141, 27, 55,228, 94, 94, 94,243, 1,236,169, 43,237,215,175, 95, 7, 69, 81, 96,242, + 83, 48,121,230,110,216, 40,196,136,139,139, 67, 94, 94, 94,229,181, 86, 75, 83, 82,181,154,207,136,160, 9, 32, 34, 34,226,247, +245,235,215,127, 48,110,220, 56, 9,207,243,108, 74, 74,138, 25, 0,161, 84, 42,169,136,136, 8,238,240,225,195,208,235,245,240, +244,244, 36, 61, 60, 60,136,147, 39, 79,114,177,177,177,215,121,158,159,109,233,113, 86, 53, 87, 98,177, 24,122,189,222, 82,115, + 37,228, 81,237, 44,216,191,127,191,202, 96, 48, 64, 42,149, 98,239,222,189,244,246,237,219,239, 21, 23, 23,119,137,138,138,210, + 55, 68,179, 1,211, 52,212,170, 89, 82, 64, 30, 57,121,226, 94, 43,115,247, 31,137, 15, 51,243,194, 42, 43,174, 4,225,178,215, +189,133,139,188,125,235,116,155, 11,223,144,165,188,238,112, 77,154,137,137,137, 38,219,224,224,215, 63,253,108,222,217,197, 11, + 23,216, 46,255,122, 5,238, 14, 24,142,194, 34, 29,140, 38, 22, 52,195, 97,225,194, 47,225,230,228, 0, 71, 9, 93, 90,168, 39, + 94,143,141,141,165, 95,166,124,127,198,121,176,254, 63,142,243,165,162, 78,247,161,211,233, 22, 7, 4, 4, 72, 99, 99, 99,241, +240,225, 67,196,199,199,131,101,217,132,244,244,244,129, 13,253, 81,146, 36, 97,111,111, 15,169, 84,138, 78,119,210, 33,149, 72, + 32,181, 46, 91,158,170,119, 82, 17,192,243, 32,165,178,122,107, 62, 61,231,213,179,140, 34, 98, 89,182,114,134,246,170,235, 25, + 62, 61, 90,173,190,145, 43,146, 36,103, 94,189,122,213, 46, 37, 37, 5, 60,207, 99,255,254,253,118,195,134, 13,155,217,144,232, + 21,207,243,200,203,203, 3,199,113, 16,139,197,232,209,163, 7, 66, 66, 66, 80, 90, 90, 10,150,101, 43,155, 47, 37, 18, 73,189, + 70, 17,102,103,103,235, 0, 44, 50,155,205,155,230,206,157,187,168, 69,139, 22,239,126,252,241,199, 36, 26, 56, 40,130, 32, 8, +134, 97, 24,236,221,187, 23,251,246,237, 43,225,121, 62, 64,163,209,100, 86,137,222,237,188,118,237,218,201,161, 67,135, 38, 36, + 38, 38,218, 21, 21, 21, 1,117,204, 97, 83,126,109,194,223,223, 31, 44,203, 98,197,100, 79,148,148,180, 4,203,178, 96, 24, 6, + 10,133,226,137, 37,136,132, 89,220, 95,112,205,152,227,102,205,153, 51,231,216, 87, 95,125, 53,115,218,180,105, 29,198,141, 27, + 39,150, 72, 36, 92,122,122, 58,179,107,215, 46,162, 73,147, 38,164, 88, 44, 38, 78,156, 56,193,221,184,113,227, 26,195, 48, 43, + 0,212,107, 41,146,170,230, 74,232,115,245, 92,217, 51, 98,196,136,113,195,135, 15,183, 10, 14, 14,150,253,244,211, 79,133, 90, +173,182, 38,115,245,183,224,101, 77,211, 52, 60,167, 9, 72, 1, 0, 26,141,102,211,151, 11, 46, 76, 30,227, 63,186,201,187,206, +175,224,148, 54, 27, 5, 98,138,180,115, 32, 17,236, 67, 65, 87,152,232,118,234,198,254,120,141, 70,179,173, 54,157, 91,183,110, + 69,145, 36,217,245,173,183,223, 57, 48, 97,220, 4,245, 23, 31,127, 36, 62,114,242, 44, 88,179, 17, 23, 79,159,134,139, 13,201, +210,218,172,140, 34, 51, 57, 56, 42, 42,234,165,235,127, 85, 62, 15,214,100, 0,163, 22, 44, 88,176,107,242,228,201,224, 56, 14, +231,206,157,195,134, 25, 51,176,144,101,199,218, 2,186,143,202,246, 17,120, 94, 6,171, 93,187,118,175,104,181,218, 95, 76, 38, + 83, 48,199,113,210,243,231,207,195, 96, 48, 32, 54, 54, 86,207,113,220,239,207,240,155, 41,253,250,245, 35,159, 94, 47,174, 6, +147, 99,105,231,186,148, 94,189,122, 61, 55, 77,142,227,210,170,174, 97, 86,147,110,213,207, 12,195,164, 89,114,160, 28,199, 45, +239,212,169,211,223,190,107, 96, 33,150,212,179,103, 79,250,105,211, 85,221,223, 85,210,159,102,169,126,110,110,110, 22,128,247, + 57,142, 91, 51,126,252,248, 5, 0, 18, 26,104,176,150, 4, 5, 5,205, 45,251,147, 88,156,145,145,145, 89,141,169,203, 81,171, +213,239,122,121,121, 85, 46, 0, 93, 87,218,123,247,238, 77,215,181,200,115,213,200, 21,199,113,105,194, 45,255, 66,185,168,211, +233, 46, 46, 91,182,172,203,134, 13, 27,102,125,240,193, 7,237, 71,142, 28, 41,234,218,181, 43,142, 30, 61,202,158, 59,119,238, +186, 94,175, 95, 94, 95, 99, 69, 16, 68,233,211,247, 80, 45,149, 16,131,144, 13,245,227,244,233,211,159,118,238,220,121,193,158, + 61,123,146,125,124,124,100, 4, 65, 48, 22,154,171,231, 62, 77, 67,109, 70,142, 42, 53, 12,218, 57,250,131, 35,193, 31,190,227, +211,183,115, 27,185,103, 99,149, 50, 46, 37, 15,169,183, 79,234, 19,207,111,120,196, 27,242, 6,193,130,136,123,100,100,100,180, +159,159, 95,192,166,159,182,188, 35,161,168,222, 28,207,135,124, 62,101, 44, 72,130,136,162, 89,246,100,113, 73,201,214,186,250, +132,254,219,145, 73, 36, 99,167, 76,153,130, 29, 59,118,224,192,154, 53,232,155,150,134,223, 36, 18, 88, 73, 36,216, 72,211,147, + 32, 24,172, 6, 81,163, 19, 9, 8, 8,248, 45, 63, 63,127,120,113,113, 49,195, 48, 12, 75, 16, 4, 67, 16,132,158,227,184, 47, + 57,142,251, 1,101,157,208,234, 66, 8,197, 11,154,130,166,160, 89, 65, 23, 59, 59,187,143, 57,142, 67,105,105,233, 26, 11,141, +149,112, 62,255, 33,205,238,221,187,175, 38, 73,178, 3,203,178, 63,159, 59,119,110,243,179,104,214,179,243,123,125,142, 83,164, + 84, 42, 39,240,142, 54, 3, 97, 22,249,243, 52, 21, 71,209,249, 71,202, 35, 87,156,144,239,150,105,198,197,197,241, 78, 78, 78, +200,207,207,199,190,166, 77,159,216,102, 11,108,172, 33,130,245, 66,155, 8,121,158,111, 7,192,181,162,254, 15, 32, 14, 64, 27, + 0, 86, 0,140, 0, 74, 1,184, 84,249,151,188,242,109, 21,219, 47, 16, 4, 97,198, 75, 68, 11, 65, 83,208, 20, 52, 5, 77, 65, + 83,208, 20, 52, 5,205,103, 52, 88, 3, 80, 22,216,225,103,206,156, 57,139,231,249,240,153, 51,103,206,170,242,185,114,123,217, +238,252,128,167,182,183,195, 75,134,112,241, 9,154,130,166,160, 41,104, 10,154,130,166,160,249, 92, 12, 86,109,239, 53,253, 93, +229,253,133, 66,212,114,146,238,254, 63,159,232,187,130,166,160, 41,104, 10,154,130,166,160, 41,104,254,207,105,214,165,125,183, + 58,131, 69, 16,196, 17,158,231, 7, 86,125,175,178,125, 32, 0, 84,108,171,248,187,234,118,130, 32,254,196, 75,132,224,238, 5, + 77, 65, 83,208, 20, 52, 5, 77, 65, 83,208,124, 38,254,141, 17,172, 26, 71, 17,242,123,247, 82,233, 65,176,147, 90, 41, 36, 0, + 96,210,235,104,143, 88, 20, 19, 35, 70,176, 16, 16, 16, 16, 16, 16, 16, 16,120,193, 16, 4,113,100,230,204,153,179,255, 13,199, + 42,170,201, 92,229,182, 85,184,136,140, 5, 1, 44, 67, 7, 2,128,136,228,239,231,182,117,140,231,247,238,205,125,222, 38, 43, + 60, 60,124, 54,207,243,238, 98,177,248, 79,165, 82,121,110,243,230,205,102,225, 50,122,241,240, 60, 95,231, 98,141,109,218,180, +113, 52, 26,141, 43, 57,142,235, 81,190,206,223, 57,137, 68,242,217,173, 91,183,242, 9,130,168,113, 72,180,183,183,247, 46, 63, + 63,191, 0,190, 12, 0,120, 98, 94,174,138,239, 42,182, 63,126,252,248, 65, 90, 90,218,155,150, 30,187,151,151,151,175, 92, 46, +127,155, 32,136,160,114,157, 88,131,193,240,115,106,106,234,163,255,181,124, 84,169, 84, 86, 60,207, 15, 17,139,197,227,156,156, +156,218,231,228,228, 44,204,200,200,248,246, 25,158, 17,211, 29, 28, 28, 70, 57, 56, 56, 52,202,207,207, 79, 44, 46, 46,222, 3, + 96, 21,128, 58,239,211, 47,167,168, 59,190,218,191,235,188, 11, 71,207, 47,158,191, 33,227,218,211,219, 23, 78, 87, 57,247,232, + 25, 58,239,175, 63,175,124,185,108, 67, 70,125,215,182, 36,203, 95, 64,217,136,177,138, 14,174,255,173,249, 18, 12, 96, 6,203, +178, 98,146, 36,191,205,204,204,188,244,223,126, 45, 53,109,218,244, 11,169, 84, 58,137, 36,201,196,172,172,172, 9, 26,141,230, +121, 77,117, 66,250,248,248,216,166,164,164,148,192,178,201,139, 5, 0,116,236,216, 49,139,166,105,183,218,246,145, 72, 36,217, +215,174, 93,115,127, 9,147,159, 91,209,244, 7, 32, 27, 0, 85,254,217, 84,254,158, 85,229,187,172, 26,182,255,243, 6, 43, 61, + 8,118, 34, 99, 65, 64, 94,214,189,145, 57,154, 91,111, 0,128,171, 42,120,143,179,123,179,221,233, 65, 82, 90,217,116,168,141, + 88, 33,250,158,162,196,193, 6,147,209, 69, 44, 18,231,210,140,249, 22,105,226, 39,103,198, 29,120,108,201, 15, 15, 28, 56, 48, + 0,128,125, 72, 72, 72,196,197,139, 23,219,127,251,237,183,170,125,251,246,181,138,140,140, 28, 61,104,208,160, 63,120,158, 63, +126,228,200, 17,125,189, 82,211,181,171,200,173,208,105, 44, 37, 18, 13, 2,208,138,231, 1, 16,212,109,206, 76,255,153,237,152, +247, 51,202,230,104,105,216,133, 29,226, 20, 64,112,244,231, 98,138,239, 98,102,137,139, 60, 41, 89,121, 45, 42, 63,222,114, 3, +160,234, 37, 21, 17, 63, 2,128,137,225,223, 77, 77,213,156,122,150,253,106,120,128,247, 6,176,147, 32, 8, 49,128,141, 44,203, + 30,204,202,202,138,134, 5,147,118, 90, 66,179,102,205, 92, 9,130,184,189,186,195,126,171, 0, 0, 32, 0, 73, 68, 65, 84,122, +245,106,231, 14, 29, 58, 80, 28,199,225,204,153, 51,111,206,157, 59,183,111,243,230,205, 91,148, 95,244,213,226,231,231, 23,112, +250,244,233,214,199,142, 29, 67,231,206,157,193,113, 28, 56,142,131,131,131, 3, 14, 31, 62,140, 14, 29, 58, 84,126,231,238,238, +142,174, 93,187, 34, 45,205,178,103,121,163, 70,141,134, 52,111,209,122,218, 39,159,207,112,119,115,118,177,101, 88,134, 78, 79, +215,168,215,124,187,162,163, 88, 44,254, 62, 41, 41,233, 96, 67, 42, 74,158,158,158, 35,197, 98,241, 64, 0, 65,229,223,197,154, +205,230, 35,105,105,105,187, 45, 45,200, 91,181,106,117,129, 36,201, 87,234,243,195, 44,203, 62,190,115,231, 78, 88, 67,242, 72, +173, 86,143, 80,171,213, 63,117,236,216, 81, 17, 28, 28, 12,137, 68,130,175,191,254,122,186, 5, 6, 75, 4, 96,186, 66,161, 24, +105,109,109,237, 87, 90, 90,250, 80,175,215,239,147, 74,165,189,190,251,238, 59,175,208,208, 80,219,172,172, 44,130,162, 40,247, + 63,254,248, 99,236,186,117,235,250, 50, 12,211,179,174,107,171, 32,145,155, 39, 19, 7,118, 41,120,120,118, 30,128,126, 79,111, +103, 12,242,113,148,216,107, 32,197, 71,165,150,155, 54,139, 11,104, 79, 79,207,239,220,221,221,199,235,245,122, 3, 65, 16,124, +249,171,162,150, 11, 0, 48,153, 76, 5,241,241,241, 77,107, 19,122,165,163,227, 77,138,164,106,156,187,137,229,216,180,228,107, + 5,109,159, 67, 5,230,227,232,232,232,225, 34,145,136,104,221,186,181, 53,128,190,150,154, 11,149, 74, 21, 64, 16,196, 28,158, +231, 35, 52, 26,205,247, 0, 88,181, 90,221,157,231,249, 47,202,211,251,117, 70, 70,198,217,242,107,224,123,127,127,255,215, 18, + 18, 18, 54,102,100,100, 44,105,232,241,250,251,251, 79,158, 58,117,234,130, 73,147, 38, 89,229,229,229,249,244,233,211,231, 87, +141, 70,211,229, 89,206, 65, 72, 72,136, 56, 51, 51,115,186,171,171,235,135,237,218,181, 83,221,187,119, 47, 51, 37, 37,101,173, + 82,169, 92, 21, 21, 21, 85,167, 97,111,217,178,165, 90, 36, 18,141, 7, 48,182,188, 0,253, 13,192,207,183,110,221, 74,252, 95, + 48, 88, 52, 77,187,157, 90, 50, 15, 4, 69, 65,222,165, 23, 56,142, 67,238,202, 5, 96,242,115,225,178,100, 45, 24,134, 65,175, + 94,189,220, 94,210,200,213,141,127,219, 49, 87,107,176,164, 86, 10, 9,203,208,129, 57,154, 91,111,180, 15, 95,107, 15, 0, 55, +142, 77,123,195,217,163,249, 93,169, 72, 17, 47,179,147,239,127,125, 80,175,224,225, 3,187, 18,158, 42, 55,164,105,178,221,183, +254,118, 60,252,200,241,179,251, 81, 54, 47, 69,157, 20, 23, 23, 47,245,241,241,113, 61,125,250,116,178, 84, 42,181,146,203,229, +196,136, 17, 35,172, 70,143, 30,221,236,204,153, 51,126,199,142, 29, 27,254,218,107,175, 29,147, 72, 36,127,254,254,251,239,117, +174, 79,230,214, 98, 72, 51,178, 68,246,251,224, 33,253, 94, 25,208,219, 77,234,163,116, 5,199,201, 17,151, 68,123,159,188, 24, + 21,126,244,216,137,207,217,160, 33, 35,114, 98, 15,222,177,244,228, 52,111,110,231, 96, 69,242,159, 90, 73,249, 81,221, 58,251, +251, 14,234,215,153,104,212,184, 17,226, 99,227,253,206,158,143, 24, 47,163,238, 61,210,155,136,223,244, 28,177, 58, 38,166,184, +176, 54, 45,169,136,216,118, 59, 38, 65,205,178, 44,190, 94,241,213, 73,142, 39, 43,103, 87,175,120, 85,204, 66,254,205, 55,223, +192,104, 52,162, 93,112,243,109,248,207,188, 49,150,240,235,189,123,247,156,117, 58, 29,142, 29, 59, 54, 75,163,209,204, 58,126, +252,184, 38, 53, 53,245,115,141, 70,243,219,115,168,221,175,223,184,113,163,115,251,246,237, 41,154, 46,155,223, 52, 52, 52,148, +154, 61,123,182,211,178,101,203,214, 0, 24, 85, 75,225,194, 31, 59,118, 12,191,252,242, 75,238,138, 21, 43,210, 0,192,197,197, +197,227,205, 55,223,116,221,185,115,103,206,234,213,171,211,120,158,135,179,179,179,231,200,145, 35, 93,121,222,178, 67,245,244, +244,108,212,162, 85,240,180,159,183,109,235, 80,148,159,111,248,113,245,198, 40,163, 72,166,243, 9, 10,144,204, 91,176,196,254, +203,249,179,222,167,105,250,110, 90, 90, 90,146,165,137, 84, 42,149,222, 50,153,108,255,236,217,179, 91,132,133,133,137,221,220, +220,144,149,149,133,184,184,184, 22,151, 47, 95, 30,114,240,224,193,233, 70,163,241,245,204,204,204, 58, 43, 19, 60,207, 55, 57, +244,245, 87,110, 50,103, 23,112,102, 51, 28, 91, 6, 87,110,203, 56,115, 28,156,217, 12,206,108,134,215,128, 33,149,145,188,238, +221,187, 55,104, 74,114, 15, 15, 15,117,147, 38, 77,118,204,156, 57, 83, 98, 52, 26,113,235,214, 45, 92,189,122,149,203,206,206, +174,107, 34, 91, 17, 65, 16, 39, 22, 44, 88,224, 25, 22, 22,102,155,155,155, 11,150,101, 93, 14, 30, 60, 56, 57, 36, 36,196,206, +211,211, 83,186,125,251,246,138, 21, 2,156,252,252,252,156, 70,143, 30,109,250,229,151, 95,166, 3, 88, 81, 83,228,170,240, 33, + 55, 79, 67,249,133, 55,109,251, 54, 50, 69,199,195, 63,233,131,191, 28,252,200,202, 72, 86,184,159,159,109, 81,186,213, 12, 27, +187, 22, 78, 69,233, 39,103,132,251,249,109, 57,150,152,104,201,162,233,164,135,135,199,119,253,251,247,127,115,227,198,141,138, +216,216, 88, 69, 80, 80, 16, 56,142, 3,195, 48, 96, 89,182, 98,221, 77, 84,157, 48,184, 38, 40,146,242,188,188, 63,198,205,202, +202,170,242, 62,172,120,215,106,181,232, 59,174,227,115,121,216,114, 28, 39,173,184,174, 25,134,145, 3, 16, 3,176,116, 2,203, + 69, 87,174, 92, 25,241,215, 95,127,141, 89,178,100, 73, 19,141, 70, 51,149,227,184,121,177,177,177, 93, 1, 32, 40, 40, 72, 10, +224,172, 74,165,154,240,193, 7, 31, 76,154, 50,101, 10,198,141, 27, 55, 47, 35, 35, 99,105, 67,239,123,169, 84, 58,255,131, 15, + 62,176, 50,155,205,176,178,178, 2, 77,211,141,159, 37,253, 65, 65, 65,146,252,252,252,125,139, 22, 45, 26, 56,120,240,224,138, + 37,188,148, 23, 46, 92, 88,246,217,103,159,117, 14, 9, 9, 25, 90,147,201, 10, 9, 9, 9, 6,240,165,175,175,111,223,113,227, +198, 81,161,161,161, 40, 45, 45,197,137, 19, 39,230,236,223,191,127, 78, 72, 72,200, 21, 0,243,162,162,162,206,189,236, 38,139, +178,177, 69,220,235,221,225, 23,155, 7, 0,200,252,190,108,105, 72,187,249,223, 8, 33,190,127,131,193,170, 11,157, 78, 23, 50, +107,218, 88,144,100, 89, 45,209,191,145, 55,150,205,158, 72, 28, 58,114, 60,164,142,240,230,106,150,101,155, 56, 57, 57,125,158, +151,151, 39, 95,179,102,141, 60, 61, 61, 61,112,223,190,125,124,116,116, 52, 36, 18, 9,236,237,237,209,163, 71, 15, 89,120,120, +120,227, 43, 87,174,120,239,223,191,127,112,255,254,253,127, 62,122,244,232, 31, 53,233, 58,183, 24,212,196,197,213,245,252, 55, + 75,222,115,106,209,200, 15, 38,179, 25,105,217,233,224, 33,133,210,205, 26, 99,134,180,150,132,182,149,248,175,218,112,250, 28, + 65,190,246,106,118,204,225,152,186,210, 24, 22,162,184,209,189,211, 43,109, 94,235,219,153,244, 15,106, 6,137, 76,241,159, 90, + 84, 72, 8, 90,134,132, 16, 19, 39,150, 52,138,142,138,158,123,236,244,245,217,246, 18, 38,242, 82,148,174,125,205, 37, 45,100, + 21,107,167,189, 62,236, 13, 4, 4, 4, 60,241, 48,175,248, 59, 57, 57, 25, 4, 65, 32, 55, 55, 23, 28, 15,105, 3,242, 6,215, +174, 93, 67,235,214,173,209,167, 79, 31,140, 26, 53, 74,117,240,224,193, 95,215,175, 95,223, 53, 61, 61,125,226,179, 92, 44, 44, +203,134,134,132,132, 80, 52, 77,131,162, 40,228,229,229, 33, 41, 41, 9,126,126,126, 20,203,178,221,234, 48, 26,232,220,185, 51, + 86,172, 88,145,118,225,194,133, 16, 0,232,210,165, 75, 84,135, 14, 29, 92, 87,175, 94,157,118,233,210,165, 54, 0,208,185,115, +231,200,182,109,219,186, 90,122, 76, 10,133,226,157,143, 63,249,204,181, 40,191, 64,111, 46, 41,161,109, 56,150,177,147,139,137, +226,156,188,194, 71,169,118,186,119, 38, 77, 19,205,159,249,233, 59, 0, 44,106,179, 87, 42,149,222,129,129,129, 55,182,108,217, +226,230,236,236,140,194,194, 66,228,229,229,225,198,141, 27,224, 56, 14,225,225,225,178,144, 86,173, 66, 86,173, 94,125, 21, 64, + 39, 75, 76,150,204,217, 5,251,186,150,221, 26, 35, 18,243, 42, 35, 44,199, 70, 13,170,220,103,116, 74,217,226,230,114,185,188, +193,203,250,240, 60,223, 41, 52, 52, 84, 2, 0,211,167, 79, 47,214,106,181,203, 8,130,248, 85,163,209,164,215,241,175,211,231, +206,157,235,209,168, 81, 35,159, 95,127,253, 21,165,165,165, 0,224,214,168, 81, 35, 52,105,210,132, 61,127,254, 60, 2, 2, 2, + 96,107,107,139,243,231,207,227,218,181,107, 8, 14, 14,182,149, 72, 36,111,208, 52, 93,173,193,122,181,127,215,121, 50,113, 96, +151,166,109,223,134,141,157, 10, 91,118,237, 70,220,205,159,187, 24,205,247,231,205,194,249,183, 40, 94,246,118,246, 99,235,153, +190,109,187, 57,251, 55, 31,140, 87,218,220,114, 49,178, 23,146,230,246,110,180, 92, 36, 55,108, 95,184, 74,147, 87,147,185, 82, + 42,149, 43,251,245,235, 55, 98,227,198,141, 14, 0,112,231,206, 29,100,102,102,194,213,213, 21,114,185, 28, 98,177, 24, 34,145, +168, 94, 75,101, 89, 89, 89, 65,163,209,160,162,226,192,178, 44, 74, 74, 74, 42, 23, 13, 95,184, 16,228,194,133,150, 69,155,148, + 74,101, 88, 72, 72,200, 78, 79, 79, 79,175,170,223, 27,141, 70, 76,156, 56, 17, 90,173, 22,193,193,193,161,238,238,238, 70,130, + 32,192,113, 28,178,178,178, 74,239,220,185,211, 59, 35, 35,227,122, 13,181,119,125,102,102, 38, 38, 77,154,132,199,143, 31, 79, +217,177, 99, 71, 10, 65, 16,114,169, 84, 90,177, 93,170, 82,169, 2, 2, 2, 2,190,123,239,189,247,144,156,156,140,248,248,248, + 27,207, 82,169,146,201,100, 90,150,101,221, 24,134,129, 94,175, 71,120,120,184,156,227,184, 44,177, 88,124,191,176,176,112, 76, + 90, 90,154,198,210,114, 70,165, 82, 41,181, 90,237,198,105,211,166,245,239,218,181, 43,238,223,191,143, 99,199,142,225,181,215, + 94, 67,183,110,221, 48,103,206,156, 1,243,230,205,155, 14,160,166,202,192,239,251,246,237,243,245,244,244,172, 92, 18,201,206, +206, 14,239,188,243, 14,198,142, 29,139,163, 71,143,118,254,234,171,175,246,117,237,218,213,237,252, 51,180, 84,252, 27,144,181, +237, 12,191,216, 60, 36, 6, 57,151,181, 14,148, 27,173,138,207,240, 8, 17,156,205,127,179,193, 50,233,117,180,136,228,239,187, +170,130,247,220, 56, 54,173,178,137, 16, 12,127,223, 68,235,232,178,176, 57,143, 98, 29, 3, 43, 25,137,100, 77, 9,238, 38,230, + 86, 39,117,247,169,194,255,147,181,107,215,226,235,175,191,238,167,215,235, 75,147,146,146, 52,165,165,165,218, 49, 99,198, 16, + 98,177, 24,151, 47, 95,198,163, 71,143,208,178,101, 75, 56, 56, 56, 32, 44, 44, 76,210,167, 79, 31,175, 9, 19, 38,188, 5,224, +143,234, 52, 49,124, 56, 37, 73, 33, 14,175, 92, 50,210,137,160,226, 17,255,184, 16,141, 61,219,195,217,222, 11,233, 57,165,136, +188,119, 20,241, 15,255, 68, 99, 79,111, 76,124,179,177,195,183, 63,228, 28, 65,200,196,198,136,122,162,159,215,223,134,132,202, + 37,108,187,133,107,163,193,106, 31,130, 55, 63, 6, 79,103,254,189,112,119,240, 66, 96,107,119, 40,164,174,228,157,216,111,219, +213,150,118, 35,195,127,177,116,241,162,173,173,130,219,160,168,168, 8,235,214,173,171, 52, 86, 60,207, 87,214,184, 59,118,236, + 8,179,217,140,173, 91,183,194,204,149,133,255,107, 59,206,167, 24,221,161, 67,135,221, 60,207, 75,173,172,172, 50, 91,183,110, +237, 51,117,234, 84,209,200,145, 35,161,215,235,223,219,178,101,203,241,204,204,204, 3,245,212, 44,107, 70,121,229,149,176,110, +221,186, 89, 81, 20, 5,154,166, 81, 84, 84,132,180,180, 52, 36, 37, 37,193,197,197, 5,248, 79, 95,152, 26, 53,159, 94, 11,145, +231,121,190, 34,253, 85,141, 88,197,121,177,228, 56, 9,130, 8,116,116,112,180,254,113,213,198,155,174, 50,138,112,241, 82, 19, + 18, 59, 7, 17,105, 99, 43,227, 41, 74,239,227,165,182, 37, 8, 34,176,134,100, 61,173, 73,200,100,178,253,219,182,109,115, 19, +139,197, 96, 89, 22,174,174,174, 72, 74, 74, 66, 97, 97, 33, 74, 74, 74,144,116, 63, 22,190,158,158,248,104,226,187,170, 69,223, +172,222, 15,160,237, 83,133,216,223, 23,227, 54,155,159, 62,230,154, 66,224,176,240, 56,107,138,144, 60,202,200,200,128, 66,161, + 64, 80, 80,144, 77, 68, 68,196,197,140,140,140,244,186, 52,229,114,249, 27,161,161,161,182,187,118,237, 66,155, 54,109, 96,111, +111,143,179,103,207,226,206,157, 59,160,105,154, 44, 41, 41,129,141,141, 13,150, 47, 95, 14,111,111,111, 20, 21, 21, 33, 37, 37, +197, 89, 44, 22,187, 84, 24,146,167, 53, 47, 28, 61,191,184, 32,241,236,188, 76,234,120,248,150, 93,187,241,222,232,145, 80, 50, +137, 23, 29, 27,147,139,251, 13,232, 60,159, 18,123, 13,180,182,109,225,216,164,197, 96, 72,164, 54,152,250,197,151,136,191,123, +216, 81, 87,114,103, 10,107, 78,245, 90,184,106,239, 71,213,164,157, 0, 64,170,213,234,119, 55,109,218,100, 91,233,184, 72, 18, + 98,177,248, 9, 99, 85,177, 24,123, 13,231,244,110, 53,149, 7,208, 52, 13,154,166,193,113, 28,114,114,114, 80, 82, 82, 2, 71, + 71,199,178, 29, 22, 0, 88, 0, 2, 68,141,134,229,110,149,227, 25,179,123,247,110, 47,133, 66,241,183,157, 82, 83, 83, 81, 84, + 84, 4,107,107,107, 56, 56, 56,192,108, 54,131, 97, 24, 24,141, 70,155,110,221,186, 77, 6,112,189, 58, 77,138,162, 62,157, 52, +105, 82,232,145, 35, 71,252,150, 44, 89, 2,154,166, 87,230,228,228,224,189,247,222, 3,199,113, 8, 11, 11,235,200,243,124,220, +180,105,211,202,194, 93,139, 22,153, 75, 75, 75, 63,104,232,181,228,230,230,214,172, 85,171, 86,142,167, 78,157, 66, 88, 88, 24, +140, 70, 35, 38, 79,158,108,247,238,187,239,218, 93,185,114,197,117,205,154, 53,219,211,210,210,122,213,166, 25, 18, 18, 34,206, +202,202,154,209,173, 91,183,233,189,122,245,178,207,205,205,133, 76, 38,195,158, 61,123,240,227,143, 63,254, 69,211,244,220,125, +251,246, 45,221,188,121,115,248,224,193,131,177,121,243,230,105, 26,141,230,107,148, 53,155, 62,173,169,246,242,242,194,237,219, +183,225,232,232, 8, 23, 23, 23, 20, 21, 21,225,218,181,107,184,113,227, 6, 2, 3, 3, 65, 16,132, 99,121,153,198, 60,203,125, + 84, 79, 94,184,102,229, 26,171, 85,174, 93, 0, 96,107,119,211, 22,205,138,175, 86,171, 7, 59, 56, 56, 76,225,121, 94, 84, 80, + 80,176, 73,161, 80,252, 94,203, 50, 65,194, 66,207, 22, 26,172,138,124,233, 6,224,188, 71, 44,138,115,219, 58,198, 59,187, 55, +219,237,236,209,188,236, 36, 50,252,125, 74,230, 24,239,126, 83, 87, 12, 0,180,153,199,149,251, 5,184,157,144,133,219, 15, 50, + 97, 35,175,187,214,237,236,236,140,206,157, 59,227,208,161, 67, 72, 77, 77,181, 89,190,124,121, 19,154,166,233, 65,131, 6,101, +188,242,202, 43, 5, 97, 97, 97, 16,139,197,184,126,253, 58,138,139,139, 65, 81, 20,164, 82, 41, 56,142,171, 49,210,230,246,128, +125,123,220,196, 16, 63, 23, 7, 18,127, 92, 62,142,142,129, 67,161,144,137,145, 83,160, 7, 73, 16,120,248,232, 20, 88,214, 26, +209,247, 31,163, 83, 11,107,116,233, 96,239, 89,122, 58,127, 98, 46,176,193,146, 19, 68,167,159,131,244,149,215, 1,121,115,240, +166,135,224, 76,233,224,197,110,208,234,228,200, 77, 78,193,253,107,191,131,103,116,117,234,164,165,105,126,218,186,109,123,216, +185,177,111,191,205,113, 28, 86,172, 88,113, 46, 33, 33,161,123,213,125,252,252,252,206,206,153, 51,167, 91, 65, 65, 1,142, 31, + 63,254,115, 93, 11,149, 62,141, 70,163, 57, 5,192,169,138,161,245,142,138,138,218,181, 99,199,142, 78,111,189,245, 22,246,238, +221,251,121, 53, 6,171, 86,166, 77,155, 38, 62,116,232, 80, 95, 43, 43,171,117,243,230,205,179, 49,153, 76,208,104, 52,200,204, +204,172,140,182,197,196,196,176, 34,145,232, 74, 29,133,127,181,139, 77, 63,109,176,170,124,103,105,205,187,212,100, 54, 27,173, +189,212,230, 65,131,251,182,188,115,227, 86,188,149,147, 19,217,178, 93,112,179,251, 9,201,145, 68, 89, 19,140, 69,205, 48,158, +158,158, 35, 23, 44, 88,208,210,206,206, 14, 28,199,193,222,222, 30, 57, 57, 57,149,134,210, 84, 82, 12,186,184, 8,183, 83,146, + 16,214,173, 7,250,116,234, 24,244,167,217, 60, 50, 45, 45,237,183,218,116,157, 90,133, 84, 70,174,246,250, 57, 87,126, 63, 42, +185,176,210, 0, 28,109,239, 15,153,141, 53, 90,124, 60,171,193, 55,115,102,102,102,212,169, 83,167,142,134,135,135,247,159, 56, +113, 34,153,153,153,121,140, 97,152,208,236,236,236,123,181,253,159,141,141, 77,227,220,220, 92,148,148,148,192,222,222, 30,107, +214,172,129,155,155, 27,116, 58, 29, 34, 34, 34,120, 79, 79, 79,226,236,217,179,240,240,240, 64, 94, 94, 30,104,154,134, 78,167, +203, 52,153, 76, 53,246,145, 44,111, 6,236,247, 73,111,252, 21,119,243,231, 46, 30, 72,138, 24,254,121,151, 7,209, 55,226, 83, +207,156,190,188,152, 49,200, 83, 11,211, 78,206,104,212, 46,218,101,202,231,139,176,126,229, 2,196, 93, 63,159,239,238, 93,178, +129, 37,140, 63,215, 17,165, 53,196,198,198,218, 70, 71, 71,131, 36, 73,216,217,217,193,218,218,186,114, 97,243, 10,115, 37, 18, + 89, 30,160,175,168,224, 84,152,171,156,156, 28, 60, 76,137,199,190, 51,219, 97,102,204, 46,219, 58,216,101,250, 73, 36,183,139, +154,231,206,206,139, 65, 84, 29, 5,224,166, 81,163, 70,141,244,240,240,176,173,250,125,235,214,173,241,230,155,111,226,216,177, + 99,184,121,243,230, 19, 21,172,156,156, 28, 13,203,178, 53,166, 59, 53, 53,181,144,227,184,240,119,223,125, 55,242,192,129, 3, +118,223,124,243, 77,101,151,130,138,102,209,138,247, 93,187,118, 33, 50, 50,114, 94, 86, 86,214,253,134, 92, 71,238,238,238,129, + 3, 7, 14,188,176, 97,195, 6,135,172,172, 44,228,230,230, 66,171,213, 66, 44, 22,131, 97, 24,248,251,251, 19, 44,203,250,214, +213, 28, 72,211,244,225, 51,103,206,244,109,210,164, 9, 0,192,108, 54,227,242,229,203,152, 56,113, 98,158, 66,161,120, 35, 37, + 37, 69,171, 82,169,230, 28, 57,114, 36,188,117,235,214,104,217,178,165, 50, 59, 59,219, 54, 37,165, 60,156, 91,205,179,130,101, +217,202,252,217,186,117,107,229, 54,131,161,108,201, 73,147,201, 68,180,109,219,214,247,230,205,155, 47,237,224,150,148, 29, 91, +144, 60,251, 67,248, 92,140, 3, 0, 68, 54, 43,235,114,229,115, 62,182,108,135,177, 99,235,165,167, 82,169,156,121,158,127,175, + 89,179,102, 31,135,135,135,187,170, 84, 42, 56, 59, 59,227,206,157, 59,161,199,143, 31, 95,103, 52, 26,127, 96, 89,246, 7, 75, +162,245,207,129, 39,188,200,203, 20,193, 34,202, 19, 71, 16, 35, 70,176,252,222,189,185,233, 65, 82, 90, 42, 82,196, 3,128,137, +214,209,238, 55,117,197,196,136, 17,172,107,243,193,224,193,131,229,202,163, 13, 60, 15,214,194,113, 32,134,251,195,192, 21, 30, +134,155,227, 96,108,222,124, 0,217,217,217,146, 53,107,214,188,114,224,192, 1,207, 49, 99,198, 60,246,247,247, 47,234,209,163, + 7,182,111,223, 14,165, 82, 9,147,201, 4,142,227,106,116,111,182, 78,236,240, 14, 45,253,169,248,148, 59,104,219,100, 24,124, + 85, 97,120,152, 94,132,130, 18, 35,242,138,244, 8, 8,248, 28, 89,249, 58, 20,107, 13,184, 19,247, 43, 60, 85,141, 72, 74,252, + 48, 28, 22, 26, 44,227,195,157, 48, 38,237,134, 68,213, 29,210, 70, 35, 33,118,233,132,212,184,115,184,117,106, 53,210, 30, 92, + 2,207,177,112,247, 10,180,180, 9,103,225,218,181,107,199, 44, 91,182, 76,244,225,135, 31,118, 91,190,124,121,183,140,140,140, +115, 0,160, 86,171,187,189,253,246,219,221,108,109,109,177,116,233, 82, 51,207,243, 11,159, 53,115, 51, 51, 51, 31,171,213,234, + 41,167, 78,157,138,158, 48, 97, 2, 2, 3, 3, 67,226,227,227, 73, 88,208,177,214,223,223,127,162, 84, 42, 29,207, 48, 76,147, +209,163, 71,147,239,189,247,158,141,155,155, 27,146,147,147, 97, 52, 26, 65,146, 36, 36, 18, 9, 98, 98, 98,184,195,135, 15, 23, + 73, 36,146,105, 22, 68, 88,224,226,226,226, 17, 22, 22, 22, 9, 0, 78, 78, 78,158, 28,199,193,217,217,217,179, 83,167, 78,145, + 0,224,232,232,232, 81,157, 17,171,209, 0,211,116,196,227,148,148,128,208, 46,161,170, 11, 55,239, 69,189, 62,100, 96,119, 82, + 68,146,143, 82, 52, 17,174,206, 78,214,151,175, 92, 42,166,105, 58,194, 18, 45,177, 88, 60, 48, 44, 44, 76, 84, 80, 80, 0,181, + 90,141,156,156, 28,164,167,167,195,108, 54,195, 80, 84, 0,186,184, 24,116, 81, 33,120, 93, 41, 18, 35,174, 35,200,203, 67,118, +162,172, 19,252,111,117,213, 56,171,139, 80, 17, 4, 81,249,157,204,214, 6, 86,182,182,149,205, 31,245,120, 56, 14,182,179,179, +155, 81, 82, 82,114, 52, 35, 35, 99,137,201,100,154,186,108,217,178,118, 95,126,249,165,203,140, 25, 51,236,102,204,152,177, 87, + 46,151, 7,167,164,164, 24,107,116,168,165,165, 15,205,102,179, 51, 0,247,211,167, 79,195,213,213, 21,197,197,197, 48,155,205, +208,235,245, 38, 71, 71, 71,121, 94, 94, 30, 12, 6, 3, 76, 38, 19,236,236,236, 16, 25, 25,153,207, 48,204, 31,117, 29,159, 67, + 99,114,177,209,124,127,158, 83, 51,235,116,150,119,238, 90,162,231, 10, 22,174,210, 44, 6,176, 42,220,207,111,139,137, 59,159, + 20,127,247,144, 99, 82,196,217,252,140, 7, 58,191, 31,143, 38,149,212,241,240,229, 8,130,224,155, 54,109,138,156,156, 28, 80, + 20, 5,107,107,107,216,216,216, 32, 48, 48, 16,169,169,169, 13, 54, 88, 85,205,213,169,171, 71,144, 91,170,193,150,149,187,224, +161,244, 34, 1,184,166,103,166,246,158, 48,125, 68,135,199,118,143,150, 61,186, 92,184,188,150,138,206, 45,141, 70, 99,247, 68, +248, 69,173,238,238,232,232,120,134,166,105, 36, 39, 39,227,196,137, 19,221,210,211,211,235, 85,128,164,167,167, 39,242, 60, 31, + 62,100,200,144,237, 45, 91,182,108,204,243, 60, 2, 3, 3, 49,120,240, 96,236,219,183, 15,247,238,221, 67,113,113, 49,119,241, +226,197,109, 26,141,166, 65, 29,114,148, 74,101,211,254,253,251, 95, 90,191,126,189, 99,110,110, 46, 12, 6, 3, 74, 75, 75,241, +251,239,191, 35, 52, 52, 20,114,185, 28,107,215,174, 45,102, 24,102,125,109,230,138,231,249, 67, 7, 14, 28,232,235,231,231,135, +251,247,239,227,226,197,139,112,117,117,133,149,149, 21, 6, 13, 26,228,188,123,247,238,169, 65, 65, 65,171,181, 90,237,226,254, +253,251,131,101, 89,220,188,121, 83, 83, 62,170,176,198, 60,170,177, 92, 49, 24,192,243, 60,204,102,243, 26,146, 36,223, 8, 9, + 9,233, 19, 21, 21,117, 3, 47, 9, 30, 30, 30,205,197, 98,241, 71, 0,144,147,147,131, 66, 14,176,201, 47, 27,116, 91, 84,254, +184,204,207,207,175,124,214,248,251,251,255,169,215,235,103,167,167,167,215, 24,101, 82,171,213,173, 20, 10,197,199,221,187,119, + 31, 51, 96,192, 0,138,166,105, 28, 57,114, 4,235,215,175, 71,120,120, 56,252,253,253,241,249,231,159,219, 27,141,198,153,199, +142, 29,155,113,225,194,133, 99, 37, 37, 37,179,106,211,124, 78, 84,122,145,151,201, 96,241,229,174,177, 44,133,101, 83, 49, 20, +148,215,104, 92,156,156,156,214,179, 44,219, 61, 32, 32, 0, 12,159,133,228,135, 15, 80, 82,192,193,108, 50,130,227,120,240,156, +101,231,130, 43, 60, 12,187, 87,121, 20, 95, 32, 64,211, 52,220,220,220,176,124,249,114, 20, 21, 21,137, 38, 76,152,224,187,104, +209,162, 91, 6,131, 1, 90,173, 22,122,189, 30,122,189,190, 86,131, 37,145, 27, 91,250,184, 55, 65,137,190, 61, 20, 82, 41,242, +138,141, 40, 40, 49, 34,183,208,128,253,135, 70,195,168,215,129, 49,153,192,210, 12,108,220,135,194,223,169, 59,128, 4,139, 38, + 72,171, 12,162,112, 12,232,244,147,160,211, 79, 66,209,122, 14, 14,173,125,235,137,253, 24,198,178, 38,255,204,204,204,199, 7, + 15, 30,252,126,252,248,241,211,134, 12, 25,130, 31,126,248,225,235,140,140,140,182,229, 81,132,175,135, 14, 29,138,152,152, 24, + 92,184,112, 97,227,243,170, 45,240, 60,239,236,228,228, 4,146, 36,161,211,233,140,117,153,171,223,127,255,157, 88,180,104,209, +177, 65,131, 6,117,154, 58,117,170, 66,169, 84,130,231,121,152, 76, 38,164,165,165,129, 36, 73, 20, 22, 22, 98,235,214,173,218, +155, 55,111,242, 82,169,244,138, 88, 44,126, 63, 38, 38, 38,163,174,190, 67,142,142,142, 24, 61,122,180,107,251,246,237, 93,171, +142, 24,124,227,141, 55, 92,219,182,109, 91,249,157,167,167,167,197,233, 51, 24, 12, 91,151, 46,158,215,125,199,206, 61,129, 77, + 3,253, 29,143,158, 56, 27,229,236,108,103,229,235,235, 39, 43, 42, 44, 52,174, 95,179, 82,164,213,106,127,178, 80, 46,200,197, +197, 5,153,153,153, 72, 72, 72,128,209,104, 44,107,194,209,149,194, 84, 88, 8,186,168, 0, 48,232, 33,101, 89, 24,115,179,224, +235,231, 11,252,103,132, 97,237, 79,140, 42,102,234,233, 38, 65,130, 32, 96,101,111, 7,169,181, 53, 40,177,200,226, 62, 88, 74, +165,178, 77,112,112,240,158,205,155, 55, 75, 62,253,244,211, 14,215,175, 95, 95,159,146,146,146, 34, 18,137,122,174, 92,185,242, +198,146, 37, 75,100, 99,198,140,105,186,105,211,166,113, 0, 54,213,114, 14,247, 28, 61,122,244, 77,111,111,111,247,187,119,239, +194, 96, 48,128,227, 56,244,235,215, 15, 0,228, 21,251,197,197,197,233,245,122,125, 86, 76, 76, 76, 73, 74, 74, 10, 13, 11, 70, +253,205,223,144,113,237,147,156, 11,175,171, 84,234,171, 82,153, 79, 35, 82, 23, 57,244,147,225, 30,223,124,251,123,186,225, 88, + 98, 98,201,220,222,141,150,235, 74,238, 78,113,244,212,110,248,254, 72,146, 37, 29,220, 43, 71, 11,186,184,184, 84, 54, 9, 74, + 36,146,138,232, 11,138,138,138,234,106, 34,172,182,240, 46, 42, 42, 66, 81, 81, 17, 30, 60,186,143,156, 18, 13, 78,254,118, 21, + 44,203, 86, 70, 71,212,238,158, 56,245,219, 13,219,110,195,219,205, 46,110, 89,120, 54,255, 14, 34, 44,189, 78, 73,146,252,120, +216,176, 97,160,105, 26,131, 7, 15,198,174, 93,187, 62,110, 72, 13, 61, 35, 35,227, 90, 70, 70, 70,147,132,132, 4, 59,179,217, +252,218,160, 65,131,126,238,223,191, 63,174, 94,189,138,211,167, 79,119, 51,153, 76,241, 44,203,234, 85, 42,213, 50,158,231,221, + 8,130, 88,166,209,104,106, 29,237,220,164, 73,147, 49,182,182,182, 75,173,172,172, 74, 26, 55,110,172,174,136, 92,105,181, 90, + 48, 12,131,180,180, 52,252,245,215, 95,154,163, 71,143,106,120,158, 87,148,150,150, 46, 72, 77, 77,253,189,166,102,193,210,210, +210,131,135, 15, 31, 14,247,243,243,195,249,243,231,177, 98,197, 10, 52,110,220, 24,219,182,109, 67,231,206,157,225,235,235, 11, + 39, 39,167,143,138,139,139, 59,173, 88,177,162,127, 72, 72, 8, 14, 28, 56,128,236,236,236,117,181, 61,159,106,123,206,234,245, +122,240, 60,143, 30, 61,122, 76,252,244,211, 79, 49,104,208,160, 19,109,218,180,105, 31, 25, 25,249,224,223, 94, 72,171, 84,170, +229, 61,122,244,152,209,170, 85, 43,236,220,185, 19,198,182, 97,176,222,246, 7,238, 14, 12, 5, 15, 64,189,237, 80, 89,123,221, +107,101, 3, 58,124,123, 14,199,140, 25, 51,250, 15, 29, 58,212, 27, 64,243, 26, 52,191, 25, 51,102,204,244,183,222,122, 11, 81, + 81, 81,216,180,105, 19,110,221,186, 85, 89,230,153,205,102,196,198,198, 34, 54, 54, 22, 42,149, 10, 3, 7, 14, 36,222,127,255, +253,126,253,250,245,115, 69, 89,183,136,255,239, 40, 86,183,151,169,137,176, 70,215,232,238,238,238,226,232,232, 24,179,126,253, +122,231, 14, 29, 58, 80, 12,195,224,244,153, 51,248,236,195, 9, 8, 31, 56, 5, 6,163, 20,140,129, 0, 43,177,177,236, 23,237, + 6,162,248, 2, 1,206,166, 63, 76, 38, 19, 38,238,146,192,129,200,194,154,183,221, 1,128,208,235,245, 48, 26,141,208,235,245, +208,106,181,208,106,181, 96, 89,182,198,167,100, 73,161, 53, 77,155, 57,164,103,167, 32, 77,115, 23,246, 54,222,224, 73, 47,100, +229,235, 64,192, 13,102, 67, 28,184,242, 27,211,168, 79,131,214,248,108,166,152, 45, 73,170, 38, 50, 99,121,159, 74,150,101,151, +174, 92,185,114,226,250,245,235,101, 83,166, 76,105,179,100,201,146,215, 0,224,189,247,222,107, 35,151,203,177, 97,195, 6, 35, +203,178, 75,159, 83,254, 82, 36, 73,126,252,234,171,175,162,184,184, 24, 49, 49, 49, 71,234,250,135, 57,115,230, 76, 30, 54,108, + 88,167, 69,139, 22, 41, 12, 6, 3,116,186,178,230,207,162,162, 34,104,181, 90,100,101,101, 97,250,244,233, 5, 52, 77, 79,122, +244,232,209,190,122, 24, 61, 28, 62,124, 24, 59,118,236,120, 98,196,224, 27,111,188,225,186,107,215,174,236,181,107,215,166,243, + 60,207, 59, 57, 57,121, 14, 31, 62,220,205,210, 22, 66,141, 70,163, 7, 48,109,201,210, 37,191,126,179,114,165, 91,126, 94, 65, +188, 68,106,101, 80, 88,201,156,102,124,182,152,207,202,202,154,158,157,157,173,179,244, 56, 11, 10, 10,144,148,148, 4, 43, 43, + 43, 72, 36, 18,176,186, 82,112, 90, 45,140, 5,121, 32, 77, 70,200, 88, 22, 78, 10, 25,188,220,221,225,237,102, 89, 95,124,205, +217, 19,248,107,228,192, 39,154, 5, 9,130,192,177,206, 77, 33,181,177,134,220,198, 6, 97, 7, 47,150, 85, 24, 36, 18, 96,205, +102, 75,154,113, 92, 84, 42,213,225,117,235,214, 73,114,115,115, 17, 19, 19, 19,157,146,146, 82,228,232,232,104,107, 54,155,185, + 7, 15, 30,156,138,139,139, 27,232,235,235, 11,158,231,235, 26,253,181,106,255,254,253,189, 67, 67, 67, 25, 95, 95, 95,235,156, +156, 28,239,130,130, 2, 66,163,121,178, 15,115, 68, 68,132,252,241,227,199, 58,142,227, 14,148,155,171, 58, 47,252, 79,134,123, +200,175, 68, 97, 90, 87, 23,223, 86,246,174,173,144,107,190,213,234, 90,116,230,180, 79,134,123,172,253,246,247,116, 3, 75, 24, +127,102,205,169, 94, 34,185, 97,123,125,154, 16,120,158, 71, 68, 68, 4, 46, 94,188,136,139, 23, 47, 34, 57, 57,185,114, 7,123, +123,123,156, 60,121, 18,221,187,119,183,248, 70,209,233,116, 80,169, 84,112,112,112,192,129,115,191,224,199,111,118, 85,118,116, +175, 32, 55, 55, 23, 10,133, 2, 75, 63, 91,109, 51,225,139,225,139,243,145,219,199, 18,109, 79, 79,207, 70,161,161,161, 3,220, +221,221, 81, 80, 80, 0, 87, 87, 87,180,107,215,110, 16, 77,211,190,217,217,217, 13,106,202, 50,153, 76,147,187,119,239,190,100, +250,244,233, 48,155,205, 24, 57,114, 36,146,146,146,246, 36, 38, 38,174,241,241,241,153, 54,101,202, 20,119, 23, 23, 23, 76,158, + 60,217, 26,192,235, 53,233, 52,109,218,244,147, 47,190,248,226,171,177, 99,199,202,204,102, 51, 78,159, 62, 93, 25,165,102, 24, + 6, 41, 41, 41, 88,176, 96,129,166,184,184,184,107,122,122,250, 67, 11, 42,145,211, 15, 30, 60,216, 47, 32, 32, 0,199,142, 29, +195,164, 73,147,254,180,177,177,105, 62, 96,192, 0,111,107,107,107, 68, 71, 71,131,166,105,168, 84, 42,247,153, 51,103, 14,236, +219,183, 47, 78,157, 58,133,197,139, 23, 31, 81, 42,149,171,158,190,230,158, 54,193, 34,145, 8,230,167,250, 52, 82, 20,133, 91, +183,110,161, 71,143, 30,152, 49, 99, 6, 0,224,212,169, 83,118,125,250,244,185,219,181,107, 87,187,243,231,207, 27,255,205,133, +180,181,181,245,248,109,219,182, 33, 33, 33, 1,151, 46, 93, 66, 94, 94, 30, 76, 38, 19,138,184,178,155, 65, 86, 30,185,226, 61, +124,208,121,250,108,140, 26,248, 58, 52, 26, 13, 72,146,116,169,165,194, 55,102,246,236,217,248,235,175,191,176,124,249,114, 20, + 23, 23, 87,187,159,149,149, 21,218,181,107,135,224,224, 96, 36, 37, 37, 1,128,203, 11, 72,242, 75, 25,193,170, 41,234,176,230, +251,239,191,119, 14, 13, 13,165,180, 90, 45, 56,142, 67,167,142, 29, 49,238,237,113, 56,126,224,119,168, 26,117, 7,101,176, 2, + 99,171,176,204, 96,120,253,140,252,252,124,200,100, 50,200,203, 59,148,222, 78,171, 12,239,194, 96, 48, 84,154,171,138,247,218, + 96, 76,210,200,216, 68,214,171,184,244, 22,174, 71,238,128,217,100,130,111,147, 89, 48, 50, 46,176,118,123, 7,122,250, 48,232, +194,178,145,187, 82,187,110,200,202,202, 5, 64, 88, 20,226,172,174,144,231,244,127,239,236,206,177,150, 27,172,236,236,236,156, +139, 23, 47,174,186,117,235,214,156,126,253,250,225,199, 31,127, 92,206,243, 60,250,247,239,143,136,136, 8, 68, 71, 71,175,202, +206,206,206,121, 30,121,171, 84, 42,183,110,216,176,161,191,187,187, 59,246,239,223, 15,158,231,235, 52, 68, 82,169,244,189,105, +211,166, 41, 42,162, 24, 82,169, 20,122,189, 30,153,153,153,160,105, 26, 7, 14, 28, 48,154, 76,166, 79,147,147,147,247,213,231, + 96,120,158,231,219,183,111,143,213,171, 87,167, 93,190,124,185, 13, 0,116,234,212, 41,178,109,219,182,174,107,215,174, 77,191, +126,253,122, 27, 0,104,223,190,253,205,224,224,224,122,205,227,162,209,104,210,110,221,188,246, 80,111, 48,136, 29,157,157,116, +182,214, 82,190,184,164,132,188,125, 59, 74,147,157,157,157, 92, 15,169,216,152,152,152, 22,233,233,233, 72, 73, 73, 1,171, 43, + 5,105, 52,130, 48,234,209,179, 83, 71, 88,129,135, 12, 28, 36,156, 25, 98, 74,132,146,146, 82, 0,136,173, 51,106, 91,165, 64, +168, 48, 87, 4, 65, 64,110, 99, 3,169,173, 13,100, 54, 54, 79, 68,180, 44, 49,151, 86, 86, 86,191,110,218,180, 73,165, 82,169, +240,237,183,223, 66,165, 82, 5, 42,149, 74,157,173,173,173,149,139,139, 11, 2, 2, 2,208,182,109, 91,156, 61,123, 22, 4, 65, +212, 85, 48, 50, 60,207,247,185,116,233,210,244, 43, 87,174,140, 80,171,213,196,216,177, 99, 17, 30, 30, 14,153, 76, 6,189, 94, +143,130,130, 2,252,249,231,159, 4,199,113, 33,229, 6,207, 71, 38,147,237, 34, 8, 34, 45, 57, 57,249,141,167, 5, 55, 46,105, +169, 46,209,115, 19, 72,173,213,235, 93,251,250,182,236,209,183, 23, 26, 53,233,137, 30,125, 83, 1, 96,185,139,248,209,200, 21, +179, 29, 14, 56,218, 17,219,174, 28, 60, 53, 63,172, 95,247,185, 11,233,115,139, 23,174, 43,168, 51,138, 69, 16, 68,101, 97, 75, +146,100,181, 81, 42,138,162, 64,146,164,101,207, 36,142, 77, 11,127,187, 83,229,103, 51,243,127,236, 93,119, 88, 20, 87,223, 61, + 51,179, 59, 91,216, 5,145,190,128, 5,177, 2, 42,210,172, 17,177,196,196, 24,141, 73,140, 37,150, 24, 75,212, 88, 98,137, 26, + 83,176, 98, 52,118,141, 45,177, 36, 81,163,168, 49, 26, 35,106, 16,187,210, 81, 68, 81, 1, 41,187, 75, 83,154,176,125,103,190, + 63, 96, 9, 32,101, 33,250,165,188,115,158,103,159,221, 41,123,230,150, 41,103,206,253,221,123,117,118, 46, 78, 45, 72,147,115, + 5, 0,197,197,197,200,200,200,128, 94,175,135,173,173, 45,244,122, 93,215, 70,188, 84,205, 30, 53,106, 20,161, 86,171, 49,127, +254,124,172, 91,183, 14,195,135, 15, 39,110,221,186, 53, 27,192,220,198, 94,216,206,206,206,235,102,204,152, 49,255,131, 15, 62, + 64, 97, 97, 33,194,195,195, 17, 20, 20,132,111,191,253,214, 62, 60, 60,124,117,175, 94,189, 64, 81, 20,206,159, 63, 15,157, 78, +119,191,129,235,125,214,248,241,227,133,153,153,153,160,105, 26,126,126,126,200,202,202, 66,105,105, 41,114,115,115,177,124,249, +242,236,162,162,162,126, 10,133,226,145, 25, 73, 35,221,221,221,231,180,107,215, 14,127,252,241, 7,102,204,152,241,187, 68, 34, +121,187,160,160, 96,154, 70,163,217, 50,116,232, 80,244,234,213, 11,247,239,223,199,155,111,190, 9,127,127,127,132,135,135, 99, +209,162, 69,191, 89, 88, 88,188,211,192, 56, 88, 15, 34, 34, 34, 58,251,249,249,161,180,180, 20, 37, 37, 37,224,243,249,176,182, +182, 70, 82, 82, 18,218,183,111,143, 69,139, 22, 97,195,134, 13,152, 55,111, 30,243,234,171,175, 26,116, 58, 29,109,234,101,249, +111, 70,105,105, 41,171, 84, 42, 97,101,101,133,163, 71,143,226,246,133, 48,156,153,245, 33, 68,159,175, 3,203,178,200, 90,185, + 24,253, 63,253, 28, 61,226, 83,160, 84, 42,113,224,192, 1,144, 36,137, 26, 29, 80,158,123,182, 21, 21, 21,161, 91,183,110,162, + 66,194,102, 0, 0, 32, 0, 73, 68, 65, 84,136,138,138,194,129, 3, 7,176,113,227,198, 74,183,150,207,231,163, 95,191,126, 24, + 52,104, 16, 30, 60,120,128, 93,187,118,193,202,202, 10, 28,154, 38,176,136, 26,223, 85,220, 25,166,191,191,191, 63,245,236,217, + 51,168,213,106,228,228,228, 32, 45, 45, 13, 98,177, 24,242,220, 12, 4,180,125,134,108, 66,139,196,184,100, 35, 65,241,227, 26, +178,225,117, 58, 29,180, 90, 45, 18, 18, 18,202,187,190,183, 15,169, 12,126,174,136,249,128, 90,173, 70, 68, 68, 4, 43, 22,139, + 33,145, 72,136,250,218,222, 25,131,230,247,139,215,226,135,140, 27,209, 95,112, 62,226, 59,232, 53, 6, 60,211, 88,163, 84,173, + 69,137,138, 15,173,112, 48, 8,226, 10, 72, 74,136, 94,221,218, 34,252,234, 3,181, 81,175, 59,107,158, 42, 48,130,178,233, 10, +227,211,132, 42, 2,171,250, 27, 22, 45,148,194,104,104, 92,175, 96,145, 72,180,110,253,250,245,179,190,255,254,123,203,105,211, +166,117, 48, 61, 44,182,111,223, 94, 34, 18,137,214,253,213, 58,149,201,100,227,220,220,220,150,127,245,213, 87, 46,221,186,117, + 67, 76, 76, 12, 66, 66, 66,126,203,206,206, 62,105,198,155,177,171,173,173, 45,158, 61,123, 6,129, 64, 0,163,209,136,220,220, + 92,100,100,100, 64, 40, 20, 34, 50, 50, 82,219,170, 85,171,227, 77, 73,152, 57, 1,237, 85,123, 84, 54, 6, 98,154,241,253,252, +211,169,237,212,106,149,103, 73, 73,137,129,199,227,241,132,124, 99,106, 99, 56,244,122,253,233, 43, 87,174,188,213,167, 79, 31, + 97,114, 66, 28,116, 69, 69,208, 23, 23,130, 54, 26, 96,227,219, 13,164, 86, 13, 66,171,135,139, 7, 11, 85,161, 4,215, 98, 83, +244,122,189,190, 65, 87,208, 36,176, 72,138,170, 30,119,101,101, 9,129,180, 92, 96, 85, 93, 79, 52,208,174,229,224,224, 96,209, +183,111,223, 1, 62, 62, 62, 96, 89, 22,235,214,173,131, 86,171, 21,232,245,122,232,245,122,232,116, 58,148,148,148,224,216,177, + 99,248,225,135, 31,174, 53,107,214,108,159, 66,161,104, 40,153, 6, 23, 23,151,143, 25,134,113, 48, 24, 12, 58,123,123,123,250, +200,145, 35, 16,137, 68, 32, 73, 18,221,186,117,131, 72, 36,210,200,100, 50, 29, 0,216,219,219,235,215,175, 95,207,155, 60,121, + 50, 93, 27,153,119, 64,135, 5, 70,214, 54, 80, 32,108,229,214,204,190, 43,218,180, 31, 0, 0, 24, 52,116, 18,218,180,107,129, +162,188,132, 54, 90, 77,250, 8,138,120,210,252,199, 27,242,164, 87, 44, 58,127,240, 36, 43, 34, 25,192,247,230,158, 75, 3, 6, + 12,192,171,175,190, 90,217, 28,232,224,224, 0,173, 86, 11,131,193, 96,182,184, 2, 0,211, 32,162,193,193, 32,241, 21,176,175, +187,101, 54,128, 74,123,178,168,168, 8,153,153,153, 72, 79, 79,175,188, 79, 49,172,121,111,215, 50,153, 76,220,166, 77,155,137, + 94, 94, 94, 8, 15, 15, 71, 66, 66,130,252,210,165, 75, 46, 1, 1, 1,112,117,117,253,128,101,217,207, 42, 92, 88,179, 96,103, +103, 39,233,222,189,251,172, 15, 62,248, 0,247,239,223,199,162, 69,139,158,100,103,103,159, 56,125,250,244,228, 79, 62,249,132, + 12, 12, 12, 68,110,110, 46,118,238,220,105,140,140,140,252,166,121,243,230,203,179,179,179,235, 43,199, 84,133, 66,209, 90,173, + 86,227,201,147, 39, 48, 13,201,112,246,236, 89,132,133,133,229, 20, 22, 22,246, 83, 42,149, 15,205, 73, 91,171, 86,173, 44,125, +125,125, 29,147,147,147,113,248,240, 97,232,116,186,207,211,211,211,117, 86, 86, 86, 63,109,223,190,253, 43,119,119,119,155,190, +125,251,162, 87,175, 94, 96, 89, 22,167, 78,157, 66,112,112,240,111, 98,177,248,237,164,164, 36, 93, 3,244, 35, 86,172, 88,177, +194,206,206,238,189,177, 99,199,146,190,190,190,136,142,142,134,209,104,196,128, 1, 3, 42,197,213,217,179,103, 15,158, 61,123, +246, 93, 0,180, 84, 42, 21,253,219,221, 43, 19,212,106, 53,146,147,147,225,232,232,136,118, 1, 61,177,232, 78, 26,174, 92,191, + 1,150,101,209, 39, 49, 13,207,158,149, 98,223,190,125,136,137,137, 1, 69, 81,112,119,119,111,144, 83,167,211,225,225,195,135, +200,203,203,195,240,225,195,241,254,251,239, 99,237,218,181,208,233,116, 88,186,116, 41,158, 62,125,138,221,187,119,227,225,195, +135,224,241,120,144, 74,165,255, 31, 89,173, 83,139,252, 39, 29, 44,160,188,237,155, 97, 24, 40, 20, 10, 68, 69, 69, 33, 45, 45, + 13, 18,137, 4, 42, 3,195,108,189, 25,207,144, 4, 95,110,100,113,149, 53,224,211,134,148,184, 94,175, 39,120, 60, 30,174, 95, +191,142, 71,143, 30,193,170, 29, 91,233, 94,233,245,122,104, 52, 26,148,149,149,129,207,231, 63,187,113,227,198,227,232,232,232, + 54, 60, 30,175,206, 94, 96,185,237,169,253,231, 47,252,177,192,183,155,103,135,129,129,193, 56,125,250, 75, 20, 22, 23,163, 84, +195,195, 51,149, 14,165,106, 22,206,150,109,209,189,171, 15,242,158,104,241, 32, 49, 38, 43,159,182,105,176, 13, 70,111, 36,139, + 14,110,155,214,108,216,187, 51, 32,114,234, 11,109,218, 17, 48,170,156, 74,129, 69,139, 44, 97,101,215, 18,197,207, 84,184,150, +148, 10,189,145, 44, 50,183,208,211,210,210,138, 53, 26,205,170,107,215,174,125,109,234,249,115,249,242,101,164,164,164,172, 82, + 42,149,197,141,169, 64,153, 76, 54, 16,192, 33, 0, 34, 7, 7,135, 28,127,127,127,217,171,175,190, 42, 10, 12, 12, 4, 69, 81, +136,141,141,197,180,105,211,206, 73,165,210,183, 97,198,152, 56, 2,129, 32,167,168,168,168,153, 80, 40,132, 94,175, 71,118,118, + 54,238,223,191, 15,149, 74,133,156,156, 28, 16, 4,161,136,136,136, 80, 53,246, 68, 51,245,208,170,249,144,172, 77, 60, 55,178, + 23, 33, 92, 92, 92, 2,253,187, 7,116,254,102,195, 22,168,202,158, 33,242,198,105, 20, 60,205,199,174, 61,199,187,184,184,184, + 4,154, 27, 76,156,149,149,245,243,241,227,199,231,123,123,121,249,184,183,104,129,219,233,105,160, 25, 35, 4, 70, 35, 40,173, + 26,164, 81, 3,215,206, 44, 72, 82,138,156,236, 18,236, 56, 23,126,167, 98, 84,247,250,211,247,250, 48,140, 73, 47, 2, 65, 16, + 56,247,138, 39, 68, 82, 41,104,169, 4,189,142, 69, 84,138,170,199,107, 22,130,150, 72,209,220,191,225,129, 49,115,115,115,203, +174, 93,187, 22,125,239,222, 61,255,142, 29, 59, 98,217,178,101,200,204,204, 4,203,178,200,205,205, 85,231,229,229,201,159, 60, +121,242,152, 32,136, 19, 10,133, 98, 15,204, 28, 45,156, 97, 24,135, 83,167, 78, 1, 0, 13, 0,127,252,241, 7,156,157,157,209, +172, 89, 51, 20, 23, 23, 99,252,248,241,194, 47,190,248, 2, 0, 16, 27, 27,203, 23,137, 68,117,114, 37,198,221, 95, 95, 80,204, + 22,144,165, 49,111,231, 27,226,186,244, 31,156,133, 65, 67, 63,192,249,211,251, 16, 30,118, 1,118,252,180, 84,163,248,217,239, +121,169,249, 37,202,210,246, 59, 61,253, 38, 83,138,103, 97,187,102, 12, 75,230,185,202,152,163, 75,118,212, 63,112, 47,203,178, +160, 40,234,185,128,246,198,138,171,170, 8, 14, 6,131,175, 64,180,225,243,226,228,217,153,131,157, 29, 93, 43, 95, 46, 50, 50, + 50,144,153,153,137,118,237,218, 33, 45, 61, 5, 2, 1, 29,103,230,121, 63,118,232,208,161,150, 90,173, 22,191,252,242,139,129, + 32,136,161,167, 78,157,138,246,246,246,230, 5, 5, 5, 89,238,219,183,111, 44,128, 61,141,105, 49,146, 74,165,180, 94,175,199, +254,253,251, 33,151,203, 3,115,114,114,146, 88,150,221,249,209, 71, 31,125,235,225,225,209, 46, 41, 41,233,129, 74,165,154,161, + 84, 42, 19,234,107,114, 3,128,194,194,194, 9,175,189,246,218, 81,134, 97, 90,245,238,221, 91, 50,102,204, 24, 43,150,101,225, +225,225,129, 51,103,206, 40,148, 74,165,217, 49, 76,233,233,233, 37, 87,174, 92,201,241,244,244,116,148,201,100,160,105,122,141, +147,147,211, 74,138,162,190,121,243,205, 55,109,142, 28, 57,130,208,208, 80, 72, 36, 18,164,166,166, 42,238,221,187,183,201,201, +201,105,179, 57, 35,184,199,198,198,166, 2, 24,227,239,239, 31,188,113,227,198,207, 73,146, 28,119,238,220,185,202,177,206, 76, +226,202,205,205,109, 66,104,104,232,251,255, 49, 35, 68,175,213,106, 97,107,107,139,188,188, 60,228,230,230,162,101,203,150,232, +217,179, 39,244,122, 61, 78,158,254, 13, 87,174, 92, 1,203,178,176,179,179,131,149,149, 21,226,227,227, 1,160,190,222,195,122, +157, 78, 7, 27, 27, 27, 20, 22, 22, 34, 62, 62, 30, 14, 14, 14,152, 55,111, 30,180, 90, 45,142, 28, 57,130,184,184, 56,144, 36, + 9,123,123,123, 88, 90, 90, 34, 46, 46,174, 33, 78, 14,141, 21, 88, 20, 69, 93,188,120,241,226,187, 93,187,118,229, 61,120,240, + 0, 15, 30,148, 95,111, 42,149,202,192,163, 16,154,123,251,228,152,122,254,222, 25, 85,198,202, 16, 8, 4, 59,222,125,247,221, + 25,147, 38, 77,194,204,153, 51, 65,146, 36,190,143,213, 32, 35,131,129, 78,167, 67, 78, 78, 14,110,223,190,205,250,251,251, 19, + 12,195,232,250,245,235, 55, 37, 38, 38, 38,128,162,168,226,186, 56, 17, 26,106, 52,116,126,115,248,246, 29,123,174, 79,156, 56, +209,102,216,240,237,136,189,155,136,194,210,242, 86, 38,103, 59, 9,186,119, 92,136,220, 39, 26,132,253,126,186,128, 49,168,223, + 65,226,207,250,250,210, 9, 0,121,101, 42,135,157, 7,142,175, 59,124,236,196,148,169, 19,198,136,250,245,155, 0,126,201,109, + 24,159,196,192,185,125,111, 16,148, 5,110,197,199, 34,225, 97,166,186, 76, 77,237, 41,214,169, 22, 54,196, 89,205, 75, 39,201, +173,187,119,108, 89,125,246,124, 4,165,211,233, 48,228,181, 1, 70,146, 36,183, 54, 80, 29,207,113, 90, 88, 88, 28,142,143,143, +183,209,104, 52,200,202,202,106,211,161, 67, 7,176, 44,139,244,244,116,108,218,180,201,112,230,204,153,237, 34,145,104, 81, 61, +111,136,213, 56,245,122,253,161,253,251,247, 47,249,248,227,143, 69,185,185,185,184,119,239, 30, 74, 75, 75,161,211,233, 16, 19, + 19,163,214,235,245,135,205, 56,175,158, 75,167, 73, 96,217,216,216,184,116,239,222,221,212,139,208,133, 97, 24, 52,111,222,220, +213,223,223, 63, 26, 0,154, 53,107, 86, 87, 47,194, 58,203, 83, 46,151, 95,138,136,184,130,253,123, 54, 64,167,211, 64, 41, 47, +119, 26,242,159, 20,161, 1,113, 85,147,147, 85,171,213,111,111,220,180,233,230,244, 9,227,156, 94,233, 63, 0,153, 9,241,208, + 62,205, 3,105, 52,128,207,242, 80,150, 43, 70, 78,206, 51,172, 62,115, 33, 87,165, 86,215, 38, 90,107, 77,103,101,179,160,149, + 37,132, 82, 41, 4, 21,174,149,105,155, 64,106, 9,190, 68, 10,138,166,107,107,242,122,142,179,172,172,236,157,169, 83,167, 38, +156, 57,115,166,249,152, 49, 99, 48,108,216,176,216,194,194,194,160,130,130,130, 18, 51,175,253,231, 56, 73,146,204, 29, 50,100, +136,131, 86,171, 53,140, 26, 53,138,151,159,159, 15, 83, 23,251,146,146, 18,252,254,251,239,232,216,177,124,214,153,196,196, 68, +120,122,122,214,201, 57,101,209, 29, 57,128, 21,159,188,235,242,205,205,248,236,217, 0,214,180,105,231,138,240,176, 11,184, 18, +126,125,113,143,206,204,150, 55,198, 6, 44, 23,245,127,111,161,167,239,100, 74,106, 37,195,129,227,199,168,187, 49,223,173, 82, +151,222,113,199,142,227, 11,235, 74, 39, 65, 16, 96, 89,182,154,184,226,241,120, 40, 43, 43, 51, 87, 92,213,125,109, 18, 96,139, +189, 10, 62,159, 56,111,100,207, 63, 14,223,178,148, 72, 36,149, 49, 63,109,219,182, 5,143,207,195,247, 39,182,150, 22, 22,230, +127, 97, 14,167, 68, 34,249, 56, 40, 40, 8, 41, 41, 41, 72, 72, 72, 56,166, 84, 42, 19, 88,150, 61,150,154,154, 58, 42, 32, 32, + 0, 63,255,252,243,199,245, 8,172, 90, 57, 77, 35,214, 87,184,189, 79, 1, 64,169, 84,198, 3,232,241,232,209,163, 70,229,189, + 98,176,208,222, 21,229,154, 57, 98,196, 8, 43,131,193,128, 10,241,108,219,200,115,137, 81, 42,149,155, 35, 35, 35, 67,186,117, +235,134,209,163, 71, 15,138,142,142, 30,228,237,237, 13,119,119,119, 20, 20, 20, 32, 34, 34,226, 71,134, 97, 62, 82, 42,149,106, + 0,108, 61, 2,176,214,188, 71, 69, 69, 61, 4, 48,222,199,199,231, 61, 30,143, 7, 43, 43, 43, 74, 46,151, 83,231,206,157, 3, +128,169,161,161,161,198, 38,213,123,211,241,210, 57, 9,130, 88, 58, 97,194,132,157,211,166, 77, 19, 5, 4, 4,160,168,168,168, + 82,244,159, 57,115, 6, 21, 61,177, 97,107,107,139,135, 15, 31,226,196,137, 19,218,162,162,162, 77, 52, 77,175,169,143,115,252, +248,241,213, 56, 77,226,237,244,233,211, 48,117, 34,177,181,181,197,131, 7, 15,112,252,248,113,117, 81, 81,209, 6,173, 86,187, +246, 37,231,253,127, 75, 96, 61,125,250,116,206,146, 37, 75,130, 62,252,240, 67, 91,149, 74, 69,217,217,217, 65,161, 80, 24,194, +194,194,158,150,148,148,204,105,204,193,110,220,184, 49,243,141, 55,222,216,180,119,239,222,221,187,119,239, 14, 28, 61,122, 52, +198, 15, 25,130, 25, 61, 37,208,104, 52, 32, 8, 2, 97, 97, 97,247, 47, 94,188,216,134,166,105, 77,112,112, 48, 3,224,102, 67, +188, 79,238,156,122, 64,117,126, 43,112,203,214,111, 67,125,252,122,180,106,237,214, 90,216,187, 69, 51,232,244, 70,228,228, 62, +193,165,235,119, 53, 15,238,198,103, 50, 58,237,200,188,164,134, 71,113, 7,128,164, 36,232,128,146, 57, 30, 30,150,203,214,238, + 56,184,227,135,163,199, 70, 76, 25,253, 54,207,183, 75, 16,210,178, 79,226,114,244, 69, 67, 65, 9,123,162, 68, 75, 77, 79, 74, + 42, 41,104,108,193,203,229,114,181,136,207, 22,169,213,106,155,180,180, 52,228, 40, 21,197,114,185, 66,221,148,102, 55,141, 70, +131,148,148, 20, 92,184,112, 1,177,177,177,184,118,237,154,238,220,185,115,123, 73,146, 92, 85,207, 64,147,181, 95,217,157, 59, +127,253,221,119,223,189,107, 52, 26,221,251,245,235, 39,178,177,177, 65,126,126, 62, 34, 35, 35,181,113,113,113, 41,157, 59,119, + 94,219,212,147,205,201,201, 9, 35, 71,142,116,240,245,245,117, 48,245, 24,108,209,162, 5,222,121,231, 29, 7,111,111,239,202, +117, 45, 91,182, 68, 99,134,106,112,113,113, 9,236,215,239, 21, 76,156,252, 9, 84,170,103,184,121,253, 52, 10,159,230,227, 70, + 84, 50, 52, 58, 4, 54,166, 59,124, 69,239,205, 30, 43, 55,109, 57,254, 90,119,127,143, 14,206, 78, 66, 91,183,214,144,216, 59, +225,233,147, 39,184, 25,255, 72,191,237,252,165, 59, 42,181,250,109,115,123,122, 50, 12, 83,217,203,205,115,246, 98,144, 36, 89, + 57, 11,130,105,187,149, 95, 31,144, 60, 62,140, 44,160,211,233, 26,116,239,148, 74,101, 22, 65, 16,239,204,154, 53,235,143,253, +251,247,147,253,250,245,235,246,235,175,191,254,165, 73,115,229,114,185,107,133, 43, 90,108,101,101,197,251,224,131, 15,160,215, +235, 81, 86, 86,134,226,226, 98, 60,121,242, 68, 51,119,238, 92, 33, 0,208, 52,173,127,237,181,215, 26,188,127,108, 12,149,171, + 63,121,215,101,139, 29, 63,109, 84, 81, 94, 66, 27, 59,126, 90,106,143,206,204,150,141,161,114,181,131,117,217, 74,121, 94, 68, +178,226, 89,216,174, 3,199,143, 81, 19, 70,188, 99,148, 73, 31, 44,182,107,129,163,102,221,188,106, 8,172,166, 58, 87,207,221, + 79, 18, 17,155, 37, 73, 9, 9, 26, 25,240,217,202,249,235,165,118,246,118, 48, 24, 12, 72,205, 72,193,222,227,219, 74, 75, 52, + 5,171,158, 38, 33,218, 28,174, 54,109,218,184, 81, 20,133,147, 39, 79, 2,128,105,104,131,109,191,255,254,251,168,177, 99,199, +162,101,203,150,158, 12,195, 8,235, 27, 70,163, 54,247, 78,175,215, 55,186, 25,189,193,182, 25,130, 72,137,143,143,119,113,113, +113, 33, 14, 31, 62,252, 76,167,211, 5, 55,225, 26, 95,255,219,111,191,189,194,178,236,107, 62, 62, 62,104,213,170, 21, 0,224, +238,221,187,184,114,229,202, 33,185, 92, 62, 17, 47,102,114,103,150, 32, 8, 20, 23, 23,155,198, 53,209, 73,165,210,255,228,164, +209, 10,133,226, 7,131,193, 16, 22, 28, 28,252,101,219,182,109, 63,154, 58,117, 42,213,161, 67, 7, 20, 21, 21,193,202,202, 10, + 50,153, 12,114,185, 28, 63,252,240,131, 49, 55, 55,119, 47, 73,146,203,148, 74,165,162,169,156,205,155, 55,135, 76, 38, 67, 86, + 86,150,137,115,183, 94,175, 95,158,159,159,159, 3, 14,141,187,166,204,217,169, 98,152,134,205, 70,163, 49,200,228,106, 61,125, +250,116, 78, 78,121,196,120,147,212,253, 27,111,188,209, 54, 63, 63,127,183, 78,167, 11, 28, 54,108, 24, 70,143, 30,141, 55,223, +124, 19,163, 71,143,166, 76,174,213,175,191,254,122,175, 81,111, 12, 21,147, 61,147, 20, 61,148,101,217,174, 0, 8,130, 36,205, +153,236,185, 65, 37,222,205,195,210, 93, 44,100,246,136, 5, 76, 31,149,150,188,170,210,144, 83,226,146, 74, 82,254,202,155, 77, +197,196,206, 63, 1,128, 70,207,142,203,202, 82,158,111,108,121, 86, 52, 17, 30, 38, 8,130, 98, 89,118, 43,203,178,135,101, 50, + 89,138, 57,182,123, 77, 78,150,101, 73,160,124,112,209, 11, 23, 46,124, 73, 16,196, 56,141, 70, 99, 47, 20, 10,243, 88,150,253, +113,224,192,129,203,183,108,217,162,175,231, 6,205,212,149, 78, 87, 87,215,131,206,206,206,237, 43,142, 83, 45,230,202,244,109, + 90, 95, 49, 30,209, 35,185, 92, 62,214,220,242,116,111,227, 18,230,238,230,242,170,187,155, 51, 0, 32, 37, 77,129,148, 52,249, +185,148, 84,249,224, 38,214, 81,229,100,207, 68,197, 80, 12,172,121,147, 61, 87,227,244,244,244,140,166, 40,202,181, 49, 23, 37, +195, 48,138,196,196, 68, 31,115,210, 41,147,201,198,180,104,209, 98,141, 66,161, 56,158,149,149,245,201,139,120,243,150,201,100, +189, 72,146, 60,195, 48,140,184,166,195,101, 18, 97,117, 4,185,215,201,249,245,103, 94, 95,244, 14,124,101,196,181, 75, 87, 78, + 44, 90,157,184,162,234,182,153,111, 53,159, 52,118,230,156,181, 7,183,111,254,116,251, 47, 5,123, 27, 74,103,151, 46, 93, 34, + 0,180, 55,185, 89,245,193,104, 52, 42, 18, 19, 19,253,154,226, 58,216,116,129,191,181,196,110,133, 86,167,243, 38, 9,176,124, +154,142, 47, 44,204,255,162, 14,113, 85, 43,167,139,139,203,154,118,237,218,205,121,244,232,209,161,172,172,172, 15,171,148,241, + 55,173, 91,183,158,153,153,153,185, 45, 43, 43,107,161,185,117,228,230,230,102,229,237,237, 93,176,108,217, 50,242,171,175,190, + 66,100,100,164,141, 92, 46, 47,120, 17,245,222,178,101, 75, 39,145, 72,116,128, 97, 24,119,163,209,184, 61, 53, 53,117,125, 83, + 56, 61, 60, 60,232,194,194,194, 57, 45, 90,180,152,231,232,232,232,152,147,147,147,158,145,145, 17,146,157,157,253, 93, 35,196, + 85,131,117,228,227,227,163, 1,202,167, 19, 51, 51,222,234, 95,233, 96,213, 56,159,220, 25,134, 89,229,237,237,253,238,164, 73, +147,136,164,164, 36,156, 63,127, 30,143, 31, 63, 62, 81, 17,207,247,224, 69,112,134,133,133,177,233,233,233, 71, 73,146,252, 92, + 46,151,167,252, 63,230,157, 67, 35, 79,148,122,241,198, 27,111,180, 13, 8, 8,136,232,210,165, 11,211,165, 75,151,146, 23,193, +249, 50,210,249,167,134,179,147,188,104,206,151,145,206,166,112,178, 44, 75,254,149,207, 63, 33,239,237,218,181, 99, 97,254,252, +107,255,186, 58,250,183,114,238, 88,217,197,249,214,133,247, 54,238,249,186,243,115,147,151, 7,207,106,110,249,199,201,183,215, + 6,207,106,110,249, 31, 45, 79,178,137, 47,184,157,107,127, 49,107,177,243,173,183,222, 50,182,104,209, 98,247, 63, 60,239, 68, +171, 86,173,132,220,117,244,226, 57, 29, 29, 29,253,100, 50,217, 41,153, 76,118,202,197,197, 37,224, 5,115,254,226,228,228,228, +243, 55,229,157,195,203, 56,249,222,124,243, 77,135,183,222,122,203,134,187,240, 56, 78,142,147,227,228, 56,235,231,148,201,100, + 98,174, 60, 57,206,255, 32,231,127, 10,188,127, 74, 66, 78,157, 58,149,203, 85, 7, 7, 14, 28, 56, 52,140,198, 12,237,192,129, + 3,135,191, 7, 68, 61, 42,180, 49,109,171, 77, 81,178,119, 56, 78,142,147,227,228, 56, 57, 78,142,147,227,252,159,227,108,136, +155,139,237,122, 73,194,139,227,228, 56, 57, 78,142,147,227,228, 56, 57,206,255, 61,206,255, 20, 72,174, 8, 56,188,108,108,153, + 12,151, 45,147,225,242,178,246,231,192,129, 3, 7, 14, 28,254,105,224,253,215, 50,228,235,235,235,201,178,236, 88,130, 32,222, + 5, 0,150,101, 67, 9,130, 56, 24, 19, 19, 99,214, 8,180, 34,145, 40, 91,173, 86, 59, 84,252,206, 85,171,213,178, 42,155,137, + 42, 31,160,188,183, 90,213, 79,173,112,115,115,203,214,104, 52,230,204,175, 23, 71, 16, 68, 44,195, 48, 49, 82,169,244,234,195, +135, 15,147,205,205,247,192,129, 3, 63,146, 72, 36, 95,168, 84,170,181,231,206,157,219,252,255, 80,212,221, 91, 56, 59,237,211, + 27,116, 76,118,238,211,165, 0,106,157,134,103,251, 36,132, 16, 44, 22, 86,252, 94, 55,115, 47,150,212, 71,218,216,253,235,129, + 31,159,207,255,216,209,209,241,245,172,172,172,104, 0,159,130, 27,133,152, 3, 7, 14, 28, 56,252, 19, 5, 86, 15, 31,155, 14, + 4,163, 91,200,167,216, 87,244, 70,226, 10, 75,210,235,110,198, 62, 77,254, 43, 9,144,201,100, 45, 8,130,232,199,178,172, 7, + 73,146,183, 25,134, 57,167, 84, 42,159, 52,134,195,199,199,167, 5,128,209, 0,198,116,239,222,189,243,244,233,211,209,174, 93, + 59,168,213,106, 68, 70, 70, 46,254,233,167,159, 22,179, 44,123, 7,229, 83,202, 28,142,141,141,205,172,139, 75,173, 86, 59,152, +198,102, 34, 8,194,225,221,119,223,141,172, 50, 9, 47, 97,154, 92,150,101,217,155, 0,110, 16, 4,113,253,231,159,127,206,234, + 96, 47,234,209,186,133,253, 27,103, 99, 50,150,214,228,212,104, 52, 14,113,167, 78,128, 53, 24,241, 76,158,129,182,111,143,174, +220,118,254,237, 1, 96, 75,139,193, 23,210,113, 65,191, 94,143, 5, 16,147,145,145, 17,219,170, 85,171,228,250, 56,107,162, 91, +183,110,203,131,131,131,237,134, 13, 27,246, 49,128, 58, 5, 86, 99, 56,235,129,176,135, 95,215,139,167,142, 29, 22,129, 32,241, +214,136,119, 15, 93,139,185, 51, 30, 64,181, 9,160,183, 79,132, 35, 65, 96,225,244,185,211, 41, 0,248,118,211,142, 79, 55,190, +143, 45,159,252,132,108,103,103,231, 32,150,101, 63,173, 40,231,181, 10,133,226,226,246,137,112, 4,176,104,250,220,233, 4, 0, +236,216,180, 99,225,246,137,216, 60,115, 63, 26, 59,192,221,140,137, 19, 39,110, 89,181,106, 21, 85, 49, 8,223,107,158,158,158, + 29,138,139,139, 61, 1,112,193,193, 28, 56,112,224,192,225,239, 23, 88, 94, 94, 86,214, 98,146,157, 39, 22,176,163,251,245,106, +231,246,230,235,189,136, 54,109,219, 32, 57, 41,217,253,226,165,168, 15,132,212,221, 52,149,150, 56,172, 98,136, 13,137,137,245, +207, 31,246,249,100,232, 13,134,242, 99,242,120, 48, 30, 56,231,122, 34, 40, 40,200,109,210,164, 73,240,241,241, 65,116,116,116, +208,209,163, 71,231,252,246,219,111, 81,122,189,254,140, 80, 40,140,104,104,132, 99, 31, 31,159, 53, 46, 46, 46,159,206,159, 63, +159,240,243,243,131, 80,248,231,176, 43, 82,169, 20, 3, 6, 12,192,128, 1, 3,144,157,157,221, 57, 34, 34,162,243,193,131, 7, + 67,124,124,124,214,198,198,198, 46, 54,167,128,190,248,226, 11,223, 90, 86,135, 17, 4,241,136, 36,201, 24, 15, 15,143,172,182, + 78,146,142,118, 54,214,167,191, 94,181, 12,103, 95,157, 88,167,112,249,101,112, 47, 0,168, 38,176,116,249, 57, 16, 89, 74,227, +104,177, 56, 22, 64, 12,128,216, 86,173, 90,197,153,203, 9, 0,129,129,129,194,251,247,239, 19, 44,203, 34, 32, 32,192,134, 32, +136,100,146, 36, 55,159, 61,123,118, 71,213,253, 26,195,217,144,123, 21,188,112, 38,157,159, 18,135,123,215,207, 97,184,175,139, + 40, 54,241,254, 74,181, 86,127,172,190, 63, 17, 4, 73,238,143,182, 91, 12,228,206, 97, 24,230,139,164,164,164, 64, 0,240,240, +240, 16, 0,184,120, 32,178,249,144,137,189,138,254,202, 36,159, 52, 69, 81,219,247,238,221, 59,121,252,248,241, 72, 79, 79,199, +213,171, 87, 33,149, 74,177,124,249,242,214,243,231,207, 15, 49, 24, 12,115,184,203,158, 3, 7, 14, 28, 56,252,173, 2,171,143, +143, 69,100, 80,207,214,190,195, 6,247, 34,219,121,120,130, 22, 90, 84,110,235,226,227,131, 46, 62, 62,196,212,169, 37,109,226, + 99,227, 63, 63,251,199,173,207,154,209,134,152,171,177,101,117, 14,122,102, 48,128, 23,178,234, 32, 0,224,192,158,177, 84,114, +114,178,155, 88, 44,174, 42, 20, 16, 24, 24, 72,134,132,132,116,191,120,241, 98,247,195,135, 15,235,244,122,253, 38,133, 66, 81, +223,212, 25,159, 30, 61,122,148,160, 40, 10, 20, 69,213,185,147,147,147, 19, 6, 13, 26, 4, 39, 39, 39, 98,225,194,133,159, 2, +168, 85, 96,137, 68,162, 92,130, 32, 28, 0,160,121,243,230,198,224,224,224,120,182, 2, 0,192, 48,204, 77,138,162,110, 16, 4, +113,243,196,137, 19,114,119,103,145,139,148, 22,158,219,189,115, 43,244,197, 57,117,142,227, 85,166,200, 50,169,140,106,235, 5, + 18,139, 56,129, 68, 18, 43,144, 74, 99, 0,196, 18, 4, 17,103, 46,167, 73, 92,137,197,226,203, 59,119,238,108, 14, 0,179,102, +205,178, 46, 43, 43,179,158, 50,101,202, 98, 0,149, 2,171, 49,156,245,192,250,149,158,126,143,223,121,243, 53, 43,159,238,125, +112, 51,244, 91, 20, 22,150,162,180,164, 12, 12,195, 60, 55,243,239,204,253,200,217, 62, 9,235,190,221,184, 99, 17, 65,146,132, +247,224, 79, 49,216,134,157,157,255,227,143,137, 0,248, 2,129,160,162, 72, 8,158,139,139,139,179,165,115,135,117,237,250,116, +196,142,205,219,193, 50, 12, 11, 96, 93, 35,220, 43, 7, 75, 75,203,147,231,206,157,235,238,239,239,143,155, 55,111, 34, 37, 37, + 5, 51,103,206,212,206,156, 57,147,158, 48, 97, 2, 49,111,222,188, 89,107,215,174, 13, 5,112,141,187,244, 57,112,224,192,129, +195,223, 38,176, 68,180,209, 63,120, 75, 60,140,165,143,192,234, 51,192,234,178,159,219,199,194,186, 5, 58,121, 59,194, 66, 96, + 79,222, 78,218,232, 95, 99,115,189, 93, 45, 77,226, 42,116,189,179,151,170, 84, 73, 3,128, 88, 34,211,189, 51, 79,158,232,239, +239, 15,123,123,123,250,250,245,235,243,128,106,115,147,213,228, 36,180, 9,209,184,247,102,111,180,189,247, 20, 22, 22, 22, 48, + 61,184, 77, 72, 78, 78,198,229,203,151,145,158,158, 14,119,119,119,224,249, 17,148, 43, 57,213,106,181,211,224,193,131, 35,214, +174, 93,219,119,205,154, 53,183, 15, 29, 58,212, 15, 64, 89,173,238, 94, 11, 43,107,198,192,158,219,179, 99, 35, 31,218, 82,155, +251, 81,215,234,204,187,219,155,239, 96,122, 97,121,211,227, 17, 79,103,136,172,164, 16, 74, 45,227, 6,133, 69, 85, 58, 87, 4, + 65,196,153,203, 25, 20, 20,244, 1,143,199, 91,170,211,233,154,237,218,181,203,218,218,218,154, 60,121,242,164,110,231,206,157, + 37, 52, 77,107, 9,130, 88,221,148,116,214, 7, 62, 69,173,248, 38,120,161,149, 5,105, 64,236,153, 31,145,149,158,129,132,135, +114,253,207, 87,238, 26,181,122,227,164,218, 56,103,238,197,146,121,111, 9,246, 69, 43,221, 79, 13,253,106,102,251,149,195, 28, +161,211,233,246,228,229,229, 97,202,148, 41, 96, 24, 6,125,250,244,233,205,178,172,124,246,236,217,112,119,119,199,158, 95, 31, +148,241,138,111,245, 59, 24, 94, 18,109,102, 58, 59,183,106,213,234,220,197,139, 23, 29, 93, 92, 92, 16, 17, 17,129,236,236,108, +200,100, 50,204,156, 57, 83,176,102,205,154, 3,197,197,197, 35, 87,173, 90, 37,186,115,231,206,225,176,176,176, 22, 40,143,153, +123, 25, 93,129, 57, 78,142,147,227,228, 56, 57,206, 23, 12,150,101,253, 1,216, 3,200, 35, 8, 34,170,234,114,197, 46,246, 21, +223, 53,151,243, 43,158,249, 85, 39, 47,207,175,120, 6,216, 3, 48, 2,136, 36, 8,162,224, 69,167,217, 36,176, 2, 1, 68, 0, + 88, 6, 32,184,230, 78, 58,121, 4, 4,173,223, 6, 68, 94, 96,181,143,192,104,229, 96,249, 14, 40, 45, 19, 33,255,113, 58,238, +221, 12, 5,107, 40,107,248, 96, 60, 24,182,110, 26,203,179,180, 0,104,161,189,174,164,164, 4, 18,137, 4,170, 82, 37, 61, 97, + 74,165,179, 69, 95,188,120, 17, 49, 49, 49,112,118,118,110, 80, 4, 2, 0,171, 45,111, 69,212,106,181,208,106,181,200, 30, 18, + 0, 73,143,190, 40, 24, 55, 19, 23, 46, 92, 64, 94, 94, 30,104,154, 6, 77,211, 48, 24, 12, 13,166,147,172,152,137,215,100, 90, +213,182,143,139, 11, 68, 70,189,254,244,214, 13,171,173,172,164, 22,142,209,231,126, 65,122,122,182, 89,133, 46,144, 88, 64, 32, +182,136, 19, 72,196,213,196, 85, 99, 56, 41,138, 90,126,236,216, 49, 23,141, 70, 3,154,166, 17, 26, 26,170,219,191,127,127, 98, +105,105,233, 43,177,177,177,170, 23,145,206,154,176,181,183,255,237,237,247,167,205, 92,249,225, 32,168, 74,213, 56,113,229, 46, +254,184,157, 54, 12,192, 85, 0,165,117,253,111,195, 47,218,135,206,206, 69, 3,166, 76,153, 18,119,252,248,113,187,111,190,249, + 6, 70,163, 17, 6,131, 1, 6,131,161,242,183,209,104,196,161, 67,135,112,245,214,221,217, 74,101, 73,180,153,201,114,118,115, +115,187,112,235,214, 45,123, 11, 11, 11,156, 63,127, 30,133,133,133,152, 49, 99, 70,165,115, 85, 88, 88, 56,122,199,142, 29,239, + 60,126,252,248,155, 43, 87,174, 60, 1, 64, 1, 48,128, 3, 7, 14, 28, 56,252,147, 80,159, 22,177, 39, 8,226, 52,203,178, 67, + 89,150, 29, 8, 64, 96, 90, 6, 0,130, 32, 78, 87, 60,183,171, 45, 47, 94,188,248,179,144,144,144, 68,211,178,105,159, 37, 75, +150,120,173, 89,179,102,117,207,158, 61, 15, 95,191,126, 61, 21,192, 75, 19, 88, 17,168,103, 94, 44,205,163,159,160, 73,253, 25, +180, 44, 8,130, 54,163,192,183,235,137,204,251, 17,136,187,176, 1, 89, 15,174,130,101,140,112,108,209,169,193,131,173,252, 14, +124,153, 76, 22,163, 80, 40, 16, 27, 27,139, 71,143, 30, 65, 36,122,174,101, 9,127,252,241, 7, 0,192,209,209,209, 60,193,226, +223, 27, 45,226,149,200,244, 46,239,240,215, 34, 94, 9, 0, 88,189,100, 9, 4, 2, 1,104,154,174,220,215,104, 52, 54,200, 71, + 84, 68,181, 87, 52, 11,214,214, 59,144, 16, 25, 44,143,126,181,248,227, 86,110,238,237,156,111,253,118, 4,169,169,114,228,228, +152, 87, 63, 66,169, 36, 78,104, 41,137, 21,136,255,108, 22,108, 2,231,145,145, 35, 71,126, 48, 98,196, 8,113,143, 30, 61,132, +223,127,255,125, 97, 77,113,245, 87,211, 89, 21, 78, 78, 78,131,223,120,227,141,223,166, 78,157,138,225,175, 13,196,216, 62, 30, +108, 86,110,145, 10,192,249,138, 55,128,122,161, 80, 40,228, 0, 6,189,253,246,219, 63,121,121,121,121,176, 44,139, 78,157, 58, + 97,248,240,225, 56,118,236, 24,238,222,189,139,146,146, 18,221,149, 43, 87, 54, 41,149,202,189,102, 38,203,162,121,243,230,103, +195,195,195,237, 45, 44, 44,112,238,220, 57,148,149,149, 61,231, 92,173, 94,189, 90,148,150,150,182, 45, 44, 44,172, 53,202,135, + 38,225,196, 21, 7, 14, 28, 56,252,243, 80,175, 22, 49, 9, 39,150,101,135, 86, 21, 76, 53,133,150,233,183,105,191,144,144,144, +161, 85,197, 23, 0,172, 89,179,102,117,149,229,178,151,145, 25,147,192,234, 87, 33, 36,250, 1,184, 84,195,150, 43,255,193, 24, +160,147,159,135, 78,126, 30, 22,222, 75,113,114,203,184,106, 68,230, 56, 67,181, 65,173, 86,131, 47,176,213, 29,216, 51,150, 6, + 0, 35, 43,209, 61,119,236,134,173, 67,179,143,103, 78, 58, 9,130, 32,171,240, 62, 39, 30, 92, 93, 93,215,247,236,221,189, 79, +187, 46, 1, 22,183,206, 30,199,195, 7,233,200,207, 47, 2, 88,168,235,226, 60, 63,234,117,148,166, 36, 67,108,101, 21, 55, 56, + 60,190,154,115,213, 20,206, 11, 23, 46, 44,232,209,163,199, 23,161,161,161, 10,119,119,119, 33,143,199,211,213, 16, 87, 77, 74, +103, 85,200,100,178,222, 60, 30,239, 28, 73,146,226,160,160, 32,204,158, 61, 27,155, 55,111, 54, 48,124,209,208, 29,103,163, 71, + 62,211,232,150,154, 35,174,170,136,172, 4,133, 66,225,153,156,156, 44, 52, 24, 12, 65,111,190,249,230,153, 33, 67,134,224,198, +141, 27,184,112,225, 66,123,157, 78,167,172, 56,238,114, 0,142, 36, 73,174,173,103, 38,119,146,166,233,195, 23, 46, 92,240,114, +118,118,198,249,243,231, 81, 86, 86, 86,233, 92, 77,156, 56,177,154,115,117,253,250,245, 39,156,184,226,192,129, 3,135,127, 52, +234,212, 34, 85,221,167,218, 68,150, 57,168, 34,190, 84,139, 23, 47,254,140, 32,136,211, 21, 14,151, 10,128,226,101, 9,172, 75, + 21,170,145, 69,195, 51,188,195, 88,146,250,220, 58,134,105,250,115,171,253,192,176, 68,177, 88,140, 29, 59,118,192,194,194,162, +209,194,169,244,204,113,100,206,124,191,210,185, 50, 57, 89, 24, 60,161,169, 2,203,228, 96,221, 68,141, 38, 66, 23, 23,151,143, +187,116,233,242,225,238,253, 63, 89,174,249,226,211,162,226,123,137, 60,117,153, 70,162,209, 27,116,143,114,242,235, 28, 30,193, + 80, 92, 8,161, 68, 18,199,183, 16, 63, 39,174,154,202,121,243,230, 77,117,255,254,253,247,173, 94,189,186, 7,195, 48,251, 95, + 68, 58,171,138, 43, 91, 91,219,176,109,219,182,137,197, 98, 49, 52, 26, 13,214,174, 93,139, 63,254,248, 99,104,118,118,118, 24, +128,176,166,214,183, 78,167,155, 60,112,224,192,141, 11, 22, 44,128, 94,175,199,168, 81,163,240,248,241,227,115, 15, 31, 62,220, +236,234,234,186, 96,198,140, 25,206,118,118,118,152, 62,125, 58, 13, 96, 98, 29, 52, 95, 31, 60,120,112,168,183,183, 55, 46, 93, +186,132,162,162, 34,200,100, 50,124,252,241,199,130,144,144,144, 3, 37, 37, 37, 35, 67, 66, 66, 56,231,138, 3, 7, 14, 28,254, + 61, 48, 75,139, 84,117,162, 26,131, 42,255,227,135,132,132, 36,134,132,132, 84,115,184, 94,150,192, 98,171,168,199, 6,221, 33, + 70,245,124, 12, 15, 99, 52, 52, 38,147,102,237,103, 78,115, 30,240,103, 12, 86, 45, 66,233,185,229, 70,196, 96,133,177, 44,123, +189,170,192,114,113,113,121,203,201,201,233,235,131, 7, 15,138, 21, 10, 5, 92, 59,116,110,246,219,177,159, 53,142, 18,161, 58, +235,233,211, 9, 9,138,210,208,186, 56, 25,117,105,156, 72, 34,141, 21, 89, 72,107,138,171, 38,115, 2, 64,120,120,248,252,154, +235,254, 42,167, 76, 38,235,109,103,103, 23,182,109,219, 54, 11,133, 66, 1,154,166, 33,149, 74, 17, 30, 30,142, 10,113,213,100, +184,184,184, 4,207,156, 57,243,171,137, 19, 39,162,160,160, 0, 23, 46, 92, 64, 80, 80, 16,182,109,219,214, 42, 60, 60,124, 99, +175, 94,189, 64, 81, 20,206,159, 63, 15,189, 94,255,160, 14,154, 17, 83,167, 78, 93,240,206, 59,239, 32, 50, 50, 18, 74,165, 18, +211,167, 79,215,126,252,241,199,149, 49, 87,223,126,251,237, 59,105,105,105,156,115,197,129, 3, 7, 14,255, 30,212,169, 69,106, + 60,203,127, 99, 89,246,141,154,174, 86, 77,241,101,114,168,170, 46,215,220,191, 98,187,250,101,100,198, 36,176,234,118,173, 88, + 35, 40,155,174, 48, 62, 77,168, 34,176,148,213,118,161,133, 82, 24,205, 16, 46,159, 79,134,222,222, 90,201,251, 97, 57, 9,190, +192, 86,215,126, 96, 88, 98, 93,251, 74,165, 82, 48, 12, 99,150, 14,163,135,188, 67,181, 29,252, 22, 82,186, 56,129,213,235, 42, +157, 44,124,246, 89, 53,113, 69,211, 52,180, 90, 45,208,112,179, 86, 36, 65, 16,143, 41,138,186, 1,128, 13, 12, 12,220,163,215, +235,223, 42, 40, 40,104, 62,101,202, 20, 93,126,126, 62, 78,156, 56,129,125,251,246,169,158,233,120,209, 5, 79,244,227, 82,149, +165, 89,245,240,197,189,113, 41,177,154,115,245, 2, 56,159,195,139,224,148,201,100,189, 29, 28, 28, 42,197,149, 80, 40,132, 84, + 42,133, 92, 46, 7,143,199,251, 75,131,116,182,106,213, 74,232,235,235,187,104,194,132, 9,184,119,239, 30, 22, 47, 94,172, 84, + 40, 20,199, 79,158, 60, 57,125,222,188,121,188,192,192, 64,228,230,230, 98,231,206,157,250,200,200,200,213,217,217,217,235,106, + 61,105,121,188,201, 43, 86,172, 96, 21, 10, 5,145,146,146, 82,205,185, 42, 46, 46, 30, 25, 18, 18, 34, 74, 77, 77,229,156, 43, + 14, 28, 56,112,248,119,161,190, 22,180,252, 10,241,148, 83,203, 50, 85, 69, 88,213, 92,206,173,177, 12, 0,218, 26,219,227, 95, +166,192,170, 21,122, 35, 89,116,112,219,180,102,195,222,157, 1,145, 83, 95,104,211,142,128, 81,229, 84, 10, 44, 90,100, 9, 43, +187,150, 40,126,166,194,181,164, 84,232,141, 21,225, 15,183, 0, 0, 32, 0, 73, 68, 65, 84,100, 81,125,124, 6, 3,120,179,230, +254,217, 91,208,218,218, 26, 69, 69, 69,213, 28, 45, 11, 11, 11, 56, 59, 59,163,184,184, 24,161,161,161, 96, 89,246, 90, 3,110, +216,138, 9, 19, 38,124, 57, 99,198, 12,178,237,152, 73,120,118,243,202,115,174,149, 72, 36,130, 88, 44,134, 92, 46,199,253,251, +247, 25,150,101, 87, 52,160,142,111,145, 36, 25,247,243,207, 63,103, 5, 6, 6, 78,108,222,188,249,152, 73,147, 38,137, 35, 35, + 35,177, 98,197, 10,222,249,243,231,117, 81, 81, 81, 6,163,209, 56, 95,161, 80,236,108,240,140, 33,136,154,226,234, 47,115,214, + 34,174,254, 50,167, 76, 38,235,229,236,236, 28,182,121,243,102,139,236,236,108, 8,133, 66, 88, 90, 90, 34, 35, 35, 3, 43, 86, +172, 40, 53, 24, 12,175,253,197,243, 77, 40,145, 72,132,122,189, 30,251,247,239,135, 92, 46,239,153,157,157,157,193, 48,204,206, +143, 62,250,104,139,135,135, 71,167,251,247,239, 63,120,246,236,217,204,156,156,156,123,117,145, 88, 91, 91,247,180,183,183, 39, +110,220,184,129,233,211,167,107,103,205,154, 85, 25,115,197, 57, 87, 28, 56,112,224,240, 31, 84, 94, 4, 17, 89,223,242, 63, 17, +245, 78,246,156, 87,166,114,216,121,224,248,150, 81,239, 13, 80,135,133,135, 3,173, 38,128,239, 50, 24,160, 68,112,110,223, 27, +246,173,123, 32,254, 97, 54, 78, 92, 73, 84, 39,203,181, 91,242,202, 84, 53,231,219,171,119,182,237,162,162, 34,180,110,221, 26, +143,194,135,120, 69, 29,237,228,227, 99,179,213,167, 5,214,123,133,135,135, 99,253,250,245,207,146,147,147, 55,180,111,223,126, + 65,125,156,113,113,113,203, 50, 51, 51,187, 45, 89,178,228,236,210,172, 98, 20, 44,223,142,226,185, 19,144, 61,160, 11, 44, 44, + 44, 96,103,103,135,210,210, 82, 92,190,124, 25,241,241,241,103,213,106,117,183,184,184,184,101,245,113,178, 44,123,211,195,195, + 35, 37, 32, 32,192,178,168,168,104,243,132, 9, 19,196,165,165,165,200,207,207,199,147, 39, 79,112,235,214,173,243, 90,173,214, +171, 1,209, 82,201,201, 48, 76,165,184,122, 81,156, 85,241,162, 56, 37, 18,201,194, 19, 39, 78, 88,144, 36, 9,161, 80,136,102, +205,154, 33, 51, 51, 19,203,151, 47, 47, 85,169, 84,175, 41,149, 74,115, 7,232,172,179,222, 25,134,129,193, 96, 0,203,178, 16, + 8, 4,197, 0,144,147,147,115, 47, 53, 53,117,192,169, 83,167,100,143, 30, 61,234, 87,135,184,170,228,204,207,207,143,120,252, +248, 49, 36, 18, 9,102,205,154, 37, 88,189,122,245, 15,155, 55,111, 86,135,132,132,208, 3, 7, 14,220, 22, 22, 22,214, 81,165, + 82,245, 53, 67, 92,253, 47,207, 90,207,113,114,156, 28, 39,199,249, 79,227,252, 79,161, 94, 7, 43, 41, 9, 58,160,100,142,135, +135,229,178,181, 59, 14,238,248,225,232,177, 17, 83, 70,191,205,243,237, 18,132,180,236,147,184, 28,125,209, 80, 80,194,158, 40, +209, 82,211,147,146, 74, 26,236,251,207,227,193,176,100,233, 88, 30, 0,240,249, 48,124, 54,116,104,132,151,151, 87,159, 97,222, +185,244,244, 89,229,206,214,142,173, 99,233,136,136,136,163, 66,161,112, 87, 90, 90, 90,177, 92, 46,111, 48, 19,241,241,241,183, + 1,188, 78, 81, 84,223, 5, 11, 22,124, 61,196,205, 53, 96, 68,207,126,224,243,249,136,138,138,194,211,167, 79, 35, 73,146, 92, + 20, 23, 23,119,217,156, 66,249,245,215, 95,179, 0,160,172,172,108, 69,251,246,237, 5, 73, 73, 73,120,244,232, 17,146,147,147, + 97, 52, 26, 31,202,229,242, 70, 5,196,137, 68,162, 91, 4, 65, 36,190, 72,206,170,120, 81,156, 42,149,106,245,202,149, 43, 95, + 93,182,108,153,208,210,210, 18,113,113,113, 88,182,108, 89,169, 90,173,110,140,184,170, 23, 44,203, 66,175,215, 55,170,231,103, + 45, 88,228,237,237,221,113,229,202,149,237, 43, 98,185, 56,231,138, 3, 7, 14, 28, 56,252,123, 4,214,159, 66,171,164, 0,192, +123,221, 60, 44,221, 87,111,255,105,143, 88,192,244, 81,105,201,171, 42, 13, 57, 37, 46,169, 36,197,220,131,173,252, 14,252,234, +107,148,176,182,182,150,100, 58,225,153,105, 77,102, 14,160, 84, 42,215, 54, 37, 51,209,209,209,151, 1,116,103, 89,118,196, 25, +130,248, 12, 72, 5,203,178,171,227,226,226, 78, 52,134,199,223,223,191,117,105,105,233, 15, 26,141,166, 27,195, 48,130, 75,151, + 46, 65,173, 86, 35, 41, 41, 73,197, 48, 76,104, 99,211,149,150,150,150,248,162, 57, 95, 70, 58,229,114,121,212,233,211,167, 7, + 18, 4,113, 97,209,162, 69,194,229,203,151,191, 80,113,101, 99, 99, 83,150,157,157,253, 68,173, 86,219,230,228,228,104,109,108, +108,202,210,211,211,155, 66,245,176,184,184,184,203, 39,159,124,178,124,193,130, 5, 11,191,254,250,107,154,139,185,226,192,129, + 3, 7, 14,255,122, 4, 6,218, 73,204,220,213, 44, 11,241,243,201,208, 47,158, 8,118,241, 68,176,159, 79,134,254, 69,112, 54, + 18,213, 56, 59,116,232,112,216,206,206,206, 64,211,180,134, 36,201, 50,138,162,138,121, 60, 94, 54, 73,146,211, 97,198, 48, 22, +255,102, 78, 0,112,116,116,244,243,244,244, 60, 44,147,201,122,189,136,242,172, 10, 39, 39,167, 87, 93, 93, 93,143, 56, 59, 59, +247,123, 65,156,254,175,189,246,218, 99,177, 88,124,221,220, 23,134,255,207,115,137,227,228, 56, 57, 78,142,147,227,228, 0,238, + 68,225, 56,255,165,156, 68, 19,196, 21, 87,158, 28, 39,199,201,113,114,156,156,192,122,105, 32,185, 34,224,240, 31, 0, 11,174, + 89,144, 3, 7, 14, 28, 56,252,131, 64,212,163, 66, 27, 51, 83,118, 83,148,236, 29,142,147,227,228, 56, 57, 78,142,147,227,228, + 56,255,231, 56, 27,226,190, 3, 14, 47, 69,120,113,156, 28, 39,199,201,113,114,156, 28, 39,199,249,191,199,249,159, 2,215, 68, +200,129, 3, 7, 14, 28, 56,112,224,240,130,209,232,192, 96,127,127,255,118, 0, 16, 21, 21,245,240, 37,166,235, 99,153, 76, 54, +165,107,215,174, 30, 52, 77,147, 69, 69, 69,203, 46, 93,186,180,172,182, 29,187,118,237, 26,253,234,171,175,186, 95,188,120, 81, + 11,252, 57,255,160,233,219,104, 52,102,197,196,196,248,113, 85,253,247,192,201,201, 41, 76, 36, 18,181, 42, 31, 96,148,133,129, + 49,194,200,176, 48, 26, 25,232,141, 44,116, 90,117,186,182,172,120,112,147,184,189, 71,180, 52, 26,153, 16, 22,236, 14,130, 37, +166,179, 4,187,131, 96,137,143, 88,146,216, 65, 48,236, 52,240, 12,223,192,192, 91,192, 99,248, 75,149, 73,161,153,255,133,242, + 12, 14, 14, 38,255,226,255,107,157,127,170, 91,183,110,167, 69, 34, 81,219,186,254, 87, 86, 86,166, 76, 72, 72, 8,250, 47,159, +171,142,142,142,125, 73,146,220, 10,192,171,198,166,123, 0,230, 40,149,202, 63,254,234, 49,252,197, 98,158, 29, 69, 77,227, 19, +196,167, 0,160,103,217,181,249, 70,227,174, 40,149,234, 31, 19, 67,104,111,111,127,153,162,168,246,165,101,101,165,207, 74, 74, +220,165, 82,105,138,216, 66, 34, 49, 26,140, 15,158, 60,201,235,203,221,213, 56,112,120, 65, 2,203,199,199,167, 3,128, 64,130, + 32, 2, 89,150,237,219,190,125,123,199,178,178, 50, 24,141,198, 28,130, 32, 46,179, 44,123, 9,192,165,216,216,216,228, 23,145, + 32,146, 36,215,109,220,184,113,254,172, 89,179, 42, 69,210,157, 59,119,208,165, 75,151, 90,247,167, 40,202,117,205,154, 53,205, + 50, 50, 50, 64,211, 52, 4, 2, 65,229,135,162, 40,244,232,209,163, 81,199,111,222,188,185,165,131,131,195, 50,130, 32, 70,146, + 36, 73, 53,180, 63,195, 48, 70,150,101,143,230,230,230,126, 85, 80, 80, 80,210,152, 99,249,249,118,209, 3, 68, 29,199, 96,141, +209, 49,183,249,245,253,191, 67,135, 14,209, 60, 30,207,181,170,160, 52,161,234,114,213,223, 70,163, 49,235,238,221,187,126,230, +150,133,200,194, 98, 33, 65,242, 6,130,101, 58,149,147,145,247, 88,198,112, 65, 93, 86,182,206,156,252, 10,133,194, 86, 49,177, +177,237,239,222, 79,133,123,155,150,208,234, 12,208,104,245, 56,121, 33, 10,222, 30,110, 24, 54,100, 80,147,207, 21, 3, 67, 4, + 47,253,120, 92,255,213, 91, 15,249,127, 54,107,140,116,245,214, 67,126,159,205, 26, 99,185,122,219, 33,191,165,179,199, 90,174, +220,122,208,111,233,236,177,205, 86,109, 61,168, 5, 48,185, 41,199,152,212,185,101, 41,105, 52, 8,107,173,123,138,167,217,123, + 39, 67,242,119, 92,184,171, 87,175,238,160,211,233,146, 38,142,242, 91,209,169,157, 67,110,109,251, 20, 21,229, 58, 60,186, 23, +253, 5,248,180,135, 71,192,103,245, 94,159, 52, 77,183,185,124,249,114,123,211, 72,251, 70,163, 17, 70,163, 17, 6,131, 1, 90, +173, 22,239,188,243, 14,239, 69,164,219,215,215,119, 18,203,178,171,202, 79, 75, 98,101, 76, 76,204,182,191, 64, 39,229,241,120, +159, 8, 4,130, 64,131,193,224, 1, 0,124, 62, 63, 73,163,209, 92, 50, 24, 12, 27,129, 63,199,215, 51,243,222,179, 41, 50, 50, +210,211,210,210, 18, 58,157,174,114, 98,120,138,162, 58,117,239,222,125, 59,128,246,127, 53,255,118, 20, 53,173, 87,159, 62,155, + 39,205,157, 75, 21, 68, 69, 97,235,158, 61,155, 80, 80, 0, 0,219, 27,250,175,139,139, 75, 52, 65, 16,174,141, 57, 30,203,178, + 89,114,185,188, 81, 47,152, 20, 69,181,127,156,161,112,104,221,210, 25,207, 74, 74, 96, 97, 33,145, 68,221, 73,115,240,245,106, +205, 61, 49, 57,112,120, 17, 2,203,199,199,231, 12,128,192, 78,157, 58,137, 7, 13, 26, 4, 31, 31, 31,180,106,213, 10, 34,145, + 8, 0,240,244,233, 83,199,187,119,239,190, 23, 23, 23,247,222,141, 27, 55, 0, 64, 5,224,106,108,108,108,173,110,196,128,161, +125,102,137,164,194,205, 0,144, 39,127,162,204, 74,201,221,170, 84, 42,215, 1,168,250, 70,237, 62,126,252,248,121,179,103,207, +198,233,211,167,113,232,208, 33,104, 52, 26, 20, 21,213, 61,197,161,209,104,204, 26, 63,126, 60, 47, 57, 57,217, 80,151,131,213, +152, 2,113,112,112, 88, 54,106,212,168,185,158,158,158,149,211,186,232,245,250,202,239,130,130, 2,204,155, 55,207,116,243, 2, +195, 48, 8, 15, 15,159,245,233,167,159,162,160,160,224,147,218, 56, 7,246,117,143,230, 17,132, 43,243,167, 40,203,186,112, 37, +213, 15, 32,168,168,232,120,162,198, 13, 17, 0, 16,224,223,173, 65,113,199,227,241, 92, 99, 99, 99, 29,104,154, 54, 43,111, 12, +195,192,199,199,199,172,125,157,157,157,131, 40, 30,125,104,196,232, 15,155,119,243,241,225,187, 58,203,160, 55, 24,144,154,150, + 17, 16, 31, 23,211,237,220,169,159,167,136, 68,162, 49, 10,133,226, 98,125, 60,122, 35,131,248,196,135, 56,127, 53, 22,111,210, + 34,148,169,181, 40, 41,211,226,135, 95,175, 33, 43,183,168,201, 39,110, 64, 64,128, 75,158, 65,219,125,246,228,183, 36,223,124, +123, 64, 50,123,242, 91, 88,191,227,135,202,239, 89, 31, 14,199,186,111, 15, 72,103,127, 56, 28, 91,119,238,235,233, 22, 16,224, + 18, 25, 25, 89,231,180, 0,117,213, 17,105, 52, 8,247,220,149, 83, 0,144,183,115, 39,116, 57, 57,112,254,234, 43, 0,192, 84, + 47, 87, 97, 99,210,236,229,229, 85, 41,136,235, 21,142, 6, 67, 86, 98, 98,162, 95, 67,226,202, 96, 48,176, 60, 30,239,139, 43, +191, 47, 11,237, 21,208,161, 90, 97, 38, 63, 72,110, 22,252,229, 87,239, 30, 57, 91,194,190,247,154,101, 82, 82,228,234,122, 69, + 22,195, 48,164, 70,163,193,131, 7, 15,106, 29,101,159, 36, 73, 99, 83,234, 41, 48, 48, 80, 88, 90, 90,122, 80, 42,149,118, 45, + 45, 45,157,196, 48,204,151, 17, 17, 17,142, 36, 73, 98,224,192,129, 95,250,250,250,166, 9,133,194,111,213,106,117,156, 84, 42, + 29,115,233,210, 37,141,153,212,125, 45, 45, 45,127,248,229,151, 95,154,251,248,248,144,249,249,249,112,115,115,195,211,167, 79, + 3, 46, 95,190,236,251,225,135, 31,126, 88, 82, 82, 50, 30,192,229, 70, 36,183,163, 68, 34, 97, 39, 76,152, 64, 24,141,127,102, +247,251,239,191,135,111,219,156,182,131,186,137,202,212, 58,182,232, 74,130,232, 35,150,100,175,166,167, 23, 53,250, 4,230, 19, +196,167,147,230,206,165,104,165, 18,146,228,100, 12, 37, 8,222,238,114, 55,171, 65,129, 69, 16,132,235,178, 61,115, 28, 4, 2, + 1,244,122,125,229,135,101, 0,176, 0,203, 0, 44,195,130,101, 1,176, 4, 24, 35,131,245, 75,246, 52,249, 26,179,144, 72, 44, + 28, 29,157,114,196, 22, 22, 22, 44, 56,112,224,240, 34, 29,172,215, 35, 34, 34, 96, 48, 24, 96,105,105, 9,138,170,254,188,183, +177,177, 65,223,190,125,209,189,123,119, 12, 28, 56, 16,247,239,223, 23,127,253,245,215,117,218, 17, 99,231, 15, 69,139,246,142, + 38, 17, 33,187,114, 58, 54,228,187,101,199,236,148, 74,101,213,185, 6, 39, 77,157, 58,149,120,242,228, 9, 70,142, 28,121, 89, +163,209, 12, 7, 80, 92, 95, 6, 18, 18, 18,252, 18, 18, 18, 94, 88,129, 16, 4, 49, 82, 38,147,225,240,225,195,208,106,181,207, +109,183,178,178, 66, 98, 98, 98,213,183, 61,116,235,214,141, 34, 8, 98, 36,128, 90, 5, 22, 73, 16,174,191, 71, 60,172,156,167, +113,212,176,110,244,160,190,238, 57,207,212,122, 22, 0,177,116,233,210, 74,113,197,178, 44,150, 47, 95,110,118,122,105,154,198, +189,123,247, 64, 81, 20, 82,250,116, 0, 0,116,142,205, 4, 69, 81,136,239,234, 12, 0,232,249,160, 0, 60, 30, 15, 82,169,212, + 92,113,213,207, 81,230,250,203,146,175, 66, 44,213,122, 22,191,133, 71, 34, 67,113, 30, 44,203, 66,230, 96,131, 94,190, 62,124, +143, 46, 93, 29,246,110, 95,247, 11,128,225, 10,133, 34,162,110,177, 96,132, 71,135, 54,216,255,203,101,172,250, 54, 20, 79,138, +213, 40, 41, 43, 47,215,129, 61, 61,241,253,250,166,213, 19, 69, 81,235, 58,181,105,211, 98,255,145, 48,244,234, 17,128,253, 71, +206,162,103,143, 0,236, 63, 90,190,124,224,104, 24, 94,233,217, 29, 7,142,134,161,179, 71,251,150, 79, 30, 23,173, 3, 48,186, + 78,247,162,102, 29, 13, 47,175, 35, 94,161,145, 48,213,205,227,233,211,203,203,167, 66, 96, 53,250, 98,171, 16,196,102,184,198, + 13, 58, 87, 6,131, 1,185,185,185, 68, 97, 97, 33,107,109,109,253,110, 85,145,101, 18, 87, 63,255, 94, 12, 85,242, 86,226,167, +159, 46, 49,239,191, 31,152,148, 20,185,218, 3,229,205, 93,207, 65,167,211,165,189,250,234,171, 44, 0,104,181, 90, 23,129, 64, + 64,215, 16, 96,206,189,122,245,122, 78,160, 53,212,116, 88, 90, 90,122,240,232,209,163, 35, 28, 29, 29, 49,124,248,240,115,158, +158,158, 2, 11, 11, 11,252,254,251,239,112,117,117,181,179,178,178, 58, 19, 18, 18,130, 13, 27, 54,180, 60,119,238,220, 33, 0, + 35,204, 40,202,129, 65, 65, 65,135, 79,159, 62, 45,162,105, 26, 42,149, 10,137,137,137,104,214,172, 25, 4, 2, 1,134, 15, 31, + 78,245,234,213,203, 54, 40, 40,232, 88,114,114,242, 24, 0, 23,204,173, 35,149, 74,197, 46, 89,178, 4, 22, 22, 22,144, 72, 36, +149, 31,177,192, 72,236, 8,110, 35,158,187, 38, 91,188,244,211,247,215,236,222,123,234, 34,195,176, 95,102,102, 22, 23, 54,246, + 60, 40,136,138,130, 36, 57, 25,234,232,232, 70,159, 67,174, 84, 23, 44, 94,176,216, 36,122, 33, 16, 8,170, 57,247,166,223, 52, + 77,163, 91,183,110, 13,242,117,234,212,105, 39, 69, 81,246,213,210, 87, 80, 64,125,241,249,103,134,219,137,247, 37,122, 3, 36, +106,173, 30, 43,151,127,105,160, 72,138,242,242,242, 58,193,178,108,222,221,187,119, 63,226, 30,159, 28, 56, 52, 93, 96, 65, 42, +149, 34, 42, 42, 10, 4, 65,192,210,210, 18, 86, 86, 86,104,214,172, 25,138,139,139,113,247,238, 93,220,187,119, 15,105,105,105, + 32, 73, 18,238,238,238,192,243,163,135, 87,118,181, 60,184,254, 52, 68, 82, 33, 8, 2,240, 31,212, 21,126,253,189,113,231, 86, +202,156,168,115,216,163, 84, 42, 31, 0,224,117,238,220,249,195, 30, 61,122, 96,195,134, 13,208,104, 52, 27,235, 16, 87,207,117, +223,156,246, 22,239, 10,205, 35, 91,232, 12, 76,230,174, 95, 12,175,120,123,123, 71,251,248,248,184,221,190,125, 91,111,114,179, +106, 54,147,213,136,203,170,198,153,159,159, 15,134, 97,204,118,133, 10, 11,107,189,199,222,169,233, 74,153,176, 50,100,131,117, + 73, 81, 46, 86,172,253, 17,122,189, 30,243,231,207, 7,195, 48, 96, 24, 6, 70,163, 17, 5, 5, 5,229, 35, 59, 53,144,119, 83, +158, 40,138,170, 38,128, 27, 90,174,143,211,206,206, 78, 66, 82,252, 67, 11,150,174,176, 76, 72,206,194,233,240, 72,176, 44,139, +147,187,191, 4, 0, 12,159,186, 28,114,101, 30,122,249,118,194,196,105,159, 88,110, 10, 89,122,200,206,206,174,109,126,126,126, +105,109,156,122, 3,131,208,179, 55,160,124,242, 12,227, 71,244,135, 70,171, 71,110,142, 18,251,190,253, 6, 51, 62, 56,142,230, + 82,177,147,216,190, 77,114,213, 50,178,180,180,164,212,106,245,229, 7, 15, 30, 76,174, 43,157,122,189,254,245, 37,115,167, 96, +211,158, 80,120,185, 59,226,244,249,155,240,239,220, 10,103,194, 35,209,179,139, 27,206, 94,138, 70, 47,111,119, 92,188,113, 7, +115, 62,122, 31, 11,231, 92,126,189, 81,117,180,122,131,117, 73,113, 46,126, 91,125, 0,185,219,182, 33,125,214, 44,248, 87,156, + 19, 81, 36, 9,218,197, 5,176,106,184, 60,107,195,189,123,247,160,209, 60,111,212, 8,133, 66,116,234,212,169, 94, 78,147,115, +149,147,147, 67,228,228,228, 64, 34,145, 16, 73,137,119,140, 30, 94,157,223, 53, 62, 61,178, 7, 0,202,157,171, 98,148,221,223, + 2,213,131,173,160, 11,111,147,187,151, 79,211, 78,253,114, 87, 82,149,107,244, 78,141, 23,149,202,242,233,222,189,251,189,171, + 87,175,118,172,226, 2,195, 96, 48,208, 6,131,161,189,169,217,208, 96, 48, 64,163,209, 96,204,152, 49, 84,125,121, 23,139,197, + 93, 29, 29, 29,113,235,214, 45, 4, 7, 7, 11,188,188,188,240,224,193, 3,144, 36,137, 73,147, 38,193,211,211, 19,121,121,121, +240,247,247,199,149, 43, 87,186,153, 81,158,150, 18,137,100,239,169, 83,167, 68, 36, 73,162,164,164, 4, 12,195,160,119,239,222, + 32, 8, 2,183,111,223,198,231,159,127,142,227,199,143,227,151, 95,126, 17,251,250,250,238, 45, 43, 43,243, 0, 80, 98, 70, 29, +177, 26,141,134, 21,137, 68, 16,137, 68, 16, 10,133, 16, 10,133,160,105, 26, 42, 45,133,105, 95,165,105,248, 66, 41,211,181,139, +123,219, 25, 83, 71,144, 43,214,236, 11, 7,112,210,220,122, 7,202, 99,174,182,125,247,221,150, 55, 42, 58, 24, 29, 45, 41, 97, +244, 44,187,214,156,107, 19, 0, 20,108, 34,108,188, 8,156,219, 23,141,225,211,251,130,230, 11, 64,243,105, 8,104, 1,248, 21, +191,105, 62, 13, 1, 95, 8,202, 78,221, 32, 39,159,207,183,139,141,141,181,174,122,127, 48, 24, 12, 73,179,102,205,114, 31, 49, +108,168,227,145,227,167,169,113,163,134, 27,157, 28, 29,242, 51, 51,211, 31, 2,176,246,245,245,101, 27,123,206, 55, 1, 28,231, +255, 38,103,157, 96, 89,214, 31, 64,213,151, 1, 45, 0,129,233,177, 93,113,111,179,173,177, 30, 0,242, 42,190,237,235, 88,206, + 7,112, 23,128, 71,197, 58, 35,128, 72,130, 32, 10,254,106,154, 77, 2,171,234, 5, 67,212,146, 49, 20, 23, 23,163,184,184, 24, +153,153,153,216,177, 99, 7,248,124, 62,120, 60, 30,120, 60, 30, 72,146,172,140, 87,168, 11,127,156,190,186, 21,192, 86, 31, 31, + 31,254,119, 55, 66,207, 44,221, 63,103, 64,247, 65,190, 84,244,249,219,239, 2, 88, 9,224,245, 9, 19, 38,216, 1,192,129, 3, + 7,242, 1,252,110,182,139,195, 35, 91,108,217,252, 99,203,217,115,198,153, 4,133,235,158, 61,123,154,103,101,101, 85,123,163, +163,105,186,193,184, 44,150,101,143, 62,124,248,112,174, 76, 38,171,124,144, 84,109, 38, 52, 24, 12, 16,137, 68,149, 98, 72,163, +209,224,224,193,131, 6,150,101,143,214,195,137,228,196, 63,240, 32,241, 34,140, 70,166,154,152, 82,171,213, 8, 14, 14,174,116, +175, 0, 96,122,133, 83, 98, 46,234,115,174, 40,138,194, 85,247,114, 37, 48, 36,143,125, 46, 86,171, 38,248, 2,209,252, 33,111, +191,111, 99, 96,169, 74,113, 85,158,135,114,113, 33,224,243, 32, 22,242,241, 32, 37, 19,110, 46,190, 24,240,218, 91,205, 47,156, + 57, 54, 31, 64,173,157, 16,244, 70, 6, 67,250,249,226,219,195, 23, 81,252, 76,141,226,194,167,200,207,188,135,164,132, 72, 8, + 4, 2,220,188,121,211,178, 89, 51,107,203, 54,109,220, 96, 52, 50,184,122, 51, 26, 22, 22, 98, 28, 62,244,147,155, 70,167, 71, +198,227,180,201,117, 8, 91, 94, 47, 63, 15, 20,231,103,128,199,227,161,151, 79, 91,240,120, 60,244,246,109, 15,138,162,208,199, +191, 35, 40,138, 66, 96,119, 79,180,109,219, 22, 12,195,240, 26,184,120,145,124,231, 15, 36,223,189, 8,150, 97, 96,100,202,155, +127, 89, 0, 58,165,242,249,124,101,103,131,181,114,104,202, 77, 2,139, 22, 45, 42, 84, 40, 20,186, 90,156, 67,250,248,241,227, +214,245, 77,132, 77,211,180, 7,143,199, 75,122,250,244, 41, 99, 97, 97, 65, 26,141, 6,198,195,171, 51,117,229,247,101,149,115, + 79, 6, 47, 95, 22,250,222,107, 86,239,254,184,239, 20, 75,219,247, 38, 8, 74,104,152,242,229, 46, 1,248,180, 7,160, 51,231, +165,129,212,104, 52,184,127,255,126,131,147,114,179, 44, 91,239, 9, 85, 90, 90, 58,113,248,240,225,231, 62,250,232, 35,145,233, +229,133,199,227, 85,138,254, 71,143, 30,129, 36, 73,236,222,189, 27, 26,141,166,193, 19,159,199,227,205, 61,118,236, 88, 51,129, + 64, 80, 41,174, 88,150, 5, 69, 81,184,119,239, 30,214,175, 95,143, 9, 19, 38, 32, 35, 35, 3, 50,153, 12,243,231,207,151,174, + 89,179,102,174, 78,167, 51,199, 22, 78,208,106,181,126, 98,177, 24, 66,161, 16, 38,161, 5, 0, 49,143, 28,239,164,165,165,117, +105,217, 82,226,228,230,121,251,215,126,125,186,122,219,218, 90,247, 76, 77, 47, 58,217,152,250,207,208,235,119, 43, 74, 75, 63, + 31,185,119,175,195,229, 95,127,101,238,252,250,107, 22,207,104,220,101,238,255,165,207, 90,162, 36,153,135,192,192, 64, 92,186, +116, 25, 67,135, 14,133,145,166,193, 8, 4, 96, 4, 2,176, 52, 13, 8, 4, 32, 4, 2,176, 22, 22,102,157,146, 20, 69, 33, 59, + 59,187,218,186,169, 83,167,166,191,255,254,251, 14, 0, 11,133, 66,206,126, 50,119,182, 60, 63, 63,159,117,116,116,228,108, 9, + 14, 47, 85, 71,213,163, 69,236, 9,130, 56, 93,229,222, 51,212,180,188,120,241,226,207, 66, 66, 66, 18, 9,130, 56, 93,117,189, +105,191, 10, 67,226,116,109,203, 21,255,181, 93,178,100, 73,231, 53,107,214,172,238,217,179,231,225,235,215,175,167, 2,120, 97, + 2,139,168,200,152, 89,243,215,213,246,144,110, 72, 96,153, 16, 27, 27,171,119,118,118,254,238, 94,116,234,128,142,126,237, 33, +150, 8, 7, 1,216, 42, 20, 10, 63, 25, 63,126, 60,110,222,188,137, 59,119,238,124,143, 70,140,204,173, 51, 48,153,179,231,140, +131,206,192,100,154, 28,170,249,243,231,211, 87,175, 94,213,213,229, 96,213,197,149,155,155,251, 85,100,100, 36,234, 11,114,127, +239,189,247,170, 62,140, 42,131,220,235, 60, 99, 24, 22, 58,157, 30,165,165,170,114, 97, 85,241,240, 54, 26,141, 40, 45, 45,197, +168, 81,163, 42, 69, 23,195, 48,200,205,205,109, 82,101,146, 36,217, 24,231,170,118, 14,138, 26,220,213,219,135, 31,126, 61,161, +218,195,245,173,105, 43, 33,160,203,197,149, 88, 68, 67, 44,228, 35, 83,145,131, 78, 30, 94,244,165,243,167, 7,215, 41,176, 12, + 70,108,253,233, 60, 64, 16, 8, 61, 29, 14, 63, 55, 11, 44,251,124, 17, 70,142, 28, 9,129, 64,132, 99,199,142, 98,221,246,253, +152,222,170, 21, 88, 0,221,253,186, 97,237,206,195, 88,177,124, 57,121,244, 72,104,159,134,210,203,231,243, 65, 81, 84,229, 67, +187,230, 55, 69, 81, 13,138,132,202, 58,210,235, 81, 86,170,130,145, 97,192, 48, 44, 88,134, 1, 88, 22, 46,171, 86,193,101,213, + 42, 68,145,229, 29,248, 60, 75, 75,161, 82,169,128,126, 93, 27, 45,174,180, 90, 45, 20, 10,133, 46, 33, 33,161,182, 39, 85,142, + 86,171,173, 55,189,159,125,246, 89,242,234,213,171, 61,108,108,108,146, 18, 18,226,245, 93,187,122,243,107,198, 96,117,104,223, +161, 40,120,249,178,208,113, 31,188,249,238,206,207, 71, 27, 62,250,234, 7,158, 41,208, 61,244,108,112,195,215,147, 78,151, 54, +112,224, 64,179,194,110, 84, 42, 85,118, 93,219, 76, 1,237, 29, 58,116, 16,246,239,223, 31,151, 47, 95,198,170, 85,171, 24,131, +193,144, 15, 0,189,122,245,178, 95,177, 98, 5,113,247,238, 93, 88, 91, 91, 35, 55, 55,119,191,175,175,239,138,250, 2,223, 5, + 2, 65, 63,127,127,127, 82,163,209, 84,190,148,144, 36,137,123,247,238, 97,205,154, 53, 24, 51,102, 12, 58,116,232, 80,121,109, + 5, 5, 5,241,183,108,217,210,207, 28,129, 69,146,228,156, 1, 3, 6,124,131,242, 94,132, 85,111,114, 73, 0, 22, 2, 64, 70, +198,147,236,152,152,228,196, 1,129, 62,126,109,221, 92,100,145, 49,143,235,229,116,112,112, 88, 66,146,228,123, 0, 40, 0,153, +133, 36,217,206,222,222,222,177,239,208,161,120, 70, 16,212,174,179,103, 9,158, 88, 44, 69,102,166, 89, 77,141, 79,248,143, 32, +243, 17,131,230,211,152,240,233, 48,156, 62,125, 26, 51,131,223,175,112,178,202, 29, 44, 62,159, 6,205, 23, 64, 96,223,180,142, +137, 21,247, 38,194,202,170, 25, 0,160, 89,179,102,166,251, 38, 1,128, 37, 73,146, 11,201,226,240,178,208,160, 22, 49, 9,164, +154, 66, 43, 36, 36,100,104,205,117, 85,197, 84,109,191,171,254,119,205,154, 53,171,171,112,151,189,136,204,240, 94, 84,169,232, +245,245,207,209, 28, 20, 20, 52,203,210,210,114,179,105,249,241, 53, 57, 30, 95,147,195,163,163, 87,111, 31,111,191,194, 49, 99, +198,192,214,214, 22, 11, 23, 46,100, 1,236,109,204,177,119,253, 98,120,165,234,114,124,124,188, 95,124,124,124,147,242, 81, 80, + 80, 80, 82, 17,172,254,201, 11,180, 54,161,215,233, 81, 90,166,134, 78,167,131, 94,111,132,193, 96,132,175,167, 37,126,216,181, + 8, 90,173, 14,122, 99,249,186,114,167,204, 8, 33,173, 65,223,238,174,122, 16,164,234,242,205, 12,171,250,248,189, 98, 50, 64, + 81, 20, 18,188, 93,106,117,174, 6, 41,116,102, 11, 45,150, 49,118,116,116,116, 64,198,217, 91,229,111,204, 22, 34,132, 29, 88, + 1,137, 69,249,155,252,235, 19, 62, 43, 23, 89, 66, 26, 58,157, 22, 14,142,173, 97, 48,234, 59,214,197,103,208,235,180, 93,219, +187,192,218, 82,140,248,168, 27,248,228,227,201,152, 52,233, 67,208, 34, 75, 92,186,116, 17, 25,138, 92, 60,202, 42,192,199, 95, +125, 11,189,222, 8,157,193, 8,189,129,193,166,125,167,161, 51, 54,172,140,104,154,198,252,249,243,197,117,109, 63,124,248,176, +202, 44,129,197, 86,136,224, 50, 21, 52,106, 13,180,186,242,186, 48,182,225, 99,229,231,239, 67,175,215, 67, 53,186, 39,116,122, + 61,140,115, 70, 64,167,211, 33,211,130, 71,246,246,149,233, 65,144,170,107,209,114, 43,115, 5, 86, 93,233, 97, 89,182,214,166, +195,186, 68, 86,215,174,222, 73, 19, 70,249,133, 92,187, 30,149,119,237,122,212,115,251,181,233,224,151,242,209,202,195, 75,204, +233, 69, 88,205,198,169,210, 92,248, 23,207,251, 47, 35, 34, 34, 28,165, 82, 41,146,147,147, 65, 81, 20, 8,130,120, 18, 27, 27, +235, 8, 0,111,188,241, 70, 62,159,207,183,165, 40, 10,115,231,206, 5, 69, 81,246, 51,103,206,252, 2, 64,157, 2,203, 96, 48, +120, 88, 90, 90,162,164,164,164,178, 28, 5, 2, 1, 22, 47, 94,140,113,227,198, 85,138, 43,129, 64,128,253,251,247,195,215,215, + 23, 90,173,214,195,156,244,202,229,242, 40, 0,175,152, 33, 64,202,227,242, 24,166,193, 19,139, 36,201,137,241,211,167,183, 83, + 71, 70, 98, 6,195,120,118,236,216, 17,106,245,159, 77,119,109,219,182,109,153,149,149,149, 45,147,201,126, 2,240,173, 82,169, +140,171,215,193, 42,109, 1,117,154, 0, 70,154,198,225,147, 39, 49,110,220, 56, 8, 4,194, 74,231, 10, 52, 13, 66, 32, 0, 73, +211, 48, 82,194, 70,215, 25,195, 48, 40, 46, 46,166,246,239,223,223,198,203,203,139, 96, 1,116,234,228, 73,156,254,237,183,150, + 82,169, 52,213,198,198, 70, 7, 14, 28,254, 78, 5, 86, 69, 32,189, 8,174,197,139, 23,127, 6,128, 93,188,120,241,103,166,229, +144,144, 16, 21, 0,197, 63, 70, 96, 53,228, 96,109,216,176,161,206,161, 22, 76, 15,151, 45, 91,182,224,135, 31,126,216, 0, 32, +165, 49,199,158, 58,156,119,203, 66, 76,203,202, 84, 58,229,238,147,134,238, 93,187,118,141,238,217,179,103,155,232,232,232, 58, + 29,172,186,198,198,122, 25,195, 52,176, 44, 11,173, 78,143,178, 50, 21,212, 90, 45,230, 45,218,110, 86,221,235,180, 37,188, 55, + 94,235, 43,110,200, 73, 52, 39, 6,171,161,166,193,234, 98,217, 0,147, 6,120, 86,166, 70,208,152,197,136,250,181, 92, 27,155, +196,149, 88,200,135, 72,192, 7, 73, 0, 68, 61,198,167, 94, 85, 60,236,211, 89,147,175,236,248,254, 7,215,183,250, 78,193,236, +217,179,193, 19, 88,160,185,173, 61, 12, 70, 22, 45,157, 29,240, 40,171, 0,199,182, 45,170,240,134, 89,244, 29, 27,140, 13,159, + 79,193,186,224,134,223,192, 41,138,194,182,109,219, 84, 53, 93,171,170, 78,150,185, 34,216,228, 50,170, 52, 90, 44, 88,242,173, +249,117, 52,248, 21,177,185,101, 91, 91,199, 9,115, 5, 88, 77,145, 85,225,138,212,217,232, 39,180, 5, 60,122, 15,249,252,239, +188, 25, 50, 12,131,223,126,251,237, 57,119,181,102, 29,154,235,182, 50, 12,131,244,244,116,220,185,115, 7, 61,123,246, 68, 81, + 81, 17,120, 0,230,223,190, 13,207,241,227,161,169, 8, 93, 16, 8, 4,152, 58,117,234,203,122,199, 46, 23, 88, 68,253, 21,229, +228,228,180,190, 83,167, 78,237, 82, 10, 10, 16, 19, 31,143,128,138,244, 92,189,122,181,170, 3,136,177, 99,199, 10, 82, 83, 83, + 63,188,119,239,222,135, 44,203,110,200,206,206,158, 95, 23,103,169, 69, 22, 28, 59, 11,177,119,205, 9,204, 90, 62, 1,246,157, + 68, 88,191,100,119,229,246,117,223, 5, 87,196, 97, 9, 32,146, 54, 62,107,197,197,197,188,111,214,175,239,218, 61,160,135,120, +220,132, 73,164,214,192, 96,229,215,155,169, 35,135, 14,216, 30, 56,240,163, 88, 36, 18, 37,113,143,120, 14,127, 39, 94,148,184, +170,233, 96,133,132,132, 36,134,132,132, 60,231,134,189, 84,129, 69, 81, 20,170,118, 89,174,237, 33,111, 78, 12,214,188,121,243, + 96,105,105, 89,235, 54,157, 78,199, 38, 36, 36,220, 85, 42,149,123,234,123,123,173, 11, 2, 62,233,184,225,155,125,174,179,231, +140, 99,128,242,222, 90,219,183,111,183, 54,197, 96, 85,141,195,106, 40, 6,203,193,193, 97,217,218,181,107,103,191,254,250,235, + 36, 73,146,213, 30,126,166, 97, 25,170,126,244,122, 61, 78,157, 58, 53, 59, 36, 36,164,206, 97, 26, 88,182,188,249,169,180, 76, + 5,181,166,252, 1,251,232, 78,168,185,103, 64,195,142, 67,133,115,213, 35,249,105,173,206,213, 89,199,242, 7,215,144,188,134, +185, 8,146, 74, 78, 75,207, 12,112,178,179, 70, 65,209, 51, 8, 43,154, 5, 77, 48,137, 43,177,144, 70,243,102, 82, 60,125,146, + 11, 62,159, 95,159, 59,146,158,171, 76,127,101,212,136, 33,231, 72,138, 39,170,186,129, 47,182,178, 56,127,237,118,243,156,130, + 50, 48, 85,242,201,176, 44,102,173, 48,207,196,228,243,249,152, 57,115,102,157, 2,231,228,201,147,170,198, 11, 44, 77,227,234, +168, 17, 78,102, 67, 14,150,185, 2,171, 38, 76,189, 11,105,154,246,168, 16, 95,102,163,107,215,174,191, 91, 88, 88,184,153,187, +191,185,131,142, 18, 4,177,188,127,255,254,171, 92, 93, 93, 29, 62,250,232, 35,130,199,227,193,207,207,207,110,224,192,129, 69, + 0,208,177, 99, 71, 75,211, 61,102,211,166, 77, 72, 74, 74,202, 35, 8, 98, 69,189,215,186, 64,112,175, 89,179,102,126,253,251, +247, 71, 81, 81, 17, 50, 50, 50, 32,149, 74,225,185,126, 61,110,207,152, 1,239,157, 59, 65,246,239, 95, 46, 48,133, 66,220,190, +125, 27, 66,161,240, 94, 85,215,168, 42,156,157,157,187,179,229, 65,230,189,241,103,179, 4, 11,224, 26, 65, 16,159, 42, 20,138, + 91,207,219, 82, 4, 89,254,162, 86,127, 69, 17, 4, 49,118,201,146, 37, 32,197, 98,200,122,246,132, 42, 37, 5, 58,157, 14, 61, +122,244,128,191,191,127,249, 53,219,163, 7, 40,138, 66,187,118,237, 96, 99, 99,131,227,199,143,143, 5, 80,167,192, 18, 20, 57, + 66,147, 41,196,196,137, 19, 65,211, 2, 64, 32,192,130, 5, 11,170,220,227, 4,160, 42,226,177, 24,163,192,156, 55,120,182,198, + 11, 0, 33, 20, 8,132, 19, 62,248,144,252,116,193, 39,140,222, 96, 96,120, 60, 62, 57,127,233,106,242,193,253, 59,194,210,210, + 82,146,104,204,219, 26, 7, 14, 47,193,193,170, 42,180,170,184, 80,117, 33,175,106, 92, 86, 93, 2,173,106, 76, 22, 0,205,139, + 72, 43,175,218,123, 89,117, 60,136,143,143,111,239,229,229,133,140,140,140,186,122,202,149,119, 97, 22,139,241,240,225, 67, 0, +120, 80,215,129, 46, 94,188,184, 21,192, 86,211,178, 76, 38,235,217,111,100,191,107,222,253,125, 16,186,241, 72,145, 82,169,244, +198,159, 99, 98, 17,206,206,206,227,248, 2,222,123,109, 59,183, 12, 52, 50,204,218,139,167,174, 45,171,139,187,102, 12,150,193, + 96,104,114, 12, 22, 65, 16, 35, 95,127,253,117,242,238,221,187, 24, 53,106, 20,126,252,241,199, 58, 11,111,220,184,113, 56,124, +248, 48, 6, 15, 30, 76,174, 89,179,166,206, 97, 26, 88, 22,208,235, 12, 40, 45, 83, 67,173,214,188,180, 19,239,175, 58, 87, 0, +192, 50,134, 11,183,227, 98,186,117,241,237,201, 79,203,204,134, 72,192,175, 38,176, 44,132, 52, 68,194,242,117, 78,246,205, 17, +121,253,146,206, 96,208, 55,212, 13, 62, 93,167,126,246,220, 32,141, 44, 65, 37, 15,234,221,165,121,173,142,231,146, 9,232,242, +243, 6,179, 4,214,247,223,127,175,170,203,189, 50,183, 12, 88, 22,149, 77,132,101,170, 23, 91, 71, 14, 14, 14,246, 14, 14, 14, + 59,172,173,173, 69,166,216,161,218,182, 55,107,214, 76, 84,159,195,213,144,184,170, 24, 23, 43,105,245,234,213,141, 18, 89, 2, +129,192,237,218,181,107,237, 77,113,129,245,125,107,181, 90,188,247,222,123,102,217,130, 49, 49, 49,123,187,117,235,246,200,222, +222,254,124,175, 94,189,132,119,239,222,197,202,149, 43, 9, 62,159,111,101,186, 46, 75, 74, 74,192,227,241, 80, 80, 80, 0,130, + 32, 38,198,196,196,156,173,143, 83,163,209, 68, 68, 68, 68,116, 27, 54,108, 24,149,148,148, 4, 30,143, 7,134, 97,160,233,209, + 3,222, 59,119,226,206, 39,159,160,111, 90, 26, 52,122, 61, 68, 34, 17,206,158, 61,171, 43, 43, 43,139,168, 39,239,187,111,220, +184,225, 37, 18,137,160,211,233,192, 48, 12, 72,146, 36, 40,138,234,227,229,229,181, 5,128,127,213,253, 91,183,182,119,240,243, +238,208,209,200, 48, 70,185, 34, 47,207, 12, 71, 8, 63,254,248, 35,122,244,232,129,192,192, 64,200,229,114,164,164,164, 96,200, +144, 33,149,251,196,199,199, 35, 54, 54, 22,109,219,182,109,216, 1,181,204,131,189,135,176, 50,222,138,230,211,160,121,229,194, +202,228, 92,209,124, 26, 52, 45,128, 80, 96, 86, 88, 0, 91,243,124, 52,197, 94, 73, 36, 22, 76,187,118,237,238, 62,120,248,200, + 19, 0,217,172,153,181,217,177,182, 28, 56,252, 37,143,184, 30,161, 84,245,114,168,178,156, 7,128,168, 88,206,171, 34,164,242, + 8,130,136, 98, 89,214,191,198,190,166,237,218, 26,223,166,237,241, 47, 34, 35,245,221, 40,135, 76,158, 60,121,231,171,175,190, + 58, 96,254,252,249,144, 74,165, 80, 42,149,149, 23,152, 64, 32, 64,139, 22, 45,160, 82,169,112,249,242,101, 20, 22, 22,134, 3, +152,102,238,129,149, 74,229,205,135,113, 15,158,244, 25,214,221,214,163,123, 71,235,172,228,172, 30, 74,165,242, 58, 0,194,197, +197,229,187,209,159,188,254, 65,208,219, 1,160, 5,124,100, 62,204,198,197, 83,215,234,228,170, 25,131,245, 87,198,198, 34, 73, +146, 34, 8, 2,163, 70,141, 50,107,255,209,163, 71,227,210,165, 75,168,175, 57,177,188,137, 80,135,178, 82, 21,202, 94,160,192, + 34, 8, 2, 70,163,177,210,185, 50,125, 6, 41,116, 32, 73,178, 82, 88,188,158,203,152,205,169, 46, 43, 91,119,229,194,201,169, + 29, 61,187,218,247,244,233,128, 7,169,153, 88,247,217,159, 77, 45, 11,166,143,198,254,195,167,224,236,100, 11,141,234, 25,194, +206,156, 42, 42, 46, 46, 94,215,212, 60,236, 63,113, 9, 0,240,202,216,234,125, 4, 70,205, 3, 16, 15,255, 0, 0, 32, 0, 73, + 68, 65, 84,221,100,222, 9,204,227, 97,210,164, 73,117, 58, 88,231,207,159, 87, 85,117, 34, 27,170,163,210, 82, 53,202, 84,170, + 23, 86, 71, 50,153,204,219,223,223,255,252,174, 93,187,108,237,236,236,160, 80, 40,170, 9, 44,153, 76,230,237,231,231,119,126, +215,174, 93,182,246,246,246,200,200,200, 48,123,136,144, 26,226, 10,121,121,121, 68, 65, 65, 1,211,188,121,243, 70,137, 44,146, + 36,161,209,104,144,148,148,100,238, 53, 98,246,160,163,110,110,110, 63,110,222,188, 89,248,248,241, 99,232,245,122,220,189,123, +247,185, 78, 8, 20, 69, 97,241,226,197, 88,186,116,233, 14, 0,173,234,227, 51, 24, 12, 27,199,143, 31, 63, 89, 46,151, 55,119, +116,116,132, 82,169, 4, 77,211, 96, 89, 22, 68, 80, 16, 94, 73, 77,133,206,104,132, 88, 44,198,253,251,247,177,103,207,158, 82, +157, 78,183,177, 54, 46,119,119,119, 1,128,246, 52, 77,227,253,247,223,175,182,237,192,129, 3,232,233, 81,224,103, 29, 64, 63, + 51,178,180,230, 25, 60,126, 39, 73,146,240,243,233,208,161, 79,207, 46,157, 19,239,166, 61, 82,228, 62,189,214, 64,246,245, 90, +173, 22,157, 58,117, 66, 84, 84, 20, 46, 92,184,128,254,253,251,163,111,223,190,136,136,136, 64,116,116, 52, 98, 99, 99, 65, 16, + 4,108,109,109, 77,113,172,245, 6,179,242,139,108,161, 83, 8, 1,154,254, 51,222,170, 34,230,138, 18, 8, 42,123, 20,178, 2, + 1, 24,129,121, 3, 16, 87, 21, 77, 21,105,209,108,218,184, 78, 40,145, 72,140, 0, 96, 41,149, 24,143, 28,216, 14, 91, 27, 27, + 13,219, 20,123,149, 3,135, 23,243,188,139,250, 59,254,251, 82, 4, 86,108,108,108, 42,128,129, 0,198, 94,190,124,121,195,188, +121,243,236,251,244,233,131,167, 79,159,162, 85,171, 86,144,201,100,136,142,142, 70,124,124,124, 62,203,178,243, 99, 98, 98,106, +179,122, 58,163,158, 49,103, 20, 41,202,163,186,178,178, 25,222,125, 58,226, 82,232,149, 16, 39, 39,167,105, 60, 30,111,206,132, + 37,195, 62,232,247,150, 63,146, 99,211,112,243,220,109, 40, 51,242,235,229, 52, 39, 6,171,234,119, 45, 49, 88,149,156, 12,195, + 24,181, 90, 45,126,254,249,103,179, 68,214,161, 67,135,160, 86,171,193, 48,140,177,174,188, 27, 25, 35, 97,105,101, 15,151,150, + 30,208,105, 75,193, 48,230,191, 5,178, 13,148,167,193, 96,192,178,101,203,176,112,225, 66,172, 88,177,162, 94, 33,178,125,123, +173,177, 95,213, 56, 11, 10, 10, 74,132, 66,225,184,195,223,111, 14, 29, 59,101,182,165,107, 47,111,236, 61,114, 6,122,157, 30, + 34, 33, 15,205,173,164,104,231,230, 2,173,186, 12,223,110,221, 80,172, 86,171,198,213, 18,123, 86, 95,189, 87,195,196, 17,129, +248,122,207,175,184,114,240, 79,131,242,149,177, 95,225,167,111,102,193,199,103, 95,189,156, 70,163, 17,124, 62, 31, 7, 15, 30, + 84,213,213,155,144,162, 40,212, 35,176,170,213,145,149,149, 61, 92, 91,123, 66,171,126,246,194,234,200,214,214,118,225,255,177, +247,221, 97, 81, 92,253,247,103,102,182, 23,122,219,165, 42, 32, 74, 19, 65, 84, 84,236,177, 99, 52, 81, 99,137,141, 36, 38, 26, + 91, 52,177,197,216, 98,130, 45,209,152,216, 19,149, 52, 21, 91, 98,195,104, 84, 84,196, 66, 83, 41,162,130, 74, 91, 88, 58, 11, +108,223,153,223, 31, 2, 81, 35,176,152,228,247,190,223, 55,115,158,103,159,221,217,153, 57,115,231,206,157, 59,103,206,189,247, +115,191,253,246, 91, 59,181, 90,141,204,204, 76,100,102,102,130, 32,136,140,231,215,215,214,214,226,206,157, 59, 13, 34, 39,195, +220,252,108,112,174, 74, 74, 74, 8,133, 66, 1,177, 88, 76,222,186,117, 75, 19, 20, 20,148,129,250, 62, 90, 45,157,187, 86,171, +125, 52, 96,192,128,166, 28, 35, 23,129, 64,240,204,148, 77, 13, 65, 71, 95,208, 84,248,167,116,230,229,229,165,124,245,213, 87, +238,237,219,183,199,174, 93,187,180, 22, 22, 22,252,249,243,231,131,162, 40, 98,243,230,205, 76,121,121,185,126,241,226,197,252, + 43, 87,174,160,182,182, 54,197,140, 58, 68,165,209,104,166,247,232,209,227,251,211,167, 79,139,124,124,124, 26,103,122,216,183, +111, 31,102,205,154, 5,145, 72,132,172,172, 44,140, 28, 57,178,174,174,174,110, 58,158,141,129,213,200,105, 52, 26, 9, 46,151, +203,208, 52,141,101,203,150, 61, 19, 88, 84, 44, 22, 67,196, 55, 97,231,106, 47,201, 7,235,138, 36,115,102, 78,158,252,164,156, +208,166,180,244,135, 15,118,238,249,245, 2,158,141, 18,255,167,115, 39, 8,226,227,207, 63,255,124,123,207,158, 61, 69, 82,169, + 20, 62, 62, 62,136,143,143, 71,124,124, 60, 46, 95,190,220,112,253, 97,107,107,139,202,202, 74,228,229,229,169, 9,130,248,184, + 57, 78,218,170, 10,246, 62, 79, 28, 44,110, 67,204, 43,158,224,153,209,131, 79,226, 96, 61,137,139,213, 82,126, 62,223,189,195, +214,214,214,216,185,115, 72,186, 90,173,166, 26,180,148,189,189,253,157,250,109, 25, 55, 55, 55,221,159,139,188,249,247,123, 43, +192,114,254, 59, 57,255,167,208,162,213,159,146,146,242, 83, 64, 64,192,233,181,107,215,174, 61,122,244,232, 59,115,230,204, 33, + 44, 45, 45, 17, 19, 19,195,148,151,151,239,229,243,249, 31, 93,187,118,237,165,226, 69, 48, 12,179,239,202,241,107, 51, 38,124, + 48,130,152,179,113,106,207,148,139,119, 50,130,122,250,160, 99, 15, 31, 36,158, 79,199,214,165,251,127, 48, 26,140,203,139,138, +138,114,155,227, 49,167, 15, 86,195,135,195,225,180, 24, 7,235,232,209,163,115,134, 13, 27, 70,222,184,113,227, 79,125,174,158, +238,135,117,246,236, 89,232,245,122,196,196,196,208,205,197,193,162,129, 95, 54,109, 92, 62,229,187,232,147,124,146,208, 35,225, +210, 97, 84, 85, 20, 53,155, 55, 60, 30, 23, 63,254,252,139,158,195,161,238, 54,147,214,199, 73, 73, 73,118,235,214,173,163, 72, +146,196,214,173, 91,159,113,174,158,199,237,219,183,105,131,193,208,226,181, 82, 40, 20,103,105,154, 30,191, 99,211,234,125,253, + 6,191,106,237,235, 27,192,113,116,116, 7,135, 36, 81, 89, 94,130,155,215,174, 24, 99, 79, 30,171,212,233,116, 83, 21, 10,197, +217,191, 82, 0,163,118, 30,123,225,255,163,231,124,217,146,139, 98, 52, 24, 12, 28,137, 68, 2,163,209,248, 66,113, 53, 96,192, + 0, 81,124,124,188, 90,175,215,131,162,168,102, 21,211,147,107,180, 98,202,119,223,255,189,215,200,100, 50,249, 85, 84, 84,160, +182,182, 22,137,137,137,204,214,173, 91, 75, 42, 43, 43,151, 62,189,190,188,188, 28, 42,149, 10, 55,111,222,100,118,237,218, 85, + 82, 93, 93,189,212,220,252,107,136,139, 85, 81, 81, 65,139,197, 98,210, 96, 48, 24,130,130,130,132, 60, 30,207,207, 92,142,212, +212,212, 33, 77,173,235,209,163,199,189,248,248,248,118, 79,207, 77,104, 52, 26,121, 90,173,214,103,228,200,145, 45,214, 31, 34, +145,104,194,225,195,135,127, 18, 10,133, 29, 53, 26,205,219, 74,165,114, 31, 0,119,138,162,112,255,254,253, 82,163,209, 56,118, +217,178,101,223,213,214,214,222,150, 74,165, 19,205, 76,114,108, 86, 86,214, 68,127,127,255, 61, 43, 87,174,148,244,237,219,151, +235,236,236,140,206,157, 59, 35, 43, 43, 11, 39, 79,158,212,111,219,182,173,174,174,174, 46, 18,192,217,102, 94, 58, 24, 0,132, +209,104,124,102, 14, 83, 62,159, 15, 46,151,139, 58, 45,137,119,150,101,171,105,112,213,159,111,248,225, 36,195,128, 40, 84,148, +150, 22, 21, 87, 94,231, 24, 12,151, 30, 43,106,170,154,114,198, 52, 26, 77, 48,195, 48,156,234,234,234,205, 90,173,118,234,252, +249,243,229,235,215,175, 71, 80, 80, 16, 74, 75, 75, 97,107,107, 11,185, 92,142,154,154, 26,228,228,228,152,244,122,253, 14,147, +201,180, 90,169, 84, 54,219,236,104, 42, 21,163,141,101, 96,227, 11, 35, 65, 16, 32,105, 18,132,158, 0,101,162, 64, 25, 40, 16, + 28,206, 19,119,203,188, 41,180, 24,163,209,136,136,136, 8,156, 56,113, 2,163, 70,141, 98,208, 76,255,147, 19, 39, 78,192, 28, + 71,152, 5, 11, 22,102,142, 34, 76, 75, 75,171, 4,240, 46, 65, 16,209,179,103,207, 62, 65,211, 52,151,166,233,225,169,169,169, +151,255,202,193,139,138,138,146,174,158, 76, 92,234,224, 98, 29, 53,100, 98, 79, 4,116,241,128,201,104, 66,252,169, 20,236,253, +252,216,254,252,188,252,105,120,118,174,194, 23,194,156, 62, 88,207, 59, 88, 77,113, 41,149,202, 21,107,214,172,193,103,159,125, +214,234, 81,132, 77,109,147,144, 88,248,110, 88,103,218,117,244,171, 61, 7,147, 4,193,104,155,233,103, 67, 16, 96, 26,122, 69, +112, 56,212,221, 75,215,243,131,154,201,191, 1, 51,103,206,252,157, 36, 73,143,167, 45,254,102, 30,246,138,178,178,178, 65,230, + 92,155,226,226,226,211, 46, 46, 46,237,227, 98,127, 93,114,229,220,233,190, 38,147,222,155, 0, 1, 30,143,247,192, 96, 50, 94, + 52,232,116, 81, 5, 5, 5,127, 57, 16,219,146,119, 71,225,113, 97, 41, 56, 28,234, 73,236,169,250,128,166,135,183,204, 71, 72, +200,143, 77,238, 39, 16, 8, 78,239,217,179, 39, 98,242,228,201, 4,135,195,105,108,118,107, 56,127,146, 36,113,237,218, 53,181, + 78,167,195,222,189,123, 25,145, 72,212,108,224,218,127,234, 26,213,212,212, 68,142, 28, 57,114, 31, 0, 1,128,251, 85, 85, 85, +239, 41, 20,138,252,167,215,143, 26, 53,106, 31, 0, 1, 65, 16,127, 90,223, 18, 26, 66, 54,216,216,216,100,212, 59, 87,194,151, +233,232,222, 76,249,166,154,106, 62, 52,167,169,176,126,110,193,215, 27,150, 59,119,238,188,122,198,140, 25, 79, 79,246,124, 9, +128,215, 75, 36,237,172, 90,173, 14, 88,182,108,217, 92,145, 72,212, 79,173, 86,251, 2,128, 88, 44,206,172,171,171,187,160,215, +235,191, 2,208,108,108,169,236,236,108, 93,219,182,109,179,140, 70, 99,160,163,163, 99,227,232, 67, 62,255,137,243,115, 45,211, + 54,177,176,176,176,203,147,113,154,215,205, 78,216,169, 83,167,218,216,216,216, 12, 34, 8, 98, 12,195, 48, 29, 84, 42,149,118, +249,242,229, 87,227,226,226,170, 51, 51, 51,135,244,234,213,139,144,201,100,120,248,240, 33, 83, 83, 83,115,136, 36,201,143, 21, + 10, 69,139, 35,167, 25,134,201,111,206,165,110,106,159,230,214,235,116,186,146,171, 87,175,218,158, 59,119,142, 50,153, 76,136, +141,141,109,124,145,124, 81,107, 96,118,118, 54,116, 58,157,134,125,116,178, 96,209, 50,254,233,209, 32,102, 89,136,114,185,124, +156, 80, 34,152,233,209, 94, 30, 84,152,163, 76, 87, 85,214,253,168, 80, 40,118,226, 73,200,122,214, 62,253, 31,229,228,137, 44, +206, 16, 20,207,163,201,135,131, 73,255, 88,175, 86, 13,126, 17,103,215,174, 93, 93,120, 60,222, 6,173, 86, 59,180,185, 40,237, + 20, 69, 25, 69, 34,209,105,141, 70,243,209, 11, 38,123,254, 63,151,159, 43, 87,174,124,161,125, 96,238, 40,194,149, 43, 87,210, +173, 73,103, 80, 80,208, 5,177, 88, 44,127,209,186,186,186,186,220, 91,183,110, 13,250, 47,201,207,167, 71, 0,154,205,249, 82, +163, 8, 91,224,244,240,240, 16,232,245,250, 16, 0,237, 1, 88, 3, 40, 55, 24, 12,177,165,165,165,197, 78, 78, 78,161, 36, 73, +126, 82, 47, 94, 63, 45, 46, 46, 78,252, 79,222,155, 46, 46, 46, 66, 75, 75,203, 13, 36, 73,202,205, 20,220, 58,165, 82, 57,191, +172,172,172,136,173,235, 88, 78,176, 77,132,255, 81, 4,178,156, 44, 39,203,201,114,178,156, 44, 39,203,201,114,254,219,192, 54, +166,179, 96,193,130, 5, 11, 22, 44, 88,252,205, 32,154, 81,161,173,177,254, 94, 70,201,222, 97, 57, 89, 78,150,147,229,100, 57, + 89, 78,150,243, 95,199,217, 18, 55,219,244,248, 15, 9, 47,150,147,229,100, 57, 89, 78,150,147,229,100, 57,255,125,156,255, 83, + 96,155, 8, 89,176, 96,193,130, 5, 11, 22, 44,254, 83, 2, 75,226,228,235,103,239, 17,180,207,198,181,227, 45, 27,215,142,183, +236, 61,130,246, 73,156,124,253,254,141,153, 38,151,203, 69, 50,153,108,162,155,155,219,217, 78,157, 58, 85, 59, 59, 59,127,192, + 22,165,214,163, 15,192, 25, 7,188, 63, 25,200,157, 12,228,142, 3,222,239,243, 55, 78, 64,254,223,130,213,239, 59,135, 93, 58, + 61,241,244,234,247,157, 95, 24,128,109,229, 2,185,221,149,216,177, 95, 45,121,223,217,246,111, 58,164,133,163,163,227, 46, 39, + 39,167, 71,142,142,142,143, 29, 29, 29,247, 0,176, 98, 75, 28, 11, 22, 44, 88,252,255,131, 89, 15, 51, 27,247,192,183,189, 61, +189, 63, 90,189, 98, 9,225, 34,115, 16, 27,140, 38,253,195, 71,249,254, 43,214,172, 61, 84,200,231,124, 89,145,123,231,219,151, + 56, 54,225,234,234, 58,142,203,229, 70, 0,104, 16,106, 25, 6,131,225, 68,126,126,254, 1,152, 55,220, 26, 29, 59,118,188, 66, + 81,148,123,107, 14, 76,211,244,163, 91,183,110,245,126,153, 12,115,118,118, 30,235,236,236,188, 39, 44, 44, 76, 28, 28, 28, 12, + 30,143,135,245,235,215, 47, 40, 44, 44,220,100,190,178,232,195,113,172,180,157, 76,113, 56, 35, 0, 4, 49, 12, 0,130,186, 69, + 27,244, 39,149, 54,101,251, 16, 23,103, 86, 24,113,153, 76,182,148, 32,136,169,245,121,245,173, 66,161,216,240, 79, 20, 18,185, + 92,238, 70, 16, 68, 63,134, 97,124, 73,146,188, 77,211,244,111, 10,133,162,236,175,242, 58, 1,239,246, 8, 15,255,106,202,130, + 5,148,250,210, 37,124,181,103,207,102, 84, 87, 3,192,214,214,150,165,110,221,130,199, 88, 88, 32,130, 0, 66, 64,128, 32,193, +164,148, 87,146,167,110,222, 76, 62, 0, 51, 98,169, 53,133,144,144,144,147, 0, 26, 38,142, 59,149,156,156, 60,188,181, 28, 21, +217,244, 39, 2,174,111,175,138, 7, 23, 62, 1, 48,244,249,245, 70,141,112, 10,197,117,139,160,152,228, 60, 0, 95,252,197,108, + 21, 59, 56, 56,220, 58,118,236,152,107,183,110,221, 56, 0,144,152,152, 56, 57, 34, 34,162,127, 73, 73, 73, 32,128,234,255, 68, + 69, 19, 22, 22,102, 99, 52, 26,163, 41,130, 8,163,105,218, 26, 0, 72,146,172, 52, 49,204, 53, 14,135, 51,229,101,131, 21,179, + 96,193,130,197,255, 89,129, 37,113,236,224,239,227,221,110, 65,236,209,104,183,202,242, 74,205,214, 13,251,146,213, 28,126, 93, + 91,127, 31,222,150, 47,215, 89,207,154,247,225, 60,189,214,112,189, 86,121, 55,221,220,131,202,100, 50,119,129, 64,112,100,233, +210,165,129,225,225,225, 92, 71, 71, 71, 20, 23, 23,227,238,221,187,129,241,241,241,163,142, 29, 59,182, 64,171,213,190,222, 82, + 4,119, 0,144,240,121,158, 7,214,125, 46,227, 91,219,128, 49, 25, 97, 29,208, 9, 0,192,208, 52, 20, 23,207,130, 54, 24,192, +208, 38,184, 14,121,245,201,255, 12,131,174, 93,187,242, 94, 38,179, 92, 92, 92,156,125,124,124,126, 88,188,120, 49, 79,171,213, + 34, 37, 37, 5, 9, 9, 9,180, 82,169, 92,107, 46,135, 99,224, 40,127, 82, 37, 56, 52,114,212,208, 54,195, 7, 58,242, 61,100, + 14,160,105, 33,238,230,232,221,207, 94, 78, 30,114, 42,246,183,143, 76,126,163,198,150,100, 28,187,221, 28, 79, 64, 64, 64, 88, + 69, 69,197,103, 5, 5, 5, 13,194,111,125,215,174, 93,151, 63,189,205,243,129, 2,105,154, 6,135,195, 41,174,171,171, 27,151, +150,150,150,252, 34,222,101,111,195, 96, 52, 62, 41, 23, 28, 14, 76,209,191,185, 30,237,215,175, 95,219,200,200, 72,132,132,132, + 32, 49, 49,177, 95, 76, 76,204,220,147, 39, 79,222, 52, 24, 12,167, 4, 2,193,197,199,143, 31,191,212, 4,139, 60, 96,225,148, + 5, 11, 40,233,163, 71,144,166,164,224,205,234,106,206, 58, 96, 97,107, 4, 86, 72, 72,136,167,157, 13, 14,141,122,189,143,159, + 76,230,207,227,114,237,193, 48, 12, 12,134,242,246, 37, 37, 25, 99,172,172,176,184,170,138, 26,125,243,230,205,251,230,240,133, +134,134, 58,209, 52,189,131, 97, 24, 30, 65, 16,179, 1, 12,139,141,141,133,201,100,194,240,225,195,135,133,132,132,120, 50, 12, +243,181, 84, 42,101,212,106,245, 91,137,137,137,197,205, 57, 87,149, 15,232, 79, 20,148,215,144, 14,161, 83, 81,196, 57, 51,228, +131, 65, 56,109,237, 69,126,186,124,107,225, 53, 0, 24,226,229,101, 81, 85, 32, 90, 36,181, 12,180,173, 42, 56,187,104,136,151, +215,238,216,236,108,213,203,222,208,206,206,206, 27,162,163,163,221,194,194,194, 26,131,228, 6, 7, 7, 83,235,215,175,119,153, + 63,127,254,230,138,138,138,105,102,138,234,246,118,118,118,103,104,154,214,166,167,167,183,111,248,223, 33,232,181, 30,118, 22, +146, 1, 37, 21,170, 75,101,233,191,196,153,195,213,185,115,231, 72,194,100,218,245,229,178, 89,148, 95, 80, 16,196,246,142,208, + 23, 22,162,214,104,176,189,150,154, 54,124,221,166, 93, 37,157, 59,119,158,158,148,148,180,135,173,146, 89,176, 96,241,175, 17, + 88, 2, 1,127,241,138,143, 23, 17, 21,101,149,106,189,170, 90, 47,102,116, 70, 75,177,144,168, 86,150, 84, 62,180, 20,215,205, +159, 55, 71,184,104,241,199,139,107,129, 55,205, 21, 87,190,190,190, 55,118,239,222,237,104,107,107,139,170,170, 42,148,149,149, +225,198,141, 27, 96, 24, 6, 67,135, 14, 21,116,234,216, 49,228,203, 77,155, 18, 0,116,111, 73,100,113,184, 28,130, 43,145,224, +112,159, 16,144, 60, 30, 70,103, 42,158,136, 11,131, 30,177,227, 71, 0, 0, 40, 62, 31,111,220, 83, 2, 0,132, 66,225, 75,103, + 22,195, 48,221,123,246,236,201, 3,128, 5, 11, 22, 84,215,214,214, 70, 17, 4,241,147, 66,161, 40, 48,103,127,187,192, 17, 62, +246, 14, 14,113, 27,215,188, 99, 27,232,233, 5,157,193,128,124,101, 1, 24,240, 33,115,148,224,205, 81,157,120, 61, 67,121,237, +190,216,250,251, 69,130,124,181,183, 50,237,215,180, 38,133,165, 68, 18,189,121,243,102, 28, 60,120, 16, 0,112,225,194, 5,248, +248,248, 72, 90, 74,195,221,187,119,189,166, 78,157,186, 31, 64,187, 23,173, 55, 26,193,137,250,236, 39, 0, 64,244,238,137, 84, + 86, 86, 86, 91,145, 72,244,148,249,214, 7,125,250,244, 33,163,162,162,186, 93,184,112,161,219,254,253,251,245, 6,131, 97,115, + 97, 97, 97,204,203,228,169,250,210, 37, 72, 83, 82,128, 75,151, 90,189,111,167, 78,157,220,253,252,236, 18,190,216,184,220,225, +248,137, 52,108,220,184, 7, 15, 30, 60, 0, 0,120,121,121, 97,226,132,177,220,159,126,220, 17,176,120,241,202,171, 38, 83, 72, +120,114,114,114,139,209,205,105,154,222, 17, 21, 21,245,170, 84, 42,197,226,197,139,179, 60, 61, 61, 97,105,105,137,157, 59,119, +194,198,198, 6, 6,131, 33,107,253,250,245,156,194,194, 66,108,217,178,229,187,167,220,173, 63,161,247,176, 62,159, 8,184,190, +189, 58,132, 78,133,212, 82,142,221, 63, 31,192,221,196,125,189,180,134,204, 79,150, 32,110, 18,197, 8,166, 42,115, 37,139,219, +134,246,181,107, 23, 48, 18,109, 58,167,216,107, 77,151,114,150, 13,244, 92,203, 17,106,162, 87,126,241, 2,151,112, 76, 12, 21, + 88,125,211,246,206, 89, 73, 25,208, 24, 52,148,168,255,128,102, 48,162, 79,159, 62, 84,131,192,126,244,232, 17,116, 58, 29,252, +253,253, 73,157, 78,215,207, 92,113,213,187,119,239, 43, 63,252,240,131, 93,175, 94,189,158,153,186, 69,102,103, 61, 56,238,200, +230, 57,159,125,245,163,239,247, 12, 81,217,210,139, 64,231,206,157, 35, 59,182,247,250,118,243,250, 21, 4, 85,155, 15,142,117, + 25, 64,151, 65,177,255, 59, 64,108,139,225,239,205, 71,151,110,221,168, 57,243,150,126, 75,132,134, 50,137,137,137,123,217,106, +153, 5, 11, 22,255, 10,129, 69, 51,116,144,131,131,173,112,203,134,125,137,114, 33, 73,200, 92,157, 9,190,165, 53, 7, 82,137, +128,164,184,106, 47, 47, 87, 30,205,208, 77, 77, 21,242,252, 80, 75, 66, 32, 16, 28,217,187,119,175, 35,151,203, 5, 77,211,112, +112,112, 64, 78, 78, 14, 42, 42, 42, 80, 83, 83,131, 7, 25, 25,104,227,230,138, 57,211,223,145,127,186,241,139, 35, 0, 66,241, +108,115,225, 51,156, 12,205,128, 54, 62,219,162, 70, 16,196, 11,219, 23,155,153, 70,198,172, 33,161, 52, 77, 63, 44, 44, 44,132, + 88, 44,134,159,159,159,244,230,205,155,151, 11, 11, 11, 11,204,226, 28, 51,134,226, 61, 38,126,221,176,102,156, 45, 65,101, 33, + 43,183, 18,222,174, 93, 97,103,229,134,130,146, 26, 36,165,159, 66,214,131,147,240,118,117,199,244,137,222,214,155,118,148,156, + 64,200,116,111, 36,239, 50,188,136, 83,165, 82, 73,221,221,221,225,226,226, 2,154,166, 97, 50,153,144,150,150,214,248,187, 97, +190,196,134,223,155,127,138,135, 13, 85,138,113,175, 13, 67,121,121,185,212,220,115,111, 16, 87,135,190,112, 14, 80,215, 42,120, + 0, 32,146,200,245,163,231, 23,164,117,233,210, 5, 14, 14, 14,188,171, 87,175,206, 7, 16,211,218,252,212, 3,235,191,218,187, +119,203,155, 85, 85, 36, 0,124, 75, 16,180,254, 73, 84,109,179,202,146,131, 61,113,116,211,166, 79, 28, 8, 38, 29,182, 86,235, +112,227,198, 99,232,245, 79,174,124, 89,153, 18,179,223,175, 6,135, 99,129, 47,190, 88, 97,247,198,184, 25,135,241,100,212, 11, +221, 92, 58, 25,134,225,101,102,102, 34, 32, 32, 0,251,247,239,231, 80, 20,133,235,215,175, 67, 36, 18, 97,234,212,169, 8, 12, + 12,228,136, 68, 34, 92,190,124, 25,213,213,213, 68,115,233,188,116, 42,238,211,138,236, 11,159, 20, 81,103,134,236,254,249, 0, +222,153, 48, 14, 50, 99,246,101, 27,111,242,211,161,195,123, 44,167,184,110, 17, 18,139, 64, 27,159,192,145,224,241,165,152,181, +112, 53,178,238,252,106, 83,167,186,253,190,201,144,231,182,242,139,152,185,127, 74,231,161,177,166, 41,123, 47,117, 62,231,158, +236,113, 39,101,250,117, 69,242,174, 91,127, 28,218,143, 3, 82,109,221, 32,174,238,223,191,143, 7, 15, 30,128,162, 40,168,213, +234,103, 38,245,125,154, 51, 56, 56,248, 93,147,201,180, 28, 0,116, 58,221, 62,145, 72, 20,249,245,215, 95,219, 81,212, 31, 51, + 69, 53, 56, 87,197,202,178,138,171, 55,211,238,206,127,119, 76,223, 75,215,238,228,233,185, 35,115,171,110,253, 82,245,162,252, + 12, 11, 11,179, 33,105,122,215, 87, 27, 87, 17,166,236,223, 33,240,235, 11,142,212, 7, 38, 67, 1, 52, 21, 53, 80,231, 20, 65, +191,243, 27,120,189, 55, 15, 27,214,127, 70, 76,152,244,214, 46, 47, 47,175, 35,217,207, 58,120,255,196,112,109,150,147,229,100, + 57,255, 59, 57,255, 93, 2,139, 32,200,106,189,222,192,181,116,115, 49,140,126,189,119,199,228,235,119,178,164,182, 86,100,167, +174, 29,253,239,100,229, 39,193,104,210, 19, 4,105, 86,191, 14, 87, 87,215,113, 43, 86,172,232,104,105,105, 9,154,166, 97,101, +101,133,146,146, 18,232,245,122, 84, 87, 87, 67, 91,163,130, 94, 85,141,212,220, 71, 8,239,219, 23, 3,187,119,247, 59,101, 48, +140,203,207,207,223,223, 20,167,137,164, 24,187,144,174, 24,155, 93, 6, 90,175, 67,140,151, 93,163,107, 53,254, 81, 37, 8,130, +128, 73,167,197,169,174,237, 32,144, 74, 16,244,209,138,151,206,172,162,162,162,228,115,231,206,157, 30, 50,100,200,208,233,211, +167,147, 69, 69, 69,177, 70,163,177,167, 82,169,108,177,121,212,241,158,105,234,148,233, 33, 94,246,214, 36,142,199,159, 65,152, +239,107, 16, 11,184, 40,169, 80,131, 36, 8, 60,120,120, 14, 38,147, 4,169,153,185,232, 30, 40, 65,175,110, 86,174, 53,191,151, + 79, 47,109,186,185,140,168,168,168,128, 82,169,132,193, 96,128,209,104,196,152,177, 99, 17,189,111, 31,106,107,107,161,209,104, +160,211,233, 64,211, 79,244, 68, 81, 73, 13,110,164,198, 34,180, 99,251, 6,199,227,197, 5,130, 3,227,215,155, 39,114, 44,196, + 0, 79,224,160, 87,169, 84,144, 72, 36, 80,215, 42,120, 83,222,105,116,182,120, 23, 46, 92, 64, 82, 82, 18,156,157,157,205, 42, + 71, 47,194, 3, 96,215, 67,147,105,217,208,163, 71, 29,227,143, 30,165,175, 29, 63,158, 47, 80,169,118,154,179,111,183,110,193, + 99,102,205, 26,238, 39, 18,138,144,159,187, 25,190,190, 60, 44,248,192, 14, 81,235, 74, 1, 0,115,102,185, 34, 52,212, 14,213, +149,135, 96,239,184, 20, 11,230,143,242,174,169, 97, 38, 39, 36,164,236,107,190,188, 19,179,127,252,241,199,172, 65,131, 6,113, +146,147,147, 33, 16, 8, 32, 18,137, 32, 20, 10, 33, 18,137, 80, 84, 84, 4,157, 78,135,152,152, 24, 99,125, 19, 98,147,168,111, + 6, 28,250,193, 64,156,190,155,184,175,151, 11,153,147, 58,106,126,143,135,201,215, 83,107,206,255, 30,255,169, 81, 35,204,171, +204, 63,187,200,179, 75,170,253,251, 31,173,194, 55, 27, 86,224,238,245,184,114, 39,119,213, 86, 19,161,125, 97, 58,251,244, 89, +201,113,117,149, 25,102, 70,142,182, 58, 33,191,250,206, 9, 14, 74,139,203,111,111, 68,246, 13,181,192, 39, 96, 82,123, 79, 66, +119,254,252,121, 81,239,222,189,161, 86,171,159,220, 11, 20,133, 31,127,252,145, 54, 26,141, 23, 94,196,105, 48, 24,150, 39, 37, + 37,201,235,234,234, 48, 97,194,132, 57, 43, 87,174,148,112,185,220, 39,247,151,201,244,140,115,181,102,211,247,103,230, 45,223, +122,225,204,254,117,206,107, 22, 71,246,125,115,214,103, 23, 0,196,190,216, 13, 53, 70,111, 90,183,132, 18, 88,235, 65,116, 25, + 4,189, 82,141,199,223, 78,135,174, 74,141,246,159,174, 6,192,131, 78, 79,225,196,168,177,160,108,157,241,118,239,158,156,157, +113, 87,162, 1,140, 98,171,102, 22, 44, 88, 60,247,242,219, 5,128, 67,253, 98,105,253,115,204, 14, 64,131,203,238, 0, 64, 7, +128,255,212,110,207, 47, 63,189,237,243,203, 79,255, 46,173, 55,118, 28,240,100,202,190, 27, 4, 65,180,186,159,104,195, 40,194, +167, 13, 31,230, 57,215,230,210,131,236, 71,234,190,125, 66,229, 23,110,220, 75, 30,242,218,192,174,189,251,119, 11, 43, 46,171, +206,150, 57, 88, 74,174, 94,191, 38,160,105,218,172,246, 29, 46,151, 27, 17, 30, 30,206,169,168,168,128, 88, 44, 70, 73, 73, 9, + 10, 10, 10,160,215,235,161,174,170,132,182,178, 2,234,138,114, 24, 84,149,120,112,243, 58, 58,184,187, 8,234, 59,193,155,133, +231, 29,170,134,217,230, 9,146,132,208,210, 2, 34, 75, 75, 80, 84,235, 34, 83,200,229,242,145, 29, 58,116,184,230,236,236,188, +172,254, 13,255,253,168,168,168, 82,134, 97,176,104,209, 34, 75, 75, 75,203, 24, 15, 15, 15, 65, 75, 60, 22,182,166, 49,221, 58, +182,163,178, 30,223, 70,168,207,104,180,149,247,198,131,130, 42,148, 84,105, 80, 84, 94,139,246,237, 63,130,131,243, 59,176,146, +189,135,219,119,243, 32,151,181, 37, 41, 46,111, 72, 11,130,239,153,229,159,127,250, 9,117,117,117,104,215,174, 29,198,143, 31, +143,133, 11, 23, 98,220,184,113,112,118,118, 70,175,118, 28, 68, 78, 26, 3,165, 82,217,108, 58,215,124, 11,238,218,159,228,201, + 83, 86, 48,201,237, 6,156, 78,123,240,224, 1,178,178,254,220,178,246,251,239,191,163,170,170,170,241, 1,108, 14, 28, 29, 29, +151,200,100,178, 91, 50,153, 44, 77, 38,147,157, 42,118,118,206, 52,120,121, 57,245, 28, 53,138,240,127,227, 13, 42, 79, 34, 33, + 30,186,185, 73,205,225,178,180,196,240,208,208,112,126,101,197,158, 70, 83, 42,114,154, 3,174,196, 5, 32,254,114,103,204,158, +229, 5,146, 16,130, 32,121,168,171,253, 29,254, 1,129, 60, 11, 11,166,217,178, 84,223,161, 61, 59, 32, 32,128, 51, 99,198, 12, + 8, 4, 2, 68, 71, 71, 99,251,246,237,248,242,203, 47,145,149,149, 5, 15, 15, 15,200,229,114, 56, 57, 57,113, 0,100,215,239, +211, 44,172,189,201, 79,181,134,204,203, 54, 62,146,108,130,116,236,161, 53, 10, 71,175,252, 66, 81,182,102, 91,206, 23, 15,239, +170,189, 50,175,199,149,101,221,249,133,206,185,121,161,180,240, 94,141,215,154,109, 57, 95, 68,109, 45, 44,127, 17, 87, 92,220, + 10,211,177, 83,113,250,218,154, 58,206,200,161, 3,212,239, 77, 27,223,222, 86,220,225, 71,184, 12, 10,110,227, 38,159,180,226, +243, 45,186,183,103,204,211,127,251,221, 30, 70,165, 82,161,186,186, 26, 95,125,245,149,241,248,241,227, 5, 38,147,105, 94, 19, + 73,164,234, 5, 17,198,142, 29, 43, 17,137, 68,200,203,203,107,116, 65, 1, 64, 81, 82,118, 59,254,230,157,204,249,239,141,237, + 83,171,213,106,207, 92, 76,204,240,247,241,112, 37, 8,166, 77, 83,231, 77, 17, 68, 88, 64, 80, 16, 24,166, 18, 36,199, 29,249, +223,111,132,186,168, 28,117, 37,229, 32,185, 18, 24, 32,132,158,225, 67, 24,212, 21,143,147, 82,224, 36,181, 4,135, 32,122,178, +143, 18, 22, 44,254,189, 58,170, 41, 45, 2,192,129, 32,136, 19, 4, 65,156, 88,178,100, 73, 63, 0,118, 4, 65,156,168, 23, 65, + 14,245,191,249, 13,219, 52,177,236,240, 52,207,115,251, 62,253,219,126,201,146, 37,253, 9,130, 56,209,163, 71,143, 73,245, 66, +174,213,104, 81,109, 80, 26, 93,212,146,101, 43, 72, 75, 41,223,194,223,175,173,205,241,223, 46, 37,199, 95, 75,201,176, 16, 11, + 5, 53,181,181,252, 47,191,222,238, 78,212,169,205,237,228,237,103,111,111, 15,189, 94,143,251,247,239, 35, 63, 63, 31,122,189, + 30,198,186, 90,104, 43, 43,161,169,168, 0, 93, 87, 3,158,137,134,186,180, 4, 54, 66, 62,240,199, 8,195,230,148,109,163,152, +122,145,224, 34, 8, 2, 66, 75, 11,240, 45,164, 32, 57,148,217,153, 35,147,201, 58, 7, 7, 7, 31, 60,127,254,124,183,240,240, +240, 79, 61, 60, 60,172,138,139,139, 31, 23, 23, 23, 15,216,176, 97,131,214,193,193, 1,111,190,249,102, 7,131,193, 48,165, 37, + 46,158, 80,219,209,195,201, 7,238, 78, 35,225,108, 23,134,178,106, 45, 74, 42,213, 40, 42,171,195,129,195,227,113,246,244,120, +164, 92,158,132,251,215, 35, 81, 86,107, 9,161,109, 63, 0, 76,179,129,220,174, 93,187,134, 29, 59,118, 52,126,190,249,230, 27, +148,151,151, 35, 32, 32, 0,121,121,121,136,141,141, 69, 81, 81, 17, 28, 28, 28,144,146,146,130,157, 59,119,226,250,245,235,173, + 46, 36, 26,141, 6, 92,190,157, 62,122,247, 68, 68,239,158, 8, 19, 35,209, 63,157,247,102, 23, 54,146,156,170, 24, 53,170,163, +194,218,218, 63, 40, 40,104,232, 27,111,188,225,213,173, 91,183,198,245,222,222,222,238, 28, 14,167, 72, 46,151,127, 43,151,203, +131,155, 37,163,153, 16, 27, 91, 63,232,180,153,245,215,152, 3,130, 16,160,255,192, 12,244,236,149, 4,189,129, 15,130, 20,128, + 36,132, 48, 26,203, 96,105,225, 4,134, 33, 90, 10,140, 55, 44, 54, 54, 22, 59,118,236, 64, 78, 78, 78, 99,243,104, 68, 68,196, +236, 9, 19, 38, 28, 49,153, 76, 56,113,226, 4,142, 29, 59, 6, 79, 79, 79, 4, 7, 7, 67,175,215, 15,107,233,188,151,111, 45, +188,246,211,151,167,199,115,141,214,193,124,129,135, 39,169, 18,143,156,217,199, 94, 2, 0,177,217,217, 42, 39,119,213,218, 58, +213,157, 92, 27,215,218,117, 45,119,112, 39,152,196,172,180,235,251, 15,255, 86, 85, 92, 90,198, 13,233, 20,168,254,108,213, 71, +188, 54,109,219,173, 95,177,104,166, 83, 65,181,176,106,224,156,211,153, 71, 98,111,212, 76,142,156,110,124,107,250, 44,205,153, +223,126, 63, 74,211,116, 16,154, 24, 65, 72,211, 52, 20, 10, 5,238,220,185,131,156,156, 28,148,150,150,162,164,164, 4, 42,149, +170,177, 89, 81,172,170, 62,249,205,222,227,169, 18,145, 72,220,173,163,143,251,245,228,116,165, 68, 36, 18,251,180,117,111, 15, +188,120, 2,106,154,166,173,159,228, 33, 1,213,157, 75,208,148,171,160,174,172,129,186,188, 6, 90, 61, 5,141,150,132, 70, 79, +194,190,215, 32,212,212,170,161, 41,175, 4,205, 48, 54,236, 51,134, 5, 11, 22,205, 60,239, 35,214,174, 93,251,121,115,235,159, +250,214, 61,183, 12,130, 32, 78, 48, 12, 19,193, 48, 76, 68,189,152,106,208, 9, 39,158,230, 89,187,118,237,231, 12,195, 68, 92, +189,122,245,103, 0,117, 47,147,214, 22,155,118,202,202,238,213, 88, 16,126,175,207, 91,180,252,212,143,187,183, 56,150,151, 87, +100,241,132, 34,141, 80,200,183, 93,184,104,149,117,109, 93,213,235,181, 21,230,143,122,170,168,168,104,124,120,241,120, 60,152, +234,106, 97, 82,215, 65, 83, 81, 6, 66,175, 5,207,100,130,173, 88, 12,119,103, 39,180,113,146,181,200, 71,209, 38,162,240,236, + 41,156,153,244,218, 51,205,130,180, 94,135,216, 30, 29,192,151, 74, 32,178,182, 65,248,177,203, 79,132, 14,143, 7,172, 88,215, + 34,175,147,147,147,189, 92, 46,255,245,235,175,191,230,149,150,150, 34, 45, 45, 45,245,241,227,199, 85, 54, 54, 54, 22, 6,131, +129,190,119,239,222,185,187,119,239, 70,180,109,219, 22, 12,195,120,183,196,167,170,148,232,245, 6, 26, 5,202,199,200, 87,220, +129,149,212, 29, 12,233,134,226,242, 58, 16,112,132, 65,115,183,177, 47,153, 86,157,143, 90, 45, 97, 86,126,234,245,122, 24, 12, + 6, 24, 12, 6,232,116, 58, 76,158, 60, 25, 87, 19, 18,240,211,177,139,200,203,203,131,167, 76,140,241,227,198,162, 83,167, 78, + 72, 76, 76,124,233, 66,237,243,202,153, 52,145, 72,132,237,219,183, 67, 44, 22,163,181, 2, 75, 38,147,125,225,235,235,219,238, +110,109, 45,210, 51, 51,209,117,236, 88, 0,192,149, 43, 87, 26,183, 81,171,213,152, 56,113, 34, 63, 39, 39,231,173,204,204,204, +183, 24,134,249,178,168,168,104, 65, 83,156, 39, 79, 38,224,189,247,210, 81, 82,242,196,217, 61,240,179,127,227,186,135, 57,122, + 12, 25,254,164,229,202,218,218, 26, 95,124, 97, 94,208, 97,147,201,132,157, 59,119, 66, 36, 18, 53, 10, 44, 30,143,215,115,254, +252,249,175,191,104,123,127,127,255, 22, 57, 63, 24,227, 34,188,146,202,188,111,213,174,109,160,149, 67, 16, 74,141, 41, 29,147, + 11,138,102,127, 48,198,101,243,166, 67, 5, 26, 19,161,221,103, 50,228,185,113,132,154,104,115,210,152, 29,251,181,174,188,237, +244,232, 34,101,213,199,179,166,191,105,103,109,227, 84,243,237,215, 81,214, 36, 73,226,120,146,174, 34,192,203,206,102,100,216, + 87, 53,239,125,240, 73,178,206,248,120, 54,242, 78,220, 69, 51, 97, 79,104,154, 70, 65, 65, 1, 74, 75, 75,145,155,155,139,146, +146, 18, 16, 4,129,146,146,146, 86, 57,148, 47,114,148,117,249, 5, 40, 58,250, 29,100, 19,223, 68,251,213,171, 65,211, 92,168, +235,140, 56,212,107, 0,170,171,212,208,209, 4,172, 59,247,192,192, 19,151, 65,210, 70, 32,225, 42,251, 4, 97,193,130, 69,115, +245,202,137,197,139, 23, 47, 53,115,219,115, 12,195,152, 21, 90,231,121,193,181,120,241,226,165, 13,199,138,138,138, 82, 3, 40, +252,219, 5, 22, 0,168, 74, 51,178,211,211, 57,138,154, 58,181,208,198,214,166,206, 66,202,103,170, 42,171,168,204,251, 89,154, +218,162, 7,119, 91,113,188,140,180,180,180,192,130,130, 2,228, 62,126, 12, 67, 93, 45, 8,157, 22,208,168,241, 74,175,158, 16, + 2, 16, 18, 0,143,214,131,162,248,168,169,169, 6,128,140,150, 72,105,131,225,153, 74,189,177, 89,208,194, 2,124,169, 4, 2, + 75,139,103, 28, 45,115, 32, 18,137,126,218,185,115,167, 92, 46,151, 99,211,166, 77,144,203,229,190, 50,153,172,206,194,194, 66, +100,111,111,143,246,237,219, 35, 52, 52, 20, 23, 46, 92, 0, 65, 16, 15, 90,226, 51,234,248, 73, 25,217, 38,183,234,154, 20, 92, + 79,250, 1, 6,157, 14,109,125,150, 64,107,180,135,196,241, 45,168,245,191, 66, 95,121, 17, 0,192,183,236,139,226,226, 82, 0, +196,157,150,156,187,231,151,111,221,186,133,125, 71,175,192,221,175, 47,138,202, 99,113,231, 78, 34,156,108,126,131,143,127, 0, + 12, 6, 67,107,222, 18,204, 22, 36,102, 22,244,137, 75,150, 44, 65,149, 72, 4, 12, 31, 14, 94,118, 54,244,122, 61,194,194,194, +208,165, 75, 23, 0, 64, 88, 88, 24, 40,138, 66,187,118,237, 96,107,107,139, 35, 71,142, 76, 4,240, 66,129,197, 16, 68, 10,109, + 42,243,245,242,242,106, 20, 88,209,223,151, 32, 57,241, 21, 16,224, 99,203, 55,127, 92, 18,119,119,119, 20, 21,229,128, 32,152, +150, 58,101,158, 26, 62,124,248, 48, 27, 27, 27, 76,155, 54, 13, 34,145, 8,175,189,246, 26,212,106,245, 27,245,111, 52, 88,178, +100, 9, 0, 96,197,138, 21, 88,185,114, 37,234,234,234,154, 12, 81,177,125, 77, 71,103,149,154,142, 36,235, 68,175,245,179,111, + 27,212,127,240, 43,240,244, 25,128,254,131,243, 0,224,115,123,238,195,177,235,150, 90, 31,181,177, 36,246, 94, 61,118,110,121, +248,208,126,203, 86,234, 47,126,186,242,235,138, 22, 95, 88, 42, 31,238, 82,101,114, 71,108,222,178,195,184,105,197,210,249,130, +199,165,250,242,194, 10,186, 70, 34,224, 88,120, 59, 65, 58,123,225,167, 57,133,133,247, 63, 68,222,111, 89,230, 92,195,156,156, + 28,104,181, 90,189,114,252, 0, 0, 32, 0, 73, 68, 65, 84, 90,152, 76, 38,104,181, 90,212,212,212, 32, 63, 63,191,241,250,170, + 37,150, 67,102, 77, 27,209,169, 86,173,174,187,126,251, 94,238,178, 57,111,118,175, 85,171,235,238, 61,204,205, 2,182,208, 77, + 92,243,202, 58, 85,141,173, 78,101, 64,101,106, 22,236,251,123, 64,103, 36,160, 53, 82, 40, 47, 85, 65,111, 2, 12, 36, 23,174, + 99, 38,195, 72,112, 80, 93, 82, 4,242, 37,250, 57,176, 96,193,226,223,229, 96, 17, 4,113, 34, 42, 42, 42,226,159,226, 6,128, +168,168,168,180,168,168,168,191,116,172, 6,129,213,247,169, 55,220,190, 47,170, 43,221,173,171, 92, 62, 95,250,186,179,193,160, +243,173,169,169, 49,113, 56,124,142,155,149,186,168, 60,215,252,131, 25, 12,134, 19,151, 47, 95, 30,213,171, 87, 47,193,189,219, +169,208, 86, 85, 65, 91, 85, 9, 30,109,132,173, 48, 20,164, 65, 7, 66,167,133, 75, 7, 26,234,106, 33, 18,110,222, 53, 24, 12, +134, 19,205,102, 8, 24,134, 54, 62, 17, 14, 36, 73, 61,211, 84, 40,176,144,130, 47,149, 66, 32,181,120, 97, 19, 98, 83,112,116, +116, 20,247,238,221,123, 64, 72, 72, 8, 24,134,193,134, 13, 27,160,211,233,248, 13, 78,145, 94,175,135, 74,165,194,225,195,135, +241,253,247,223,199, 91, 89, 89,237, 45, 44,108, 94,220,210, 70,237,233, 11,241,169,195, 38,189,214,159,127,246,226,183, 48,104, +141,168,209, 90,163, 86,163,131, 74,205,133, 78, 48, 24, 4,113, 25, 36, 37, 64,143, 96,111,156,191,114, 79, 99, 50,232, 99, 91, + 35,134, 8,130,128, 86,171,133, 82, 89,130,114,213, 5, 64, 85, 0,123,189, 10, 53, 15, 31, 32,120,242, 20,232,116,186, 22,185, +150,189, 13,131,131,181,130,243,253,106, 18, 92,190,157,222,231,149, 51, 77,134,138,144, 74,165,141,125,116,204, 65,117,117, 53, +126,248,225, 7,132,133,133,161, 79,159, 62, 40, 40, 40, 64,118,118, 54,134, 13,251,163,149, 45, 53, 53, 21,201,201,201,240,246, +246,110,129,139, 57, 85, 94,126,127,236,200,145, 35,121,215,174, 93, 3,195, 48,240,241,177,130,165,133, 20, 4, 41,128,159,159, + 3,128,187, 32, 8, 2,125,251,246,133, 94, 95,104,172,173,197,169,230, 56,147,147,147,135,135,132,132,120, 26, 12,134,172,192, +192, 64, 78, 81, 81, 17,198,140, 25,131, 3, 7, 14, 52,188,209, 96,241,226,197,207,236, 83, 83, 83,163,105,138,175, 83,215,246, + 31,154, 24,187, 62,124,129,135,167,149, 67, 16, 60,125, 6, 0, 0, 6, 70, 68,194,179,157, 27,170, 74,110,121,234,180,143, 95, +163,136, 50,155, 31,175, 21,164,247, 18, 7, 78, 43,205,187,120, 15,128, 57,129,123, 25,245,189,227,197,185, 92,203,131,135,126, + 57,241,238,136, 17,175,114, 12, 38,218, 24,232,206,177, 58,112,228,164,178,224,113,238, 87,200,253, 45,237,153, 91,165,105,129, +101,170,172,172,132, 84, 42, 69,118,118,182,118,196,136, 17, 2,181, 90,141,123,247,238, 53, 10, 44, 71,123, 91,255,158, 93, 2, +125,215,108,250,254,140, 68, 32, 16, 12,238, 27,234,151,126,239,113, 62,195, 16,143,154,228,101,152,107,247, 50, 50,134, 59,216, +187, 67,113,241, 42, 36,225, 67,161,213, 18,208,232,105,232, 76,128,145,226,193,170, 83, 87,136,188,252, 64, 51, 64,198,237, 84, + 24, 25, 38,158,125,132,176, 96,241,175, 69, 75, 90, 4, 4, 65,156,232,222,189,251,254,167, 93,166,134,223, 0,180, 0,154,235, + 19, 93,242,180,136,106,104, 54,108,234, 56,207,241,190,180,192,138, 67, 51, 35,203,236,237,237, 29,253, 58, 4,120,237,254,238, + 91,232,181, 85,200, 78,223,139, 90, 85, 49, 62,249, 60,193,219,197,197,165, 79, 65, 65, 65,156, 57, 7,203,207,207, 63,112,228, +200,145, 5,157, 2, 2, 66,218,184,186,226,214,163,135,224, 49, 38,240, 76, 38,144,122, 45, 56, 38, 29, 92,253,105,144,164, 4, + 69, 69, 42,236,140,253,253, 78,125, 84,247,166,223,190, 9, 10,110, 35, 70, 99,194,192,225, 96, 12,122,252,214,203, 31, 66,169, + 20, 2,107,107,244, 56,124,241, 73,200, 6,163, 1,143,214,126, 4,158, 68, 10,219,176,190, 45,166, 83,169, 84,214,197,199,199, + 39,102,102,102,118,233,208,161, 3, 86,173, 90,133,188,188, 60, 48, 12, 3,165, 82,169, 41, 41, 41, 41, 40, 43, 43,123, 68, 16, +196,209,194,194,194,221, 48, 35, 82,184,210,135,218,119,246,220,239, 31,118, 14,246,111,255, 74,159,149, 56,113, 98, 57, 42,171, +171, 81,171,229,160, 70,173, 71,173,134,129,179,133, 55,186, 5,133,160,164, 76,135,123,105, 73,249,165, 60,219, 93,173,180, 78, +145,154,154, 10, 15, 91, 2,233, 89,201,176,215,148,163,131,181, 20, 33,225,189,144,147,147, 99,150, 51,101, 52,130, 51,123,222, + 31,163, 5,173,173,173, 81, 85, 85,245,204,126, 98,177, 24,206,206,206,168,174,174,198,161, 67,135,192,152,247, 80, 52,232,116, + 58,248,250,250,226,230,205,155, 56,119,238, 28,250,247,239,143,222,189,123,227,226,197,139, 72, 76, 76, 68,114,114, 50, 8,130, +128,157,157, 93,131,219,214,164,229,118,227, 70,106,140, 84, 74, 44,153, 54,109, 70,224,155,111,190,137,195,135,247, 35,114, 90, + 7, 16,164, 0, 4, 33,192,171, 35,124,177,250,211, 68,116,235,214, 23,246,246, 60,156, 59,151,150,195,225, 88,125,111,134, 88, +253,122,253,250,245, 28,161, 80, 8,157, 78,135,154,154, 26,148,149, 61, 9, 71,245, 34, 7, 75,173, 86, 55, 25, 88, 45, 45,229, +238, 23, 21,213, 76, 5, 89,151,244, 90,169, 33, 37,168,255,224,124, 12,140,152,134,179, 39,246,226,252,153,115,176,231, 62,204, + 49,137,106, 78,151,228,148,170, 10,107,124,118,250,135,190, 77, 41,106,207,236,152,249,106, 22,229, 42,167, 99,150,108,175,174, +108, 41,189,229,233, 63,252,250, 43,131, 87,195,195,186,122,119,116,119,230,151,151, 41,113,228,151,211,105,250,135,135, 79,212, + 87, 84,230, 88,145,171,183,108,217,178, 28, 0,104,154,222,183,105,211,166,183, 63,252,240, 67,135,130,130,130, 70,129,165, 44, + 45, 63,223, 99,248,108, 83, 89,101,149,110,207,166,133, 99, 68, 66, 1,127,217,218, 61, 23, 13, 20,174, 53, 89,185,112, 56, 83, +150,110,251,177,228, 80,204, 94,202, 65,200,195,149, 69, 43,144,253,251, 5,232, 9, 30, 6,255,118, 29, 58,189, 9,213,202, 50, +156,159, 54, 19, 54,114, 91,156, 42,187,103,170, 82, 85, 79, 97,159, 49, 44, 88,252,107,209,156, 22, 41,121, 74, 16,149, 3,120, + 20, 21, 21, 85,250,148,187, 84, 2, 32, 21, 64,167,250,237, 74,158,219,175,132, 32,136,155, 12,195,116,121,138,167,228, 41,161, +245,244,111,221,115,219,164,254, 21,129,213, 44, 74, 75, 75,149, 55, 18,239, 32,254,236,118, 24, 13, 90, 84,213,219, 86,133,197, + 26, 88, 90, 90, 38, 52, 68, 19,127, 1, 2,241,108,172, 12, 70,163,209,188,190,105,243,230,107,239, 78,153, 36,235, 61, 96, 0, + 30,223,190, 5,109,121, 41, 40,147, 9, 20,193, 69, 77,169, 16,197, 69,213,136,250,245,180, 82,173,209,188,254,130, 7,196,243, +156,141,157,220, 25,130,128,208,202, 18, 2,137, 4, 2, 43,203, 63, 28, 43,130, 0, 95,106, 1,174, 68, 10,138,199, 55, 39,157, +168,171,171, 27, 61,125,250,244, 91,167, 78,157,178,153, 48, 97, 2, 94,125,245,213,228,202,202,202,126, 21, 21, 21,230,246, 55, +123,150,243,208, 33,147, 49,112,196,200,173,219,119, 95,157, 58,117,170,237,171, 35,183, 34, 57, 61, 13,149,181,142, 0, 0,103, +123, 9,186,117,248, 8,202, 50, 45,206,156, 62, 81, 65, 27, 53,163,145,118,192,208, 20, 39,195, 48,140,189,189,253, 51,174, 28, + 69, 81,184,120,241, 34,230,206,157, 11,123,139,139, 80, 61,202, 70,199, 94,125, 48,240,205, 41,136,140,140, 4, 69, 81,176,179, +179,123,222,205,248,211,185, 63,141,170,170, 42,180,105,211, 6,191,237,238, 16,160,211, 40,121, 33,182, 0, 1, 43,253,217,243, +195,210, 46, 93,186, 84, 3, 96,183,143,143, 79,204,115, 35, 26,255,196, 73, 16,196,199,159,127,254,249,246,158, 61,123,138,164, + 82, 41,124,124,124, 16, 31, 31,143,248,248,120, 92,190,252,164,127,156,157,157, 29,108,109,109, 81, 89, 89,137,188,188, 60, 53, + 65, 16, 31, 55,195, 73, 87, 87, 83,163,206,158, 61,122,125,196,136,215,237,135, 12,233, 14,153, 76, 5,163,177, 20, 4,201,131, + 64,232,136,221,187,215, 66, 89, 92,142,171, 9, 9,229, 53, 53,156,209, 73, 73,127,154,130,232, 69,233,212,199,198,198, 66, 40, + 20,226,240,225,195, 70, 39, 39, 39,142,181,181,117,147, 14,150, 70,163, 17, 52,197,249,206,162, 59, 5, 0, 62,253, 96,140,203, +198,171,105,197,163, 0,252,228,217,206, 21,231,207,156,195,229,243, 87, 23,135, 5,210, 91,134, 79,236,186, 90,216,255,141,143, +252, 59,191, 77, 73, 45,229,136, 62,114,152, 74, 79,250,246, 51, 77,237, 29, 47,108, 63,242, 81, 11,215,136, 1,128, 26,101,241, +146,168, 47,191,217, 23,181,106,185,104,195, 87,219, 10,213,165, 69, 75,235, 69, 63,211,140,123,213,200,153,147,147,179, 19,192, +206,167,156,230, 31,214,174, 93,123,105,210,164, 73, 14, 13, 14,101, 73,250,175, 9, 37, 64, 66, 64,223,200, 79,122,116, 9,232, +240,217, 87, 63,158,201,205, 43,254,177, 42,163, 49, 6,214,159,210,121,237,218,181,138,206,157, 59, 79,255,104,209,202,111, 87, +173, 94, 65,248,206, 91,140,172,248,155,208,170,245,208, 51, 20, 12, 32,144,180,230, 75, 88, 56, 88,226, 10, 83,206,104, 41,242, +157,236, 63,119,242,111,182,124,190, 36, 88, 78,150,147,229,252,239,228,108,206, 64,184,249,130,191, 95, 52,147,198,205,230,246, +107,130,231, 31,129, 89, 2,203,197,197,165,247,192, 1, 97,232, 57,112, 6,244,218, 74,100,167,237, 65,141,170, 24, 46, 50, 1, +178,115,171,187,215,171, 78,179, 80, 31,153, 61,236,179,205, 91,142, 12,238,218,197,207,199, 69, 46,176,110,227, 1,137,163, 19, + 74, 75, 74,112, 61, 41,203,176,237,204,249, 59,106,141,198,172,169,114,104,154,102, 24,134, 1,143,199, 3, 67, 81,240,159,189, + 8, 36, 73, 62, 55, 90,144,128,101,104, 56, 72, 14, 23, 6, 51,251, 12, 41, 20,138,124,130, 32, 70,207,158, 61,251,247,125,251, +246,145,125,251,246, 13,254,245,215, 95,233,191,146,217,101,119,142,223,163, 2, 71,245,217,242,245,182, 67, 33,161, 97, 30,109, +218,182, 17,244,116,179,130,222, 96, 66,177,178, 12,113, 87,211,181,247,210, 83,243,104,189,110,108, 73, 70,211, 81,220,235, 31, +130,185,206,206,206, 78, 43, 87,174,132,209,104,132,201,100,130,209,104, 68,105,105, 41,146,147,147,209, 57,172, 59,124,223,122, + 27,229,229,229,248,238,187,239,224,234,234,138, 97,195,134, 65,165, 82,225,210,165, 75,185, 77,187, 14, 48, 46,249,120, 34, 7, + 0,184, 92, 24,151, 70, 68, 92, 12, 8, 8, 8,127,181,147,146, 55, 99,246, 19,103,107,221,218,137,188,139, 23, 47,198, 8, 4, +130,157, 15, 31, 62,172,110, 70, 96,195,203,203,139,175,209,104,130, 25,134,225, 84, 87, 87,111,214,106,181, 83,231,207,159, 47, + 95,191,126, 61,130,130,130, 80, 90, 90, 10, 91, 91, 91,200,229,114,212,212,212, 32, 39, 39,199,164,215,235,119,152, 76,166,213, + 74,165,178,164,185, 60, 72, 76, 76,124,104, 50, 5,119, 47, 46,218,126,100,198,123,131,124, 12,134, 80,190,165, 85, 47, 48,140, + 17,149, 21,121, 32,152, 91,250,163,199,126,127, 80, 89, 73,189,158,148,148,116,207,156,107, 68,146,228,123,199,143, 31, 71,195, + 84, 57,133,133,133,217, 36, 73, 54,233, 96,153,131, 77,135, 10, 52, 0,126, 30, 51, 88, 62,175,170,228, 86,123,123,238,195,156, +176, 64,122,203,166, 67, 5, 26, 71,235,186, 53, 5, 37, 23,179, 10,107,206,236,140, 62,114,152,154,242,218,104,147, 92,122,111, +177,189, 27,204,137,140,207, 4, 5, 5,185,147,100,121, 91,101,217,221,196,200,119,222,125,195,138,167, 62, 21,228, 82,218,206, +232,228, 47, 76, 79, 79,127,212, 10, 23,235,233,178,159, 5,160,247, 23, 95,124,113,230,121,107, 92, 89, 90,126,190,123,196, 44, +166,178,178, 42,165, 36,227,215,219, 45,113, 53, 76,127, 51,121, 82,228,174,119,222,154, 78, 5,206, 89,136,252, 11,191, 3, 70, + 3, 20,151,227, 32,182, 48,225, 68,233, 35, 83, 29, 69, 78, 79, 74, 74, 98,163,184,179, 96,193,226,127, 6,102,247,250,246,242, +116, 57,227,213,214,101,144, 87, 91,103, 0, 64,246,195, 66,100, 63, 44,248, 45, 59,167, 96,240, 75, 42,220,198,201,158,137,250, + 80, 12,140,121,147, 61, 63,195, 25, 16, 16,144, 76,146,164,115,107, 78,218,100, 50,229,167,167,167,135,154,147, 78,185, 92, 62, +193,205,205,109,109, 97, 97,225,145,252,252,252, 15,254, 22,117, 95, 63,217, 51, 73,241, 34, 24,134, 9, 2, 64, 16, 36,105,206, +100,207,141,156,206,206,206, 29, 69, 34,209, 78, 14,135,227,222,112, 29, 27,154,241,244,122, 61, 85, 85, 85, 37,212,233,116, 20, + 0,130,199,227, 25,165, 82,169,134,203,229, 26, 77, 38, 83,174,193, 96,120,183,176,176,240,182,185,111, 33,126,126,126,146,136, +208,140,154,134, 41,116,150,124, 60, 17,107,247, 53, 91,118, 26, 57,239,221,187,215,222,198,198,102, 28, 65, 16, 99, 24,134,233, +160, 82,169,180,203,151, 47, 79,137,139,139,171,118,119,119, 31,210,171, 87, 47,226,214,173, 91,120,244,232, 17, 83, 83, 83,115, +136, 36,201,143, 11, 10, 10,178, 91, 89,150,200, 30, 61,130,199, 91, 72, 49,156,102,208, 9, 96, 8,130, 32,110,215,212, 16,167, +228,242,182, 63, 30, 58,116,200,244,178,111, 96, 33, 33, 33, 39,107,106,106,134,221,187,119,175,169,183,170,231,239,163, 38, 57, + 55, 44, 13,252,184,123,159,240,209,241,113,151,143, 46,250, 60,237,211,167,215,189, 63,202, 38,114,226,251,115,215,255,180,245, +171,133, 91,143, 85,236, 49, 39,157, 33, 33, 33,158, 0,198, 51, 12, 19, 64, 16,132, 15, 77, 67, 72, 16, 76, 57, 65, 16,233, 52, + 77,167,210, 52,125,252,246,237,219,133,255, 13,111,180, 79, 79,246, 76,152, 76,214, 38,130, 48,119,178,103,214, 33, 96, 57, 89, + 78,214,193,250, 63, 9,179, 35,112,103,231, 20, 12,206,206, 41, 64,187,118,237,152,251,247,239,183, 74,156, 53,245,246, 93, 31, +161,125,255, 95, 33, 73, 75, 75, 11,249, 39, 51, 72,161, 80,252,172, 80, 40,126,254, 91, 73,227,226,140, 74, 96, 15,158,124, 94, + 10,245, 2,169,155, 57,219,214,213,213,161,178,178,242,165,147,155,145,145, 81, 59, 42,236, 15,103,139,195,129,209,220,125, 7, + 13, 26,244, 88,175,215,159, 3,144, 15,192, 26, 64,185,193, 96,136, 45, 45, 45, 45, 54,153, 76,161,143, 31, 63,254,164,222,137, +252,180,184,184,248,101,227, 72,208, 87,175,166,252, 4,224,167, 63,175, 74,254, 75,151, 42, 57, 57,121,184, 92, 46, 79,182,179, +179,243,214,104, 52,124,141, 70,195,101, 24,166,177,236,139, 68,162,146,134,136,233, 45,193,202, 18,209, 20, 81,102,103, 99, 73, +252,201,169,177,119,193, 97,117,237,157,246,246, 46, 56,220,138,180,229,116,234,212,233, 7,146, 36,219,210, 52,237, 4,192,146, + 97, 80,202, 48, 76,169,201,100,202,191,115,231, 78,225,127, 75, 69, 83, 47,160, 34,192,130, 5, 11, 22, 44,254, 54,133,203,114, +178,156, 44, 39,203,201,114,178,156, 44, 39,203,249,175, 2,201,102, 1, 11, 22, 44, 88,176, 96,193,130,197,223, 11,162, 25, 21, +218,154,182,213,151, 81,178,119, 88, 78,150,147,229,100, 57, 89, 78,150,147,229,252,215,113,182,196,205,246,237,250,135,132, 23, +203,201,114,178,156, 44, 39,203,201,114,178,156,255, 62,206,255, 41,176, 77,132, 44, 88,176, 96,193,130, 5, 11, 22,127, 51,154, + 28, 69,232,233,233,234, 79,154,232,158, 12, 67, 82, 12,201, 24,136,106,245,129,236,231,130,108,186,185,185, 89,115, 73,140, 32, + 24, 70, 66, 16,180,137,166,200,248,156,156,252,116,115, 14,236,231,231,199, 3, 48,149,203,229,134,235,245,122, 57,151,203, 85, +104, 52,154, 43, 92, 46,119, 95, 70, 70,134,254,191, 41,147,122,246,236, 57,254,208,161, 67,214, 17, 17, 17, 90,189, 94,111,228, +241,120,156,253,251,247, 11,166, 77,155, 86, 25, 31, 31,255, 82,163, 32,131,131,131,251,173, 91,183,206,115,192,128, 1, 8, 15, + 15,175, 29, 58,116, 40, 47, 52, 52,148,183,104,209,162,156,148,148,148, 11,173,225,114,116,116,244,231,112, 56,223, 19, 4, 65, + 49, 12, 51,249,169, 16, 12,255, 4, 38, 0, 24, 11, 64, 14,160, 8,192, 65, 0, 47, 59,202,114, 8,128, 17, 0,130,234,151,111, + 1, 56, 14, 32,246, 47,164,111, 8,128, 17, 4, 65,116, 2, 0,134, 97, 82,255, 70,206,160,122,206,191, 45,157,127,245,220, 67, + 66, 66,150,243,249,252,119, 0, 64,167,211,237,145, 74,165, 81, 47,218, 46, 46, 46, 78,135, 38, 66,159,248,181, 5,147,126,220, + 23, 0,224, 63, 34, 19, 0,208,210,114,198,195,151, 27, 69,204,164,251, 50, 47,226, 37,252, 51, 95,122, 84,178, 92, 46,159, 57, +108,216,176, 69,177,177,177,159, 21, 20, 20,236, 2, 11, 22, 44, 88,252,183, 10, 44, 79, 79, 87,255, 49,163, 94,255,252,189,119, +103, 16, 20, 69, 34, 35, 51,147,243,254,156, 15, 6,249, 58, 57,185, 72, 52, 26, 63, 6,160,213, 34,209, 29,181,186,174, 96,251, +214,175, 45, 58,180,111,111, 50,153,104,236,216,185,125,232,161, 99, 71,150,182, 36,178, 28, 28, 28, 60,185, 92,238,230, 57,115, +230, 56, 14, 26, 52,136,116,114,114, 66,126,126,190,229,209,163, 71,219,125,247,221,119, 17, 14, 14, 14,243, 74, 74, 74,114, 94, +230,132,100, 50, 89, 47,185, 13,134,136, 4, 76, 63, 84, 19, 80, 27,137, 11, 10, 29, 19, 91, 84, 84,116,249,101, 51, 73,167,211, +205,174,171,171, 11,243,247,247,167,183,111,223, 78, 76,159, 62,157, 33, 8,130, 84,171,213,123,241,146, 97, 38, 68, 34,209,214, + 1, 3, 6,248,132,135,135,103,199,199,199, 15, 7,112,114,236,216,177, 94, 34,145,232, 30,128, 14,173,225,162, 40,106,111,122, +122,122, 39,181, 90,141,208,208,208,239, 0,116,254,135,202,203,119, 54, 54, 54,134,109,219,182,237, 12, 14, 14,246,174,168,168, +168,125,247,221,119, 95,185,125,251,118,127, 0,111,181,130, 71, 2, 96,139, 88, 44,166,230,205,155,119,250,181,215, 94, 75,149, + 72, 36,210,187,119,239,114,231,206,157, 59, 57, 55, 55,119, 12,128, 57, 0,106, 91,203,105,103,103, 39, 90,179,102, 77, 82,143, + 30, 61,148, 66,161, 80,148,147,147, 67,204,155, 55,111,250,221,187,119,255, 10, 39,111,245,234,213,241,125,251,246,205, 22, 8, + 4,226,220,220, 92,234,195, 15, 63,140, 76, 74, 74,122,105, 78,107,107,107,254,242,229,203, 19,250,244,233,243, 72, 40, 20, 74, +178,179,179,201,249,243,231,191,125,255,254,125,179, 57,123,247,238, 61, 94,173, 86,175,186,116,233, 18, 0,160,123,247,238,203, +117, 58,221,178, 63,137, 26,134, 65,120,120,184,134, 36,201,119, 46, 93,186,244,194,242,186, 47,241,163,241, 0,240,225, 39, 13, +203, 79,190, 95,180, 60, 53,116,195,126,194, 63,179, 85, 5,199,175,237, 19,113,183,253,242,172, 73, 0,240,254,135, 79,254,223, +126,185, 97,253, 76,166, 53,162,205,217,217,249,221,174, 93,187, 46,185,126,253,122,116,104,104,232,220, 93,187,118,113, 35, 34, + 34,214,208, 52,237, 61,100,200,144, 49, 9, 9, 9, 27,238,222,189,187,149,173,226, 89,176, 96,241, 95, 37,176, 72, 19,221,243, +189,119,103, 16,227, 38,140, 47, 82, 20, 43,105,169,133,213,132,131, 49, 49,226,246,237,219,147,154, 45, 91, 96, 44, 45,133,105, +193,130, 30,113,113,113,134, 89,243, 22,168,181,154,186,189,114, 39, 71,241,129,159,247,203,142, 28, 62,212, 19, 64,122,115,206, + 21,151,203,221,124,248,240, 97,153,167,167, 39,116, 58, 29, 74, 74, 74,160,215,235,241,218,107,175, 81, 97, 97, 97,178,200,200, +200,205,246,246,246,175,183,198,201,178,183,183,119,234,224,206, 61, 53,113,236,224,246,253,122,135,138,100, 46,109,129,124, 26, + 5,217,247,186,252,126, 45,105, 78,204,217,139, 89,119,171,244,195, 74, 75, 75,139, 91,155, 73,101,101,101,139,222,125,247,221, + 67, 65, 65, 65, 14, 2,129, 0, 78, 78, 78,196,219,111,191, 93,172, 80, 40, 86,191,108,198, 55, 68, 7, 39, 73,210,244,220,247, +203,208,185, 90, 89, 89,193,210,210, 18, 0, 92,254, 74,129, 24, 51,102, 12,149,155,155,251, 14, 77,211,126, 79,255,175, 80, 40, +188,140, 70, 99,233,195,135,143, 58,105,116,250,110, 51, 63, 92,181,102,220,136,126,150, 9, 9, 9,228,240,225,195,185, 23, 47, + 94,156,208, 10, 39,107, 75,135, 14, 29,110,175, 95,191, 94,151,113, 47, 39,240,183,139, 9,164,163,173,132,246,108,211, 70,154, +150,150,198,139,138,138, 42,137,138,138,218, 2, 32,178, 21, 73,223, 50,112,224,192,188, 37, 75,150, 80, 25, 89, 15,188, 46, 39, +164,192, 82,202, 55,185,187, 58, 11, 19, 18, 18, 56,219,183,111,199,210,165, 75, 91,205,217,175, 95,191,123,159,126,250, 41, 83, +164, 44,111,151,243, 80, 1, 11, 41,223,104,103,103, 39,186,120,241, 34,177,111,223, 62,221,220,185,115,183,208, 52,221, 42,206, + 30, 61,122, 60, 88,177, 98, 5,145,121, 63,167,221,149,132, 20, 72, 37, 60, 99, 27,119, 87,225,141, 27, 55,136,175,191,254,218, +176,124,249,114,179,210,201, 48,204,142, 13, 27, 54,224,151, 95,126, 1, 0,252,252,243,207,240,242,242,122,166, 0,169, 53, 26, + 16, 4,129, 71, 15, 31,138,223,123,239,189, 29, 47,122, 33, 72, 63,238,139,125,137,192,212,169, 83,139,204, 58,131,140, 13,173, +118,173, 26,132,213,140, 25, 51,242,155,216,108,210,214,141,230,139,172,158, 61,123, 46, 58,112,224,128,125, 76, 76,204,135, 71, +143, 30, 5, 0,136,197, 98,241, 55,223,124, 51,115,228,200,145,120,235,173,183, 22,177, 2,139, 5, 11, 22,255,117, 2,139, 97, + 72,138,162, 72, 40,139, 75, 13, 3, 95, 25, 20,249,205,182,109, 2, 62,159, 15,157, 78,135,218,243,231,193,104,181,176, 18,137, + 48,108,216, 48,110, 96, 96,160,229,244,200,200,183,149,197, 69, 59, 41,138,148, 49, 12, 73,181,112,204,169,115,230,204,113,244, +244,244,124,102, 2, 97,147,201,132,226,226, 98, 88, 88, 88,224,141, 55,222,176,255,225,135, 31,166, 2, 48,203,238,119,116,116, +108,227,211,214,254,106,204,183, 31,202, 28,173, 9,160,228, 48,240,248, 30,240,147, 16, 62,142, 30,240,233,223, 91, 52,162, 91, + 96,167,241,235,247,165,144, 36,217, 67,169, 84, 62,106, 77, 38, 61,122,244,232,138, 78,167,123, 71,163,209, 28, 3, 64,198,199, +199, 51,185,185,185,239, 21, 23, 23, 63,126,217,140, 55,153, 76,168,172,172, 4, 77,211, 20,128,198,111,147,153, 83,249,252, 19, + 24, 51,102, 12,149,151,151,247,174,159,159, 95,187,221,187,119, 67,169, 84, 66, 40, 20,130,166,105,116,239,222,221,253,149, 87, + 94,121, 80, 82, 94,101, 99, 52,154,244,249,143, 31,134,174,221,144, 82,210,201,191,195,149,152,152,152, 96,123,123,251, 55,204, + 20, 88, 67, 44, 44, 44, 56,159,125,246,153, 90,230,234, 53, 78,238,238,195,189,122,243,118, 22, 79,204,103,202,170, 84,170,148, +148,148,172, 85,171, 86,245, 62,117,234,148,242,206,157, 59, 67, 96, 94,147,217, 16, 59, 59, 59,209,226,197,139, 9, 43, 59,231, +129,225,189,221,185, 73,183,210, 31,240,197,124, 58, 60, 60,124,196,213,171, 87,191,155, 63,127,126,240,201,147, 39,171, 19, 18, + 18,204,230,180,181,181,229,174, 94,189,218,228,228,236, 49,210,189,109, 59,174,139,204,222, 31, 0,238,102,221,255,182,184,184, +248,193,123,239,189,215,237,244,233,211,170,216,216, 88,179, 57,173,172,172,120,203,151, 47,103,252, 2,131, 35, 3,130, 58,147, +199,127,187,148, 32,146,240, 77,213,181,234,154,244,244,244, 7, 11, 23, 46,236,122,242,228, 73,213,205,155, 55, 91,228,172,171, +171,179,112,117,117,133, 76, 38, 3,173, 86,163,186,186, 26, 71,142, 28,129, 74,165,130,201,100,130, 72, 36,194, 87,177,229,208, +220, 63,142,157,155, 87, 67,173, 86, 91,252, 29,229,164,161,121,175, 53,226,170, 25, 97,133,167,132,215,164, 25,189,190, 97,154, +107, 46,108,112,174,174, 92,185,146, 31, 19, 19,227,232,237,237,141,190,125,159, 76,224, 30, 25, 25,137, 87, 94,121, 5,191,252, +242, 11,126,251,237,183,220, 81,163, 70,229, 36, 37, 37,109,200,207,207,223,193, 86,245, 44, 88,176,248,255,141, 23,218, 37, 12, + 65,212,166,101,100,112,165,214,214,147,190,217,182, 77,192,229,114,241,232,209, 35,164,167,167,163,238,252,121,168,175, 94,133, + 82,169,132, 74,165,130,131,131, 3,162, 54,108,144,240, 68,146,200,123,247,239, 83, 12,201, 60, 61, 65,241,159,134, 90,242,249, +252,240, 97,195,134,145, 79,139,171,167, 81, 84, 84,132, 65,131, 6,113, 56, 28, 78,120, 19,105,126,158,147,112,118, 32,142, 31, +220, 53, 79,230,200,185, 13,220,159, 11, 84, 94, 6,140,149,128,186, 6,120,120, 27, 56,250, 5, 92,203,239, 19, 63,205, 25,235, +228, 34,226, 29,199,159,163,208, 55, 59, 36,212,197,197,197,203,219,219,123,247,232,209,163, 73, 0, 8, 15, 15, 39,188,189,189, +119,186,184,184,120, 53,179, 91,179,156, 26,141,230, 90, 69, 69, 5, 49,124,248,112,187, 30, 61,122,156, 29, 62,124,184, 29, 0, + 66,163,209, 92,123, 89,206,122,216,245,235,215,175,204,211,211,243,103, 15, 15, 15,129, 25,219, 55,114,230,230,230,190,227,235, +235,219,110,247,238,221, 20, 69, 81,216,181,107, 23, 14, 30, 60,136, 75,151, 46,161,164,164, 68, 60,127,254,124,235, 95,207, 39, +159, 59,123, 57,245,196,188, 25,239,210, 3, 59, 7,203, 5,165, 69,101,118,118,118, 67, 1,200,204, 76,231,136,217,179,103,159, + 74, 78,127, 40, 35, 40,129,128,199,227, 9,101, 78,246,142,114, 71,167, 54,114, 71,167,246, 22, 98,177, 77,109,109,109,238,177, + 99,199, 24, 60,233,163,100, 22,231,170, 85,171,110,164,223,203,117,100, 72, 30,159,199,227,242,236,109,172,109,199,188, 58,104, + 4, 0,136, 5, 2,113,109,109,173,226,135, 31,126,104, 21,231,138, 21, 43, 46, 23, 20, 87,202, 56, 92,158, 64, 40, 16, 52,206, + 18,110,107, 99,229, 34,149, 72,196, 58,157, 46,111,247,238,221,198,214,112, 46, 91,182, 44, 62,227,126,174, 19, 73, 82, 20, 73, + 18, 28, 7, 59, 27,123, 59, 59, 59,185,157,141,173,139,136,207,151,212,212,212,228,255,252,243,207, 38,115, 57,139,139,139,145, +153,153, 9,183, 46, 93,112,238,220, 57,184,185,185, 97,236,216,177, 24, 55,110, 28, 68, 34, 17,186, 90, 63,192,107, 67,122,224, +193,131, 7, 77, 94,119,115, 4,147,179,179,115, 92,107,202, 18,240,164, 89,176, 57,113,245, 60,103, 19,219,221,121,222,185, 58, +114,228,136,253,166, 77,155,130, 63,248,224,131,236, 35, 71,142, 32, 40, 40, 8, 25, 25, 25,112,113,113,193,254,253,251, 49,107, +214,172,236,149, 43, 87, 6, 31, 60,120,208, 41, 48, 48,112,241, 75,222, 71,173, 5,203,201,114,178,156, 44, 90, 22, 88, 6, 26, +199,103,207,157, 95, 23, 29, 29, 45,230,243,249,120,252,248, 49,138,138,138,112,244,240, 97,211,196,142, 29, 85,147,131,131,171, +143, 30, 62,204,232,245,122, 48, 12,131,118,237,218, 97,216,176, 97,162,183,167,207, 80, 18,213,234, 3,205,190,209, 50,140,163, +131,131, 67,227,164,185,207, 88, 91, 83,167,194,104, 52,194,194,194, 2, 4, 65, 56,154,115, 2,114,185,124,108,228,135, 3,220, + 44, 61, 44,139,153,162,189,229, 0, 9,112, 44, 0,142, 37, 32,182, 4, 68, 22,128, 64, 2,109,226,213,114,134, 8,127, 52, 56, +228, 13, 23,185, 92, 62,182, 53,153,100,111,111,191, 44, 38, 38,198,225,246,237,219,140, 74,165,130, 82,169,100, 22, 46, 92,232, + 96,111,111,191,236,101, 51,190,176,176,112, 77,100,100,100,209,232,209,163,173,163,163,163,221, 71,143, 30,109, 29, 25, 25, 89, + 84, 88, 88,184,230,175, 92, 80, 46,151, 75,157, 63,127,222,246,195, 15, 63, 28,111, 48, 24, 18,251,247,239, 95, 22, 28, 28,156, +232,228,228,228,209,210,190, 52, 77,251, 53,136, 43, 0,160, 40, 10,124, 62, 31, 66,161, 16, 86, 86, 86,149, 57, 57, 57,198, 54, +118, 60,142,169,182,162,206,195,138, 47, 12,239,228,239,236,232,234,254,122,109,109,109, 18, 0,133,153, 73, 12, 26, 50,100, 8, + 71, 15, 1,102,190,245, 74,251,247,166,132,183,219,185,241,173,126, 91, 62,155,220,253,203, 85,147,250,172, 89, 50,113, 60, 65, + 27, 13, 30, 30, 30, 94, 13, 29,213, 91, 2, 65, 16,157,122,245,234, 37, 50, 82, 2,242,122,202,189,236,187,247,243,148, 35, 6, +135,135, 53, 30, 48, 36,100,156,157,157,221, 48, 79, 79,207,190, 4, 65, 12, 54, 55,157,125,251,246, 21,112, 69, 18,210,221,217, +190,131,173,181,212,187, 97,133,131,131,195, 96, 39,153,236, 45,130, 49,213,202,229,114, 87,129, 64,208,201, 92,206,254,253,251, + 11,140,148,128,148, 57, 88, 59, 58,218, 89,219,141, 26,210, 59,188,127,120,151, 30, 61,186,119, 29, 24,210,165,203, 84,152, 12, +117, 30, 30, 30, 46,230,158,251,177, 99,199,240,245,215, 95,163,167,191, 63, 60, 60, 60,224,224,224,128,243,231,207,227,252,249, +243,144, 72, 36,168,172,172,196,142, 29, 59, 16, 27, 27,251,151, 43,139, 6, 65,212,208, 49,253,239,192,243, 34,171, 37,177,119, +229,202,149, 35, 49, 49, 49,240,246,246,198,180,105,211,188,246,238,221,155,157,157,157, 13,169, 84,138,212,212, 84,124,244,209, + 71,217, 43, 87,174,244,154, 58,117, 42,246,237,219,135,212,212,212,104,182,154,103,193,130,197,127, 2, 13, 77,132, 76,189,171, +195, 0, 32,242,242,242, 42,125,125,125, 93,188,189,189, 73,157, 78,135,170,170, 42,156, 57,125,218,180,255,224,193,147, 58,157, +110, 14, 73,146,188,125,223,127,191,195,209,201,169,223,152,177, 99, 9,131,193,128, 1, 3, 6,240,207,159, 63,111,119, 59, 47, + 79,213,220, 1, 41,138,106,116,143,102,206,156,137,205,155, 55, 3, 0,166, 76,153,242,135,192, 51, 24, 26, 38,209,109, 17, 98, + 43, 83, 68,159, 87, 2, 44,242, 36, 95, 91,104,122, 84,171, 60,179, 92,174, 74, 85,146,174,224, 8, 57, 16, 75, 65, 27, 97,188, + 87, 19,150,148,253,184,173,159,240,148,178,109,207, 14, 93,113, 48,225,104, 4,158,140,126, 51, 11, 34,145,168,171, 68, 34, 65, + 70, 70, 70,121,104,104,104,165,165,165,165,149,143,143,143,189, 72, 36,234,250,178, 25,175, 84, 42, 31,114, 56,156, 62,175,191, +254,250,251, 36, 73,190, 66,211,244,185,178,178,178,173, 74,165,242,161,153, 15,166, 25, 12,195,172, 0,112,168,225, 63,189, 94, + 15,146, 36,193, 48, 12, 70,140, 24,129,181,107,215,250,159, 59,119, 14,151, 46, 93,178,157, 56,113,226, 53,185, 92, 94, 73, 16, +196, 91,133,133,133, 77,186,100,101,101,101,216,190,125, 59, 40,138,130,181,181, 53, 44, 44, 44, 32, 20, 10,209,183,111,223,226, +245,235,215,251,196,196,196, 24,202,218, 41, 25,126, 77, 85,173,157,200,199,153,180,119,240,124,127,250,187,215, 1,196,152,123, +238, 82,169,212,194,130, 82,215, 80,140,134,218,180,101, 39, 71,204, 33, 33,225,242, 32, 36,107,136, 37,203, 63,101,132, 4, 37, + 70, 43,230,201, 4, 0, 30,143, 39,182,226, 67,199, 19,115, 77, 82, 49,159,248, 59,110, 14,145, 72, 36,145,242,160,107,106, 61, +159,228,240, 1, 8, 9,130,168, 51,151, 83, 40, 20, 74, 45,249,140,182,169,245, 22, 92, 30,143, 32, 8, 33,154,232,228, 62,102, + 0,152,152,205, 79, 4, 78,231, 63,110, 25,152, 76, 38,116,233,210, 5, 7,127, 57,135, 51,151,211, 80,158,159,142, 73, 99,135, +162, 77,155, 54,160,105,186,217, 52, 53,244,193, 50,227,165, 0,206,206,206,113,133,103,173, 90,220,214,220,166,193,167, 57,253, + 71,100, 54, 59, 58,209,197,197,101,122, 80, 80,208,148,163, 71,143,162, 95,191,126,136,136,136, 64,135, 14, 29,188, 38, 78,156, + 8, 0,232,221,187, 55,162,162,162,188,198,143, 31,143, 99,199,142,225,212,169, 83, 8, 13, 13,157,155,152,152,168, 84, 40, 20, +219,216,234,158, 5,139,255,122, 60,163, 69,254, 87, 4,214,159, 32,208,235, 59,104,182,111, 71,221,185,115,224,159, 61,139,147, +157, 58,213, 24,141,198, 5, 10,133, 34, 15, 0, 28, 29, 29,231,197, 28, 58, 20, 63,232,194, 5, 75, 93, 70, 6,220,238,220, 1, +167,125,251, 96,115, 15, 28, 21, 21,213, 40, 10, 0, 32, 58, 58, 26,213,213,213,168,170,170,130,209,104,246, 92,194,224,114,137, +158,142,246,238, 80,224, 30,104, 14,199,226,161,191,174,135, 68,109, 89,224,246,208,190,166,138,219,137,200, 82,118,178,208,168, + 12,221, 72,158, 14,186, 74, 13,156,237, 92,192, 33, 57, 61, 91,147, 73, 13,142,142, 72, 36, 42, 79, 74, 74,122,181, 87,175, 94, +191, 2,176,111,248,255, 47,184, 88,247, 11, 11, 11,231,190,148,245, 72,146, 43, 46, 94,188,232, 24, 19, 19, 51,235,155,111,190, + 97, 0, 64,167,211, 53,118,146,215,233,116,224,112, 56,160,105, 26, 18,137, 4, 28, 14,199,233,232,209,163, 78, 35, 71,142,220, + 10,160,201,235, 36, 22,139,225,228,228, 4, 46,151, 11, 43, 43, 43,212, 86, 87, 72,182,127,190,172,175,216,198,201,118,238,220, + 5,228,212,169, 83,211,190,249,230, 27, 87,103,239,118, 1,153,153,153,185, 19,166, 69,198,239,223,191,191, 6,230,119,112,191, +149,157,157,205, 15,240,107, 39, 60,121,168,134, 22,115, 24,136, 75, 63,131, 88, 36, 7,159,239, 10,177, 64, 0, 30,159,111,175, + 40, 42, 42,102, 24,230,129, 89,119, 36,195,164,230,228,228, 80,109,221,101,124, 85,157, 81, 37,166, 76, 22,247,147,111,101,181, + 11, 9,106, 15, 0,154,140, 91, 23, 5,109,189,249,138,138, 42,129,179,179,115,122, 43,210,201,115,114,114,226,167,101,220,223, +109,111,107,233,238,228,228, 56, 16, 0, 12,234,186, 52, 66,167, 41,164, 56, 28,121,121, 69, 69,137, 70,163,185,111, 46,103, 86, + 86, 22,199,187,141,171,224,200,137,179,123, 28, 45,165,110,246, 34,129,147,165,132, 39,229,155, 76,181,124,218, 84,200, 19, 8, +100,133, 69, 69,165, 12,195,100, 53, 69,210,208, 97, 28,248,238,135,250,243,111,112,119,112, 53,155,129,141,131, 51,202,242,238, +226,252,241, 99,152, 50,115,150, 89,247,211,198, 79,167,237,223,248,233,180, 38,195, 51, 60, 39,136,254,122,205,147,225, 23,247, + 60,167, 66,209,124,133, 58,100,200,144,143,119,237,218, 37,110,164,200,200, 64,120,248,147,158, 4,171, 86,173,194,224,193,131, +225,227,227,131,244,244,116,120,120,120,224,200,145, 35,160, 40,138, 59,125,250,244, 69,187,119,239,102, 5, 22, 11, 22, 44,254, +191,162,201, 33,107, 52,195,208,166,138, 10, 48, 58, 93,131, 67,192, 48, 12, 35,254, 67,216,112,197,214,214,214, 4,215,197, 5, +132, 80,248,228, 79,130,248,203, 61,180, 57, 28, 78,171, 4,150,201, 4, 10,132, 1, 12, 24, 0, 36, 8,144,168, 19,241,177,210, + 41,130, 88, 34, 95, 68,149,136,109, 8,130, 34, 65,144, 4, 64, 0,140,129,134,137, 49,181, 86, 25, 49, 53, 53, 53,208,106,181, + 54,222,222,222, 39, 53, 26,141, 77,253,131,141,249, 79, 93, 56,147,201,148, 77,146, 36, 38, 79,158,140, 6,165,175,211,233,144, +149,149, 5,141, 70, 3,157, 78,135,244,244,116, 84, 87, 87, 67,167,211, 33, 49, 49, 17, 30, 30, 30,224,112, 56,242,230,120,141, + 70, 35, 28, 28, 28, 32,151,203,161,173,173,150, 28,222,181,121,248,250, 85, 75,236, 39,120, 51,228,119, 91,190,160,219,183,111, + 95, 25, 16, 16, 96, 47, 18,137, 42,130,130,130,202,246,239,223,127, 20,173, 11,209,112,124,201,146, 37,221,250,246,237,235, 99, +109, 33, 50, 72,132,128,152,170, 5,159, 81,131,107, 44,134,143,103, 59,154, 16,139, 59,140, 31, 63, 94,139, 39,113,161,204,226, +156, 63,127,190,119, 96, 96,160,220,198, 82, 80, 43,226, 17, 69, 66,202,164,168, 76,191,117, 13, 0, 4,214,182,106, 8, 68,129, + 83,166, 76, 81,183,134,115,225,194,133,126,109,219,182,149,241, 56, 76, 29, 97, 50, 22, 54,174,209,106,138, 41, 46,175, 14, 60, + 94,200,220,185,115,245,173,225,252,240,195, 15,125, 59,117,234,228,228, 96, 37,172, 21,113, 81, 40,162, 76,133, 92,157, 54,143, +103,212, 21, 11,109,108,234, 32, 18, 7, 79,154, 52, 73,215, 20,103,131,123,245,188, 51,196,225,112, 80, 88, 88,136,242,135, 87, + 81,254,240, 54,218,147, 42,116,115,114,128, 84, 42,109,241,126, 34,252, 51,137,140,135, 32, 50, 30,130, 32,252, 51,137, 23, 45, + 63, 47,178,228,114,121,179,101,191,217,166,190, 12,191,184,151,225, 60,117,234,212,186,145, 35, 71, 26,198,141, 27,135,179,103, +207,130, 32, 8, 92,185,114, 5, 5, 5, 5, 24, 60,120, 48, 24,134, 65, 74, 74, 10,244,122, 61, 50, 50, 50, 48,102,204, 24, 68, + 68, 68,212,197,198,198,126,198, 86,245, 44, 88,176,248, 79,200,176,243,224, 0, 0, 32, 0, 73, 68, 65, 84, 9,172,190,245,150, + 92,223,134, 21, 6,129, 32,141,158, 61, 27, 86,191,252, 2,238,189,123, 24,243,250,235,150, 2,129, 96,139, 76, 38,235, 44,151, +203,123,138, 68,162,173,243,231,207,183,176,139,138,130,243,165, 75, 80,156, 61, 11, 3,151,123,179, 53, 7, 87,171,213, 13,110, + 12,116,245, 66,206,218,218, 26, 52, 77,195, 92,237,194,152,144,160, 40,185, 7, 62,218,128, 1, 84,167, 85,253, 19, 38,100,175, +118, 58,167,106,223,254, 94, 53,215,123,189, 99, 55,251,221,109,123,220, 84, 19,220, 26,158, 37, 31,133,133,133, 96, 64, 39,180, + 38,157, 26,141,166,170,182,182,150,240,246,246,182, 79, 74, 74,242,110,215,174,157, 29, 0, 66,171,213,222,248, 43,153, 47,151, +203,187, 7, 7, 7, 31, 12, 9, 9,201, 9, 14, 14, 62, 40,151,203,187,183, 98,247,239,146,147,147, 65, 81, 20,166, 79,159, 14, +149, 74, 5,157, 78,135,188,188, 60,228,230,230, 66,167,211, 33, 45, 45, 13,153,153,153,208,233,116, 72, 73, 73,129, 86,171, 53, + 71,184,193,194,194, 2,149,101, 74,201,129,237, 95, 12,255,108,213, 39,162,170,251, 73,200, 47, 44, 6,109, 82, 23,126,242,201, + 39,217,222,222,222, 87,116, 58,157,175,201,100, 26, 6,224, 64, 43,203, 91, 74,135, 14, 29,250,110,220,184,177,231,234,117,223, +243,173,164,213, 16, 88,219,130,111, 35, 6,223, 35, 20, 83, 62,250,146,179,115,231,182, 91, 87,174, 92, 41,129,121, 35,243, 72, + 0, 41, 93,186,116,233, 89, 84, 84,212, 39, 36, 36, 36,212,165,109, 91,137, 68, 38,175, 16,200,156, 75,105,173,230, 26,100, 46, +189,163,163,163,111, 92,184,112, 65,209, 26, 78, 15, 15,143,222,219,182,109,235,214,166, 77,155,110, 98, 75, 75,169, 70,165,250, +193, 88, 87, 23, 67, 73,165,124,136, 36,131, 98, 99, 99,175,236,223,191,191,168, 53,156,126,126,126,189,162,162,162,186,116,238, +220,185,155,171,151,151, 84,228, 40, 43,147, 56,187, 42, 69, 62,254, 60,200, 92, 95,137,142,142,190,122,241,226, 69,115,211, 9, +146, 36,193,225,112, 32,149, 74, 17, 23, 23,135,136, 94, 29, 32, 39,203, 17,212, 70,142,161,211,222,194,111,191,253, 6, 46,151, +139,191,234,182,190,192,125,109, 81, 16,181, 86,124,181,196,169, 80, 40,182, 37, 38, 38,126,245,198, 27,111,224,149, 87, 94, 65, +106,106, 42, 22, 46, 92,152,125,241,226, 69, 0, 64,106,106, 42,214,172, 89,147,157,144,144,128,105,211,166, 33, 60, 60, 28, 41, + 41, 41,209,108,240, 81, 22, 44,254,207,224, 79, 90,228,255, 50, 26,154, 8,227,158,254,246,178,177,177,208,104,234,242,227,226, +226,244,195,134, 13,227,137, 68, 34,140, 29, 55,142,116,115,119,239, 21, 23, 29,125, 94, 34, 22, 19,227,150, 44,145, 6, 6, 6, + 54, 86,242,191,254,250,171,186,170,170,178,204,205,205,205, 58, 47, 47,175,210,156,131,151,150,150, 66, 38,147,129,162, 40,212, +214,214,130,162, 40, 72,165, 82,212,213,213,153,221, 7,171,182,154, 60,123, 37, 46,237,149,126, 99,103,170, 6,101,235, 37, 70, +198,174,187, 5,201,192, 4, 3, 52,117, 12,140, 52,195,185,206, 88,119, 57,239, 19, 81,177,166, 93,233,221,252,115,219, 28,212, +140,238,108,107, 50,169,162,162, 98,217,204,153, 51, 15, 4, 4, 4,216, 91, 88, 88,192,201,201,137,124,231,157,119, 74,242,242, +242, 62,125,217,140,247,243,243, 27,239,235,235,187, 37, 38, 38,198, 54, 39, 39, 7, 0,218, 46, 89,178,164, 95,102,102,230,156, +140,140, 12,115,130,151, 30,220,184,113,227,150,254,253,251, 75,194,194,194, 26, 5,150, 94,175,111,252,126,254,119, 67,115,108, +115,160,105, 26, 66,161, 16, 49,223,110, 30,244,217,170, 79, 68,101, 25, 9,184,117,229, 44, 98, 31,106,235, 54,236,217,119, 77, +216,224, 86,182,246,124, 29,196, 29, 45,172, 45, 14,246, 27, 56,196,121,212,148,153,228,170, 85,171,152,223,207,196, 48,123,190, +153, 13, 47,223,175, 64, 16, 36, 50,239,166, 98,198,184,222, 76,218,237,180, 46, 0, 92, 91,203,185,110,221,186,218,204,204,204, +170,131, 7, 15, 10,221,220,220,188, 73,146, 20, 20, 21, 23,151,141, 31, 63, 62, 53, 62, 62,190,156,166,233,217, 47,149,206,223, +127,175,141,142,142, 22, 59, 56, 56,248,146, 36, 41,168,170,170, 42,157, 57,115,102,114, 76, 76,140,138,166,233, 57, 47,195, 25, + 30, 30, 94,115,224,192, 1,177,187,187,123, 7,146, 36, 5,133, 69, 69,165,227,198,141, 75, 73, 72, 72,168,198,147, 64,163, 47, +196,216,121,153,232,251,218,147,223, 34,145,168,204,207,207,207,110,216,176, 97, 48,153, 76,200,201,201,193,237,219,183, 49,100, +226,155,176,181,181,197,133, 59,119,160, 80, 40,176,116,233, 82,168,213,106,220,191,127, 95,241,119, 86, 30,245, 77,123,140, 66, +161,248,211,205,154,126,220,183, 49,136,232, 51,226,202,147,136,107,174,159, 85,115,156, 0, 48,104,208,160,105, 35, 71,142,196, + 47,191,252,130,133, 11, 23,102,175, 92,185,210,107,220,184,113, 72, 79, 79, 71,112,112, 48, 22, 44, 88,224,181,113,227,198,108, +134, 97,188,122,244,232, 1, 87, 87,215, 87, 21, 10,197, 71,236,115,139, 5,139,255, 19,136,123,238,251,127, 66, 96, 1, 79,117, + 40, 99, 44, 69,227,118,109,219,106, 53,107,222,130, 90,127,127,127, 27, 39, 39, 39,144, 36,137, 33, 67,135, 18,221,207,156,177, +224,202,229,176,235,216, 17, 12,195,128,166,105, 92,190,116, 9,231,207,159,175,253, 97,207,119, 46,145,111,191, 61, 2, 64,147, + 35,119, 26,154,213, 8,130, 64, 73, 73, 73,163,192, 18, 10,133, 40, 44, 44,132, 76, 38, 3,143,199, 3, 69, 81, 28, 0, 20,128, +102,155, 29,101, 50,217,247, 81,107,210, 23,231, 5,125,232, 25, 46, 38,137,211,181, 69, 32, 65,192,200,208, 32,213, 12,104,154, +129,214, 0, 4,184, 80, 54,231,180,176,190,145,118, 54, 71, 38,147,125,175,248,127,237, 93,121, 92, 84,213,251,126,238,157,125, + 99, 88, 5, 70, 80, 84, 16, 65, 80, 17, 23,114, 41, 67,201, 52, 41,203,181,178,220, 77, 49,205, 22, 83, 83,127,226,146,230,146, +154,153, 75,106,185,175,153, 89, 46, 41,229, 23, 50, 23,100, 81, 17,149, 77, 65,129, 97,223, 97,214,187,252,254,128,161,145, 16, +102, 80, 19,235, 62,159,207,253,220,185,115,103,158, 57,231,220, 59,231, 60,247,125,223,243, 30,181,229, 99,205,157, 59,119,206, +105, 52,154,169,149,149,149, 71, 0,144,151, 46, 93, 98,238,222,189, 59,221,210,128,244,250, 32,149, 74,103, 31, 62,124,216, 97, +233,210,165,197,191,255,254,123,105,255,254,253,109, 87,172, 88,225,248,230,155,111,206,134, 5,217,225,213,106,181, 6,192,174, +220,220,220,233, 61,122,244, 64, 81, 81, 17,244,122, 61,226,226,226,208,190,125,123,196,196,196,192,199,199, 7,209,209,209,240, +245,245, 5, 77,211,208,106,181,160, 45, 72,180,149,125, 63, 67, 33,211, 21, 43,179, 47,159,196,237,107, 49, 56,153,166,171, 90, +253,221,193,147,157,187,118,175,180, 84,248,154,163,131,179,204,223,197,201,241,215,181,107,190,176,201,186,124, 10,135,182,174, +101,127,251,229,151,110, 98, 37,222,237,245,210,251, 35,141, 6,180, 98, 88, 8,251,246,237,141, 87,187,221, 32, 4, 58, 20,255, + 30,219,112, 38,243,250, 56,143,236,222, 31,168, 5,252,219,181,107,247, 42,143,199,107, 1,192, 64,211,116, 34, 44, 92,130,230, + 97,229,212, 2,254, 42,149,234, 85,137, 68,226, 70, 16,132, 70,163,209, 36, 63, 14, 78, 79, 79,207, 87,121, 60, 94, 75, 0, 85, + 52, 77, 39,193,202,165,114, 66, 66, 66, 86,239,216,177,227, 35,157, 78,231,104,102,109, 37, 78,157, 58, 5,189, 94, 15,145, 72, +196,202,229,114,220,191,127,159, 5,160,102, 89,118,234,227,234, 56,134, 15, 31,142, 75,151, 46, 45, 6,176,168,161,207, 21, 21, + 21,241, 29, 28, 28, 40,115,225,245,176, 44,240,150,112, 94,190,124,121,229,228,201,147,103,159, 62,125, 58, 51, 60, 60,188,235, +184,113,227,112,236,216, 49,180,110,221, 26,183,111,223,198, 71, 31,125, 4,130, 32, 60,215,172, 89, 19,127,224,192, 1, 85, 78, + 78,206,151,220,152,197,129,195, 51, 5,226,223, 82,145,122, 99,176, 8,134, 16,120,183,111, 79,235,171, 42,190,159, 52,126,124, +213,141, 27, 55, 64,211, 52, 40,138,130, 54, 58, 26,149,191,254, 10,138,162,192,178, 44, 46, 95,186,132,153, 51,102, 84,104,171, + 42,182,183,109,219,134, 37, 88, 86,110, 70,245,183,213,182,245, 38, 95, 32,170, 93,132, 26,141, 6, 2,129, 0, 10,133, 2,249, +249,249, 16,137, 68,144, 74,165, 8, 8, 8, 32,221,221,221, 67,235, 41,222, 3,156,113,113,113, 70,148,233, 70,252, 52,246,131, + 28,247, 42,138,157, 98,215, 22,173, 4,210,234,120, 43, 0, 45,108, 72,132,248,241,225,192, 47, 96,175,239,124, 75, 77, 80,165, + 35,226,226,226,140, 13,113,214,133, 74,165,234,224,239,239,255,141, 41, 15,214,243,207, 63, 79,118,234,212,233,107,149, 74,213, +161,129,175, 53,200, 41,145, 72,196, 0,112,246,236,217,162,168,168,168,193,103,207,158, 45, 2,192,154,222,183,132,147, 36,201, +111,183,110,221, 10,153, 76, 6,138,162,160,215,235,161,211,233,160,215,235,255,182, 57, 57, 57, 33, 34, 34, 2, 12,195,156,104, +172,156, 29, 59,117,169, 40,229,219,229,238, 60,254, 27, 78,165, 27, 42,154, 32,174,106, 57,253, 92,229, 62,110, 45,170, 5, 70, +225,205,139, 72,185, 30,131,147, 39,126,142,215, 2, 89, 37,101, 88, 94, 82,134, 46,149, 90,216,247,236,136,130, 95,143,204, 37, + 62, 30, 3, 2, 68,189,107,230, 89,196, 89, 35, 80,166,209, 52,221,147,166,233,158, 0,166, 53, 32, 90,172,226,212,106,181, 65, + 26,141,230,177,114, 90, 91, 78, 83, 12, 22, 0, 44, 92,184, 48, 58, 42, 42,106, 84,116,116,116,127,211,150,144,144, 16,124,231, +206,157,224,172,172,172,224, 59, 63,139,121, 9, 9, 9,252,152,152, 24, 65, 76, 76, 76,235,216,216,216,211,150,222,159, 15,131, +121,128,187, 90,173, 14,175, 99,105,170,229, 36,252,110, 17,223,172, 9,219,115,248,240, 97,215,199,197, 9, 0,183,111,223,254, +102,199,142, 29, 30, 1, 1, 1,238,166, 84, 12,219,183,111, 7, 80,157,201,126,237,218,181,232,213,171, 23,220,221,221,157, 99, + 99, 99,219,101,103,103,111,181,246,191,217, 68,112,156, 28, 39,199,201,193, 2,129, 69, 48, 52, 77, 51,112,118,113,182,201,207, +203,219, 24, 22, 54,173,112,201,146, 37,218,200,200, 72,232,111,221,130, 54, 46, 14, 17, 17, 17,248,224,131, 15,170,222,155, 58, + 85,173,173,170, 88,239,234,226,236, 68,211, 12, 8,130,105,208, 66, 66,146,100, 90,114,114, 50, 0, 64,167,211,225,235,175,191, + 54, 26, 12, 6, 40,149, 74,176, 44,139,109,219,182, 49, 0, 48, 96,192, 0,185, 64, 32,176,104, 9,146,236,236,236,107,101,247, +179, 7,254,240,230,180,180,155, 7,126, 46,235, 92,168,199, 40,137, 10,175,119,102,209, 78,146,129,123, 23,191, 43,189,184,101, + 88, 90, 85,241,253,151,179,179,179,175, 89,219, 72,174,174,174,255,183,111,223, 62,231,216,216, 88, 86,167,211, 33, 43, 43,139, +157, 61,123,182,179,171,171,235,255, 61,138, 74, 47, 41, 41, 1, 73,146, 76, 77,187, 48,214,170,247,172,172,172,132, 35, 71,142, +252,116,238,220, 57,184,187,187,131,166,233, 90,129,101,190,231,243,249, 32, 8, 2, 91,182,108, 41, 33, 8, 98, 94, 99,188, 34, +145, 8, 91, 15,157, 60,245,201,230,163,135, 14, 69, 68, 31,109,170,229, 10, 0,100, 54,202,165, 95,174,254,194,214,228,106,220, + 23,155, 93, 70,208,108,253,174, 58, 67, 86,245, 61, 82,191,192,106, 26,231,147, 40,231, 83,228,124,154,168,158,233,167, 38, 90, +182,108,137, 31,126,248,193,234, 24, 44,191,118,196,223,130,219,155,202,153,144,144,240,197,168, 81,163,114,195,195,195, 55,105, +181,218,202,154,135, 55,195,151, 95,126,185,230,253,247,223,207,205,202,202,226, 44, 87, 28, 56,112,120,170,168, 55, 77, 3,195, + 35,255,220,178,117,243,224,131,251, 15,184,242,120,164,235,157, 59,119,175,188, 59,113, 98, 86, 84, 84,148,131,160,125,251,158, + 36, 73, 50,250,185,115, 47, 86,148,149, 22,237,254,254, 59,143,182,109,219, 4,212, 44,246,204, 50, 60,242,207,134,126,176,168, +168,104,231,172, 89,179,122,238,218,181, 75,184,122,245,234,202,172,172,172, 51,151, 47, 95, 30,188,105,211, 38,201,182,109,219, +170, 74, 75, 75,143,159, 60,121,114,104,112,112, 48,165,215,235, 45,206, 47,148,151,151,151,136,188, 60, 95,114,237,182,183,147, +182,238, 25,200,242,200,222,208, 10, 65,176,244, 5,146,170, 56,147,151,157,189, 15, 0,213,148, 70,146, 72, 36, 1, 82,169, 20, + 41, 41, 41,197, 61,123,246,212,139, 68, 34, 65,155, 54,109, 28, 37, 18, 73, 64, 83, 27,158,101, 89,182,184,184, 24, 44,203,242, + 1, 16, 52, 77,243, 1,128,105, 44,105, 81, 29, 8,133,194, 55, 39, 76,152,240,211,166, 77,155, 6, 14, 24, 48, 0,158,158,158, + 48, 26,141,240,241,241,129, 94,175,135,183,183, 55,180, 90, 45,190,250,234, 43, 84, 84, 84,124,148,157,157, 93,220, 16, 31,195, + 48, 16,139,197, 16,137, 68,240,233,216,169, 74, 34,145,160,169,226, 10, 0,228, 34,180,187,127,233, 4, 82,174,199,226, 96,156, +186,164,210,192, 12, 74,202,175,186, 81,247,115, 85,122, 84, 6, 15,154, 86, 45,188,141,168,120, 28,156, 79,162,156, 79,155,211, + 60, 6,203,146,207, 62, 46, 60, 44, 38,170, 33,220,188, 11, 98,218,243, 27, 89,220,220, 88,111,142,171,166,112,154,144,153,153, +185,197,180, 4, 14, 73,146,169, 51,103,206,156,157,149,149,181, 78,173, 86,111, 82,171,213,139,184,174,157, 3, 7, 14,205, 82, + 96,221,185,147,153,120,228,216,209,207,142,254,112,164, 15,203,146, 60,150, 32, 42, 1,242,231,196,196,196, 7,130,215, 61,237, +237,109, 38, 76,158, 48,154, 96, 8, 1, 65, 48, 52,195, 35,255,188,115, 39, 51,177, 17,107,211,245,254,253,251,111, 12, 14, 14, +158, 72,211,244,170,148,148,148, 51, 36, 73,198, 15, 26, 52,232, 19,138,162,214,164,165,165,157,241,241,241, 57,123,240,224,193, + 79,105,154,182,214, 66, 68,101,103,103,239, 66, 3, 49, 96, 77,196, 18, 0,182, 98,177,184, 52, 54, 54,246, 64,159, 62,125,222, + 36, 8,194, 22, 64,105, 83, 9,117, 58,221,204,242,242,114,167,209,163, 71, 27, 1,248,188,241,198, 27,243,146,147,147, 5,149, +149,149,105,214,240,100,100,100,232, 60, 60, 60,134,134,133,133,109, 23, 10,133, 3,240, 87,146, 54,147,144, 3,203,178,160,105, +250,120, 77,219, 60, 20, 2,129,160, 98,200,144, 33, 10, 11, 44, 92, 21,150,150, 47,167,160,124,230,178,157, 39, 87,232,140, 12, + 67, 49,236,212,164,188,170,122, 71,253, 43,137,240,127,220,156,214,224, 89,225, 4,128,105,207,111,220,131,155, 27,107, 5,148, +201,109, 88,247,248, 73,161,198,226,196, 2, 88,220,216,103, 27, 90, 87,176,169,156,117,145,149,149,245, 45, 55, 83,144, 3, 7, + 14,255, 53,112,254,105,142,147,227,228, 56, 57, 78,142,147,227,228, 56,255,115, 32,185, 38,224,192,129, 3, 7, 14, 28, 56,112, +120,188, 32, 26, 80,161,214,172,148,221, 20, 37,155,192,113,114,156, 28, 39,199,201,113,114,156, 28,231,127,142,179, 49,238, 4, +112,120, 34,194,139,227,228, 56, 57, 78,142,147,227,228, 56, 57,206,255, 30,231,191, 10,156,139,144, 3, 7, 14, 28, 56,112,224, +192,129, 19, 88,205, 2,239,162, 58, 41,100, 2,128, 95,107,142,155, 10, 41,128,185,102,124,167, 0,124, 10, 64,204, 53,115,179, + 6,143,107, 2, 14, 77,133, 74,165,234,208,177, 99,199,216, 70,146, 21,115,224,192,225, 25, 6,255, 97, 39, 60, 61, 61, 47,144, + 36,217,142, 36,171, 53,152,121, 46, 36,211,235,186,123,150,101,239,220,188,121,179,247,195, 56,219,182,109, 91,203, 73,146, 36, + 8,130, 0, 73,146, 48, 26,141, 54, 60, 30,175,188, 62, 78,154,166, 51,147,146,146,186, 55,163, 54,219, 99,111,111,111,220,180, +105,211, 55,129,129,129,237,139,138,138, 42,167, 76,153,242,114, 66, 66, 66, 8,128,119,172,228,234, 68, 16,196,238, 30, 61,122, + 28,125,255,253,247, 15,251,249,249,217, 84, 86, 86,138, 15, 30, 60,232,186,101,203,150, 63,104,154,158, 0, 32,145,187, 77,155, + 15, 92, 93, 93, 3, 9,130,216,168, 80, 40,186, 87, 84, 84, 92, 1, 48, 93,173, 86, 95,229, 90,230, 31,197, 36,145, 72, 52,200, +219,219,187,167, 78,167, 43,190,115,231, 78,116, 77, 74,151,156,199,196,111, 11,224,255,196, 98,113,144,151,151, 87,171,228,228, +228,251, 6,131,225, 50,170,211,181,148, 62, 42,185, 74,165,234, 16, 20, 20,116,126,249,242,229,142,243,230,205, 59, 31, 29, 29, +221, 87,173, 86, 39,113,151,149,195,211, 64,171, 86,173,236, 42, 43, 43,183,147, 36, 25, 40,145, 72, 92,109,108,108,160, 80, 40, +114,196, 98,113,188, 76, 38,155,120,242,228,201, 18,174,149, 30,179,192,226,241,120,238,209,209,209,206, 54, 54, 54,160,105, 26, + 12,195,128, 97,152,218,245, 7,107,150, 20, 52, 9, 43,208, 52,141,224,224,224, 6, 87, 19,230,243,249,173, 98, 99, 99,157, 21, +138,191, 82, 45, 25, 12, 6,116,233,210,133,137,139,139,115,174,187,144,176, 94,175, 71,183,110,221,216,102,212, 94, 99, 28, 29, + 29,245, 25, 25,247,122,105,117,134,222, 97,179,151,254,223,232,215,250,217, 94,188,120,145,124,245,213, 87, 5,231,206,157,123, + 23,192,110, 11,185,164, 4, 65,236, 88,176, 96,193, 23,124,161,204,249,200,201, 11,252,175,183,238,187,223,169, 99, 91, 98,214, +140, 48,217,204,153, 51,163,125,125,125,191,163,105,250,121, 0, 58,238, 86,109, 30,255, 23,129, 64,240,211,138, 21, 43,220,114, +212,106,172, 93,183,238, 57, 0,155, 0, 60,199, 53,205, 63,134,185,139, 23, 47, 94,241,246,219,111,131,162, 40,104, 52,154,150, +169,169,169,254, 11, 22, 44,120, 35, 53, 53,181, 39,128,180, 71,228,111,225,237,237,125,107,214,172, 89, 14, 61,123,246, 4, 73, +146, 40, 41, 41,105,121,254,252,249,231,118,236,216,241,238,189,123,247,124, 1,228, 63,202, 15,216,219,219,239, 93,179,102,141, +163, 88, 44,198,247,223,127,239, 56,106,212,168, 63, 0, 60,255, 8, 34,139,116,116,116,156, 9, 32,152, 97, 24, 49,128,203,197, +197,197,203, 0, 24,184,219,133, 67, 67,112,116,116,156,148,155,155,251,141, 76, 38, 19,218,217,217, 65, 42,149, 66, 40, 20, 66, + 36, 18,181,182,183,183,111,173, 80, 40, 94,121,243,205, 55,167, 31, 56,112, 96, 59,215, 90,143, 81, 96,145, 36, 9,169, 84,138, +131, 7, 15,130,199,227, 65, 40, 20, 66, 32, 16, 64, 32, 16, 60,240,218,116,220,170, 85,171, 70,127,204,100,149, 58,126,252, 56, +108,109,109,161, 84, 42,209,177, 99, 71, 16, 4, 1,177, 88,140,136,136,136, 7,120,187,119,239,254, 72, 89,196,155,130, 17, 3, +170,147,116,214,151,188, 49,116,122, 38, 94,125,123,249,240, 42,157,241, 5,150, 37, 52, 57,197,198,162, 37,171,191, 73,236,234, +223,145, 56,116,232, 80, 55, 39, 39,167,183,172, 16, 88, 31,244,236,217,243, 56, 5,145,203,132,113,227,199,141, 39, 9,106,216, +248,143, 23,159,143, 75, 45,222,238, 23,184, 47, 63, 63,115,234,215, 95,127,157, 20, 22, 22, 54, 19,192, 42, 75,203,223,189,123, +247,123, 12,195,180,170, 17,201, 5, 82,169, 84, 21, 25, 25, 73, 53,131,123,173, 37,128,213, 0,140, 0, 86, 2, 48, 79,186,217, + 65, 40, 20,174, 50, 24, 12, 69,168, 94,232,247,126,115,252,179,184,185,185,249,190,243,206, 59, 78,133,249,249, 88,187,110, 93, +109,147,195,130, 69,201, 31, 55, 2, 3, 3,219, 73, 36,146,213, 0, 2,117, 58,157, 27, 0, 72,165,210, 44,150,101,127,212,104, + 52,243,227,226,226, 52, 77,125,160, 5,224,143,135, 47,217,196,174, 90,181, 42,233,211, 79, 63,189,243, 20, 56,219,184,184,184, + 44, 31, 57,114, 36, 78,156, 56,129,147, 39, 79, 26, 37, 18, 9,127,220,184,113,196,244,233,211,237,103,205,154,245, 10,128,175, + 30,177,105, 95, 89,188,120,177, 67,199,142, 29,113,228,200, 17, 92,189,122, 85,211,161, 67, 7,105,191,126,253,192,227,241, 28, +230,207,159, 63, 24,192,206, 71,249,129,226,226,226,101, 75,151, 46,221,181,113,227, 70,155,180,180, 52, 44, 94,188,216,233,253, +247,223,143, 4,208,207, 10,145, 37, 6, 48, 19, 64, 48,143,199,123,126,220,184,113,212,140, 25, 51, 4, 36, 73, 26,215,175, 95, +223, 98,251,246,237,163, 5, 2, 65, 96, 97, 97, 97, 5, 56,160,129,113,206,192, 48,140, 0,128, 4,128,174,177,227,127, 83,221, + 29, 28, 28,166, 21, 21, 21,109,106,217,178, 37, 90,180,104, 81, 59,214, 50, 12,131,202,202, 74,104, 52, 26,180,107,215, 78,216, +177, 99,199,109,211,167, 79, 23,124,243,205, 55,155,185, 59,198,122,129,213, 15, 64,164,217,123,253, 0, 68, 18, 4, 1,134, 97, + 32, 16, 8,192,227,241,192,231,243,107,133,143,249,107,211,246, 16, 33,148, 80,231,102, 38,202,203,203,107,197,149,173,173,109, +173, 37,204,104, 52,254,141,147,166,105,144, 36,201, 54,196,249,152, 80,203,121,120,189, 47,118,198,204,126,115,103, 76,245,241, +224,183,171,247, 59, 99,128,136,203, 83, 87,175,218,220,167,213, 7,203,190, 95, 81, 88, 88,146,231,231,222,130,122,235,237,126, + 30,162,130,220, 2,199,182,109, 67, 1,228, 89, 81,206,190, 83,167, 78, 61,114,228, 92,138, 92, 44, 22,137,120, 36,120, 29, 60, +219, 9,220,148,237, 29, 90,188,220, 83,148,158,150,246,199,187,239,190, 59, 53, 44, 44,204,209, 76, 96, 53, 90,119,150,101, 85, +103,206,156, 1,159,207, 71, 72, 72,136,125,205, 53,166, 44,169,251,147,104, 79, 51, 44,200,205,205,125, 83,171,213,162,123,247, +238,175, 21, 22, 22, 6, 3,136, 7,208,121,232,208,161,127, 28, 62,124,216, 38, 46, 46, 14,207, 61,247,156, 20,192,168,167, 88, +206,191, 65,165, 82,157, 1,240, 18, 65, 16,208,107,181,250,213, 95, 62,176,204, 93, 76, 29,113,245,196,203, 25, 16, 16,224, 43, +145, 72, 46,124,249,229,151, 74, 63, 63, 63, 66, 32, 16,128,162, 40, 36, 39, 39,183,218,179,103,207,123, 87,174, 92, 25, 28, 24, + 24,232, 87,207,162,230,150,212,221,255,143, 63,254,168,244,244,244,172, 87, 48, 86, 85, 85,241, 60, 61, 61, 95,124,136, 24,122, +210,156,153,185,185,185,175,191,244,210, 75, 83,115,114,114,110, 81, 20, 53, 7, 64, 39, 39, 39,167,184,225,195,135, 67, 42,149, + 6,107, 52,154,175, 30,229,186, 59, 59, 59, 15,237,221,187, 55, 54,110,220,136,149, 43, 87,134, 0,248,237,151, 95,126, 25, 80, + 86, 86, 22,241,218,107,175,193,206,206,238,245,146,146,146,157,143,112, 47,117,232,217,179,231,182,143, 62,250,200,230,151, 95, +126,129,183,183, 55,202,202,202, 48, 97,194, 4,231, 13, 27, 54,252, 15,192,139,102, 34,235, 97,156,126, 98,177,120,231,254,253, +251, 21,158,158,158,158, 66,161,144,244,244,244, 68, 81, 81, 17,180, 90,173,120,217,178,101,157, 37, 18,201,213,175,190,250,106, + 39,128, 97, 79,249,127, 84, 10, 64, 9,192, 14,214,185, 87, 19, 26,224,171,141, 79, 21, 8, 4, 16,139,197,144, 72, 36,144, 72, + 36,184,115,231,206, 15, 60, 30,111, 60, 65, 16, 70, 75, 56,137,191, 6,174, 0, 0,209,141, 29, 3, 96,154, 65,191,228, 78, 16, +196,122, 0,193,168,142,163,142,116,118,118,254, 32, 55, 55, 55,195, 82, 78,149, 74,229, 88, 88, 88,248, 85,203,150, 45,225,236, +236,140,154, 7,114,116,239,222, 29, 90,173, 22, 55,110,220, 0,195, 48, 72, 77, 77,133, 82,169, 68,231,206,157,191, 10, 15, 15, + 63, 18, 30, 30, 94,248, 4,235, 94,175, 22,121,214, 5,214,255,106,158, 44, 77,149, 49, 29,131,166,233, 90,129, 85, 87,252,212, + 21, 92, 4, 65,128,101, 89,162, 17, 11, 22,169,215,235,107,197,149, 82,169,172, 21,103, 20, 69,213, 43,176,154, 10, 59, 59,187, + 95, 75, 74, 74,214, 1, 56,211,148,239,143, 27, 55,238,111,241, 28,115,231,206,189,159,159,159, 79, 15,237,219, 65,188,123,247, +137,194,119, 67, 95,116,245,243,114,247,145, 59, 58, 7, 84, 85, 85, 93, 1, 32,176,198, 32,226,231,231,103,179,121,127,100,222, +219, 51, 87, 47,113,119, 81,208, 61,188, 93,148, 94, 14,114,145,163,132, 79,217,177, 84,137, 76, 38,243, 7, 80,104,109,217,109, +109,109,113,252,248,241,230,118,175,217,107, 52, 26, 20, 23, 23, 99,203,150, 45,202,169, 83,167,158, 43, 44, 44,252, 96,232,208, +161, 27,143, 28, 57, 34, 47, 41, 41,129,193, 96, 0, 0, 77, 51,252,159, 44,181,183,183,127, 33, 56, 56, 88,116,224,208, 33, 17, +203,178,149,168, 94,142,168,130,101,217,247,255,233,194, 72, 36,146, 79,150, 45, 91,166,244,243,243, 35, 10, 10, 10,192,178, 44, + 72,146,132,147,147, 19,102,207,158, 45,153, 63,127,190, 91, 82, 82,210,103,104,194,178, 51, 0,136,135, 9, 33, 0,144,201,100, + 52,172,159, 28, 83, 47, 39, 69, 81, 68,159, 62,125,102, 23, 20, 20,116,214,104, 52,159, 91,192, 67, 1, 56,158,153,153,105,126, +115, 95,189,117,235,150,134,207,231, 75,219,182,109, 27,148,152,248,104, 33,139, 29, 58,116,232, 37, 16, 8,112,249,242,101,157, + 89,231, 30,121,237,218, 53,221,176, 97,195,196,173, 90,181,234, 85, 82, 98, 89, 72,138, 74,165,234,224,229,229,117,214,201,201, + 73,106, 90,178,202,209,209, 81,176,106,213, 42,155,204,204, 76, 80, 20,133,121,243,230, 33, 52, 52, 20,246,246,246, 24, 63,126, +188,203,182,109,219,246, 2,232,214,144,229, 74, 44, 22,239, 76, 73, 73,241, 81,169, 84,210, 75,151, 46,161, 75,151, 46, 40, 40, + 40, 64, 78, 78, 14, 42, 42, 42,144,147,147,131,137, 19, 39, 58,175, 93,187, 86,213,140,254, 67, 37,124, 62, 31,114,185,220,174, +180,180,244, 81,226,216,196, 0, 68, 0,192,231,243,107,197,149, 88, 44,134, 88,252,159,152, 23,228, 70, 16, 68,162, 64, 32, 16, +203,229,114, 33, 73,146,144,203,229, 47,187,187,187,223, 8, 9, 9,233,180,103,207,158,116, 75, 72,180, 90,237,110,169, 84, 42, +104,209,162, 5, 0, 96,224,192,129, 24, 55,110, 28,242,243,243,153,236,236,108,248,248,248,144,145,145,145,200,205,205,197,213, +171, 87,209,163, 71, 15,129,131,131,195,110, 0,131,159, 96,221, 30,170, 69,158,101,129, 85,183,114,181, 96, 24,230, 1,113, 85, +159,229,202,220,130,213,152, 59,143, 32, 8,208, 52, 13, 87, 87, 87,200,100, 50,200,100,178,218,115, 38, 49,103,190,177, 44,219, +100, 23, 97,251,246,237,251,203,100,178,231,207,157, 59,247, 26,128, 8, 75,191, 55,114,214,173, 90,171, 85, 93, 4, 4, 4, 92, +152, 55,111,222,160,223,127,255,189,184, 87,151,118,140, 56,251,126,161,204,222,169, 11,209,194, 57, 36,108,242,148,139, 0,246, + 91, 81,196,108,173, 86, 43,110,227, 74,106,178, 75,203,244,237,148,182,118,237,108, 21,178, 54, 78,182,142,246, 18, 17, 41,119, +113,110,105, 52, 26, 75, 0,100, 55, 70,100,238, 22, 20,139,197,122,130, 32,248,118,118,118,176,181,181, 53, 20, 23, 23,107, 3, + 3, 3, 33, 18,137, 10,132, 66,161,197,238,194, 30, 61,122,228,210, 52,237,220,208,103,132, 66, 97,222,165, 75,151, 92, 44,172, +239,252,128,128,128,126,155, 54,109,106,225,237,237,141, 45, 91,182, 40,143, 28, 57,178,115,239,222,189, 40, 41, 41,193,221,187, +119, 49, 97,194,132, 50, 84,187, 17,155,155, 41,253,252,136, 17, 35,176,125,251,118,182,230, 33, 66, 78, 16, 68, 23, 91, 91,219, +219, 55,111,222,252,199,227, 92, 72,146,124,217,199,199,135, 40, 45, 45, 5,203,178,224,241,120, 15,108,179,103,207,150, 78,156, + 56,113,193,115,207, 61, 55, 91, 32, 16,148, 81, 20,117,160,162,162,226,243, 27, 55,110, 52,171, 96,213,231,159,127,254,195,251, +247,239,135,122,120,120,252,252, 8, 52, 44, 69, 81,122,150,101,165, 60, 30, 79,240,168,101, 34, 8,130, 87,211, 31,105,205, 44, +191, 84,205,177, 24, 86,204, 30,117,112,112,216,187,103,207, 30,119,119,119,119, 24,141, 70, 24,141, 70, 84, 86, 86, 34, 50, 50, + 18, 58,157,174,118, 81,246, 47,190,248, 66, 59,125,250,116,201,161, 67,135,242, 52, 26,205,152, 70,104,103, 30, 62,124,216, 70, +165, 82, 73, 53, 26, 13,210,210,210,208,173, 91, 55,148,151,151,163,178,178, 18, 85, 85, 85, 48, 24, 12, 40, 45, 45,181,163,105, + 90,223, 92,174, 53,143,199,131, 88, 44,134, 64, 32, 40,105,213,170, 21, 72,146,148,100,100,100, 52,197,229,166, 4, 80,198,231, +243, 69,230,194, 74, 34,145, 32, 33, 33,225, 96, 3,214,171,250,111, 30,243, 96, 98, 11,142,159, 54, 8,130, 88, 47, 16, 8,196, +142,142,142, 66,211,123, 6,131, 65,104,111,111, 15, 15, 15,143,141, 0, 94,177,144,167,171,163,163, 35, 8,130,128, 80, 40,196, +228,201,147, 17, 29, 29,253, 99,102,102,230,187,121,121,121,168,168,168,216,173, 84, 42,223,200,203,203, 3, 77,211, 72, 79, 79, + 71, 64, 64, 64,215,127,168,154,207,188,176,170, 43,176,250,213,217,155, 44, 82,141, 90,174, 26,113, 17, 62, 0,131,193,160, 8, + 13, 13,101, 76, 98,204, 52,139, 16, 0, 65,211, 52,132, 66,225, 3,156, 53, 2,171, 73, 55,184, 88, 44,198, 43,175,188, 34,145, +201,100,199,126,249,229,151,215, 0,252,222,212, 70, 58,126,100,159,203,170, 69,243, 22, 57,180,108,235,245,217,103,159,241, 7, + 15, 30, 28,113,224,192,129, 30, 78,125,251, 15,138,250,237,160,203,150, 57,199,127, 62,120,240, 96, 57, 44,143,191, 2,128, 63, +127,252,241, 71,213, 39, 51,194,132,253,250,245,251, 97,108,231,143,248, 42, 17, 99,227, 32, 22,242,100, 60, 62, 41,110,213,102, +208,111,145, 81,106, 0, 81, 22,116, 18,170,136,136, 8,216,217,217, 1,128, 72,175,215,195,206,206, 14, 91,182,108,145, 40,149, + 74, 40,149, 74,244,238,221,219, 94, 40, 20, 54,230, 46, 52, 23,188,206,255,251,223,255,160, 80, 40, 80, 89, 89, 9,157, 78, 7, +138,162,192,178,108,237,147,227,139, 47,190,232,108, 69,125,211,202,202,202, 94, 8, 11, 11,139,218,180,105, 83, 11, 47, 47, 47, + 44, 89,178, 4,133,133,133,184,119,239, 30,198,140, 25, 83,118,231,206,157, 96, 60, 24,155,245,212,209,169, 83, 39,246,252,249, +243, 56,117,234, 20, 94,125,245, 85,226,248,241,227, 6,154,166,133,217,217,217,215,179,179,179,159, 74,153, 40,138,178, 17,137, + 68, 48, 26,141,224,243,249,181, 46,124,147,192,114,115,115,195,217,179,103,249, 85, 85, 85,252,194,194, 66,217,142, 29, 59,102, +196,196,196,168, 0,188,245, 52,219,114,243,230,205, 30,147, 39, 79,190,199,231,243,217, 65,131, 6,189,147,145,145,241,186, 74, +165,250,237,220,185,115, 95, 2,176, 58, 93,129,191,191,127, 12,143,199,115, 55, 26,141,194, 99,199,142, 25,105,154, 22,118,234, +212, 41,215,100, 45, 50,141,141, 20, 69,101, 38, 39, 39,119,183,132, 79,163,209, 8,191,253,246, 91,163, 86,171, 21,118,238,220, +185,150,203, 96, 48, 8,127,250,233, 39,163,209,104, 20,118,232,208, 33,198,146,153,205, 69, 69, 69, 99,102,205,154,245,199,193, +131, 7,157,120, 60, 30, 50, 50, 50, 80, 84, 84, 4, 59, 59, 59,236,217,179, 7,109,218,180, 65, 68, 68, 68, 17, 77,211,147,182, +111,223,190, 64,163,209,140,177, 32, 6,235,197,160,160, 32,143,146,146, 18,216,218,218,162,162,162, 2, 49, 49, 49,240,243,243, + 67,118,118, 54, 72,146,132,157,157, 29, 54,111,222, 92, 69, 16, 68, 81,115,248, 15,145, 36, 89, 43,132,204, 4,145, 54, 40, 40, + 8,127,254,249,231, 62, 43, 69,145,222,212,255,152,187, 6,197, 98, 49,120, 60,158,213, 46, 15,134, 97,132, 0,186,154, 6,244, +198,142,155, 1,250,201,229,114, 97,221, 55,139,139,139,133, 62, 62, 62,207, 91, 49, 62, 58, 74,165,210,106,194,126,253,144,151, +151, 71,123,122,122,142, 30, 61,122,180, 17, 0,166, 76,153, 50, 58, 63, 63, 95,107, 52, 26,121,124, 62, 31,249,249,249,104,215, +174,157,227, 63, 81,191,186, 90,228, 89, 23, 88, 4,170,221, 29,230,251, 90, 11, 86, 99,150, 43,211, 57,147, 80,106,228,143, 86, + 18, 27, 27, 43,151,203,229,181,239, 25,141, 70,116,237,218,149, 97, 24,134,168,251, 91,143, 98,193, 18,139,197,176,179,179,195, + 91,111,189, 37,203,202,202,218,121,245,234, 85,119, 75,190, 87, 29,131,245,160,184,218,186,114,201,198,175, 87, 45,115, 76, 61, +245, 61,182,111, 88, 67,203,229,138,184,128,128,128, 23, 74, 75, 75,117,118,114, 29,114, 10,113, 4,192, 94,107,250, 28, 0, 7, + 47, 94,188, 24, 63,112,224,192,139,119,239,222,181,207, 72, 73, 57,175,212, 87, 84, 40, 90,181,165,132,206, 46, 67, 53, 6, 35, +127,196,136, 17, 46, 0, 54, 88,240, 52, 2,134, 97,112,226,196, 9,216,216,216, 64,169, 84,194,206,206, 14, 38,113,213, 84,220, +185,115, 7,153,153,153,144,203,229,144,203,229, 80, 40, 20, 80, 40, 20, 16,137, 68, 15, 88, 31,173, 64, 82, 89, 89,217, 7, 71, +143, 30, 61,176, 98,197, 10, 20, 23, 23,163,178,178, 18,139, 22, 45, 66, 90, 90,218, 44, 84,199,100, 53, 27,116,238,220,153,189, +112,225, 2,206,159, 63,143,202,202, 74,108,220,184, 17, 42,149,170, 63,128,133, 79,179, 92, 12,195, 8, 77,169, 78, 72,146,252, +155, 5,203, 36,182,164, 82, 41,156,156,156, 48,111,222, 60,225,208,161, 67, 67,159,102,153, 87,173, 90,213,126,253,250,245, 59, +118,237,218,117,106,204,152, 49,135, 18, 18, 18,198,219,218,218, 94,255,253,247,223,151,137,197, 98,166, 73,157, 23,159,239, 30, + 31, 31,111, 46,242, 5, 52, 77,203,104,154, 6, 69, 81, 48, 26,141,168,170,170, 66, 72, 72,136,197,124,209,209,209, 50, 0, 88, +184,112,161, 0,128,140, 97, 24,152,243,105, 52, 26,193,128, 1, 3, 44,234, 75,212,106,117,210,229,203,151,159, 31, 61,122,244, +133, 3, 7, 14,216,123,120,120, 32, 51, 51, 19,217,217,217,240,242,242,194,134, 13, 27, 42, 89,150,237, 83, 35,170,126,178,176, +218, 45,237,237,237, 5,247,238,221, 3, 69, 81, 8, 12, 12,196,230,205,155, 49,106,212, 40,248,251,251,163,188,188, 28,137,137, +137,216,185,115,167,189, 80, 40, 28,222, 28,196,149, 73, 4,213,183, 53,241, 1, 67, 41,145, 72,202, 36, 18,137,200, 36,180,174, + 92,185, 98,181,245,202, 12,241, 86, 30, 63, 53,152,250, 96,163,241,193,106,202,229,114,120,123,123, 91,204, 35,151,203, 9,211, + 24,107, 52, 26,161, 86,171,233,132,132,132, 90,129,170, 82,169,232, 75,151, 46,209, 58,157,142,103, 99, 99, 3, 0,176,179,179, +123,210, 34,243,161, 90,228, 89,183, 96, 69,213,217,215, 90,176, 76,130,167,161, 32,119, 62,159,111,169,192, 2,143,199,195,233, +211,167,161, 80, 40, 96, 99, 99, 3, 95, 95, 95,147, 21,166, 94,171, 88, 83, 5,150, 72, 36,130,173,173, 45,206,156, 57,163,189, +122,245,234,228,166, 90,174,182,174, 92,178,241,139,207, 23, 59, 22,222,188,136,204,108, 53, 10,115, 13, 49,127, 38,164,255,138, +234, 4,163,192,205,142,145,132,223, 45,139,197,149,175,147, 52, 64,105,175,252, 41,248,165, 65,110,175,143, 13, 35,167, 79,159, +222,107,220,184,113, 69,239,188,243,206, 76,169, 84,234, 79, 81, 84,113, 68,100,100,250,200,145, 35, 29, 75, 75, 75,199,193,130, +152, 36, 30,143,167, 30, 56,112, 96, 43, 0,176,177,177,209,127,247,221,119, 34, 59, 59, 59,188,253,246,219,218,156,156, 28, 73, + 77,123, 20, 91,106,189,170, 25,108,242, 38, 77,154,228,220, 72, 27,231, 89,217,164, 93, 67, 67, 67,183, 29, 60,120, 16,133,133, +133,168,172,172,132, 80, 40,196,234,213,171,113,239,222,189,175,146,146,146, 18,154, 75,103,214,165, 75, 23,246,210,165, 75,184, +126,253, 58,116, 58, 29, 38, 79,158, 12, 0,132, 90,173, 6,128,129, 79,219, 83,144,149,149,133, 61,123,246,128,166,105,140, 25, + 51, 6,109,218,180,169, 21, 88, 57, 57, 57,248,238,187,239, 64,211, 52, 38, 77,154,132,214,173, 91,195,104, 52, 74,250,245,235, +199,127, 90, 51, 74, 63,250,232,163,212, 31,127,252,241,212,253,251,247, 7,175, 92,185,178, 31, 65, 16,204,236,217,179,191, 80, + 42,149,143, 52,251,178,184,180, 28,183, 83, 50, 64, 81, 84,189, 91, 11, 39, 7,171,249,146,211,238,129,162,232, 90, 14,154,254, +139,207,209,193, 58, 62,181, 90, 93, 85, 88, 88, 88, 57,105,210, 36,187,109,219,182, 17,222,222,222,184,123,247, 46, 4, 2, 1, +108,108,108,170,110,223,190,109,109,106,134,172,162,162, 34,111, 30,143, 39, 76, 73, 73,129,135,135, 7,122,246,236,137,229,203, +151, 35, 63, 63, 31, 20, 69,193,217,217,153, 49, 26,141,113, 6,131, 33,234,105,255,143,234, 90,174, 76, 91,141,229,138, 4,240, + 51,254, 30, 56,222,168, 21,203,220,130,213, 84,235,213, 19, 20,149, 79,108,102,162,183,183,119,164, 82,169, 54, 9, 83, 95, 0, + 0, 32, 0, 73, 68, 65, 84, 12,189,117,235,214, 3, 86,172,183,222,122,203,224,229,229,245,135,165, 60, 74,165,178, 88, 36, 18, + 57,106,181, 90, 92,188,120, 17,190,190,190,194,210,210,210, 21,168, 78,122,141,159,126,250,105, 69,110,110,174,208,205,205, 13, + 0,224,227,227,131,210,210,210,226,127,160,249,254,166, 69,254, 13, 2,171, 94,179, 92, 93, 23, 97, 67, 34,203,148,144,180, 49, + 75,139, 70,163,169,181,136,200,229,114, 48, 12,243,128, 59,178,174,192,170,103, 22,161,197,127,236,115,231,206,105,183,110,221, + 58,162, 86, 12, 89, 0,243, 24,172,111,215, 46, 91,101, 18, 87,215,206,159,197, 79,183, 74, 11,102, 47, 95,187,190,169,141,221, +209, 73,214,197,197,197,241,127,107, 87,127,161,204,186,124, 10,135,182,174,101,175, 69, 71,247,152, 22, 29, 61,124,218,180,105, + 14,168,142,183,202, 2,112, 30,213,211,205, 45, 10,248,190,124,249,114,107,211,235, 30, 61,122, 24,149, 74, 37, 20, 10, 5,242, +243,243,133, 10,133, 66, 18, 25, 25,105,117,172, 67,116,116,180,203, 99,190,215, 58,188,250,234,171, 81, 63,252,240,131,188,164, +164, 4,233,233,233,248,244,211, 79,241,205, 55,223, 64,169, 84,226,196,137, 19, 54,161,161,161,255,187,125,251,118,111, 60,229, +228,170, 1, 1, 1,108,116,116, 52,210,211,211, 65, 81, 20, 94,127,253,245, 70, 31, 30,254, 97, 11, 22, 59,107,214, 44,108,219, +182, 13, 36, 73, 98,236,216,177, 40, 43, 43,171, 61,239,224,224, 80,223, 57, 30, 26,159, 81,250,228, 58, 26, 62,159,141,140,140, + 92,217,175, 95, 63,220,191,127,127,112,183,110,221,190, 30, 63,126,124,214,163,242,218,219,218, 32,192,207, 19, 58,157, 14, 58, +157, 14, 45, 91,182, 68,121,121, 57, 82, 83, 83,161,211,233,224,226,108,103, 53, 95, 87,255,246,208,235,245,208,233,116,112,118, +118, 70,101,101, 37,238,222,189, 11,157, 78,135, 22, 45,236,173,161,107,245,242,203, 47,159,219,183,111,159,227,222,189,123,245, +195,134, 13, 19, 45, 89,178,132, 80, 42,149,200,205,205, 69, 19,195,123, 34,207,159, 63,239, 17, 18, 18,226,147,152,152,136,168, +168, 40,232,245,122,116,237,218, 21,201,201,201,232,213,171, 23,202,202,202, 46, 95,185,114,165, 89,204,114,169, 43,172, 98, 98, + 98, 14, 10,133, 66, 22, 64, 83,173, 77, 0,128,204,204, 76,113,167, 78,157,116, 98,177, 88,116,225,194,133,125,143, 96,189,122, +252, 79, 63,143, 62, 51,241,161,104,223,190,253, 44,119,119,247,144,192,192, 64, 36, 38, 38, 10,197, 98, 49,222,121,231, 29,195, + 43,175,188, 98,224,243,249, 22, 79,184,145, 72, 36, 55,109,108,108, 94,208,233,116,208,235,245,136,136,136,128,131,131,195,167, +161,161,161, 31,168,213,106,100,103,103,139,196, 98,113,173,149, 60, 56, 56, 24, 69, 69, 69, 55,255,129,230,171, 87,139, 60,235, + 2,171, 94, 49,100,110,193,106,200, 61,104,169,192, 34, 73, 18,122,189, 30, 50,153,172, 86, 96,153,103,138,111, 10,231, 67,109, +190,241,241, 23,210,210,210,190, 4,112,178, 41,223, 63,188,119,151,202,150,169,106,149,125,249, 36,110, 95,139,193,143,137, 37, + 5,179,151,175,157,241,218,136,183,115,235, 10, 50,139,158, 60, 90,200, 58,185, 56, 87,139,171,194,155, 23,145,114, 61, 6, 39, + 47,103,198,234,129,100, 0,159, 63,206,139,106,242,173, 55, 39,136,197,226, 89,166,217,130,105,105,105, 24, 51,102, 76, 73,122, +122,122,216,235,175,191,254,205,175,191,254,106,111,111,111,143, 51,103,206,216,180,106,213,106, 5,128,167,233,206, 98, 99, 99, + 99, 81, 88, 88, 61,121,179, 79,159, 62,205, 74, 92, 1, 64,108,108,172, 48, 52, 52,244, 55, 0,253,111,222,188, 9,134, 97, 46, +196,197,197,245, 49,157,111,232,156, 37,250,173,188,188, 92, 96, 99, 99, 83,239, 96, 37, 20, 10,133, 77,176, 56,212,114,254,249, +231,159, 95,124,249,229,151, 63,126,252,241,199, 41,143,200, 89,175, 5, 43, 52, 52, 20, 90,157, 17,153,185,165,160, 40, 10, 85, +250,220, 71,178, 96,133,134,134, 66,163,213,227,158,186, 8, 20, 69,161, 66,107,177,161, 68,246,210, 75, 47,253,122,224,192, 1, +215, 11, 23, 46, 64,175,215, 51, 49, 49, 49,119,167, 76,153,162,156, 56,113,162, 99,117,149,155,132, 13,111,189,245,214,136, 63, +255,252,179,200,199,199,199,225,202,149, 43,200,203,203,131,209,104, 68,255,254,253, 33, 22,139, 51, 86,172, 88, 33,132, 5,161, + 5,255,164,192,186,121,243,166, 73, 88,141,125, 92, 66,200,100,193,250, 47, 97,223,190,125, 89,223,125,247,157,159, 74,165, 90, +255,206, 59,239, 4,183,108,217,146, 20,137, 68,145,124, 62,255, 3,130, 32, 50,172,104,187,241,246,246,246,169, 60, 30,143,151, +149,149,133,148,148, 20,240,120, 60,176, 44, 43,210,104, 52,112,113,113, 1,143,199, 51, 89,199,224,238,238, 78, 39, 39, 39,143, + 7,135,199, 35,176, 76, 88,186,116, 41,182,110,221,138,247,222,123,175,193,207,213,164, 5,168, 59, 16,117,130, 89,174, 12,211, + 44,194,240,240,240, 7,190,103,114, 5,134,133,133, 61,240,229, 99,199,142,213,231, 34,124,128,243, 97, 72, 75, 75,179, 70, 1, +215,114,154, 98,176, 70,142, 25,171,222,248,197,162,235, 59,143,255,214, 89,173, 97,213,179,151,175,253,168,174,184,178,148,211, +215, 69,222, 81,229,228, 16,249,229,234, 47,108, 77,214,176, 3,113, 57,165,160,216,247,172,188, 94,141,214, 93, 32, 16,168,123, +247,238,221, 10,176,216, 45,104, 81,123, 62,106, 57,117, 58, 29, 46, 93,186, 4, 0,152, 48, 97, 66, 73,122,122,250, 11, 0,110, +164,167,167,223, 28, 52,104, 80,228,233,211,167,237,107,158,232, 11,159,102, 57,129,234, 25,173,124, 62,223, 20,211, 64, 60,238, +107,244, 56,202,169, 86,171,223,155, 58,117,234, 86,157, 78,199,175,172,172,124,207,210,115,141,149,243,240,225,195, 41,222,222, +222,253,240,240, 84, 12, 12,128,139,143,194,185,126,253,122, 0,240,121, 20,206,135, 89,176, 14, 30, 60, 8,154,166,225,238, 98, + 11,157, 78, 7,243,120, 79, 75, 56,235, 90,176, 14, 29, 58, 4,134, 97,208, 90,229, 0,157, 78,215, 80,236,225, 3,156,142,142, +142,107,119,237,218,229,126,243,230, 77,100,101,101, 97,221,186,117, 25,249,249,249,175,240,249,124,241,215, 95,127,253,191, 33, + 67,134,184, 80, 20,165,107,194,189,164, 51, 24, 12,227,123,247,238,189,123,217,178,101,119,124,125,125, 91,245,238,221,219,190, +168,168, 40, 47, 62, 62, 62,125,235,214,173, 10,138,162,198,227,225,174,167,127,236,127, 4, 0,217,217,217,199, 81,157,190,198, + 90, 97,213,104, 57,163,163,163, 15,213,112,159,180,144,251, 31,169,251, 99,152,153,216, 96, 57, 39, 76,152,144,137,191,231, 55, +179,170,156,103,207,158, 77, 31, 61,122,244,210, 78,157, 58,133, 43, 20, 10, 36, 37, 37,213,166, 69, 50, 61,160, 19, 4,129,145, + 35, 71, 98,218,180,105, 56,115,230,204,210,145, 35, 71,166,255, 3,237,249,223, 16, 88, 52, 77,223, 79, 79, 79, 87,237,218,181, +139, 71, 16, 4,246,236,217,131,186,129,181,166, 61, 0, 92,186,116,137, 98, 89, 54,181,161, 31,163,105,250,126, 76, 76,140,203, +247,223,127, 47,144, 74,165, 16,139,197,200,206,206, 6,195, 48, 76,110,110, 46,185,111,223,190, 7,130,117, 47, 94,188, 72, 25, + 12,134,123, 79,171,113,254, 72,204,248,224,244,137, 31,157,122, 61,247, 66,137,210,193,161, 94,161,114,120,189, 47, 8,191,134, +173, 88,114, 27,229, 23, 95,174,254,194,206, 36,174, 14,198,229,148,104,117,116,240,173, 2,205,181,199, 93,230, 11, 23, 46,180, +110,166,247,218,162,126,253,250, 49, 0,156, 0, 44, 64,181,229, 14, 0,110,220,189,123,247, 57,111,111,239,143, 81,189,240,245, +162,167,105,189, 98, 24,198,220,114,218,108,131, 44,227,226,226,238, 0, 24, 96,237,185,198, 48,114,228,200, 52, 60,250,114, 51, + 79,156,211,132,162,146, 50,164,222,205,170, 89,202,139, 6,157,145, 99, 22, 63,101, 68, 81,153,117,105,228,138, 75,203,145,122, + 55, 19, 12,195, 86,243,209, 89,181, 65,238, 20, 69,161,160,164,113,175, 61,159,207,239, 27, 30, 30,254, 10, 73,146,228,165, 75, +151,116,171, 87,175,190,159,159,159, 63, 20,192,189,154, 24,190, 23,143, 29, 59,182,215,130,148, 12,230,156, 4, 69, 81,166,129, + 57,209,104, 52,246,154, 51,103,206, 76, 0,125, 1,180, 6,112, 15,213,161, 5, 27,208,140, 50,142, 19, 4, 49,246, 89,228,126, + 20, 60, 43, 51, 19, 15, 30, 60,184,120,218,180,105,252,160,160,160,207,122,244,232, 65,222,189,123, 23,121,121,121,181, 15,151, + 47,191,252, 50, 60, 60, 60,152,147, 39, 79, 46, 31, 54,108,216, 98,112,120,124, 2,171,160,160,224,229,177, 99,199,158, 37, 73, +178,237,195, 22,119, 54,183, 46, 49, 12,147,158,155,155,219, 96, 18,178,130,130,130,151, 23, 45, 90,116,150,207,231,183, 53, 91, +204, 89, 87, 88, 88, 24, 54,114,228,200, 77, 2,129, 64,108,110,237, 98, 24, 38, 67,173, 86,255,163, 1,197,117,243, 96, 13, 26, +242, 70,193,163,114,202, 69,240,188,127,233, 4, 82,174,199,226, 96, 92, 78,113,185,158,126, 49,185,160,234,191,166,252,243, 0, +132, 61,228, 92, 10,128,247,154, 65, 25,137,154,152, 63,130,235, 26,154, 63, 40,138,202, 12,233,255, 34,234,166,101,168,123, 76, +211,116,166,165,124, 3,130,251, 61,148,199,244,186, 49, 62, 30,143,247,113, 80, 80, 16,239,227,143, 63,206, 61,117,234,212,111, +197,197,197, 31, 1,168, 50,179, 48, 38,161,225,100,162,245,113, 58, 81, 20,101,190, 6,162, 14,213, 43, 60,172,226,238,132,102, +137,103, 98,102,226,230,205,155, 23,206,158, 61,123,103,203,150, 45,247,244,237,219,215,199,203,203, 75,105, 99, 99,131,178,178, +178,242,162,162,162,219, 39, 78,156, 24, 51,110,220,184, 59,220,229,108,158,232,244,172,113,142, 24, 0,150, 77,244,101,217, 68, + 95,118,196, 0,176,150, 28, 55,198,217,193, 69,222,175,103,107,101,108,231,150, 54, 87,124,156,229,126,255,165,246,228, 56, 57, +206,255, 32,103,107,145, 72,244, 19,159,207,239,251, 24, 57,157, 68, 34, 81, 11,238, 26,113,156, 79,146,115,196,136, 17,188, 17, + 35, 70,240,158, 98, 57, 31, 10,150,101,123,176, 44, 59,164,102,111,122, 29, 98,122,175, 57, 10, 32, 62, 56, 60,128, 35,191,129, +168,235,242,107,236,184, 49, 36,229, 86, 70, 90,251,196,202,129, 3,135,103, 22,247,244,122,253,208,199,204, 89,160,215,235,185, +150,229,240,100,199,191, 35, 71,232,102, 92,188, 22, 4, 65,252,194,178,108, 40, 0,152, 94,155,191,215,220, 64,114,183, 20, 7, + 14, 28, 56,112,224,192,129,195,227, 5,129,135,155,249,172,137, 17,106,138,169, 48,129,227,228, 56, 57, 78,142,147,227,228, 56, + 57,206,255, 28,103, 99,220,127,251, 62,203,178, 67, 26,178, 96, 17, 4,113,226,191, 38,224, 56,159, 55,199,201,113,114,156, 28, + 39,199,201,113,114,156,143, 4,150,101,135, 84,239,216, 33,230,175,205,246,205, 14, 92, 12, 22, 7, 14, 28, 56,112,224,192,161, +185, 67, 51,119,238,220,207, 8,130,248, 5, 0,230,206,157,251, 89,115, 47, 48, 39,176, 56,112,224,192,193, 12, 42,149,234, 85, + 0,139, 81, 29, 66,177, 66,173, 86, 31,226, 90,133,195,191, 9, 78, 78, 78,114, 71, 71,199,223, 72,146,244, 0, 30, 76,185, 84, +223,250,191, 12,195,168,139,138,138, 6,230,230,230, 22,252,147,156,117,112, 97,197,138, 21, 85, 43, 86,172, 48, 5,180,231, 3, + 32,106, 92,134,249,255, 10,129, 53,231,165, 54,207,183,116,115,219, 87, 82, 88, 24,167,171, 42,159,184,226,247,236,162, 38,254, +182,163, 72, 36, 26, 45,151,203, 67, 88,150,245,228,241,120,183, 74, 75, 75, 35,140, 70,227, 1, 0, 21,220, 95,128,195,211, 70, + 64, 64, 64,103,145, 72,244, 41, 65, 16,207, 81, 20,229, 46, 16, 8,178, 1, 92,214,233,116,171,227,227,227,227,184, 22,250,215, +128, 84,169, 84, 95,217,217,217, 5,149,148,148,140, 1,240, 89, 82, 82, 82, 23,146, 36,225,231,231,247,153, 74,165, 74,181,177, +177,217, 94, 94, 94,126, 65,173, 86,127,128, 38, 46,235,195,161,121,193,211,211, 51,134, 36, 73,119,243,229,218,234, 10,130,186, +123,150,101,239,220,188,121,179,247,195, 56,221,220,220, 60,149, 74,229, 38, 0, 61,234, 19, 21,230,168,201,175,118,165,172,172, + 44, 44, 43, 43,171,222, 68,188,246,246,246, 54,206,206,206,139, 9,130, 24, 73,146,100,163,233, 19, 24,134,161, 89,150, 61,156, +151,151,183,168,184,184,184,252,161,131,175,163, 99, 68, 84, 84, 84, 15, 39, 39,167, 70,115,254, 81, 20,133,204,204,204, 22,161, +161,161, 81,185,185,185,190,255, 36,167, 57, 8,130,208,163,122,237,198,103, 6, 86, 11, 44,130,198, 59, 19, 39,143,117, 43,185, +159,228,182,235,192,233, 14,159, 13,228,191,184,252,204,189, 28,107, 56, 36, 18,201,104, 47, 47,175, 13, 27, 54,108,112,108,219, +182, 45, 33,149, 74,161, 86,171,125,175, 94,189,250, 70,120,120,248,162,204,204,204,241, 20, 69,157,125,196,186,217, 57, 40,248, +159, 22, 85, 80,243,184,174,132,131, 53, 24, 49, 98, 4,239,254,253,251,225, 74,165,242,147, 57,115,230,136,219,181,107, 7,133, + 66,129,188,188,188,214,201,201,201,173, 54,109,218,244,106,175, 94,189,190, 22, 10,133,243, 35, 35, 35, 41,174,197,158,109,168, + 84,170,175,162,162,162,222,111,217,178, 37,250,244,233,115,161,107,215,174, 74,153, 76,134, 83,167, 78,193,211,211,211,223,214, +214,246,242,150, 45, 91, 4,139, 23, 47, 14, 56,122,244, 40,212,106,245, 12,174,213,254, 5,170,154, 36,221,227,226,226,156,101, + 50, 25,104,154,174, 89, 13,128, 1,203,178,181,123,115, 49, 68,211, 52,130,131,131, 13,141,140,109,223, 92,191,126, 61,196,180, +194,137,153,144,170, 23,217,217,217, 33,193,193,193,223, 0,168, 55,161,182,179,179,243,226, 81,163, 70,205,242,247,247,175, 93, +106,142, 97,152,218,125, 65, 65, 1,166, 79,159, 94,251, 27, 12,195, 32, 42, 42,106,230,135, 31,126,136,226,226,226, 15, 27,168, +187,135,147,147, 19,209,216, 18,120,225,225,225, 8, 15, 15,199,134, 13, 27, 8, 62,159,111,215, 72,123, 62,118,206,103, 29,214, + 11, 44,176, 39, 79, 30, 57, 52, 49,180,159, 15, 49,110,104,160,247,222,227, 49, 23,231, 12,104,251,194,202,223,238,222,183, 80, + 92,205,156, 58,117,234, 23, 75,150, 44,145,220,190,125, 27,137,137,137,160, 40, 10, 10,133, 2,157, 59,119, 38, 79,158, 60,169, +154, 57,115,230,145, 63,254,248, 99,130,193, 96, 56,218,212,138,185,218,243, 86,203,165,188,183, 43, 52,236,101, 3, 77, 31,111, +142,141,223,179,103,207, 51, 70,163,113,101,124,124,252,185,103,229,134, 9, 12, 12,236, 35, 20, 10, 23,137, 68,162, 65,255, 86, +113,145,145,145,177,232,249,231,159,255, 36, 60, 60, 92,124,247,238, 93, 36, 37, 37, 65,173, 86,163,109,219,182,104,219,182, 45, +177, 97,195, 6,201,215, 95,127, 61,227,234,213,171, 36,128,217,214,244,233,174,174,174,147, 6, 12, 24, 48,220,201,201,201, 54, + 43, 43,171,244,207, 63,255,252, 73,173, 86,127,139,198,215,140,124, 40,167,147,147,211,184,208,208,208,225, 14, 14, 14, 14,106, +181,186,232,183,223,126,251, 41, 47, 47,111,251, 35, 90, 90, 84, 0,186, 0,112,172, 57, 86,183,105,211,230, 70,122,122,122,222, + 99,228,204,110,211,166, 77, 98, 83, 56,157,156,156,228,124, 62,255, 16, 65, 16, 45, 27,176, 16,100, 83, 20, 53,170,160,160,160, +178, 33, 46,165, 82,249,156, 74,165,194,229,203,151,177, 96,193, 2,135,224,224, 96, 36, 39, 39,131, 36, 73,124,242,201, 39,132, +159,159,159, 32, 39, 39, 7,221,187,119, 71, 68, 68, 68,239,154,229,110, 56, 88,134,195, 0,236, 0,188, 5,192,220, 21,228, 4, +224, 24,170, 87,120, 24,246,180, 10, 39,149, 74,177,127,255,126, 8, 4, 2, 8,133, 66, 20, 23, 23,195,205,205, 13, 66,161, 16, + 2,129,160,118, 19, 10,133,104,213,170, 85,163,124, 12,195,244,228,241,120,168,168,168, 0, 77,211,181,203, 44,149,150,150,130, +101, 89,136, 68,162,218,247, 77,231, 24,134,233,217,128,213,102,100,203,150, 45,113,224,192, 1,212,151, 7, 77,169, 84, 34, 33, +225,175, 9,119, 60, 30, 15, 1, 1, 1, 36, 65, 16, 35, 1,124,216, 0, 47, 11, 0,147, 39, 79,126, 96,121,186,186,155,105,237, + 96,150,101,205,151, 16,251,199, 56,255,213, 2,107,110,255,182, 97,254,129, 1,171, 69, 34,129,148,161,141, 96, 40, 35, 24,163, + 30, 12, 67,225, 78,134, 26,158,206, 34, 76, 24,236,229,177,251, 76,114,194,188,151,218, 7,173, 56,155,146, 84,135,162,238, 84, +203, 54,254,254,254,139,151, 45, 91, 38,249,237,183,223,112,251,246,109, 44, 95,190, 28, 0, 32,151,203,113,234,212, 41,208, 52, +141,181,107,215,218, 12, 26, 52,104, 83,118,118,118, 36,128,162, 70, 56,235,131, 71,251,118,170,161, 71,215,188, 32,246,127,227, +200,250,156, 34,250, 4,128,134, 18,168, 61,137,101,107, 26,229,164, 40,234, 37,129, 64,208,187,107,215,174,175, 90, 40,178,158, + 74, 57,205,197,149, 64, 32, 56,109, 48, 24,100, 34,145,136,223,128, 40,120,170,229,124, 20,206,128,128,128,206, 74,165,242,147, + 69,139, 22,137, 47, 93,186,132,226,226, 98,228,229,229,225,131, 15, 62,192,230,205,155,225,239,239, 15,185, 92,142, 25, 51,102, + 72,166, 79,159, 30,214,189,123,247,195, 49, 49, 49, 49, 22,148,147,236,215,175,223,254, 61,123,246,180,165, 40,138, 4, 0,163, +209,104,159,145,145, 49,118,222,188,121,253,226,226,226,222,106, 66,123,146,189,123,247,222,179,119,239, 94, 47,145, 72, 68,214, +116,214, 45,222,125,247,221,137,243,231,207, 15,142,141,141,125,187,129,251,190,161,246,236, 42,147,201, 58,134,133,133, 21, 12, + 29, 58, 52, 11, 0, 98, 99, 99,137,248,248,248, 62, 99,199,142, 77, 15, 15, 15,143,111, 2,103, 55,153, 76,230,243,254,251,239, +231,191,242,202, 43,217, 66,161,144,185,116,233, 18, 47, 33, 33,161,239,164, 73,147,210,230,207,159,127,205, 26, 78,129, 64,112, +240,232,209,163,253,220,220,220,104,160,122, 53, 5,130, 32, 88,130, 32, 88,146, 36, 89,146, 36,145,150,150,214,102,196,136, 17, +251, 0,188,214, 16,103, 73, 73,201,216,190,125,251, 70, 45, 88,176,192, 1, 0,162,162,162,192,231,243,107, 7,132,219,183,111, + 67,167,211, 97,195,134, 13,134,242,242,242, 73,255,182,123,254, 9,115,182, 2,208, 19,192,239, 0,250,215,136, 44, 39, 0,231, + 0,248, 1,248,243,105,149,147, 36, 73,208, 52, 93, 43,162,206,158, 61,139,205,155, 55,227,192,129, 3,112,115,115,123, 64, 96, + 9, 4, 2, 60,196,229,151, 80, 71,100,152,250,118,208, 52,141,232,232,104,108,223,190, 29,206,206,206,112,114,116,132, 83,139, + 22, 8, 10, 10,130,201,106, 70,211,116,125,188, 15,112, 22, 20, 20,128, 97, 44,123, 86, 98, 89, 22,101,101,101, 22,183,103, 67, + 66,200,124,179,230, 26, 61, 34,231,127, 71, 96,169, 92,157,230,143, 24,254,146, 20, 52, 5, 24, 42, 1, 67, 21, 88, 67, 21, 88, +125, 37, 8,145, 20,172, 81, 11, 57,175, 16,239, 13,112, 81, 30,185,152,123,115, 78,112,235, 33, 43,207,221, 59,221,192,147,226, +194,173, 91,183,218, 94,191,126, 29, 73, 73, 73, 88,183,110, 29,150, 44, 89, 82,251,228,240,218,107,175,225,194,133, 11,208,235, +245, 88,176, 96,129,195,156, 57,115,222, 47, 47, 47,183,122,145, 73, 87, 71,254,230, 67,187, 55, 56, 56, 72, 11, 48, 97,232, 21, +199,111, 14,165,135,149, 86, 26,191,110,142, 23, 96,206,156, 57,178, 85,171, 86,253,108,133,200,122,106,150, 43,177, 88,124,122, +225,194,133,242,133, 11, 23,210,143,137,211,159,207,231, 31, 52, 26,141, 31,199,199,199,255,218, 4,138,214, 61,122,244, 88,158, +148,148,116,186,188,188,124,111,221,147, 66,161,240,181,110,221,186,141,185,120,241,226,103, 0, 82, 45, 33, 20,139,197, 51, 63, +249,228, 19, 73,102,102, 38, 74, 74, 74, 32, 22,139, 31,232,220,196, 98, 49, 72,146,132, 72, 36,194,187,239,190, 43,217,177, 99, +199, 71, 0,222,108,244,158,116,117,157,180,123,247,238,182, 6,131,129,172,172,172,132, 80, 40,132, 80, 40, 68,231,206,157,121, +179,103,207,110, 53,107,214,172,169,185,185,185, 27,173,169,188,189,189,253,216, 61,123,246,120,137, 68, 34, 82,173, 86,163, 79, +159, 62,184,124,249, 50,130,130,130,120,179,103,207,110, 61, 99,198,140, 41,249,249,249,155,173,181, 50,201,100, 50,255,168,168, +168,251, 45, 91,254,101, 28,106,219,182, 45, 59,120,240,224,162,164,164, 36,159,216,216,216,194,110,221,186,221,183,130,211, 77, + 38,147,249,254,250,235,175,234, 37, 75,150, 12,216,188,121,243,208, 26, 11,238,241,229,203,151,255, 86, 88, 88,232,119,249,242, +229,194,160,160,160, 44, 43, 56, 29, 93, 93, 93,169,176,176, 48,155,186, 39, 22, 45, 90,132,197,139, 23, 99,231,206,157,133, 0, +156, 27,172,108, 77, 64,187,191,191,191,178,127,255,254,136,138,138,194,140, 25, 51,116, 70,163, 49, 25, 0, 66, 66, 66, 58,132, +135,135,139,226,226,226, 96,111,111, 47, 80,171,213,223,169, 84, 42, 46,240,221,114, 12, 5,240, 63, 0,254, 53, 34,107, 20,128, + 35, 0, 58, 2, 72, 2, 48,226,105, 22,206, 36,176,178,178,178,176, 99,199, 14, 44, 95,190, 28,222,222,222, 48, 24, 12,224,243, +249,181,226,138,207,231,131, 32, 8,176, 44, 75, 88,202,123,229,202, 21,236,222,189, 27, 11,230,207,135,141, 77,245,109,106, 48, + 24, 80, 84, 92, 12,137, 68, 82, 43,194, 26, 17, 76,135, 83, 82, 82,102,185,185,185,213,186, 41,205, 93,132, 0,160, 80, 40,192, + 48, 12, 40,138,130, 78,167,195,182,109,219, 40,150,101, 15, 55, 98,109,170, 21, 67, 31,126,248, 33,116,186,191,214, 7,239,210, +165, 75,181, 53,164, 77, 27, 4, 4, 4,212, 30,155, 44, 84,150,112,110,239,211, 25, 26,179, 79,251,132,175, 1, 0,184,187,187, +195,199,199, 7, 42,149,202, 34,206,127,139,192, 50, 45,112,251,192, 66,183, 57, 57,121, 43,119,110,249,110,141, 72, 64, 10, 66, +122,251,192, 94, 76,129,144, 57, 64,216,111, 46, 8, 59,143,234, 47, 22,165, 65,255,235, 92,140, 10, 40, 32,119,235,120,199,194, + 7,121,182, 8, 63,157, 86,111,112, 29, 73,146,207,181,110,221, 26, 81, 81, 81,104,219,182, 45, 22, 46, 92, 8, 95, 95, 95,200, +100, 50,228,230,230,162,178,178, 18,114,185, 28, 52, 77, 35, 48, 48,144,103, 99, 99, 19,220, 4,129, 21,248, 74,255,110, 61,249, + 74, 95,244, 25,212, 11,103, 54,245,147,239,252, 37,123, 94,105,165,241, 59,152, 45,184,218, 92,240,250,235,175, 35, 55, 55, 87, +182,103,207,158, 38,139,172,158, 61,123,158,161, 40,234, 37, 11,204,225,231,206,159, 63,223,191,169,226,106,199,142, 29,114, 59, + 59, 59, 52, 22,188,105,133,184, 58, 63,118,236, 88,229,158, 61,123,126,236,218,181,235, 27, 86,138,172,214,163, 70,141, 58,177, +125,251,118,223, 33, 67,134, 40,162,162,162,254, 38,176,252,253,253, 95, 63,115,230,204, 27,211,166, 77,243,223,187,119,239,171, +168, 94, 84,186, 49, 51,119,239,118,237,218,225,222,189,123,200,205,205,133, 78,167, 67,110,110, 46, 0, 32, 51, 51, 19,238,238, +238,176,183,183,135,187,187, 59, 58,116,232, 64,144, 36, 25,100, 73, 97,131,131,131,135, 2, 32,211,210,210,144,159,159, 15, 91, + 91, 91,200,229,114,184,185,185,161,127,255,254,124, 47, 47,175, 87,172, 21, 88,131, 7, 15, 30, 46,147,201,200,140,140, 12,164, +167,167, 67,167,211, 33, 57, 57, 25,182,182,182, 8, 9, 9, 17,120,121,121,133, 54, 65, 96,117,154, 50,101, 74,158,185,184, 50, + 65, 46,151, 19, 62, 62, 62, 69,118,118,118,221, 1, 88, 35,176, 58,205,152, 49, 35,119,197,138, 21, 47, 68, 68, 68,204, 49,189, + 25, 17, 17,241, 41, 0,108,220,184, 49,202,193,193,161, 59, 0,107, 4, 22, 88,150,101, 38, 78,156,152, 34, 18,137, 96,218, 76, +194,117,205,154, 53, 32, 73,210,214, 2,154,207,146,146,146,186, 40, 20, 10, 36, 37, 37,129,199,227,129, 32,136, 20,181, 90,221, + 5, 0,156,157,157, 83,181, 90,173,167, 86,171,197,136, 17, 35,136, 33, 67,134,116, 94,183,110,221,124, 0,205, 69, 96,245, 0, +176, 22,128, 30,192,124, 0,151,155, 89, 23,151, 11,224, 69, 51,145, 21, 15, 64, 92, 35,174, 94,172, 57,255, 84, 64, 16, 4, 24, +134, 1,159,207,199,154, 53,107, 96, 48, 24,176,119,239, 94, 28, 57,114, 4, 36, 73,130, 32, 8, 16, 4, 1,165, 82,137,175,190, +250,170,246,216, 18, 80, 20,133,239,191,255, 30,115,231,204,169, 21, 87, 53, 15,125,112,117,113,129,163,147, 19,210,210,210, 26, + 21, 88,121,121,121,139,162,163,163,209, 80,144,251,176, 97,127,121, 88,205,131,220, 45, 41, 39,143,199,131, 78,167,195, 75, 47, +253, 53,124,188,255,254,251,181,175,139,139,139, 77,255, 9, 16, 22, 86,158,199,227, 65,195, 2,175, 75,254,122,239,149,143, 63, +126,192, 34,215, 0,103,189, 90,228, 95,105,193, 18,245,205,216,120,247, 2, 25, 48, 50,180,215, 56, 7,165, 20, 76,121, 54,132, + 3,194,113,189, 72,134,245, 91,170,199,194, 89, 35, 2,209,233,165,101,208,125, 55, 16,253,219,232, 69,223,197, 73,103, 3, 88, + 88, 31,159,147,147,147, 19, 69, 81, 32, 73, 18,114,185, 28, 14, 14, 14,144, 74,165, 40, 40, 40,192,204,153, 51,113,250,244,105, +232,245,122, 8,133, 66,180,107,215, 14, 6,131,193,211,106,235,149, 61,127,251,186, 53,203,237, 10,211,246, 33,246,118, 9,100, +182,238,152, 63,165,187,125,248,166,152, 69,249,197, 85,159, 54,199,139,224,231,231,135, 15, 62,248, 64,246,245,215, 95, 55, 73, +100, 81, 20,181,148,207,231,247,249,248,227,143,165, 35, 70,252,253,129, 48, 49, 49, 17, 83,167, 78,213, 84, 85, 85,125,222, 20, +113, 37, 18,137, 78,111,223,190, 93,110,107,107,139,123,247,238, 61, 54,113,181, 97,195, 6,165,167,167, 39, 4, 2,129,228,251, +239,191,183, 70,100,117, 24, 54,108,216,201,237,219,183,123, 76,153, 50, 37, 51, 42, 42, 42, 29,213,211,234, 31, 64, 92, 92, 92, +241,184,113,227, 50,118,238,220,233,197, 48,204,175,251,247,239, 15, 5,112,179,145,182,108, 45,147,201, 80, 80, 80,128, 89,179, +102, 61, 16,160,106,114,103, 3, 64, 82, 82, 18,220,221,221,161,213,106,221, 44,169,179,131,131,131, 61,203,178,152, 60,121, 50, +238,223,255, 75,155,184,185,185,225,254,253,251,160, 40,202,193,218,118,180,183,183,119, 48, 26,141,232,215,175, 31,180, 90, 45, + 0, 96,212,168, 81, 16, 8, 4,200,203,203,131,193, 96,112,108,194,229,113, 26, 50,100, 72,246,195, 78,202,229,114,163,189,189, +125, 27, 43, 57, 29, 67, 67, 67,179,182,110,221, 90,215, 85,135,232,232,232,215,108,109,109, 35, 28, 28, 28,124,154, 80, 86, 70, + 44, 22, 67, 44, 22, 67, 32, 16, 64, 36, 18, 65, 44, 22, 67, 36, 18, 65, 32, 16,128,199,227, 89,228, 87, 97, 24, 6, 39, 78,156, + 0, 73,146, 15,184, 46, 22, 44, 88,240,158, 76, 38,115,137,140,140,172,125, 0,172,168,168, 64,251,246,237,219,181,107,215,238, +106, 78, 78, 78,250,205,155, 55,223,120,202,221,199,106, 0,166, 89,109,155, 1, 4, 52,195, 46, 46, 23,192, 72, 0, 49, 53,226, + 74, 15, 96,248,211, 20, 87,230,215,158,207,231,215,254,207, 37, 18, 9, 2, 3, 3,107,197, 20, 65, 16,168,170,170,170,117, 17, + 90,106,193, 42, 45, 45,133, 74,165,130,141,141, 13,218,123,123, 35, 37, 57, 25, 0,106, 95,139, 68,162, 90, 33,214, 16,138,139, +139,203,107,130,213, 63,124,204,226,146, 5, 0, 62,191,225, 48,108,149, 74, 5,134, 97, 76,194,146,125, 28,156, 78, 78, 78,168, +168,168,176,136,243,223, 34,176,254,166, 24,195,195, 65,234, 46,180,221, 49,242,149,158,227, 58,186,203,161, 43, 72,131, 72,225, + 8,194,174, 13,214,111,249, 21, 55,211,171, 67,163,214, 31,137,195,206,121, 47,131,144, 57, 64,165,185, 13, 27,137,248,141,135, + 9,172,194,194,194, 10,131,193,224, 32,149, 74,193,231,243, 33, 20, 10, 81, 80, 80,128,255,251,191,255,195,161, 67,135,208,166, + 77, 27, 80, 20, 5,145, 72,132,252,252,124, 8,133, 66,171,102, 39,242,120, 24, 18, 54,238,165,182,114, 71,111, 20,198, 45,169, +126, 83, 25,136, 41,163,120,162, 47,119,223, 24,155, 95, 92,245, 37,170,131, 42,155, 21, 20, 10, 5, 2, 2, 2,240,246,219,111, +203,246,238,221,187, 11,128,187, 53,223,143,139,139,251, 51, 48, 48,112,224,218,181,107,207,168,213,106,105,215,174, 93,161, 80, + 40,160, 80, 40,144,150,150,134, 37, 75,150,104,117, 58, 93,104, 83,172, 99,124, 62,255,251,137, 19, 39,202,149, 74, 37,210,210, +210,224,224,224,240, 72,117, 13, 12, 12,244, 23, 8, 4,231, 55,108,216,160,244,242,242,194,173, 91,183,208,173, 91, 55,184,186, +186, 74, 86,172, 88, 97,169,200,250,102,223,190,125,109, 68, 34, 17,177,127,255,254,214,251,247,239,159,217,216,239,238,222,189, +187,205,254,253,251, 55, 0, 8, 65, 3,193,223, 66,161, 48, 51, 63, 63,223,171, 85,171, 86,216,177, 99, 7, 72,146, 68,118,118, + 54,230,207,159,143, 21, 43, 86, 32, 40, 40, 8, 54, 54, 54,104,213,170, 21, 82, 82, 82, 32,145, 72, 44,138,120,206,202,202, 42, + 2,224,124,250,244,105,228,231,255,149,178,197,195,195, 3, 69, 69, 69,208,233,116,133,214,182,101, 86, 86, 86, 33, 0,151,171, + 87,175, 34, 61, 61, 29,131, 6, 13,194,177, 99,199,208,189,123,119,208, 52, 13,163,209, 88,216,132, 75, 68,243,120, 60,182,129, + 78,148, 0, 96,111, 37, 39,213, 16,103, 77,191, 99, 45, 39, 88,150,101, 31, 38,174, 68, 34, 17, 26,249,205, 90,221,236,235,235, +187,184, 93,187,118, 29,231,207,159, 47,224,243,249,232,219,183,111,135,225,195,135,103,144, 36,233, 56,119,238, 92, 89,125,198, + 96, 0, 93, 58,118,236, 40,111, 6,221,135,185,149,174,185, 78, 58,113,174,177,248,137, 0, 24,106,246, 7,240, 87, 76,214, 83, +181, 96, 9,133, 66,132,135,135, 99,218,180,105,112,113,113,193,156, 57,115,192,231,243,107, 55,147, 85,198,100,213,178,240,222, +132,139,179,115,195,127,180,154, 32,247, 70, 30,162,158, 72,154, 6,147, 24,178, 36, 22,202,204,218,100,145,104,123, 68,206,127, +141,245,202, 92, 96, 61, 96,150,171, 21, 87,131,186,141,243,117,151, 34, 62, 46, 1,157, 92,141, 96, 5,130, 6,238, 22, 35, 8, +161, 28,118, 82,190,123, 3, 23, 32, 46, 61, 61,221,195,206,206, 14, 6,131, 1, 34,145, 8,157, 58,117,194,197,139, 23,161,211, +233,160,215,235, 33, 22,139, 33, 20, 10,113,227,198, 13, 24, 12,134, 40,107,244,149,147,146,183,225,211,207,150,216, 32,107, 7, +236,108, 68, 8,126,206, 11,144,119, 4,175,242, 54,214, 46, 8,117,120,111,254,177,245,185, 5,101,111, 54,183,139,160, 80, 40, +144,145,145,129,253,251,247, 87,233,116,186,177, 77,225, 48,137,172, 67,135, 14,157,177,179,179,147, 6, 5, 5, 33, 57, 57, 25, +159,127,254,185, 86,167,211, 13,105,106,124, 23, 69, 81,227,183,109,219,118,154,162, 40,185, 73, 92, 60,170,229,106,230,204,153, + 54,237,219,183, 71,106,106, 42,108,109,109, 97, 99, 99,131,182,109,219, 66,165, 82, 73,102,206,156,105,137,200,154,254,246,219, +111,159,220,185,115,167,199,148, 41, 83, 50, 15, 28, 56,112, 28, 64,105,125, 77, 59,108,216,176,215,118,238,220,233,241,222,123, +239,221, 3, 48, 19,141,204,172, 99, 24,230, 66,106,106,170,167,175,175, 47,209,161, 67, 7,136, 68, 34,184,185, 85, 27,169,186, +116,233, 2, 95, 95, 95, 8,133, 66, 0, 64,106,106, 42, 96, 97, 94,150, 63,254,248,227,167,164,164,164, 73,221,187,119,231,185, +186,186, 62, 48, 59,105,197,138, 21,134,140,140, 12,171,215,209,250,253,247,223,143, 37, 36, 36, 76,238,219,183, 47,223,222,222, + 30, 98,177, 24,157, 58,117,130, 74,165,194,231,159,127,110,184,123,247,110, 83,214,230,186,119,245,234, 85,137,183,183, 55,253, +144,123,213,166, 9,150,135,204,216,216, 88,225,115,207, 61,119,252,212,169, 83,254,230, 39,122,246,236,121, 92,161, 80,216, 2, +104,202,212, 60,198,220, 53,104,238, 42, 20,137, 68,224,243,249,141, 90,176,212,106,245,207, 46, 46, 46,119, 92, 92, 92,254,236, +221,187,183,109, 76, 76, 12, 22, 46, 92, 40,212,233,116,173, 35, 34, 34,106, 7,226,250, 6,208,202,202, 74, 73, 51,232, 62,102, + 1, 88, 7, 64, 6, 96, 78, 51, 28, 99, 92, 80, 29,208,238,131,106,183,224,168, 26,177,101,138,201,122,170, 34,139, 97, 24, 8, + 4, 2,248,248,248,224,195, 15, 63,196,202,149, 43, 17, 22, 22,134,246,237,219,215, 94,123, 83, 12, 86,205,140, 55,139, 6,126, +161, 80, 8, 23, 87, 87, 24,141,198, 90,235, 21, 0,164, 36, 39,131,207,231,131, 97, 24,232,116,186, 70, 93,132,206,206,206,139, + 87,173, 90, 53,115,240,224,193,164,249,140, 59,150,101,107,211, 73,152,111, 70,163, 17, 63,255,252,243,204, 21, 43, 86, 52,152, +166,193, 92,232,116,233,210,229, 1,183,224,198,141, 27,205,251,108,132,132,132, 88, 53,219,143,199,227,193, 39,124,205, 3,110, +193,147, 45,254,106,182, 86,239, 78, 65,251,207, 55, 60,140,243, 95,229, 34,172,183,134,134,139, 30,203, 70,188, 28, 48,206,215, + 77,140,171,113, 55,240, 75,180,250,118, 65, 65, 9,152,220, 4, 48,249,183, 48,107, 68, 32, 58,182,113, 64,199, 54, 14,152, 53, + 34, 16, 76,222, 13,176,197,105, 96, 37,246,200,171, 36, 30,234, 94, 40, 42, 42, 90,189,116,233,210, 98,123,123,123, 72, 36, 18, +136, 68, 34,100,102,102,194,207,207,175,246,184,230,201, 19, 11, 23, 46,204,207,207,207,223, 98,105, 69,228, 82,114,202,202,249, +111,186, 8,197, 54, 64, 81, 20,148, 74, 5,118,108, 89, 3,232,178, 1, 82,132, 87, 67, 2,120, 42, 23,187,254, 0, 58, 52,183, +139,112,239,222, 61,132,135,135, 87,105, 52,154, 71, 10,116,143,139,139,251,211, 96, 48, 12,220,178,101,139,230,151, 95,126,121, +100,113,101,226, 52, 26,141,131,118,237,218, 85,121,239,222, 61, 40, 20,138, 38,215, 83, 40, 20,206,165, 40, 74,185,110,221, 58, +230,165,151, 94,162,167, 79,159, 78,143, 31, 63,158, 30, 54,108, 24, 29, 18, 18, 66, 79,157, 58,149,214,233,116, 98,153, 76,182, +170, 17,170,164,163, 71,143, 6, 79,154, 52,233,214,183,223,126,235,254,194, 11, 47,180, 1,176,168,238, 22, 24, 24,104,191,115, +231, 78,143,105,211,166,165,238,223,191,255,101, 52,226, 30, 4, 0,157, 78,183,113,243,230,205, 90,146, 36,161, 80, 40, 32, 18, +137,208,162, 69,139, 90, 33,108, 26,200, 13, 6, 3, 54,109,218,164,209,104, 52,235, 45,169,123, 97, 97,225,142,217,179,103,223, + 61,115,230,140,209, 52,203, 39, 59, 59, 27,159,127,254,185, 97,203,150, 45, 89, 37, 37, 37,223, 90,219,158,101,101,101,223,127, +250,233,167,233, 39, 78,156, 48,146, 36,137,226,226, 98,216,217,217,225,243,207, 63, 55,124,251,237,183, 89,229,229,229, 86,115, +246,234,213, 43, 53, 43, 43,203, 70,167,211,253,205,250, 35, 16, 8, 8,137, 68, 98,154, 17,102, 49,186,119,239,158,154,158,158, +174, 92,182,108, 89,100, 72, 72,200, 74, 27, 27,155,100, 27, 27,155,228,144,144,144, 85,155, 54,109, 58, 87,195, 25, 97,117,231, + 69,146,181, 2,203,228, 42, 52, 89,177,106, 44, 89, 22,185, 8,125,125,125,247,237,222,189,219, 54, 57, 57, 25,101,101,101,136, +143,143, 71, 92, 92, 92,173, 43,215, 52,152,153,111, 0, 80, 85, 85, 37,109, 6,221,199,255, 80,157,250,194,171, 70,200, 52, 55, + 28, 49, 19, 87, 47,162,122,230,217,139, 53,199,254, 0,126,122,154, 22, 44,150,101,107, 31,118,222,124,243, 77, 68, 68, 68,160, +125,251,246,181,162,202,124, 22,161, 53, 34,131,166,105,116,234,212, 9, 58,189,254, 1,129,206,231,243,209,162, 69, 11,164,166, +166,130,162,168, 70, 45, 88, 4, 65,140, 28, 60,120, 48,153,152,152, 8, 95, 95, 95,196,197,197, 33, 46, 46, 14,241,241,241,184, +122,245, 42,174, 95,191,142, 27, 55,110,224,230,205,155,232,214,173, 27, 50, 50, 50,240,242,203, 47,155,210, 52, 52,104,100,179, +198,218,100,161,245,238, 73,112,254, 43, 44, 88,132,249,222,197, 94, 62,190,163,138,143,171, 87,111,226,120,108,209, 78,130, 32, +143,198,221,213,253,242,114,187,114, 24, 14,189,133, 78, 35,247, 96,231,188,151,171,159, 0,242,110,192,112,248, 29, 16, 50, 39, +164,148,201,161,209,151, 52,244,212, 28, 29, 19, 19,115,112,247,238,221, 19,199,141, 27, 39, 98, 24, 6, 82,169, 20, 31,125,244, + 81,109,142, 16, 30,143,135,176,176,176,138,188,188,188,117,176,112,230, 23, 0,169,173, 92,176, 96,204,228,133, 18,220,223, 10, +144, 66, 20,160, 43,186,188, 79, 84, 69,169, 0, 0, 6,157, 73, 68, 65, 84, 48, 17,121,233, 23,129,202,155, 0, 33,196,150, 47, + 38, 57,189, 54,254,203,111,115,242, 75,158,111, 46, 23,224,214,173, 91, 88,180,104,209, 35,139,171,186,150,172,227,199,143,239, +210,233,116,147, 31, 35,231,160,149, 43, 87,158,118,118,118,110,178, 91,196,205,205,237,221,130,130,130,137,150, 24,206, 44,209, +165,135, 14, 29, 26,146,158,158,190, 60, 41, 41,169,222,153,171, 55,110,220, 56, 54,112,224, 64,153, 53,179, 8,227,227,227,227, +130,130,130, 54,175, 91,183, 46,236,131, 15, 62,144, 72,165, 82, 40,149, 74, 36, 37, 37,161,117,235,214, 0, 0,141, 70,131,121, +243,230,105,140, 70,227,206,152,152,152,139,150, 62, 44, 39, 36, 36,140,153, 58,117,234,164, 14, 29, 58,188,198, 48,140,163, 94, +175, 47,204,200,200, 56, 81, 35,132,154,226,222, 97, 18, 19, 19,223,158, 54,109,218, 56,111,111,239,225, 6,131,193,145,162,168, +194,251,247,239, 31, 47, 43, 43,219,209, 20,206,139, 23, 47,230,143, 31, 63, 62, 45, 39, 39,199, 79,165, 82,149,218,218,218,234, +245,122, 61, 79,161, 80,216,136, 68,162,110, 0, 46, 18, 4,113,211, 26,206,152,152,152,220, 9, 19, 38,164,235,116,186, 14,219, +182,109,139,146,203,229,191, 17, 4, 65, 8,133, 66,123,185, 92, 30, 12, 32,146, 32,136, 20,107,203, 74,146, 36, 99, 46,168,204, +173, 88, 66,161, 16, 4, 65, 88, 36,176, 82, 83, 83,255, 92,186,116,105,231,118,237,218, 97,203,150, 45, 69, 10,133,194,102,248, +240,225,252,210,210, 82,162, 33, 11,150, 70,163,145,128, 67,163,207, 22, 53, 86,222,161,102,150, 79, 83,224,251, 17, 0, 37, 79, +179,112, 44,203, 62, 32,164, 90,183,110,253,128,168, 50, 63,103,141,192,162, 40, 10, 66,161, 16,124, 62, 31,174, 42, 85,173,152, + 99, 89, 22,201, 41, 41, 40, 46, 46,174, 77,211,208,200, 61,206, 35, 8, 2,163, 71,143,182,232,119,223,124,243, 77, 68, 70, 70, +162, 49,119,162,249,140,191, 54,109,218, 52, 42,134,106,202, 98,241, 44, 66,119,119,247,166,114, 18,117,246,255, 10,129,245, 0, +178,139,170,150,109,255, 49,126, 94,118, 25,117, 84,220, 59,227,195,240,112,176,243, 6,180, 57,227, 46, 23, 13,236, 72,102, 65, +247,109, 95, 16,202,234,193,134,173,200, 6, 33,119, 69,177,160, 53,126,142,203,201, 33, 5,188, 6,173, 15, 37, 37, 37,179,190, +250,234, 43,222,233,211,167, 71, 46, 95,190,220,206,199,199, 7, 99,198,140,129, 94,175,199,245,235,215, 49,117,234,212,162,252, +252,252,173, 37, 37, 37, 43, 45,173,132,147,146,255,127,235, 63, 27,232, 72, 50, 21, 64, 89, 44,192,183,133,147,131, 13,174,197, + 68, 1,165, 49, 0, 41, 4, 72, 17,186,119,245, 69, 23,127, 47,223,156,223,175,244, 5,112,190, 57, 92,128,247,222,123,239,177, +137, 43,115, 65, 4,160,221,227, 44,167, 73,100,125,252,241,199,167, 25,134,145, 53,233, 81,246,200, 17, 26, 13,231, 35,179,218, +248,119,229,202,149,183, 31,118,210, 96, 48, 28,191,120,241,162,213, 73,102,141, 70,227,188,196,196, 68,188,255,254,251,211,222, +121,231, 29,169,143,143, 15, 60, 60, 60,144,156,156,140,164,164, 36,108,222,188, 89,203, 48,204,142,146,146,146, 79,172,164,166, +203,202,202,182, 70, 71, 71,111,125,140,109,192,148,150,150,126, 23, 29, 29,253,221,227, 34,156, 60,121,114, 66,114,114,114,145, +155,155, 91, 16,143,199,235,140,234, 68,145,106, 0,223, 53, 69, 8, 1,192,180,105,211,174,166,166,166, 22,184,186,186, 6, 9, +133, 66,175, 26,206, 44, 0, 59,154,200, 89,120,237,218, 53,175,158, 61,123, 50, 60, 30,143, 21, 8, 4,108,205, 96,200,242,249, +124,150, 32, 8,246,215, 95,127,149,192,130,152,203,204,204,204,153, 59,119,238,100, 21, 10, 69, 80, 69, 69,197, 24, 0,187, 52, + 26, 77,207,146,146,146,218, 65,184, 62,104,181, 90, 49,167,159, 26,197,235, 15,121, 63, 23, 64,223,230, 80,192,165, 75,151, 98, +235,214,173,104, 44, 3,249,241,227,199, 27, 29,248, 77,247,138, 41,190, 74,175,215, 35, 49, 49, 17, 4, 65,212, 30,155, 39, 25, +165,105,186,193, 76,239, 12,195,208,122,189, 30, 7, 15, 30,180, 72,100,237,223,191, 31, 90,173, 22, 12,195, 88,212,207,214, 36, + 38, 69,113,113,113,109,234,132,192,192, 64,243, 62,212,234,246,228,241,120,240,241,241, 65, 65, 65, 1,156,156,156, 0, 84,187, + 5,107,197,103,101,229,127,230,230,183, 88, 37,134,247,243,176,213,242,201, 31, 3,220,152, 23,187,123,136,225,100, 39, 1, 79, + 32, 70,153,150, 64, 98,182, 22,231,111,150,221,167, 41, 54,116,249,239,233,150, 38,136,123, 78,165, 82,125, 70,211,180, 63, 73, +146, 50,150,101, 43,120, 60, 94,124,118,118,246, 98, 0, 55,172,169,132,173,130, 76,177,151,243,108, 5, 34, 17, 75, 83, 12, 0, + 18, 32, 73,128, 32, 1,240,106,246,213,199, 26,141, 65, 72, 51,196,209,188,130,194, 73, 79,187,241,159,127,254,249, 51,149,149, +149,207, 92, 38,119,169, 84,186,136,199,227, 13,250,183, 47, 19,211,189,123,247,238, 82,169,244, 51,134, 97,122,104,181, 90, 87, +169, 84,154, 75, 16, 68, 76,121,121,249, 23, 87,175, 94,189,196,141,157, 79, 15,143, 51,147,123, 93,152,114, 99, 57, 57, 57,121, + 95,187,118, 77, 98,110,193, 50, 31, 12,107,222, 39,184,171,241,108,194,215,215,247,242,190,125,251,186,183,110,221,154, 52, 5, + 92,147, 36, 89,187,153,220, 88, 38,107,203,165, 75,151,168,233,211,167, 95,188,118,237,218, 11, 15,227,244,242,242, 58, 19, 17, + 17,241,146,185,133,202, 36,164,234,190,166,105, 26, 85, 85, 85, 88,180,104,209,217,212,212,212,122,151,202,241,241,241, 89,183, + 96,193,130,153,175,188,242, 10, 73,146,228,223, 98,174,234,198, 97, 25, 12, 6, 28, 61,122,148,249,254,251,239, 55,220,190,125, +251,161, 49, 88, 1, 1, 1,247,227,227,227,221, 77, 41, 19,234,110,117,103,212, 2,192,115,207, 61,167,142,142,142,110,249, 79, +114,254,103, 4,150,233,243,115,250,123,140, 34, 64,142, 36, 9,166, 19, 8, 66,196,176, 72, 34,128, 51, 34,137,126, 83,248, 47, +106, 77,157,207,119,194,227,207,200,203,113,114,156, 79,131,147,132,101, 75,207,112,237,249, 47,225,244,242,242, 74, 73, 73, 73, +241,122,104,103,248,160,192,226,218,243, 25,227,116,114,114,146,183,104,209,226, 55,146, 36, 61, 30,182,184,179,185,184,102, 24, + 38, 61, 55, 55,119, 64, 94, 94, 94,213,195, 56,221,220,220, 60, 37, 18,201, 55, 12,195,244,180,100,177,103,146, 36,163,181, 90, +237,244, 58,139, 61,215,114, 62,198, 89,132, 15,148,211,207,207, 47, 53, 58, 58,218, 83, 42,149, 62, 16, 87, 88,183,206, 38,220, +189,123, 23,195,135, 15,207,184,118,237, 90,155, 39,204,249,175,130,181,107, 17,178, 43,127,207, 56, 8,224, 32,247,252,195,225, + 63, 6,134,107,130,255, 22, 52, 26, 77,113,139, 22, 45, 42,180, 90,173, 64,167,211, 9, 40,138,122, 96,128,147, 74,165,249, 26, +141,134,107,168,103, 20, 5, 5, 5,149, 5, 5, 5, 65,143,147,179, 70, 40, 13,124, 92,124, 79, 42, 15, 86,113,113,113,104,143, + 30, 61,126,229,243,249,226,186,226,167, 62, 49, 68,211,180,182,176,176,112,208, 63,205,249, 95, 19, 88, 28, 56,112,224,240,159, + 64,118,118,118, 80, 35, 2,140,107, 36, 14,207, 36,212,106,117,146, 90,173,246,104,238,156,207, 58, 72,174, 9, 56,112,224,192, 129, 3, 7, 14, 28, 56,129,197,129, 3, 7, 14, 28, 56,112,224,192, 9, 44, 14, 28, 56,112,224,192,129, 3, 7, 78, 96,113,224, -192,129, 3, 7, 14, 28, 56,112,104, 48,254, 31,162, 69, 35,218,144, 32, 45,122, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130, +192,129, 3, 7, 14, 28, 56,112,104, 50,254, 31, 88,120,209,239, 80, 73, 49,190, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130, 0}; diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index cc18c81fe51..854b5390e8c 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -118,6 +118,7 @@ typedef enum eAnim_ChannelType { ANIMTYPE_FILLACTD, ANIMTYPE_FILLDRIVERS, ANIMTYPE_FILLMATD, + ANIMTYPE_FILLPARTD, ANIMTYPE_DSMAT, ANIMTYPE_DSLAM, @@ -125,6 +126,7 @@ typedef enum eAnim_ChannelType { ANIMTYPE_DSCUR, ANIMTYPE_DSSKEY, ANIMTYPE_DSWOR, + ANIMTYPE_DSPART, ANIMTYPE_SHAPEKEY, // XXX probably can become depreceated??? @@ -181,12 +183,14 @@ typedef enum eAnimFilter_Flags { #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 & KEYBLOCK_DS_EXPAND)) #define FILTER_MAT_OBJD(ma) ((ma->flag & MA_DS_EXPAND)) #define FILTER_LAM_OBJD(la) ((la->flag & LA_DS_EXPAND)) #define FILTER_CAM_OBJD(ca) ((ca->flag & CAM_DS_EXPAND)) #define FILTER_CUR_OBJD(cu) ((cu->flag & CU_DS_EXPAND)) +#define FILTER_PART_OBJD(part) ((part->flag & PART_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) @@ -343,6 +347,12 @@ void ANIM_nla_mapping_draw(struct gla2DDrawInfo *di, struct AnimData *adt, short /* Apply/Unapply NLA mapping to all keyframes in the nominated F-Curve */ void ANIM_nla_mapping_apply_fcurve(struct AnimData *adt, struct FCurve *fcu, short restore, short only_keys); +/* ..... */ + +/* Perform auto-blending/extend refreshes after some operations */ +// NOTE: defined in space_nla/nla_edit.c, not in animation/ +void ED_nla_postop_refresh(bAnimContext *ac); + /* ------------- Utility macros ----------------------- */ /* checks if the given BezTriple is selected */ diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 8c19f2c3ecf..31b0f712b97 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -99,6 +99,8 @@ void ED_armature_from_edit(struct Scene *scene, struct Object *obedit); void ED_armature_to_edit(struct Object *ob); void ED_armature_edit_free(struct Object *ob); void ED_armature_edit_remake(struct Object *obedit); +void ED_armature_deselectall(struct Object *obedit, int toggle, int doundo); + int ED_do_pose_selectbuffer(struct Scene *scene, struct Base *base, unsigned int *buffer, short hits, short extend); void mouse_armature(struct bContext *C, short mval[2], int extend); @@ -112,9 +114,14 @@ void add_primitive_bone(struct Scene *scene, struct View3D *v3d, struct RegionVi void transform_armature_mirror_update(struct Object *obedit); void clear_armature(struct Scene *scene, struct Object *ob, char mode); -void create_vgroups_from_armature(struct Scene *scene, struct Object *ob, struct Object *par); void docenter_armature (struct Scene *scene, struct View3D *v3d, struct Object *ob, int centermode); +#define ARM_GROUPS_NAME 1 +#define ARM_GROUPS_ENVELOPE 2 +#define ARM_GROUPS_AUTO 3 + +void create_vgroups_from_armature(struct Scene *scene, struct Object *ob, struct Object *par, int mode); + void auto_align_armature(struct Scene *scene, struct View3D *v3d, short mode); void unique_editbone_name(struct ListBase *ebones, char *name, EditBone *bone); /* if bone is already in list, pass it as param to ignore it */ void ED_armature_bone_rename(struct bArmature *arm, char *oldnamep, char *newnamep); @@ -126,6 +133,7 @@ void ED_armature_exit_posemode(struct bContext *C, struct Base *base); void ED_armature_enter_posemode(struct bContext *C, struct Base *base); int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan); void ED_pose_deselectall(struct Object *ob, int test, int doundo); +void ED_pose_recalculate_paths(struct bContext *C, struct Scene *scene, struct Object *ob); /* sketch */ diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h index 3b3d0157362..64672e3502b 100644 --- a/source/blender/editors/include/ED_keyframing.h +++ b/source/blender/editors/include/ED_keyframing.h @@ -110,8 +110,7 @@ void ANIM_OT_delete_keyframe(struct wmOperatorType *ot); * required for each space. */ void ANIM_OT_insert_keyframe_menu(struct wmOperatorType *ot); -void ANIM_OT_delete_keyframe_menu(struct wmOperatorType *ot); // xxx unimplemented yet -void ANIM_OT_delete_keyframe_old(struct wmOperatorType *ot); // xxx rename and keep? +void ANIM_OT_delete_keyframe_v3d(struct wmOperatorType *ot); /* Keyframe managment operators for UI buttons. */ void ANIM_OT_insert_keyframe_button(struct wmOperatorType *ot); diff --git a/source/blender/editors/include/ED_physics.h b/source/blender/editors/include/ED_physics.h index b04bfb992dc..6ab804230d0 100644 --- a/source/blender/editors/include/ED_physics.h +++ b/source/blender/editors/include/ED_physics.h @@ -32,6 +32,7 @@ /* operators */ +void ED_operatortypes_boids(void); void ED_operatortypes_pointcache(void); void ED_operatortypes_fluid(void); //void ED_keymap_pointcache(struct wmWindowManager *wm); diff --git a/source/blender/editors/include/ED_previewrender.h b/source/blender/editors/include/ED_previewrender.h index 10067510e53..0e50ea896d6 100644 --- a/source/blender/editors/include/ED_previewrender.h +++ b/source/blender/editors/include/ED_previewrender.h @@ -70,9 +70,9 @@ pr_method: void ED_preview_init_dbase(void); void ED_preview_free_dbase(void); -void ED_preview_shader_job(const struct bContext *C, void *owner, struct ID *id, int sizex, int sizey); +void ED_preview_shader_job(const struct bContext *C, void *owner, struct ID *id, struct ID *parent, int sizex, int sizey); void ED_preview_iconrender(struct Scene *scene, struct ID *id, int *rect, int sizex, int sizey); -void ED_preview_draw(const struct bContext *C, void *idp, rcti *rect); +void ED_preview_draw(const struct bContext *C, void *idp, void *parentp, rcti *rect); #endif diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index 6036a4c9e0f..a2e8f3a4ec1 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -62,6 +62,7 @@ void ED_region_header(const struct bContext *C, struct ARegion *ar); /* spaces */ void ED_spacetypes_init(void); void ED_spacetypes_keymap(struct wmWindowManager *wm); +int ED_area_header_switchbutton(const struct bContext *C, struct uiBlock *block, int yco); int ED_area_header_standardbuttons(const struct bContext *C, struct uiBlock *block, int yco); void ED_area_overdraw(struct bContext *C); void ED_area_overdraw_flush(struct bContext *C, struct ScrArea *sa, struct ARegion *ar); @@ -86,6 +87,7 @@ void ED_screen_draw(struct wmWindow *win); void ED_screen_refresh(struct wmWindowManager *wm, struct wmWindow *win); void ED_screen_do_listen(struct wmWindow *win, struct wmNotifier *note); bScreen *ED_screen_duplicate(struct wmWindow *win, struct bScreen *sc); +bScreen *ED_screen_add(struct wmWindow *win, struct Scene *scene, char *name); void ED_screen_set(struct bContext *C, struct bScreen *sc); void ED_screen_set_scene(struct bContext *C, struct Scene *scene); void ED_screen_set_subwinactive(struct wmWindow *win, struct wmEvent *event); @@ -94,6 +96,8 @@ void ED_screen_animation_timer(struct bContext *C, int redraws, int enable); int ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type); void ED_screen_full_prevspace(struct bContext *C); +void ED_screen_new_window(struct bContext *C, struct rcti *position, int type); + /* anim */ void ED_update_for_newframe(const struct bContext *C, int mute); unsigned int ED_screen_view3d_layers(struct bScreen *screen); @@ -142,5 +146,6 @@ int ED_operator_posemode(struct bContext *C); #define ED_KEYMAP_ANIMATION 8 #define ED_KEYMAP_FRAMES 16 + #endif /* ED_SCREEN_H */ diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index f9e427ac006..b43b50dcfd7 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -158,9 +158,9 @@ DEF_ICON(ICON_NLA) DEF_ICON(ICON_SCRIPTWIN) DEF_ICON(ICON_TIME) DEF_ICON(ICON_NODE) -DEF_ICON(ICON_BLANK053) -DEF_ICON(ICON_BLANK054) -DEF_ICON(ICON_BLANK055) +DEF_ICON(ICON_LOGIC) +DEF_ICON(ICON_CONSOLE) +DEF_ICON(ICON_PREFERENCES) DEF_ICON(ICON_BLANK056) DEF_ICON(ICON_BLANK057) DEF_ICON(ICON_BLANK058) @@ -570,7 +570,7 @@ DEF_ICON(ICON_PAUSE) DEF_ICON(ICON_PREV_KEYFRAME) DEF_ICON(ICON_NEXT_KEYFRAME) DEF_ICON(ICON_PLAY_AUDIO) -DEF_ICON(ICON_BLANK178) +DEF_ICON(ICON_PLAY_REVERSE) DEF_ICON(ICON_BLANK179) DEF_ICON(ICON_BLANK180) DEF_ICON(ICON_PMARKER_ACT) diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 66089272737..8dc766499bc 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -30,6 +30,8 @@ #ifndef UI_INTERFACE_H #define UI_INTERFACE_H +#include "RNA_types.h" + /* Struct Declarations */ struct ID; @@ -57,6 +59,7 @@ struct CurveMapping; struct Image; struct ImageUser; struct uiWidgetColors; +struct Tex; typedef struct uiBut uiBut; typedef struct uiBlock uiBlock; @@ -201,7 +204,9 @@ typedef struct uiLayout uiLayout; #define SEARCH_MENU (40<<9) #define BUT_EXTRA (41<<9) #define HSVCIRCLE (42<<9) -#define BUTTYPE (63<<9) +#define LISTBOX (43<<9) +#define LISTROW (44<<9) +#define BUTTYPE (63<<9) /* Drawing * @@ -308,6 +313,10 @@ int uiButGetRetVal (uiBut *but); void uiButSetFlag (uiBut *but, int flag); void uiButClearFlag (uiBut *but, int flag); +/* special button case, only draw it when used actively, for outliner etc */ +int uiButActiveOnly (const struct bContext *C, uiBlock *block, uiBut *but); + + /* Buttons * * Functions to define various types of buttons in a block. Postfixes: @@ -469,15 +478,15 @@ int uiSearchBoxhHeight(void); void uiBlockSetHandleFunc(uiBlock *block, uiBlockHandleFunc func, void *arg); void uiBlockSetButmFunc (uiBlock *block, uiMenuHandleFunc func, void *arg); - void uiBlockSetFunc (uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2); -void uiBlockSetRenameFunc(uiBlock *block, uiButHandleRenameFunc func, void *arg1); + +void uiButSetRenameFunc (uiBut *but, uiButHandleRenameFunc func, void *arg1); void uiButSetFunc (uiBut *but, uiButHandleFunc func, void *arg1, void *arg2); void uiButSetNFunc (uiBut *but, uiButHandleNFunc func, void *argN, void *arg2); void uiButSetCompleteFunc(uiBut *but, uiButCompleteFunc func, void *arg); -void uiBlockSetDrawExtraFunc(uiBlock *block, void (*func)(const struct bContext *C, void *, struct rcti *rect)); +void uiBlockSetDrawExtraFunc(uiBlock *block, void (*func)(const struct bContext *C, void *, void *, struct rcti *rect), void *arg); /* Autocomplete * @@ -588,7 +597,6 @@ void uiLayoutSetKeepAspect(uiLayout *layout, int keepaspect); void uiLayoutSetScaleX(uiLayout *layout, float scale); void uiLayoutSetScaleY(uiLayout *layout, float scale); - int uiLayoutGetOperatorContext(uiLayout *layout); int uiLayoutGetActive(uiLayout *layout); int uiLayoutGetEnabled(uiLayout *layout); @@ -597,12 +605,14 @@ int uiLayoutGetAlignment(uiLayout *layout); int uiLayoutGetKeepAspect(uiLayout *layout); float uiLayoutGetScaleX(uiLayout *layout); float uiLayoutGetScaleY(uiLayout *layout); +ListBase *uiLayoutBoxGetList(uiLayout *layout); /* layout specifiers */ uiLayout *uiLayoutRow(uiLayout *layout, int align); uiLayout *uiLayoutColumn(uiLayout *layout, int align); uiLayout *uiLayoutColumnFlow(uiLayout *layout, int number, int align); uiLayout *uiLayoutBox(uiLayout *layout); +uiLayout *uiLayoutListBox(uiLayout *layout); uiLayout *uiLayoutFree(uiLayout *layout, int align); uiLayout *uiLayoutSplit(uiLayout *layout, float percentage); @@ -614,15 +624,25 @@ void uiTemplateID(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *newop, char *unlinkop); uiLayout *uiTemplateModifier(uiLayout *layout, struct PointerRNA *ptr); uiLayout *uiTemplateConstraint(uiLayout *layout, struct PointerRNA *ptr); -void uiTemplatePreview(uiLayout *layout, struct ID *id); +void uiTemplatePreview(uiLayout *layout, struct ID *id, struct ID *parent); void uiTemplateColorRamp(uiLayout *layout, struct ColorBand *coba, int expand); void uiTemplateCurveMapping(uiLayout *layout, struct CurveMapping *cumap, int type); +void uiTemplateTriColorSet(uiLayout *layout, struct PointerRNA *ptr, char *propname); void uiTemplateLayers(uiLayout *layout, struct PointerRNA *ptr, char *propname); void uiTemplateImageLayers(uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser); -ListBase uiTemplateList(uiLayout *layout, struct PointerRNA *ptr, char *propname, struct PointerRNA *activeptr, char *activeprop, int rows, int columns, int compact); void uiTemplateRunningJobs(uiLayout *layout, struct bContext *C); void uiTemplateOperatorSearch(uiLayout *layout); void uiTemplateHeader3D(uiLayout *layout, struct bContext *C); +void uiTemplateTextureImage(uiLayout *layout, struct bContext *C, struct Tex *tex); + +typedef struct uiListItem { + struct uiListItem *next, *prev; + + struct PointerRNA data; + uiLayout *layout; +} uiListItem; + +ListBase uiTemplateList(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, char *propname, struct PointerRNA *activeptr, char *activeprop, int rows, int type); /* items */ void uiItemO(uiLayout *layout, char *name, int icon, char *opname); diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 9ded2ec9eb8..18634e21a36 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -442,7 +442,7 @@ static int ui_but_equals_old(uiBut *but, uiBut *oldbut) if(but->retval != oldbut->retval) return 0; if(but->rnapoin.data != oldbut->rnapoin.data) return 0; if(but->rnaprop != oldbut->rnaprop) - if(but->rnaindex != oldbut->rnaindex) return 0; + if(but->rnaindex != oldbut->rnaindex) return 0; if(but->func != oldbut->func) return 0; if(but->funcN != oldbut->funcN) return 0; if(oldbut->func_arg1 != oldbut && but->func_arg1 != oldbut->func_arg1) return 0; @@ -496,6 +496,43 @@ static int ui_but_update_from_old_block(const bContext *C, uiBlock *block, uiBut return found; } +/* needed for temporarily rename buttons, such as in outliner or fileselect, + they should keep calling uiDefButs to keep them alive */ +/* returns 0 when button removed */ +int uiButActiveOnly(const bContext *C, uiBlock *block, uiBut *but) +{ + uiBlock *oldblock; + uiBut *oldbut; + int activate= 0, found= 0, isactive= 0; + + oldblock= block->oldblock; + if(!oldblock) + activate= 1; + else { + for(oldbut=oldblock->buttons.first; oldbut; oldbut=oldbut->next) { + if(ui_but_equals_old(oldbut, but)) { + found= 1; + + if(oldbut->active) + isactive= 1; + + break; + } + } + } + if(activate || found==0) { + ui_button_activate_do( (bContext *)C, CTX_wm_region(C), but); + } + else if(found && isactive==0) { + + BLI_remlink(&block->buttons, but); + ui_free_but(C, but); + return 0; + } + + return 1; +} + void ui_menu_block_set_keymaps(const bContext *C, uiBlock *block) { uiBut *but; @@ -720,6 +757,7 @@ static void ui_is_but_sel(uiBut *but) if(value==0.0) push= 1; break; case ROW: + case LISTROW: if(value == but->hardmax) push= 1; break; case COL: @@ -2149,7 +2187,7 @@ uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, char *str, short x1, freestr= 1; } - else if(type == ROW && proptype == PROP_ENUM) { + else if(ELEM(type, ROW, LISTROW) && proptype == PROP_ENUM) { EnumPropertyItem *item; int i, totitem, free; @@ -2202,7 +2240,7 @@ uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, char *str, short x1, RNA_property_int_range(ptr, prop, &hardmin, &hardmax); RNA_property_int_ui_range(ptr, prop, &softmin, &softmax, &step); - if(type != ROW && min == max) { + if(!ELEM(type, ROW, LISTROW) && min == max) { min= hardmin; max= hardmax; } @@ -2217,7 +2255,7 @@ uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, char *str, short x1, RNA_property_float_range(ptr, prop, &hardmin, &hardmax); RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision); - if(type != ROW && min == max) { + if(!ELEM(type, ROW, LISTROW) && min == max) { min= hardmin; max= hardmax; } @@ -2766,14 +2804,16 @@ void uiBlockSetFunc(uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2 block->func_arg2= arg2; } -void uiBlockSetRenameFunc(uiBlock *block, uiButHandleRenameFunc func, void *arg1) +void uiButSetRenameFunc(uiBut *but, uiButHandleRenameFunc func, void *arg1) { - + but->rename_func= func; + but->rename_arg1= arg1; } -void uiBlockSetDrawExtraFunc(uiBlock *block, void (*func)(const bContext *C, void *idv, rcti *rect)) +void uiBlockSetDrawExtraFunc(uiBlock *block, void (*func)(const bContext *C, void *idv, void *argv, rcti *rect), void *arg) { block->drawextra= func; + block->drawextra_arg= arg; } void uiButSetFunc(uiBut *but, uiButHandleFunc func, void *arg1, void *arg2) diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 8400fee0c55..cded4753f61 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -788,7 +788,7 @@ void ui_draw_but_NORMAL(uiBut *but, uiWidgetColors *wcol, rcti *rect) glGetMaterialfv(GL_FRONT, GL_DIFFUSE, diff); /* backdrop */ - glColor3ubv(wcol->inner); + glColor3ubv((unsigned char*)wcol->inner); uiSetRoundBox(15); gl_round_box(GL_POLYGON, rect->xmin, rect->ymin, rect->xmax, rect->ymax, 5.0f); @@ -852,7 +852,7 @@ void ui_draw_but_NORMAL(uiBut *but, uiWidgetColors *wcol, rcti *rect) /* AA circle */ glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH ); - glColor3ubv(wcol->inner); + glColor3ubv((unsigned char*)wcol->inner); glutil_draw_lined_arc(0.0f, M_PI*2.0, 100.0f, 32); glDisable(GL_BLEND); glDisable(GL_LINE_SMOOTH ); @@ -926,14 +926,14 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, rcti *rect if(cumap->flag & CUMA_DO_CLIP) { glColor3ubvShade(wcol->inner, -20); glRectf(rect->xmin, rect->ymin, rect->xmax, rect->ymax); - glColor3ubv(wcol->inner); + glColor3ubv((unsigned char*)wcol->inner); glRectf(rect->xmin + zoomx*(cumap->clipr.xmin-offsx), rect->ymin + zoomy*(cumap->clipr.ymin-offsy), rect->xmin + zoomx*(cumap->clipr.xmax-offsx), rect->ymin + zoomy*(cumap->clipr.ymax-offsy)); } else { - glColor3ubv(wcol->inner); + glColor3ubv((unsigned char*)wcol->inner); glRectf(rect->xmin, rect->ymin, rect->xmax, rect->ymax); } @@ -989,7 +989,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, rcti *rect }*/ /* the curve */ - glColor3ubv(wcol->item); + glColor3ubv((unsigned char*)wcol->item); glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); glBegin(GL_LINE_STRIP); @@ -1043,7 +1043,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, rcti *rect glScissor(scissor[0], scissor[1], scissor[2], scissor[3]); /* outline */ - glColor3ubv(wcol->outline); + glColor3ubv((unsigned char*)wcol->outline); fdrawbox(rect->xmin, rect->ymin, rect->xmax, rect->ymax); } diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 0fbfeffba0d..1736cd1ef52 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -152,6 +152,10 @@ typedef struct uiAfterFunc { uiButHandleNFunc funcN; void *func_argN; + uiButHandleRenameFunc rename_func; + void *rename_arg1; + void *rename_orig; + uiBlockHandleFunc handle_func; void *handle_func_arg; int retval; @@ -188,7 +192,7 @@ static uiBut *ui_but_prev(uiBut *but) { while(but->prev) { but= but->prev; - if(but->type!=LABEL && but->type!=SEPR && but->type!=ROUNDBOX) return but; + if(!ELEM4(but->type, LABEL, SEPR, ROUNDBOX, LISTBOX)) return but; } return NULL; } @@ -197,7 +201,7 @@ static uiBut *ui_but_next(uiBut *but) { while(but->next) { but= but->next; - if(but->type!=LABEL && but->type!=SEPR && but->type!=ROUNDBOX) return but; + if(!ELEM4(but->type, LABEL, SEPR, ROUNDBOX, LISTBOX)) return but; } return NULL; } @@ -208,7 +212,7 @@ static uiBut *ui_but_first(uiBlock *block) but= block->buttons.first; while(but) { - if(but->type!=LABEL && but->type!=SEPR && but->type!=ROUNDBOX) return but; + if(!ELEM4(but->type, LABEL, SEPR, ROUNDBOX, LISTBOX)) return but; but= but->next; } return NULL; @@ -220,7 +224,7 @@ static uiBut *ui_but_last(uiBlock *block) but= block->buttons.last; while(but) { - if(but->type!=LABEL && but->type!=SEPR && but->type!=ROUNDBOX) return but; + if(!ELEM4(but->type, LABEL, SEPR, ROUNDBOX, LISTBOX)) return but; but= but->prev; } return NULL; @@ -239,7 +243,7 @@ static void ui_apply_but_func(bContext *C, uiBut *but) * handling is done, i.e. menus are closed, in order to avoid conflicts * with these functions removing the buttons we are working with */ - if(but->func || but->funcN || block->handle_func || (but->type == BUTM && block->butm_func) || but->optype || but->rnaprop) { + if(but->func || but->funcN || block->handle_func || but->rename_func || (but->type == BUTM && block->butm_func) || but->optype || but->rnaprop) { after= MEM_callocN(sizeof(uiAfterFunc), "uiAfterFunc"); after->func= but->func; @@ -250,6 +254,10 @@ static void ui_apply_but_func(bContext *C, uiBut *but) after->funcN= but->funcN; after->func_argN= but->func_argN; + after->rename_func= but->rename_func; + after->rename_arg1= but->rename_arg1; + after->rename_orig= but->rename_orig; /* needs free! */ + after->handle_func= block->handle_func; after->handle_func_arg= block->handle_func_arg; after->retval= but->retval; @@ -284,7 +292,7 @@ static void ui_apply_autokey_undo(bContext *C, uiBut *but) uiAfterFunc *after; char *str= NULL; - if ELEM5(but->type, BLOCK, BUT, LABEL, PULLDOWN, ROUNDBOX); + if ELEM6(but->type, BLOCK, BUT, LABEL, PULLDOWN, ROUNDBOX, LISTBOX); else { /* define which string to use for undo */ if ELEM(but->type, LINK, INLINK) str= "Add button link"; @@ -344,7 +352,12 @@ static void ui_apply_but_funcs_after(bContext *C) after.handle_func(C, after.handle_func_arg, after.retval); if(after.butm_func) after.butm_func(C, after.butm_func_arg, after.a2); - + + if(after.rename_func) + after.rename_func(C, after.rename_arg1, after.rename_orig); + if(after.rename_orig) + MEM_freeN(after.rename_orig); + if(after.undostr[0]) ED_undo_push(C, after.undostr); } @@ -449,7 +462,7 @@ static void ui_apply_but_ROW(bContext *C, uiBlock *block, uiBut *but, uiHandleBu /* states of other row buttons */ for(bt= block->buttons.first; bt; bt= bt->next) - if(bt!=but && bt->poin==but->poin && bt->type==ROW) + if(bt!=but && bt->poin==but->poin && ELEM(bt->type, ROW, LISTROW)) ui_check_but(bt); ui_apply_but_func(C, but); @@ -468,10 +481,10 @@ static void ui_apply_but_TEX(bContext *C, uiBut *but, uiHandleButtonData *data) /* give butfunc the original text too */ /* feature used for bone renaming, channels, etc */ - /* XXX goes via uiButHandleRenameFunc now */ -// if(but->func_arg2==NULL) but->func_arg2= data->origstr; + /* afterfunc frees origstr */ + but->rename_orig= data->origstr; + data->origstr= NULL; ui_apply_but_func(C, but); -// if(but->func_arg2==data->origstr) but->func_arg2= NULL; data->retval= but->retval; data->applied= 1; @@ -782,6 +795,7 @@ static void ui_apply_button(bContext *C, uiBlock *block, uiBut *but, uiHandleBut ui_apply_but_TOG(C, block, but, data); break; case ROW: + case LISTROW: ui_apply_but_ROW(C, block, but, data); break; case SCROLL: @@ -1392,7 +1406,7 @@ static void ui_textedit_next_but(uiBlock *block, uiBut *actbut, uiHandleButtonDa uiBut *but; /* label and roundbox can overlap real buttons (backdrops...) */ - if(actbut->type==LABEL && actbut->type==ROUNDBOX) + if(ELEM4(actbut->type, LABEL, SEPR, ROUNDBOX, LISTBOX)) return; for(but= actbut->next; but; but= but->next) { @@ -1416,7 +1430,7 @@ static void ui_textedit_prev_but(uiBlock *block, uiBut *actbut, uiHandleButtonDa uiBut *but; /* label and roundbox can overlap real buttons (backdrops...) */ - if(actbut->type==LABEL && actbut->type==ROUNDBOX) + if(ELEM4(actbut->type, LABEL, SEPR, ROUNDBOX, LISTBOX)) return; for(but= actbut->prev; but; but= but->prev) { @@ -3183,9 +3197,11 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, wmEvent *event) retval= ui_do_but_SLI(C, block, but, data, event); break; case ROUNDBOX: + case LISTBOX: case LABEL: case TOG3: case ROW: + case LISTROW: retval= ui_do_but_EXIT(C, but, data, event); break; case TEX: @@ -3331,7 +3347,7 @@ static uiBut *ui_but_find_mouse_over(ARegion *ar, int x, int y) ui_window_to_block(ar, block, &mx, &my); for(but=block->buttons.first; but; but= but->next) { - if(ELEM3(but->type, LABEL, ROUNDBOX, SEPR)) + if(ELEM4(but->type, LABEL, ROUNDBOX, SEPR, LISTBOX)) continue; if(but->flag & UI_HIDDEN) continue; @@ -3481,7 +3497,7 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA data= MEM_callocN(sizeof(uiHandleButtonData), "uiHandleButtonData"); data->window= CTX_wm_window(C); data->region= ar; - if( ELEM(but->type, BUT_CURVE, SEARCH_MENU) ); // XXX curve is temp + if( ELEM3(but->type, TEX, BUT_CURVE, SEARCH_MENU) ); // XXX curve is temp else data->interactive= 1; data->state = BUTTON_STATE_INIT; @@ -3627,6 +3643,23 @@ static int ui_handle_button_over(bContext *C, wmEvent *event, ARegion *ar) return WM_UI_HANDLER_CONTINUE; } +/* exported to interface.c: uiButActiveOnly() */ +void ui_button_activate_do(bContext *C, ARegion *ar, uiBut *but) +{ + wmWindow *win= CTX_wm_window(C); + wmEvent event; + + button_activate_init(C, ar, but, BUTTON_ACTIVATE_OVER); + + event= *(win->eventstate); /* XXX huh huh? make api call */ + event.type= EVT_BUT_OPEN; + event.val= KM_PRESS; + event.customdata= but; + event.customdatafree= FALSE; + + ui_do_button(C, but->block, but, &event); +} + static void ui_handle_button_activate(bContext *C, ARegion *ar, uiBut *but, uiButtonActivateType type) { uiBut *oldbut; diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index 5760a28cb5c..04c0c417fdb 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -84,7 +84,8 @@ typedef enum { UI_WTYPE_RGB_PICKER, UI_WTYPE_NORMAL, UI_WTYPE_BOX, - UI_WTYPE_SCROLL + UI_WTYPE_SCROLL, + UI_WTYPE_LISTITEM } uiWidgetTypeEnum; @@ -185,7 +186,11 @@ struct uiBut { uiButSearchFunc search_func; void *search_arg; - + + uiButHandleRenameFunc rename_func; + void *rename_arg1; + void *rename_orig; + uiLink *link; short linkto[2]; @@ -268,7 +273,8 @@ struct uiBlock { int (*block_event_func)(const struct bContext *C, struct uiBlock *, struct wmEvent *); /* extra draw function for custom blocks */ - void (*drawextra)(const struct bContext *C, void *idv, rcti *rect); + void (*drawextra)(const struct bContext *C, void *idv, void *argv, rcti *rect); + void *drawextra_arg; int afterval, flag; @@ -414,6 +420,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, struct uiWidgetColors *wcol, rct /* interface_handlers.c */ +extern void ui_button_activate_do(struct bContext *C, struct ARegion *ar, uiBut *but); extern void ui_button_active_cancel(const struct bContext *C, uiBut *but); extern int ui_button_is_active(struct ARegion *ar); diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 284da29f0d2..2705cde27c9 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -148,6 +148,7 @@ typedef struct uiLayoutItemFlow { typedef struct uiLayoutItemBx { uiLayout litem; uiBut *roundbox; + ListBase items; } uiLayoutItemBx; typedef struct uiLayoutItemSplt { @@ -218,7 +219,7 @@ static int ui_text_icon_width(uiLayout *layout, char *name, int icon) { int variable = ui_layout_vary_direction(layout) == UI_ITEM_VARY_X; - if(icon && strcmp(name, "") == 0) + if(icon && !name[0]) return UI_UNIT_X; /* icon only */ else if(icon) return (variable)? UI_GetStringWidth(name) + 4 + UI_UNIT_X: 10*UI_UNIT_X; /* icon + text */ @@ -723,15 +724,17 @@ static void ui_item_rna_size(uiLayout *layout, char *name, int icon, PropertyRNA subtype= RNA_property_subtype(prop); len= RNA_property_array_length(prop); - if(ELEM(type, PROP_STRING, PROP_POINTER) && strcmp(name, "") == 0) - name= "non-empty"; + if(ELEM3(type, PROP_STRING, PROP_POINTER, PROP_ENUM) && !name[0]) + name= "non-empty text"; + else if(type == PROP_BOOLEAN && !name[0]) + icon= ICON_DOT; w= ui_text_icon_width(layout, name, icon); h= UI_UNIT_Y; /* increase height for arrays */ if(index == RNA_NO_INDEX && len > 0) { - if(strcmp(name, "") == 0 && icon == 0) + if(!name[0] && icon == 0) h= 0; if(type == PROP_BOOLEAN && len == 20) @@ -1808,7 +1811,7 @@ uiLayout *uiLayoutColumnFlow(uiLayout *layout, int number, int align) return &flow->litem; } -uiLayout *uiLayoutBox(uiLayout *layout) +static uiLayout *ui_layout_box(uiLayout *layout, int type) { uiLayoutItemBx *box; @@ -1823,11 +1826,27 @@ uiLayout *uiLayoutBox(uiLayout *layout) uiBlockSetCurLayout(layout->root->block, &box->litem); - box->roundbox= uiDefBut(layout->root->block, ROUNDBOX, 0, "", 0, 0, 0, 0, NULL, 0.0, 0.0, 0, 0, ""); + box->roundbox= uiDefBut(layout->root->block, type, 0, "", 0, 0, 0, 0, NULL, 0.0, 0.0, 0, 0, ""); return &box->litem; } +uiLayout *uiLayoutBox(uiLayout *layout) +{ + return ui_layout_box(layout, ROUNDBOX); +} + +uiLayout *uiLayoutListBox(uiLayout *layout) +{ + return ui_layout_box(layout, LISTBOX); +} + +ListBase *uiLayoutBoxGetList(uiLayout *layout) +{ + uiLayoutItemBx *box= (uiLayoutItemBx*)layout; + return &box->items; +} + uiLayout *uiLayoutFree(uiLayout *layout, int align) { uiLayout *litem; @@ -2132,6 +2151,9 @@ static void ui_layout_free(uiLayout *layout) ui_layout_free((uiLayout*)item); } + if(layout->item.type == ITEM_LAYOUT_BOX) + BLI_freelistN(&((uiLayoutItemBx*)layout)->items); + MEM_freeN(layout); } diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 377861ae0d7..846fbe75072 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -1031,6 +1031,9 @@ static void ui_do_drag(const bContext *C, wmEvent *event, Panel *panel) dx= (event->x-data->startx) & ~(PNL_GRID-1); dy= (event->y-data->starty) & ~(PNL_GRID-1); + + dx *= (float)(ar->v2d.cur.xmax - ar->v2d.cur.xmin)/(float)(ar->winrct.xmax - ar->winrct.xmin); + dy *= (float)(ar->v2d.cur.ymax - ar->v2d.cur.ymin)/(float)(ar->winrct.ymax - ar->winrct.ymin); if(data->state == PANEL_STATE_DRAG_SCALE) { panel->sizex = MAX2(data->startsizex+dx, UI_PANEL_MINX); diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index c1129db8ebe..70716de6bdc 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -291,10 +291,13 @@ void ui_remove_temporary_region(bContext *C, bScreen *sc, ARegion *ar) /************************* Creating Tooltips **********************/ +#define MAX_TOOLTIP_LINES 8 + typedef struct uiTooltipData { rcti bbox; uiFontStyle fstyle; - char lines[5][512]; + char lines[MAX_TOOLTIP_LINES][512]; + int linedark[MAX_TOOLTIP_LINES]; int totline; int toth, spaceh, lineh; } uiTooltipData; @@ -314,7 +317,7 @@ static void ui_tooltip_region_draw(const bContext *C, ARegion *ar) bbox.ymin= bbox.ymax - data->lineh; for(a=0; a<data->totline; a++) { - if(a == 0) glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + if(!data->linedark[a]) glColor4f(1.0f, 1.0f, 1.0f, 1.0f); else glColor4f(0.5f, 0.5f, 0.5f, 1.0f); uiStyleFontDraw(&data->fstyle, &bbox, data->lines[a]); @@ -344,22 +347,13 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) float x1f, x2f, y1f, y2f; int x1, x2, y1, y2, winx, winy, ofsx, ofsy, w, h, a; - if(!but->tip || strlen(but->tip)==0) - return NULL; - - /* create area region */ - ar= ui_add_temporary_region(CTX_wm_screen(C)); - - memset(&type, 0, sizeof(ARegionType)); - type.draw= ui_tooltip_region_draw; - type.free= ui_tooltip_region_free; - ar->type= &type; - /* create tooltip data */ data= MEM_callocN(sizeof(uiTooltipData), "uiTooltipData"); - BLI_strncpy(data->lines[0], but->tip, sizeof(data->lines[0])); - data->totline= 1; + if(but->tip && strlen(but->tip)) { + BLI_strncpy(data->lines[data->totline], but->tip, sizeof(data->lines[0])); + data->totline++; + } if(but->optype && !(but->block->flag & UI_BLOCK_LOOP)) { /* operator keymap (not menus, they already have it) */ @@ -367,6 +361,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) { BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Shortcut: %s", buf); + data->linedark[data->totline]= 1; data->totline++; } } @@ -376,6 +371,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) ui_get_but_string(but, buf, sizeof(buf)); if(buf[0]) { BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Value: %s", buf); + data->linedark[data->totline]= 1; data->totline++; } } @@ -385,14 +381,29 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) if(ui_but_anim_expression_get(but, buf, sizeof(buf))) { /* expression */ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Expression: %s", buf); + data->linedark[data->totline]= 1; data->totline++; } } /* rna info */ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Python: %s.%s", RNA_struct_identifier(but->rnapoin.type), RNA_property_identifier(but->rnaprop)); + data->linedark[data->totline]= 1; data->totline++; } + + if(data->totline == 0) { + MEM_freeN(data); + return NULL; + } + + /* create area region */ + ar= ui_add_temporary_region(CTX_wm_screen(C)); + + memset(&type, 0, sizeof(ARegionType)); + type.draw= ui_tooltip_region_draw; + type.free= ui_tooltip_region_free; + ar->type= &type; /* set font, get bb */ data->fstyle= style->widget; /* copy struct */ diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c index 6faa658c3d0..762b32056ac 100644 --- a/source/blender/editors/interface/interface_style.c +++ b/source/blender/editors/interface/interface_style.c @@ -93,7 +93,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name) style->paneltitle.uifont_id= UIFONT_DEFAULT; style->paneltitle.points= 12; - style->paneltitle.kerning= 0; + style->paneltitle.kerning= 1; style->paneltitle.shadow= 5; style->paneltitle.shadx= 2; style->paneltitle.shady= -2; @@ -102,7 +102,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name) style->grouplabel.uifont_id= UIFONT_DEFAULT; style->grouplabel.points= 12; - style->grouplabel.kerning= 0; + style->grouplabel.kerning= 1; style->grouplabel.shadow= 3; style->grouplabel.shadx= 1; style->grouplabel.shady= -1; @@ -110,7 +110,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name) style->widgetlabel.uifont_id= UIFONT_DEFAULT; style->widgetlabel.points= 11; - style->widgetlabel.kerning= 0; + style->widgetlabel.kerning= 1; style->widgetlabel.shadow= 3; style->widgetlabel.shadx= 1; style->widgetlabel.shady= -1; @@ -119,13 +119,13 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name) style->widget.uifont_id= UIFONT_DEFAULT; style->widget.points= 11; - style->widget.kerning= 0; + style->widget.kerning= 1; style->widget.shadowalpha= 0.25f; - style->columnspace= 5; + style->columnspace= 8; style->templatespace= 5; style->boxspace= 5; - style->buttonspacex= 5; + style->buttonspacex= 8; style->buttonspacey= 2; style->panelspace= 8; style->panelouter= 4; diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 512d279cc37..8b01c341565 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -99,11 +99,12 @@ static void id_search_cb(const struct bContext *C, void *arg_template, char *str /* ID listbase */ for(id= lb->first; id; id= id->next) { - iconid= ui_id_icon_get(scene, id); + if(BLI_strcasestr(id->name+2, str)) { + iconid= ui_id_icon_get(scene, id); - if(BLI_strcasestr(id->name+2, str)) if(!uiSearchItemAdd(items, id->name+2, id, iconid)) break; + } } } @@ -763,7 +764,7 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con) if(proxy_protected == 0) { but = uiDefBut(block, TEX, B_CONSTRAINT_TEST, "", xco+120, yco, 85, 18, con->name, 0.0, 29.0, 0.0, 0.0, "Constraint name"); - uiButSetFunc(but, verify_constraint_name_func, con, NULL); + uiButSetFunc(but, verify_constraint_name_func, con, con->name); } else uiDefBut(block, LABEL, B_CONSTRAINT_TEST, con->name, xco+120, yco-1, 135, 19, NULL, 0.0, 0.0, 0.0, 0.0, ""); @@ -1154,11 +1155,12 @@ uiLayout *uiTemplateGroup(uiLayout *layout, Object *ob, Group *group) /************************* Preview Template ***************************/ +#include "DNA_lamp_types.h" #include "DNA_material_types.h" +#include "DNA_world_types.h" #define B_MATPRV 1 - static void do_preview_buttons(bContext *C, void *arg, int event) { switch(event) { @@ -1168,32 +1170,55 @@ static void do_preview_buttons(bContext *C, void *arg, int event) } } -void uiTemplatePreview(uiLayout *layout, ID *id) +void uiTemplatePreview(uiLayout *layout, ID *id, ID *parent) { uiLayout *row, *col; uiBlock *block; - Material *ma; + Material *ma= NULL; + ID *pid, *pparent; + short *pr_texture= NULL; if(id && !ELEM4(GS(id->name), ID_MA, ID_TE, ID_WO, ID_LA)) { printf("uiTemplatePreview: expected ID of type material, texture, lamp or world.\n"); return; } - block= uiLayoutGetBlock(layout); + /* decide what to render */ + pid= id; + pparent= NULL; + + if(id && (GS(id->name) == ID_TE)) { + if(parent && (GS(parent->name) == ID_MA)) + pr_texture= &((Material*)parent)->pr_texture; + else if(parent && (GS(parent->name) == ID_WO)) + pr_texture= &((World*)parent)->pr_texture; + else if(parent && (GS(parent->name) == ID_LA)) + pr_texture= &((Lamp*)parent)->pr_texture; + + if(pr_texture) { + if(*pr_texture == TEX_PR_OTHER) + pid= parent; + else if(*pr_texture == TEX_PR_BOTH) + pparent= parent; + } + } + /* layout */ + block= uiLayoutGetBlock(layout); row= uiLayoutRow(layout, 0); - col= uiLayoutColumn(row, 0); uiLayoutSetKeepAspect(col, 1); - uiDefBut(block, BUT_EXTRA, 0, "", 0, 0, UI_UNIT_X*6, UI_UNIT_Y*6, id, 0.0, 0.0, 0, 0, ""); - uiBlockSetDrawExtraFunc(block, ED_preview_draw); - + /* add preview */ + uiDefBut(block, BUT_EXTRA, 0, "", 0, 0, UI_UNIT_X*6, UI_UNIT_Y*6, pid, 0.0, 0.0, 0, 0, ""); + uiBlockSetDrawExtraFunc(block, ED_preview_draw, pparent); uiBlockSetHandleFunc(block, do_preview_buttons, NULL); - if(id) { - if(GS(id->name) == ID_MA) { - ma= (Material*)id; + /* add buttons */ + if(pid) { + if(GS(pid->name) == ID_MA || (pparent && GS(pparent->name) == ID_MA)) { + if(GS(pid->name) == ID_MA) ma= (Material*)pid; + else ma= (Material*)pparent; uiLayoutColumn(row, 1); @@ -1204,6 +1229,19 @@ void uiTemplatePreview(uiLayout *layout, ID *id) uiDefIconButC(block, ROW, B_MATPRV, ICON_HAIR, 0, 0,UI_UNIT_X*1.5,UI_UNIT_Y, &(ma->pr_type), 10, MA_HAIR, 0, 0, "Preview type: Hair strands"); uiDefIconButC(block, ROW, B_MATPRV, ICON_MATSPHERE, 0, 0,UI_UNIT_X*1.5,UI_UNIT_Y, &(ma->pr_type), 10, MA_SPHERE_A, 0, 0, "Preview type: Large sphere with sky"); } + + if(pr_texture) { + uiLayoutRow(layout, 1); + + uiDefButS(block, ROW, B_MATPRV, "Texture", 0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_TEXTURE, 0, 0, ""); + if(GS(parent->name) == ID_MA) + uiDefButS(block, ROW, B_MATPRV, "Material", 0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, ""); + else if(GS(parent->name) == ID_LA) + uiDefButS(block, ROW, B_MATPRV, "Lamp", 0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, ""); + else if(GS(parent->name) == ID_WO) + uiDefButS(block, ROW, B_MATPRV, "World", 0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, ""); + uiDefButS(block, ROW, B_MATPRV, "Both", 0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_BOTH, 0, 0, ""); + } } } @@ -1241,6 +1279,34 @@ void uiTemplateCurveMapping(uiLayout *layout, CurveMapping *cumap, int type) } } +/********************* TriColor (ThemeWireColorSet) Template ************************/ + +void uiTemplateTriColorSet(uiLayout *layout, PointerRNA *ptr, char *propname) +{ + uiLayout *row; + PropertyRNA *prop; + PointerRNA csPtr; + + if (!ptr->data) + return; + + prop= RNA_struct_find_property(ptr, propname); + if (!prop) { + printf("uiTemplateTriColorSet: property not found: %s\n", propname); + return; + } + + /* we lay out the data in a row as 3 color swatches */ + row= uiLayoutRow(layout, 1); + + /* nselected, selected, active color swatches */ + csPtr= RNA_property_pointer_get(ptr, prop); + + uiItemR(row, "", 0, &csPtr, "normal", 0, 0, 0); + uiItemR(row, "", 0, &csPtr, "selected", 0, 0, 0); + uiItemR(row, "", 0, &csPtr, "active", 0, 0, 0); +} + /********************* Layer Buttons Template ************************/ // TODO: @@ -1275,7 +1341,10 @@ void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, char *propname) groups= ((cols / 2) < 5) ? (1) : (cols / 2); /* layers are laid out going across rows, with the columns being divided into groups */ - uSplit= uiLayoutSplit(layout, (1.0f/(float)groups)); + if (groups > 1) + uSplit= uiLayoutSplit(layout, (1.0f/(float)groups)); + else + uSplit= layout; for (group= 0; group < groups; group++) { uCol= uiLayoutColumn(uSplit, 1); @@ -1296,17 +1365,36 @@ void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, char *propname) /************************* List Template **************************/ -ListBase uiTemplateList(uiLayout *layout, PointerRNA *ptr, char *propname, PointerRNA *activeptr, char *activepropname, int rows, int columns, int compact) +#if 0 +static void list_item_add(ListBase *lb, ListBase *itemlb, uiLayout *layout, PointerRNA *data) { CollectionPointerLink *link; + uiListItem *item; + + /* add to list to store in box */ + item= MEM_callocN(sizeof(uiListItem), "uiListItem"); + item->layout= layout; + item->data= *data; + BLI_addtail(itemlb, item); + + /* add to list to return from function */ + link= MEM_callocN(sizeof(CollectionPointerLink), "uiTemplateList return"); + RNA_pointer_create(NULL, &RNA_UIListItem, item, &link->ptr); + BLI_addtail(lb, link); +} +#endif + +ListBase uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, char *propname, PointerRNA *activeptr, char *activepropname, int rows, int listtype) +{ + //Scene *scene= CTX_data_scene(C); PropertyRNA *prop= NULL, *activeprop; PropertyType type, activetype; StructRNA *ptype; - uiLayout *box, *row, *col; + uiLayout *box, *row, *col, *subrow; uiBlock *block; uiBut *but; Panel *pa; - ListBase lb; + ListBase lb, *itemlb; char *name, str[32]; int icon=0, i= 0, activei= 0, len, items, found, min, max; @@ -1361,7 +1449,39 @@ ListBase uiTemplateList(uiLayout *layout, PointerRNA *ptr, char *propname, Point /* get active data */ activei= RNA_property_int_get(activeptr, activeprop); - if(compact) { + if(listtype == 'i') { + box= uiLayoutListBox(layout); + col= uiLayoutColumn(box, 1); + row= uiLayoutRow(col, 0); + + itemlb= uiLayoutBoxGetList(box); + + if(ptr->data && prop) { + /* create list items */ + RNA_PROP_BEGIN(ptr, itemptr, prop) { + /* create button */ + if(i == 9) + row= uiLayoutRow(col, 0); + + if(RNA_struct_is_a(itemptr.type, &RNA_TextureSlot)) { +#if 0 + MTex *mtex= itemptr.data; + + if(mtex && mtex->tex) + icon= ui_id_icon_get(scene, &mtex->tex->id); +#endif + } + + uiDefIconButR(block, LISTROW, 0, icon, 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, ""); + + //list_item_add(&lb, itemlb, uiLayoutRow(row, 1), &itemptr); + + i++; + } + RNA_PROP_END; + } + } + else if(listtype == 'c') { /* compact layout */ found= 0; @@ -1381,9 +1501,7 @@ ListBase uiTemplateList(uiLayout *layout, PointerRNA *ptr, char *propname, Point MEM_freeN(name); /* add to list to return */ - link= MEM_callocN(sizeof(CollectionPointerLink), "uiTemplateList return"); - link->ptr= itemptr; - BLI_addtail(&lb, link); + //list_item_add(&lb, itemlb, uiLayoutRow(row, 1), &itemptr); } i++; @@ -1402,45 +1520,53 @@ ListBase uiTemplateList(uiLayout *layout, PointerRNA *ptr, char *propname, Point uiButSetFlag(but, UI_BUT_DISABLED); } else { - /* default rows/columns */ + /* default rows */ if(rows == 0) rows= 5; - if(columns == 0) - columns= 1; /* layout */ - box= uiLayoutBox(layout); + box= uiLayoutListBox(layout); row= uiLayoutRow(box, 0); col = uiLayoutColumn(row, 1); - uiBlockSetEmboss(block, UI_EMBOSSN); - /* init numbers */ RNA_property_int_range(activeptr, activeprop, &min, &max); len= max - min + 1; - items= rows*columns; + items= CLAMPIS(len, rows, 5); pa->list_scroll= MIN2(pa->list_scroll, len-items); pa->list_scroll= MAX2(pa->list_scroll, 0); + itemlb= uiLayoutBoxGetList(box); + if(ptr->data && prop) { /* create list items */ RNA_PROP_BEGIN(ptr, itemptr, prop) { if(i >= pa->list_scroll && i<pa->list_scroll+items) { name= RNA_struct_name_get_alloc(&itemptr, NULL, 0); + subrow= uiLayoutRow(col, 0); + /* create button */ - but= uiDefIconTextButR(block, ROW, 0, icon, (name)? name: "", 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, ""); + if(!icon || icon == ICON_DOT) + but= uiDefButR(block, LISTROW, 0, (name)? name: "", 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, ""); + else + but= uiDefIconTextButR(block, LISTROW, 0, icon, (name)? name: "", 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, ""); uiButSetFlag(but, UI_ICON_LEFT|UI_TEXT_LEFT); + /* XXX hardcoded */ + if(itemptr.type == &RNA_MeshTextureFaceLayer || itemptr.type == &RNA_MeshColorLayer) { + uiBlockSetEmboss(block, UI_EMBOSSN); + uiItemR(subrow, "", ICON_SCENE, &itemptr, "active_render", 0, 0, 0); + uiBlockSetEmboss(block, UI_EMBOSS); + } + if(name) MEM_freeN(name); /* add to list to return */ - link= MEM_callocN(sizeof(CollectionPointerLink), "uiTemplateList return"); - link->ptr= itemptr; - BLI_addtail(&lb, link); + //list_item_add(&lb, itemlb, subrow, &itemptr); } i++; @@ -1455,8 +1581,6 @@ ListBase uiTemplateList(uiLayout *layout, PointerRNA *ptr, char *propname, Point i++; } - uiBlockSetEmboss(block, UI_EMBOSS); - /* add scrollbar */ if(len > items) { col= uiLayoutColumn(row, 0); @@ -1559,3 +1683,17 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C) uiDefIconTextBut(block, BUT, B_STOPANIM, ICON_REC, "Anim Player", 0,0,85,UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, "Stop animation playback"); } +/************************* Image Template **************************/ + +#include "ED_image.h" + +void uiTemplateTextureImage(uiLayout *layout, bContext *C, Tex *tex) +{ + uiBlock *block; + + if(tex) { + block= uiLayoutFreeBlock(layout); + ED_image_uiblock_panel(C, block, &tex->ima, &tex->iuser, 0, 0); + } +} + diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c index 4df8641b455..8ff9e857407 100644 --- a/source/blender/editors/interface/interface_utils.c +++ b/source/blender/editors/interface/interface_utils.c @@ -972,6 +972,13 @@ static void colorband_pos_cb(bContext *C, void *coba_v, void *unused_v) break; } } + + WM_event_add_notifier(C, NC_TEXTURE, NULL); +} + +static void colorband_cb(bContext *C, void *coba_v, void *unused_v) +{ + WM_event_add_notifier(C, NC_TEXTURE, NULL); } static void colorband_add_cb(bContext *C, void *coba_v, void *unused_v) @@ -983,6 +990,7 @@ static void colorband_add_cb(bContext *C, void *coba_v, void *unused_v) colorband_pos_cb(C, coba, NULL); ED_undo_push(C, "Add colorband"); + WM_event_add_notifier(C, NC_TEXTURE, NULL); } static void colorband_del_cb(bContext *C, void *coba_v, void *unused_v) @@ -1000,6 +1008,7 @@ static void colorband_del_cb(bContext *C, void *coba_v, void *unused_v) ED_undo_push(C, "Delete colorband"); // XXX BIF_preview_changed(ID_TE); + WM_event_add_notifier(C, NC_TEXTURE, NULL); } @@ -1011,30 +1020,30 @@ static void colorband_buttons_large(uiBlock *block, ColorBand *coba, int xoffs, if(coba==NULL) return; - bt= uiDefBut(block, BUT, redraw, "Add", 80+xoffs,95+yoffs,37,20, 0, 0, 0, 0, 0, "Adds a new color position to the colorband"); + bt= uiDefBut(block, BUT, redraw, "Add", 0+xoffs,100+yoffs,50,20, 0, 0, 0, 0, 0, "Add a new color stop to the colorband"); uiButSetFunc(bt, colorband_add_cb, coba, NULL); - uiDefButS(block, NUM, redraw, "Cur:", 117+xoffs,95+yoffs,81,20, &coba->cur, 0.0, (float)(coba->tot-1), 0, 0, "Displays the active color from the colorband"); - bt= uiDefBut(block, BUT, redraw, "Del", 199+xoffs,95+yoffs,37,20, 0, 0, 0, 0, 0, "Deletes the active position"); + bt= uiDefBut(block, BUT, redraw, "Delete", 60+xoffs,100+yoffs,50,20, 0, 0, 0, 0, 0, "Delete the active position"); + uiDefButS(block, NUM, redraw, "", 120+xoffs,100+yoffs,80, 20, &coba->cur, 0.0, (float)(coba->tot-1), 0, 0, "Choose active color stop"); + uiButSetFunc(bt, colorband_del_cb, coba, NULL); - uiDefButS(block, MENU, redraw, "Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4", - 236+xoffs, 95+yoffs, 64, 20, &coba->ipotype, 0.0, 0.0, 0, 0, "Sets interpolation type"); + bt= uiDefButS(block, MENU, redraw, "Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4", + 210+xoffs, 100+yoffs, 90, 20, &coba->ipotype, 0.0, 0.0, 0, 0, "Set interpolation between color stops"); + uiButSetFunc(bt, colorband_cb, coba, NULL); + uiBlockEndAlign(block); - uiDefBut(block, BUT_COLORBAND, redraw, "", xoffs,65+yoffs,300,30, coba, 0, 0, 0, 0, ""); + bt= uiDefBut(block, BUT_COLORBAND, redraw, "", xoffs,65+yoffs,300,30, coba, 0, 0, 0, 0, ""); + uiButSetFunc(bt, colorband_cb, coba, NULL); cbd= coba->data + coba->cur; - uiBlockBeginAlign(block); - bt= uiDefButF(block, NUM, redraw, "Pos", xoffs,40+yoffs,110,20, &cbd->pos, 0.0, 1.0, 10, 0, "Sets the position of the active color"); + bt= uiDefButF(block, NUM, redraw, "Pos:", 0+xoffs,40+yoffs,100, 20, &cbd->pos, 0.0, 1.0, 10, 0, "The position of the active color stop"); uiButSetFunc(bt, colorband_pos_cb, coba, NULL); - uiDefButF(block, COL, redraw, "", xoffs,20+yoffs,110,20, &(cbd->r), 0, 0, 0, B_BANDCOL, ""); - uiDefButF(block, NUMSLI, redraw, "A ", xoffs,yoffs,110,20, &cbd->a, 0.0, 1.0, 10, 0, "Sets the alpha value for this position"); + bt= uiDefButF(block, COL, redraw, "", 110+xoffs,40+yoffs,80,20, &(cbd->r), 0, 0, 0, B_BANDCOL, "The color value for the active color stop"); + uiButSetFunc(bt, colorband_cb, coba, NULL); + bt= uiDefButF(block, NUMSLI, redraw, "A ", 200+xoffs,40+yoffs,100,20, &cbd->a, 0.0, 1.0, 10, 0, "The alpha value of the active color stop"); + uiButSetFunc(bt, colorband_cb, coba, NULL); - uiBlockBeginAlign(block); - uiDefButF(block, NUMSLI, redraw, "R ", 115+xoffs,40+yoffs,185,20, &cbd->r, 0.0, 1.0, B_BANDCOL, 0, "Sets the red value for the active color"); - uiDefButF(block, NUMSLI, redraw, "G ", 115+xoffs,20+yoffs,185,20, &cbd->g, 0.0, 1.0, B_BANDCOL, 0, "Sets the green value for the active color"); - uiDefButF(block, NUMSLI, redraw, "B ", 115+xoffs,yoffs,185,20, &cbd->b, 0.0, 1.0, B_BANDCOL, 0, "Sets the blue value for the active color"); - uiBlockEndAlign(block); } static void colorband_buttons_small(uiBlock *block, ColorBand *coba, rctf *butr, int event) @@ -1046,20 +1055,20 @@ static void colorband_buttons_small(uiBlock *block, ColorBand *coba, rctf *butr, cbd= coba->data + coba->cur; - uiBlockBeginAlign(block); - uiDefButF(block, COL, event, "", xs,butr->ymin+20.0f,2.0f*unit,20, &(cbd->r), 0, 0, 0, B_BANDCOL, ""); - uiDefButF(block, NUM, event, "A:", xs+2.0f*unit,butr->ymin+20.0f,4.0f*unit,20, &(cbd->a), 0.0f, 1.0f, 10, 2, ""); - bt= uiDefBut(block, BUT, event, "Add", xs+6.0f*unit,butr->ymin+20.0f,2.0f*unit,20, NULL, 0, 0, 0, 0, "Adds a new color position to the colorband"); + + bt= uiDefBut(block, BUT, event, "Add", xs,butr->ymin+20.0f,2.0f*unit,20, NULL, 0, 0, 0, 0, "Add a new color stop to the colorband"); uiButSetFunc(bt, colorband_add_cb, coba, NULL); - bt= uiDefBut(block, BUT, event, "Del", xs+8.0f*unit,butr->ymin+20.0f,2.0f*unit,20, NULL, 0, 0, 0, 0, "Deletes the active position"); + bt= uiDefBut(block, BUT, event, "Delete", xs+2.0f*unit,butr->ymin+20.0f,2.0f*unit,20, NULL, 0, 0, 0, 0, "Delete the active position"); uiButSetFunc(bt, colorband_del_cb, coba, NULL); - + + uiDefButF(block, COL, event, "", xs+4.0f*unit,butr->ymin+20.0f,2.0f*unit,20, &(cbd->r), 0, 0, 0, B_BANDCOL, "The color value for the active color stop"); + uiDefButF(block, NUMSLI, event, "A:", xs+6.0f*unit,butr->ymin+20.0f,4.0f*unit,20, &(cbd->a), 0.0f, 1.0f, 10, 2, "The alpha value of the active color stop"); + uiDefButS(block, MENU, event, "Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4", - xs+10.0f*unit, butr->ymin+20.0f, unit*4, 20, &coba->ipotype, 0.0, 0.0, 0, 0, "Sets interpolation type"); + xs+10.0f*unit, butr->ymin+20.0f, unit*4, 20, &coba->ipotype, 0.0, 0.0, 0, 0, "Set interpolation between color stops"); uiDefBut(block, BUT_COLORBAND, event, "", xs,butr->ymin,butr->xmax-butr->xmin,20.0f, coba, 0, 0, 0, 0, ""); uiBlockEndAlign(block); - } void colorband_buttons(uiBlock *block, ColorBand *coba, rctf *butr, int small) diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index afb7e74daff..9678a5dfc9d 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -536,7 +536,7 @@ static void shadecolors4(char *coltop, char *coldown, char *color, short shadeto static void round_box_shade_col4(char *col1, char *col2, float fac) { int faci, facm; - char col[4]; + unsigned char col[4]; faci= floor(255.1f*fac); facm= 255-faci; @@ -575,7 +575,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol) if(wcol->shaded==0) { /* filled center, solid */ - glColor4ubv(wcol->inner); + glColor4ubv((unsigned char*)wcol->inner); glBegin(GL_POLYGON); for(a=0; a<wtb->totvert; a++) glVertex2fv(wtb->inner_v[a]); @@ -682,7 +682,7 @@ static void widget_draw_icon(uiBut *but, BIFIconID icon, int blend, rcti *rect) height= ICON_HEIGHT; /* calculate blend color */ - if ELEM3(but->type, TOG, ROW, TOGN) { + if ELEM4(but->type, TOG, ROW, TOGN, LISTROW) { if(but->flag & UI_SELECT); else if(but->flag & UI_ACTIVE); else blend= -60; @@ -806,7 +806,7 @@ static void widget_draw_text(uiFontStyle *fstyle, uiWidgetColors *wcol, uiBut *b but->drawstr[selend_tmp]= ch; - glColor3ubv(wcol->item); + glColor3ubv((unsigned char*)wcol->item); glRects(rect->xmin+selsta_draw+1, rect->ymin+2, rect->xmin+selwidth_draw+1, rect->ymax-2); } } else { @@ -838,7 +838,7 @@ static void widget_draw_text(uiFontStyle *fstyle, uiWidgetColors *wcol, uiBut *b if(cpoin) *cpoin= 0; } - glColor3ubv(wcol->text); + glColor3ubv((unsigned char*)wcol->text); uiStyleFontDraw(fstyle, rect, but->drawstr+but->ofs); /* part text right aligned */ @@ -1037,7 +1037,7 @@ static struct uiWidgetColors wcol_menu_back= { {45, 45, 45, 230}, {100, 100, 100, 255}, - {255, 255, 255, 255}, + {160, 160, 160, 255}, {255, 255, 255, 255}, 0, @@ -1114,13 +1114,26 @@ static struct uiWidgetColors wcol_scroll= { {50, 50, 50, 180}, {80, 80, 80, 180}, {100, 100, 100, 180}, - {180, 180, 180, 255}, + {128, 128, 128, 255}, {0, 0, 0, 255}, {255, 255, 255, 255}, 1, - 10, -20 + 5, -5 +}; + +static struct uiWidgetColors wcol_list_item= { + {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 }; /* free wcol struct to play with */ @@ -1155,6 +1168,7 @@ void ui_widget_color_init(ThemeUI *tui) tui->wcol_menu_item= wcol_menu_item; tui->wcol_box= wcol_box; tui->wcol_scroll= wcol_scroll; + tui->wcol_list_item= wcol_list_item; tui->wcol_state= wcol_state; } @@ -1693,8 +1707,11 @@ void uiWidgetScrollDraw(uiWidgetColors *wcol, rcti *rect, rcti *slider, int stat wcol->shadetop+= 20; /* XXX violates themes... */ else wcol->shadedown+= 20; - if(state & UI_SCROLL_PRESSED) - SWAP(short, wcol->shadetop, wcol->shadedown); + if(state & UI_SCROLL_PRESSED) { + wcol->inner[0]= wcol->inner[0]>=250? 255 : wcol->inner[0]+5; + wcol->inner[1]= wcol->inner[1]>=250? 255 : wcol->inner[1]+5; + wcol->inner[2]= wcol->inner[2]>=250? 255 : wcol->inner[2]+5; + } /* draw */ wtb.emboss= 0; /* only emboss once */ @@ -1724,7 +1741,7 @@ static void widget_scroll(uiBut *but, uiWidgetColors *wcol, rcti *rect, int stat { rcti rect1; double value; - float fac, size; + float fac, size, min; int horizontal; /* calculate slider part */ @@ -1743,11 +1760,35 @@ static void widget_scroll(uiBut *but, uiWidgetColors *wcol, rcti *rect, int stat fac= (rect->xmax - rect->xmin)/(size); rect1.xmin= rect1.xmin + ceil(fac*(value - but->softmin)); rect1.xmax= rect1.xmin + ceil(fac*(but->a1 - but->softmin)); + + /* ensure minimium size */ + min= rect->ymax - rect->ymin; + + if(rect1.xmax - rect1.xmin < min) { + rect1.xmax= rect1.xmin + min; + + if(rect1.xmax > rect->xmax) { + rect1.xmax= rect->xmax; + rect1.xmin= MAX2(rect1.xmax - min, rect->xmin); + } + } } else { fac= (rect->ymax - rect->ymin)/(size); rect1.ymax= rect1.ymax - ceil(fac*(value - but->softmin)); rect1.ymin= rect1.ymax - ceil(fac*(but->a1 - but->softmin)); + + /* ensure minimium size */ + min= rect->xmax - rect->xmin; + + if(rect1.ymax - rect1.ymin < min) { + rect1.ymax= rect1.ymin + min; + + if(rect1.ymax > rect->ymax) { + rect1.ymax= rect->ymax; + rect1.ymin= MAX2(rect1.ymax - min, rect->ymin); + } + } } if(state & UI_SELECT) @@ -1755,7 +1796,6 @@ static void widget_scroll(uiBut *but, uiWidgetColors *wcol, rcti *rect, int stat else state= 0; uiWidgetScrollDraw(wcol, rect, &rect1, state); - } static void widget_link(uiBut *but, uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) @@ -1918,6 +1958,18 @@ static void widget_menu_itembut(uiWidgetColors *wcol, rcti *rect, int state, int widgetbase_draw(&wtb, wcol); } +static void widget_list_itembut(uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) +{ + uiWidgetBase wtb; + + widget_init(&wtb); + + /* rounded, but no outline */ + wtb.outline= 0; + round_box_edges(&wtb, 15, rect, 4.0f); + + widgetbase_draw(&wtb, wcol); +} static void widget_optionbut(uiWidgetColors *wcol, rcti *rect, int state, int roundboxalign) { @@ -2003,11 +2055,11 @@ static void widget_draw_extra_mask(const bContext *C, uiBut *but, uiWidgetType * if(but->block->drawextra) { /* note: drawextra can change rect +1 or -1, to match round errors of existing previews */ - but->block->drawextra(C, but->poin, rect); + but->block->drawextra(C, but->poin, but->block->drawextra_arg, rect); /* make mask to draw over image */ UI_GetThemeColor3ubv(TH_BACK, col); - glColor3ubv(col); + glColor3ubv((unsigned char*)col); round_box__edges(&wtb, 15, rect, 0.0f, 4.0); widgetbase_outline(&wtb); @@ -2067,7 +2119,6 @@ static uiWidgetType *widget_type(uiWidgetTypeEnum type) case UI_WTYPE_OPTION: wt.wcol_theme= &btheme->tui.wcol_option; wt.draw= widget_optionbut; - wt.state= widget_state_label; break; case UI_WTYPE_RADIO: @@ -2161,6 +2212,11 @@ static uiWidgetType *widget_type(uiWidgetTypeEnum type) wt.state= widget_state_nothing; wt.custom= widget_scroll; break; + + case UI_WTYPE_LISTITEM: + wt.wcol_theme= &btheme->tui.wcol_list_item; + wt.draw= widget_list_itembut; + break; } return &wt; @@ -2268,6 +2324,10 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct case ROW: wt= widget_type(UI_WTYPE_RADIO); break; + + case LISTROW: + wt= widget_type(UI_WTYPE_LISTITEM); + break; case TEX: wt= widget_type(UI_WTYPE_NAME); @@ -2315,6 +2375,7 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct break; case ROUNDBOX: + case LISTBOX: wt= widget_type(UI_WTYPE_BOX); break; @@ -2437,7 +2498,7 @@ void ui_draw_menu_item(uiFontStyle *fstyle, rcti *rect, char *name, int iconid, rect->xmax -= BLF_width(cpoin+1) + 10; } - glColor3ubv(wt->wcol.text); + glColor3ubv((unsigned char*)wt->wcol.text); uiStyleFontDraw(fstyle, rect, name); /* part text right aligned */ diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c index f0745ebfd71..44b7f1d13da 100644 --- a/source/blender/editors/interface/view2d_ops.c +++ b/source/blender/editors/interface/view2d_ops.c @@ -464,7 +464,7 @@ void VIEW2D_OT_scroll_up(wmOperatorType *ot) /* ------------------ 'Shared' stuff ------------------------ */ /* check if step-zoom can be applied */ -static short view_zoomstep_ok(bContext *C) +static int view_zoom_poll(bContext *C) { ARegion *ar= CTX_wm_region(C); View2D *v2d; @@ -527,7 +527,7 @@ static void view_zoomstep_apply(bContext *C, wmOperator *op) static int view_zoomin_exec(bContext *C, wmOperator *op) { /* check that there's an active region, as View2D data resides there */ - if (!view_zoomstep_ok(C)) + if (!view_zoom_poll(C)) return OPERATOR_PASS_THROUGH; /* set RNA-Props - zooming in by uniform factor */ @@ -563,7 +563,7 @@ void VIEW2D_OT_zoom_in(wmOperatorType *ot) static int view_zoomout_exec(bContext *C, wmOperator *op) { /* check that there's an active region, as View2D data resides there */ - if (!view_zoomstep_ok(C)) + if (!view_zoom_poll(C)) return OPERATOR_PASS_THROUGH; /* set RNA-Props - zooming in by uniform factor */ @@ -831,6 +831,8 @@ void VIEW2D_OT_zoom(wmOperatorType *ot) ot->invoke= view_zoomdrag_invoke; ot->modal= view_zoomdrag_modal; + ot->poll= view_zoom_poll; + /* operator is repeatable */ // ot->flag= OPTYPE_REGISTER|OPTYPE_BLOCKING; @@ -929,7 +931,7 @@ void VIEW2D_OT_zoom_border(wmOperatorType *ot) ot->exec= view_borderzoom_exec; ot->modal= WM_border_select_modal; - ot->poll= ED_operator_areaactive; + ot->poll= view_zoom_poll; /* rna */ RNA_def_int(ot->srna, "event_type", 0, INT_MIN, INT_MAX, "Event Type", "", INT_MIN, INT_MAX); diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c index c24670aa856..92aa46ea390 100644 --- a/source/blender/editors/mesh/editmesh_add.c +++ b/source/blender/editors/mesh/editmesh_add.c @@ -1281,9 +1281,9 @@ static float new_primitive_matrix(bContext *C, float primmat[][4]) Mat4One(primmat); - if(rv3d) + if(rv3d && (U.flag & USER_ADD_VIEWALIGNED)) { Mat3CpyMat4(vmat, rv3d->viewmat); - else + } else Mat3One(vmat); /* inverse transform for view and object */ diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 6d5baa80ade..76f355ab7f9 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -7134,7 +7134,7 @@ void MESH_OT_faces_shade_smooth(wmOperatorType *ot) ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } -static int mesh_faces_shade_solid_exec(bContext *C, wmOperator *op) +static int mesh_faces_shade_flat_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); Object *obedit= CTX_data_edit_object(C); @@ -7148,14 +7148,14 @@ static int mesh_faces_shade_solid_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void MESH_OT_faces_shade_solid(wmOperatorType *ot) +void MESH_OT_faces_shade_flat(wmOperatorType *ot) { /* identifiers */ ot->name= "Shade Flat"; - ot->idname= "MESH_OT_faces_shade_solid"; + ot->idname= "MESH_OT_faces_shade_flat"; /* api callbacks */ - ot->exec= mesh_faces_shade_solid_exec; + ot->exec= mesh_faces_shade_flat_exec; ot->poll= ED_operator_editmesh; /* flags */ diff --git a/source/blender/editors/mesh/mesh_intern.h b/source/blender/editors/mesh/mesh_intern.h index 6e098e04a14..905a51a1bb0 100644 --- a/source/blender/editors/mesh/mesh_intern.h +++ b/source/blender/editors/mesh/mesh_intern.h @@ -217,7 +217,7 @@ void MESH_OT_quads_convert_to_tris(struct wmOperatorType *ot); void MESH_OT_tris_convert_to_quads(struct wmOperatorType *ot); void MESH_OT_edge_flip(struct wmOperatorType *ot); void MESH_OT_faces_shade_smooth(struct wmOperatorType *ot); -void MESH_OT_faces_shade_solid(struct wmOperatorType *ot); +void MESH_OT_faces_shade_flat(struct wmOperatorType *ot); void MESH_OT_split(struct wmOperatorType *ot); void MESH_OT_extrude_repeat(struct wmOperatorType *ot); void MESH_OT_edge_rotate(struct wmOperatorType *ot); diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index cfe8dd4352d..8ed68d5cd20 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -147,7 +147,7 @@ static int face_specials_invoke(bContext *C, wmOperator *op, wmEvent *event) uiItemO(layout, NULL, 0, "MESH_OT_flip_normals"); // uiItemO(layout, "Bevel", 0, "MESH_OT_bevel"); // bevelmenu(em) uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_smooth"); - uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_solid"); + uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_flat"); uiItemO(layout, NULL, 0, "MESH_OT_quads_convert_to_tris"); uiItemO(layout, NULL, 0, "MESH_OT_tris_convert_to_quads"); uiItemO(layout, NULL, 0, "MESH_OT_edge_flip"); @@ -205,7 +205,7 @@ static int specials_invoke(bContext *C, wmOperator *op, wmEvent *event) uiItemO(layout, "Smooth", 0, "MESH_OT_vertices_smooth"); // uiItemO(layout, "Bevel", 0, "MESH_OT_bevel"); // bevelmenu(em) uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_smooth"); - uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_solid"); + uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_flat"); //uiItemO(layout, "Blend From Shape", 0, "MESH_OT_blend_from_shape"); //uiItemO(layout, "Propagate to All Shapes", 0, "MESH_OT_shape_propagate_to_all"); uiItemO(layout, "Select Vertex Path", 0, "MESH_OT_select_vertex_path"); @@ -284,7 +284,7 @@ void ED_operatortypes_mesh(void) WM_operatortype_append(MESH_OT_tris_convert_to_quads); WM_operatortype_append(MESH_OT_edge_flip); WM_operatortype_append(MESH_OT_faces_shade_smooth); - WM_operatortype_append(MESH_OT_faces_shade_solid); + WM_operatortype_append(MESH_OT_faces_shade_flat); WM_operatortype_append(MESH_OT_delete); diff --git a/source/blender/editors/object/editconstraint.c b/source/blender/editors/object/editconstraint.c index e3ec72b502c..437beda324b 100644 --- a/source/blender/editors/object/editconstraint.c +++ b/source/blender/editors/object/editconstraint.c @@ -77,9 +77,6 @@ #include "object_intern.h" /* XXX */ -static void BIF_undo_push() {} -static void error() {} -static int okee() {return 0;} static int pupmenu() {return 0;} /* -------------- Get Active Constraint Data ---------------------- */ @@ -203,8 +200,7 @@ bConstraint *add_new_constraint (short type) /* Set up a generic constraint datablock */ con->type = type; con->flag |= CONSTRAINT_EXPAND; - con->enforce = 1.0F; - strcpy(con->name, "Const"); + con->enforce = 1.0f; /* Load the data for it */ cti = constraint_get_typeinfo(con); @@ -214,7 +210,12 @@ bConstraint *add_new_constraint (short type) /* only constraints that change any settings need this */ if (cti->new_data) cti->new_data(con->data); + + /* set the name based on the type of constraint */ + strcpy(con->name, cti->name); } + else + strcpy(con->name, "Const"); return con; } @@ -273,255 +274,6 @@ static void set_constraint_nth_target (bConstraint *con, Object *target, char su } } -/* context: active object in posemode, active channel, optional selected channel */ -void add_constraint (Scene *scene, View3D *v3d, short only_IK) -{ - Object *ob= OBACT, *obsel=NULL; - bPoseChannel *pchanact=NULL, *pchansel=NULL; - bConstraint *con=NULL; - Base *base; - short nr; - - /* paranoia checks */ - if ((ob==NULL) || (ob==scene->obedit)) - return; - - if ((ob->pose) && (ob->flag & OB_POSEMODE)) { - bArmature *arm= ob->data; - - /* find active channel */ - pchanact= get_active_posechannel(ob); - if (pchanact==NULL) - return; - - /* find selected bone */ - for (pchansel=ob->pose->chanbase.first; pchansel; pchansel=pchansel->next) { - if (pchansel != pchanact) { - if (pchansel->bone->flag & BONE_SELECTED) { - if (pchansel->bone->layer & arm->layer) - break; - } - } - } - } - - /* find selected object */ - for (base= FIRSTBASE; base; base= base->next) { - if ((TESTBASE(v3d, base)) && (base->object!=ob)) - obsel= base->object; - } - - /* the only_IK caller has checked for posemode! */ - if (only_IK) { - for (con= pchanact->constraints.first; con; con= con->next) { - if (con->type==CONSTRAINT_TYPE_KINEMATIC) break; - } - if (con) { - error("Pose Channel already has IK"); - return; - } - - if (pchansel) - nr= pupmenu("Add IK Constraint%t|To Active Bone%x10"); - else if (obsel) - nr= pupmenu("Add IK Constraint%t|To Active Object%x10"); - else - nr= pupmenu("Add IK Constraint%t|To New Empty Object%x10|Without Target%x11"); - } - else { - if (pchanact) { - if (pchansel) - nr= pupmenu("Add Constraint to Active Bone%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Stretch To%x7|%l|Action%x16|Script%x18"); - else if ((obsel) && (obsel->type==OB_CURVE)) - nr= pupmenu("Add Constraint to Active Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Follow Path%x6|Clamp To%x17|Stretch To%x7|%l|Action%x16|Script%x18"); - else if ((obsel) && (obsel->type==OB_MESH)) - nr= pupmenu("Add Constraint to Active Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Shrinkwrap%x22|Stretch To%x7|%l|Action%x16|Script%x18"); - else if (obsel) - nr= pupmenu("Add Constraint to Active Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Stretch To%x7|%l|Action%x16|Script%x18"); - else - nr= pupmenu("Add Constraint to New Empty Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Stretch To%x7|%l|Action%x16|Script%x18"); - } - else { - if ((obsel) && (obsel->type==OB_CURVE)) - nr= pupmenu("Add Constraint to Active Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Follow Path%x6|Clamp To%x17|%l|Action%x16|Script%x18"); - else if ((obsel) && (obsel->type==OB_MESH)) - nr= pupmenu("Add Constraint to Active Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|Shrinkwrap%x22|%l|Action%x16|Script%x18"); - else if (obsel) - nr= pupmenu("Add Constraint to Active Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|%l|Action%x16|Script%x18"); - else - nr= pupmenu("Add Constraint to New Empty Object%t|Child Of%x19|Transformation%x20|%l|Copy Location%x1|Copy Rotation%x2|Copy Scale%x8|%l|Limit Location%x13|Limit Rotation%x14|Limit Scale%x15|Limit Distance%x21|%l|Track To%x3|Floor%x4|Locked Track%x5|%l|Action%x16|Script%x18"); - } - } - - if (nr < 1) return; - - /* handle IK separate */ - if (nr==10 || nr==11) { - /* ik - prevent weird chains... */ - if (pchansel) { - bPoseChannel *pchan= pchanact; - while (pchan) { - if (pchan==pchansel) break; - pchan= pchan->parent; - } - if (pchan) { - error("IK root cannot be linked to IK tip"); - return; - } - - pchan= pchansel; - while (pchan) { - if (pchan==pchanact) break; - pchan= pchan->parent; - } - if (pchan) { - error("IK tip cannot be linked to IK root"); - return; - } - } - - con = add_new_constraint(CONSTRAINT_TYPE_KINEMATIC); - BLI_addtail(&pchanact->constraints, con); - unique_constraint_name(con, &pchanact->constraints); - pchanact->constflag |= PCHAN_HAS_IK; /* for draw, but also for detecting while pose solving */ - if (nr==11) - pchanact->constflag |= PCHAN_HAS_TARGET; - if (proxylocked_constraints_owner(ob, pchanact)) - con->flag |= CONSTRAINT_PROXY_LOCAL; - } - else { - /* normal constraints - add data */ - if (nr==1) con = add_new_constraint(CONSTRAINT_TYPE_LOCLIKE); - else if (nr==2) con = add_new_constraint(CONSTRAINT_TYPE_ROTLIKE); - else if (nr==3) con = add_new_constraint(CONSTRAINT_TYPE_TRACKTO); - else if (nr==4) con = add_new_constraint(CONSTRAINT_TYPE_MINMAX); - else if (nr==5) con = add_new_constraint(CONSTRAINT_TYPE_LOCKTRACK); - else if (nr==6) { - Curve *cu= obsel->data; - cu->flag |= CU_PATH; - con = add_new_constraint(CONSTRAINT_TYPE_FOLLOWPATH); - } - else if (nr==7) con = add_new_constraint(CONSTRAINT_TYPE_STRETCHTO); - else if (nr==8) con = add_new_constraint(CONSTRAINT_TYPE_SIZELIKE); - else if (nr==13) con = add_new_constraint(CONSTRAINT_TYPE_LOCLIMIT); - else if (nr==14) con = add_new_constraint(CONSTRAINT_TYPE_ROTLIMIT); - else if (nr==15) con = add_new_constraint(CONSTRAINT_TYPE_SIZELIMIT); - else if (nr==16) { - /* TODO: add a popup-menu to display list of available actions to use (like for pyconstraints) */ - con = add_new_constraint(CONSTRAINT_TYPE_ACTION); - } - else if (nr==17) { - Curve *cu= obsel->data; - cu->flag |= CU_PATH; - con = add_new_constraint(CONSTRAINT_TYPE_CLAMPTO); - } - else if (nr==18) { - char *menustr; - int scriptint= 0; -#ifndef DISABLE_PYTHON - /* popup a list of usable scripts */ - menustr = buildmenu_pyconstraints(NULL, &scriptint); - scriptint = pupmenu(menustr); - MEM_freeN(menustr); - - /* only add constraint if a script was chosen */ - if (scriptint) { - /* add constraint */ - con = add_new_constraint(CONSTRAINT_TYPE_PYTHON); - validate_pyconstraint_cb(con->data, &scriptint); - - /* make sure target allowance is set correctly */ - BPY_pyconstraint_update(ob, con); - } -#endif - } - else if (nr==19) { - con = add_new_constraint(CONSTRAINT_TYPE_CHILDOF); - - /* if this constraint is being added to a posechannel, make sure - * the constraint gets evaluated in pose-space - */ - if (pchanact) { - con->ownspace = CONSTRAINT_SPACE_POSE; - con->flag |= CONSTRAINT_SPACEONCE; - } - } - else if (nr==20) con = add_new_constraint(CONSTRAINT_TYPE_TRANSFORM); - else if (nr==21) con = add_new_constraint(CONSTRAINT_TYPE_DISTLIMIT); - else if (nr==22) con = add_new_constraint(CONSTRAINT_TYPE_SHRINKWRAP); - - if (con==NULL) return; /* paranoia */ - - if (pchanact) { - BLI_addtail(&pchanact->constraints, con); - unique_constraint_name(con, &pchanact->constraints); - pchanact->constflag |= PCHAN_HAS_CONST; /* for draw */ - if (proxylocked_constraints_owner(ob, pchanact)) - con->flag |= CONSTRAINT_PROXY_LOCAL; - } - else { - BLI_addtail(&ob->constraints, con); - unique_constraint_name(con, &ob->constraints); - if (proxylocked_constraints_owner(ob, NULL)) - con->flag |= CONSTRAINT_PROXY_LOCAL; - } - } - - /* set the target */ - if (pchansel) { - set_constraint_nth_target(con, ob, pchansel->name, 0); - } - else if (obsel) { - set_constraint_nth_target(con, obsel, "", 0); - } - else if (ELEM4(nr, 11, 13, 14, 15)==0) { /* add new empty as target */ - Base *base= BASACT, *newbase; - Object *obt; - - obt= add_object(scene, OB_EMPTY); - /* set layers OK */ - newbase= BASACT; - newbase->lay= base->lay; - obt->lay= newbase->lay; - - /* transform cent to global coords for loc */ - if (pchanact) { - if (only_IK) - VecMat4MulVecfl(obt->loc, ob->obmat, pchanact->pose_tail); - else - VecMat4MulVecfl(obt->loc, ob->obmat, pchanact->pose_head); - } - else - VECCOPY(obt->loc, ob->obmat[3]); - - set_constraint_nth_target(con, obt, "", 0); - - /* restore, add_object sets active */ - BASACT= base; - base->flag |= SELECT; - } - - /* active flag */ - con->flag |= CONSTRAINT_ACTIVE; - for (con= con->prev; con; con= con->prev) - con->flag &= ~CONSTRAINT_ACTIVE; - - DAG_scene_sort(scene); // sort order of objects - - if (pchanact) { - ob->pose->flag |= POSE_RECALC; // sort pose channels - DAG_object_flush_update(scene, ob, OB_RECALC_DATA); // and all its relations - } - else - DAG_object_flush_update(scene, ob, OB_RECALC_OB); // and all its relations - - if (only_IK) - BIF_undo_push("Add IK Constraint"); - else - BIF_undo_push("Add Constraint"); - -} - /* ------------- Constraint Sanity Testing ------------------- */ /* checks validity of object pointers, and NULLs, @@ -1055,6 +807,7 @@ void OBJECT_OT_constraints_clear(wmOperatorType *ot) static short get_new_constraint_target(bContext *C, int con_type, Object **tar_ob, bPoseChannel **tar_pchan, short add) { Object *obact= CTX_data_active_object(C); + bPoseChannel *pchanact= get_active_posechannel(obact); short only_curve= 0, only_mesh= 0, only_ob= 0; short found= 0; @@ -1078,21 +831,24 @@ static short get_new_constraint_target(bContext *C, int con_type, Object **tar_o return 0; /* restricted target-type constraints -------------- */ + /* NOTE: for these, we cannot try to add a target object if no valid ones are found, since that doesn't work */ /* curve-based constraints - set the only_curve and only_ob flags */ case CONSTRAINT_TYPE_TRACKTO: case CONSTRAINT_TYPE_CLAMPTO: case CONSTRAINT_TYPE_FOLLOWPATH: only_curve= 1; only_ob= 1; + add= 0; break; /* mesh only? */ case CONSTRAINT_TYPE_SHRINKWRAP: only_mesh= 1; only_ob= 1; + add= 0; break; - /* object only */ + /* object only - add here is ok? */ case CONSTRAINT_TYPE_RIGIDBODYJOINT: only_ob= 1; break; @@ -1103,12 +859,14 @@ static short get_new_constraint_target(bContext *C, int con_type, Object **tar_o /* search in list of selected Pose-Channels for target */ CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) { - /* just use the first one that we encounter... */ - *tar_ob= obact; - *tar_pchan= pchan; - found= 1; - - break; + /* just use the first one that we encounter, as long as it is not the active one */ + if (pchan != pchanact) { + *tar_ob= obact; + *tar_pchan= pchan; + found= 1; + + break; + } } CTX_DATA_END; } @@ -1144,11 +902,13 @@ static short get_new_constraint_target(bContext *C, int con_type, Object **tar_o /* if still not found, add a new empty to act as a target (if allowed) */ if ((found == 0) && (add)) { -#if 0 // XXX old code to be fixed - Base *base= BASACT, *newbase; + Scene *scene= CTX_data_scene(C); + Base *base= BASACT, *newbase=NULL; Object *obt; + /* add new target object */ obt= add_object(scene, OB_EMPTY); + /* set layers OK */ newbase= BASACT; newbase->lay= base->lay; @@ -1156,20 +916,24 @@ static short get_new_constraint_target(bContext *C, int con_type, Object **tar_o /* transform cent to global coords for loc */ if (pchanact) { - if (only_IK) - VecMat4MulVecfl(obt->loc, ob->obmat, pchanact->pose_tail); + /* since by default, IK targets the tip of the last bone, use the tip of the active PoseChannel + * if adding a target for an IK Constraint + */ + if (con_type == CONSTRAINT_TYPE_KINEMATIC) + VecMat4MulVecfl(obt->loc, obact->obmat, pchanact->pose_tail); else - VecMat4MulVecfl(obt->loc, ob->obmat, pchanact->pose_head); + VecMat4MulVecfl(obt->loc, obact->obmat, pchanact->pose_head); } else - VECCOPY(obt->loc, ob->obmat[3]); - - //set_constraint_nth_target(con, obt, "", 0); + VECCOPY(obt->loc, obact->obmat[3]); /* restore, add_object sets active */ BASACT= base; base->flag |= SELECT; -#endif // XXX old code to be ported + + /* make our new target the new object */ + *tar_ob= obt; + found= 1; } /* return whether there's any target */ @@ -1177,14 +941,24 @@ static short get_new_constraint_target(bContext *C, int con_type, Object **tar_o } /* used by add constraint operators to add the constraint required */ -static int constraint_add_exec(bContext *C, wmOperator *op, ListBase *list) +static int constraint_add_exec(bContext *C, wmOperator *op, Object *ob, ListBase *list, int type, short setTarget) { Scene *scene= CTX_data_scene(C); - Object *ob = CTX_data_active_object(C); bPoseChannel *pchan= get_active_posechannel(ob); bConstraint *con; - int type= RNA_enum_get(op->ptr, "type"); - int setTarget= RNA_boolean_get(op->ptr, "set_targets"); + + /* check if constraint to be added is valid for the given constraints stack */ + if (type == CONSTRAINT_TYPE_NULL) { + return OPERATOR_CANCELLED; + } + if ( (type == CONSTRAINT_TYPE_RIGIDBODYJOINT) && (list != &ob->constraints) ) { + BKE_report(op->reports, RPT_ERROR, "Rigid Body Joint Constraint can only be added to Objects."); + return OPERATOR_CANCELLED; + } + if ( (type == CONSTRAINT_TYPE_KINEMATIC) && ((!pchan) || (list != &pchan->constraints)) ) { + BKE_report(op->reports, RPT_ERROR, "IK Constraint can only be added to Bones."); + return OPERATOR_CANCELLED; + } /* create a new constraint of the type requried, and add it to the active/given constraints list */ con = add_new_constraint(type); @@ -1295,103 +1069,64 @@ static int constraint_add_exec(bContext *C, wmOperator *op, ListBase *list) /* ------------------ */ -#if 0 // BUGGY -/* for object cosntraints, don't include NULL or IK for now */ -static int object_constraint_add_invoke(bContext *C, wmOperator *op, wmEvent *evt) -{ - EnumPropertyItem *item; - uiPopupMenu *pup; - uiLayout *layout; - int i, totitem; - - pup= uiPupMenuBegin(C, "Add Constraint", 0); - layout= uiPupMenuLayout(pup); - - /* loop over the constraint-types as defined in the enum - * - code below is based on the code used for WM_menu_invoke() - */ - totitem= sizeof(&constraint_type_items[0]) / sizeof(EnumPropertyItem); - item= constraint_type_items; - - for (i=0; i < totitem; i++) { - if (ELEM(item[i].value, CONSTRAINT_TYPE_NULL, CONSTRAINT_TYPE_KINEMATIC) == 0) { - if (item[i].identifier[0]) - uiItemEnumO(layout, (char*)item[i].name, item[i].icon, "OBJECT_OT_constraint_add", "type", item[i].value); - else - uiItemS(layout); - } - } - - uiPupMenuEnd(C, pup); -} -#endif // BUGGY - /* dummy operator callback */ static int object_constraint_add_exec(bContext *C, wmOperator *op) { ScrArea *sa= CTX_wm_area(C); Object *ob; + int type= RNA_enum_get(op->ptr, "type"); + short with_targets= 0; + /* get active object from context */ if (sa->spacetype == SPACE_BUTS) ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; else ob= CTX_data_active_object(C); - if (!ob) + if (!ob) { + BKE_report(op->reports, RPT_ERROR, "No active object to add constraint to."); return OPERATOR_CANCELLED; - - return constraint_add_exec(C, op, &ob->constraints); -} - -#if 0 // BUGGY -/* for bone constraints, don't include NULL for now */ -static int pose_constraint_add_invoke(bContext *C, wmOperator *op, wmEvent *evt) -{ - EnumPropertyItem *item; - uiPopupMenu *pup; - uiLayout *layout; - int i, totitem; - - pup= uiPupMenuBegin(C, "Add Constraint", 0); - layout= uiPupMenuLayout(pup); - - /* loop over the constraint-types as defined in the enum - * - code below is based on the code used for WM_menu_invoke() - */ - totitem= sizeof(&constraint_type_items[0]) / sizeof(EnumPropertyItem); - item= constraint_type_items; - - for (i=0; i < totitem; i++) { - // TODO: can add some other conditions here... - if (item[i].value != CONSTRAINT_TYPE_NULL) { - if (item[i].identifier[0]) - uiItemEnumO(layout, (char*)item[i].name, item[i].icon, "POSE_OT_constraint_add", "type", item[i].value); - else - uiItemS(layout); - } } - - uiPupMenuEnd(C, pup); + + /* hack: set constraint targets from selected objects in context is allowed when + * operator name included 'with_targets', since the menu doesn't allow multiple properties + */ + if (strstr(op->idname, "with_targets")) + with_targets= 1; + + return constraint_add_exec(C, op, ob, &ob->constraints, type, with_targets); } -#endif // BUGGY /* dummy operator callback */ static int pose_constraint_add_exec(bContext *C, wmOperator *op) { ScrArea *sa= CTX_wm_area(C); Object *ob; + int type= RNA_enum_get(op->ptr, "type"); + short with_targets= 0; + /* get active object from context */ if (sa->spacetype == SPACE_BUTS) ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data; else ob= CTX_data_active_object(C); - if (!ob) + if (!ob) { + BKE_report(op->reports, RPT_ERROR, "No active object to add constraint to."); return OPERATOR_CANCELLED; + } + + /* hack: set constraint targets from selected objects in context is allowed when + * operator name included 'with_targets', since the menu doesn't allow multiple properties + */ + if (strstr(op->idname, "with_targets")) + with_targets= 1; - return constraint_add_exec(C, op, get_active_constraints(ob)); + return constraint_add_exec(C, op, ob, get_active_constraints(ob), type, with_targets); } +/* ------------------ */ + void OBJECT_OT_constraint_add(wmOperatorType *ot) { /* identifiers */ @@ -1400,7 +1135,26 @@ void OBJECT_OT_constraint_add(wmOperatorType *ot) ot->idname= "OBJECT_OT_constraint_add"; /* api callbacks */ - ot->invoke= WM_menu_invoke;//object_constraint_add_invoke; + ot->invoke= WM_menu_invoke; + ot->exec= object_constraint_add_exec; + ot->poll= ED_operator_object_active; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* properties */ + RNA_def_enum(ot->srna, "type", constraint_type_items, 0, "Type", ""); +} + +void OBJECT_OT_constraint_add_with_targets(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Add Constraint (with Targets)"; + ot->description = "Add a constraint to the active object, with target (where applicable) set to the selected Objects/Bones."; + ot->idname= "OBJECT_OT_constraint_add_with_targets"; + + /* api callbacks */ + ot->invoke= WM_menu_invoke; ot->exec= object_constraint_add_exec; ot->poll= ED_operator_object_active; @@ -1409,7 +1163,6 @@ void OBJECT_OT_constraint_add(wmOperatorType *ot) /* properties */ RNA_def_enum(ot->srna, "type", constraint_type_items, 0, "Type", ""); - RNA_def_boolean(ot->srna, "set_targets", 0, "Set Targets", "Set target info for new constraints from context."); } void POSE_OT_constraint_add(wmOperatorType *ot) @@ -1420,7 +1173,26 @@ void POSE_OT_constraint_add(wmOperatorType *ot) ot->idname= "POSE_OT_constraint_add"; /* api callbacks */ - ot->invoke= WM_menu_invoke; //pose_constraint_add_invoke; + ot->invoke= WM_menu_invoke; + ot->exec= pose_constraint_add_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* properties */ + RNA_def_enum(ot->srna, "type", constraint_type_items, 0, "Type", ""); +} + +void POSE_OT_constraint_add_with_targets(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Add Constraint (with Targets)"; + ot->description = "Add a constraint to the active bone, with target (where applicable) set to the selected Objects/Bones."; + ot->idname= "POSE_OT_constraint_add_with_targets"; + + /* api callbacks */ + ot->invoke= WM_menu_invoke; ot->exec= pose_constraint_add_exec; ot->poll= ED_operator_posemode; @@ -1429,6 +1201,139 @@ void POSE_OT_constraint_add(wmOperatorType *ot) /* properties */ RNA_def_enum(ot->srna, "type", constraint_type_items, 0, "Type", ""); - RNA_def_boolean(ot->srna, "set_targets", 0, "Set Targets", "Set target info for new constraints from context."); } +/************************ IK Constraint operators *********************/ +/* NOTE: only for Pose-Channels */ +// TODO: should these be here, or back in editors/armature/poseobject.c again? + +/* present menu with options + validation for targets to use */ +static int pose_ik_add_invoke(bContext *C, wmOperator *op, wmEvent *evt) +{ + Object *ob= CTX_data_active_object(C); + bPoseChannel *pchan= get_active_posechannel(ob); + bConstraint *con= NULL; + + uiPopupMenu *pup; + uiLayout *layout; + Object *tar_ob= NULL; + bPoseChannel *tar_pchan= NULL; + + /* must have active bone */ + if (ELEM(NULL, ob, pchan)) { + BKE_report(op->reports, RPT_ERROR, "Must have active bone to add IK Constraint to."); + return OPERATOR_CANCELLED; + } + + /* bone must not have any constraints already */ + for (con= pchan->constraints.first; con; con= con->next) { + if (con->type==CONSTRAINT_TYPE_KINEMATIC) break; + } + if (con) { + BKE_report(op->reports, RPT_ERROR, "Bone already has IK Constraint."); + return OPERATOR_CANCELLED; + } + + /* prepare popup menu to choose targetting options */ + pup= uiPupMenuBegin(C, "Add IK", 0); + layout= uiPupMenuLayout(pup); + + /* the type of targets we'll set determines the menu entries to show... */ + if (get_new_constraint_target(C, CONSTRAINT_TYPE_KINEMATIC, &tar_ob, &tar_pchan, 0)) { + /* bone target, or object target? + * - the only thing that matters is that we want a target... + */ + if (tar_pchan) + uiItemBooleanO(layout, "To Active Bone", 0, "POSE_OT_ik_add", "with_targets", 1); + else + uiItemBooleanO(layout, "To Active Object", 0, "POSE_OT_ik_add", "with_targets", 1); + } + else { + /* we have a choice of adding to a new empty, or not setting any target (targetless IK) */ + uiItemBooleanO(layout, "To New Empty Object", 0, "POSE_OT_ik_add", "with_targets", 1); + uiItemBooleanO(layout, "Without Targets", 0, "POSE_OT_ik_add", "with_targets", 0); + } + + /* finish building the menu, and process it (should result in calling self again) */ + uiPupMenuEnd(C, pup); + + return OPERATOR_CANCELLED; +} + +/* call constraint_add_exec() to add the IK constraint */ +static int pose_ik_add_exec(bContext *C, wmOperator *op) +{ + Object *ob= CTX_data_active_object(C); + int with_targets= RNA_boolean_get(op->ptr, "with_targets"); + + /* add the constraint - all necessary checks should have been done by the invoke() callback already... */ + return constraint_add_exec(C, op, ob, get_active_constraints(ob), CONSTRAINT_TYPE_KINEMATIC, with_targets); +} + +void POSE_OT_ik_add(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Add IK to Bone"; + ot->description= "Add IK Constraint to the active Bone."; + ot->idname= "POSE_OT_ik_add"; + + /* api callbacks */ + ot->invoke= pose_ik_add_invoke; + ot->exec= pose_ik_add_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + /* properties */ + RNA_def_boolean(ot->srna, "with_targets", 1, "With Targets", "Assign IK Constraint with targets derived from the select bones/objects"); +} + +/* ------------------ */ + +/* remove IK constraints from selected bones */ +static int pose_ik_clear_exec(bContext *C, wmOperator *op) +{ + Scene *scene = CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); + + /* only remove IK Constraints */ + CTX_DATA_BEGIN(C, bPoseChannel*, pchan, selected_pchans) + { + bConstraint *con, *next; + + // TODO: should we be checking if these contraints were local before we try and remove them? + for (con= pchan->constraints.first; con; con= next) { + next= con->next; + if (con->type==CONSTRAINT_TYPE_KINEMATIC) { + free_constraint_data(con); + BLI_freelinkN(&pchan->constraints, con); + } + } + pchan->constflag &= ~(PCHAN_HAS_IK|PCHAN_HAS_TARGET); + } + CTX_DATA_END; + + /* */ + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + + /* note, notifier might evolve */ + WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT|NA_REMOVED, ob); + + return OPERATOR_FINISHED; +} + +void POSE_OT_ik_clear(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Remove IK"; + ot->description= "Remove all IK Constraints from selected bones."; + ot->idname= "POSE_OT_ik_clear"; + + /* api callbacks */ + ot->exec= pose_ik_clear_exec; + ot->poll= ED_operator_posemode; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index 5ad41bd82f8..1752f48990d 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -2753,19 +2753,25 @@ void make_proxy(Scene *scene) /* ******************** make parent operator *********************** */ -#define PAR_OBJECT 0 -#define PAR_ARMATURE 1 -#define PAR_BONE 2 -#define PAR_CURVE 3 -#define PAR_FOLLOW 4 -#define PAR_PATH_CONST 5 -#define PAR_LATTICE 6 -#define PAR_VERTEX 7 -#define PAR_TRIA 8 +#define PAR_OBJECT 0 +#define PAR_ARMATURE 1 +#define PAR_ARMATURE_NAME 2 +#define PAR_ARMATURE_ENVELOPE 3 +#define PAR_ARMATURE_AUTO 4 +#define PAR_BONE 5 +#define PAR_CURVE 6 +#define PAR_FOLLOW 7 +#define PAR_PATH_CONST 8 +#define PAR_LATTICE 9 +#define PAR_VERTEX 10 +#define PAR_TRIA 11 static EnumPropertyItem prop_make_parent_types[] = { {PAR_OBJECT, "OBJECT", 0, "Object", ""}, {PAR_ARMATURE, "ARMATURE", 0, "Armature Deform", ""}, + {PAR_ARMATURE_NAME, "ARMATURE_NAME", 0, " With Empty Groups", ""}, + {PAR_ARMATURE_AUTO, "ARMATURE_AUTO", 0, " With Automatic Weights", ""}, + {PAR_ARMATURE_ENVELOPE, "ARMATURE_ENVELOPE", 0, " With Envelope Weights", ""}, {PAR_BONE, "BONE", 0, "Bone", ""}, {PAR_CURVE, "CURVE", 0, "Curve Deform", ""}, {PAR_FOLLOW, "FOLLOW", 0, "Follow Path", ""}, @@ -2809,6 +2815,7 @@ static int parent_set_exec(bContext *C, wmOperator *op) Object *par= CTX_data_active_object(C); bPoseChannel *pchan= NULL; int partype= RNA_enum_get(op->ptr, "type"); + int pararm= ELEM4(partype, PAR_ARMATURE, PAR_ARMATURE_NAME, PAR_ARMATURE_ENVELOPE, PAR_ARMATURE_AUTO); par->recalc |= OB_RECALC_OB; @@ -2880,24 +2887,20 @@ static int parent_set_exec(bContext *C, wmOperator *op) ob->loc[0] = vec[0]; ob->loc[1] = vec[1]; } - else if(partype==PAR_ARMATURE && ob->type==OB_MESH && par->type == OB_ARMATURE) { + else if(pararm && ob->type==OB_MESH && par->type == OB_ARMATURE) { + if(partype == PAR_ARMATURE_NAME) + create_vgroups_from_armature(scene, ob, par, ARM_GROUPS_NAME); + else if(partype == PAR_ARMATURE_ENVELOPE) + create_vgroups_from_armature(scene, ob, par, ARM_GROUPS_ENVELOPE); + else if(partype == PAR_ARMATURE_AUTO) + create_vgroups_from_armature(scene, ob, par, ARM_GROUPS_AUTO); - if(1) { - /* Prompt the user as to whether he wants to - * add some vertex groups based on the bones - * in the parent armature. - */ - create_vgroups_from_armature(scene, ob, par); - - /* get corrected inverse */ - ob->partype= PAROBJECT; - what_does_parent(scene, ob, &workob); - - ob->partype= PARSKEL; - } - else - what_does_parent(scene, ob, &workob); + /* get corrected inverse */ + ob->partype= PAROBJECT; + what_does_parent(scene, ob, &workob); + ob->partype= PARSKEL; + Mat4Invert(ob->parentinv, workob.obmat); } else { @@ -2908,7 +2911,7 @@ static int parent_set_exec(bContext *C, wmOperator *op) ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA; - if( ELEM3(partype, PAR_CURVE, PAR_ARMATURE, PAR_LATTICE) ) + if( ELEM(partype, PAR_CURVE, PAR_LATTICE) || pararm ) ob->partype= PARSKEL; /* note, dna define, not operator property */ else ob->partype= PAROBJECT; /* note, dna define, not operator property */ @@ -2936,6 +2939,9 @@ static int parent_set_invoke(bContext *C, wmOperator *op, wmEvent *event) /* ob becomes parent, make the associated menus */ if(ob->type==OB_ARMATURE) { uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE); + uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE_NAME); + uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE_ENVELOPE); + uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE_AUTO); uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_BONE); } else if(ob->type==OB_CURVE) { @@ -3587,10 +3593,11 @@ void ED_object_enter_editmode(bContext *C, int flag) if(scene->id.lib) return; if(base==NULL) return; - if(sa->spacetype==SPACE_VIEW3D) + if(sa && sa->spacetype==SPACE_VIEW3D) v3d= sa->spacedata.first; - if((v3d==NULL || (base->lay & v3d->lay))==0) return; + if(v3d && (base->lay & v3d->lay)==0) return; + else if(!v3d && (base->lay & scene->lay)==0) return; ob = base->object; @@ -3710,6 +3717,42 @@ void OBJECT_OT_editmode_toggle(wmOperatorType *ot) /* *************************** */ +static int posemode_exec(bContext *C, wmOperator *op) +{ + Base *base= CTX_data_active_base(C); + + if(base->object->type==OB_ARMATURE) { + if(base->object==CTX_data_edit_object(C)) { + ED_object_exit_editmode(C, EM_FREEDATA); + ED_armature_enter_posemode(C, base); + } + else if(base->object->flag & OB_POSEMODE) + ED_armature_exit_posemode(C, base); + else + ED_armature_enter_posemode(C, base); + + return OPERATOR_FINISHED; + } + + return OPERATOR_PASS_THROUGH; +} + +void OBJECT_OT_posemode_toggle(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toggle Pose Mode"; + ot->idname= "OBJECT_OT_posemode_toggle"; + ot->description= "Enables or disables posing/selecting bones"; + + /* api callbacks */ + ot->exec= posemode_exec; + ot->poll= ED_operator_object_active; + + /* flag */ + ot->flag= OPTYPE_REGISTER; +} + +/* *********************** */ void check_editmode(int type) { @@ -6388,6 +6431,76 @@ void OBJECT_OT_join(wmOperatorType *ot) ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } +/********************** Smooth/Flat *********************/ + +static int shade_smooth_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Object *ob; + Curve *cu; + Nurb *nu; + int clear= (strcmp(op->idname, "OBJECT_OT_shade_flat") == 0); + int done= 0; + + CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) { + ob= base->object; + + if(ob->type==OB_MESH) { + mesh_set_smooth_flag(ob, !clear); + + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + + done= 1; + } + else if ELEM(ob->type, OB_SURF, OB_CURVE) { + cu= ob->data; + + for(nu=cu->nurb.first; nu; nu=nu->next) { + if(!clear) nu->flag |= ME_SMOOTH; + else nu->flag &= ~ME_SMOOTH; + nu= nu->next; + } + + DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + + done= 1; + } + } + CTX_DATA_END; + + return (done)? OPERATOR_FINISHED: OPERATOR_CANCELLED; +} + +void OBJECT_OT_shade_flat(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Shade Flat"; + ot->idname= "OBJECT_OT_shade_flat"; + + /* api callbacks */ + ot->exec= shade_smooth_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +void OBJECT_OT_shade_smooth(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Shade Smooth"; + ot->idname= "OBJECT_OT_shade_smooth"; + + /* api callbacks */ + ot->exec= shade_smooth_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + + + /* ********************** */ void image_aspect(Scene *scene, View3D *v3d) diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h index 99967858d8b..da1dd458555 100644 --- a/source/blender/editors/object/object_intern.h +++ b/source/blender/editors/object/object_intern.h @@ -40,6 +40,7 @@ struct Mesh; /* object_edit.c */ void OBJECT_OT_editmode_toggle(struct wmOperatorType *ot); +void OBJECT_OT_posemode_toggle(struct wmOperatorType *ot); void OBJECT_OT_parent_set(struct wmOperatorType *ot); void OBJECT_OT_parent_clear(struct wmOperatorType *ot); void OBJECT_OT_track_set(struct wmOperatorType *ot); @@ -65,6 +66,8 @@ void OBJECT_OT_object_add(struct wmOperatorType *ot); void OBJECT_OT_duplicate(struct wmOperatorType *ot); void OBJECT_OT_delete(struct wmOperatorType *ot); void OBJECT_OT_join(struct wmOperatorType *ot); +void OBJECT_OT_shade_smooth(struct wmOperatorType *ot); +void OBJECT_OT_shade_flat(struct wmOperatorType *ot); void OBJECT_OT_mesh_add(struct wmOperatorType *ot); void OBJECT_OT_curve_add(struct wmOperatorType *ot); @@ -102,11 +105,16 @@ void OBJECT_OT_modifier_mdef_bind(struct wmOperatorType *ot); /* editconstraint.c */ void OBJECT_OT_constraint_add(struct wmOperatorType *ot); +void OBJECT_OT_constraint_add_with_targets(struct wmOperatorType *ot); void POSE_OT_constraint_add(struct wmOperatorType *ot); +void POSE_OT_constraint_add_with_targets(struct wmOperatorType *ot); void OBJECT_OT_constraints_clear(struct wmOperatorType *ot); void POSE_OT_constraints_clear(struct wmOperatorType *ot); +void POSE_OT_ik_add(struct wmOperatorType *ot); +void POSE_OT_ik_clear(struct wmOperatorType *ot); + void CONSTRAINT_OT_delete(struct wmOperatorType *ot); void CONSTRAINT_OT_move_up(struct wmOperatorType *ot); diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c index 4bc60a6a91b..27d481ef509 100644 --- a/source/blender/editors/object/object_ops.c +++ b/source/blender/editors/object/object_ops.c @@ -64,6 +64,7 @@ void ED_operatortypes_object(void) { WM_operatortype_append(OBJECT_OT_editmode_toggle); + WM_operatortype_append(OBJECT_OT_posemode_toggle); WM_operatortype_append(OBJECT_OT_parent_set); WM_operatortype_append(OBJECT_OT_parent_clear); WM_operatortype_append(OBJECT_OT_track_set); @@ -87,6 +88,8 @@ void ED_operatortypes_object(void) WM_operatortype_append(OBJECT_OT_duplicates_make_real); WM_operatortype_append(OBJECT_OT_duplicate); WM_operatortype_append(OBJECT_OT_join); + WM_operatortype_append(OBJECT_OT_shade_smooth); + WM_operatortype_append(OBJECT_OT_shade_flat); WM_operatortype_append(GROUP_OT_group_create); WM_operatortype_append(GROUP_OT_objects_remove); WM_operatortype_append(GROUP_OT_objects_add_active); @@ -112,9 +115,13 @@ void ED_operatortypes_object(void) WM_operatortype_append(OBJECT_OT_modifier_mdef_bind); WM_operatortype_append(OBJECT_OT_constraint_add); + WM_operatortype_append(OBJECT_OT_constraint_add_with_targets); WM_operatortype_append(POSE_OT_constraint_add); + WM_operatortype_append(POSE_OT_constraint_add_with_targets); WM_operatortype_append(OBJECT_OT_constraints_clear); WM_operatortype_append(POSE_OT_constraints_clear); + WM_operatortype_append(POSE_OT_ik_add); + WM_operatortype_append(POSE_OT_ik_clear); WM_operatortype_append(CONSTRAINT_OT_delete); WM_operatortype_append(CONSTRAINT_OT_move_up); WM_operatortype_append(CONSTRAINT_OT_move_down); @@ -143,7 +150,8 @@ void ED_keymap_object(wmWindowManager *wm) /* Note: this keymap works disregarding mode */ WM_keymap_add_item(keymap, "OBJECT_OT_editmode_toggle", TABKEY, KM_PRESS, 0, 0); - WM_keymap_add_item(keymap, "OBJECT_OT_center_set", CKEY, KM_PRESS, KM_ALT|KM_CTRL, 0); + WM_keymap_add_item(keymap, "OBJECT_OT_posemode_toggle", TABKEY, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "OBJECT_OT_center_set", CKEY, KM_PRESS, KM_ALT|KM_SHIFT|KM_CTRL, 0); /* Note: this keymap gets disabled in non-objectmode, */ keymap= WM_keymap_listbase(wm, "Object Mode", 0, 0); @@ -158,8 +166,8 @@ void ED_keymap_object(wmWindowManager *wm) WM_keymap_verify_item(keymap, "OBJECT_OT_track_set", TKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_verify_item(keymap, "OBJECT_OT_track_clear", TKEY, KM_PRESS, KM_ALT, 0); - RNA_boolean_set(WM_keymap_verify_item(keymap, "OBJECT_OT_constraint_add", CKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "set_targets", 1); - WM_keymap_verify_item(keymap, "OBJECT_OT_constraints_clear", CKEY, KM_PRESS, /*KM_CTRL|*/KM_ALT, 0); + WM_keymap_verify_item(keymap, "OBJECT_OT_constraint_add_with_targets", CKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0); + WM_keymap_verify_item(keymap, "OBJECT_OT_constraints_clear", CKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); WM_keymap_verify_item(keymap, "OBJECT_OT_location_clear", GKEY, KM_PRESS, KM_ALT, 0); WM_keymap_verify_item(keymap, "OBJECT_OT_rotation_clear", RKEY, KM_PRESS, KM_ALT, 0); @@ -178,7 +186,7 @@ void ED_keymap_object(wmWindowManager *wm) // XXX this should probably be in screen instead... here for testing purposes in the meantime... - Aligorith WM_keymap_verify_item(keymap, "ANIM_OT_insert_keyframe_menu", IKEY, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "ANIM_OT_delete_keyframe_old", IKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_verify_item(keymap, "ANIM_OT_delete_keyframe_v3d", IKEY, KM_PRESS, KM_ALT, 0); WM_keymap_verify_item(keymap, "GROUP_OT_group_create", GKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_verify_item(keymap, "GROUP_OT_objects_remove", GKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); diff --git a/source/blender/editors/physics/editparticle.c b/source/blender/editors/physics/editparticle.c index f414297dab4..20033c747f9 100644 --- a/source/blender/editors/physics/editparticle.c +++ b/source/blender/editors/physics/editparticle.c @@ -271,6 +271,7 @@ typedef struct PEData { float smoothfac; float weightfac; float growfac; + int totrekey; int invert; int tot; @@ -1748,7 +1749,6 @@ static void rekey_particle(PEData *data, int pa_index) ParticleSystem *psys= data->psys; ParticleData *pa= &psys->particles[pa_index]; ParticleEdit *edit= psys->edit; - ParticleEditSettings *pset= PE_settings(data->scene); ParticleKey state; HairKey *key, *new_keys; ParticleEditKey *ekey; @@ -1757,19 +1757,19 @@ static void rekey_particle(PEData *data, int pa_index) pa->flag |= PARS_REKEY; - key= new_keys= MEM_callocN(pset->totrekey * sizeof(HairKey),"Hair re-key keys"); + key= new_keys= MEM_callocN(data->totrekey * sizeof(HairKey),"Hair re-key keys"); /* root and tip stay the same */ VECCOPY(key->co, pa->hair->co); - VECCOPY((key + pset->totrekey - 1)->co, (pa->hair + pa->totkey - 1)->co); + VECCOPY((key + data->totrekey - 1)->co, (pa->hair + pa->totkey - 1)->co); sta= key->time= pa->hair->time; - end= (key + pset->totrekey - 1)->time= (pa->hair + pa->totkey - 1)->time; - dval= (end - sta) / (float)(pset->totrekey - 1); + end= (key + data->totrekey - 1)->time= (pa->hair + pa->totkey - 1)->time; + dval= (end - sta) / (float)(data->totrekey - 1); /* interpolate new keys from old ones */ - for(k=1,key++; k<pset->totrekey-1; k++,key++) { - state.time= (float)k / (float)(pset->totrekey-1); + for(k=1,key++; k<data->totrekey-1; k++,key++) { + state.time= (float)k / (float)(data->totrekey-1); psys_get_particle_on_path(data->scene, data->ob, psys, pa_index, &state, 0); VECCOPY(key->co, state.co); key->time= sta + k * dval; @@ -1780,7 +1780,7 @@ static void rekey_particle(PEData *data, int pa_index) MEM_freeN(pa->hair); pa->hair= new_keys; - pa->totkey=pset->totrekey; + pa->totkey=data->totrekey; if(edit->keys[pa_index]) MEM_freeN(edit->keys[pa_index]); @@ -1798,14 +1798,11 @@ static void rekey_particle(PEData *data, int pa_index) static int rekey_exec(bContext *C, wmOperator *op) { PEData data; - ParticleEditSettings *pset; PE_set_data(C, &data); - pset= PE_settings(data.scene); - pset->totrekey= RNA_int_get(op->ptr, "keys"); - - data.dval= 1.0f / (float)(pset->totrekey-1); + data.dval= 1.0f / (float)(data.totrekey-1); + data.totrekey= RNA_int_get(op->ptr, "keys"); foreach_selected_particle(&data, rekey_particle); diff --git a/source/blender/editors/physics/physics_boids.c b/source/blender/editors/physics/physics_boids.c new file mode 100644 index 00000000000..2d3b11080e7 --- /dev/null +++ b/source/blender/editors/physics/physics_boids.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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2009 Janne Karhu. + * All rights reserved. + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +//#include <stdlib.h> +//#include <string.h> +// +#include "MEM_guardedalloc.h" + +#include "DNA_boid_types.h" +#include "DNA_particle_types.h" +//#include "DNA_curve_types.h" +#include "DNA_object_types.h" +//#include "DNA_material_types.h" +//#include "DNA_texture_types.h" +#include "DNA_scene_types.h" +//#include "DNA_world_types.h" + +#include "BKE_boids.h" +#include "BKE_context.h" +#include "BKE_depsgraph.h" +//#include "BKE_font.h" +//#include "BKE_library.h" +//#include "BKE_main.h" +//#include "BKE_material.h" +#include "BKE_particle.h" +//#include "BKE_texture.h" +//#include "BKE_utildefines.h" +//#include "BKE_world.h" + +//#include "BLI_editVert.h" +#include "BLI_listbase.h" +// +#include "RNA_access.h" +#include "RNA_enum_types.h" +#include "RNA_define.h" + +#include "WM_api.h" +#include "WM_types.h" + +//#include "ED_curve.h" +//#include "ED_mesh.h" +// +//#include "buttons_intern.h" // own include + +/************************ add/del boid rule operators *********************/ +static int boidrule_add_exec(bContext *C, wmOperator *op) +{ + Scene *scene = CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob= ptr.id.data; + ParticleSettings *part; + int type= RNA_enum_get(op->ptr, "type"); + + BoidRule *rule; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + part = psys->part; + + state = boid_get_current_state(part->boids); + + + for(rule=state->rules.first; rule; rule=rule->next) + rule->flag &= ~BOIDRULE_CURRENT; + + rule = boid_new_rule(type); + rule->flag |= BOIDRULE_CURRENT; + + BLI_addtail(&state->rules, rule); + + psys_flush_particle_settings(scene, part, PSYS_RECALC_RESET); + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidrule_add(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Add Boid Rule"; + ot->description = "Add a boid rule to the current boid state."; + ot->idname= "BOID_OT_boidrule_add"; + + /* api callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= boidrule_add_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + RNA_def_enum(ot->srna, "type", boidrule_type_items, 0, "Type", ""); +} +static int boidrule_del_exec(bContext *C, wmOperator *op) +{ + Scene *scene = CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob = ptr.id.data; + BoidRule *rule; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + state = boid_get_current_state(psys->part->boids); + + + for(rule=state->rules.first; rule; rule=rule->next) { + if(rule->flag & BOIDRULE_CURRENT) { + BLI_remlink(&state->rules, rule); + MEM_freeN(rule); + break; + } + + } + rule = state->rules.first; + + if(rule) + rule->flag |= BOIDRULE_CURRENT; + + DAG_scene_sort(scene); + psys_flush_particle_settings(scene, psys->part, PSYS_RECALC_RESET); + + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidrule_del(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Remove Boid Rule"; + ot->idname= "BOID_OT_boidrule_del"; + + /* api callbacks */ + ot->exec= boidrule_del_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/************************ move up/down boid rule operators *********************/ +static int boidrule_move_up_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob = ptr.id.data; + BoidRule *rule; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + state = boid_get_current_state(psys->part->boids); + for(rule = state->rules.first; rule; rule=rule->next) { + if(rule->flag & BOIDRULE_CURRENT && rule->prev) { + BLI_remlink(&state->rules, rule); + BLI_insertlink(&state->rules, rule->prev->prev, rule); + + psys_flush_particle_settings(scene, psys->part, PSYS_RECALC_RESET); + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + break; + } + } + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidrule_move_up(wmOperatorType *ot) +{ + ot->name= "Move Up Boid Rule"; + ot->description= "Move boid rule up in the list."; + ot->idname= "BOID_OT_boidrule_move_up"; + + ot->exec= boidrule_move_up_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +static int boidrule_move_down_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob = ptr.id.data; + BoidRule *rule; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + state = boid_get_current_state(psys->part->boids); + for(rule = state->rules.first; rule; rule=rule->next) { + if(rule->flag & BOIDRULE_CURRENT && rule->next) { + BLI_remlink(&state->rules, rule); + BLI_insertlink(&state->rules, rule->next, rule); + + psys_flush_particle_settings(scene, psys->part, PSYS_RECALC_RESET); + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + break; + } + } + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidrule_move_down(wmOperatorType *ot) +{ + ot->name= "Move Down Boid Rule"; + ot->description= "Move boid rule down in the list."; + ot->idname= "BOID_OT_boidrule_move_down"; + + ot->exec= boidrule_move_down_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + + +/************************ add/del boid state operators *********************/ +static int boidstate_add_exec(bContext *C, wmOperator *op) +{ + Scene *scene = CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob= ptr.id.data; + ParticleSettings *part; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + part = psys->part; + + for(state=part->boids->states.first; state; state=state->next) + state->flag &= ~BOIDSTATE_CURRENT; + + state = boid_new_state(part->boids); + state->flag |= BOIDSTATE_CURRENT; + + BLI_addtail(&part->boids->states, state); + + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidstate_add(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Add Boid State"; + ot->description = "Add a boid state to the particle system."; + ot->idname= "BOID_OT_boidstate_add"; + + /* api callbacks */ + ot->exec= boidstate_add_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} +static int boidstate_del_exec(bContext *C, wmOperator *op) +{ + Scene *scene = CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob = ptr.id.data; + ParticleSettings *part; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + part = psys->part; + + for(state=part->boids->states.first; state; state=state->next) { + if(state->flag & BOIDSTATE_CURRENT) { + BLI_remlink(&part->boids->states, state); + MEM_freeN(state); + break; + } + + } + + /* there must be at least one state */ + if(!part->boids->states.first) { + state = boid_new_state(part->boids); + BLI_addtail(&part->boids->states, state); + } + else + state = part->boids->states.first; + + state->flag |= BOIDSTATE_CURRENT; + + DAG_scene_sort(scene); + psys_flush_particle_settings(scene, psys->part, PSYS_RECALC_RESET); + + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidstate_del(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Remove Boid State"; + ot->idname= "BOID_OT_boidstate_del"; + + /* api callbacks */ + ot->exec= boidstate_del_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/************************ move up/down boid state operators *********************/ +static int boidstate_move_up_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob = ptr.id.data; + BoidSettings *boids; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + boids = psys->part->boids; + + for(state = boids->states.first; state; state=state->next) { + if(state->flag & BOIDSTATE_CURRENT && state->prev) { + BLI_remlink(&boids->states, state); + BLI_insertlink(&boids->states, state->prev->prev, state); + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + break; + } + } + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidstate_move_up(wmOperatorType *ot) +{ + ot->name= "Move Up Boid State"; + ot->description= "Move boid state up in the list."; + ot->idname= "BOID_OT_boidstate_move_up"; + + ot->exec= boidstate_move_up_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +static int boidstate_move_down_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); + ParticleSystem *psys= ptr.data; + Object *ob = ptr.id.data; + BoidSettings *boids; + BoidState *state; + + if(!psys || !psys->part || psys->part->phystype != PART_PHYS_BOIDS) + return OPERATOR_CANCELLED; + + boids = psys->part->boids; + + for(state = boids->states.first; state; state=state->next) { + if(state->flag & BOIDSTATE_CURRENT && state->next) { + BLI_remlink(&boids->states, state); + BLI_insertlink(&boids->states, state->next, state); + psys_flush_particle_settings(scene, psys->part, PSYS_RECALC_RESET); + break; + } + } + + return OPERATOR_FINISHED; +} + +void BOID_OT_boidstate_move_down(wmOperatorType *ot) +{ + ot->name= "Move Down Boid State"; + ot->description= "Move boid state down in the list."; + ot->idname= "BOID_OT_boidstate_move_down"; + + ot->exec= boidstate_move_down_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/*******************************************************************************/ +void ED_operatortypes_boids(void) +{ + WM_operatortype_append(BOID_OT_boidrule_add); + WM_operatortype_append(BOID_OT_boidrule_del); + WM_operatortype_append(BOID_OT_boidrule_move_up); + WM_operatortype_append(BOID_OT_boidrule_move_down); + + WM_operatortype_append(BOID_OT_boidstate_add); + WM_operatortype_append(BOID_OT_boidstate_del); + WM_operatortype_append(BOID_OT_boidstate_move_up); + WM_operatortype_append(BOID_OT_boidstate_move_down); +}
\ No newline at end of file diff --git a/source/blender/editors/preview/previewrender.c b/source/blender/editors/preview/previewrender.c index 28b9c6b1833..b542b362ae0 100644 --- a/source/blender/editors/preview/previewrender.c +++ b/source/blender/editors/preview/previewrender.c @@ -112,6 +112,7 @@ typedef struct ShaderPreview { Scene *scene; ID *id; + ID *parent; int sizex, sizey; int *pr_rect; @@ -273,11 +274,10 @@ static Object *find_object(ListBase *lb, const char *name) /* call this with a pointer to initialize preview scene */ /* call this with NULL to restore assigned ID pointers in preview scene */ -static Scene *preview_prepare_scene(Scene *scene, int id_type, ShaderPreview *sp) +static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPreview *sp) { Scene *sce; Base *base; - ID *id= sp?sp->id:NULL; if(pr_main==NULL) return NULL; @@ -410,38 +410,77 @@ static Scene *preview_prepare_scene(Scene *scene, int id_type, ShaderPreview *sp /* new UI convention: draw is in pixel space already. */ /* uses ROUNDBOX button in block to get the rect */ -void ED_preview_draw(const bContext *C, void *idp, rcti *rect) +static int ed_preview_draw_rect(ScrArea *sa, Scene *sce, ID *id, int split, int first, rcti *rect, rcti *newrect) +{ + RenderResult rres; + char name[32]; + int gamma_correct=0; + int offx=0, newx= rect->xmax-rect->xmin, newy= rect->ymax-rect->ymin; + + if (id && GS(id->name) != ID_TE) { + /* exception: don't color manage texture previews - show the raw values */ + if (sce) gamma_correct = sce->r.color_mgt_flag & R_COLOR_MANAGEMENT; + } + + if(!split || first) sprintf(name, "Preview %p", sa); + else sprintf(name, "SecondPreview %p", sa); + + if(split) { + if(first) { + offx= 0; + newx= newx/2; + } + else { + offx= newx/2; + newx= newx - newx/2; + } + } + + RE_GetResultImage(RE_GetRender(name), &rres); + + if(rres.rectf) { + + if(ABS(rres.rectx-newx)<2 && ABS(rres.recty-newy)<2) { + newrect->xmax= MAX2(newrect->xmax, rect->xmin + rres.rectx + offx); + newrect->ymax= MAX2(newrect->ymax, rect->ymin + rres.recty); + + glPushMatrix(); + glTranslatef(offx, 0, 0); + glaDrawPixelsSafe_to32(rect->xmin, rect->ymin, rres.rectx, rres.recty, rres.rectx, rres.rectf, gamma_correct); + glPopMatrix(); + return 1; + } + } + + return 0; +} + +void ED_preview_draw(const bContext *C, void *idp, void *parentp, rcti *rect) { if(idp) { ScrArea *sa= CTX_wm_area(C); Scene *sce = CTX_data_scene(C); ID *id = (ID *)idp; + ID *parent= (ID *)parentp; SpaceButs *sbuts= sa->spacedata.first; - RenderResult rres; + rcti newrect; + int ok; int newx= rect->xmax-rect->xmin, newy= rect->ymax-rect->ymin; - int ok= 0; - char name[32]; - int gamma_correct=0; - - if (id && GS(id->name) != ID_TE) { - /* exception: don't color manage texture previews - show the raw values */ - if (sce) gamma_correct = sce->r.color_mgt_flag & R_COLOR_MANAGEMENT; - } - - sprintf(name, "Preview %p", sa); - RE_GetResultImage(RE_GetRender(name), &rres); - if(rres.rectf) { - - if( ABS(rres.rectx-newx)<2 && ABS(rres.recty-newy)<2 ) { - /* correct size, then black outline matches */ - rect->xmax= rect->xmin + rres.rectx; - rect->ymax= rect->ymin + rres.recty; - - glaDrawPixelsSafe_to32(rect->xmin, rect->ymin, rres.rectx, rres.recty, rres.rectx, rres.rectf, gamma_correct); - ok= 1; - } + newrect.xmin= rect->xmin; + newrect.xmax= rect->xmin; + newrect.ymin= rect->ymin; + newrect.ymax= rect->ymin; + + if(parent) { + ok = ed_preview_draw_rect(sa, sce, parent, 1, 1, rect, &newrect); + ok &= ed_preview_draw_rect(sa, sce, id, 1, 0, rect, &newrect); } + else + ok = ed_preview_draw_rect(sa, sce, id, 0, 0, rect, &newrect); + + if(ok) + *rect= newrect; /* check for spacetype... */ if(sbuts->spacetype==SPACE_BUTS && sbuts->preview) { @@ -450,7 +489,7 @@ void ED_preview_draw(const bContext *C, void *idp, rcti *rect) } if(ok==0) { - ED_preview_shader_job(C, sa, idp, newx, newy); + ED_preview_shader_job(C, sa, id, parent, newx, newy); } } } @@ -791,23 +830,20 @@ static void shader_preview_updatejob(void *spv) } -/* runs inside thread for material, in foreground for icons */ -static void shader_preview_startjob(void *customdata, short *stop, short *do_update) +static void shader_preview_render(ShaderPreview *sp, ID *id, int split, int first) { - ShaderPreview *sp= customdata; Render *re; Scene *sce; float oldlens; - char name [32]; + char name[32]; + int sizex; - sp->stop= stop; - sp->do_update= do_update; - /* get the stuff from the builtin preview dbase */ - sce= preview_prepare_scene(sp->scene, GS(sp->id->name), sp); + sce= preview_prepare_scene(sp->scene, id, GS(id->name), sp); // XXX sizex if(sce==NULL) return; - sprintf(name, "Preview %p", sp->owner); + if(!split || first) sprintf(name, "Preview %p", sp->owner); + else sprintf(name, "SecondPreview %p", sp->owner); re= RE_GetRender(name); /* full refreshed render from first tile */ @@ -825,8 +861,15 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd sce->r.scemode |= R_NO_IMAGE_LOAD; } + /* in case of split preview, use border render */ + if(split) { + if(first) sizex= sp->sizex/2; + else sizex= sp->sizex - sp->sizex/2; + } + else sizex= sp->sizex; + /* allocates or re-uses render result */ - RE_InitState(re, NULL, &sce->r, sp->sizex, sp->sizey, NULL); + RE_InitState(re, NULL, &sce->r, sizex, sp->sizey, NULL); /* callbacs are cleared on GetRender() */ if(sp->pr_method==PR_DO_RENDER) { @@ -835,8 +878,8 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd } /* lens adjust */ oldlens= ((Camera *)sce->camera->data)->lens; - if(sp->sizex > sp->sizey) - ((Camera *)sce->camera->data)->lens *= (float)sp->sizey/(float)sp->sizex; + if(sizex > sp->sizey) + ((Camera *)sce->camera->data)->lens *= (float)sp->sizey/(float)sizex; /* entire cycle for render engine */ RE_SetCamera(re, sce->camera); @@ -845,7 +888,6 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd RE_Database_Free(re); ((Camera *)sce->camera->data)->lens= oldlens; - *do_update= 1; /* handle results */ if(sp->pr_method==PR_ICON_RENDER) { @@ -860,8 +902,25 @@ static void shader_preview_startjob(void *customdata, short *stop, short *do_upd } /* unassign the pointers, reset vars */ - preview_prepare_scene(sp->scene, GS(sp->id->name), NULL); + preview_prepare_scene(sp->scene, NULL, GS(id->name), NULL); +} +/* runs inside thread for material, in foreground for icons */ +static void shader_preview_startjob(void *customdata, short *stop, short *do_update) +{ + ShaderPreview *sp= customdata; + + sp->stop= stop; + sp->do_update= do_update; + + if(sp->parent) { + shader_preview_render(sp, sp->parent, 1, 1); + shader_preview_render(sp, sp->id, 1, 0); + } + else + shader_preview_render(sp, sp->id, 0, 0); + + *do_update= 1; } static void shader_preview_free(void *customdata) @@ -871,7 +930,7 @@ static void shader_preview_free(void *customdata) MEM_freeN(sp); } -void ED_preview_shader_job(const bContext *C, void *owner, ID *id, int sizex, int sizey) +void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, int sizex, int sizey) { wmJob *steve; ShaderPreview *sp; @@ -890,6 +949,7 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, int sizex, in sp->sizey= sizey; sp->pr_method= PR_DO_RENDER; sp->id = id; + sp->parent= parent; /* setup job */ WM_jobs_customdata(steve, sp, shader_preview_free); @@ -905,8 +965,10 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, int sizex, in /* rect should be allocated, sizex/sizy pixels, 32 bits */ void ED_preview_iconrender(Scene *scene, ID *id, int *rect, int sizex, int sizey) { - ShaderPreview *sp= MEM_callocN(sizeof(ShaderPreview), "ShaderPreview"); + ShaderPreview *sp; short stop=0, do_update=0; + + sp= MEM_callocN(sizeof(ShaderPreview), "ShaderPreview"); /* customdata for preview thread */ sp->scene= scene; diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index cdb4322d7f2..62f6e87f073 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -910,13 +910,6 @@ void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space) ARegion *newar= BKE_area_region_copy(st, ar); BLI_addtail(&sa1->regionbase, newar); } - -#ifndef DISABLE_PYTHON - /* scripts */ - BPY_free_scriptlink(&sa1->scriptlink); - sa1->scriptlink= sa2->scriptlink; - BPY_copy_scriptlink(&sa1->scriptlink); /* copies internal pointers */ -#endif } /* *********** Space switching code *********** */ @@ -1063,7 +1056,7 @@ static char *windowtype_pup(void) "|Video Sequence Editor %x8" //143 "|Timeline %x15" //163 - "|Audio Window %x11" //163 + // "|Audio Window %x11" //163 "|Text Editor %x9" //179 "|%l" //192 @@ -1080,7 +1073,7 @@ static char *windowtype_pup(void) "|%l" //293 - "|Scripts Window %x14"//313 + // "|Scripts Window %x14"//313 "|Console %x18" ); } @@ -1092,7 +1085,7 @@ static void spacefunc(struct bContext *C, void *arg1, void *arg2) } /* returns offset for next button in header */ -int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco) +int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco) { ScrArea *sa= CTX_wm_area(C); uiBut *but; @@ -1105,9 +1098,18 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco) "Click for menu of available types."); uiButSetFunc(but, spacefunc, NULL, NULL); - xco += XIC + 14; + return xco + XIC + 14; +} + +int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco) +{ + ScrArea *sa= CTX_wm_area(C); + int xco= 8; + xco= ED_area_header_switchbutton(C, block, yco); + uiBlockSetEmboss(block, UI_EMBOSSN); + if (sa->flag & HEADER_NO_PULLDOWN) { uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0, ICON_DISCLOSURE_TRI_RIGHT, @@ -1122,11 +1124,10 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco) &(sa->flag), 0, 0, 0, 0, "Hide pulldown menus"); } - xco+=XIC; - + uiBlockSetEmboss(block, UI_EMBOSS); - return xco; + return xco + XIC; } /************************ standard UI regions ************************/ @@ -1250,13 +1251,14 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex else { v2d->keepofs &= ~V2D_LOCKOFS_X; v2d->keepofs |= V2D_LOCKOFS_Y; - + // don't jump back when panels close or hide x= MAX2(x, v2d->cur.xmax); y= -y; } - UI_view2d_totRect_set(v2d, x, y); + // +V2D_SCROLL_HEIGHT is workaround to set the actual height + UI_view2d_totRect_set(v2d, x, y+V2D_SCROLL_HEIGHT); /* set the view */ UI_view2d_view_ortho(C, v2d); diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c index 19750833b4d..3842dd3d62f 100644 --- a/source/blender/editors/screen/screen_context.c +++ b/source/blender/editors/screen/screen_context.c @@ -50,7 +50,8 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult "scene", "selected_objects", "selected_bases", "selected_editable_objects", "selected_editable_bases" "active_base", "active_object", "edit_object", - "sculpt_object", "vpaint_object", "wpaint_object", NULL}; + "sculpt_object", "vertex_paint_object", "weight_paint_object", + "texture_paint_object", "brush", "particle_edit_object", NULL}; CTX_data_dir_set(result, dir); return 1; @@ -93,7 +94,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult } else if(CTX_data_equals(member, "active_base")) { if(scene->basact) - CTX_data_pointer_set(result, &scene->id, &RNA_UnknownType, &scene->basact); + CTX_data_pointer_set(result, &scene->id, &RNA_UnknownType, scene->basact); return 1; } @@ -116,19 +117,31 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult return 1; } - else if(CTX_data_equals(member, "vpaint_object")) { + else if(CTX_data_equals(member, "vertex_paint_object")) { if(G.f & G_VERTEXPAINT && scene->basact) CTX_data_id_pointer_set(result, &scene->basact->object->id); return 1; } - else if(CTX_data_equals(member, "wpaint_object")) { + else if(CTX_data_equals(member, "weight_paint_object")) { if(G.f & G_WEIGHTPAINT && scene->basact) CTX_data_id_pointer_set(result, &scene->basact->object->id); return 1; } - + else if(CTX_data_equals(member, "texture_paint_object")) { + if(G.f & G_TEXTUREPAINT && scene->basact) + CTX_data_id_pointer_set(result, &scene->basact->object->id); + + return 1; + } + else if(CTX_data_equals(member, "particle_edit_object")) { + if(G.f & G_PARTICLEEDIT && scene->basact) + CTX_data_id_pointer_set(result, &scene->basact->object->id); + + return 1; + } + return 0; } diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index e7a61514010..dd6bb09c1e4 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -54,6 +54,7 @@ #include "ED_screen.h" #include "ED_screen_types.h" +/* XXX actually should be not here... solve later */ #include "wm_subwindow.h" #include "screen_intern.h" /* own module include */ @@ -404,7 +405,7 @@ ScrArea *area_split(wmWindow *win, bScreen *sc, ScrArea *sa, char dir, float fac /* empty screen, with 1 dummy area without spacedata */ /* uses window size */ -bScreen *screen_add(wmWindow *win, Scene *scene, char *name) +bScreen *ED_screen_add(wmWindow *win, Scene *scene, char *name) { bScreen *sc; ScrVert *sv1, *sv2, *sv3, *sv4; @@ -465,7 +466,6 @@ static void screen_copy(bScreen *to, bScreen *from) sa->spacedata.first= sa->spacedata.last= NULL; sa->regionbase.first= sa->regionbase.last= NULL; sa->actionzones.first= sa->actionzones.last= NULL; - sa->scriptlink.totscript= 0; area_copy_data(sa, saf, 0); } @@ -948,7 +948,7 @@ bScreen *ED_screen_duplicate(wmWindow *win, bScreen *sc) if(sc->full != SCREENNORMAL) return NULL; /* XXX handle this case! */ /* make new empty screen: */ - newsc= screen_add(win, sc->scene, sc->id.name+2); + newsc= ED_screen_add(win, sc->scene, sc->id.name+2); /* copy all data */ screen_copy(newsc, sc); /* set in window */ @@ -1369,8 +1369,6 @@ void ED_screen_set_scene(bContext *C, Scene *scene) ED_update_for_newframe(C, 1); -// set_radglobal(); - /* complete redraw */ WM_event_add_notifier(C, NC_WINDOW, NULL); @@ -1435,7 +1433,7 @@ void ed_screen_fullarea(bContext *C, ScrArea *sa) oldscreen->full = SCREENFULL; - sc= screen_add(CTX_wm_window(C), CTX_data_scene(C), "temp"); + sc= ED_screen_add(CTX_wm_window(C), CTX_data_scene(C), "temp"); sc->full = SCREENFULL; // XXX /* timer */ diff --git a/source/blender/editors/screen/screen_intern.h b/source/blender/editors/screen/screen_intern.h index a0804f3e633..2b3a816f8de 100644 --- a/source/blender/editors/screen/screen_intern.h +++ b/source/blender/editors/screen/screen_intern.h @@ -36,7 +36,6 @@ struct Scene; void area_copy_data (ScrArea *sa1, ScrArea *sa2, int swap_space); /* screen_edit.c */ -bScreen *screen_add(struct wmWindow *win, struct Scene *scene, char *name); ScrEdge *screen_findedge(bScreen *sc, ScrVert *v1, ScrVert *v2); ScrArea *area_split(wmWindow *win, bScreen *sc, ScrArea *sa, char dir, float fac); int screen_area_join(bContext *C, bScreen* scr, ScrArea *sa1, ScrArea *sa2); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 40a234f25ed..c4580674186 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -31,6 +31,7 @@ #include "BLI_arithb.h" #include "BLI_blenlib.h" #include "BLI_editVert.h" +#include "BLI_dlrbTree.h" #include "DNA_armature_types.h" #include "DNA_image_types.h" @@ -63,6 +64,7 @@ #include "ED_mesh.h" #include "ED_object.h" #include "ED_screen_types.h" +#include "ED_keyframes_draw.h" #include "RE_pipeline.h" #include "IMB_imbuf.h" @@ -74,8 +76,15 @@ #include "UI_interface.h" #include "UI_resources.h" +#include "wm_window.h" + #include "screen_intern.h" /* own module include */ +#define KM_MODAL_CANCEL 1 +#define KM_MODAL_APPLY 2 +#define KM_MODAL_STEP10 3 +#define KM_MODAL_STEP10_OFF 4 + /* ************** Exported Poll tests ********************** */ int ED_operator_regionactive(bContext *C) @@ -496,7 +505,7 @@ static int actionzone_modal(bContext *C, wmOperator *op, wmEvent *event) return OPERATOR_RUNNING_MODAL; } -void SCREEN_OT_actionzone(wmOperatorType *ot) +static void SCREEN_OT_actionzone(wmOperatorType *ot) { /* identifiers */ ot->name= "Handle area action zones"; @@ -662,7 +671,7 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, wmEvent *event) newwin= WM_window_open(C, &rect); /* allocs new screen and adds to newly created window, using window size */ - newsc= screen_add(newwin, CTX_data_scene(C), sc->id.name+2); + newsc= ED_screen_add(newwin, CTX_data_scene(C), sc->id.name+2); newwin->screen= newsc; /* copy area to new screen */ @@ -719,7 +728,7 @@ static void SCREEN_OT_area_dupli(wmOperatorType *ot) */ typedef struct sAreaMoveData { - int bigger, smaller, origval; + int bigger, smaller, origval, step; char dir; } sAreaMoveData; @@ -876,38 +885,46 @@ static int area_move_cancel(bContext *C, wmOperator *op) /* modal callback for while moving edges */ static int area_move_modal(bContext *C, wmOperator *op, wmEvent *event) { - sAreaMoveData *md; + sAreaMoveData *md= op->customdata; int delta, x, y; - md= op->customdata; - - x= RNA_int_get(op->ptr, "x"); - y= RNA_int_get(op->ptr, "y"); - /* execute the events */ switch(event->type) { case MOUSEMOVE: + + x= RNA_int_get(op->ptr, "x"); + y= RNA_int_get(op->ptr, "y"); + delta= (md->dir == 'v')? event->x - x: event->y - y; + if(md->step) delta= delta - (delta % md->step); RNA_int_set(op->ptr, "delta", delta); area_move_apply(C, op); break; - case LEFTMOUSE: - if(event->val==0) { - area_move_exit(C, op); - return OPERATOR_FINISHED; + case EVT_MODAL_MAP: + + switch (event->val) { + case KM_MODAL_APPLY: + area_move_exit(C, op); + return OPERATOR_FINISHED; + + case KM_MODAL_CANCEL: + return area_move_cancel(C, op); + + case KM_MODAL_STEP10: + md->step= 10; + break; + case KM_MODAL_STEP10_OFF: + md->step= 0; + break; } - break; - - case ESCKEY: - return area_move_cancel(C, op); } return OPERATOR_RUNNING_MODAL; } -void SCREEN_OT_area_move(wmOperatorType *ot) +static void SCREEN_OT_area_move(wmOperatorType *ot) { /* identifiers */ ot->name= "Move area edges"; @@ -1223,7 +1240,7 @@ static EnumPropertyItem prop_direction_items[] = { {'v', "VERTICAL", 0, "Vertical", ""}, {0, NULL, 0, NULL, NULL}}; -void SCREEN_OT_area_split(wmOperatorType *ot) +static void SCREEN_OT_area_split(wmOperatorType *ot) { ot->name = "Split area"; ot->idname = "SCREEN_OT_area_split"; @@ -1357,7 +1374,6 @@ static void SCREEN_OT_region_scale(wmOperatorType *ot) /* ************** frame change operator ***************************** */ - /* function to be called outside UI context, or for redo */ static int frame_offset_exec(bContext *C, wmOperator *op) { @@ -1372,7 +1388,7 @@ static int frame_offset_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void SCREEN_OT_frame_offset(wmOperatorType *ot) +static void SCREEN_OT_frame_offset(wmOperatorType *ot) { ot->name = "Frame Offset"; ot->idname = "SCREEN_OT_frame_offset"; @@ -1386,6 +1402,93 @@ void SCREEN_OT_frame_offset(wmOperatorType *ot) RNA_def_int(ot->srna, "delta", 0, INT_MIN, INT_MAX, "Delta", "", INT_MIN, INT_MAX); } +/* ************** jump to keyframe operator ***************************** */ + +/* helper function - find actkeycolumn that occurs on cframe, or the nearest one if not found */ +// TODO: make this an API func? +static ActKeyColumn *cfra_find_nearest_next_ak (ActKeyColumn *ak, float cframe, short next) +{ + ActKeyColumn *akn= NULL; + + /* sanity checks */ + if (ak == NULL) + return NULL; + + /* check if this is a match, or whether it is in some subtree */ + if (cframe < ak->cfra) + akn= cfra_find_nearest_next_ak(ak->left, cframe, next); + else if (cframe > ak->cfra) + akn= cfra_find_nearest_next_ak(ak->right, cframe, next); + + /* if no match found (or found match), just use the current one */ + if (akn == NULL) + return ak; + else + return akn; +} + +/* function to be called outside UI context, or for redo */ +static int keyframe_jump_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); + DLRBT_Tree keys; + ActKeyColumn *ak; + short next= RNA_boolean_get(op->ptr, "next"); + + /* sanity checks */ + if (scene == NULL) + return OPERATOR_CANCELLED; + + /* init binarytree-list for getting keyframes */ + BLI_dlrbTree_init(&keys); + + /* populate tree with keyframe nodes */ + if (scene && scene->adt) + scene_to_keylist(NULL, scene, &keys, NULL); + if (ob && ob->adt) + ob_to_keylist(NULL, ob, &keys, NULL); + + /* build linked-list for searching */ + BLI_dlrbTree_linkedlist_sync(&keys); + + /* find nearest keyframe in the right direction */ + ak= cfra_find_nearest_next_ak(keys.root, (float)scene->r.cfra, next); + + /* set the new frame (if keyframe found) */ + if (ak) { + if (next && ak->next) + scene->r.cfra= (int)ak->next->cfra; + else if (!next && ak->prev) + scene->r.cfra= (int)ak->prev->cfra; + else { + printf("ERROR: no suitable keyframe found. Using %f as new frame \n", ak->cfra); + scene->r.cfra= (int)ak->cfra; // XXX + } + } + + /* free temp stuff */ + BLI_dlrbTree_free(&keys); + + WM_event_add_notifier(C, NC_SCENE|ND_FRAME, CTX_data_scene(C)); + + return OPERATOR_FINISHED; +} + +static void SCREEN_OT_keyframe_jump(wmOperatorType *ot) +{ + ot->name = "Jump to Keyframe"; + ot->idname = "SCREEN_OT_keyframe_jump"; + + ot->exec= keyframe_jump_exec; + + ot->poll= ED_operator_screenactive; + ot->flag= 0; + + /* rna */ + RNA_def_boolean(ot->srna, "next", 1, "Next Keyframe", ""); +} + /* ************** switch screen operator ***************************** */ @@ -1428,7 +1531,7 @@ static int screen_set_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } -void SCREEN_OT_screen_set(wmOperatorType *ot) +static void SCREEN_OT_screen_set(wmOperatorType *ot) { ot->name = "Set Screen"; ot->idname = "SCREEN_OT_screen_set"; @@ -1451,7 +1554,7 @@ static int screen_full_area_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void SCREEN_OT_screen_full_area(wmOperatorType *ot) +static void SCREEN_OT_screen_full_area(wmOperatorType *ot) { ot->name = "Toggle Make Area Fullscreen"; ot->idname = "SCREEN_OT_screen_full_area"; @@ -1723,7 +1826,7 @@ static int area_join_modal(bContext *C, wmOperator *op, wmEvent *event) } /* Operator for joining two areas (space types) */ -void SCREEN_OT_area_join(wmOperatorType *ot) +static void SCREEN_OT_area_join(wmOperatorType *ot) { /* identifiers */ ot->name= "Join area"; @@ -1756,7 +1859,7 @@ static int repeat_last_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } -void SCREEN_OT_repeat_last(wmOperatorType *ot) +static void SCREEN_OT_repeat_last(wmOperatorType *ot) { /* identifiers */ ot->name= "Repeat Last"; @@ -1808,7 +1911,7 @@ static int repeat_history_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void SCREEN_OT_repeat_history(wmOperatorType *ot) +static void SCREEN_OT_repeat_history(wmOperatorType *ot) { /* identifiers */ ot->name= "Repeat History"; @@ -1841,7 +1944,7 @@ static int redo_last_invoke(bContext *C, wmOperator *op, wmEvent *event) return OPERATOR_CANCELLED; } -void SCREEN_OT_redo_last(wmOperatorType *ot) +static void SCREEN_OT_redo_last(wmOperatorType *ot) { /* identifiers */ ot->name= "Redo Last"; @@ -1884,7 +1987,7 @@ static int region_split_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void SCREEN_OT_region_split(wmOperatorType *ot) +static void SCREEN_OT_region_split(wmOperatorType *ot) { /* identifiers */ ot->name= "Split Region"; @@ -1973,14 +2076,14 @@ static int region_foursplit_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void SCREEN_OT_region_foursplit(wmOperatorType *ot) +static void SCREEN_OT_region_foursplit(wmOperatorType *ot) { /* identifiers */ ot->name= "Split Region in 4 Parts"; ot->idname= "SCREEN_OT_region_foursplit"; /* api callbacks */ - ot->invoke= WM_operator_confirm; +// ot->invoke= WM_operator_confirm; ot->exec= region_foursplit_exec; ot->poll= ED_operator_areaactive; ot->flag= OPTYPE_REGISTER; @@ -2011,7 +2114,7 @@ static int region_flip_exec(bContext *C, wmOperator *op) } -void SCREEN_OT_region_flip(wmOperatorType *ot) +static void SCREEN_OT_region_flip(wmOperatorType *ot) { /* identifiers */ ot->name= "Flip Region"; @@ -2190,7 +2293,7 @@ static int screen_animation_play(bContext *C, wmOperator *op, wmEvent *event) return OPERATOR_FINISHED; } -void SCREEN_OT_animation_play(wmOperatorType *ot) +static void SCREEN_OT_animation_play(wmOperatorType *ot) { /* identifiers */ ot->name= "Animation player"; @@ -2239,7 +2342,7 @@ static int border_select_do(bContext *C, wmOperator *op) return 1; } -void SCREEN_OT_border_select(wmOperatorType *ot) +static void SCREEN_OT_border_select(wmOperatorType *ot) { /* identifiers */ ot->name= "Border select"; @@ -2366,13 +2469,36 @@ static ScrArea *find_empty_image_area(bContext *C) } #endif // XXX not used -static void screen_set_image_output(bContext *C) +/* new window uses x,y to set position */ +static void screen_set_image_output(bContext *C, int mx, int my) { Scene *scene= CTX_data_scene(C); ScrArea *sa; SpaceImage *sima; - if(scene->r.displaymode==R_OUTPUT_SCREEN) { + if(scene->r.displaymode==R_OUTPUT_WINDOW) { + rcti rect; + int sizex, sizey; + + sizex= 10 + (scene->r.xsch*scene->r.size)/100; + sizey= 40 + (scene->r.ysch*scene->r.size)/100; + + /* arbitrary... miniature image window views don't make much sense */ + if(sizex < 320) sizex= 320; + if(sizey < 256) sizey= 256; + + /* XXX some magic to calculate postition */ + rect.xmin= mx + CTX_wm_window(C)->posx - sizex/2; + rect.ymin= my + CTX_wm_window(C)->posy - sizey/2; + rect.xmax= rect.xmin + sizex; + rect.ymax= rect.ymin + sizey; + + /* changes context! */ + WM_window_open_temp(C, &rect, WM_WINDOW_RENDER); + + sa= CTX_wm_area(C); + } + else if(scene->r.displaymode==R_OUTPUT_SCREEN) { /* this function returns with changed context */ ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_IMAGE); sa= CTX_wm_area(C); @@ -2432,7 +2558,7 @@ static int screen_render_exec(bContext *C, wmOperator *op) } RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break); - if(RNA_boolean_get(op->ptr, "anim")) + if(RNA_boolean_get(op->ptr, "animation")) RE_BlenderAnim(re, scene, scene->r.sfra, scene->r.efra, scene->frame_step); else RE_BlenderFrame(re, scene, scene->r.cfra); @@ -2482,20 +2608,25 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str) else if(scene->r.scemode & R_SINGLE_LAYER) spos+= sprintf(spos, "Single Layer | "); - spos+= sprintf(spos, "Fra:%d Ve:%d Fa:%d ", (scene->r.cfra), rs->totvert, rs->totface); - if(rs->tothalo) spos+= sprintf(spos, "Ha:%d ", rs->tothalo); - if(rs->totstrand) spos+= sprintf(spos, "St:%d ", rs->totstrand); - spos+= sprintf(spos, "La:%d Mem:%.2fM (%.2fM) ", rs->totlamp, megs_used_memory, mmap_used_memory); - - if(rs->curfield) - spos+= sprintf(spos, "Field %d ", rs->curfield); - if(rs->curblur) - spos+= sprintf(spos, "Blur %d ", rs->curblur); + if(rs->statstr) { + spos+= sprintf(spos, "%s ", rs->statstr); + } + else { + spos+= sprintf(spos, "Fra:%d Ve:%d Fa:%d ", (scene->r.cfra), rs->totvert, rs->totface); + if(rs->tothalo) spos+= sprintf(spos, "Ha:%d ", rs->tothalo); + if(rs->totstrand) spos+= sprintf(spos, "St:%d ", rs->totstrand); + spos+= sprintf(spos, "La:%d Mem:%.2fM (%.2fM) ", rs->totlamp, megs_used_memory, mmap_used_memory); + + if(rs->curfield) + spos+= sprintf(spos, "Field %d ", rs->curfield); + if(rs->curblur) + spos+= sprintf(spos, "Blur %d ", rs->curblur); + } BLI_timestr(rs->lastframetime, info_time_str); spos+= sprintf(spos, "Time:%s ", info_time_str); - if(rs->infostr) + if(rs->infostr && rs->infostr[0]) spos+= sprintf(spos, "| %s ", rs->infostr); /* very weak... but 512 characters is quite safe */ @@ -2700,13 +2831,13 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) // store spare /* ensure at least 1 area shows result */ - screen_set_image_output(C); + screen_set_image_output(C, event->x, event->y); /* job custom data */ rj= MEM_callocN(sizeof(RenderJob), "render job"); rj->scene= scene; rj->win= CTX_wm_window(C); - rj->anim= RNA_boolean_get(op->ptr, "anim"); + rj->anim= RNA_boolean_get(op->ptr, "animation"); rj->iuser.scene= scene; rj->iuser.ok= 1; @@ -2748,7 +2879,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) /* contextual render, using current scene, view3d? */ -void SCREEN_OT_render(wmOperatorType *ot) +static void SCREEN_OT_render(wmOperatorType *ot) { /* identifiers */ ot->name= "Render"; @@ -2762,7 +2893,7 @@ void SCREEN_OT_render(wmOperatorType *ot) ot->poll= ED_operator_screenactive; RNA_def_int(ot->srna, "layers", 0, 0, INT_MAX, "Layers", "", 0, INT_MAX); - RNA_def_boolean(ot->srna, "anim", 0, "Animation", ""); + RNA_def_boolean(ot->srna, "animation", 0, "Animation", ""); } /* *********************** cancel render viewer *************** */ @@ -2772,7 +2903,12 @@ static int render_view_cancel_exec(bContext *C, wmOperator *unused) ScrArea *sa= CTX_wm_area(C); SpaceImage *sima= sa->spacedata.first; - if(sima->flag & SI_PREVSPACE) { + /* test if we have a temp screen in front */ + if(CTX_wm_window(C)->screen->full==SCREENTEMP) { + wm_window_lower(CTX_wm_window(C)); + } + /* determine if render already shows */ + else if(sima->flag & SI_PREVSPACE) { sima->flag &= ~SI_PREVSPACE; if(sima->flag & SI_FULLWINDOW) { @@ -2790,7 +2926,7 @@ static int render_view_cancel_exec(bContext *C, wmOperator *unused) return OPERATOR_FINISHED; } -void SCREEN_OT_render_view_cancel(struct wmOperatorType *ot) +static void SCREEN_OT_render_view_cancel(struct wmOperatorType *ot) { /* identifiers */ ot->name= "Cancel Render View"; @@ -2803,12 +2939,16 @@ void SCREEN_OT_render_view_cancel(struct wmOperatorType *ot) /* *********************** show render viewer *************** */ -static int render_view_show_exec(bContext *C, wmOperator *unused) +static int render_view_show_invoke(bContext *C, wmOperator *unused, wmEvent *event) { ScrArea *sa= find_area_showing_r_result(C); + /* test if we have a temp screen in front */ + if(CTX_wm_window(C)->screen->full==SCREENTEMP) { + wm_window_lower(CTX_wm_window(C)); + } /* determine if render already shows */ - if(sa) { + else if(sa) { SpaceImage *sima= sa->spacedata.first; if(sima->flag & SI_PREVSPACE) { @@ -2825,20 +2965,58 @@ static int render_view_show_exec(bContext *C, wmOperator *unused) } } else { - screen_set_image_output(C); + screen_set_image_output(C, event->x, event->y); } return OPERATOR_FINISHED; } -void SCREEN_OT_render_view_show(struct wmOperatorType *ot) +static void SCREEN_OT_render_view_show(struct wmOperatorType *ot) { /* identifiers */ ot->name= "Show/Hide Render View"; ot->idname= "SCREEN_OT_render_view_show"; /* api callbacks */ - ot->exec= render_view_show_exec; + ot->invoke= render_view_show_invoke; + ot->poll= ED_operator_screenactive; +} + +/* *********** show user pref window ****** */ + +static int userpref_show_invoke(bContext *C, wmOperator *unused, wmEvent *event) +{ + ScrArea *sa; + rcti rect; + int sizex, sizey; + + sizex= 800; + sizey= 480; + + /* some magic to calculate postition */ + rect.xmin= event->x + CTX_wm_window(C)->posx - sizex/2; + rect.ymin= event->y + CTX_wm_window(C)->posy - sizey/2; + rect.xmax= rect.xmin + sizex; + rect.ymax= rect.ymin + sizey; + + /* changes context! */ + WM_window_open_temp(C, &rect, WM_WINDOW_USERPREFS); + + sa= CTX_wm_area(C); + + + return OPERATOR_FINISHED; +} + + +static void SCREEN_OT_userpref_show(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Show/Hide User Preferences"; + ot->idname= "SCREEN_OT_userpref_show"; + + /* api callbacks */ + ot->invoke= userpref_show_invoke; ot->poll= ED_operator_screenactive; } @@ -2869,9 +3047,12 @@ void ED_operatortypes_screen(void) WM_operatortype_append(SCREEN_OT_screen_full_area); WM_operatortype_append(SCREEN_OT_screenshot); WM_operatortype_append(SCREEN_OT_screencast); - + WM_operatortype_append(SCREEN_OT_userpref_show); + /*frame changes*/ WM_operatortype_append(SCREEN_OT_frame_offset); + WM_operatortype_append(SCREEN_OT_keyframe_jump); + WM_operatortype_append(SCREEN_OT_animation_step); WM_operatortype_append(SCREEN_OT_animation_play); @@ -2886,6 +3067,31 @@ void ED_operatortypes_screen(void) } +static void keymap_modal_set(wmWindowManager *wm) +{ + static EnumPropertyItem modal_items[] = { + {KM_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""}, + {KM_MODAL_APPLY, "APPLY", 0, "Apply", ""}, + {KM_MODAL_STEP10, "STEP10", 0, "Steps on", ""}, + {KM_MODAL_STEP10_OFF, "STEP10_OFF", 0, "Steps off", ""}, + {0, NULL, 0, NULL, NULL}}; + wmKeyMap *keymap; + + /* Standard Modal keymap ------------------------------------------------ */ + keymap= WM_modalkeymap_add(wm, "Standard Modal Map", modal_items); + + WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, KM_MODAL_CANCEL); + WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_ANY, KM_ANY, 0, KM_MODAL_APPLY); + WM_modalkeymap_add_item(keymap, RETKEY, KM_PRESS, KM_ANY, 0, KM_MODAL_APPLY); + WM_modalkeymap_add_item(keymap, PADENTER, KM_PRESS, KM_ANY, 0, KM_MODAL_APPLY); + + WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_PRESS, KM_ANY, 0, KM_MODAL_STEP10); + WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_RELEASE, KM_ANY, 0, KM_MODAL_STEP10_OFF); + + WM_modalkeymap_assign(keymap, "SCREEN_OT_area_move"); + +} + /* called in spacetypes.c */ void ED_keymap_screen(wmWindowManager *wm) { @@ -2942,9 +3148,13 @@ void ED_keymap_screen(wmWindowManager *wm) /* render */ WM_keymap_add_item(keymap, "SCREEN_OT_render", F12KEY, KM_PRESS, 0, 0); + RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_render", F12KEY, KM_PRESS, KM_CTRL, 0)->ptr, "animation", 1); WM_keymap_add_item(keymap, "SCREEN_OT_render_view_cancel", ESCKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "SCREEN_OT_render_view_show", F11KEY, KM_PRESS, 0, 0); + /* user prefs */ + WM_keymap_add_item(keymap, "SCREEN_OT_userpref_show", UKEY, KM_PRESS, KM_ALT, 0); + /* Anim Playback ------------------------------------------------ */ keymap= WM_keymap_listbase(wm, "Frames", 0, 0); @@ -2954,8 +3164,13 @@ void ED_keymap_screen(wmWindowManager *wm) 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); + 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); + /* play (forward and backwards) */ WM_keymap_add_item(keymap, "SCREEN_OT_animation_play", AKEY, KM_PRESS, KM_ALT, 0); RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_animation_play", AKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0)->ptr, "reverse", 1); + + keymap_modal_set(wm); } diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c index c5aea5ae077..812c41f430e 100644 --- a/source/blender/editors/sculpt_paint/paint_vertex.c +++ b/source/blender/editors/sculpt_paint/paint_vertex.c @@ -1088,7 +1088,7 @@ static int set_wpaint(bContext *C, wmOperator *op) /* toggle */ Mesh *me; me= get_mesh(ob); - if(ob->id.lib || me==NULL) return OPERATOR_CANCELLED; + if(ob->id.lib || me==NULL) return OPERATOR_PASS_THROUGH; if(me && me->totface>=MAXINDEX) { error("Maximum number of faces: %d", MAXINDEX-1); @@ -1465,7 +1465,7 @@ static int wpaint_invoke(bContext *C, wmOperator *op, wmEvent *event) // XXX if(multires_level1_test()) return; me= get_mesh(ob); - if(me==NULL || me->totface==0) return OPERATOR_CANCELLED; + if(me==NULL || me->totface==0) return OPERATOR_PASS_THROUGH; /* if nothing was added yet, we make dverts and a vertex deform group */ if (!me->dvert) @@ -1585,7 +1585,7 @@ static int set_vpaint(bContext *C, wmOperator *op) /* toggle */ if(me==NULL || object_data_is_libdata(ob)) { G.f &= ~G_VERTEXPAINT; - return OPERATOR_FINISHED; + return OPERATOR_PASS_THROUGH; } if(me && me->totface>=MAXINDEX) { @@ -1821,7 +1821,7 @@ static int vpaint_invoke(bContext *C, wmOperator *op, wmEvent *event) /* context checks could be a poll() */ me= get_mesh(ob); - if(me==NULL || me->totface==0) return OPERATOR_CANCELLED; + if(me==NULL || me->totface==0) return OPERATOR_PASS_THROUGH; if(me->mcol==NULL) make_vertexcol(CTX_data_scene(C), 0); if(me->mcol==NULL) return OPERATOR_CANCELLED; diff --git a/source/blender/editors/space_action/action_draw.c b/source/blender/editors/space_action/action_draw.c index 2fd5b9bbd93..216ff3993dd 100644 --- a/source/blender/editors/space_action/action_draw.c +++ b/source/blender/editors/space_action/action_draw.c @@ -52,6 +52,7 @@ #include "DNA_camera_types.h" #include "DNA_curve_types.h" #include "DNA_object_types.h" +#include "DNA_particle_types.h" #include "DNA_screen_types.h" #include "DNA_scene_types.h" #include "DNA_space_types.h" @@ -519,6 +520,22 @@ void draw_channel_names(bAnimContext *ac, SpaceAction *saction, ARegion *ar) strcpy(name, "Materials"); } break; + case ANIMTYPE_FILLPARTD: /* object particles (dopesheet) expand widget */ + { + Object *ob = (Object *)ale->data; + + group = 4; + indent = 1; + special = ICON_PARTICLE_DATA; + + if (FILTER_PART_OBJC(ob)) + expand = ICON_TRIA_DOWN; + else + expand = ICON_TRIA_RIGHT; + + strcpy(name, "Particles"); + } + break; case ANIMTYPE_DSMAT: /* single material (dopesheet) expand widget */ @@ -619,6 +636,23 @@ void draw_channel_names(bAnimContext *ac, SpaceAction *saction, ARegion *ar) strcpy(name, wo->id.name+2); } break; + case ANIMTYPE_DSPART: /* particle (dopesheet) expand widget */ + { + ParticleSettings *part= (ParticleSettings*)ale->data; + + group = 0; + indent = 0; + special = ICON_PARTICLE_DATA; + offset = 21; + + if (FILTER_PART_OBJD(part)) + expand = ICON_TRIA_DOWN; + else + expand = ICON_TRIA_RIGHT; + + strcpy(name, part->id.name+2); + } + break; case ANIMTYPE_GROUP: /* action group */ @@ -671,8 +705,8 @@ void draw_channel_names(bAnimContext *ac, SpaceAction *saction, ARegion *ar) grp= fcu->grp; if (ale->id) { - /* special exception for materials */ - if (GS(ale->id->name) == ID_MA) { + /* special exception for materials and particles */ + if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) { offset= 21; indent= 1; } @@ -1083,6 +1117,7 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar) case ANIMTYPE_FILLACTD: case ANIMTYPE_FILLMATD: + case ANIMTYPE_FILLPARTD: case ANIMTYPE_DSSKEY: case ANIMTYPE_DSWOR: { diff --git a/source/blender/editors/space_action/action_header.c b/source/blender/editors/space_action/action_header.c index f5c85d4d983..7820b231212 100644 --- a/source/blender/editors/space_action/action_header.c +++ b/source/blender/editors/space_action/action_header.c @@ -381,6 +381,7 @@ void action_header_buttons(const bContext *C, ARegion *ar) uiDefIconButBitI(block, TOGN, ADS_FILTER_NOLAM, B_REDR, ICON_LAMP_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(saction->ads.filterflag), 0, 0, 0, 0, "Display Lamps"); uiDefIconButBitI(block, TOGN, ADS_FILTER_NOCAM, B_REDR, ICON_CAMERA_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(saction->ads.filterflag), 0, 0, 0, 0, "Display Cameras"); uiDefIconButBitI(block, TOGN, ADS_FILTER_NOCUR, B_REDR, ICON_CURVE_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(saction->ads.filterflag), 0, 0, 0, 0, "Display Curves"); + uiDefIconButBitI(block, TOGN, ADS_FILTER_NOPART, B_REDR, ICON_PARTICLE_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(saction->ads.filterflag), 0, 0, 0, 0, "Display Particles"); uiBlockEndAlign(block); xco += 30; } diff --git a/source/blender/editors/space_api/spacetypes.c b/source/blender/editors/space_api/spacetypes.c index 5a55c5fb717..b427742077a 100644 --- a/source/blender/editors/space_api/spacetypes.c +++ b/source/blender/editors/space_api/spacetypes.c @@ -93,6 +93,7 @@ void ED_spacetypes_init(void) ED_operatortypes_marker(); ED_operatortypes_pointcache(); ED_operatortypes_fluid(); + ED_operatortypes_boids(); ui_view2d_operatortypes(); diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c index b7e2a3325cb..1bc663a789b 100644 --- a/source/blender/editors/space_buttons/buttons_context.c +++ b/source/blender/editors/space_buttons/buttons_context.c @@ -31,6 +31,7 @@ #include "MEM_guardedalloc.h" #include "DNA_armature_types.h" +#include "DNA_brush_types.h" #include "DNA_lamp_types.h" #include "DNA_material_types.h" #include "DNA_modifier_types.h" @@ -45,6 +46,7 @@ #include "BLI_listbase.h" #include "BKE_context.h" +#include "BKE_global.h" #include "BKE_material.h" #include "BKE_modifier.h" #include "BKE_particle.h" @@ -65,7 +67,7 @@ typedef struct ButsContextPath { PointerRNA ptr[8]; int len; - int worldtex; + int flag; } ButsContextPath; static int set_pointer_type(ButsContextPath *path, bContextDataResult *result, StructRNA *type) @@ -302,10 +304,48 @@ static int buttons_context_path_particle(ButsContextPath *path) return 0; } +static int buttons_context_path_brush(ButsContextPath *path) +{ + Scene *scene; + ToolSettings *ts; + Brush *br= NULL; + PointerRNA *ptr= &path->ptr[path->len-1]; + + /* if we already have a (pinned) brush, we're done */ + if(RNA_struct_is_a(ptr->type, &RNA_Brush)) { + return 1; + } + /* if we have a scene, use the toolsettings brushes */ + else if(buttons_context_path_scene(path)) { + scene= path->ptr[path->len-1].data; + ts= scene->toolsettings; + + if(G.f & G_SCULPTMODE) + br= ts->sculpt->brush; + else if(G.f & G_VERTEXPAINT) + br= ts->vpaint->brush; + else if(G.f & G_WEIGHTPAINT) + br= ts->wpaint->brush; + else if(G.f & G_TEXTUREPAINT) + br= ts->imapaint.brush; + + if(br) { + RNA_id_pointer_create(&br->id, &path->ptr[path->len]); + path->len++; + + return 1; + } + } + + /* no path to a world possible */ + return 0; +} + static int buttons_context_path_texture(ButsContextPath *path) { Material *ma; Lamp *la; + Brush *br; World *wo; MTex *mtex; Tex *tex; @@ -315,8 +355,21 @@ static int buttons_context_path_texture(ButsContextPath *path) if(RNA_struct_is_a(ptr->type, &RNA_Texture)) { return 1; } + /* try brush */ + else if((path->flag & SB_BRUSH_TEX) && buttons_context_path_brush(path)) { + br= path->ptr[path->len-1].data; + + if(br) { + mtex= br->mtex[(int)br->texact]; + tex= (mtex)? mtex->tex: NULL; + + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } + } /* try world */ - else if(path->worldtex && buttons_context_path_world(path)) { + else if((path->flag & SB_WORLD_TEX) && buttons_context_path_world(path)) { wo= path->ptr[path->len-1].data; if(wo) { @@ -354,20 +407,21 @@ static int buttons_context_path_texture(ButsContextPath *path) return 1; } } - /* TODO: material nodes, brush */ + /* TODO: material nodes */ - /* no path to a particle system possible */ + /* no path to a texture possible */ return 0; } -static int buttons_context_path(const bContext *C, ButsContextPath *path, int mainb, int worldtex) + +static int buttons_context_path(const bContext *C, ButsContextPath *path, int mainb, int flag) { SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); ID *id; int found; memset(path, 0, sizeof(*path)); - path->worldtex= worldtex; + path->flag= flag; /* if some ID datablock is pinned, set the root pointer */ if(sbuts->pinid) { @@ -430,18 +484,18 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts) { ButsContextPath *path; PointerRNA *ptr; - int a, worldtex, flag= 0; + int a, pflag, flag= 0; if(!sbuts->path) sbuts->path= MEM_callocN(sizeof(ButsContextPath), "ButsContextPath"); path= sbuts->path; - worldtex= (sbuts->flag & SB_WORLD_TEX); + pflag= (sbuts->flag & (SB_WORLD_TEX|SB_BRUSH_TEX)); /* for each context, see if we can compute a valid path to it, if * this is the case, we know we have to display the button */ for(a=0; a<BCONTEXT_TOT; a++) { - if(buttons_context_path(C, path, a, worldtex)) { + if(buttons_context_path(C, path, a, pflag)) { flag |= (1<<a); /* setting icon for data context */ @@ -456,6 +510,11 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts) } } + /* always try to use the tab that was explicitly + * set to the user, so that once that context comes + * back, the tab is activated again */ + sbuts->mainb= sbuts->mainbuser; + /* in case something becomes invalid, change */ if((flag & (1 << sbuts->mainb)) == 0) { if(flag & BCONTEXT_OBJECT) { @@ -471,7 +530,7 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts) } } - buttons_context_path(C, path, sbuts->mainb, worldtex); + buttons_context_path(C, path, sbuts->mainb, pflag); if(!(flag & (1 << sbuts->mainb))) { if(flag & (1 << BCONTEXT_OBJECT)) @@ -496,10 +555,10 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r /* here we handle context, getting data from precomputed path */ if(CTX_data_dir(member)) { static const char *dir[] = { - "world", "object", "meshe", "armature", "lattice", "curve", + "world", "object", "mesh", "armature", "lattice", "curve", "meta_ball", "lamp", "camera", "material", "material_slot", "texture", "texture_slot", "bone", "edit_bone", "particle_system", - "cloth", "soft_body", "fluid", "collision", NULL}; + "cloth", "soft_body", "fluid", "collision", "brush", NULL}; CTX_data_dir_set(result, dir); return 1; @@ -642,6 +701,10 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r return 1; } } + else if(CTX_data_equals(member, "brush")) { + set_pointer_type(path, result, &RNA_Brush); + return 1; + } return 0; } @@ -736,4 +799,3 @@ void buttons_context_register(ARegionType *art) pt->flag= PNL_NO_HEADER; BLI_addtail(&art->paneltypes, pt); } - diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c index ff906b7f539..b5af1ab598c 100644 --- a/source/blender/editors/space_buttons/buttons_header.c +++ b/source/blender/editors/space_buttons/buttons_header.c @@ -60,66 +60,14 @@ #include "buttons_intern.h" -/* ************************ header area region *********************** */ - -static void do_viewmenu(bContext *C, void *arg, int event) -{ - SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); - ScrArea *sa= CTX_wm_area(C); - - switch(event) { - case 1: - case 2: - sbuts->align= event; - sbuts->re_align= 1; - break; - } - - ED_area_tag_redraw(sa); -} - -static uiBlock *dummy_viewmenu(bContext *C, ARegion *ar, void *arg_unused) -{ - SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); - ScrArea *sa= CTX_wm_area(C); - uiBlock *block; - short yco= 0, menuwidth=120; - - block= uiBeginBlock(C, ar, "dummy_viewmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_viewmenu, NULL); - - if (sbuts->align == 1) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Horizontal", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Horizontal", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - - if (sbuts->align == 2) uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Vertical", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - else uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Vertical", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - if(sa->headertype==HEADERTOP) { - uiBlockSetDirection(block, UI_DOWN); - } - else { - uiBlockSetDirection(block, UI_TOP); - uiBlockFlipOrder(block); - } - - uiTextBoundsBlock(block, 50); - uiEndBlock(C, block); - - return block; -} - #define B_CONTEXT_SWITCH 101 #define B_BUTSPREVIEW 102 -#define B_NEWFRAME 103 static void do_buttons_buttons(bContext *C, void *arg, int event) { SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); switch(event) { - case B_NEWFRAME: - WM_event_add_notifier(C, NC_SCENE|ND_FRAME, NULL); - break; case B_CONTEXT_SWITCH: case B_BUTSPREVIEW: ED_area_tag_redraw(CTX_wm_area(C)); @@ -133,11 +81,12 @@ static void do_buttons_buttons(bContext *C, void *arg, int event) sbuts->preview= 1; break; } + + sbuts->mainbuser= sbuts->mainb; } void buttons_header_buttons(const bContext *C, ARegion *ar) { - ScrArea *sa= CTX_wm_area(C); SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); uiBlock *block; int xco, yco= 3; @@ -147,17 +96,7 @@ void buttons_header_buttons(const bContext *C, ARegion *ar) block= uiBeginBlock(C, ar, "header buttons", UI_EMBOSS); uiBlockSetHandleFunc(block, do_buttons_buttons, NULL); - xco= ED_area_header_standardbuttons(C, block, yco); - - if((sa->flag & HEADER_NO_PULLDOWN)==0) { - int xmax; - - xmax= GetButStringLength("View"); - uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C), - "View", xco, yco, xmax-3, 20, ""); - - xco+=xmax; - } + xco= ED_area_header_switchbutton(C, block, yco); uiBlockSetEmboss(block, UI_EMBOSS); @@ -166,29 +105,28 @@ void buttons_header_buttons(const bContext *C, ARegion *ar) // Default panels uiBlockBeginAlign(block); if(sbuts->pathflag & (1<<BCONTEXT_SCENE)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene"); if(sbuts->pathflag & (1<<BCONTEXT_WORLD)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World"); if(sbuts->pathflag & (1<<BCONTEXT_OBJECT)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object"); if(sbuts->pathflag & (1<<BCONTEXT_CONSTRAINT)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Constraint"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Constraint"); if(sbuts->pathflag & (1<<BCONTEXT_DATA)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, sbuts->dataicon, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, sbuts->dataicon, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data"); if(sbuts->pathflag & (1<<BCONTEXT_MODIFIER)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifier"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifier"); if(sbuts->pathflag & (1<<BCONTEXT_BONE)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone"); if(sbuts->pathflag & (1<<BCONTEXT_MATERIAL)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MATERIAL, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MATERIAL, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material"); if(sbuts->pathflag & (1<<BCONTEXT_TEXTURE)) - uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture"); + uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture"); if(sbuts->pathflag & (1<<BCONTEXT_PARTICLE)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles"); if(sbuts->pathflag & (1<<BCONTEXT_PHYSICS)) - uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics"); - - xco+= XIC; + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics"); + xco+= BUTS_UI_UNIT; uiBlockEndAlign(block); diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h index 20db9fce8f2..c505c7fdb18 100644 --- a/source/blender/editors/space_buttons/buttons_intern.h +++ b/source/blender/editors/space_buttons/buttons_intern.h @@ -49,6 +49,9 @@ struct wmOperatorType; #define BUTS_SENS_STATE 512 #define BUTS_ACT_STATE 1024 +#define BUTS_HEADERY (HEADERY*1.2) +#define BUTS_UI_UNIT (UI_UNIT_Y*1.2) + /* internal exports only */ /* buttons_header.c */ @@ -78,13 +81,15 @@ void OBJECT_OT_particle_system_add(struct wmOperatorType *ot); void OBJECT_OT_particle_system_remove(struct wmOperatorType *ot); void PARTICLE_OT_new(struct wmOperatorType *ot); -void PARTICLE_OT_new_keyed_target(struct wmOperatorType *ot); -void PARTICLE_OT_remove_keyed_target(struct wmOperatorType *ot); -void PARTICLE_OT_keyed_target_move_up(struct wmOperatorType *ot); -void PARTICLE_OT_keyed_target_move_down(struct wmOperatorType *ot); +void PARTICLE_OT_new_target(struct wmOperatorType *ot); +void PARTICLE_OT_remove_target(struct wmOperatorType *ot); +void PARTICLE_OT_target_move_up(struct wmOperatorType *ot); +void PARTICLE_OT_target_move_down(struct wmOperatorType *ot); void SCENE_OT_render_layer_add(struct wmOperatorType *ot); void SCENE_OT_render_layer_remove(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 7dececd2679..fee79c6d9c2 100644 --- a/source/blender/editors/space_buttons/buttons_ops.c +++ b/source/blender/editors/space_buttons/buttons_ops.c @@ -30,6 +30,7 @@ #include "MEM_guardedalloc.h" +#include "DNA_boid_types.h" #include "DNA_curve_types.h" #include "DNA_group_types.h" #include "DNA_object_types.h" @@ -37,6 +38,8 @@ #include "DNA_node_types.h" #include "DNA_texture_types.h" #include "DNA_scene_types.h" +#include "DNA_screen_types.h" +#include "DNA_space_types.h" #include "DNA_world_types.h" #include "BKE_context.h" @@ -57,6 +60,7 @@ #include "BLI_listbase.h" #include "RNA_access.h" +#include "RNA_enum_types.h" #include "WM_api.h" #include "WM_types.h" @@ -67,6 +71,8 @@ #include "RNA_access.h" #include "RNA_define.h" +#include "UI_interface.h" + #include "buttons_intern.h" // own include @@ -623,7 +629,7 @@ static int new_particle_settings_exec(bContext *C, wmOperator *op) if(psys->part) part= psys_copy_settings(psys->part); else - part= psys_new_settings("PSys", bmain); + part= psys_new_settings("ParticleSettings", bmain); ob= ptr.id.data; @@ -632,6 +638,8 @@ static int new_particle_settings_exec(bContext *C, wmOperator *op) psys->part = part; + psys_check_boid_data(psys); + DAG_scene_sort(scene); DAG_object_flush_update(scene, ob, OB_RECALC_DATA); @@ -655,28 +663,28 @@ void PARTICLE_OT_new(wmOperatorType *ot) /********************** keyed particle target operators *********************/ -static int new_keyed_particle_target_exec(bContext *C, wmOperator *op) +static int new_particle_target_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); ParticleSystem *psys= ptr.data; Object *ob = ptr.id.data; - KeyedParticleTarget *kpt; + ParticleTarget *pt; if(!psys) return OPERATOR_CANCELLED; - kpt = psys->keyed_targets.first; - for(; kpt; kpt=kpt->next) - kpt->flag &= ~KEYED_TARGET_CURRENT; + pt = psys->targets.first; + for(; pt; pt=pt->next) + pt->flag &= ~PTARGET_CURRENT; - kpt = MEM_callocN(sizeof(KeyedParticleTarget), "keyed particle target"); + pt = MEM_callocN(sizeof(ParticleTarget), "keyed particle target"); - kpt->flag |= KEYED_TARGET_CURRENT; - kpt->psys = 1; + pt->flag |= PTARGET_CURRENT; + pt->psys = 1; - BLI_addtail(&psys->keyed_targets, kpt); + BLI_addtail(&psys->targets, pt); DAG_scene_sort(scene); DAG_object_flush_update(scene, ob, OB_RECALC_DATA); @@ -686,44 +694,44 @@ static int new_keyed_particle_target_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void PARTICLE_OT_new_keyed_target(wmOperatorType *ot) +void PARTICLE_OT_new_target(wmOperatorType *ot) { /* identifiers */ - ot->name= "New Keyed Particle Target"; - ot->idname= "PARTICLE_OT_new_keyed_target"; + ot->name= "New Particle Target"; + ot->idname= "PARTICLE_OT_new_target"; /* api callbacks */ - ot->exec= new_keyed_particle_target_exec; + ot->exec= new_particle_target_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } -static int remove_keyed_particle_target_exec(bContext *C, wmOperator *op) +static int remove_particle_target_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); ParticleSystem *psys= ptr.data; Object *ob = ptr.id.data; - KeyedParticleTarget *kpt; + ParticleTarget *pt; if(!psys) return OPERATOR_CANCELLED; - kpt = psys->keyed_targets.first; - for(; kpt; kpt=kpt->next) { - if(kpt->flag & KEYED_TARGET_CURRENT) { - BLI_remlink(&psys->keyed_targets, kpt); - MEM_freeN(kpt); + pt = psys->targets.first; + for(; pt; pt=pt->next) { + if(pt->flag & PTARGET_CURRENT) { + BLI_remlink(&psys->targets, pt); + MEM_freeN(pt); break; } } - kpt = psys->keyed_targets.last; + pt = psys->targets.last; - if(kpt) - kpt->flag |= KEYED_TARGET_CURRENT; + if(pt) + pt->flag |= PTARGET_CURRENT; DAG_scene_sort(scene); DAG_object_flush_update(scene, ob, OB_RECALC_DATA); @@ -733,37 +741,37 @@ static int remove_keyed_particle_target_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void PARTICLE_OT_remove_keyed_target(wmOperatorType *ot) +void PARTICLE_OT_remove_target(wmOperatorType *ot) { /* identifiers */ - ot->name= "Remove Keyed Particle Target"; - ot->idname= "PARTICLE_OT_remove_keyed_target"; + ot->name= "Remove Particle Target"; + ot->idname= "PARTICLE_OT_remove_target"; /* api callbacks */ - ot->exec= remove_keyed_particle_target_exec; + ot->exec= remove_particle_target_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } -/************************ move up modifier operator *********************/ +/************************ move up particle target operator *********************/ -static int keyed_target_move_up_exec(bContext *C, wmOperator *op) +static int target_move_up_exec(bContext *C, wmOperator *op) { Scene *scene= CTX_data_scene(C); PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); ParticleSystem *psys= ptr.data; Object *ob = ptr.id.data; - KeyedParticleTarget *kpt; + ParticleTarget *pt; if(!psys) return OPERATOR_CANCELLED; - kpt = psys->keyed_targets.first; - for(; kpt; kpt=kpt->next) { - if(kpt->flag & KEYED_TARGET_CURRENT && kpt->prev) { - BLI_remlink(&psys->keyed_targets, kpt); - BLI_insertlink(&psys->keyed_targets, kpt->prev->prev, kpt); + pt = psys->targets.first; + for(; pt; pt=pt->next) { + if(pt->flag & PTARGET_CURRENT && pt->prev) { + BLI_remlink(&psys->targets, pt); + BLI_insertlink(&psys->targets, pt->prev->prev, pt); DAG_object_flush_update(scene, ob, OB_RECALC_DATA); WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); @@ -774,35 +782,35 @@ static int keyed_target_move_up_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void PARTICLE_OT_keyed_target_move_up(wmOperatorType *ot) +void PARTICLE_OT_target_move_up(wmOperatorType *ot) { - ot->name= "Move Up Keyed Target"; - ot->description= "Move keyed particle target up in the list."; - ot->idname= "PARTICLE_OT_keyed_target_move_up"; + ot->name= "Move Up Target"; + ot->description= "Move particle target up in the list."; + ot->idname= "PARTICLE_OT_target_move_up"; - ot->exec= keyed_target_move_up_exec; + ot->exec= target_move_up_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } -/************************ move down modifier operator *********************/ +/************************ move down particle target operator *********************/ -static int keyed_target_move_down_exec(bContext *C, wmOperator *op) +static int target_move_down_exec(bContext *C, wmOperator *op) { Scene *scene= CTX_data_scene(C); PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem); ParticleSystem *psys= ptr.data; Object *ob = ptr.id.data; - KeyedParticleTarget *kpt; + ParticleTarget *pt; if(!psys) return OPERATOR_CANCELLED; - kpt = psys->keyed_targets.first; - for(; kpt; kpt=kpt->next) { - if(kpt->flag & KEYED_TARGET_CURRENT && kpt->next) { - BLI_remlink(&psys->keyed_targets, kpt); - BLI_insertlink(&psys->keyed_targets, kpt->next, kpt); + pt = psys->targets.first; + for(; pt; pt=pt->next) { + if(pt->flag & PTARGET_CURRENT && pt->next) { + BLI_remlink(&psys->targets, pt); + BLI_insertlink(&psys->targets, pt->next, pt); DAG_object_flush_update(scene, ob, OB_RECALC_DATA); WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); @@ -813,13 +821,13 @@ static int keyed_target_move_down_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -void PARTICLE_OT_keyed_target_move_down(wmOperatorType *ot) +void PARTICLE_OT_target_move_down(wmOperatorType *ot) { - ot->name= "Move Down Keyed Target"; - ot->description= "Move keyed particle target down in the list."; - ot->idname= "PARTICLE_OT_keyed_target_move_down"; + ot->name= "Move Down Target"; + ot->description= "Move particle target down in the list."; + ot->idname= "PARTICLE_OT_target_move_down"; - ot->exec= keyed_target_move_down_exec; + ot->exec= target_move_down_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; @@ -896,3 +904,34 @@ void SCENE_OT_render_layer_remove(wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } + +/********************** toolbox operator *********************/ + +static int toolbox_invoke(bContext *C, wmOperator *op, wmEvent *event) +{ + bScreen *sc= CTX_wm_screen(C); + SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); + PointerRNA ptr; + uiPopupMenu *pup; + uiLayout *layout; + + RNA_pointer_create(&sc->id, &RNA_SpaceButtonsWindow, sbuts, &ptr); + + pup= uiPupMenuBegin(C, "Align", 0); + layout= uiPupMenuLayout(pup); + uiItemsEnumR(layout, &ptr, "align"); + uiPupMenuEnd(C, pup); + + return OPERATOR_CANCELLED; +} + +void BUTTONS_OT_toolbox(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toolbox"; + ot->idname= "BUTTONS_OT_toolbox"; + + /* api callbacks */ + ot->invoke= toolbox_invoke; +} + diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index 9345a24b198..1d478514779 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -70,7 +70,6 @@ static SpaceLink *buttons_new(const bContext *C) sbuts= MEM_callocN(sizeof(SpaceButs), "initbuts"); sbuts->spacetype= SPACE_BUTS; - sbuts->scaflag= BUTS_SENS_LINK|BUTS_SENS_ACT|BUTS_CONT_ACT|BUTS_ACT_ACT|BUTS_ACT_LINK; sbuts->align= BUT_AUTO; /* header */ @@ -139,7 +138,12 @@ static SpaceLink *buttons_duplicate(SpaceLink *sl) /* add handlers, stuff you only do once or on area/region changes */ static void buttons_main_area_init(wmWindowManager *wm, ARegion *ar) { + ListBase *keymap; + ED_region_panels_init(wm, ar); + + keymap= WM_keymap_listbase(wm, "Buttons Generic", SPACE_BUTS, 0); + WM_event_add_keymap_handler(&ar->handlers, keymap); } static void buttons_main_area_draw(const bContext *C, ARegion *ar) @@ -196,18 +200,22 @@ void buttons_operatortypes(void) WM_operatortype_append(OBJECT_OT_particle_system_remove); WM_operatortype_append(PARTICLE_OT_new); - WM_operatortype_append(PARTICLE_OT_new_keyed_target); - WM_operatortype_append(PARTICLE_OT_remove_keyed_target); - WM_operatortype_append(PARTICLE_OT_keyed_target_move_up); - WM_operatortype_append(PARTICLE_OT_keyed_target_move_down); + WM_operatortype_append(PARTICLE_OT_new_target); + WM_operatortype_append(PARTICLE_OT_remove_target); + WM_operatortype_append(PARTICLE_OT_target_move_up); + WM_operatortype_append(PARTICLE_OT_target_move_down); WM_operatortype_append(SCENE_OT_render_layer_add); WM_operatortype_append(SCENE_OT_render_layer_remove); + + WM_operatortype_append(BUTTONS_OT_toolbox); } void buttons_keymap(struct wmWindowManager *wm) { + ListBase *keymap= WM_keymap_listbase(wm, "Buttons Generic", SPACE_BUTS, 0); + WM_keymap_add_item(keymap, "BUTTONS_OT_toolbox", RIGHTMOUSE, KM_PRESS, 0, 0); } //#define PY_HEADER @@ -311,6 +319,7 @@ static void buttons_area_listener(ScrArea *sa, wmNotifier *wmn) switch(wmn->data) { case ND_FRAME: case ND_MODE: + case ND_RENDER_OPTIONS: ED_area_tag_redraw(sa); break; @@ -326,6 +335,7 @@ static void buttons_area_listener(ScrArea *sa, wmNotifier *wmn) case ND_BONE_ACTIVE: case ND_BONE_SELECT: case ND_GEOM_SELECT: + case ND_CONSTRAINT: ED_area_tag_redraw(sa); break; case ND_SHADING: @@ -391,7 +401,7 @@ void ED_spacetype_buttons(void) /* regions: header */ art= MEM_callocN(sizeof(ARegionType), "spacetype buttons region"); art->regionid = RGN_TYPE_HEADER; - art->minsizey= HEADERY; + art->minsizey= BUTS_HEADERY; art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES; art->init= buttons_header_area_init; diff --git a/source/blender/editors/space_console/console_intern.h b/source/blender/editors/space_console/console_intern.h index 3c6eeb63505..0a80059fc65 100644 --- a/source/blender/editors/space_console/console_intern.h +++ b/source/blender/editors/space_console/console_intern.h @@ -34,9 +34,6 @@ struct ConsoleLine; struct wmOperatorType; struct ReportList; -/* TODO, make into a pref */ -#define CONSOLE_SCROLLBACK_LIMIT 128 - /* console_draw.c */ void console_text_main(struct SpaceConsole *sc, struct ARegion *ar, struct ReportList *reports); int console_text_height(struct SpaceConsole *sc, struct ARegion *ar, struct ReportList *reports); /* needed to calculate the scrollbar */ @@ -62,8 +59,10 @@ void CONSOLE_OT_scrollback_append(wmOperatorType *ot); void CONSOLE_OT_clear(wmOperatorType *ot); void CONSOLE_OT_history_cycle(wmOperatorType *ot); +void CONSOLE_OT_copy(wmOperatorType *ot); void CONSOLE_OT_zoom(wmOperatorType *ot); + /* console_report.c */ void CONSOLE_OT_select_pick(wmOperatorType *ot); /* report selection */ void CONSOLE_OT_select_all_toggle(wmOperatorType *ot); diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c index ca6e3983eac..70570f6208a 100644 --- a/source/blender/editors/space_console/console_ops.c +++ b/source/blender/editors/space_console/console_ops.c @@ -37,9 +37,11 @@ #include "DNA_scene_types.h" #include "DNA_screen_types.h" #include "DNA_space_types.h" +#include "DNA_userdef_types.h" #include "DNA_windowmanager_types.h" #include "BLI_blenlib.h" +#include "BLI_dynstr.h" #include "PIL_time.h" #include "BKE_utildefines.h" @@ -79,7 +81,10 @@ void console_scrollback_free(SpaceConsole *sc, ConsoleLine *cl) void console_scrollback_limit(SpaceConsole *sc) { int tot; - for(tot= BLI_countlist(&sc->scrollback); tot > CONSOLE_SCROLLBACK_LIMIT; tot--) + + if (U.scrollback < 32) U.scrollback= 128; // XXX - save in user defaults + + for(tot= BLI_countlist(&sc->scrollback); tot > U.scrollback; tot--) console_scrollback_free(sc, sc->scrollback.first); } @@ -548,6 +553,46 @@ void CONSOLE_OT_scrollback_append(wmOperatorType *ot) RNA_def_enum(ot->srna, "type", console_line_type_items, CONSOLE_LINE_OUTPUT, "Type", "Console output type."); } + +static int copy_exec(bContext *C, wmOperator *op) +{ + SpaceConsole *sc= CTX_wm_space_console(C); + + DynStr *buf_dyn= BLI_dynstr_new(); + char *buf_str; + + ConsoleLine *cl; + + for(cl= sc->scrollback.last; cl; cl= cl->prev) { + BLI_dynstr_append(buf_dyn, cl->line); + BLI_dynstr_append(buf_dyn, "\n"); + } + + buf_str= BLI_dynstr_get_cstring(buf_dyn); + BLI_dynstr_free(buf_dyn); + + WM_clipboard_text_set(buf_str, 0); + + MEM_freeN(buf_str); + return OPERATOR_FINISHED; +} + +void CONSOLE_OT_copy(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Copy to Clipboard"; + ot->idname= "CONSOLE_OT_copy"; + + /* api callbacks */ + ot->poll= console_edit_poll; + ot->exec= copy_exec; + + /* flags */ + ot->flag= OPTYPE_REGISTER; + + /* properties */ +} + static int zoom_exec(bContext *C, wmOperator *op) { SpaceConsole *sc= CTX_wm_space_console(C); diff --git a/source/blender/editors/space_console/space_console.c b/source/blender/editors/space_console/space_console.c index 763be0392dc..c50fef7faf6 100644 --- a/source/blender/editors/space_console/space_console.c +++ b/source/blender/editors/space_console/space_console.c @@ -214,6 +214,7 @@ void console_operatortypes(void) WM_operatortype_append(CONSOLE_OT_clear); WM_operatortype_append(CONSOLE_OT_history_cycle); + WM_operatortype_append(CONSOLE_OT_copy); WM_operatortype_append(CONSOLE_OT_zoom); @@ -277,6 +278,8 @@ void console_keymap(struct wmWindowManager *wm) #ifndef DISABLE_PYTHON WM_keymap_add_item(keymap, "CONSOLE_OT_exec", RETKEY, KM_PRESS, 0, 0); /* python operator - space_text.py */ + WM_keymap_add_item(keymap, "CONSOLE_OT_exec", PADENTER, KM_PRESS, 0, 0); + //WM_keymap_add_item(keymap, "CONSOLE_OT_autocomplete", TABKEY, KM_PRESS, 0, 0); /* python operator - space_text.py */ WM_keymap_add_item(keymap, "CONSOLE_OT_autocomplete", RETKEY, KM_PRESS, KM_CTRL, 0); /* python operator - space_text.py */ #endif @@ -290,14 +293,11 @@ void console_keymap(struct wmWindowManager *wm) WM_keymap_add_item(keymap, "CONSOLE_OT_report_delete", XKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "CONSOLE_OT_report_delete", DELKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "CONSOLE_OT_report_copy", CKEY, KM_PRESS, KM_CTRL, 0); - - - - - + + WM_keymap_add_item(keymap, "CONSOLE_OT_copy", CKEY, KM_PRESS, KM_CTRL, 0); RNA_string_set(WM_keymap_add_item(keymap, "CONSOLE_OT_insert", TABKEY, KM_PRESS, 0, 0)->ptr, "text", " "); /* fake tabs */ - WM_keymap_add_item(keymap, "CONSOLE_OT_insert", KM_TEXTINPUT, KM_PRESS, KM_ANY, 0); // last! + WM_keymap_add_item(keymap, "CONSOLE_OT_insert", KM_TEXTINPUT, KM_ANY, KM_ANY, 0); // last! } /****************** header region ******************/ diff --git a/source/blender/editors/space_graph/graph_draw.c b/source/blender/editors/space_graph/graph_draw.c index f8f613223db..67a93b2e786 100644 --- a/source/blender/editors/space_graph/graph_draw.c +++ b/source/blender/editors/space_graph/graph_draw.c @@ -52,6 +52,7 @@ #include "DNA_lamp_types.h" #include "DNA_material_types.h" #include "DNA_object_types.h" +#include "DNA_particle_types.h" #include "DNA_scene_types.h" #include "DNA_screen_types.h" #include "DNA_space_types.h" @@ -1038,6 +1039,22 @@ void graph_draw_channel_names(bAnimContext *ac, SpaceIpo *sipo, ARegion *ar) strcpy(name, "Materials"); } break; + case ANIMTYPE_FILLPARTD: /* object particles (dopesheet) expand widget */ + { + Object *ob = (Object *)ale->data; + + group = 4; + indent = 1; + special = ICON_PARTICLE_DATA; + + if (FILTER_PART_OBJC(ob)) + expand = ICON_TRIA_DOWN; + else + expand = ICON_TRIA_RIGHT; + + strcpy(name, "Particles"); + } + break; case ANIMTYPE_DSMAT: /* single material (dopesheet) expand widget */ @@ -1138,6 +1155,23 @@ void graph_draw_channel_names(bAnimContext *ac, SpaceIpo *sipo, ARegion *ar) strcpy(name, wo->id.name+2); } break; + case ANIMTYPE_DSPART: /* particle (dopesheet) expand widget */ + { + ParticleSettings *part= (ParticleSettings*)ale->data; + + group = 0; + indent = 0; + special = ICON_PARTICLE_DATA; + offset = 21; + + if (FILTER_PART_OBJD(part)) + expand = ICON_TRIA_DOWN; + else + expand = ICON_TRIA_RIGHT; + + strcpy(name, part->id.name+2); + } + break; case ANIMTYPE_GROUP: /* action group */ @@ -1196,8 +1230,8 @@ void graph_draw_channel_names(bAnimContext *ac, SpaceIpo *sipo, ARegion *ar) grp= fcu->grp; if (ale->id) { - /* special exception for materials */ - if (GS(ale->id->name) == ID_MA) { + /* special exception for materials and particles */ + if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) { offset= 21; indent= 1; } diff --git a/source/blender/editors/space_graph/graph_header.c b/source/blender/editors/space_graph/graph_header.c index eeede3ae95b..e4ce889a188 100644 --- a/source/blender/editors/space_graph/graph_header.c +++ b/source/blender/editors/space_graph/graph_header.c @@ -304,6 +304,7 @@ void graph_header_buttons(const bContext *C, ARegion *ar) uiDefIconButBitI(block, TOGN, ADS_FILTER_NOLAM, B_REDR, ICON_LAMP_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(sipo->ads->filterflag), 0, 0, 0, 0, "Display Lamps"); uiDefIconButBitI(block, TOGN, ADS_FILTER_NOCAM, B_REDR, ICON_CAMERA_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(sipo->ads->filterflag), 0, 0, 0, 0, "Display Cameras"); uiDefIconButBitI(block, TOGN, ADS_FILTER_NOCUR, B_REDR, ICON_CURVE_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(sipo->ads->filterflag), 0, 0, 0, 0, "Display Curves"); + uiDefIconButBitI(block, TOGN, ADS_FILTER_NOPART, B_REDR, ICON_PARTICLE_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(sipo->ads->filterflag), 0, 0, 0, 0, "Display Particles"); uiBlockEndAlign(block); xco += 15; } diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c index da1f050cfd3..7050c7f6d7c 100644 --- a/source/blender/editors/space_image/image_draw.c +++ b/source/blender/editors/space_image/image_draw.c @@ -150,8 +150,10 @@ static void draw_render_info(Image *ima, ARegion *ar) /* clear header rect */ UI_GetThemeColor3fv(TH_BACK, colf); - glColor3f(colf[0]+0.1f, colf[1]+0.1f, colf[2]+0.1f); + glEnable(GL_BLEND); + glColor4f(colf[0]+0.1f, colf[1]+0.1f, colf[2]+0.1f, 0.5f); glRecti(rect.xmin, rect.ymin, rect.xmax, rect.ymax+1); + glDisable(GL_BLEND); UI_ThemeColor(TH_TEXT_HI); diff --git a/source/blender/editors/space_logic/logic_buttons.c b/source/blender/editors/space_logic/logic_buttons.c index b082d5d6ae2..db6922f304c 100644 --- a/source/blender/editors/space_logic/logic_buttons.c +++ b/source/blender/editors/space_logic/logic_buttons.c @@ -66,6 +66,7 @@ #include "logic_intern.h" +#if 0 static void do_logic_panel_events(bContext *C, void *arg, int event) { @@ -96,12 +97,12 @@ static void logic_panel_view_properties(const bContext *C, Panel *pa) uiBlockSetHandleFunc(block, do_logic_panel_events, NULL); } - +#endif void logic_buttons_register(ARegionType *art) { PanelType *pt; - +#if 0 pt= MEM_callocN(sizeof(PanelType), "spacetype logic panel properties"); strcpy(pt->idname, "LOGIC_PT_properties"); strcpy(pt->label, "Logic Properties"); @@ -113,6 +114,7 @@ void logic_buttons_register(ARegionType *art) strcpy(pt->label, "View Properties"); pt->draw= logic_panel_view_properties; BLI_addtail(&art->paneltypes, pt); +#endif } diff --git a/source/blender/editors/space_logic/logic_window.c b/source/blender/editors/space_logic/logic_window.c index 55e21561c34..ab4574d5940 100644 --- a/source/blender/editors/space_logic/logic_window.c +++ b/source/blender/editors/space_logic/logic_window.c @@ -393,7 +393,7 @@ void do_logic_buts(bContext *C, void *arg, int event) BLI_addtail(&ob->prop, prop); ED_undo_push(C, "Add property"); break; - +#if 0 // XXX Now done in python case B_CHANGE_PROP: prop= ob->prop.first; while(prop) { @@ -403,7 +403,7 @@ void do_logic_buts(bContext *C, void *arg, int event) prop= prop->next; } break; - +#endif case B_ADD_SENS: for(ob=G.main->object.first; ob; ob=ob->id.next) { if(ob->scaflag & OB_ADDSENS) { diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c index 1ab348eb28e..79c2c94719c 100644 --- a/source/blender/editors/space_nla/nla_channels.c +++ b/source/blender/editors/space_nla/nla_channels.c @@ -38,6 +38,7 @@ #include "DNA_camera_types.h" #include "DNA_curve_types.h" #include "DNA_object_types.h" +#include "DNA_particle_types.h" #include "DNA_screen_types.h" #include "DNA_scene_types.h" #include "DNA_space_types.h" @@ -185,6 +186,13 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho notifierFlags |= ND_ANIMCHAN_EDIT; } break; + case ANIMTYPE_FILLPARTD: + { + Object *ob= (Object *)ale->data; + ob->nlaflag ^= OB_ADS_SHOWPARTS; // XXX + notifierFlags |= ND_ANIMCHAN_EDIT; + } + break; case ANIMTYPE_DSMAT: { @@ -228,6 +236,13 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho notifierFlags |= ND_ANIMCHAN_EDIT; } break; + case ANIMTYPE_DSPART: + { + ParticleSettings *part= (ParticleSettings *)ale->data; + part->flag ^= PART_DS_EXPAND; + notifierFlags |= ND_ANIMCHAN_EDIT; + } + break; case ANIMTYPE_NLATRACK: { @@ -237,8 +252,8 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho /* offset for start of channel (on LHS of channel-list) */ if (ale->id) { - /* special exception for materials */ - if (GS(ale->id->name) == ID_MA) + /* special exception for materials and particles */ + if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) offset= 21 + NLACHANNEL_BUTTON_WIDTH; else offset= 14; diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c index 9e60651081f..6809c7928ac 100644 --- a/source/blender/editors/space_nla/nla_draw.c +++ b/source/blender/editors/space_nla/nla_draw.c @@ -46,6 +46,7 @@ #include "DNA_key_types.h" #include "DNA_lamp_types.h" #include "DNA_material_types.h" +#include "DNA_particle_types.h" #include "DNA_userdef_types.h" #include "DNA_windowmanager_types.h" #include "DNA_world_types.h" @@ -252,10 +253,9 @@ static void nla_draw_strip_curves (NlaStrip *strip, View2D *v2d, float yminc, fl // XXX nasty hacked color for now... which looks quite bad too... glColor3f(0.7f, 0.7f, 0.7f); - /* draw with AA'd line, 2 units thick (it's either 1 or 2 px) */ + /* draw with AA'd line */ glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); - glLineWidth(2.0f); /* influence -------------------------- */ if (strip->flag & NLASTRIP_FLAG_USR_INFLUENCE) { @@ -302,11 +302,10 @@ static void nla_draw_strip_curves (NlaStrip *strip, View2D *v2d, float yminc, fl /* turn off AA'd lines */ glDisable(GL_LINE_SMOOTH); glDisable(GL_BLEND); - glLineWidth(1.0f); } /* main call for drawing a single NLA-strip */ -static void nla_draw_strip (AnimData *adt, NlaTrack *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) { float color[3]; @@ -373,8 +372,11 @@ static void nla_draw_strip (AnimData *adt, NlaTrack *nlt, NlaStrip *strip, View2 gl_round_box_shade(GL_POLYGON, strip->start, yminc, strip->end, ymaxc, 0.0, 0.5, 0.1); - /* draw strip's control 'curves' */ - nla_draw_strip_curves(strip, v2d, yminc, ymaxc); + /* draw strip's control 'curves' + * - only if user hasn't hidden them... + */ + if ((snla->flag & SNLA_NOSTRIPCURVES) == 0) + nla_draw_strip_curves(strip, v2d, yminc, ymaxc); /* draw strip outline * - color used here is to indicate active vs non-active @@ -527,7 +529,7 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar) for (strip=nlt->strips.first, index=1; strip; strip=strip->next, index++) { if (BKE_nlastrip_within_bounds(strip, v2d->cur.xmin, v2d->cur.xmax)) { /* draw the visualisation of the strip */ - nla_draw_strip(adt, nlt, strip, v2d, yminc, ymaxc); + 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); @@ -692,6 +694,22 @@ void draw_nla_channel_list (bAnimContext *ac, SpaceNla *snla, ARegion *ar) strcpy(name, "Materials"); } break; + case ANIMTYPE_FILLPARTD: /* object particles (dopesheet) expand widget */ + { + Object *ob = (Object *)ale->data; + + group = 4; + indent = 1; + special = ICON_PARTICLE_DATA; + + if (FILTER_PART_OBJC(ob)) + expand = ICON_TRIA_DOWN; + else + expand = ICON_TRIA_RIGHT; + + strcpy(name, "Particles"); + } + break; case ANIMTYPE_DSMAT: /* single material (dopesheet) expand widget */ @@ -792,6 +810,23 @@ void draw_nla_channel_list (bAnimContext *ac, SpaceNla *snla, ARegion *ar) strcpy(name, wo->id.name+2); } break; + case ANIMTYPE_DSPART: /* particle (dopesheet) expand widget */ + { + ParticleSettings *part= (ParticleSettings*)ale->data; + + group = 0; + indent = 0; + special = ICON_PARTICLE_DATA; + offset = 21; + + if (FILTER_PART_OBJD(part)) + expand = ICON_TRIA_DOWN; + else + expand = ICON_TRIA_RIGHT; + + strcpy(name, part->id.name+2); + } + break; case ANIMTYPE_NLATRACK: /* NLA Track */ { @@ -800,8 +835,8 @@ void draw_nla_channel_list (bAnimContext *ac, SpaceNla *snla, ARegion *ar) indent= 0; if (ale->id) { - /* special exception for materials */ - if (GS(ale->id->name) == ID_MA) { + /* special exception for materials and particles */ + if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) { offset= 21; indent= 1; } @@ -845,8 +880,8 @@ void draw_nla_channel_list (bAnimContext *ac, SpaceNla *snla, ARegion *ar) group = 5; if (ale->id) { - /* special exception for materials */ - if (GS(ale->id->name) == ID_MA) { + /* special exception for materials and particles */ + if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) { offset= 21; indent= 1; } diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c index 01871d3d9d5..64fed7c2433 100644 --- a/source/blender/editors/space_nla/nla_edit.c +++ b/source/blender/editors/space_nla/nla_edit.c @@ -78,6 +78,28 @@ #include "nla_private.h" // FIXME... maybe this shouldn't be included? /* *********************************************** */ +/* Utilities exported to other places... */ + +/* Perform validation for blending/extend settings */ +void ED_nla_postop_refresh (bAnimContext *ac) +{ + ListBase anim_data = {NULL, NULL}; + bAnimListElem *ale; + short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT); + + /* get blocks to work on */ + ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype); + + for (ale= anim_data.first; ale; ale= ale->next) { + /* performing auto-blending, extend-mode validation, etc. */ + BKE_nla_validate_state(ale->data); + } + + /* free temp memory */ + BLI_freelistN(&anim_data); +} + +/* *********************************************** */ /* 'Special' Editing */ /* ******************** Tweak-Mode Operators ***************************** */ @@ -315,6 +337,9 @@ static int nlaedit_add_actionclip_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); @@ -427,6 +452,9 @@ static int nlaedit_add_transition_exec (bContext *C, wmOperator *op) /* was anything added? */ if (done) { + /* refresh auto strip properties */ + ED_nla_postop_refresh(&ac); + /* set notifier that things have changed */ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_EDIT, NULL); @@ -633,6 +661,9 @@ static int nlaedit_duplicate_exec (bContext *C, wmOperator *op) BLI_freelistN(&anim_data); if (done) { + /* refresh auto strip properties */ + ED_nla_postop_refresh(&ac); + /* set notifier that things have changed */ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_EDIT, NULL); @@ -718,6 +749,9 @@ static int nlaedit_delete_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); @@ -860,6 +894,9 @@ static int nlaedit_split_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); @@ -993,6 +1030,9 @@ static int nlaedit_move_up_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); @@ -1064,6 +1104,9 @@ static int nlaedit_move_down_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); @@ -1222,6 +1265,9 @@ static int nlaedit_clear_scale_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); @@ -1360,6 +1406,9 @@ static int nlaedit_snap_exec (bContext *C, wmOperator *op) /* 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_EDIT, NULL); diff --git a/source/blender/editors/space_nla/nla_header.c b/source/blender/editors/space_nla/nla_header.c index e997a096bce..3f504441108 100644 --- a/source/blender/editors/space_nla/nla_header.c +++ b/source/blender/editors/space_nla/nla_header.c @@ -21,7 +21,7 @@ * All rights reserved. * * - * Contributor(s): Blender Foundation + * Contributor(s): Blender Foundation, Joshua Leung * * ***** END GPL LICENSE BLOCK ***** */ @@ -100,7 +100,9 @@ static void nla_viewmenu(bContext *C, uiLayout *layout, void *arg_unused) uiItemO(layout, "Show Frames", 0, "ANIM_OT_time_toggle"); else uiItemO(layout, "Show Seconds", 0, "ANIM_OT_time_toggle"); - + + uiItemR(layout, NULL, 0, &spaceptr, "show_strip_curves", 0, 0, 0); + uiItemS(layout); uiItemS(layout); @@ -259,6 +261,7 @@ void nla_header_buttons(const bContext *C, ARegion *ar) uiDefIconButBitI(block, TOGN, ADS_FILTER_NOLAM, B_REDR, ICON_LAMP_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(snla->ads->filterflag), 0, 0, 0, 0, "Display Lamps"); uiDefIconButBitI(block, TOGN, ADS_FILTER_NOCAM, B_REDR, ICON_CAMERA_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(snla->ads->filterflag), 0, 0, 0, 0, "Display Cameras"); uiDefIconButBitI(block, TOGN, ADS_FILTER_NOCUR, B_REDR, ICON_CURVE_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(snla->ads->filterflag), 0, 0, 0, 0, "Display Curves"); + uiDefIconButBitI(block, TOGN, ADS_FILTER_NOPART, B_REDR, ICON_PARTICLE_DATA, (short)(xco+=XIC),yco,XIC,YIC, &(snla->ads->filterflag), 0, 0, 0, 0, "Display Particles"); uiBlockEndAlign(block); xco += 15; } diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index ac3a884c5f8..2e84a8b2c15 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -81,6 +81,7 @@ static SpaceLink *node_new(const bContext *C) ar->regiontype= RGN_TYPE_HEADER; ar->alignment= RGN_ALIGN_BOTTOM; +#if 0 /* channels */ ar= MEM_callocN(sizeof(ARegion), "nodetree area for node"); @@ -89,6 +90,7 @@ static SpaceLink *node_new(const bContext *C) ar->alignment= RGN_ALIGN_LEFT; //ar->v2d.scroll = (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); +#endif /* main area */ ar= MEM_callocN(sizeof(ARegion), "main area for node"); @@ -168,7 +170,7 @@ static void node_area_refresh(const struct bContext *C, struct ScrArea *sa) if(snode->treetype==NTREE_SHADER) { Material *ma= (Material *)snode->id; if(ma->use_nodes) - ED_preview_shader_job(C, sa, snode->id, 100, 100); + ED_preview_shader_job(C, sa, snode->id, NULL, 100, 100); } else if(snode->treetype==NTREE_COMPOSIT) { Scene *scene= (Scene *)snode->id; @@ -189,6 +191,7 @@ static SpaceLink *node_duplicate(SpaceLink *sl) return (SpaceLink *)snoden; } +#if 0 static void node_channel_area_init(wmWindowManager *wm, ARegion *ar) { UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_LIST, ar->winx, ar->winy); @@ -217,6 +220,7 @@ static void node_channel_area_draw(const bContext *C, ARegion *ar) UI_view2d_scrollers_draw(C, v2d, scrollers); UI_view2d_scrollers_free(scrollers); } +#endif /* Initialise main area, setting handlers. */ static void node_main_area_init(wmWindowManager *wm, ARegion *ar) @@ -341,6 +345,7 @@ void ED_spacetype_node(void) BLI_addhead(&st->regiontypes, art); +#if 0 /* regions: channels */ art= MEM_callocN(sizeof(ARegionType), "spacetype node region"); art->regionid = RGN_TYPE_CHANNELS; @@ -351,6 +356,7 @@ void ED_spacetype_node(void) art->draw= node_channel_area_draw; BLI_addhead(&st->regiontypes, art); +#endif BKE_spacetype_register(st); diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c index 40324a5a65f..0df0cb46473 100644 --- a/source/blender/editors/space_outliner/outliner.c +++ b/source/blender/editors/space_outliner/outliner.c @@ -82,6 +82,8 @@ #include "BKE_sequence.h" #include "BKE_utildefines.h" +#include "ED_armature.h" +#include "ED_object.h" #include "ED_screen.h" #include "ED_util.h" #include "ED_types.h" @@ -103,7 +105,9 @@ #include "ED_armature.h" #include "ED_keyframing.h" #include "ED_object.h" +#include "ED_particle.h" #include "ED_screen.h" +#include "ED_view3d.h" #include "outliner_intern.h" @@ -129,18 +133,15 @@ /* ************* XXX **************** */ -static void BIF_undo_push() {} -static void BIF_preview_changed() {} static void error() {} -static int pupmenu() {return 0;} /* ********************************** */ /* ******************** PROTOTYPES ***************** */ -static void outliner_draw_tree_element(Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty); -static void outliner_do_object_operation(Scene *scene, SpaceOops *soops, ListBase *lb, - void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *)); +static void outliner_draw_tree_element(bContext *C, 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 *)); /* ******************** PERSISTANT DATA ***************** */ @@ -552,16 +553,6 @@ static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *s } outliner_add_element(soops, lb, sce->world, te, 0, 0); - - if(sce->scriptlink.scripts) { - int a= 0; - tenla= outliner_add_element(soops, lb, sce, te, TSE_SCRIPT_BASE, 0); - tenla->name= "Scripts"; - for (a=0; a<sce->scriptlink.totscript; a++) { - outliner_add_element(soops, &tenla->subtree, sce->scriptlink.scripts[a], tenla, 0, 0); - } - } - } static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, @@ -768,15 +759,6 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i ten->directdata= defgroup; } } - if(ob->scriptlink.scripts) { - TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_SCRIPT_BASE, 0); - int a= 0; - - tenla->name= "Scripts"; - for (a=0; a<ob->scriptlink.totscript; a++) { /* ** */ - outliner_add_element(soops, &tenla->subtree, ob->scriptlink.scripts[a], te, 0, 0); - } - } if(ob->dup_group) outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0); @@ -1448,9 +1430,8 @@ static void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short /* --- */ -void object_toggle_visibility_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; // XXX Base *base= (Base *)te->directdata; if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); @@ -1465,9 +1446,8 @@ static int outliner_toggle_visibility_exec(bContext *C, wmOperator *op) Scene *scene= CTX_data_scene(C); ARegion *ar= CTX_wm_region(C); - outliner_do_object_operation(scene, soops, &soops->tree, object_toggle_visibility_cb); + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb); - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -1489,9 +1469,8 @@ void OUTLINER_OT_visibility_toggle(wmOperatorType *ot) /* --- */ -static void object_toggle_selectability_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void object_toggle_selectability_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; // XXX Base *base= (Base *)te->directdata; if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); @@ -1506,9 +1485,8 @@ static int outliner_toggle_selectability_exec(bContext *C, wmOperator *op) Scene *scene= CTX_data_scene(C); ARegion *ar= CTX_wm_region(C); - outliner_do_object_operation(scene, soops, &soops->tree, object_toggle_selectability_cb); + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb); - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -1530,9 +1508,8 @@ void OUTLINER_OT_selectability_toggle(wmOperatorType *ot) /* --- */ -void object_toggle_renderability_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +void object_toggle_renderability_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; // XXX Base *base= (Base *)te->directdata; if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); @@ -1547,9 +1524,8 @@ static int outliner_toggle_renderability_exec(bContext *C, wmOperator *op) Scene *scene= CTX_data_scene(C); ARegion *ar= CTX_wm_region(C); - outliner_do_object_operation(scene, soops, &soops->tree, object_toggle_renderability_cb); + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb); - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -1581,7 +1557,6 @@ static int outliner_toggle_expanded_exec(bContext *C, wmOperator *op) else outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1); - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -1615,7 +1590,6 @@ static int outliner_toggle_selected_exec(bContext *C, wmOperator *op) soops->storeflag |= SO_TREESTORE_REDRAW; - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -1673,7 +1647,6 @@ static int outliner_one_level_exec(bContext *C, wmOperator *op) if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0); } - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -1751,7 +1724,7 @@ void outliner_page_up_down(Scene *scene, ARegion *ar, SpaceOops *soops, int up) /* **** do clicks on items ******* */ -static int tree_element_active_renderlayer(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set) { Scene *sce; @@ -1762,6 +1735,7 @@ static int tree_element_active_renderlayer(TreeElement *te, TreeStoreElem *tsele 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; @@ -1769,13 +1743,12 @@ static int tree_element_active_renderlayer(TreeElement *te, TreeStoreElem *tsele return 0; } -static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te) +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; - int shift= 0; // XXX /* if id is not object, we search back */ if(te->idcode==ID_OB) ob= (Object *)tselem->id; @@ -1794,7 +1767,7 @@ static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops for(base= FIRSTBASE; base; base= base->next) if(base->object==ob) break; if(base) { - if(shift) { + if(set==2) { /* swap select */ if(base->flag & SELECT) ED_base_object_select(base, BA_DESELECT); @@ -1814,11 +1787,14 @@ static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops ED_base_object_activate(C, base); /* adds notifier */ } -// XXX if(ob!=obedit) exit_editmode(EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); -// else countall(); /* exit_editmode calls f() */ + if(ob!=scene->obedit) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); + + WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene); + } -static int tree_element_active_material(Scene *scene, SpaceOops *soops, TreeElement *te, int set) +static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) { TreeElement *tes; Object *ob; @@ -1853,13 +1829,12 @@ static int tree_element_active_material(Scene *scene, SpaceOops *soops, TreeElem } } if(set) { -// XXX extern_set_butspace(F5KEY, 0); // force shading buttons - BIF_preview_changed(ID_MA); + WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL); } return 0; } -static int tree_element_active_texture(Scene *scene, SpaceOops *soops, TreeElement *te, int set) +static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) { TreeElement *tep; TreeStoreElem *tselem, *tselemp; @@ -1883,7 +1858,7 @@ static int tree_element_active_texture(Scene *scene, SpaceOops *soops, TreeEleme if(set) { if(sbuts) { // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c - sbuts->texfrom= 1; + // XXX sbuts->texfrom= 1; } // XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture wrld->texact= te->index; @@ -1897,7 +1872,7 @@ static int tree_element_active_texture(Scene *scene, SpaceOops *soops, TreeEleme if(set) { if(sbuts) { // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c - sbuts->texfrom= 2; + // XXX sbuts->texfrom= 2; } // XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture la->texact= te->index; @@ -1913,7 +1888,7 @@ static int tree_element_active_texture(Scene *scene, SpaceOops *soops, TreeEleme if(set) { if(sbuts) { //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c - sbuts->texfrom= 0; + // XXX sbuts->texfrom= 0; } // XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture ma->texact= (char)te->index; @@ -1930,7 +1905,7 @@ static int tree_element_active_texture(Scene *scene, SpaceOops *soops, TreeEleme } -static int tree_element_active_lamp(Scene *scene, SpaceOops *soops, TreeElement *te, int set) +static int tree_element_active_lamp(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) { Object *ob; @@ -1940,14 +1915,13 @@ static int tree_element_active_lamp(Scene *scene, SpaceOops *soops, TreeElement if(set) { // XXX extern_set_butspace(F5KEY, 0); - BIF_preview_changed(ID_LA); } else return 1; return 0; } -static int tree_element_active_world(Scene *scene, SpaceOops *soops, TreeElement *te, int set) +static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) { TreeElement *tep; TreeStoreElem *tselem=NULL; @@ -1961,7 +1935,7 @@ static int tree_element_active_world(Scene *scene, SpaceOops *soops, TreeElement if(set) { // make new scene active if(sce && scene != sce) { - // XXX ED_screen_set_scene(C, sce); + ED_screen_set_scene(C, sce); } } @@ -1976,7 +1950,7 @@ static int tree_element_active_world(Scene *scene, SpaceOops *soops, TreeElement return 0; } -static int tree_element_active_defgroup(Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) { Object *ob; @@ -1985,6 +1959,7 @@ static int tree_element_active_defgroup(Scene *scene, TreeElement *te, TreeStore if(set) { ob->actdef= te->index+1; DAG_object_flush_update(scene, ob, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob); } else { if(ob==OBACT) @@ -1993,13 +1968,14 @@ static int tree_element_active_defgroup(Scene *scene, TreeElement *te, TreeStore return 0; } -static int tree_element_active_posegroup(Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +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_TRANSFORM, ob); } } else { @@ -2010,7 +1986,7 @@ static int tree_element_active_posegroup(Scene *scene, TreeElement *te, TreeStor return 0; } -static int tree_element_active_posechannel(Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) { Object *ob= (Object *)tselem->id; bPoseChannel *pchan= te->directdata; @@ -2018,10 +1994,16 @@ static int tree_element_active_posechannel(Scene *scene, TreeElement *te, TreeSt if(set) { if(!(pchan->bone->flag & BONE_HIDDEN_P)) { -// XXX if(G.qual & LR_SHIFTKEY) deselectall_posearmature(ob, 2, 0); // 2 = clear active tag -// else deselectall_posearmature(ob, 0, 0); // 0 = deselect - pchan->bone->flag |= BONE_SELECTED|BONE_ACTIVE; + if(set==2) ED_pose_deselectall(ob, 2, 0); // 2 = clear active tag + else ED_pose_deselectall(ob, 0, 0); // 0 = deselect + if(set==2 && (pchan->bone->flag & BONE_SELECTED)) + pchan->bone->flag &= ~(BONE_SELECTED|BONE_ACTIVE); + else + pchan->bone->flag |= BONE_SELECTED|BONE_ACTIVE; + + WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob); + } } else { @@ -2032,17 +2014,22 @@ static int tree_element_active_posechannel(Scene *scene, TreeElement *te, TreeSt return 0; } -static int tree_element_active_bone(Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +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)) { -// XXX if(G.qual & LR_SHIFTKEY) deselectall_posearmature(OBACT, 2, 0); // 2 is clear active tag -// else deselectall_posearmature(OBACT, 0, 0); - bone->flag |= BONE_SELECTED|BONE_ACTIVE; + if(set==2) ED_pose_deselectall(OBACT, 2, 0); // 2 is clear active tag + else ED_pose_deselectall(OBACT, 0, 0); + + if(set==2 && (bone->flag & BONE_SELECTED)) + bone->flag &= ~(BONE_SELECTED|BONE_ACTIVE); + else + bone->flag |= BONE_SELECTED|BONE_ACTIVE; + WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT); } } else { @@ -2057,21 +2044,21 @@ static int tree_element_active_bone(Scene *scene, TreeElement *te, TreeStoreElem /* ebones only draw in editmode armature */ -static int tree_element_active_ebone(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) { EditBone *ebone= te->directdata; -// int shift= 0; // XXX if(set) { if(!(ebone->flag & BONE_HIDDEN_A)) { -// XXX if(shift) deselectall_armature(2, 0); // only clear active tag -// else deselectall_armature(0, 0); // deselect + if(set==2) ED_armature_deselectall(scene->obedit, 2, 0); // only clear active tag + else ED_armature_deselectall(scene->obedit, 0, 0); // deselect ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL|BONE_ACTIVE; // 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); } } else { @@ -2080,70 +2067,84 @@ static int tree_element_active_ebone(TreeElement *te, TreeStoreElem *tselem, int return 0; } -static int tree_element_active_modifier(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_modifier(bContext *C, TreeElement *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(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_psys(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) { if(set) { -// Object *ob= (Object *)tselem->id; -// ParticleSystem *psys= te->directdata; + Object *ob= (Object *)tselem->id; + ParticleSystem *psys= te->directdata; + + PE_change_act_psys(scene, ob, psys); + WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE, ob); -// XXX PE_change_act_psys(ob, psys); // XXX extern_set_butspace(F7KEY, 0); } return 0; } -static int tree_element_active_constraint(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_constraint(bContext *C, TreeElement *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(Scene *scene, SpaceOops *soops, TreeElement *te, int set) +static int tree_element_active_text(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) { // XXX removed return 0; } /* generic call for ID data check or make/check active in UI */ -static int tree_element_active(Scene *scene, SpaceOops *soops, TreeElement *te, int set) +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(scene, soops, te, set); + return tree_element_active_material(C, scene, soops, te, set); case ID_WO: - return tree_element_active_world(scene, soops, te, set); + return tree_element_active_world(C, scene, soops, te, set); case ID_LA: - return tree_element_active_lamp(scene, soops, te, set); + return tree_element_active_lamp(C, scene, soops, te, set); case ID_TE: - return tree_element_active_texture(scene, soops, te, set); + return tree_element_active_texture(C, scene, soops, te, set); case ID_TXT: - return tree_element_active_text(scene, soops, te, set); + return tree_element_active_text(C, scene, soops, te, set); } return 0; } -static int tree_element_active_pose(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) { Object *ob= (Object *)tselem->id; + Base *base= object_in_scene(ob, scene); if(set) { -// XXX if(obedit) exit_editmode(EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); -// if(ob->flag & OB_POSEMODE) exit_posemode(); -// else enter_posemode(); + if(scene->obedit) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); + + if(ob->flag & OB_POSEMODE) + ED_armature_exit_posemode(C, base); + else + ED_armature_enter_posemode(C, base); } else { if(ob->flag & OB_POSEMODE) return 1; @@ -2151,7 +2152,7 @@ static int tree_element_active_pose(TreeElement *te, TreeStoreElem *tselem, int return 0; } -static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_sequence(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set) { Sequence *seq= (Sequence*) te->directdata; @@ -2165,7 +2166,7 @@ static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *tselem, return(0); } -static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +static int tree_element_active_sequence_dup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) { Sequence *seq, *p; Editing *ed= seq_give_editing(scene, FALSE); @@ -2199,59 +2200,57 @@ static int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, switch(tselem->type) { case TSE_DEFGROUP: - return tree_element_active_defgroup(scene, te, tselem, set); + return tree_element_active_defgroup(C, scene, te, tselem, set); case TSE_BONE: - return tree_element_active_bone(scene, te, tselem, set); + return tree_element_active_bone(C, scene, te, tselem, set); case TSE_EBONE: - return tree_element_active_ebone(te, tselem, set); + return tree_element_active_ebone(C, scene, te, tselem, set); case TSE_MODIFIER: - return tree_element_active_modifier(te, tselem, set); + return tree_element_active_modifier(C, te, tselem, set); case TSE_LINKED_OB: - if(set) tree_element_set_active_object(C, scene, soops, te); + 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(te, tselem, set); + return tree_element_active_psys(C, scene, te, tselem, set); break; case TSE_POSE_BASE: - return tree_element_active_pose(te, tselem, set); + return tree_element_active_pose(C, scene, te, tselem, set); break; case TSE_POSE_CHANNEL: - return tree_element_active_posechannel(scene, te, tselem, set); + return tree_element_active_posechannel(C, scene, te, tselem, set); case TSE_CONSTRAINT: - return tree_element_active_constraint(te, tselem, set); + return tree_element_active_constraint(C, te, tselem, set); case TSE_R_LAYER: - return tree_element_active_renderlayer(te, tselem, set); + return tree_element_active_renderlayer(C, te, tselem, set); case TSE_POSEGRP: - return tree_element_active_posegroup(scene, te, tselem, set); + return tree_element_active_posegroup(C, scene, te, tselem, set); case TSE_SEQUENCE: - return tree_element_active_sequence(te, tselem, set); + return tree_element_active_sequence(C, te, tselem, set); break; case TSE_SEQUENCE_DUP: - return tree_element_active_sequence_dup(scene, te, tselem, set); + return tree_element_active_sequence_dup(C, scene, te, tselem, set); break; } return 0; } -static int do_outliner_mouse_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, short event, float *mval) +static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, float *mval) { - int shift= 0, ctrl= 0; // XXX if(mval[1]>te->ys && mval[1]<te->ys+OL_H) { TreeStoreElem *tselem= TREESTORE(te); int openclose= 0; - /* open close icon, three things to check */ - if(event==RETKEY || event==PADENTER) openclose= 1; // enter opens/closes always - else if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close - if( mval[0]>te->xs && mval[0]<te->xs+OL_X) openclose= 1; + /* open close icon */ + if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close + if( mval[0]>te->xs && mval[0]<te->xs+OL_X) + openclose= 1; } if(openclose) { - /* all below close/open? */ - if(shift) { + if(extend) { tselem->flag &= ~TSE_CLOSED; outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1)); } @@ -2260,95 +2259,66 @@ static int do_outliner_mouse_event(bContext *C, Scene *scene, ARegion *ar, Space else tselem->flag |= TSE_CLOSED; } - + return 1; } /* name and first icon */ else if(mval[0]>te->xs && mval[0]<te->xend) { - /* activate a name button? */ - if(event==LEFTMOUSE) { + /* 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 (ctrl) { - 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; - } - } else { - /* 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); - - 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(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) { -// XXX if(obedit) exit_editmode(EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); -// else { -// enter_editmode(EM_WAITCURSOR); -// extern_set_butspace(F9KEY, 0); -// } - } else { // rest of types - tree_element_active(scene, soops, te, 1); - } - + 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 tree_element_type_active(C, scene, soops, te, tselem, 1); } - } - else if(event==RIGHTMOUSE) { - /* 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; -// XXX screen_swapbuffers(); + else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) { + Object *obedit= CTX_data_edit_object(C); + if(obedit) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); + else { + ED_object_enter_editmode(C, EM_WAITCURSOR); + // XXX extern_set_butspace(F9KEY, 0); + } + } else { // rest of types + tree_element_active(C, scene, soops, te, 1); } - outliner_operation_menu(scene, ar, soops); } + 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_mouse_event(C, scene, ar, soops, te, event, mval)) return 1; + 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_activate_click(bContext *C, wmOperator *op, wmEvent *event) +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= (SpaceOops*)CTX_wm_space_data(C); TreeElement *te; float fmval[2]; + int extend= RNA_boolean_get(op->ptr, "extend"); UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1); for(te= soops->tree.first; te; te= te->next) { - if(do_outliner_mouse_event(C, scene, ar, soops, te, event->type, fmval)) break; + if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break; } if(te) { - BIF_undo_push("Outliner click event"); + ED_undo_push(C, "Outliner click event"); } else { short selecting= -1; @@ -2361,24 +2331,148 @@ static int outliner_activate_click(bContext *C, wmOperator *op, wmEvent *event) /* select relevant row */ outliner_select(soops, &soops->tree, &row, &selecting); - // XXX old flag found in old code, do we still use this? - //soops->storeflag |= SO_TREESTORE_REDRAW; + soops->storeflag |= SO_TREESTORE_REDRAW; - BIF_undo_push("Outliner selection event"); + ED_undo_push(C, "Outliner selection event"); } - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; } -void OUTLINER_OT_activate_click(wmOperatorType *ot) +void OUTLINER_OT_item_activate(wmOperatorType *ot) { - ot->name= "Activate Click"; - ot->idname= "OUTLINER_OT_activate_click"; + ot->name= "Activate Item"; + ot->idname= "OUTLINER_OT_item_activate"; - ot->invoke= outliner_activate_click; + 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, float *mval) +{ + + if(mval[1]>te->ys && mval[1]<te->ys+OL_H) { + 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= (SpaceOops*)CTX_wm_space_data(C); + TreeElement *te; + float fmval[2]; + int all= RNA_boolean_get(op->ptr, "all"); + + UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1); + + 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->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, float *mval) +{ + + if(mval[1]>te->ys && mval[1]<te->ys+OL_H) { + TreeStoreElem *tselem= TREESTORE(te); + + /* name and first icon */ + if(mval[0]>te->xs && mval[0]<te->xend) { + + 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 *op, wmEvent *event) +{ + ARegion *ar= CTX_wm_region(C); + SpaceOops *soops= (SpaceOops*)CTX_wm_space_data(C); + TreeElement *te; + float fmval[2]; + + UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1); + + 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->invoke= outliner_item_rename; ot->poll= ED_operator_outliner_active; } @@ -2466,7 +2560,6 @@ static int outliner_show_active_exec(bContext *C, wmOperator *op) so->storeflag |= SO_TREESTORE_REDRAW; } - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -2675,7 +2768,6 @@ static int outliner_show_hierarchy_exec(bContext *C, wmOperator *op) /* recursively open/close levels */ tree_element_show_hierarchy(scene, soops, &soops->tree); - // XXX need proper notifiers here instead ED_region_tag_redraw(ar); return OPERATOR_FINISHED; @@ -2752,13 +2844,10 @@ static void set_operation_types(SpaceOops *soops, ListBase *lb, tselem= TREESTORE(te); if(tselem->flag & TSE_SELECTED) { if(tselem->type) { - if(tselem->type==TSE_SEQUENCE) - *datalevel= TSE_SEQUENCE; - else if(tselem->type==TSE_SEQ_STRIP) - *datalevel= TSE_SEQ_STRIP; - else if(tselem->type==TSE_SEQUENCE_DUP) - *datalevel= TSE_SEQUENCE_DUP; - else if(*datalevel!=tselem->type) *datalevel= -1; + if(*datalevel==0) + *datalevel= tselem->type; + else if(*datalevel!=tselem->type) + *datalevel= -1; } else { int idcode= GS(tselem->id->name); @@ -2788,7 +2877,7 @@ static void set_operation_types(SpaceOops *soops, ListBase *lb, } } -static void unlink_material_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void unlink_material_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { Material **matar=NULL; int a, totcol=0; @@ -2822,7 +2911,7 @@ static void unlink_material_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreEl } } -static void unlink_texture_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void unlink_texture_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { MTex **mtex= NULL; int a; @@ -2851,7 +2940,7 @@ static void unlink_texture_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreEle } } -static void unlink_group_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void unlink_group_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { Group *group= (Group *)tselem->id; @@ -2867,8 +2956,8 @@ static void unlink_group_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem } } -static void outliner_do_libdata_operation(SpaceOops *soops, ListBase *lb, - void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *)) +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; @@ -2878,20 +2967,19 @@ static void outliner_do_libdata_operation(SpaceOops *soops, ListBase *lb, if(tselem->flag & TSE_SELECTED) { if(tselem->type==0) { TreeStoreElem *tsep= TREESTORE(te->parent); - operation_cb(te, tsep, tselem); + operation_cb(C, scene, te, tsep, tselem); } } if((tselem->flag & TSE_CLOSED)==0) { - outliner_do_libdata_operation(soops, &te->subtree, operation_cb); + outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb); } } } /* */ -static void object_select_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void object_select_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; // XXX Base *base= (Base *)te->directdata; if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); @@ -2901,9 +2989,8 @@ static void object_select_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem } } -static void object_deselect_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void object_deselect_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; Base *base= (Base *)te->directdata; if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); @@ -2913,28 +3000,31 @@ static void object_deselect_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreEl } } -static void object_delete_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; Base *base= (Base *)te->directdata; - if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); + if(base==NULL) + base= object_in_scene((Object *)tselem->id, scene); if(base) { // check also library later -// XXX if(obedit==base->object) exit_editmode(EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); + if(scene->obedit==base->object) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR); if(base==BASACT) { - G.f &= ~(G_VERTEXPAINT+G_TEXTUREPAINT+G_WEIGHTPAINT+G_SCULPTMODE); -// XXX setcursor_space(SPACE_VIEW3D, CURSOR_STD); + ED_view3d_exit_paint_modes(C); } -// XXX free_and_unlink_base(base); + ED_base_object_free_and_unlink(scene, base); te->directdata= NULL; tselem->id= NULL; } + + WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene); + } -static void id_local_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void id_local_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { if(tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) { tselem->id->lib= NULL; @@ -2943,9 +3033,8 @@ static void id_local_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tse } } -static void group_linkobs2scene_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) +static void group_linkobs2scene_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *tselem) { - Scene *scene= NULL; Group *group= (Group *)tselem->id; GroupObject *gob; Base *base; @@ -2968,8 +3057,8 @@ static void group_linkobs2scene_cb(TreeElement *te, TreeStoreElem *tsep, TreeSto } } -static void outliner_do_object_operation(Scene *scene, SpaceOops *soops, ListBase *lb, - void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *)) +static void outliner_do_object_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, + void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *)) { TreeElement *te; TreeStoreElem *tselem; @@ -2981,18 +3070,20 @@ static void outliner_do_object_operation(Scene *scene, SpaceOops *soops, ListBas // when objects selected in other scenes... dunno if that should be allowed Scene *sce= (Scene *)outliner_search_back(soops, te, ID_SCE); if(sce && scene != sce) { -// XXX ED_screen_set_scene(C, sce); + ED_screen_set_scene(C, sce); } - operation_cb(te, NULL, tselem); + operation_cb(C, scene, te, NULL, tselem); } } if((tselem->flag & TSE_CLOSED)==0) { - outliner_do_object_operation(scene, soops, &te->subtree, operation_cb); + outliner_do_object_operation(C, scene, soops, &te->subtree, operation_cb); } } } +/* ******************************************** */ + static void pchan_cb(int event, TreeElement *te, TreeStoreElem *tselem) { bPoseChannel *pchan= (bPoseChannel *)te->directdata; @@ -3068,145 +3159,438 @@ static void outliner_do_data_operation(SpaceOops *soops, int type, int event, Li } } -void outliner_del(Scene *scene, ARegion *ar, SpaceOops *soops) +void outliner_del(bContext *C, Scene *scene, ARegion *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(scene); + ED_undo_push(C, "Delete Objects"); + } +} + +/* **************************************** */ + +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) +{ + Scene *scene= CTX_data_scene(C); + SpaceOops *soops= (SpaceOops*)CTX_wm_space_data(C); + int event; + char *str; + + /* 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"; + } + else if(event==2) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb); + str= "Deselect Objects"; + } + else if(event==4) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb); + DAG_scene_sort(scene); + str= "Delete Objects"; + } + else if(event==5) { /* disabled, see above (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"; + } + else if(event==7) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb); + str= "Toggle Selectability"; + } + 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_SELECT, 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; + + 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", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int outliner_group_operation_exec(bContext *C, wmOperator *op) { + Scene *scene= CTX_data_scene(C); + SpaceOops *soops= (SpaceOops*)CTX_wm_space_data(C); + int event; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; -// XXX if(soops->outlinevis==SO_SEQUENCE) -// del_seq(); -// else { -// outliner_do_object_operation(scene, soops, &soops->tree, object_delete_cb); -// DAG_scene_sort(scene); -// BIF_undo_push("Delete Objects"); -// } + 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_operation_menu(Scene *scene, ARegion *ar, SpaceOops *soops) +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; + + 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= (SpaceOops*)CTX_wm_space_data(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; + + 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= (SpaceOops*)CTX_wm_space_data(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(scenelevel) { - if(objectlevel || datalevel || idlevel) error("Mixed selection"); - else pupmenu("Scene Operations%t|Delete"); + 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(objectlevel) { - short event= pupmenu("Select%x1|Deselect%x2|Delete%x4|Toggle Visible%x6|Toggle Selectable%x7|Toggle Renderable%x8"); /* make local: does not work... it doesn't set lib_extern flags... so data gets lost */ + else if(datalevel==TSE_BONE) { if(event>0) { - char *str=""; - - if(event==1) { - Scene *sce= scene; // to be able to delete, scenes are set... - outliner_do_object_operation(scene, soops, &soops->tree, object_select_cb); - if(scene != sce) { -// XXX ED_screen_set_scene(C, sce); - } - - str= "Select Objects"; - } - else if(event==2) { - outliner_do_object_operation(scene, soops, &soops->tree, object_deselect_cb); - str= "Deselect Objects"; - } - else if(event==4) { - outliner_do_object_operation(scene, soops, &soops->tree, object_delete_cb); - DAG_scene_sort(scene); - str= "Delete Objects"; - } - else if(event==5) { /* disabled, see above (ton) */ - outliner_do_object_operation(scene, soops, &soops->tree, id_local_cb); - str= "Localized Objects"; - } - else if(event==6) { - outliner_do_object_operation(scene, soops, &soops->tree, object_toggle_visibility_cb); - str= "Toggle Visibility"; - } - else if(event==7) { - outliner_do_object_operation(scene, soops, &soops->tree, object_toggle_selectability_cb); - str= "Toggle Selectability"; - } - else if(event==8) { - outliner_do_object_operation(scene, soops, &soops->tree, object_toggle_renderability_cb); - str= "Toggle Renderability"; - } - - BIF_undo_push(str); + 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(idlevel) { - if(idlevel==-1 || datalevel) error("Mixed selection"); - else { - short event; - if (idlevel==ID_GR) - event = pupmenu("Unlink %x1|Make Local %x2|Link Group Objects to Scene%x3"); - else - event = pupmenu("Unlink %x1|Make Local %x2"); + 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; + + RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", ""); +} + + +/* ****** Drag & Drop ****** */ + +static int outliner_drag_invoke(bContext *C, wmOperator *op, wmEvent *event) +{ + wmWindow *win= CTX_wm_window(C); + Object *ob= CTX_data_active_object(C); + PointerRNA ptr; + + RNA_pointer_create(NULL, &RNA_Object, ob, &ptr); + + return OPERATOR_RUNNING_MODAL; +} + +static int outliner_drag_modal(bContext *C, wmOperator *op, wmEvent *event) +{ + switch(event->type) { + case MOUSEDRAG: + + break; + case MOUSEDROP: + return OPERATOR_FINISHED; + case ESCKEY: + return OPERATOR_CANCELLED; + } + + return OPERATOR_RUNNING_MODAL; +} + +static int outliner_drag_exec(bContext *C, wmOperator *op) +{ + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_drag(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Drag"; + ot->idname= "OUTLINER_OT_drag"; + + /* api callbacks */ + ot->invoke= outliner_drag_invoke; + ot->modal= outliner_drag_modal; + ot->exec= outliner_drag_exec; + + ot->poll= ED_operator_outliner_active; + + /* flags */ + /* ot->flag= OPTYPE_UNDO; */ +} + + +/* ******************** */ + + +static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, float *mval) +{ + + if(mval[1]>te->ys && mval[1]<te->ys+OL_H) { + 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); - if(event==1) { - switch(idlevel) { - case ID_MA: - outliner_do_libdata_operation(soops, &soops->tree, unlink_material_cb); - BIF_undo_push("Unlink material"); - break; - case ID_TE: - outliner_do_libdata_operation(soops, &soops->tree, unlink_texture_cb); - BIF_undo_push("Unlink texture"); - break; - case ID_GR: - outliner_do_libdata_operation(soops, &soops->tree, unlink_group_cb); - BIF_undo_push("Unlink group"); - break; - default: - error("Not yet..."); - } - } - else if(event==2) { - outliner_do_libdata_operation(soops, &soops->tree, id_local_cb); - BIF_undo_push("Localized Data"); + 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(event==3 && idlevel==ID_GR) { - outliner_do_libdata_operation(soops, &soops->tree, group_linkobs2scene_cb); - BIF_undo_push("Link Group Objects to Scene"); + } + 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; } - else if(datalevel) { - if(datalevel==-1) error("Mixed selection"); - else { - if(datalevel==TSE_POSE_CHANNEL) { - short event= pupmenu("PoseChannel Operations%t|Select%x1|Deselect%x2|Hide%x3|Unhide%x4"); - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb); - BIF_undo_push("PoseChannel operation"); - } - } - else if(datalevel==TSE_BONE) { - short event= pupmenu("Bone Operations%t|Select%x1|Deselect%x2|Hide%x3|Unhide%x4"); - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb); - BIF_undo_push("Bone operation"); - } - } - else if(datalevel==TSE_EBONE) { - short event= pupmenu("EditBone Operations%t|Select%x1|Deselect%x2|Hide%x3|Unhide%x4"); - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb); - BIF_undo_push("EditBone operation"); - } - } - else if(datalevel==TSE_SEQUENCE) { - short event= pupmenu("Sequence Operations %t|Select %x1"); - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb); - } - } + + 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 *op, wmEvent *event) +{ + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + SpaceOops *soops= (SpaceOops*)CTX_wm_space_data(C); + TreeElement *te; + float fmval[2]; + + UI_view2d_region_to_view(&ar->v2d, event->x - ar->winrct.xmin, event->y - ar->winrct.ymin, fmval, fmval+1); + + 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->invoke= outliner_operation; + + ot->poll= ED_operator_outliner_active; } + + /* ***************** ANIMATO OPERATIONS ********************************** */ /* KeyingSet and Driver Creation - Helper functions */ @@ -3897,7 +4281,7 @@ static void tselem_draw_icon(float x, float y, TreeStoreElem *tselem, TreeElemen } } -static void outliner_draw_iconrow(Scene *scene, SpaceOops *soops, ListBase *lb, int level, int *offsx, int ys) +static void outliner_draw_iconrow(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int *offsx, int ys) { TreeElement *te; TreeStoreElem *tselem; @@ -3914,7 +4298,7 @@ static void outliner_draw_iconrow(Scene *scene, SpaceOops *soops, ListBase *lb, 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(scene, soops, te, 0); + else active= tree_element_active(C, scene, soops, te, 0); } else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0); @@ -3936,12 +4320,12 @@ static void outliner_draw_iconrow(Scene *scene, SpaceOops *soops, ListBase *lb, /* this tree element always has same amount of branches, so dont draw */ if(tselem->type!=TSE_R_LAYER) - outliner_draw_iconrow(scene, soops, &te->subtree, level+1, offsx, ys); + outliner_draw_iconrow(C, scene, soops, &te->subtree, level+1, offsx, ys); } } -static void outliner_draw_tree_element(Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty) +static void outliner_draw_tree_element(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty) { TreeElement *ten; TreeStoreElem *tselem; @@ -3979,12 +4363,12 @@ static void outliner_draw_tree_element(Scene *scene, ARegion *ar, SpaceOops *soo } } -// XXX context? else if(obedit && obedit->data==tselem->id) { -// glColor4ub(255, 255, 255, 100); -// active= 2; -// } + else if(scene->obedit && scene->obedit->data==tselem->id) { + glColor4ub(255, 255, 255, 100); + active= 2; + } else { - if(tree_element_active(scene, soops, te, 0)) { + if(tree_element_active(C, scene, soops, te, 0)) { glColor4ub(220, 220, 255, 100); active= 2; } @@ -4063,7 +4447,7 @@ static void outliner_draw_tree_element(Scene *scene, ARegion *ar, SpaceOops *soo glEnable(GL_BLEND); glPixelTransferf(GL_ALPHA_SCALE, 0.5); - outliner_draw_iconrow(scene, soops, &te->subtree, 0, &tempx, *starty+2); + outliner_draw_iconrow(C, scene, soops, &te->subtree, 0, &tempx, *starty+2); glPixelTransferf(GL_ALPHA_SCALE, 1.0); glDisable(GL_BLEND); @@ -4080,7 +4464,7 @@ static void outliner_draw_tree_element(Scene *scene, ARegion *ar, SpaceOops *soo if((tselem->flag & TSE_CLOSED)==0) { for(ten= te->subtree.first; ten; ten= ten->next) { - outliner_draw_tree_element(scene, ar, soops, ten, startx+OL_X, starty); + outliner_draw_tree_element(C, scene, ar, soops, ten, startx+OL_X, starty); } } } @@ -4159,20 +4543,12 @@ static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, } -static void outliner_draw_tree(Scene *scene, ARegion *ar, SpaceOops *soops) +static void outliner_draw_tree(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops) { TreeElement *te; int starty, startx; float col[4]; - -#if 0 // XXX was #ifdef INTERNATIONAL - /* Maybe the INTERNATIONAL was really for check about freetype2 ? - * anyway I think that we can remove this now - Diego - */ - FTF_SetFontSize('l'); - BIF_SetScale(1.0); -#endif - + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) { @@ -4199,7 +4575,7 @@ static void outliner_draw_tree(Scene *scene, ARegion *ar, SpaceOops *soops) starty= (int)ar->v2d.tot.ymax-OL_H; startx= 0; for(te= soops->tree.first; te; te= te->next) { - outliner_draw_tree_element(scene, ar, soops, te, startx, &starty); + outliner_draw_tree_element(C, scene, ar, soops, te, startx, &starty); } } @@ -4274,6 +4650,7 @@ static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2) } } } + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); } @@ -4295,16 +4672,18 @@ static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2) } } } + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); } static void restrictbutton_rend_cb(bContext *C, void *poin, void *poin2) { + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, poin); } static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *poin2) { - /* XXX redraws */ + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin); } static void restrictbutton_modifier_cb(bContext *C, void *poin, void *poin2) @@ -4315,26 +4694,40 @@ static void restrictbutton_modifier_cb(bContext *C, void *poin, void *poin2) DAG_object_flush_update(scene, ob, OB_RECALC_DATA); object_handle_update(scene, ob); + WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob); } static void restrictbutton_bone_cb(bContext *C, void *poin, void *poin2) { - /* XXX redraws */ + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); } -static void namebutton_cb(bContext *C, void *tep, void *oldnamep) +static void namebutton_cb(bContext *C, void *tsep, char *oldname) { - SpaceOops *soops= NULL; // XXXcurarea->spacedata.first; - Scene *scene= NULL; // XXX + SpaceOops *soops= (SpaceOops *)CTX_wm_space_data(C); + Scene *scene= CTX_data_scene(C); + Object *obedit= CTX_data_edit_object(C); TreeStore *ts= soops->treestore; - TreeElement *te= tep; + TreeStoreElem *tselem= tsep; - if(ts && te) { - TreeStoreElem *tselem= TREESTORE(te); + 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_MATERIAL, NULL); break; + } /* Check the library target exists */ if (te->idcode == ID_LI) { char expanded[FILE_MAXDIR + FILE_MAXFILE]; @@ -4362,8 +4755,9 @@ static void namebutton_cb(bContext *C, void *tep, void *oldnamep) /* restore bone name */ BLI_strncpy(newname, ebone->name, 32); - BLI_strncpy(ebone->name, oldnamep, 32); -// XXX armature_bone_rename(obedit->data, oldnamep, newname); + BLI_strncpy(ebone->name, oldname, 32); + ED_armature_bone_rename(obedit->data, oldname, newname); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT); } } break; @@ -4375,13 +4769,14 @@ static void namebutton_cb(bContext *C, void *tep, void *oldnamep) char newname[32]; // always make current object active - tree_element_set_active_object(C, scene, soops, te); + tree_element_set_active_object(C, scene, soops, te, 1); ob= OBACT; /* restore bone name */ BLI_strncpy(newname, bone->name, 32); - BLI_strncpy(bone->name, oldnamep, 32); -// XXX armature_bone_rename(ob->data, oldnamep, newname); + BLI_strncpy(bone->name, oldname, 32); + ED_armature_bone_rename(ob->data, oldname, newname); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); } break; case TSE_POSE_CHANNEL: @@ -4391,13 +4786,14 @@ static void namebutton_cb(bContext *C, void *tep, void *oldnamep) char newname[32]; // always make current object active - tree_element_set_active_object(C, scene, soops, te); + tree_element_set_active_object(C, scene, soops, te, 1); ob= OBACT; /* restore bone name */ BLI_strncpy(newname, pchan->name, 32); - BLI_strncpy(pchan->name, oldnamep, 32); -// XXX armature_bone_rename(ob->data, oldnamep, newname); + BLI_strncpy(pchan->name, oldname, 32); + ED_armature_bone_rename(ob->data, oldname, newname); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); } break; case TSE_POSEGRP: @@ -4406,6 +4802,7 @@ static void namebutton_cb(bContext *C, void *tep, void *oldnamep) bActionGroup *grp= te->directdata; BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), 32); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); } break; case TSE_R_LAYER: @@ -4421,7 +4818,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar TreeElement *te; TreeStoreElem *tselem; Object *ob = NULL; - + for(te= lb->first; te; te= te->next) { tselem= TREESTORE(te); if(te->ys >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { @@ -4440,7 +4837,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar bt= uiDefIconButBitS(block, ICONTOG, OB_RESTRICT_RENDER, 0, ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (short)te->ys, 17, OL_H-1, &(ob->restrictflag), 0, 0, 0, 0, "Restrict/Allow renderability"); - uiButSetFunc(bt, restrictbutton_rend_cb, NULL, NULL); + uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob); uiBlockSetEmboss(block, UI_EMBOSS); } @@ -4450,7 +4847,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (short)te->ys, 17, OL_H-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer"); - uiButSetFunc(bt, restrictbutton_r_lay_cb, NULL, NULL); + uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); uiBlockSetEmboss(block, UI_EMBOSS); } @@ -4461,13 +4858,13 @@ static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar /* NOTE: tselem->nr is short! */ bt= uiDefIconButBitI(block, ICONTOG, tselem->nr, 0, ICON_CHECKBOX_HLT-1, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (short)te->ys, 17, OL_H-1, layflag, 0, 0, 0, 0, "Render this Pass"); - uiButSetFunc(bt, restrictbutton_r_lay_cb, NULL, NULL); + uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); layflag++; /* is lay_xor */ if(ELEM6(tselem->nr, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_RADIO)) bt= uiDefIconButBitI(block, TOG, tselem->nr, 0, (*layflag & tselem->nr)?ICON_DOT:ICON_BLANK1, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (short)te->ys, 17, OL_H-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined"); - uiButSetFunc(bt, restrictbutton_r_lay_cb, NULL, NULL); + uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); uiBlockSetEmboss(block, UI_EMBOSS); } @@ -4556,7 +4953,7 @@ static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, Spa } } -static void outliner_buttons(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb) +static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb) { uiBut *bt; TreeElement *te; @@ -4568,6 +4965,7 @@ static void outliner_buttons(uiBlock *block, ARegion *ar, SpaceOops *soops, List if(te->ys >= 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. */ @@ -4582,17 +4980,15 @@ static void outliner_buttons(uiBlock *block, ARegion *ar, SpaceOops *soops, List if(dx<50) dx= 50; bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", (short)te->xs+2*OL_X-4, (short)te->ys, dx+10, OL_H-1, te->name, 1.0, (float)len-1, 0, 0, ""); - uiButSetFunc(bt, namebutton_cb, te, NULL); - - // signal for button to open -// XXX addqueue(curarea->win, BUT_ACTIVATE, OL_NAMEBUTTON); + uiButSetRenameFunc(bt, namebutton_cb, tselem); - /* otherwise keeps open on ESC */ - tselem->flag &= ~TSE_TEXTBUT; + /* returns false if button got removed */ + if( 0 == uiButActiveOnly(C, block, bt) ) + tselem->flag &= ~TSE_TEXTBUT; } } - if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(block, ar, soops, &te->subtree); + if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree); } } @@ -4646,11 +5042,11 @@ void draw_outliner(const bContext *C) /* draw outliner stuff (background and hierachy lines) */ outliner_back(ar, soops); - outliner_draw_tree(scene, ar, soops); + outliner_draw_tree((bContext *)C, scene, ar, soops); /* draw icons and names */ block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS); - outliner_buttons(block, ar, soops, &soops->tree); + outliner_buttons(C, block, ar, soops, &soops->tree); if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) { /* draw rna buttons */ diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h index 69f88fbcca7..d5986f3ebbd 100644 --- a/source/blender/editors/space_outliner/outliner_intern.h +++ b/source/blender/editors/space_outliner/outliner_intern.h @@ -115,11 +115,19 @@ void outliner_header_buttons(const struct bContext *C, struct ARegion *ar); /* outliner.c */ void outliner_free_tree(struct ListBase *lb); -void outliner_operation_menu(struct Scene *scene, struct ARegion *ar, struct SpaceOops *soops); void outliner_select(struct SpaceOops *soops, struct ListBase *lb, int *index, short *selecting); void draw_outliner(const struct bContext *C); -void OUTLINER_OT_activate_click(struct wmOperatorType *ot); +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_drag(struct wmOperatorType *ot); void OUTLINER_OT_show_one_level(struct wmOperatorType *ot); void OUTLINER_OT_show_active(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c index 6fddd16c174..417851982a3 100644 --- a/source/blender/editors/space_outliner/outliner_ops.c +++ b/source/blender/editors/space_outliner/outliner_ops.c @@ -47,8 +47,17 @@ void outliner_operatortypes(void) { - WM_operatortype_append(OUTLINER_OT_activate_click); - + WM_operatortype_append(OUTLINER_OT_item_activate); + WM_operatortype_append(OUTLINER_OT_item_openclose); + WM_operatortype_append(OUTLINER_OT_item_rename); + WM_operatortype_append(OUTLINER_OT_operation); + WM_operatortype_append(OUTLINER_OT_object_operation); + 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_drag); + WM_operatortype_append(OUTLINER_OT_show_one_level); WM_operatortype_append(OUTLINER_OT_show_active); WM_operatortype_append(OUTLINER_OT_show_hierarchy); @@ -71,12 +80,22 @@ void outliner_keymap(wmWindowManager *wm) { ListBase *keymap= WM_keymap_listbase(wm, "Outliner", SPACE_OUTLINER, 0); - WM_keymap_verify_item(keymap, "OUTLINER_OT_activate_click", LEFTMOUSE, KM_PRESS, 0, 0); + RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_PRESS, 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); - WM_keymap_verify_item(keymap, "OUTLINER_OT_show_hierarchy", HOMEKEY, KM_PRESS, 0, 0); + 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); + + WM_keymap_add_item(keymap, "OUTLINER_OT_item_rename", LEFTMOUSE, KM_PRESS, KM_CTRL, 0); + WM_keymap_add_item(keymap, "OUTLINER_OT_operation", RIGHTMOUSE, KM_PRESS, 0, 0); + + /* drag & drop */ + WM_keymap_add_item(keymap, "OUTLINER_OT_drag", MOUSEDRAG, KM_ANY, 0, 0); + + WM_keymap_add_item(keymap, "OUTLINER_OT_show_hierarchy", HOMEKEY, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "OUTLINER_OT_show_active", PERIODKEY, KM_PRESS, 0, 0); - WM_keymap_verify_item(keymap, "OUTLINER_OT_show_active", PADPERIOD, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "OUTLINER_OT_show_active", PERIODKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "OUTLINER_OT_show_active", PADPERIOD, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "OUTLINER_OT_show_one_level", PADPLUSKEY, KM_PRESS, 0, 0); /* open */ RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_show_one_level", PADMINUS, KM_PRESS, 0, 0)->ptr, "open", 0); /* close */ diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c index 4ddb586beb4..4737fb53a1a 100644 --- a/source/blender/editors/space_outliner/space_outliner.c +++ b/source/blender/editors/space_outliner/space_outliner.c @@ -120,6 +120,7 @@ static void outliner_main_area_listener(ARegion *ar, wmNotifier *wmn) case ND_MODE: case ND_KEYINGSET: case ND_FRAME: + case ND_RENDER_OPTIONS: ED_region_tag_redraw(ar); break; } diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c index e6d97071ef5..79912d9ed0e 100644 --- a/source/blender/editors/space_text/text_ops.c +++ b/source/blender/editors/space_text/text_ops.c @@ -280,17 +280,10 @@ static void text_unlink(Main *bmain, Text *text) * disabled it will leave invalid pointers in files! */ #ifndef DISABLE_PYTHON - // XXX BPY_clear_bad_scriptlinks(text); // XXX BPY_free_pyconstraint_links(text); // XXX free_text_controllers(text); // XXX free_dome_warp_text(text); - /* check if this text was used as script link: - * this check function unsets the pointers and returns how many - * script links used this Text */ - if(0) // XXX BPY_text_check_all_scriptlinks (text)) - ; // XXX notifier: allqueue(REDRAWBUTSSCRIPT, 0); - /* equivalently for pynodes: */ if(0) // XXX nodeDynamicUnlinkText ((ID*)text)) ; // XXX notifier: allqueue(REDRAWNODE, 0); diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c index c4ca4d8522f..24afd24740a 100644 --- a/source/blender/editors/space_time/space_time.c +++ b/source/blender/editors/space_time/space_time.c @@ -29,6 +29,7 @@ #include <string.h> #include <stdio.h> +#include "DNA_object_types.h" #include "DNA_space_types.h" #include "DNA_scene_types.h" #include "DNA_screen_types.h" @@ -37,11 +38,14 @@ #include "MEM_guardedalloc.h" #include "BLI_blenlib.h" +#include "BLI_dlrbTree.h" #include "BKE_context.h" #include "BKE_global.h" #include "BKE_screen.h" +#include "BKE_utildefines.h" +#include "ED_keyframes_draw.h" #include "ED_space_api.h" #include "ED_screen.h" #include "ED_util.h" @@ -106,6 +110,95 @@ static void time_draw_sfra_efra(const bContext *C, SpaceTime *stime, ARegion *ar fdrawline((float)PEFRA, v2d->cur.ymin, (float)PEFRA, v2d->cur.ymax); } +/* helper function - find actkeycolumn that occurs on cframe, or the nearest one if not found */ +static ActKeyColumn *time_cfra_find_ak (ActKeyColumn *ak, float cframe) +{ + ActKeyColumn *akn= NULL; + + /* sanity checks */ + if (ak == NULL) + return NULL; + + /* check if this is a match, or whether it is in some subtree */ + if (cframe < ak->cfra) + akn= time_cfra_find_ak(ak->left, cframe); + else if (cframe > ak->cfra) + akn= time_cfra_find_ak(ak->right, cframe); + + /* if no match found (or found match), just use the current one */ + if (akn == NULL) + return ak; + else + return akn; +} + +/* helper for time_draw_keyframes() */ +static void time_draw_idblock_keyframes(View2D *v2d, ID *id) +{ + DLRBT_Tree keys; + ActKeyColumn *ak; + + /* init binarytree-list for getting keyframes */ + BLI_dlrbTree_init(&keys); + + /* populate tree with keyframe nodes */ + switch (GS(id->name)) { + case ID_SCE: + scene_to_keylist(NULL, (Scene *)id, &keys, NULL); + break; + case ID_OB: + ob_to_keylist(NULL, (Object *)id, &keys, NULL); + break; + } + + /* build linked-list for searching */ + BLI_dlrbTree_linkedlist_sync(&keys); + + /* start drawing keyframes + * - we use the binary-search capabilities of the tree to only start from + * the first visible keyframe (last one can then be easily checked) + * - draw within a single GL block to be faster + */ + glBegin(GL_LINES); + for ( ak=time_cfra_find_ak(keys.root, v2d->cur.xmin); + (ak) && (ak->cfra <= v2d->cur.xmax); + ak=ak->next ) + { + glVertex2f(ak->cfra, v2d->cur.ymin); + glVertex2f(ak->cfra, v2d->cur.ymax); + } + glEnd(); // GL_LINES + + /* free temp stuff */ + BLI_dlrbTree_free(&keys); +} + +/* draw keyframe lines for timeline */ +static void time_draw_keyframes(const bContext *C, SpaceTime *stime, ARegion *ar) +{ + Scene *scene= CTX_data_scene(C); + Object *ob= CTX_data_active_object(C); + View2D *v2d= &ar->v2d; + + /* draw scene keyframes first + * - only if we're not only showing the + */ + if ((scene) && (stime->flag & TIME_ONLYACTSEL)==0) { + /* set draw color */ + glColor3ub(0xDD, 0xA7, 0x00); + time_draw_idblock_keyframes(v2d, (ID *)scene); + } + + /* draw active object's keyframes */ + if (ob) { + /* set draw color */ + glColor3ub(0xDD, 0xD7, 0x00); + time_draw_idblock_keyframes(v2d, (ID *)ob); + } +} + +/* ---------------- */ + /* add handlers, stuff you only do once or on area/region changes */ static void time_main_area_init(wmWindowManager *wm, ARegion *ar) { @@ -118,7 +211,6 @@ static void time_main_area_init(wmWindowManager *wm, ARegion *ar) WM_event_add_keymap_handler_bb(&ar->handlers, keymap, &ar->v2d.mask, &ar->winrct); } - static void time_main_area_draw(const bContext *C, ARegion *ar) { /* draw entirely, view changes should be handled here */ @@ -144,7 +236,10 @@ static void time_main_area_draw(const bContext *C, ARegion *ar) grid= UI_view2d_grid_calc(C, v2d, unit, V2D_GRID_CLAMP, V2D_ARG_DUMMY, V2D_ARG_DUMMY, ar->winx, ar->winy); UI_view2d_grid_draw(C, v2d, grid, (V2D_VERTICAL_LINES|V2D_VERTICAL_AXIS)); UI_view2d_grid_free(grid); - + + /* keyframes */ + time_draw_keyframes(C, stime, ar); + /* current frame */ time_draw_cfra_time(C, stime, ar); diff --git a/source/blender/editors/space_time/time_header.c b/source/blender/editors/space_time/time_header.c index 9ffce53e572..f79e04755e2 100644 --- a/source/blender/editors/space_time/time_header.c +++ b/source/blender/editors/space_time/time_header.c @@ -53,6 +53,8 @@ #include "WM_api.h" #include "WM_types.h" +#include "RNA_access.h" + #include "BIF_gl.h" #include "BIF_glutil.h" @@ -108,11 +110,6 @@ static void do_time_redrawmenu(bContext *C, void *arg, int event) sad->ar= time_top_left_3dwindow(screen); } } - else { - if(event==1001) { -// button(&CTX_data_scene(C)->r.frs_sec,1,120,"FPS:"); - } - } } @@ -120,10 +117,8 @@ static uiBlock *time_redrawmenu(bContext *C, ARegion *ar, void *arg_unused) { ScrArea *curarea= CTX_wm_area(C); SpaceTime *stime= (SpaceTime*)CTX_wm_space_data(C); - Scene *scene= CTX_data_scene(C); uiBlock *block; short yco= 0, menuwidth=120, icon; - char str[32]; block= uiBeginBlock(C, ar, "header time_redrawmenu", UI_EMBOSSP); uiBlockSetButmFunc(block, do_time_redrawmenu, NULL); @@ -155,16 +150,10 @@ static uiBlock *time_redrawmenu(bContext *C, ARegion *ar, void *arg_unused) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - sprintf(str, "Set Frames/Sec (%d/%f)", scene->r.frs_sec, scene->r.frs_sec_base); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, str, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1001, ""); - - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - if(stime->redraws & TIME_CONTINUE_PHYSICS) icon= ICON_CHECKBOX_HLT; else icon= ICON_CHECKBOX_DEHLT; uiDefIconTextBut(block, BUTM, 1, icon, "Continue Physics", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, TIME_CONTINUE_PHYSICS, "During playblack, continue physics simulations regardless of the frame number"); - if(curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } @@ -375,12 +364,8 @@ static uiBlock *time_framemenu(bContext *C, ARegion *ar, void *arg_unused) #define B_TL_PLAY 752 #define B_TL_RPLAY 760 #define B_TL_FF 753 -#define B_TL_PREVKEY 754 -#define B_TL_NEXTKEY 755 #define B_TL_STOP 756 #define B_TL_PREVIEWON 757 -#define B_TL_INSERTKEY 758 -#define B_TL_DELETEKEY 759 #define B_FLIPINFOMENU 0 #define B_NEWFRAME 0 @@ -438,14 +423,6 @@ void do_time_buttons(bContext *C, void *arg, int event) WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene); //update_for_newframe(); break; - case B_TL_PREVKEY: - /* previous keyframe */ - //nextprev_timeline_key(-1); - break; - case B_TL_NEXTKEY: - /* next keyframe */ - //nextprev_timeline_key(1); - break; case B_TL_PREVIEWON: if (scene->r.psfra) { @@ -461,17 +438,6 @@ void do_time_buttons(bContext *C, void *arg, int event) //BIF_undo_push("Set anim-preview range"); WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene); break; - - case B_TL_INSERTKEY: - /* insert keyframe */ - //common_insertkey(); - //allqueue(REDRAWTIME, 1); - break; - case B_TL_DELETEKEY: - /* delete keyframe */ - //common_deletekey(); - //allqueue(REDRAWTIME, 1); - break; } } @@ -482,6 +448,7 @@ void time_header_buttons(const bContext *C, ARegion *ar) SpaceTime *stime= (SpaceTime*)CTX_wm_space_data(C); Scene *scene= CTX_data_scene(C); uiBlock *block; + uiBut *but; int xco, yco= 3; char *menustr= NULL; @@ -547,7 +514,7 @@ void time_header_buttons(const bContext *C, ARegion *ar) } uiBlockEndAlign(block); - xco += (short)(4.5 * XIC + 16); + xco += (short)(4.5 * XIC); /* MINAFRAMEF not MINFRAMEF, since MINAFRAMEF allows to set current frame negative * to facilitate easier keyframing in some situations @@ -557,75 +524,79 @@ void time_header_buttons(const bContext *C, ARegion *ar) &(scene->r.cfra), MINAFRAMEF, MAXFRAMEF, 0, 0, "Displays Current Frame of animation"); - xco += (short)(3.5 * XIC + 16); + xco += (short)(3.5 * XIC); + uiBlockBeginAlign(block); + uiDefIconBut(block, BUT, B_TL_REW, ICON_REW, xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Skip to Start frame (Shift DownArrow)"); - xco+= XIC+4; - uiDefIconBut(block, BUT, B_TL_PREVKEY, ICON_PREV_KEYFRAME, - xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Skip to previous keyframe (Ctrl PageDown)"); - xco+= XIC+4; + xco+= XIC; + + but= uiDefIconButO(block, BUT, "SCREEN_OT_keyframe_jump", WM_OP_INVOKE_REGION_WIN, ICON_PREV_KEYFRAME, xco,yco,XIC,YIC, "Skip to previous keyframe (Ctrl PageDown)"); + RNA_boolean_set(uiButGetOperatorPtrRNA(but), "next", 0); + xco+= XIC; if(CTX_wm_screen(C)->animtimer) { - /* pause button is drawn centered between the two other buttons for now (saves drawing 2 buttons, or having position changes) */ - xco+= XIC/2 + 2; - + /* pause button 2*size to keep buttons in place */ uiDefIconBut(block, BUT, B_TL_STOP, ICON_PAUSE, - xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Stop Playing Timeline"); + xco, yco, XIC*2, YIC, 0, 0, 0, 0, 0, "Stop Playing Timeline"); - xco+= XIC/2 + 2; + xco+= XIC; } else { - // FIXME: the icon for this is crap - uiDefIconBut(block, BUT, B_TL_RPLAY, ICON_REW/*ICON_PLAY*/, + uiDefIconBut(block, BUT, B_TL_RPLAY, ICON_PLAY_REVERSE, xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Play Timeline in Reverse"); - xco+= XIC+4; + xco+= XIC; uiDefIconBut(block, BUT, B_TL_PLAY, ICON_PLAY, xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Play Timeline "); } - xco+= XIC+4; + xco+= XIC; + + but= uiDefIconButO(block, BUT, "SCREEN_OT_keyframe_jump", WM_OP_INVOKE_REGION_WIN, ICON_NEXT_KEYFRAME, xco,yco,XIC,YIC, "Skip to next keyframe (Ctrl PageUp)"); + RNA_boolean_set(uiButGetOperatorPtrRNA(but), "next", 1); + xco+= XIC; - uiDefIconBut(block, BUT, B_TL_NEXTKEY, ICON_NEXT_KEYFRAME, - xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Skip to next keyframe (Ctrl PageUp)"); - xco+= XIC+4; uiDefIconBut(block, BUT, B_TL_FF, ICON_FF, xco, yco, XIC, YIC, 0, 0, 0, 0, 0, "Skip to End frame (Shift UpArrow)"); - xco+= XIC+8; + uiBlockEndAlign(block); + + xco+= 2*XIC; uiBlockBeginAlign(block); - uiDefIconButBitS(block, TOG, AUTOKEY_ON, B_REDRAWALL, ICON_REC, - xco, yco, XIC, YIC, &(scene->toolsettings->autokey_mode), 0, 0, 0, 0, "Automatic keyframe insertion for Objects and Bones"); - xco+= XIC; - if (IS_AUTOKEY_ON(scene)) { - uiDefButS(block, MENU, B_REDRAWALL, - "Auto-Keying Mode %t|Add/Replace Keys%x3|Replace Keys %x5", - xco, yco, (int)5.5*XIC, YIC, &(scene->toolsettings->autokey_mode), 0, 1, 0, 0, - "Mode of automatic keyframe insertion for Objects and Bones"); - xco+= (6*XIC); - } + uiDefIconButBitS(block, TOG, AUTOKEY_ON, B_REDRAWALL, ICON_REC, + xco, yco, XIC, YIC, &(scene->toolsettings->autokey_mode), 0, 0, 0, 0, "Automatic keyframe insertion for Objects and Bones"); + xco+= XIC; + + if(IS_AUTOKEY_ON(scene)) { + uiDefButS(block, MENU, B_REDRAWALL, + "Auto-Keying Mode %t|Add/Replace Keys%x3|Replace Keys %x5", + xco, yco, (int)5.5*XIC, YIC, &(scene->toolsettings->autokey_mode), 0, 1, 0, 0, + "Mode of automatic keyframe insertion for Objects and Bones"); + xco+= (5.5*XIC); + } + else + xco+= 6; + uiBlockEndAlign(block); - xco+= 16; - - menustr= ANIM_build_keyingsets_menu(&scene->keyingsets, 0); uiDefButI(block, MENU, B_DIFF, menustr, xco, yco, (int)5.5*XIC, YIC, &(scene->active_keyingset), 0, 1, 0, 0, "Active Keying Set (i.e. set of channels to Insert Keyframes for)"); MEM_freeN(menustr); - xco+= (6*XIC); + xco+= (5.5*XIC); uiBlockBeginAlign(block); - uiDefIconButO(block, BUT, "ANIM_OT_delete_keyframe", WM_OP_INVOKE_REGION_WIN, ICON_KEY_DEHLT, xco,yco,XIC,YIC, "Delete Keyframes for the Active Keying Set (Alt-I)"); - xco += XIC; - uiDefIconButO(block, BUT, "ANIM_OT_insert_keyframe", WM_OP_INVOKE_REGION_WIN, ICON_KEY_HLT, xco,yco,XIC,YIC, "Insert Keyframes for the Active Keying Set (I)"); - xco += XIC; + uiDefIconButO(block, BUT, "ANIM_OT_delete_keyframe", WM_OP_INVOKE_REGION_WIN, ICON_KEY_DEHLT, xco,yco,XIC,YIC, "Delete Keyframes for the Active Keying Set (Alt-I)"); + xco += XIC; + uiDefIconButO(block, BUT, "ANIM_OT_insert_keyframe", WM_OP_INVOKE_REGION_WIN, ICON_KEY_HLT, xco,yco,XIC,YIC, "Insert Keyframes for the Active Keying Set (I)"); + xco += XIC; uiBlockEndAlign(block); - xco+= 16; + xco+= XIC; uiDefIconButBitI(block, TOG, TIME_WITH_SEQ_AUDIO, B_DIFF, ICON_SPEAKER, xco, yco, XIC, YIC, &(stime->redraws), 0, 0, 0, 0, "Play back and sync with audio from Sequence Editor"); diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index b698b404825..5a9790390b7 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -2154,12 +2154,12 @@ static void draw_pose_paths(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec /* only draw framenum if several consecutive highlighted points don't occur on same point */ if (a == 0) { - sprintf(str, " %d\n", (a+sfra)); + sprintf(str, "%d", (a+sfra)); view3d_object_text_draw_add(fp[0], fp[1], fp[2], str, 0); } else if ((a > stepsize) && (a < len-stepsize)) { if ((VecEqual(fp, fp-(stepsize*3))==0) || (VecEqual(fp, fp+(stepsize*3))==0)) { - sprintf(str, " %d\n", (a+sfra)); + sprintf(str, "%d", (a+sfra)); view3d_object_text_draw_add(fp[0], fp[1], fp[2], str, 0); } } @@ -2201,7 +2201,7 @@ static void draw_pose_paths(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec if (ak->cfra == (a+sfra)) { char str[32]; - sprintf(str, " %d\n", (a+sfra)); + sprintf(str, "%d", (a+sfra)); view3d_object_text_draw_add(fp[0], fp[1], fp[2], str, 0); } } diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 41da2c5a85b..0f498810fb5 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -40,6 +40,7 @@ #include "MTC_matrixops.h" #include "DNA_armature_types.h" +#include "DNA_boid_types.h" #include "DNA_camera_types.h" #include "DNA_curve_types.h" #include "DNA_constraint_types.h" // for drawing constraint @@ -3136,7 +3137,7 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv Material *ma; float vel[3], imat[4][4]; float timestep, pixsize=1.0, pa_size, r_tilt, r_length; - float pa_time, pa_birthtime, pa_dietime; + float pa_time, pa_birthtime, pa_dietime, pa_health; float cfra= bsystem_time(scene, ob,(float)CFRA,0.0); float ma_r=0.0f, ma_g=0.0f, ma_b=0.0f; int a, totpart, totpoint=0, totve=0, drawn, draw_as, totchild=0; @@ -3362,6 +3363,10 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv pa_birthtime=pa->time; pa_dietime = pa->dietime; pa_size=pa->size; + if(part->phystype==PART_PHYS_BOIDS) + pa_health = pa->boid->health; + else + pa_health = -1.0; #if 0 // XXX old animation system if((part->flag&PART_ABS_TIME)==0){ @@ -3424,6 +3429,8 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv pa_size=psys_get_child_size(psys,cpa,cfra,0); + pa_health = -1.0; + r_tilt = 2.0f * cpa->rand[2]; r_length = cpa->rand[1]; } @@ -3506,9 +3513,19 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv setlinestyle(0); } - if(part->draw&PART_DRAW_NUM && !(G.f & G_RENDER_SHADOW)){ + if((part->draw&PART_DRAW_NUM || part->draw&PART_DRAW_HEALTH) && !(G.f & G_RENDER_SHADOW)){ + strcpy(val, ""); + + if(part->draw&PART_DRAW_NUM) + sprintf(val, " %i", a); + + if(part->draw&PART_DRAW_NUM && part->draw&PART_DRAW_HEALTH) + sprintf(val, "%s:", val); + + if(part->draw&PART_DRAW_HEALTH && a < totpart && part->phystype==PART_PHYS_BOIDS) + sprintf(val, "%s %.2f", val, pa_health); + /* in path drawing state.co is the end point */ - sprintf(val," %i",a); view3d_particle_text_draw_add(state.co[0], state.co[1], state.co[2], val, 0); } } diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 2b162f9574d..a99c227ae1f 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -280,7 +280,7 @@ static void view3d_modal_keymaps(wmWindowManager *wm, ARegion *ar, int stype) /* copy last mode, then we can re-init the region maps */ rv3d->lastmode= stype; - + keymap= WM_keymap_listbase(wm, "Object Mode", 0, 0); if(ELEM(stype, 0, NS_MODE_OBJECT)) WM_event_add_keymap_handler(&ar->handlers, keymap); diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index dd4e67e612c..5e6bfe89165 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1345,7 +1345,7 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d) int mip= 0; if(ibuf->mipmap[0]==NULL) - IMB_makemipmap(ibuf, 0); + IMB_makemipmap(ibuf, 0, 0); while(tzoom < 1.0f && mip<8 && ibuf->mipmap[mip]) { tzoom*= 2.0f; @@ -2085,10 +2085,6 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) // addafterqueue(ar->win, BACKBUFDRAW, 1); //} } - -#ifndef DISABLE_PYTHON - /* XXX here was scriptlink */ -#endif } diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 3c80b650cf3..f278b717f10 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -1149,7 +1149,7 @@ void VIEW3D_OT_render_border(wmOperatorType *ot) } /* ********************* Border Zoom operator ****************** */ -static int view3d_border_zoom_exec(bContext *C, wmOperator *op) +static int view3d_zoom_border_exec(bContext *C, wmOperator *op) { ARegion *ar= CTX_wm_region(C); View3D *v3d = CTX_wm_view3d(C); @@ -1285,7 +1285,7 @@ static int view3d_border_zoom_exec(bContext *C, wmOperator *op) return OPERATOR_FINISHED; } -static int view3d_border_zoom_invoke(bContext *C, wmOperator *op, wmEvent *event) +static int view3d_zoom_border_invoke(bContext *C, wmOperator *op, wmEvent *event) { RegionView3D *rv3d= CTX_wm_region_view3d(C); @@ -1305,8 +1305,8 @@ void VIEW3D_OT_zoom_border(wmOperatorType *ot) ot->idname= "VIEW3D_OT_zoom_border"; /* api callbacks */ - ot->invoke= view3d_border_zoom_invoke; - ot->exec= view3d_border_zoom_exec; + ot->invoke= view3d_zoom_border_invoke; + ot->exec= view3d_zoom_border_exec; ot->modal= WM_border_select_modal; ot->poll= ED_operator_view3d_active; diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 677d3c20de1..529db1cbb06 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -1993,7 +1993,7 @@ static void view3d_edit_object_trackmenu(bContext *C, uiLayout *layout, void *ar static void view3d_edit_object_constraintsmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiItemBooleanO(layout, NULL, 0, "OBJECT_OT_constraint_add", "set_targets", 1); // XXX it'd be better to have the version which sets links... + uiItemO(layout, NULL, 0, "OBJECT_OT_constraint_add_with_targets"); uiItemO(layout, NULL, 0, "OBJECT_OT_constraints_clear"); } @@ -2091,12 +2091,11 @@ static void view3d_edit_objectmenu(bContext *C, uiLayout *layout, void *arg_unus uiItemS(layout); -#if 0 - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Insert Keyframe|I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete Keyframe|Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, ""); + // TODO: these operators may get renamed + uiItemO(layout, NULL, 0, "ANIM_OT_insert_keyframe_menu"); + uiItemO(layout, NULL, 0, "ANIM_OT_delete_keyframe_v3d"); uiItemS(layout); -#endif uiItemO(layout, NULL, 0, "OBJECT_OT_duplicate"); uiItemBooleanO(layout, "Duplicate Linked", 0, "OBJECT_OT_duplicate", "linked", 1); @@ -2118,14 +2117,17 @@ static void view3d_edit_objectmenu(bContext *C, uiLayout *layout, void *arg_unus uiItemMenuF(layout, "Constraints", 0, view3d_edit_object_constraintsmenu); #if 0 - uiItemS(layout); - if(ob && ob->type == OB_MESH) { uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Boolean Operation...|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, ""); } - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Join Objects|Ctrl J", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, ""); + + // join... (added already) + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Convert Object Type...|Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, ""); #endif + uiItemS(layout); + + uiItemO(layout, NULL, 0, "OBJECT_OT_join"); uiItemS(layout); @@ -2263,7 +2265,7 @@ static void view3d_edit_mesh_facesmenu(bContext *C, uiLayout *layout, void *arg_ uiItemS(layout); uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_smooth"); - uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_solid"); + uiItemO(layout, NULL, 0, "MESH_OT_faces_shade_flat"); } static void view3d_edit_mesh_normalsmenu(bContext *C, uiLayout *layout, void *arg_unused) @@ -2736,91 +2738,52 @@ static void view3d_edit_latticemenu(bContext *C, uiLayout *layout, void *arg_unu uiItemMenuEnumR(layout, NULL, 0, &tsptr, "proportional_editing_falloff"); // |Shift O } -void do_view3d_edit_armature_parentmenu(bContext *C, void *arg, int event) -{ -#if 0 - switch(event) { - case 1: - make_bone_parent(); - break; - case 2: - clear_bone_parent(); - break; - } -#endif -} -static uiBlock *view3d_edit_armature_parentmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_edit_armature_parentmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_edit_armature_parentmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_edit_armature_parentmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Make Parent...|Ctrl P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Parent...|Alt P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemO(layout, NULL, 0, "ARMATURE_OT_parent_set"); + uiItemO(layout, NULL, 0, "ARMATURE_OT_parent_clear"); } +#if 0 void do_view3d_edit_armature_rollmenu(bContext *C, void *arg, int event) { -#if 0 - if (event == 1 || event == 2) - /* set roll based on aligning z-axis */ - auto_align_armature(event); - else if (event == 3) { - /* interactively set bone roll */ + /* "Set Roll|Ctrl R" - interactively set bone roll */ initTransform(TFM_BONE_ROLL, CTX_NONE); Transform(); - } -#endif } +#endif -static uiBlock *view3d_edit_armature_rollmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_edit_armature_rollmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_edit_armature_rollmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_edit_armature_rollmenu, NULL); + /* 0 = 'Global', 1 = 'Cursor' */ + // TODO: keep these in sync... + uiItemEnumO(layout, "Clear Roll (Z-Axis Up)", 0, "ARMATURE_OT_calculate_roll", "type", 0); + uiItemEnumO(layout, "Roll to Cursor", 0, "ARMATURE_OT_calculate_roll", "type", 1); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Roll (Z-Axis Up)|Ctrl N, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Roll to Cursor|Ctrl N, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); + //uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + //uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Roll|Ctrl R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); +} - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Set Roll|Ctrl R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); +static void view3d_edit_armature_settingsmenu(bContext *C, uiLayout *layout, void *arg_unused) +{ + PointerRNA ptr; - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemEnumO(layout, "Toggle a Setting", 0, "ARMATURE_OT_flags_set", "mode", 2); + uiItemEnumO(layout, "Enable a Setting", 0, "ARMATURE_OT_flags_set", "mode", 1); + uiItemEnumO(layout, "Disable a Setting", 0, "ARMATURE_OT_flags_set", "mode", 0); } +#if 0 static void do_view3d_edit_armaturemenu(bContext *C, void *arg, int event) { -#if 0 static short numcuts= 2; switch(event) { case 0: /* Undo Editing */ remake_editArmature(); break; - case 1: /* transformation properties */ -// XXX mainqenter(NKEY, 1); - break; - case 3: /* extrude */ - extrude_armature(0); - break; - case 4: /* duplicate */ - duplicate_context_selected(); - break; - case 5: /* delete */ - delete_context_selected(); - break; + case 6: /* Shear */ initTransform(TFM_SHEAR, CTX_NONE); Transform(); @@ -2828,576 +2791,240 @@ static void do_view3d_edit_armaturemenu(bContext *C, void *arg, int event) case 7: /* Warp */ initTransform(TFM_WARP, CTX_NONE); Transform(); - case 10: /* forked! */ - extrude_armature(1); - break; - case 12: /* subdivide */ - subdivide_armature(1); - break; - case 13: /* flip left and right names */ - armature_flip_names(); - break; - case 15: /* subdivide multi */ - if(button(&numcuts, 1, 128, "Number of Cuts:")==0) return; - waitcursor(1); - subdivide_armature(numcuts); - break; - case 16: /* Alt-S transform (BoneSize) */ - initTransform(TFM_BONESIZE, CTX_NONE); - Transform(); - break; + case 17: /* move to layer */ pose_movetolayer(); break; - case 18: /* merge bones */ - merge_armature(); - break; - case 19: /* auto-extensions */ - case 20: - case 21: - armature_autoside_names(event-19); - break; - case 22: /* separate */ - separate_armature(); - break; + case 23: /* bone sketching panel */ add_blockhandler(curarea, VIEW3D_HANDLER_BONESKETCH, UI_PNL_UNSTOW); break; } - -#endif } - - -#ifndef DISABLE_PYTHON -static void do_view3d_scripts_armaturemenu(bContext *C, void *arg, int event) -{ -#if 0 - BPY_menu_do_python(PYMENU_ARMATURE, event); - #endif -} - -static uiBlock *view3d_scripts_armaturemenu(bContext *C, ARegion *ar, void *arg_unused) -{ - uiBlock *block; -// XXX BPyMenu *pym; -// int i= 0; -// short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_scripts_armaturemenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_scripts_armaturemenu, NULL); - - /* note that we acount for the N previous entries with i+20: */ -// for (pym = BPyMenuTable[PYMENU_ARMATURE]; pym; pym = pym->next, i++) { -// -// uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, -// NULL, 0.0, 0.0, 1, i, -// pym->tooltip?pym->tooltip:pym->filename); -// } - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - - return block; -} -#endif /* DISABLE_PYTHON */ - -static void do_view3d_armature_settingsmenu(bContext *C, void *arg, int event) -{ -// XXX setflag_armature(event); -} -static uiBlock *view3d_armature_settingsmenu(bContext *C, ARegion *ar, void *arg_unused) -{ - uiBlock *block; - short yco= 0, menuwidth=120; - - block= uiBeginBlock(C, ar, "view3d_armature_settingsmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_armature_settingsmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Toggle a Setting|Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Enable a Setting|Ctrl Shift W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Disable a Setting|Alt W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - - return block; -} - -static uiBlock *view3d_edit_armaturemenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_edit_armaturemenu(bContext *C, uiLayout *layout, void *arg_unused) { Object *obedit = CTX_data_edit_object(C); bArmature *arm= obedit->data; - uiBlock *block; - short yco= 0, menuwidth=120; - - block= uiBeginBlock(C, ar, "view3d_edit_armaturemenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_edit_armaturemenu, NULL); +#if 0 uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Undo Editing|U", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); - - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Transform Properties|N", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Bone Sketching|P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 23, ""); uiDefIconTextBlockBut(block, view3d_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Transform", 0, yco-=20, 120, 19, ""); uiDefIconTextBlockBut(block, view3d_edit_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, ""); - // XXX uiDefIconTextBlockBut(block, view3d_edit_snapmenu, NULL, ICON_RIGHTARROW_THIN, "Snap", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_edit_armature_rollmenu, NULL, ICON_RIGHTARROW_THIN, "Bone Roll", 0, yco-=20, 120, 19, ""); +#endif + uiItemMenuF(layout, "Snap", 0, view3d_edit_snapmenu); + uiItemMenuF(layout, "Bone Roll", 0, view3d_edit_armature_rollmenu); + + if (arm->drawtype == ARM_ENVELOPE) + uiItemEnumO(layout, "Scale Envelope Distance", 0, "TFM_OT_transform", "mode", TFM_BONESIZE); + else + uiItemEnumO(layout, "Scale B-Bone Width", 0, "TFM_OT_transform", "mode", TFM_BONESIZE); - if (arm->drawtype==ARM_ENVELOPE) - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale Envelope Distance|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, ""); - else if (arm->drawtype==ARM_B_BONE) - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale B-Bone Width|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, ""); + uiItemS(layout); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extrude|E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); + uiItemO(layout, "Extrude", 0, "ARMATURE_OT_extrude"); if (arm->flag & ARM_MIRROR_EDIT) - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extrude Forked|Shift E", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, ""); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Duplicate|Shift D", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Merge|Alt M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Fill Between Joints|F", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete|X", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, ""); + uiItemBooleanO(layout, "Extrude Forked", 0, "ARMATURE_OT_extrude", "forked", 1); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Separate|Ctrl Alt P", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 22, ""); + uiItemO(layout, NULL, 0, "ARMATURE_OT_duplicate"); + uiItemO(layout, NULL, 0, "ARMATURE_OT_merge"); + uiItemO(layout, NULL, 0, "ARMATURE_OT_fill"); + uiItemO(layout, NULL, 0, "ARMATURE_OT_delete"); + uiItemO(layout, NULL, 0, "ARMATURE_OT_separate"); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemS(layout); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide|W, 1", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Subdivide Multi|W, 2", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Flip Left & Right Names|W, 3", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Left-Right|W, 4", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Front-Back|W, 5", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Top-Bottom|W, 6", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 21, ""); + uiItemO(layout, NULL, 0, "ARMATURE_OT_subdivide_simple"); + uiItemO(layout, NULL, 0, "ARMATURE_OT_subdivide_multi"); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemEnumO(layout, "AutoName Left/Right", 0, "ARMATURE_OT_autoside_names", "axis", 0); + uiItemEnumO(layout, "AutoName Front/Back", 0, "ARMATURE_OT_autoside_names", "axis", 1); + uiItemEnumO(layout, "AutoName Top/Bottom", 0, "ARMATURE_OT_autoside_names", "axis", 2); + + uiItemO(layout, "Flip Left/Right Names", 0, "ARMATURE_OT_flip_names"); + uiItemS(layout); + +#if 0 uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Switch Armature Layers|Shift M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Move Bone To Layer|M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, ""); uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBlockBut(block, view3d_edit_armature_parentmenu, NULL, ICON_RIGHTARROW_THIN, "Parent", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_armature_settingsmenu, NULL, ICON_RIGHTARROW_THIN, "Bone Settings", 0, yco-=20, 120, 19, ""); - -#ifndef DISABLE_PYTHON - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBlockBut(block, view3d_scripts_armaturemenu, NULL, ICON_RIGHTARROW_THIN, "Scripts", 0, yco-=20, 120, 19, ""); #endif - if(ar->alignment==RGN_ALIGN_TOP) { - uiBlockSetDirection(block, UI_DOWN); - } - else { - uiBlockSetDirection(block, UI_TOP); - uiBlockFlipOrder(block); - } - - uiTextBoundsBlock(block, 50); - return block; -} - -static void do_view3d_pose_armature_transformmenu(bContext *C, void *arg, int event) -{ -#if 0 - Scene *scene= CTX_data_scene(C); - Object *ob= CTX_data_active_object(C); + uiItemMenuF(layout, "Parent", 0, view3d_edit_armature_parentmenu); - switch(event) { - case 0: /* clear origin */ - clear_object('o'); - break; - case 1: /* clear scale */ - clear_object('s'); - break; - case 2: /* clear rotation */ - clear_object('r'); - break; - case 3: /* clear location */ - clear_object('g'); - break; - case 4: /* clear user transform */ - clear_user_transform(scene, ob); - break; - } -#endif -} - -static uiBlock *view3d_pose_armature_transformmenu(bContext *C, ARegion *ar, void *arg_unused) -{ - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_transformmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_transformmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear User Transform|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Location|Alt G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Rotation|Alt R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Scale|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Origin|Alt O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; -} - -static void do_view3d_pose_armature_showhidemenu(bContext *C, void *arg, int event) -{ -#if 0 - - switch(event) { - - case 0: /* show hidden bones */ - show_all_pose_bones(); - break; - case 1: /* hide selected bones */ - hide_selected_pose_bones(); - break; - case 2: /* hide deselected bones */ - hide_unselected_pose_bones(); - break; - } -#endif -} - -static uiBlock *view3d_pose_armature_showhidemenu(bContext *C, ARegion *ar, void *arg_unused) -{ - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_showhidemenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_showhidemenu, NULL); + uiItemS(layout); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Show Hidden|Alt H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Selected|H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Unselected|Shift H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemMenuF(layout, "Bone Settings ", 0, view3d_edit_armature_settingsmenu); } -static void do_view3d_pose_armature_ikmenu(bContext *C, void *arg, int event) -{ -#if 0 - - switch(event) { - - case 1: - pose_add_IK(); - break; - case 2: - pose_clear_IK(); - break; - } -#endif -} -static uiBlock *view3d_pose_armature_ikmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_transformmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_ikmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_ikmenu, NULL); + //uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear User Transform|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); + //used: clear_user_transform(scene, ob); + //uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add IK to Bone...|Shift I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear IK...|Ctrl Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); + uiItemO(layout, NULL, 0, "POSE_OT_loc_clear"); + uiItemO(layout, NULL, 0, "POSE_OT_rot_clear"); + uiItemO(layout, NULL, 0, "POSE_OT_scale_clear"); - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + // ??? + //uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Origin|Alt O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); + //used:clear_object('o'); } -static void do_view3d_pose_armature_constraintsmenu(bContext *C, void *arg, int event) +static void view3d_pose_armature_showhidemenu(bContext *C, uiLayout *layout, void *arg_unused) { -#if 0 + uiItemO(layout, "Show Hidden", 0, "POSE_OT_reveal"); - switch(event) { - - case 1: - add_constraint(0); - break; - case 2: - pose_clear_constraints(); - break; - } -#endif + uiItemO(layout, "Hide Selected", 0, "POSE_OT_hide"); + uiItemBooleanO(layout, "Hide Unselected", 0, "POSE_OT_hide", "unselected", 1); } -static uiBlock *view3d_pose_armature_constraintsmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_ikmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_constraintsmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_constraintsmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Constraint to Bone...|Ctrl Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Constraints...|Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemO(layout, NULL, 0, "POSE_OT_ik_add"); + uiItemO(layout, NULL, 0, "POSE_OT_ik_clear"); } -static void do_view3d_pose_armature_groupmenu(bContext *C, void *arg, int event) +static void view3d_pose_armature_constraintsmenu(bContext *C, uiLayout *layout, void *arg_unused) { -#if 0 - switch (event) { - case 1: - pose_assign_to_posegroup(1); - break; - case 2: - pose_assign_to_posegroup(0); - break; - case 3: - pose_add_posegroup(); - break; - case 4: - pose_remove_from_posegroups(); - break; - case 5: - pose_remove_posegroup(); - break; - } -#endif + uiItemO(layout, NULL, 0, "POSE_OT_constraint_add_with_targets"); + uiItemO(layout, NULL, 0, "POSE_OT_constraints_clear"); } -static uiBlock *view3d_pose_armature_groupmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_groupmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; + uiItemO(layout, "Add Selected to Active Group", 0, "POSE_OT_group_assign"); + //uiItemO(layout, "Add Selected to Group", 0, "POSE_OT_group_assign"); - block= uiBeginBlock(C, ar, "view3d_pose_armature_groupmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_groupmenu, NULL); + uiItemO(layout, "Add New Group", 0, "POSE_OT_group_add"); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Selected to Active Group|Ctrl G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Selected to Group|Ctrl G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add New Group|Ctrl G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Remove from All Groups|Ctrl G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Remove Active Group|Ctrl G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemO(layout, "Remove from All Groups", 0, "POSE_OT_group_unassign"); + uiItemO(layout, "Remove Active Group", 0, "POSE_OT_group_remove"); } -static void do_view3d_pose_armature_motionpathsmenu(bContext *C, void *arg, int event) +static void view3d_pose_armature_motionpathsmenu(bContext *C, uiLayout *layout, void *arg_unused) { -#if 0 - - switch(event) { - - case 1: - pose_calculate_path(OBACT); - break; - case 2: - pose_clear_paths(OBACT); - break; - } -#endif + uiItemO(layout, NULL, 0, "POSE_OT_paths_calculate"); + uiItemO(layout, NULL, 0, "POSE_OT_paths_clear"); } -static uiBlock *view3d_pose_armature_motionpathsmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_poselibmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_motionpathsmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_motionpathsmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Calculate Paths|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear All Paths|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; -} - -static void do_view3d_pose_armature_poselibmenu(bContext *C, void *arg, int event) -{ -#if 0 - Object *ob= OBACT; + uiItemO(layout, NULL, 0, "POSELIB_OT_browse_interactive"); - switch(event) { - case 1: - poselib_preview_poses(ob, 0); - break; - case 2: - poselib_add_current_pose(ob, 0); - break; - case 3: - poselib_rename_pose(ob); - break; - case 4: - poselib_remove_pose(ob, NULL); - break; - } + uiItemS(layout); -#endif + uiItemO(layout, NULL, 0, "POSELIB_OT_pose_add"); + uiItemO(layout, NULL, 0, "POSELIB_OT_pose_rename"); + uiItemO(layout, NULL, 0, "POSELIB_OT_pose_remove"); } -static uiBlock *view3d_pose_armature_poselibmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_settingsmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_poselibmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_poselibmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Browse Poses|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add/Replace Pose|Shift L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rename Pose|Ctrl Shift L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Remove Pose|Alt L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); + PointerRNA ptr; - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemEnumO(layout, "Toggle a Setting", 0, "POSE_OT_flags_set", "mode", 2); + uiItemEnumO(layout, "Enable a Setting", 0, "POSE_OT_flags_set", "mode", 1); + uiItemEnumO(layout, "Disable a Setting", 0, "POSE_OT_flags_set", "mode", 0); } +#if 0 static void do_view3d_pose_armaturemenu(bContext *C, void *arg, int event) { -#if 0 Object *ob; ob=OBACT; switch(event) { - case 0: /* transform properties */ -// XXX mainqenter(NKEY, 1); - break; - case 1: /* copy current pose */ - copy_posebuf(); - break; - case 2: /* paste pose */ - paste_posebuf(0); - break; - case 3: /* paste flipped pose */ - paste_posebuf(1); - break; - case 4: /* insert keyframe */ - common_insertkey(); - break; case 5: pose_copy_menu(); break; - case 9: - pose_flip_names(); - break; - case 13: - if(ob && (ob->flag & OB_POSEMODE)) { - bArmature *arm= ob->data; - if( (arm->drawtype == ARM_B_BONE) || (arm->drawtype == ARM_ENVELOPE)) { - initTransform(TFM_BONESIZE, CTX_NONE); - Transform(); - break; - } - } - break; case 14: /* move bone to layer / change armature layer */ pose_movetolayer(); break; case 15: pose_relax(); break; - case 16: /* auto-extensions for bones */ - case 17: - case 18: - pose_autoside_names(event-16); - break; - case 19: /* assign pose as restpose */ - apply_armature_pose2bones(); - break; - case 20: /* delete keyframe */ - common_deletekey(); - break; } - -#endif } +#endif -static uiBlock *view3d_pose_armaturemenu(bContext *C, ARegion *ar, void *arg_unused) -{ - uiBlock *block; - short yco= 0, menuwidth=120; - - block= uiBeginBlock(C, ar, "view3d_pose_armaturemenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armaturemenu, NULL); +static void view3d_pose_armaturemenu(bContext *C, uiLayout *layout, void *arg_unused) +{ + Object *ob = CTX_data_active_object(C); + bArmature *arm= ob->data; - uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Transform Properties|N", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); +#if 0 // XXX to be ported, using uiItemMenuF(layout, "<Name>", 0, view3d_pose_armature_<category>menu); uiDefIconTextBlockBut(block, view3d_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Transform", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Clear Transform", 0, yco-=20, 120, 19, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale Envelope Distance|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, ""); - - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); +#endif + if ( (arm) && ((arm->drawtype == ARM_B_BONE) || (arm->drawtype == ARM_ENVELOPE)) ) + uiItemEnumO(layout, "Scale Envelope Distance", 0, "TFM_OT_transform", "mode", TFM_BONESIZE); + uiItemMenuF(layout, "Clear Transform", 0, view3d_pose_armature_transformmenu); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Insert Keyframe|I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete Keyframe|Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, ""); + uiItemS(layout); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + // TODO: these operators may get renamed + uiItemO(layout, NULL, 0, "ANIM_OT_insert_keyframe_menu"); + uiItemO(layout, NULL, 0, "ANIM_OT_delete_keyframe_v3d"); + uiItemS(layout); + +#if 0 uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Relax Pose|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Pose as Restpose|Ctrl A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, ""); +#endif + uiItemO(layout, NULL, 0, "POSE_OT_apply"); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemS(layout); + + uiItemO(layout, "Copy Current Pose", 0, "POSE_OT_copy"); + uiItemO(layout, "Paste Pose", 0, "POSE_OT_paste"); + uiItemBooleanO(layout, "Paste X-Flipped Pose", 0, "POSE_OT_paste", "flipped", 1); + + uiItemS(layout); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Copy Current Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Paste Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Paste Flipped Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); + uiItemMenuF(layout, "Pose Library", 0, view3d_pose_armature_poselibmenu); + uiItemMenuF(layout, "Motion Paths", 0, view3d_pose_armature_motionpathsmenu); + uiItemMenuF(layout, "Bone Groups", 0, view3d_pose_armature_groupmenu); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemS(layout); - uiDefIconTextBlockBut(block, view3d_pose_armature_poselibmenu, NULL, ICON_RIGHTARROW_THIN, "Pose Library", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_motionpathsmenu, NULL, ICON_RIGHTARROW_THIN, "Motion Paths", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_groupmenu, NULL, ICON_RIGHTARROW_THIN, "Bone Groups", 0, yco-=20, 120, 19, ""); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_ikmenu, NULL, ICON_RIGHTARROW_THIN, "Inverse Kinematics", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_constraintsmenu, NULL, ICON_RIGHTARROW_THIN, "Constraints", 0, yco-=20, 120, 19, ""); + uiItemMenuF(layout, "Inverse Kinematics", 0, view3d_pose_armature_ikmenu); + uiItemMenuF(layout, "Constraints", 0, view3d_pose_armature_constraintsmenu); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemS(layout); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Left-Right|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Front-Back|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Top-Bottom|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, ""); + uiItemEnumO(layout, "AutoName Left/Right", 0, "POSE_OT_autoside_names", "axis", 0); + uiItemEnumO(layout, "AutoName Front/Back", 0, "POSE_OT_autoside_names", "axis", 1); + uiItemEnumO(layout, "AutoName Top/Bottom", 0, "POSE_OT_autoside_names", "axis", 2); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Flip L/R Names|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Copy Attributes...|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, ""); - - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemO(layout, "Flip Left/Right Names", 0, "POSE_OT_flip_names"); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Switch Armature Layers|Shift M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Move Bone To Layer|M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, ""); + //separator + move layer operators... - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemS(layout); - uiDefIconTextBlockBut(block, view3d_pose_armature_showhidemenu, - NULL, ICON_RIGHTARROW_THIN, "Show/Hide Bones", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_armature_settingsmenu, - NULL, ICON_RIGHTARROW_THIN, "Bone Settings", 0, yco-=20, 120, 19, ""); + uiItemMenuF(layout, "Show/Hide Bones", 0, view3d_pose_armature_showhidemenu); - if(ar->alignment==RGN_ALIGN_TOP) { - uiBlockSetDirection(block, UI_DOWN); - } - else { - uiBlockSetDirection(block, UI_TOP); - uiBlockFlipOrder(block); - } + uiItemS(layout); + + uiItemMenuF(layout, "Bone Settings", 0, view3d_pose_armature_settingsmenu); + +#if 0 + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Copy Attributes...|Ctrl C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, ""); - uiTextBoundsBlock(block, 50); + uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - return block; + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Switch Armature Layers|Shift M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, ""); + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Move Bone To Layer|M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 14, ""); +#endif } + /* vertex paint menu */ static void do_view3d_vpaintmenu(bContext *C, void *arg, int event) { @@ -4344,7 +3971,7 @@ static void view3d_header_pulldowns(const bContext *C, uiBlock *block, Object *o xco+= xmax; } else if (ob && ob->type == OB_ARMATURE) { xmax= GetButStringLength("Armature"); - uiDefPulldownBut(block, view3d_edit_armaturemenu, NULL, "Armature", xco,yco, xmax-3, 20, ""); + uiDefMenuBut(block, view3d_edit_armaturemenu, NULL, "Armature", xco,yco, xmax-3, 20, ""); xco+= xmax; } @@ -4384,7 +4011,7 @@ static void view3d_header_pulldowns(const bContext *C, uiBlock *block, Object *o else { if (ob && (ob->flag & OB_POSEMODE)) { xmax= GetButStringLength("Pose"); - uiDefPulldownBut(block, view3d_pose_armaturemenu, NULL, "Pose", xco,yco, xmax-3, 20, ""); + uiDefMenuBut(block, view3d_pose_armaturemenu, NULL, "Pose", xco,yco, xmax-3, 20, ""); xco+= xmax; } else { @@ -4672,24 +4299,18 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C) uiDefIconBut(block, BUT, B_VIEWRENDER, ICON_SCENE, xco,yco,XIC,YIC, NULL, 0, 1.0, 0, 0, "Render this window (Ctrl Click for anim)"); - if (ob && (ob->flag & OB_POSEMODE)) { - xco+= XIC/2; + xco+= XIC; uiBlockBeginAlign(block); - uiDefIconBut(block, BUT, B_ACTCOPY, ICON_COPYDOWN, - xco,yco,XIC,YIC, 0, 0, 0, 0, 0, - "Copies the current pose to the buffer"); + uiDefIconButO(block, BUT, "POSE_OT_copy", WM_OP_INVOKE_REGION_WIN, ICON_COPYDOWN, xco,yco,XIC,YIC, NULL); uiBlockSetButLock(block, object_data_is_libdata(ob), "Can't edit external libdata"); xco+= XIC; - - uiDefIconBut(block, BUT, B_ACTPASTE, ICON_PASTEDOWN, - xco,yco,XIC,YIC, 0, 0, 0, 0, 0, - "Pastes the pose from the buffer"); + + uiDefIconButO(block, BUT, "POSE_OT_paste", WM_OP_INVOKE_REGION_WIN, ICON_PASTEDOWN, xco,yco,XIC,YIC, NULL); xco+= XIC; - uiDefIconBut(block, BUT, B_ACTPASTEFLIP, ICON_PASTEFLIPDOWN, - xco,yco,XIC,YIC, 0, 0, 0, 0, 0, - "Pastes the mirrored pose from the buffer"); + // FIXME: this needs an extra arg... + uiDefIconButO(block, BUT, "POSE_OT_paste", WM_OP_INVOKE_REGION_WIN, ICON_PASTEFLIPDOWN, xco,yco,XIC,YIC, NULL); uiBlockEndAlign(block); header_xco_step(ar, &xco, &yco, &maxco, XIC); diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index 3e9382509f4..382ba68e95f 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -115,6 +115,7 @@ void VIEW3D_OT_select_extend(struct wmOperatorType *ot); void VIEW3D_OT_select_circle(struct wmOperatorType *ot); void VIEW3D_OT_select_border(struct wmOperatorType *ot); void VIEW3D_OT_select_lasso(struct wmOperatorType *ot); +void VIEW3D_OT_drag(struct wmOperatorType *ot); /* view3d_view.c */ void VIEW3D_OT_smoothview(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index 112847272e5..69b297b2e03 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -73,6 +73,7 @@ void view3d_operatortypes(void) WM_operatortype_append(VIEW3D_OT_view_center); WM_operatortype_append(VIEW3D_OT_select); WM_operatortype_append(VIEW3D_OT_select_border); + WM_operatortype_append(VIEW3D_OT_drag); WM_operatortype_append(VIEW3D_OT_clip_border); WM_operatortype_append(VIEW3D_OT_select_circle); WM_operatortype_append(VIEW3D_OT_smoothview); @@ -216,6 +217,9 @@ void view3d_keymap(wmWindowManager *wm) WM_keymap_add_item(keymap, "VIEW3D_OT_camera_to_view", PAD0, KM_PRESS, KM_ALT|KM_CTRL, 0); WM_keymap_add_item(keymap, "VIEW3D_OT_snap_menu", SKEY, KM_PRESS, KM_SHIFT, 0); + + /* drag & drop */ + WM_keymap_add_item(keymap, "VIEW3D_OT_drag", MOUSEDRAG, KM_ANY, 0, 0); /* radial control */ RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE); diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 2537982210a..8182069c142 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -1598,6 +1598,56 @@ void VIEW3D_OT_select(wmOperatorType *ot) } +/* ****** Drag & Drop ****** */ + +static int view3d_drag_invoke(bContext *C, wmOperator *op, wmEvent *event) +{ + wmWindow *win= CTX_wm_window(C); + Object *ob= CTX_data_active_object(C); + PointerRNA ptr; + + RNA_pointer_create(NULL, &RNA_Object, ob, &ptr); + + return OPERATOR_RUNNING_MODAL; +} + +static int view3d_drag_modal(bContext *C, wmOperator *op, wmEvent *event) +{ + switch(event->type) { + case MOUSEDRAG: + + break; + case MOUSEDROP: + return OPERATOR_FINISHED; + case ESCKEY: + return OPERATOR_CANCELLED; + } + + return OPERATOR_RUNNING_MODAL; +} + +static int view3d_drag_exec(bContext *C, wmOperator *op) +{ + return OPERATOR_FINISHED; +} + +void VIEW3D_OT_drag(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Drag"; + ot->idname= "VIEW3D_OT_drag"; + + /* api callbacks */ + ot->invoke= view3d_drag_invoke; + ot->modal= view3d_drag_modal; + ot->exec= view3d_drag_exec; + ot->poll= ED_operator_view3d_active; + + /* flags */ + /* ot->flag= OPTYPE_UNDO; */ +} + + /* -------------------- circle select --------------------------------------------- */ static void mesh_circle_doSelectVert(void *userData, EditVert *eve, int x, int y, int index) diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index 89a6d659d67..1564fcb169b 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -175,12 +175,12 @@ char *view3d_context_string(const bContext *C) else { Object *ob = CTX_data_active_object(C); - if(ob && (ob->flag & OB_POSEMODE)) return "posemode"; - else if (G.f & G_SCULPTMODE) return "sculptmode"; - else if (G.f & G_WEIGHTPAINT) return "weightpaint"; - else if (G.f & G_VERTEXPAINT) return "vertexpaint"; - else if (G.f & G_TEXTUREPAINT) return "texturepaint"; - else if(G.f & G_PARTICLEEDIT) return "particlemode"; + if(ob && (ob->flag & OB_POSEMODE)) return "pose_mode"; + else if (G.f & G_SCULPTMODE) return "sculpt_mode"; + else if (G.f & G_WEIGHTPAINT) return "weight_paint"; + else if (G.f & G_VERTEXPAINT) return "vertex_paint"; + else if (G.f & G_TEXTUREPAINT) return "texture_paint"; + else if(G.f & G_PARTICLEEDIT) return "particle_mode"; } return "objectmode"; diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index cb20b3dc93e..20e0a79f0c7 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -1425,7 +1425,7 @@ static void RestoreState(bContext *C) } /* maybe we need this defined somewhere else */ -extern void StartKetsjiShell(struct bContext *C,int always_use_expand_framing); +extern void StartKetsjiShell(struct bContext *C, struct ARegion *ar, int always_use_expand_framing); #endif // GAMEBLENDER == 1 @@ -1433,13 +1433,40 @@ static int game_engine_exec(bContext *C, wmOperator *unused) { #if GAMEBLENDER == 1 Scene *startscene = CTX_data_scene(C); + bScreen *sc= CTX_wm_screen(C); + ScrArea *sa, *prevsa= CTX_wm_area(C); + ARegion *ar, *prevar= CTX_wm_region(C); + + sa= prevsa; + if(sa->spacetype != SPACE_VIEW3D) { + for(sa=sc->areabase.first; sa; sa= sa->next) + if(sa->spacetype==SPACE_VIEW3D) + break; + } + + if(!sa) + return OPERATOR_CANCELLED; + + for(ar=sa->regionbase.first; ar; ar=ar->next) + if(ar->regiontype == RGN_TYPE_WINDOW) + break; + + if(!ar) + return OPERATOR_CANCELLED; + // bad context switch .. + CTX_wm_area_set(C, sa); + CTX_wm_region_set(C, ar); + view3d_operator_needs_opengl(C); SaveState(C); - StartKetsjiShell(C, 1); + StartKetsjiShell(C, ar, 1); RestoreState(C); + CTX_wm_region_set(C, prevar); + CTX_wm_area_set(C, prevsa); + //XXX restore_all_scene_cfra(scene_cfra_store); set_scene_bg(startscene); //XXX scene_update_for_newframe(G.scene, G.scene->lay); @@ -1461,7 +1488,7 @@ void VIEW3D_OT_game_start(wmOperatorType *ot) /* api callbacks */ ot->exec= game_engine_exec; - ot->poll= ED_operator_view3d_active; + //ot->poll= ED_operator_view3d_active; } /* ************************************** */ diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 0d29f39e478..35915c96f3c 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -496,6 +496,63 @@ static char *transform_to_undostr(TransInfo *t) /* ************************************************* */ +/* NOTE: these defines are saved in keymap files, do not change values but just add new ones */ +#define TFM_MODAL_CANCEL 1 +#define TFM_MODAL_CONFIRM 2 +#define TFM_MODAL_TRANSLATE 3 +#define TFM_MODAL_ROTATE 4 +#define TFM_MODAL_RESIZE 5 +#define TFM_MODAL_SNAP_GEARS 6 +#define TFM_MODAL_SNAP_GEARS_OFF 7 + +/* called in transform_ops.c, on each regeneration of keymaps */ +void transform_modal_keymap(wmWindowManager *wm) +{ + static EnumPropertyItem modal_items[] = { + {TFM_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""}, + {TFM_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""}, + {TFM_MODAL_TRANSLATE, "TRANSLATE", 0, "Translate", ""}, + {TFM_MODAL_ROTATE, "ROTATE", 0, "Rotate", ""}, + {TFM_MODAL_RESIZE, "RESIZE", 0, "Resize", ""}, + {TFM_MODAL_SNAP_GEARS, "SNAP_GEARS", 0, "Snap On", ""}, + {TFM_MODAL_SNAP_GEARS_OFF, "SNAP_GEARS_OFF", 0, "Snap Off", ""}, + {0, NULL, 0, NULL, NULL}}; + + wmKeyMap *keymap= WM_modalkeymap_get(wm, "Transform Modal Map"); + + /* this function is called for each spacetype, only needs to add map once */ + if(keymap) return; + + keymap= WM_modalkeymap_add(wm, "Transform Modal Map", modal_items); + + /* items for modal map */ + WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_CANCEL); + WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_ANY, KM_ANY, 0, TFM_MODAL_CONFIRM); + WM_modalkeymap_add_item(keymap, RETKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_CONFIRM); + WM_modalkeymap_add_item(keymap, PADENTER, KM_PRESS, KM_ANY, 0, TFM_MODAL_CONFIRM); + + WM_modalkeymap_add_item(keymap, GKEY, KM_PRESS, 0, 0, TFM_MODAL_TRANSLATE); + WM_modalkeymap_add_item(keymap, RKEY, KM_PRESS, 0, 0, TFM_MODAL_ROTATE); + WM_modalkeymap_add_item(keymap, SKEY, KM_PRESS, 0, 0, TFM_MODAL_RESIZE); + + WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_PRESS, KM_ANY, 0, TFM_MODAL_SNAP_GEARS); + WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_RELEASE, KM_ANY, 0, TFM_MODAL_SNAP_GEARS_OFF); + + /* assign map to operators */ + WM_modalkeymap_assign(keymap, "TFM_OT_transform"); + WM_modalkeymap_assign(keymap, "TFM_OT_translate"); + WM_modalkeymap_assign(keymap, "TFM_OT_rotate"); + WM_modalkeymap_assign(keymap, "TFM_OT_tosphere"); + WM_modalkeymap_assign(keymap, "TFM_OT_resize"); + WM_modalkeymap_assign(keymap, "TFM_OT_shear"); + WM_modalkeymap_assign(keymap, "TFM_OT_warp"); + WM_modalkeymap_assign(keymap, "TFM_OT_shrink_fatten"); + WM_modalkeymap_assign(keymap, "TFM_OT_tilt"); + WM_modalkeymap_assign(keymap, "TFM_OT_trackball"); + +} + + void transformEvent(TransInfo *t, wmEvent *event) { float mati[3][3] = {{1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 1.0f}}; @@ -513,7 +570,67 @@ void transformEvent(TransInfo *t, wmEvent *event) applyMouseInput(t, &t->mouse, t->mval, t->values); } - if (event->val) { + /* handle modal keymap first */ + if (event->type == EVT_MODAL_MAP) { + switch (event->val) { + case TFM_MODAL_CANCEL: + t->state = TRANS_CANCEL; + break; + case TFM_MODAL_CONFIRM: + t->state = TRANS_CONFIRM; + break; + + case TFM_MODAL_TRANSLATE: + /* only switch when... */ + if( ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL) ) { + resetTransRestrictions(t); + restoreTransObjects(t); + initTranslation(t); + initSnapping(t, NULL); // need to reinit after mode change + t->redraw = 1; + } + break; + case TFM_MODAL_ROTATE: + /* only switch when... */ + if( ELEM4(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL, TFM_TRANSLATION) ) { + + resetTransRestrictions(t); + + if (t->mode == TFM_ROTATION) { + restoreTransObjects(t); + initTrackball(t); + } + else { + restoreTransObjects(t); + initRotation(t); + } + initSnapping(t, NULL); // need to reinit after mode change + t->redraw = 1; + } + break; + case TFM_MODAL_RESIZE: + /* only switch when... */ + if( ELEM3(t->mode, TFM_ROTATION, TFM_TRANSLATION, TFM_TRACKBALL) ) { + resetTransRestrictions(t); + restoreTransObjects(t); + initResize(t); + initSnapping(t, NULL); // need to reinit after mode change + t->redraw = 1; + } + break; + + case TFM_MODAL_SNAP_GEARS: + t->modifiers |= MOD_SNAP_GEARS; + t->redraw = 1; + break; + case TFM_MODAL_SNAP_GEARS_OFF: + t->modifiers &= ~MOD_SNAP_GEARS; + t->redraw = 1; + break; + } + } + /* else do non-mapped events */ + else if (event->val==KM_PRESS) { switch (event->type){ case RIGHTMOUSE: t->state = TRANS_CANCEL; diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index db78632e76a..efa60b15293 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -47,6 +47,7 @@ struct bConstraint; struct BezTriple; struct wmOperatorType; struct wmOperator; +struct wmWindowManager; struct bContext; struct wmEvent; struct wmTimer; @@ -482,9 +483,11 @@ int Mirror(TransInfo *t, short mval[2]); void initAlign(TransInfo *t); int Align(TransInfo *t, short mval[2]); - void drawPropCircle(const struct bContext *C, TransInfo *t); +void transform_modal_keymap(struct wmWindowManager *wm); + + /*********************** transform_conversions.c ********** */ struct ListBase; diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 3d643a2dec1..1a0b16695e1 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -4645,34 +4645,34 @@ void special_aftertrans_update(TransInfo *t) SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first; Scene *scene; bAnimContext ac; - + /* 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; ob= 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; - + if (ANIM_animdata_context_getdata(&ac) == 0) return; - + if (ac.datatype == ANIMCONT_DOPESHEET) { ListBase anim_data = {NULL, NULL}; bAnimListElem *ale; short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY); - + /* get channels to work on */ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); - + /* these should all be ipo-blocks */ for (ale= anim_data.first; ale; ale= ale->next) { AnimData *adt= ANIM_nla_mapping_get(&ac, ale); FCurve *fcu= (FCurve *)ale->key_data; - + if ( (saction->flag & SACTION_NOTRANSKEYCULL)==0 && ((cancelled == 0) || (duplicate)) ) { @@ -4685,7 +4685,7 @@ void special_aftertrans_update(TransInfo *t) posttrans_fcurve_clean(fcu); } } - + /* free temp memory */ BLI_freelistN(&anim_data); } @@ -4694,13 +4694,13 @@ void special_aftertrans_update(TransInfo *t) // fixme... some of this stuff is not good if (ob) { ob->ctime= -1234567.0f; - + if (ob->pose || ob_get_key(ob)) DAG_object_flush_update(scene, ob, OB_RECALC); else DAG_object_flush_update(scene, ob, OB_RECALC_OB); } - + /* Do curve cleanups? */ if ( (saction->flag & SACTION_NOTRANSKEYCULL)==0 && ((cancelled == 0) || (duplicate)) ) @@ -4712,7 +4712,7 @@ void special_aftertrans_update(TransInfo *t) #if 0 // XXX old animation system /* fix up the Ipocurves and redraw stuff */ Key *key= (Key *)ac.data; - + if (key->ipo) { if ( (saction->flag & SACTION_NOTRANSKEYCULL)==0 && ((cancelled == 0) || (duplicate)) ) @@ -4721,7 +4721,7 @@ void special_aftertrans_update(TransInfo *t) } } #endif // XXX old animation system - + DAG_object_flush_update(scene, OBACT, OB_RECALC_DATA); } #if 0 // XXX future of this is still not clear @@ -4731,23 +4731,23 @@ void special_aftertrans_update(TransInfo *t) { bScreen *sc= (bScreen *)ac.data; ScrArea *sa; - + /* BAD... we need to loop over all screen areas for current screen... * - sync this with actdata_filter_gpencil() in editaction.c */ for (sa= sc->areabase.first; sa; sa= sa->next) { bGPdata *gpd= gpencil_data_getactive(sa); - + if (gpd) posttrans_gpd_clean(gpd); } } } #endif // XXX future of this is still not clear - + /* make sure all F-Curves are set correctly */ ANIM_editkeyframes_refresh(&ac); - + /* clear flag that was set for time-slide drawing */ saction->flag &= ~SACTION_MOVING; } @@ -4755,35 +4755,34 @@ void special_aftertrans_update(TransInfo *t) SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first; Scene *scene; bAnimContext ac; - + /* 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; ob= 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; - + if (ANIM_animdata_context_getdata(&ac) == 0) return; - + if (ac.datatype) { ListBase anim_data = {NULL, NULL}; bAnimListElem *ale; short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE); - + /* get channels to work on */ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); - - /* these should all be ipo-blocks */ + for (ale= anim_data.first; ale; ale= ale->next) { AnimData *adt= ANIM_nla_mapping_get(&ac, ale); FCurve *fcu= (FCurve *)ale->key_data; - + if ( (sipo->flag & SIPO_NOTRANSKEYCULL)==0 && ((cancelled == 0) || (duplicate)) ) { @@ -4796,58 +4795,57 @@ void special_aftertrans_update(TransInfo *t) posttrans_fcurve_clean(fcu); } } - + /* free temp memory */ BLI_freelistN(&anim_data); } - + /* make sure all F-Curves are set correctly */ ANIM_editkeyframes_refresh(&ac); } else if (t->spacetype == SPACE_NLA) { Scene *scene; bAnimContext ac; - + /* 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; ob= 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; - + if (ANIM_animdata_context_getdata(&ac) == 0) return; - + if (ac.datatype) { ListBase anim_data = {NULL, NULL}; bAnimListElem *ale; short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NLATRACKS); - + /* get channels to work on */ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); - + for (ale= anim_data.first; ale; ale= ale->next) { NlaTrack *nlt= (NlaTrack *)ale->data; - + /* make sure strips are in order again */ BKE_nlatrack_sort_strips(nlt); - + /* remove the temp metas */ BKE_nlastrips_clear_metas(&nlt->strips, 0, 1); } - + /* free temp memory */ BLI_freelistN(&anim_data); + + /* perform after-transfrom validation */ + ED_nla_postop_refresh(&ac); } - - // XXX check on the calls below... we need some of these sanity checks - //synchronize_action_strips(); - //ANIM_editkeyframes_refresh(&ac); } else if (t->obedit) { // TRANSFORM_FIX_ME diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index 7d6112b03de..081e9589fb8 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -587,6 +587,10 @@ void transform_operatortypes(void) void transform_keymap_for_space(struct wmWindowManager *wm, struct ListBase *keymap, int spaceid) { wmKeymapItem *km; + + /* transform.c, only adds modal map once, checks if it's there */ + transform_modal_keymap(wm); + switch(spaceid) { case SPACE_VIEW3D: |