diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 62455d6436..c1230a8eea 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -15,9 +15,9 @@ jobs: python-version: ["3.8"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Run checks @@ -31,9 +31,9 @@ jobs: python-version: ["3.x"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Run checks @@ -47,9 +47,9 @@ jobs: python-version: ["3.x"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Run checks diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 0ab8a9b9cf..0000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Python - -on: - push: - branches: [ "release" ] - pull_request: - branches: [ "release" ] - -jobs: - release_ci_checks: - name: Release CI Checks - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.x"] - - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Run checks - run: python CI.py --no_unit_tests --release diff --git a/ASM/Makefile b/ASM/Makefile index ed58eed851..5118ea61e5 100644 --- a/ASM/Makefile +++ b/ASM/Makefile @@ -34,18 +34,17 @@ $(OBJDIR): mkdir -p $@ $(OBJDIR)/%_bin.o: $(RESOURCEDIR)/%.bin - $(OBJCOPY) -I binary -O elf32-bigmips --rename-section .data=.rodata,alloc,load,readonly,data,contents $< $@ + $(OBJCOPY) -I binary -O elf32-bigmips --set-section-alignment .data=8 --rename-section .data=.rodata,alloc,load,readonly,data,contents $< $@ $(OBJCOPY) --redefine-sym _binary_resources_$*_bin_start=$(call UC,$*)_RESOURCE $@ $(OBJCOPY) --redefine-sym _binary_resources_$*_bin_end=$(call UC,$*)_RESOURCE_END $@ $(OBJCOPY) --redefine-sym _binary_resources_$*_bin_size=$(call UC,$*)_RESOURCE_SIZE $@ - $(RESOURCEDIR): mkdir -p $@ $(OBJECTS): | $(OBJDIR) -$(RESOURCES): | $(RESOURCEDIR) +$(RESOURCES): | $(OBJDIR) $(RESOURCEDIR) bundle: $(RESOURCES) $(OBJECTS) $(LD) -T linker_script.ld -T ootSymbols.ld -o $(OUTDIR)/bundle.o -i -L. $(patsubst %.o,-l:%.o,$(OBJECTS) $(RESOURCES)) diff --git a/ASM/README.md b/ASM/README.md index 6849ffeac3..0c4377757c 100644 --- a/ASM/README.md +++ b/ASM/README.md @@ -58,14 +58,16 @@ You'll need to disable `Unique Game Save Directory` in Project64 for these to wo How to use the Debug mode: - First put the DEBUG_MODE variable at 1 in debug.h. -- You will then have access to a hidden menu with the following options: +- Now the N64 logo sequence at the start of the game will be skipped, the L button will allow you to levitate and you will then have access to a hidden menu with the following options: - Instant warps to Dungeons, Bosses or Overworld locations - Item inventory edits - Instant age switch with the current location kept - - Bunny Hood applied on -The menu will appear if you press either L+R or Dpad-Up according to what you set for the menu_not_on_dup variable in debug.c. + - Bunny Hood + - In-game clock + - Actor and overlay list + - Scene flags setters +The menu will appear if you press R + either L or Dpad Up. Use Dpad-Left/Dpad-Right and A/B to navigate it. -The L Button will also allow you to levitate. The warps and items are easily customizable with the code at the top of debug.c. - Additionally, you can call functions to print numbers on screen, to help you debug new features. Call either draw_debug_int or draw_debug_float in your code, with the first argument being the number wanted to be displayed, and the diff --git a/ASM/build.py b/ASM/build.py index 01482533fb..72eecb50dd 100755 --- a/ASM/build.py +++ b/ASM/build.py @@ -102,6 +102,21 @@ 'address': address, } +# Loop through a second time, add lengths to each data symbol +# This could probably be optimized to run in a single pass :) +with open('build/asm_symbols.txt', 'r') as f: + for line in f: + parts = line.strip().split(' ') + if len(parts) < 2: + continue + address, sym_name = parts + if sym_name.startswith('.'): + # split on the ':' to get the length, in hex + type, hex_length = sym_name.split(':') + for symbol, sym_data in symbols.items(): + if sym_data['address'] == address and sym_data['type'] == 'data': + sym_data['length'] = int(hex_length, 16) + # Output symbols os.chdir(run_dir) @@ -116,7 +131,10 @@ addr = addr - 0x80400000 + 0x03480000 else: continue - data_symbols[name] = '{0:08X}'.format(addr) + data_symbols[name] = { + 'address': f'{addr:08X}', + 'length': sym.get('length', 0), + } with open('../data/generated/symbols.json', 'w') as f: json.dump(data_symbols, f, indent=4, sort_keys=True) diff --git a/ASM/build/asm_symbols.txt b/ASM/build/asm_symbols.txt index f859a69954..609f43c7ef 100644 --- a/ASM/build/asm_symbols.txt +++ b/ASM/build/asm_symbols.txt @@ -7,7 +7,6 @@ 000014C8 FONT_RESOURCE_SIZE 0000D1B0 .dbl:0010 0000D1C0 .byt:00F0 -0089E800 .byt:0400 00AE734C return_null_item_id 00AE809C @@continue 00B17BD8 .byt:0000 @@ -114,33 +113,24 @@ 00B6D43C .dbl:0004 00B6D440 .dbl:0004 00B7BD24 .dbl:0004 -00BAF754 .byt:0044 -00BB05FC .dbl:0004 -00BB0600 .dbl:0004 -00BC780C .byt:0001 00C0796E .wrd:0002 00C6FF64 .byt:0018 +00CA5D4C .dbl:0004 +00CA5D7C .dbl:0004 +00CA5E08 .dbl:0004 00CB12C8 @draw_forest_hallway_chest_start 00CB13B8 @draw_forest_hallway_chest_base_end 00CB1474 @draw_forest_hallway_chest_lid_end 00CC453C .dbl:0004 00CD5E8C courtyard_guards_kill 00D69398 @Twinrova_Update_Return -00D74990 skip_steal_tunic 00DB13D3 .byt:0001 -00DE1020 .byt:0020 00DF2647 .byt:0001 -00E10794 .dbl:0004 -00E107A4 .dbl:0004 -00E107B4 .dbl:0004 -00E107C4 .dbl:0004 00E11EAC @@return -00E1F794 @medigoron_check_return 00E2B43C .byt:0028 00E2CC50 @skip_eyedrops_dialog 00E2E0E0 skip_bombchu_bowling_prize_switch 00E2F093 .byt:0001 -00E9E1C8 .byt:0008 00E9F5B0 @@return 00EBB8B0 @Deku_Check_True 00EBB8C0 @Deku_Check_False @@ -171,8 +161,28 @@ 018B6A48 .dbl:0008 02000E00 z64_EquippedItemOutlineTex 026C10E3 .byt:0001 -80013044 after_recovery_heart_hook -800130B0 end_of_recovery_draw +7FE288A0 .byt:0400 +80011B54 EnItem00_Init_Continue +80012940 en_item00_update_continue +80012FC0 EnItem00_Draw_Continue +8002049C Flags_GetSwitch +800204D0 Flags_SetSwitch +80020510 Flags_UnsetSwitch +80020554 Flags_GetUnknown +80020588 Flags_SetUnknown +800205C8 Flags_UnsetUnknown +8002060C Flags_GetTreasure +80020624 Flags_SetTreasure +80020640 Flags_GetClear +80020658 Flags_SetClear +80020674 Flags_UnsetClear +80020694 Flags_GetTempClear +800206AC Flags_SetTempClear +800206C8 Flags_UnsetTempClear +800206E8 Flags_GetCollectible +8002071C Flags_SetCollectible +80025118 Actor_Spawn_Continue_Jump_Point +80027090 Actor_SetColorFilter 8007E868 z64_Gfx_SetupDL_42Opa 8009A2D4 @return_check_if_object_loaded 8009A2E0 @skip_check @@ -182,9 +192,14 @@ 8009A3AC @transition_0_jump 8009A3D0 .byt:0000 8009CDA0 Gameplay_InitSkybox +800AF564 Fault_AddHungupAndCrashImpl 800B552C .byt:0014 800B55C8 .byt:0018 +800C7684 Audio_StopCurrentMusic +800CE7B4 sprintf +800D6218 Message_CloseTextbox 800E775E .wrd:0002 +800E8530 gActorOverlayTable 800F8D2C z64_ItemIcons 800FBF00 .wrd:0002 800FBF00 SRAM_SLOTS @@ -198,10 +213,15 @@ 801043A8 z64_SfxDefaultReverb 80108CEC .dbl:0004 8011A5D0 SAVE_CONTEXT +801397F4 .byt:0044 +8013A69C .dbl:0004 +8013A6A0 .dbl:0004 801643F4 @@after_chest_speed_check 801C84A0 GLOBAL_CONTEXT 801D8C00 SUBSCREEN_CONTEXT 801DAA30 PLAYER_ACTOR +802FEA30 skip_steal_tunic +8036B0C0 .byt:0020 80371BAE .wrd:0002 80372AFE .wrd:0002 8037379A .wrd:0002 @@ -219,8 +239,6 @@ 8039EAB8 z64_sEquipMoveTimer 8039F114 z64_SlotAgeReqs 803A9E7E GET_ITEMTABLE -803D1CAC bg_spot18_basket_bombs_loopstart -803D1D00 bg_spot18_basket_rupees_loopstart 80400000 .dbl:0004 80400000 PAYLOAD_START 80400000 RANDO_CONTEXT @@ -244,7 +262,6 @@ 8040002B .byt:0001 8040002B MW_PROGRESSIVE_ITEMS_ENABLE 8040002C .dbl:0004 -8040002C OUTGOING_KEY 80400030 .wrd:0002 80400030 OUTGOING_ITEM 80400032 .wrd:0002 @@ -256,1567 +273,1717 @@ 8040083C .byt:0400 8040083C MW_PROGRESSIVE_ITEMS_STATE 80400C3C .dbl:0004 -80400C3C COSMETIC_CONTEXT -80400C3C COSMETIC_FORMAT_VERSION -80400C40 .wrd:0006 -80400C40 CFG_MAGIC_COLOR -80400C46 .wrd:0006 -80400C46 CFG_HEART_COLOR -80400C4C .wrd:0006 -80400C4C CFG_A_BUTTON_COLOR -80400C52 .wrd:0006 -80400C52 CFG_B_BUTTON_COLOR -80400C58 .wrd:0006 -80400C58 CFG_C_BUTTON_COLOR -80400C5E .wrd:0006 -80400C5E CFG_TEXT_CURSOR_COLOR -80400C64 .wrd:0006 -80400C64 CFG_SHOP_CURSOR_COLOR -80400C6A .wrd:0006 -80400C6A CFG_A_NOTE_COLOR -80400C70 .wrd:0006 -80400C70 CFG_C_NOTE_COLOR -80400C76 .byt:0003 -80400C76 CFG_BOOM_TRAIL_INNER_COLOR -80400C79 .byt:0003 -80400C79 CFG_BOOM_TRAIL_OUTER_COLOR -80400C7C .byt:0003 -80400C7C CFG_BOMBCHU_TRAIL_INNER_COLOR -80400C7F .byt:0003 -80400C7F CFG_BOMBCHU_TRAIL_OUTER_COLOR -80400C82 .byt:0001 -80400C82 CFG_DISPLAY_DPAD -80400C83 .byt:0001 -80400C83 CFG_RAINBOW_SWORD_INNER_ENABLED -80400C84 .byt:0001 -80400C84 CFG_RAINBOW_SWORD_OUTER_ENABLED -80400C85 .byt:0001 -80400C85 CFG_RAINBOW_BOOM_TRAIL_INNER_ENABLED -80400C86 .byt:0001 -80400C86 CFG_RAINBOW_BOOM_TRAIL_OUTER_ENABLED -80400C87 .byt:0001 -80400C87 CFG_RAINBOW_BOMBCHU_TRAIL_INNER_ENABLED -80400C88 .byt:0001 -80400C88 CFG_RAINBOW_BOMBCHU_TRAIL_OUTER_ENABLED -80400C89 .byt:0001 -80400C89 CFG_RAINBOW_NAVI_IDLE_INNER_ENABLED +80400C3C OUTGOING_KEY +80400C40 .dbl:0004 +80400C44 .dbl:0004 +80400C44 COSMETIC_CONTEXT +80400C44 COSMETIC_FORMAT_VERSION +80400C48 .wrd:0006 +80400C48 CFG_MAGIC_COLOR +80400C4E .wrd:0006 +80400C4E CFG_HEART_COLOR +80400C54 .wrd:0006 +80400C54 CFG_A_BUTTON_COLOR +80400C5A .wrd:0006 +80400C5A CFG_B_BUTTON_COLOR +80400C60 .wrd:0006 +80400C60 CFG_C_BUTTON_COLOR +80400C66 .wrd:0006 +80400C66 CFG_TEXT_CURSOR_COLOR +80400C6C .wrd:0006 +80400C6C CFG_SHOP_CURSOR_COLOR +80400C72 .wrd:0006 +80400C72 CFG_A_NOTE_COLOR +80400C78 .wrd:0006 +80400C78 CFG_C_NOTE_COLOR +80400C7E .byt:0003 +80400C7E CFG_BOOM_TRAIL_INNER_COLOR +80400C81 .byt:0003 +80400C81 CFG_BOOM_TRAIL_OUTER_COLOR +80400C84 .byt:0003 +80400C84 CFG_BOMBCHU_TRAIL_INNER_COLOR +80400C87 .byt:0003 +80400C87 CFG_BOMBCHU_TRAIL_OUTER_COLOR 80400C8A .byt:0001 -80400C8A CFG_RAINBOW_NAVI_IDLE_OUTER_ENABLED +80400C8A CFG_DISPLAY_DPAD 80400C8B .byt:0001 -80400C8B CFG_RAINBOW_NAVI_ENEMY_INNER_ENABLED +80400C8B CFG_RAINBOW_SWORD_INNER_ENABLED 80400C8C .byt:0001 -80400C8C CFG_RAINBOW_NAVI_ENEMY_OUTER_ENABLED +80400C8C CFG_RAINBOW_SWORD_OUTER_ENABLED 80400C8D .byt:0001 -80400C8D CFG_RAINBOW_NAVI_NPC_INNER_ENABLED +80400C8D CFG_RAINBOW_BOOM_TRAIL_INNER_ENABLED 80400C8E .byt:0001 -80400C8E CFG_RAINBOW_NAVI_NPC_OUTER_ENABLED +80400C8E CFG_RAINBOW_BOOM_TRAIL_OUTER_ENABLED 80400C8F .byt:0001 -80400C8F CFG_RAINBOW_NAVI_PROP_INNER_ENABLED +80400C8F CFG_RAINBOW_BOMBCHU_TRAIL_INNER_ENABLED 80400C90 .byt:0001 -80400C90 CFG_RAINBOW_NAVI_PROP_OUTER_ENABLED +80400C90 CFG_RAINBOW_BOMBCHU_TRAIL_OUTER_ENABLED 80400C91 .byt:0001 -80400C91 CFG_DPAD_DUNGEON_INFO_ENABLE -80400C92 .wrd:0002 -80400C92 GET_ITEM_SEQ_ID +80400C91 CFG_RAINBOW_NAVI_IDLE_INNER_ENABLED +80400C92 .byt:0001 +80400C92 CFG_RAINBOW_NAVI_IDLE_OUTER_ENABLED +80400C93 .byt:0001 +80400C93 CFG_RAINBOW_NAVI_ENEMY_INNER_ENABLED 80400C94 .byt:0001 -80400C94 CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE +80400C94 CFG_RAINBOW_NAVI_ENEMY_OUTER_ENABLED 80400C95 .byt:0001 -80400C95 CFG_SLOWDOWN_MUSIC_WHEN_LOWHP +80400C95 CFG_RAINBOW_NAVI_NPC_INNER_ENABLED 80400C96 .byt:0001 -80400C96 CFG_RAINBOW_TUNIC_ENABLED -80400C97 .byt:0009 -80400C97 CFG_TUNIC_COLORS -80400CA0 .dbl:0004 -80400CA0 CFG_AUDIOBANK_TABLE_EXTENDED_ADDR -80400CA4 .byt:0001 -80400CA4 CFG_CORRECT_MODEL_COLORS -80400CA5 .byt:0001 -80400CA5 CFG_UNINVERT_YAXIS_IN_FIRST_PERSON_CAMERA -80400CA6 .byt:0001 -80400CA6 CFG_DPAD_ON_THE_LEFT -80400CA7 .byt:0001 -80400CA7 CFG_INPUT_VIEWER -80400CA8 .byt:0001 -80400CA8 CFG_SONG_NAME_POSITION -80400CA9 .byt:0A5A -80400CA9 CFG_SONG_NAMES -80401703 .byt:0001 -80401703 CFG_SHOW_SETTING_INFO -80401704 .byt:0020 -80401704 CFG_CUSTOM_MESSAGE_1 -80401724 .byt:0020 -80401724 CFG_CUSTOM_MESSAGE_2 -80401744 .byt:0024 -80401744 VERSION_STRING_TXT -80401768 .byt:0010 -80401768 WORLD_STRING_TXT -80401778 .byt:0024 -80401778 TIME_STRING_TXT -8040179C .byt:0400 -8040179C INITIAL_SAVE_DATA -80401B9C .byt:0100 -80401B9C EXTENDED_INITIAL_SAVE_DATA -80401C9C .byt:00C0 -80401C9C EXTENDED_OBJECT_TABLE -80401D5C .dbl:0004 -80401D5C FREE_BOMBCHU_DROPS -80401D60 .dbl:0004 -80401D60 GOSSIP_HINT_CONDITION -80401D64 .dbl:0004 -80401D64 FREE_SCARECROW_ENABLED -80401D68 .byt:0001 -80401D68 JABU_ELEVATOR_ENABLE -80401D69 .byt:0001 -80401D69 OCARINAS_SHUFFLED -80401D6A .byt:0001 -80401D6A NO_COLLECTIBLE_HEARTS -80401D6B .byt:0001 -80401D6B FAST_CHESTS -80401D6C .byt:0001 -80401D6C SHUFFLE_COWS -80401D6D .byt:0001 -80401D6D SONGS_AS_ITEMS -80401D6E .byt:0001 -80401D6E WINDMILL_SONG_ID -80401D6F .byt:0001 -80401D6F WINDMILL_TEXT_ID -80401D70 .byt:0001 -80401D70 MALON_TEXT_ID -80401D71 .byt:0001 -80401D71 DISABLE_TIMERS -80401D72 .byt:0001 -80401D72 DUNGEONS_SHUFFLED -80401D73 .byt:0001 -80401D73 OVERWORLD_SHUFFLED -80401D74 .byt:0001 -80401D74 HIDEOUT_SHUFFLED -80401D75 .byt:0001 -80401D75 FAST_BUNNY_HOOD_ENABLED -80401D76 .byt:0001 -80401D76 FIX_BROKEN_DROPS -80401D77 .byt:0001 -80401D77 SPOILER_AVAILABLE -80401D78 .byt:0001 -80401D78 PLANDOMIZER_USED -80401D79 .byt:0001 -80401D79 POTCRATE_TEXTURES_MATCH_CONTENTS -80401D7A .byt:0001 -80401D7A KEYRING_BOSSKEY_CONDITION -80401D7B .byt:0001 -80401D7B SHUFFLE_SILVER_RUPEES -80401D7C .byt:0001 -80401D7C CFG_DUNGEON_INFO_SILVER_RUPEES -80401D7D .byt:0001 -80401D7D CUSTOM_KEY_MODELS -80401D7E .byt:0001 -80401D7E SHUFFLE_OCARINA_BUTTONS -80401D7F .byt:0001 -80401D7F EPONAS_SONG_NOTES -80401D80 .byt:0001 -80401D80 CHEST_GOLD_TEXTURE -80401D81 .byt:0001 -80401D81 CHEST_GILDED_TEXTURE -80401D82 .byt:0001 -80401D82 CHEST_SILVER_TEXTURE -80401D83 .byt:0001 -80401D83 CHEST_SKULL_TEXTURE -80401D84 .byt:0001 -80401D84 CHEST_HEART_TEXTURE -80401D85 .byt:0001 -80401D85 POTCRATE_GOLD_TEXTURE -80401D86 .byt:0001 -80401D86 POTCRATE_GILDED_TEXTURE -80401D87 .byt:0001 -80401D87 POTCRATE_SILVER_TEXTURE -80401D88 .byt:0001 -80401D88 POTCRATE_SKULL_TEXTURE -80401D89 .byt:0001 -80401D89 POTCRATE_HEART_TEXTURE -80401D8A .byt:0001 -80401D8A SOA_UNLOCKS_CHEST_TEXTURE -80401D8B .byt:0001 -80401D8B SOA_UNLOCKS_POTCRATE_TEXTURE -80401D8C .dbl:0004 -80401D8C AUTO_TRACKER_CONTEXT -80401D8C AUTO_TRACKER_VERSION -80401D90 .dbl:0004 -80401D90 CFG_DUNGEON_INFO_ENABLE -80401D94 .dbl:0004 -80401D94 CFG_DUNGEON_INFO_MQ_ENABLE -80401D98 .dbl:0004 -80401D98 CFG_DUNGEON_INFO_MQ_NEED_MAP -80401D9C .dbl:0004 -80401D9C CFG_DUNGEON_INFO_REWARD_ENABLE -80401DA0 .dbl:0004 -80401DA0 CFG_DUNGEON_INFO_REWARD_NEED_COMPASS -80401DA4 .dbl:0004 -80401DA4 CFG_DUNGEON_INFO_REWARD_NEED_ALTAR -80401DA8 .dbl:0004 -80401DA8 CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE -80401DAC .byt:000E -80401DAC CFG_DUNGEON_REWARDS -80401DBA .byt:000E -80401DBA CFG_DUNGEON_IS_MQ +80400C96 CFG_RAINBOW_NAVI_NPC_OUTER_ENABLED +80400C97 .byt:0001 +80400C97 CFG_RAINBOW_NAVI_PROP_INNER_ENABLED +80400C98 .byt:0001 +80400C98 CFG_RAINBOW_NAVI_PROP_OUTER_ENABLED +80400C99 .byt:0001 +80400C99 CFG_DPAD_DUNGEON_INFO_ENABLE +80400C9A .wrd:0002 +80400C9A GET_ITEM_SEQ_ID +80400C9C .byt:0001 +80400C9C CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE +80400C9D .byt:0001 +80400C9D CFG_SLOWDOWN_MUSIC_WHEN_LOWHP +80400C9E .byt:0001 +80400C9E CFG_RAINBOW_TUNIC_ENABLED +80400C9F .byt:0009 +80400C9F CFG_TUNIC_COLORS +80400CA8 .dbl:0004 +80400CA8 CFG_AUDIOBANK_TABLE_EXTENDED_ADDR +80400CAC .byt:0001 +80400CAC CFG_CORRECT_MODEL_COLORS +80400CAD .byt:0001 +80400CAD CFG_UNINVERT_YAXIS_IN_FIRST_PERSON_CAMERA +80400CAE .byt:0001 +80400CAE CFG_DPAD_ON_THE_LEFT +80400CAF .byt:0001 +80400CAF CFG_INPUT_VIEWER +80400CB0 .byt:0001 +80400CB0 CFG_SONG_NAME_STATE +80400CB1 .byt:0A5A +80400CB1 CFG_SONG_NAMES +8040170B .byt:0001 +8040170B CFG_SHOW_SETTING_INFO +8040170C .byt:0020 +8040170C CFG_CUSTOM_MESSAGE_1 +8040172C .byt:0020 +8040172C CFG_CUSTOM_MESSAGE_2 +8040174C .byt:0024 +8040174C VERSION_STRING_TXT +80401770 .byt:0010 +80401770 WORLD_STRING_TXT +80401780 .byt:0024 +80401780 TIME_STRING_TXT +804017A4 .byt:0010 +804017A4 WEB_ID_STRING_TXT +804017B4 .byt:0400 +804017B4 INITIAL_SAVE_DATA +80401BB4 .byt:0100 +80401BB4 EXTENDED_INITIAL_SAVE_DATA +80401CB4 .byt:0110 +80401CB4 EXTENDED_OBJECT_TABLE +80401DC4 .dbl:0004 +80401DC4 FREE_BOMBCHU_DROPS 80401DC8 .dbl:0004 -80401DC8 RAINBOW_BRIDGE_CONDITION +80401DC8 GOSSIP_HINT_CONDITION 80401DCC .dbl:0004 -80401DCC LACS_CONDITION -80401DD0 .wrd:0002 -80401DD0 RAINBOW_BRIDGE_COUNT -80401DD2 .wrd:0002 -80401DD2 LACS_CONDITION_COUNT -80401DD4 .wrd:0002 -80401DD4 TRIFORCE_HUNT_ENABLED -80401DD6 .wrd:0002 -80401DD6 TRIFORCE_PIECES_REQUIRED -80401DD8 .byt:0008 -80401DD8 SPECIAL_DEAL_COUNTS -80401DE0 .byt:00CF -80401DE0 CFG_DUNGEON_REWARD_AREAS -80401EB0 init -80401EE4 Static_ctxt_Init -80401EF4 inventory_check -80401F60 @@return -80401F68 override_object_npc -80401F74 override_object_chest -80401F80 override_object -80401FA0 @@return -80401FA8 override_graphic -80401FC8 @@return -80401FE0 override_chest_speed -80402020 @@return -80402048 @@no_call -80402050 override_text -80402074 @@return -8040207C override_action -804020C8 @@return -804020E4 get_item_hook -80402128 drop_collectible_room_hook -8040214C Item_DropCollectible_End_Hack -8040216C Item_DropCollectible2_End_Hack -8040218C EnItem00_DropCollectibleFallAction_Hack -8040219C @@return -804021A4 drop_collectible2_hook -804021BC item_give_hook -80402200 return_to_func -80402234 exit_func -80402270 return_to_func_near_end -80402280 rupee_draw_hook -804022BC @rupee_draw_orig -804022EC @return -8040231C recovery_heart_draw_hook -80402358 @exit_func -8040238C @return_to_func -804023C4 override_great_fairy_cutscene -80402424 @@item_fairy -80402448 @@give_item -8040245C @@refills -80402464 @@return -80402474 override_ocarina_songs -80402494 override_requiem_song -804024C0 override_epona_song -80402500 override_suns_song -80402538 override_song_of_time -80402570 override_saria_song_check -8040258C @@get_item -80402594 set_saria_song_flag -804025B4 set_dungeon_knowledge -804025E0 @@set_flag -804025F8 talon_break_free -8040262C @@msg -8040265C @@return -80402674 .byt:0001 -80402674 PLAYED_WARP_SONG -80402678 warp_speedup -80402700 @@return -80402708 set_fade_in -8040273C @@return -80402744 guard_catch -80402768 burning_kak -804027D0 @@default -804027D4 @@return -804027E4 ingo_race_win -80402804 @@return -80402810 gerudo_caught_entrance -80402838 @@hideout -80402858 @@fortress -80402888 @@fortress_entrance -80402890 @@return -80402898 .byt:0001 -80402898 GET_ITEM_TRIGGERED -8040289C fountain_set_posrot -80402944 @@skip -8040295C @@return -80402964 .byt:0001 -80402964 SOS_ITEM_GIVEN -80402968 sos_skip_demo -80402988 sos_handle_staff -804029D0 @@return -804029F0 sos_handle_item -80402A34 @@passed_first_check -80402A70 @@songs_as_items -80402A98 @@next_check -80402AC4 @@common -80402B00 @@return -80402B0C sos_talk_prevention -80402B38 @@no_item -80402B40 @@item -80402B48 move_royal_tombstone -80402B58 @@return -80402B60 heavy_block_set_switch -80402B90 heavy_block_posrot -80402BB0 heavy_block_set_link_action -80402BCC @@return -80402BD4 heavy_block_shorten_anim -80402C04 @@check_end -80402C18 @@return -80402C20 demo_effect_medal_init -80402C70 @@return -80402C78 .dbl:0004 -80402C78 CFG_MASK_SHOP_HINT -80402C7C Shop_Check_Sold_Out +80401DCC FREE_SCARECROW_ENABLED +80401DD0 .byt:0001 +80401DD0 JABU_ELEVATOR_ENABLE +80401DD1 .byt:0001 +80401DD1 OCARINAS_SHUFFLED +80401DD2 .byt:0001 +80401DD2 NO_COLLECTIBLE_HEARTS +80401DD3 .byt:0001 +80401DD3 FAST_CHESTS +80401DD4 .byt:0001 +80401DD4 SHUFFLE_COWS +80401DD5 .byt:0001 +80401DD5 SONGS_AS_ITEMS +80401DD6 .byt:0001 +80401DD6 WINDMILL_SONG_ID +80401DD7 .byt:0001 +80401DD7 WINDMILL_TEXT_ID +80401DD8 .byt:0001 +80401DD8 MALON_TEXT_ID +80401DD9 .byt:0001 +80401DD9 DISABLE_TIMERS +80401DDA .byt:0001 +80401DDA DUNGEONS_SHUFFLED +80401DDB .byt:0001 +80401DDB OVERWORLD_SHUFFLED +80401DDC .byt:0001 +80401DDC HIDEOUT_SHUFFLED +80401DDD .byt:0001 +80401DDD FAST_BUNNY_HOOD_ENABLED +80401DDE .byt:0001 +80401DDE FIX_BROKEN_DROPS +80401DDF .byt:0001 +80401DDF SPOILER_AVAILABLE +80401DE0 .byt:0001 +80401DE0 PLANDOMIZER_USED +80401DE1 .byt:0001 +80401DE1 POTCRATE_TEXTURES_MATCH_CONTENTS +80401DE2 .byt:0001 +80401DE2 KEYRING_BOSSKEY_CONDITION +80401DE3 .byt:0001 +80401DE3 SHUFFLE_SILVER_RUPEES +80401DE4 .byt:0001 +80401DE4 CFG_DUNGEON_INFO_SILVER_RUPEES +80401DE5 .byt:0001 +80401DE5 CUSTOM_KEY_MODELS +80401DE6 .byt:0001 +80401DE6 SHUFFLE_OCARINA_BUTTONS +80401DE7 .byt:0001 +80401DE7 EPONAS_SONG_NOTES +80401DE8 .byt:0001 +80401DE8 CHEST_GOLD_TEXTURE +80401DE9 .byt:0001 +80401DE9 CHEST_GILDED_TEXTURE +80401DEA .byt:0001 +80401DEA CHEST_SILVER_TEXTURE +80401DEB .byt:0001 +80401DEB CHEST_SKULL_TEXTURE +80401DEC .byt:0001 +80401DEC CHEST_HEART_TEXTURE +80401DED .byt:0001 +80401DED POTCRATE_GOLD_TEXTURE +80401DEE .byt:0001 +80401DEE POTCRATE_GILDED_TEXTURE +80401DEF .byt:0001 +80401DEF POTCRATE_SILVER_TEXTURE +80401DF0 .byt:0001 +80401DF0 POTCRATE_SKULL_TEXTURE +80401DF1 .byt:0001 +80401DF1 POTCRATE_HEART_TEXTURE +80401DF2 .byt:0001 +80401DF2 SOA_UNLOCKS_CHEST_TEXTURE +80401DF3 .byt:0001 +80401DF3 SOA_UNLOCKS_POTCRATE_TEXTURE +80401DF4 .byt:0001 +80401DF4 CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE +80401DF5 .byt:0009 +80401DF5 CFG_DUNGEON_REWARD_WORLDS +80401E00 .dbl:0004 +80401E00 CFG_BIGOCTO_OVERRIDE_KEY +80401E04 .dbl:0004 +80401E08 .byt:0006 +80401E08 PASSWORD +80401E0E .byt:0001 +80401E0E REWARDS_AS_ITEMS +80401E0F .byt:000E +80401E0F CFG_DUNGEON_PRECOMPLETED +80401E20 .dbl:0004 +80401E20 AUTO_TRACKER_CONTEXT +80401E20 AUTO_TRACKER_VERSION +80401E24 .dbl:0004 +80401E24 CFG_DUNGEON_INFO_ENABLE +80401E28 .dbl:0004 +80401E28 CFG_DUNGEON_INFO_MQ_ENABLE +80401E2C .dbl:0004 +80401E2C CFG_DUNGEON_INFO_MQ_NEED_MAP +80401E30 .dbl:0004 +80401E30 CFG_DUNGEON_INFO_REWARD_ENABLE +80401E34 .dbl:0004 +80401E34 CFG_DUNGEON_INFO_REWARD_NEED_COMPASS +80401E38 .dbl:0004 +80401E38 CFG_DUNGEON_INFO_REWARD_NEED_ALTAR +80401E3C .dbl:0004 +80401E3C CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE +80401E40 .byt:000E +80401E40 CFG_DUNGEON_REWARDS +80401E4E .byt:000E +80401E4E CFG_DUNGEON_IS_MQ +80401E5C .dbl:0004 +80401E5C RAINBOW_BRIDGE_CONDITION +80401E60 .dbl:0004 +80401E60 LACS_CONDITION +80401E64 .wrd:0002 +80401E64 RAINBOW_BRIDGE_COUNT +80401E66 .wrd:0002 +80401E66 LACS_CONDITION_COUNT +80401E68 .wrd:0002 +80401E68 TRIFORCE_HUNT_ENABLED +80401E6A .wrd:0002 +80401E6A TRIFORCE_PIECES_REQUIRED +80401E6C .byt:0008 +80401E6C SPECIAL_DEAL_COUNTS +80401E74 .byt:00CF +80401E74 CFG_DUNGEON_REWARD_AREAS +80401F43 .byt:0001 +80401F43 CFG_ADULT_TRADE_SHUFFLE +80401F44 .byt:0001 +80401F44 CFG_CHILD_TRADE_SHUFFLE +80401F48 init +80401F7C Static_ctxt_Init +80401F8C inventory_check +80401FF8 @@return +80402000 override_object_npc +8040200C override_object_chest +80402018 override_object +80402038 @@return +80402040 override_graphic +80402060 @@return +80402078 override_chest_speed +804020B8 @@return +804020E0 @@no_call +804020E8 override_text +8040210C @@return +80402114 override_action +80402160 @@return +8040217C get_item_hook +804021C0 drop_collectible_room_hook +804021E4 Item_DropCollectible_End_Hack +80402204 Item_DropCollectible2_End_Hack +80402224 EnItem00_DropCollectibleFallAction_Hack +80402234 @@return +8040223C item_give_hook +80402280 return_to_func +804022B4 exit_func +804022F0 return_to_func_near_end +80402300 override_great_fairy_cutscene +80402360 @@item_fairy +80402384 @@give_item +80402398 @@refills +804023A0 @@return +804023B0 override_ocarina_songs +804023D0 override_requiem_song +804023FC override_epona_song +8040243C override_suns_song +80402474 override_song_of_time +804024AC override_saria_song_check +804024C8 @@get_item +804024D0 set_saria_song_flag +804024F0 set_dungeon_knowledge +8040251C @@set_flag +80402534 talon_break_free +80402568 @@msg +80402598 @@return +804025B0 .byt:0001 +804025B0 PLAYED_WARP_SONG +804025B4 warp_speedup +8040263C @@return +80402644 set_fade_in +80402678 @@return +80402680 guard_catch +804026A4 burning_kak +8040270C @@default +80402710 @@return +80402720 ingo_race_win +80402740 @@return +8040274C gerudo_caught_entrance +80402774 @@hideout +80402794 @@fortress +804027C4 @@fortress_entrance +804027CC @@return +804027D4 .byt:0001 +804027D4 GET_ITEM_TRIGGERED +804027D8 fountain_set_posrot +80402880 @@skip +80402898 @@return +804028A0 .byt:0001 +804028A0 SOS_ITEM_GIVEN +804028A4 sos_skip_demo +804028C4 sos_handle_staff +8040290C @@return +8040292C sos_handle_item +80402970 @@passed_first_check +804029AC @@songs_as_items +804029D4 @@next_check +80402A00 @@common +80402A3C @@return +80402A48 sos_talk_prevention +80402A74 @@no_item +80402A7C @@item +80402A84 move_royal_tombstone +80402A94 @@return +80402A9C heavy_block_set_switch +80402ACC heavy_block_posrot +80402AEC heavy_block_set_link_action +80402B08 @@return +80402B10 heavy_block_shorten_anim +80402B40 @@check_end +80402B54 @@return +80402B5C DemoEffect_DrawJewel +80402B6C .byt:0001 +80402B6C SKIP_N64_LOGO +80402B70 skip_nintendo_logo +80402B88 @@return +80402B90 .dbl:0004 +80402B90 CFG_MASK_SHOP_HINT +80402B94 Shop_Check_Sold_Out +80402BE0 @@return +80402BE8 Shop_Set_Sold_Out +80402C20 @@return +80402C28 Shop_Keeper_Init_ID +80402C58 @@mask_shop_shuffle +80402C6C @@return +80402C84 Shop_Keeper_Update_ID +80402CB4 @@mask_shop_shuffle 80402CC8 @@return -80402CD0 Shop_Set_Sold_Out -80402D08 @@return -80402D10 Shop_Keeper_Init_ID -80402D40 @@mask_shop_shuffle -80402D54 @@return -80402D6C Shop_Keeper_Update_ID -80402D9C @@mask_shop_shuffle -80402DB0 @@return -80402DC8 mask_shop_display -80402E28 @@keaton_mask -80402E28 @@mask_of_truth -80402E30 @@skull_mask -80402E38 @@bunny_hood -80402E40 @@spooky_mask -80402E44 @@display_func -80402E68 @@return -80402E78 shop_draw_hook -80402E90 Deku_Check_Sold_Out -80402EB4 @@continue -80402EE4 Deku_Set_Sold_Out -80402F08 @@continue -80402F3C set_mask_text_hook -80402F70 @@return_mask_text -80402F84 set_mask_sold_out -80402FB4 @@return_mask_so -80402FD0 before_game_state_update_hook -80402FF4 equipment_menu_prevent_empty_equip -80403014 @@return -80403028 menu_use_blank_description -8040305C @@not_equip_menu -8040306C @@return -80403084 equipment_menu_slot_filled -804030B0 equipment_menu_fix -804030C0 @@return -804030C8 .dbl:0004 -804030C8 TIME_TRAVEL_SAVED_EQUIPS -804030CC .dbl:0004 -804030D0 .wrd:0002 -804030D2 .wrd:0002 -804030D4 give_master_sword -804030EC before_time_travel -80403130 @@swap -8040315C after_time_travel -80403198 @@going_back -804031B8 @@done -804031D0 update_c_button -804031FC @@return -80403204 after_going_forward -80403240 @@no_init -80403250 after_going_back -80403278 @@has_shield -80403294 @@not_swordless -8040329C initialize_adult -804032C4 @@no_mirror_shield -80403304 init_adult_button -80403330 @@empty -80403338 @@loop -80403390 @@set_empty -8040339C @@return -804033A4 .byt:0001 -804033A4 ADULT_INIT_ITEMS -804033A5 .byt:0001 -804033A6 .byt:0001 -804033A7 .byt:0001 -804033A8 .byt:0001 -804033A9 .byt:0001 -804033AA .byt:0001 -804033AB .byt:0001 -804033AC .byt:0001 -804033AC ADULT_VALID_ITEMS -804033AD .byt:0001 -804033AE .byt:0001 -804033AF .byt:0001 -804033B0 .byt:0001 -804033B1 .byt:0001 -804033B2 .byt:0001 -804033B3 .byt:0001 -804033B4 .byt:0001 -804033B5 .byt:0001 -804033B6 .byt:0001 -804033B7 .byt:0001 -804033B8 .byt:0001 -804033B9 .byt:0001 -804033BA .byt:0001 -804033BB .byt:0001 -804033BC .byt:0001 -804033BD .byt:0001 -804033BE .byt:0001 -804033BF .byt:0001 -804033C0 .byt:0001 -804033C1 .byt:0001 -804033C2 .byt:0001 -804033C3 .byt:0001 -804033C4 suns_song_fix_event -804033F8 @@child -80403408 @@return -80403410 warp_song_fix -8040343C @@child -8040344C @@return -80403454 Check_Has_Epona_Song -804034B8 @@has_ocarina -804034C8 @@return -804034D4 adapt_scarecrow -804034F8 @@default_behavior -80403508 save_scarecrow_song -8040353C @@copy_song -8040355C empty_bomb -80403574 write_initial_save -80403580 @@save_data_loop -804035B0 @@overwrite_type -804035B8 @@return -804035C0 easier_fishing -804035E4 @@L_C24 -804035F0 @@return -804035F8 keep_fishing_rod_equipped -80403610 @@return -80403618 cast_fishing_rod_if_equipped -80403638 @@return -80403640 fishing_bite_when_stable -8040365C @@return -80403664 give_loach_reward -8040368C increment_sSinkingLureLocation -804036AC @@return -804036BC make_loach_follow_lure +80402CE0 mask_shop_display +80402D40 @@keaton_mask +80402D40 @@mask_of_truth +80402D48 @@skull_mask +80402D50 @@bunny_hood +80402D58 @@spooky_mask +80402D5C @@display_func +80402D80 @@return +80402D90 shop_draw_hook +80402DA8 Deku_Check_Sold_Out +80402DCC @@continue +80402DFC Deku_Set_Sold_Out +80402E20 @@continue +80402E54 set_mask_text_hook +80402E88 @@return_mask_text +80402E9C set_mask_sold_out +80402ECC @@return_mask_so +80402EE8 before_game_state_update_hook +80402F0C equipment_menu_prevent_empty_equip +80402F2C @@return +80402F40 menu_use_blank_description +80402F74 @@not_equip_menu +80402F84 @@return +80402F9C equipment_menu_slot_filled +80402FC8 equipment_menu_fix +80402FD8 @@return +80402FE0 .dbl:0004 +80402FE0 TIME_TRAVEL_SAVED_EQUIPS +80402FE4 .dbl:0004 +80402FE8 .wrd:0002 +80402FEA .wrd:0002 +80402FEC give_master_sword +80403004 before_time_travel +80403048 @@swap +80403074 after_time_travel +804030B0 @@going_back +804030D0 @@done +804030E8 update_c_button +80403114 @@return +8040311C after_going_forward +80403158 @@no_init +80403168 after_going_back +80403190 @@has_shield +804031AC @@not_swordless +804031B4 initialize_adult +804031DC @@no_mirror_shield +8040321C init_adult_button +80403248 @@empty +80403250 @@loop +804032A8 @@set_empty +804032B4 @@return +804032BC .byt:0001 +804032BC ADULT_INIT_ITEMS +804032BD .byt:0001 +804032BE .byt:0001 +804032BF .byt:0001 +804032C0 .byt:0001 +804032C1 .byt:0001 +804032C2 .byt:0001 +804032C3 .byt:0001 +804032C4 .byt:0001 +804032C4 ADULT_VALID_ITEMS +804032C5 .byt:0001 +804032C6 .byt:0001 +804032C7 .byt:0001 +804032C8 .byt:0001 +804032C9 .byt:0001 +804032CA .byt:0001 +804032CB .byt:0001 +804032CC .byt:0001 +804032CD .byt:0001 +804032CE .byt:0001 +804032CF .byt:0001 +804032D0 .byt:0001 +804032D1 .byt:0001 +804032D2 .byt:0001 +804032D3 .byt:0001 +804032D4 .byt:0001 +804032D5 .byt:0001 +804032D6 .byt:0001 +804032D7 .byt:0001 +804032D8 .byt:0001 +804032D9 .byt:0001 +804032DA .byt:0001 +804032DB .byt:0001 +804032DC suns_song_fix_event +80403310 @@child +80403320 @@return +80403328 warp_song_fix +80403354 @@child +80403364 @@return +8040336C Check_Has_Epona_Song +804033D0 @@has_ocarina +804033E0 @@return +804033EC adapt_scarecrow +80403410 @@default_behavior +80403420 save_scarecrow_song +80403454 @@copy_song +80403474 empty_bomb +8040348C write_initial_save +80403498 @@save_data_loop +804034C8 @@overwrite_type +804034D0 @@return +804034D8 easier_fishing +804034FC @@L_C24 +80403508 @@return +80403510 keep_fishing_rod_equipped +80403528 @@return +80403530 cast_fishing_rod_if_equipped +80403550 @@return +80403558 fishing_bite_when_stable +80403578 @@return +80403584 give_loach_reward +804035AC increment_sSinkingLureLocation +804035CC @@return +804035DC make_loach_follow_lure +80403614 @@return +80403628 bgs_fix +80403638 logic_chus__bowling_lady_1 +80403664 @@has_chus_false +80403674 logic_chus__bowling_lady_2 +804036A0 @@has_chus_false +804036B0 logic_chus__shopkeeper +804036C0 @@logic_chus_true +804036DC @@logic_chus_false 804036F4 @@return -80403708 bgs_fix -80403718 logic_chus__bowling_lady_1 -80403744 @@has_chus_false -80403754 logic_chus__bowling_lady_2 -80403780 @@has_chus_false -80403790 logic_chus__shopkeeper -804037A0 @@logic_chus_true -804037BC @@logic_chus_false -804037D4 @@return -804037DC logic_chus__carpet_dude_1 -8040380C @@return -80403814 logic_chus__carpet_dude_2 -80403854 @@not_enough_rupees -8040385C @@return -80403868 chu_drop_draw -80403884 @@return -8040388C rainbow_bridge -804038C8 @@open -804038D4 @@medallions -804038F0 @@medallions_1 -80403900 @@medallions_2 -80403910 @@medallions_3 -80403920 @@medallions_4 -80403930 @@medallions_5 -80403940 @@medallions_6 -80403948 @@dungeons -80403968 @@dungeons_1 -80403978 @@dungeons_2 -80403988 @@dungeons_3 -80403998 @@dungeons_4 -804039A8 @@dungeons_5 -804039B8 @@dungeons_6 -804039CC @@dungeons_7 -804039E0 @@dungeons_8 -804039F4 @@dungeons_9 -804039FC @@stones -80403A1C @@stones_1 -80403A30 @@stones_2 -80403A44 @@stones_3 -80403A4C @@tokens -80403A58 @@hearts -80403A5C @@count -80403A70 @@vanilla -80403A94 @@return -80403A9C lacs_condition_check -80403AD0 @@vanilla -80403AE4 @@return_vanilla -80403AEC @@medallions -80403B08 @@medallions_1 -80403B18 @@medallions_2 -80403B28 @@medallions_3 -80403B38 @@medallions_4 -80403B48 @@medallions_5 -80403B58 @@medallions_6 -80403B60 @@dungeons -80403B80 @@dungeons_1 -80403B90 @@dungeons_2 -80403BA0 @@dungeons_3 -80403BB0 @@dungeons_4 -80403BC0 @@dungeons_5 -80403BD0 @@dungeons_6 -80403BE4 @@dungeons_7 -80403BF8 @@dungeons_8 -80403C0C @@dungeons_9 -80403C14 @@stones -80403C34 @@stones_1 -80403C48 @@stones_2 -80403C5C @@stones_3 -80403C64 @@tokens -80403C70 @@hearts -80403C74 @@count -80403C90 @@return_count -80403C98 gossip_hints -80403CCC @@not_grotto -80403CF0 @@always_hint -80403CF8 @@stone_of_agony -80403D10 @@default -80403D24 @@no_hint -80403D28 @@return -80403D3C .byt:0001 -80403D3C SHUFFLE_GRANNYS_POTION_SHOP -80403D40 potion_shop_fix -80403D8C @@return -80403DB0 potion_shop_buy_hook -80403DD8 @@return_buy_hook -80403DE0 potion_shop_check_empty_bottle -80403E00 @@return_bottle -80403E0C jabu_elevator -80403E64 @@bottom -80403E68 @@return -80403E7C dampe_fix -80403EB0 @@received_hp -80403EB4 @@no_hp -80403EB8 @@return -80403EC0 dpad_draw -80403EE4 .dbl:0004 -80403EE4 CHEST_LENS_ONLY -80403EE8 GET_CHEST_OVERRIDE_WRAPPER -80403F30 HIDE_CHEST_WITH_INVERTED_LENS -80403F94 @@return_hide -80403FA0 @@return_draw -80403FA8 SHOW_CHEST_WITH_INVERTED_LENS -80404018 @@return_draw_show -80404020 red_ice_alpha -80404060 @@return -80404068 .dbl:0004 -80404068 SPEED_MULTIPLIER -8040406C bunny_hood -804040D8 @@return -804040E8 magic_colors -80404118 shop_cursor_colors -80404180 apply_color_delta -8040419C @@small_delta -804041A0 @@after_delta -804041A8 .dbl:0004 -804041A8 DEBUG_OFFSET -804041AC extended_object_lookup_GI -804041B8 @@normal_item -804041C4 @@extended_item -804041D4 extended_object_lookup_load -804041E4 @@normal_item -804041F0 @@extended_item -80404200 extended_object_lookup_shop -8040421C @@normal_item -80404228 @@extended_item -80404238 extended_object_lookup_shop_unpause -80404248 @@normal_item -80404254 @@extended_item -80404260 @@return -80404270 cow_item_hook -804042B0 @@return -804042B8 cow_bottle_check -804042F8 @@bottle_check -80404300 @@return -80404318 cow_after_init -8040432C @@return -80404334 .wrd:0010 -80404334 Gossip_Actor -80404344 Hit_Gossip_Stone -80404380 @@trigger_fill -80404394 @@show_time -8040439C @@return -804043AC Check_Fill_Lake -804043B8 Fill_Lake_Destroy -804043DC @@setup_fill_control -80404418 @@destroy -80404420 @@return -80404428 Fill_Lake -8040446C @@morpha_dead -80404490 @@no_trigger -8040449C @@filling -804044C4 @@draining -804044E8 @@check_fill_max -80404500 @@skip_fill_update -8040452C @@return -80404540 disable_trade_timers -80404570 @@return -80404578 shooting_gallery_init -8040458C @@child -804045A0 @@adult -804045B4 @@return -804045BC .byt:0001 -804045BC CFG_DAMAGE_MULTIPLYER -804045BD .byt:0001 -804045BD EXTERN_DAMAGE_MULTIPLYER -804045C0 Apply_Damage_Multiplier -804045F0 @@MulDamage -804045F8 @@ohko -80404600 @@DivDamage -80404608 @@DoubleDefence -80404620 @@return -80404628 .dbl:0004 -80404628 CFG_DEADLY_BONKS -8040462C .wrd:0002 -8040462C CFG_BONK_DAMAGE -80404630 BONK_LAST_FRAME -80404650 @@return_bonk_frame -80404668 SET_BONK_FLAG -8040468C @@return_bonk_flag -80404694 CHECK_FOR_BONK_CANCEL -804046D8 @@return_bonk_check -804046E4 APPLY_BONK_DAMAGE -8040472C @@normal_defense -80404744 @@bonks_kill -80404748 @@cmg_entrance_hack -80404788 @@return_bonk -80404790 KING_DODONGO_BONKS -804047B4 @@return_bonk_kd -804047C4 CHECK_ROOM_MESH_TYPE -804047F8 @@return_death_subcamera -80404800 .byt:0001 -80404800 SHUFFLE_BEANS -80404804 bean_initial_check -80404834 @@return -8040483C bean_enough_rupees_check -80404854 @@return -8040485C bean_rupees_taken -80404874 @@return -8040487C bean_buy_item_hook -8040489C @@return -804048A4 .byt:0084 -804048A4 GROTTO_LOAD_TABLE -80404928 .byt:0042 -80404928 GROTTO_EXIT_LIST -8040496A .byt:0001 -8040496A CURRENT_GROTTO_ID -8040496C scene_exit_hook -804049A0 @@normal -804049C4 @@return -804049CC grotto_entrance -80404A0C @@return -80404A14 handle_grotto_load -80404A5C @@return -80404A64 deku_mouth_condition -80404A98 @@mouth_open -80404AA0 @@mouth_closed -80404AA8 .dbl:0018 -80404AA8 AUDIO_THREAD_INFO -80404AC0 .dbl:0004 -80404AC0 AUDIO_THREAD_INFO_MEM_START -80404AC4 .dbl:0004 -80404AC4 AUDIO_THREAD_INFO_MEM_SIZE -80404AD0 .byt:0A00 -80404AD0 AUDIOBANK_TABLE_EXTENDED -804054D0 .byt:00A0 -804054D0 FONTLOADSTATUS_EXTENDED -80405570 AudioLoad_SyncLoadFont_StatusHack -80405584 get_audio_pointers -804055A0 .byt:0001 -804055A0 MOVED_ADULT_KING_ZORA -804055A4 kz_moved_check -804055D0 @@return_false -804055D8 @@return_true -804055E0 kz_no_timer -804055F4 @@return -804055FC kz_store_is_trading -8040560C kz_reset_trade_flag -80405618 prevent_carpenter_boss_softlock -80405650 @@return -80405658 .byt:0001 -80405658 START_TWINROVA_FIGHT -8040565C .dbl:0004 -8040565C TWINROVA_ACTION_TIMER -80405660 rova_check_pos -804056A4 @@return -804056B0 twinrova_displaced -804056D0 rova_portal -80405748 @@disappear -80405764 @@return -80405780 twinrova_set_action_ice -804057B8 twinrova_set_action_fire -804057F0 twinrova_rise -80405828 @@skip_incr -80405854 @@rova1 -8040585C @@no_laugh -804058B4 @@start_fight +804036FC logic_chus__carpet_dude_1 +8040372C @@return +80403734 logic_chus__carpet_dude_2 +80403774 @@not_enough_rupees +8040377C @@return +80403788 chu_drop_draw +804037A4 @@return +804037AC rainbow_bridge +804037E8 @@open +804037F4 @@medallions +80403810 @@medallions_1 +80403820 @@medallions_2 +80403830 @@medallions_3 +80403840 @@medallions_4 +80403850 @@medallions_5 +80403860 @@medallions_6 +80403868 @@dungeons +80403888 @@dungeons_1 +80403898 @@dungeons_2 +804038A8 @@dungeons_3 +804038B8 @@dungeons_4 +804038C8 @@dungeons_5 +804038D8 @@dungeons_6 +804038EC @@dungeons_7 +80403900 @@dungeons_8 +80403914 @@dungeons_9 +8040391C @@stones +8040393C @@stones_1 +80403950 @@stones_2 +80403964 @@stones_3 +8040396C @@tokens +80403978 @@hearts +8040397C @@count +80403990 @@vanilla +804039B4 @@return +804039BC lacs_condition_check +804039F0 @@vanilla +80403A04 @@return_vanilla +80403A0C @@medallions +80403A28 @@medallions_1 +80403A38 @@medallions_2 +80403A48 @@medallions_3 +80403A58 @@medallions_4 +80403A68 @@medallions_5 +80403A78 @@medallions_6 +80403A80 @@dungeons +80403AA0 @@dungeons_1 +80403AB0 @@dungeons_2 +80403AC0 @@dungeons_3 +80403AD0 @@dungeons_4 +80403AE0 @@dungeons_5 +80403AF0 @@dungeons_6 +80403B04 @@dungeons_7 +80403B18 @@dungeons_8 +80403B2C @@dungeons_9 +80403B34 @@stones +80403B54 @@stones_1 +80403B68 @@stones_2 +80403B7C @@stones_3 +80403B84 @@tokens +80403B90 @@hearts +80403B94 @@count +80403BB0 @@return_count +80403BB8 gossip_hints +80403BEC @@not_grotto +80403C10 @@always_hint +80403C18 @@stone_of_agony +80403C30 @@default +80403C44 @@no_hint +80403C48 @@return +80403C5C .byt:0001 +80403C5C SHUFFLE_GRANNYS_POTION_SHOP +80403C60 potion_shop_fix +80403CAC @@return +80403CD0 potion_shop_buy_hook +80403CF8 @@return_buy_hook +80403D00 potion_shop_check_empty_bottle +80403D20 @@return_bottle +80403D2C jabu_elevator +80403D84 @@bottom +80403D88 @@return +80403D9C dampe_fix +80403DD0 @@received_hp +80403DD4 @@no_hp +80403DD8 @@return +80403DE0 dpad_draw +80403E04 .dbl:0004 +80403E04 CHEST_LENS_ONLY +80403E08 GET_CHEST_OVERRIDE_WRAPPER +80403E50 HIDE_CHEST_WITH_INVERTED_LENS +80403EB4 @@return_hide +80403EC0 @@return_draw +80403EC8 SHOW_CHEST_WITH_INVERTED_LENS +80403F38 @@return_draw_show +80403F40 red_ice_alpha +80403F80 @@return +80403F88 .dbl:0004 +80403F88 SPEED_MULTIPLIER +80403F8C bunny_hood +80403FF8 @@return +80404008 magic_colors +80404038 shop_cursor_colors +804040A0 apply_color_delta +804040BC @@small_delta +804040C0 @@after_delta +804040C8 .dbl:0004 +804040C8 DEBUG_OFFSET +804040CC extended_object_lookup_GI +804040D8 @@normal_item +804040E4 @@extended_item +804040F4 extended_object_lookup_load +80404104 @@normal_item +80404110 @@extended_item +80404120 extended_object_lookup_shop +8040413C @@normal_item +80404148 @@extended_item +80404158 extended_object_lookup_shop_unpause +80404168 @@normal_item +80404174 @@extended_item +80404180 @@return +80404190 cow_item_hook +804041D0 @@return +804041D8 cow_bottle_check +80404218 @@bottle_check +80404220 @@return +80404238 cow_after_init +8040424C @@return +80404254 .wrd:0010 +80404254 Gossip_Actor +80404264 Hit_Gossip_Stone +804042A0 @@trigger_fill +804042B4 @@show_time +804042BC @@return +804042CC Check_Fill_Lake +804042D8 Fill_Lake_Destroy +804042FC @@setup_fill_control +80404338 @@destroy +80404340 @@return +80404348 Fill_Lake +8040438C @@morpha_dead +804043B0 @@no_trigger +804043BC @@filling +804043E4 @@draining +80404408 @@check_fill_max +80404420 @@skip_fill_update +8040444C @@return +80404460 disable_trade_timers +80404490 @@return +80404498 shooting_gallery_init +804044AC @@child +804044C0 @@adult +804044D4 @@return +804044DC .byt:0001 +804044DC CFG_DAMAGE_MULTIPLYER +804044DD .byt:0001 +804044DD EXTERN_DAMAGE_MULTIPLYER +804044E0 Apply_Damage_Multiplier +80404510 @@MulDamage +80404518 @@ohko +80404520 @@DivDamage +80404528 @@DoubleDefence +80404540 @@return +80404548 .dbl:0004 +80404548 CFG_DEADLY_BONKS +8040454C .wrd:0002 +8040454C CFG_BONK_DAMAGE +80404550 BONK_LAST_FRAME +80404570 @@return_bonk_frame +80404588 SET_BONK_FLAG +804045AC @@return_bonk_flag +804045B4 CHECK_FOR_BONK_CANCEL +804045F8 @@return_bonk_check +80404604 APPLY_BONK_DAMAGE +8040464C @@normal_defense +80404664 @@bonks_kill +80404668 @@cmg_entrance_hack +804046A8 @@return_bonk +804046B0 KING_DODONGO_BONKS +804046D4 @@return_bonk_kd +804046E4 CHECK_ROOM_MESH_TYPE +80404718 @@return_death_subcamera +80404720 .byt:0001 +80404720 SHUFFLE_BEANS +80404724 bean_initial_check +80404754 @@return +8040475C bean_enough_rupees_check +80404774 @@return +8040477C bean_rupees_taken +80404794 @@return +8040479C bean_buy_item_hook +804047BC @@return +804047C4 .byt:0084 +804047C4 GROTTO_LOAD_TABLE +80404848 .byt:0042 +80404848 GROTTO_EXIT_LIST +8040488A .byt:0001 +8040488A CURRENT_GROTTO_ID +8040488C scene_exit_hook +804048C0 @@normal +804048E4 @@return +804048EC grotto_entrance +8040492C @@return +80404934 handle_grotto_load +8040497C @@return +80404984 deku_mouth_condition +804049B8 @@mouth_open +804049C0 @@mouth_closed +804049C8 .dbl:0018 +804049C8 AUDIO_THREAD_INFO +804049E0 .dbl:0004 +804049E0 AUDIO_THREAD_INFO_MEM_START +804049E4 .dbl:0004 +804049E4 AUDIO_THREAD_INFO_MEM_SIZE +804049F0 .byt:0A00 +804049F0 AUDIOBANK_TABLE_EXTENDED +804053F0 .byt:00A0 +804053F0 FONTLOADSTATUS_EXTENDED +80405490 AudioLoad_SyncLoadFont_StatusHack +804054A4 get_audio_pointers +804054C0 .byt:0001 +804054C0 MOVED_ADULT_KING_ZORA +804054C4 kz_moved_check +804054F0 @@return_false +804054F8 @@return_true +80405500 kz_no_timer +80405514 @@return +8040551C kz_store_is_trading +8040552C kz_reset_trade_flag +80405538 prevent_carpenter_boss_softlock +80405570 @@return +80405578 .byt:0001 +80405578 START_TWINROVA_FIGHT +8040557C .dbl:0004 +8040557C TWINROVA_ACTION_TIMER +80405580 rova_check_pos +804055C4 @@return +804055D0 twinrova_displaced +804055F0 rova_portal +80405668 @@disappear +80405684 @@return +804056A0 twinrova_set_action_ice +804056D8 twinrova_set_action_fire +80405710 twinrova_rise +80405748 @@skip_incr +80405774 @@rova1 +8040577C @@no_laugh +804057D4 @@start_fight +804057EC @@return +804057F8 ice_pos +80405808 fire_pos +80405818 clear_boomerang_pointer +8040582C skip_3_up_main +80405848 @@return +80405858 skip_3_down_main +80405874 @@return +80405884 skip_3_up_copy_from +804058A0 @@return +804058B0 skip_3_down_copy_from 804058CC @@return -804058D8 ice_pos -804058E8 fire_pos -804058F8 clear_boomerang_pointer -8040590C skip_3_up_main -80405928 @@return -80405938 skip_3_down_main -80405954 @@return -80405964 skip_3_up_copy_from -80405980 @@return -80405990 skip_3_down_copy_from -804059AC @@return -804059BC skip_3_up_copy_to -804059D8 @@return -804059E8 skip_3_down_copy_to -80405A04 @@return -80405A14 skip_3_down_copy_to_2 -80405A30 @@return -80405A40 skip_3_up_erase -80405A5C @@return -80405A6C skip_3_down_erase -80405A88 @@return -80405A98 move_file_3 -80405AB0 zelda_check_anim +804058DC skip_3_up_copy_to +804058F8 @@return +80405908 skip_3_down_copy_to +80405924 @@return +80405934 skip_3_down_copy_to_2 +80405950 @@return +80405960 skip_3_up_erase +8040597C @@return +8040598C skip_3_down_erase +804059A8 @@return +804059B8 move_file_3 +804059D0 display_controls_texture +804059EC @@return +804059F4 zelda_check_anim +80405A1C @@return +80405A24 override_changelinkanimdefaultstop +80405A78 @@skip +80405A98 malon_goto_item +80405AB0 @@return +80405AB8 malon_handle_staff 80405AD8 @@return -80405AE0 override_changelinkanimdefaultstop -80405B34 @@skip -80405B54 malon_goto_item -80405B6C @@return -80405B74 malon_handle_staff -80405B94 @@return -80405BA0 malon_ra_displaced -80405BB0 malon_songs_as_items -80405BC4 @@return -80405BD4 malon_check_give_item -80405C00 @@return -80405C0C malon_show_text -80405C54 @@return -80405C68 .byt:0001 -80405C68 MALON_GAVE_ICETRAP -80405C6C malon_reload -80405CB4 @@malon_gave_ice_trap -80405CD4 @@check_text -80405CFC @@reload -80405D40 @@return -80405D4C drop_ruto -80405DB8 @@return -80405DE0 check_kill_demoeffect -80405E30 @@return -80405E4C agony_distance_hook -80405E70 @@inside_radius -80405E80 @@outside_radius -80405E88 @@done -80405EB4 agony_vibrate_hook -80405EE4 @@done -80405F14 agony_post_hook -80405F2C .byt:0001 -80405F2C CHAIN_HBA_REWARDS -80405F30 handle_hba_rewards_chain -80405F8C @@return -80405F94 stick_as_adult -80405FB0 @@return -80405FBC masks_as_adult -80405FD8 @@return -80405FE4 .byt:0001 -80405FE4 SHUFFLE_CARPET_SALESMAN -80405FE8 carpet_inital_message -80406010 @@return -80406018 carpet_buy_item_hook -80406038 @@return -80406040 .byt:0001 -80406040 SHUFFLE_MEDIGORON -80406044 medigoron_inital_check -80406084 @@return -8040608C medigoron_buy_item_hook -804060AC @@return -804060B4 bombchu_back_color -804060DC kill_door_of_time_col -80406104 mask_check_trade_slot -8040612C @@return -80406134 .wrd:0002 -80406134 CFG_ADULT_TRADE_SHUFFLE -80406136 .wrd:0002 -80406136 CFG_CHILD_TRADE_SHUFFLE -80406138 .dbl:0004 -80406138 ADULT_ANJU_ITEM_DIALOG -8040613C check_fado_spawn_flags -80406170 @@return_fado -80406180 check_grog_spawn_flags -804061B0 @@return_grog -804061BC check_skull_kid_spawn_flags -80406204 check_if_biggoron_should_cry_eye_hook -8040622C @@vanilla_eye_hook -80406230 @@return_eye_hook -8040623C check_if_biggoron_should_cry_anim_hook -80406264 @@vanilla_anim_hook -80406270 @@return_anim_hook -8040627C check_if_biggoron_should_cry_sfx_hook -804062A8 @@vanilla_sfx_hook -804062B4 @@return_sfx_hook -804062C4 check_if_biggoron_should_cry -804062F4 @@return_crybaby -80406310 check_claim_check_traded -80406358 @@return_claim_check -80406370 check_trade_item_traded -804063A4 @@check_trade_flags -804063C4 @@return_traded -804063DC update_shiftable_trade_item_egg_hook -804063F8 check_if_mask_sells_out -80406420 @@return_sold_out -80406428 check_cucco_lady_talk_exch_hook -8040645C check_cucco_lady_talk_none_hook -80406490 check_cucco_lady_exchange_id_hook -804064BC check_cucco_lady_flag_hook -804064EC set_keaton_mask_traded_flag -80406524 set_skull_mask_traded_flag -80406558 set_spooky_mask_traded_flag -8040658C set_bunny_hood_traded_flag -804065C0 handle_child_zelda_savewarp -804065D0 @@revert_child_trade_item -804065E4 @@c_button_loop -804065FC @@skip_c_button -80406604 @@return -8040660C check_zelda_cutscene_watched -80406628 @@give_letter -80406648 @@skip_letter -8040667C @@return -8040668C blue_fire_arrows -804066A0 @@return -804066A8 offer_jail_hook -804066C0 offer_jail_normal_white_guard -80406744 @@first_response -80406760 @@second_response -80406774 @@end_switch -80406778 @@return -80406788 open_save_hook -804067F8 obj_mure3_hack -80406814 obj_mure3_hack_end -80406820 obj_mure3_redrupee_hack -8040683C obj_mure3_redrupee_hack_end -80406844 bg_haka_tubo_hack -80406860 bh_haka_tubo_hack_end -80406868 bg_spot18_basket_bombs_hack -80406884 bg_spot18_basket_bombs_end -8040688C bg_spot18_basket_rupees_hack -804068B0 bg_spot18_basket_rupees_end -804068BC bg_spot18_basket_drop_heartpiece_rupees -804068E8 bg_spot18_basket_drop_heartpiece_redrupee_end -80406904 bg_spot18_basket_drop_heartpiece_bluerupee -80406920 bg_spot18_basket_drop_heartpiece_bluerupee_end -8040693C bg_spot18_basket_drop_heartpiece_rupees_end -80406948 obj_comb_hook -80406960 .wrd:0002 -80406960 CURR_ACTOR_SPAWN_INDEX -80406962 .wrd:0002 -80406964 Actor_SetWorldToHome_Hook -80406980 Actor_UpdateAll_Hook -804069C8 @@call_hack -804069D8 @@end -80406A04 EnWonderItem_Multitag_DrawHook -80406AA0 EnWonderItem_MultitagOrdered_DrawHook -80406B40 EnWonderItem_Update_Hook -80406B80 rand_seed_truth_spinner -80406BA4 set_message_file_to_search -80406BD4 load_correct_message_segment -80406C0C Message_Decode_Control_Code_Hook -80406C24 @not_newline -80406C88 @no_match -80406C90 shooting_gallery_no_bow -80406CBC .byt:0001 -80406CBC CFG_MASK_AUTOEQUIP -80406CC0 player_save_mask -80406CE0 @@return -80406CEC player_restore_mask -80406D14 @@return -80406D3C gohma_climb -80406D4C camera_init -80406D5C .byt:0001 -80406D5C SHUFFLE_CHEST_GAME -80406D60 chestgame_buy_item_hook -80406D80 @@return -80406D88 chestgame_initial_message -80406DB4 @@return -80406DBC chestgame_no_reset_flag -80406DD4 @@return -80406DDC chestgame_no_reset_keys -80406DF4 @@return -80406DFC chestgame_remove_chest_rng -80406E1C @@chestgame_run_chest_rng -80406E24 chestgame_open_chests_separately -80406E40 @@return -80406E48 chestgame_delayed_chest_open -80406E60 @@return -80406E68 EnItem00_ProximityCheck_Hook -80406EB8 volvagia_flying_hitbox -80406ED0 @@return -80406ED8 move_key_icon -80406EF4 @@return_icon -80406EFC move_key_counter -80406F18 @@return_counter -80406F20 en_am_calculation_1 -80406F34 en_am_calculation_2 -80406F48 ocarina_buttons -80406F88 @@button_cup -80406FA0 @@button_cdown -80406FB8 @@button_cleft -80406FD0 @@button_cright -80406FE8 @@return -80407004 fairy_ocarina_getitem_override -80407030 after_spawn_override_silver_rupee,00000018 -80407048 Actor_SetWorldToHome_End,00000060 -804070A8 Actor_StoreFlagInRotation,00000080 -80407128 Actor_StoreChestType,00000170 -80407298 Actor_After_UpdateAll_Hack,0000005C -804072F4 spawn_override_silver_rupee,000000F0 -804073E4 Actor_SpawnEntry_Hack,0000010C -804074F0 Player_SpawnEntry_Hack,000000B8 -804075A8 agony_inside_radius_setup,00000008 -804075B0 agony_outside_radius_setup,0000002C -804075DC agony_vibrate_setup,00000034 -80407610 draw_agony_graphic,00000158 -80407768 draw_agony,000001D8 -80407940 select_bombchu_bowling_prize,00000190 -80407AD0 set_bombchu_bowling_prize_flag,0000002C -80407AFC get_chest_override,00000148 -80407C44 get_chest_type,00000024 -80407C68 set_chest_texture,00000224 -80407E8C draw_chest_base,000000FC -80407F88 draw_chest_lid,000000FC -80408084 draw_chest,00000048 -804080CC should_draw_forest_hallway_chest,000000A4 -80408170 get_dummy_chest,00000014 -80408184 draw_forest_hallway_chest_base,00000074 -804081F8 draw_forest_hallway_chest_lid,000000D4 -804082CC draw_debug_int,00000038 -80408304 draw_debug_float,00000038 -8040833C debug_utilities,00000008 -80408344 debug_menu_is_drawn,0000000C -80408350 draw_debug_menu,0000108C -804093DC draw_int_helper,000001E8 -804095C4 draw_debug_numbers,000003A8 -8040996C handle_dpad,000006F8 -8040A064 draw_dpad_and_menu_utilities,000012B8 -8040B31C draw_background,00000128 -8040B444 d_right_dungeon_idx,0000005C -8040B4A0 draw_silver_rupee_count,00000328 -8040B7C8 is_bk_displayed,00000084 -8040B84C draw_boss_key,000000FC -8040B948 draw_dungeon_info,00002028 -8040D970 dungeon_info_is_drawn,0000000C -8040D97C EnItem00_OutgoingAction,000000C8 -8040DA44 EnItem00_ProximityCheck_Hack,00000088 -8040DACC EnWonderitem_AfterInitHack,000000A4 -8040DB70 EnWonderItem_Multitag_DrawHack,000000A4 -8040DC14 EnWonderItem_DropCollectible_Hack,0000021C -8040DE30 EnWonderItem_Update_Hack,00000098 -8040DEC8 EnWonderItem_Kill_Hack,000000B8 -8040DF80 interpolate,00000064 -8040DFE4 extern_scene_init,00000018 -8040DFFC process_extern_ctxt,00000290 -8040E3FC populate_variable,0000022C -8040E628 read_file_data,0000034C -8040E974 draw_file_icons,00000EF0 -8040F8B4 draw_file_message,0000025C -8040FB10 draw_file_select_hash,00000244 -8040FD54 check_ganon_entry,00000048 -8040FD9C countSetBitsRec,00000054 -8040FDF0 give_ganon_boss_key,00000158 -8040FF48 Collectible_WaitForMessageBox,00000074 -8040FFBC override_flags_init,0000002C -8040FFE8 item_overrides_init,0000007C -80410064 lookup_override_by_key,000000D0 -80410134 resolve_alternative_override,00000040 -80410174 get_override_search_key,00000188 -804102FC lookup_override,00000054 -80410350 activate_override,0000013C -8041048C clear_override,00000054 -804104E0 push_outgoing_override,000000B0 -80410590 move_outgoing_queue,0000008C -8041061C push_pending_item,00000090 -804106AC push_coop_item,00000068 -80410714 push_delayed_item,00000044 -80410758 pop_pending_item,00000034 -8041078C after_key_received,00000070 -804107FC pop_ice_trap,0000006C -80410868 after_item_received,0000007C -804108E4 try_pending_item,000000D0 -804109B4 handle_pending_items,000001E0 -80410B94 get_item,0000028C -80410E20 reset_collectible_mutex,0000000C -80410E2C get_collectible_flag_offset,000000F0 -80410F1C Get_CollectibleOverrideFlag,000000CC -80410FE8 Set_CollectibleOverrideFlag,0000008C -80411074 Item_DropCollectible_Room_Hack,00000064 -804110D8 Room_Change_Actor_Kill_Hack,00000054 -8041112C Item_DropCollectible_Actor_Spawn_Override,00000054 -80411180 Item00_KillActorIfFlagIsSet,00000110 -80411290 drop_bombs_or_chus,00000084 -80411314 get_override_drop_id,000002C8 -804115DC dispatch_item,000000AC -80411688 item_give_collectible,0000029C -80411924 get_skulltula_token,000000D8 -804119FC give_sarias_gift,00000070 -80411A6C fairy_ocarina_getitem,000000B8 -80411B24 sprite_bytes_per_tile,00000064 -80411B88 sprite_bytes,00000030 -80411BB8 sprite_load,000002C8 -80411E80 sprite_texture,0000034C -804121CC sprite_texture_4b,0000031C -804124E8 sprite_draw,000000F8 -804125E0 gfx_init,00000238 -80412818 update_hud_colors,0000039C -80412BB4 rupee_hud_color,0000004C -80412C00 ice_trap_is_pending,00000014 -80412C14 push_pending_ice_trap,00000018 -80412C2C give_ice_trap,00000088 -80412CB4 draw_x_stick,00000048 -80412CFC draw_y_stick,00000074 -80412D70 draw_a,000000D0 -80412E40 draw_b,000000D4 -80412F14 draw_start,000000C4 -80412FD8 draw_cdown,000000D4 -804130AC draw_cup,000000D4 -80413180 draw_cleft,000000D4 -80413254 draw_cright,000000D4 -80413328 draw_z,000000A4 -804133CC draw_l,000000A4 -80413470 draw_r,000000A4 -80413514 draw_ddown,000000A4 -804135B8 draw_dup,000000A4 -8041365C draw_dleft,000000A4 -80413700 draw_dright,000000A4 -804137A4 draw_input_viewer,000000AC -80413850 draw_gi_bombchu_and_masks,0000009C -804138EC draw_gi_eggs_and_medallions,000000C0 -804139AC draw_gi_sold_out,000000A4 -80413A50 draw_gi_compass,00000120 -80413B70 draw_gi_various_opa0,0000009C -80413C0C draw_gi_various_opa1023,000000F0 -80413CFC draw_gi_wallets,00000150 -80413E4C draw_gi_silver_rupee_pouch,0000018C -80413FD8 draw_gi_various_xlu01,000000C0 -80414098 draw_gi_various_opa0_xlu1,00000118 -804141B0 draw_rutos_letter,0000012C -804142DC draw_gi_coins_and_cuccos,00000130 -8041440C draw_gi_magic_arrows,0000012C -80414538 draw_gi_various_opa10_xlu32,00000144 -8041467C draw_gi_bullet_bags,0000015C -804147D8 draw_gi_small_rupees,00000160 -80414938 draw_gi_goron_swords,00000108 -80414A40 draw_gi_deku_nut,00000114 -80414B54 draw_gi_recovery_heart,00000118 -80414C6C draw_gi_fish_bottle,00000108 -80414D74 draw_gi_magic_spells,00000154 -80414EC8 draw_bronze_scale,00000174 -8041503C draw_gi_scales,0000016C -804151A8 draw_gi_potions,000001D0 -80415378 draw_gi_mirror_shield,000001A4 -8041551C draw_gi_gs_token,0000018C -804156A8 draw_gi_blue_fire_candle,000001D0 -80415878 draw_gi_fairy_lantern,000001EC -80415A64 draw_gi_poe_bottles,00000208 -80415C6C draw_gi_song_notes,0000013C -80415DA8 draw_gi_small_keys,0000019C -80415F44 draw_gi_shrink_keys,000001DC -80416120 draw_gi_boss_keys,000002D4 -804163F4 draw_gi_boss_altered,000002D4 -804166C8 draw_gi_boss_altflip,000002D4 -8041699C draw_gi_chubag,000002D8 -80416C74 draw_gi_a_button,00000138 -80416DAC draw_gi_c_button_vertical,00000190 -80416F3C draw_gi_c_button_horizontal,00000190 -804170CC base_draw_gi_model,00000038 -80417104 no_effect,00000008 -8041710C full_heal,0000000C -80417118 give_triforce_piece,000000BC -804171D4 give_tycoon_wallet,00000038 -8041720C give_biggoron_sword,0000000C -80417218 give_bottle,00000038 -80417250 give_dungeon_item,00000014 -80417264 give_small_key,00000094 -804172F8 give_small_key_ring,000000C8 -804173C0 set_silver_rupee_flags,000000F0 -804174B0 give_silver_rupee,00000090 -80417540 give_silver_rupee_pouch,000000C4 -80417604 give_defense,0000001C -80417620 give_magic,0000001C -8041763C give_double_magic,00000024 -80417660 give_fairy_ocarina,0000000C -8041766C give_song,00000018 -80417684 ice_trap_effect,0000001C -804176A0 give_bean_pack,00000018 -804176B8 fill_wallet_upgrade,0000002C -804176E4 clear_excess_hearts,0000001C -80417700 open_mask_shop,00000090 -80417790 give_bombchus,00000018 -804177A8 trade_quest_upgrade,0000001C -804177C4 unlock_ocarina_note,0000007C -80417840 give_progressive_scale,0000006C -804178AC resolve_text_silver_rupees,000000B0 -8041795C resolve_text_silver_rupee_pouches,0000008C -804179E8 resolve_text_small_keys,00000088 -80417A70 resolve_text_small_keys_cmg,00000034 -80417AA4 resolve_text_keyrings,0000003C -80417AE0 get_item_row,0000003C -80417B1C resolve_item_text_id,00000030 -80417B4C resolve_upgrades,00000050 -80417B9C call_effect_function,0000002C -80417BC8 no_upgrade,00000014 -80417BDC hookshot_upgrade,00000078 -80417C54 strength_upgrade,00000080 -80417CD4 bomb_bag_upgrade,00000084 -80417D58 bow_upgrade,00000080 -80417DD8 slingshot_upgrade,00000084 -80417E5C wallet_upgrade,00000084 -80417EE0 scale_upgrade,00000080 -80417F60 nut_upgrade,00000070 -80417FD0 stick_upgrade,00000070 -80418040 magic_upgrade,00000068 -804180A8 bombchu_upgrade,0000003C -804180E4 ocarina_upgrade,0000007C -80418160 arrows_to_rupee,00000080 -804181E0 bombs_to_rupee,00000080 -80418260 seeds_to_rupee,00000088 -804182E8 letter_to_bottle,00000080 -80418368 health_upgrade_cap,00000040 -804183A8 bombchus_to_bag,000000B4 -8041845C upgrade_key_model,00000050 -804184AC KaleidoScope_DrawItemSelect,00000DF0 -8041929C c_init,0000004C -804192E8 before_game_state_update,00000054 -8041933C after_game_state_update,000000AC -804193E8 before_skybox_init,0000003C -80419424 after_scene_init,0000004C -80419470 c_equipment_menu_slot_filled,00000100 -80419570 Message_AddCharacter,00000090 -80419600 Message_AddInteger,000000F0 -804196F0 Message_AddString,00000084 -80419774 Message_AddFileName,000000E8 -8041985C Message_Decode_Additional_Control_Codes,0000014C -804199A8 shooting_gallery_message,00000044 -804199EC display_misc_messages,00000070 -80419A5C update_sword_trail_colors,000000A4 -80419B00 update_boomerang_trail_colors,000001A4 -80419CA4 update_bombchu_trail_colors,00000274 -80419F18 get_bombchu_back_color,00000274 -8041A18C update_navi_colors,00000224 -8041A3B0 update_tunic_colors,000000B0 -8041A460 update_misc_colors,00000048 -8041A4A8 draw_illegal_model_text,00000214 -8041A6BC FindModelData,00000170 -8041A82C FindSize,00000074 -8041A8A0 FindHierarchy,000000E0 -8041A980 check_skeleton,000000EC -8041AA6C check_model_skeletons,00000238 -8041ACA4 load_object_file,0000006C -8041AD10 load_object,00000028 -8041AD38 get_object,00000060 -8041AD98 set_object_segment,0000004C -8041ADE4 scale_top_matrix,00000068 -8041AE4C draw_model_low_level,00000078 -8041AEC4 scale_factor,00000054 -8041AF18 draw_model,000000A8 -8041AFC0 models_init,0000004C -8041B00C models_reset,00000024 -8041B030 lookup_model_by_override,00000084 -8041B0B4 lookup_model,0000004C -8041B100 shop_draw,000000E8 -8041B1E8 collectible_draw,000000C0 -8041B2A8 heart_piece_draw,00000064 -8041B30C collectible_draw_other,00000100 -8041B40C heart_container_draw,00000064 -8041B470 skull_token_draw,00000064 -8041B4D4 ocarina_of_time_draw,00000064 -8041B538 item_etcetera_draw,000002D0 -8041B808 bowling_bomb_bag_draw,00000140 -8041B948 bowling_heart_piece_draw,00000064 -8041B9AC Health_IsCritical,0000005C -8041BA08 manage_music_changes,00000178 -8041BB80 are_song_displayed,00000010 -8041BB90 display_song_name,00000358 -8041BEE8 display_song_name_on_file_select,000000F8 -8041BFE0 get_beehive_override,000000EC -8041C0CC obj_comb_drop_collectible,0000010C -8041C1D8 ObjComb_Update,000000EC -8041C2C4 get_smallcrate_override,000000B4 -8041C378 ObjKibako_Draw,000001B4 -8041C52C ObjKibako_SpawnCollectible_Hack,00000064 -8041C590 ObjKibako2_SpawnCollectible_Hack,0000006C -8041C5FC get_crate_override,000000B4 -8041C6B0 ObjKibako2_Draw,000001C4 -8041C874 object_index_or_spawn,00000078 -8041C8EC enitem00_set_link_incoming_item_id,000000AC -8041C998 c_block_ocarina,0000004C -8041C9E4 can_spawn_epona,00000044 -8041CA28 get_pot_override,000000B4 -8041CADC get_flying_pot_override,000000B4 -8041CB90 draw_pot,00000270 -8041CE00 draw_pot_hack,0000001C -8041CE1C draw_hba_pot_hack,00000030 -8041CE4C draw_flying_pot_hack,0000001C -8041CE68 ObjTsubo_SpawnCollectible_Hack,00000068 -8041CED0 EnTuboTrap_DropCollectible_Hack,00000068 -8041CF38 get_rainbow_color,0000022C -8041D164 health_and_magic_refill,00000028 -8041D18C Seeded_Rand_Next,0000002C -8041D1B8 Seeded_Rand_Seed,0000000C -8041D1C4 Seeded_Reset,00000014 -8041D1D8 Seeded_Rand_ZeroOne,00000048 -8041D220 Seeded_Rand_Centered,00000048 -8041D268 Save_Open,000000B0 -8041D318 SsSram_ReadWrite_Safe,00000030 -8041D348 Sram_WriteSave,00000214 -8041D55C Sram_VerifyAndLoadAllSaves,00000638 -8041DB94 Sram_CopySave,000001D0 -8041DD64 Save_Write_Hook,00000074 -8041DDD8 Save_Init_Write_Hook,000000B8 -8041DE90 store_scarecrow_fix,00000048 -8041DED8 get_current_scene_setup_number,000000C8 -8041DFA0 set_new_respawn,000001FC -8041E19C manage_swim,000000C0 -8041E25C text_init,0000002C -8041E288 text_print_size,000000A8 -8041E330 text_print,00000020 -8041E350 text_flush_size,00000170 -8041E4C0 text_flush,00000030 -8041E4F0 draw_int_size,000001E0 -8041E6D0 draw_int,00000030 -8041E700 get_texture,00000018 -8041E718 init_textures,00000054 -8041E76C GetTradeItemIndex,00000020 -8041E78C GetTradeItemByAP,0000004C -8041E7D8 GetTradeSlot,0000003C -8041E814 GetTradeItemMin,00000018 -8041E82C GetTradeItemMax,00000018 -8041E844 IsTradeItem,0000002C -8041E870 IsAdultTradeItem,00000024 -8041E894 SaveFile_SetTradeItemAsOwned,00000038 -8041E8CC SaveFile_UnsetTradeItemAsOwned,0000003C -8041E908 SaveFile_TradeItemIsOwned,00000038 -8041E940 SaveFile_UpdateShiftableItem,00000078 -8041E9B8 SaveFile_SetTradeItemAsTraded,00000038 -8041E9F0 SaveFile_UnsetTradeItemAsTraded,0000003C -8041EA2C SaveFile_TradeItemIsTraded,00000080 -8041EAAC SaveFile_SetMaskAsPaid,0000003C -8041EAE8 SaveFile_MaskIsPaid,0000003C -8041EB24 SaveFile_NextOwnedTradeItem,000000AC -8041EBD0 SaveFile_PrevOwnedTradeItem,000000AC -8041EC7C UpdateTradeEquips,000000FC -8041ED78 TurnInTradeItem,00000044 -8041EDBC IsClaimCheckTraded,0000001C -8041EDD8 IsTradeItemTraded,00000070 -8041EE48 Inventory_ReplaceItem_Override,00000128 -8041EF70 SetBiggoronAnimationState,00000068 -8041EFD8 ShouldSkullKidSpawn,0000005C -8041F034 IsCuccoGivenToCuccoLady,00000018 -8041F04C SetupMaskShopHelloDialogOverride,00000154 -8041F1A0 TryPaybackMaskOverride,00000268 -8041F408 CanBuy_RightSideMask,00000040 -8041F448 set_triforce_render,00000028 -8041F470 draw_triforce_count,00000508 -8041F978 clear_twinrova_vars,00000014 -8041F98C manage_uninvert_yaxis,0000008C -8041FA18 heap_init,00000014 -8041FA2C heap_alloc,0000003C -8041FA68 file_init,00000044 -8041FAAC override_weather_state,00000240 -8041FD46 .byt:0001 -8041FD46 debug_text_height -8041FD47 .byt:0001 -8041FD47 debug_text_width -8041FDA4 .byt:0042 -8041FDA4 freecam_modes -8041FE74 .byt:000C -8041FE74 icon_sprites -8041FEDC .byt:000C -8041FEDC rupee_colors -8041FEE8 .byt:0006 -8041FEE8 defaultDDHeart -8041FEF0 .byt:0006 -8041FEF0 defaultHeart -8041FEFC .byt:0002 -8041FEFC top_alignment -8041FEFE .byt:0002 -8041FEFE left_alignment -8041FF00 .byt:0001 -8041FF00 input_number_height -8041FF01 .byt:0001 -8041FF01 input_number_width -8041FF02 .byt:0001 -8041FF02 input_icon_height -8041FF03 .byt:0001 -8041FF03 input_icon_width -8041FFC0 .byt:0004 -8041FFC0 text_height -8041FFC4 .byt:0004 -8041FFC4 text_width -80420174 .byt:0268 -80420174 trade_quest_items -80420400 DPAD_RESOURCE -80420C00 DPAD_RESOURCE_END -80420C00 FONT_RESOURCE -804220C8 FONT_RESOURCE_END -804220C8 TRIFORCE_SPRITE_RESOURCE -804230C8 TRIFORCE_SPRITE_RESOURCE_END -804230CC .byt:03DA -804230CC items_debug -804234A8 .byt:0154 -804234A8 bosses_warps -804235FC .byt:0286 -804235FC overworld_warps -80423884 .byt:01BA -80423884 dungeon_warps -80423A40 .byt:0060 -80423A40 menu_categories -80423AA0 .byt:0001 -80423AA0 float_precision -80423AA4 .byt:0003 -80423AA4 debug_text_color -80423AA8 .byt:0009 -80423AA8 reward_rows -80423AB4 .byt:0018 -80423AB4 medals -80423ACC .byt:0134 -80423ACC dungeons -80423C00 .byt:0004 -80423C00 dungeon_count -80423C30 .byt:0014 -80423C30 extern_ctxt -80423C44 .byt:0004 -80423C44 last_fog_distance -80423C48 .byt:0004 -80423C48 scene_fog_distance -80423D6C .byt:0040 -80423D6C hash_symbols -80423DAC .byt:0008 -80423DAC hash_sprites -80423DB4 .byt:0040 -80423DB4 num_to_bits -80423DF4 .byt:0015 -80423DF4 items -80423E10 .byt:0010 -80423E10 buttons_sprite -80423E20 .byt:0010 -80423E20 ocarina_button_sprite -80423E30 .byt:0010 -80423E30 heart_sprite -80423E40 .byt:0010 -80423E40 linkhead_skull_sprite -80423E50 .byt:0010 -80423E50 item_digit_sprite -80423E60 .byt:0010 -80423E60 rupee_digit_sprite -80423E70 .byt:0010 -80423E70 key_rupee_clock_sprite -80423E80 .byt:0010 -80423E80 song_note_sprite -80423E90 .byt:0010 -80423E90 triforce_sprite -80423EA0 .byt:0010 -80423EA0 dpad_sprite -80423EB0 .byt:0010 -80423EB0 font_sprite -80423EC0 .byt:0010 -80423EC0 quest_items_sprite -80423ED0 .byt:0010 -80423ED0 items_sprite -80423EE0 .byt:0010 -80423EE0 medals_sprite -80423EF0 .byt:0010 -80423EF0 stones_sprite -80423F00 .byt:0008 -80423F00 empty_dlist -80423F08 .byt:0028 -80423F08 setup_db -80423F30 .byt:0004 -80423F30 text_cursor_border_max -80423F34 .byt:0004 -80423F34 text_cursor_border_base -80423F38 .byt:0004 -80423F38 text_cursor_inner_max -80423F3C .byt:0004 -80423F3C text_cursor_inner_base -80423F40 .byt:0004 -80423F40 c_note_font_glow_max -80423F44 .byt:0004 -80423F44 c_note_font_glow_base -80423F48 .byt:0004 -80423F48 c_note_glow_max -80423F4C .byt:0004 -80423F4C c_note_glow_base -80423F50 .byt:0004 -80423F50 a_note_font_glow_max -80423F54 .byt:0004 -80423F54 a_note_font_glow_base -80423F58 .byt:0004 -80423F58 a_note_glow_max -80423F5C .byt:0004 -80423F5C a_note_glow_base -80423F60 .byt:0004 -80423F60 c_note_b -80423F64 .byt:0004 -80423F64 c_note_g -80423F68 .byt:0004 -80423F68 c_note_r -80423F6C .byt:0004 -80423F6C a_note_b -80423F70 .byt:0004 -80423F70 a_note_g -80423F74 .byt:0004 -80423F74 a_note_r -80423F78 .byt:0004 -80423F78 c_button -80423F7C .byt:0004 -80423F7C b_button -80423F80 .byt:0004 -80423F80 a_button -80423F84 .byt:0004 -80423F84 normal_dd -80423F88 .byt:0004 -80423F88 beating_dd -80423F8C .byt:0004 -80423F8C normal_no_dd -80423F90 .byt:0004 -80423F90 beating_no_dd -80423FD8 .byt:14F4 -80423FD8 item_draw_table -804254CC .byt:0108 -804254CC silver_rupee_vars -804255D4 .byt:0022 -804255D4 key_counts -804255F8 .byt:215C -804255F8 item_table -80427754 .byt:0100 -80427754 FILENAME_ENCODING -80427854 .byt:00FC -80427854 childSkeleton -80427950 .byt:00FC -80427950 adultSkeleton -80427A4C .byt:00BC -80427A4C bgm_sequence_ids -80427B08 .byt:0004 -80427B08 RNG_SEED_INT -80427B0C .byt:0004 -80427B0C Sram_InitNewSave -80427B10 .byt:00C8 -80427B10 respawnsByScene -80427BD8 .byt:01F0 -80427BD8 texture_table -80427DC8 .byt:0004 -80427DC8 EXTRA_BOWLING_SHUFFLE -80427DCC .byt:0004 -80427DCC CHEST_SIZE_TEXTURE -80427DD0 .byt:0004 -80427DD0 CHEST_SIZE_MATCH_CONTENTS -80427DD4 .byt:0004 -80427DD4 CHEST_TEXTURE_MATCH_CONTENTS -80427DD8 .byt:0001 -80427DD8 menu_not_on_dup -80427E44 .byt:0001 -80427E44 bk_display -80427E88 .byt:0001 -80427E88 NO_ESCAPE_SEQUENCE -80427E8A .byt:0002 -80427E8A GANON_BOSS_KEY_CONDITION_COUNT -80427E8C .byt:0001 -80427E8C GANON_BOSS_KEY_CONDITION -80427E90 .byt:0010 -80427E90 collectible_override -80427EA0 .byt:0004 -80427EA0 collectible_mutex -80427EA4 .byt:0080 -80427EA4 outgoing_queue -80427F24 .byt:0004 -80427F24 collectible_override_flags -80427F28 .byt:0002 -80427F28 num_override_flags -80427F2C .byt:02D0 -80427F2C alt_overrides -804281FC .byt:03E8 -804281FC collectible_scene_flags_table -804285E4 .byt:0001 -804285E4 satisfied_pending_frames -804285E8 .byt:0004 -804285E8 active_item_fast_chest -804285EC .byt:0004 -804285EC active_item_graphic_id -804285F0 .byt:0004 -804285F0 active_item_object_id -804285F4 .byt:0004 -804285F4 active_item_text_id -804285F8 .byt:0004 -804285F8 active_item_action_id -804285FC .byt:0004 -804285FC active_item_row -80428600 .byt:0004 -80428600 active_override_is_outgoing -80428604 .byt:0010 -80428604 active_override -80428614 .byt:0002 -80428614 drop_collectible_override_flag -80428618 .byt:0004 -80428618 dummy_actor -8042861C .byt:0004 -8042861C item_overrides_count -80428620 .byt:8980 -80428620 cfg_item_overrides -80430FA0 .byt:0001 -80430FA0 COMPLETE_MASK_QUEST -80430FA1 .byt:0001 -80430FA1 OPEN_KAKARIKO -80430FA2 .byt:0001 -80430FA2 MAX_RUPEES -80430FA3 .byt:0001 -80430FA3 shooting_gallery_show_message -80430FA8 .byt:0001 -80430FA8 missing_dlist -80430FA9 .byt:0001 -80430FA9 child_safe -80430FAA .byt:0001 -80430FAA adult_safe -80430FAC .byt:0002 -80430FAC illegal_model -80430FB0 .byt:00C0 -80430FB0 object_slots -80431080 .byt:0004 -80431080 RANDOMIZER_RNG_SEED -80431088 .byt:0018 -80431088 extended_savectx -804310A0 .byt:0001 -804310A0 curr_scene_setup -804310B4 .byt:0004 -804310B4 heap_next -804310B8 .byt:0001 -804310B8 KAKARIKO_WEATHER_FORECAST -804310C0 AUDIO_THREAD_MEM_START +80405AE4 malon_ra_displaced +80405AF4 malon_songs_as_items +80405B08 @@return +80405B18 malon_check_give_item +80405B44 @@return +80405B50 malon_show_text +80405B98 @@return +80405BAC .byt:0001 +80405BAC MALON_GAVE_ICETRAP +80405BB0 malon_reload +80405BF8 @@malon_gave_ice_trap +80405C18 @@check_text +80405C40 @@reload +80405C84 @@return +80405C90 drop_ruto +80405CFC @@return +80405D24 check_kill_demoeffect +80405D74 @@return +80405D90 agony_distance_hook +80405DB4 @@inside_radius +80405DC4 @@outside_radius +80405DCC @@done +80405DF8 agony_vibrate_hook +80405E28 @@done +80405E58 agony_post_hook +80405E70 .byt:0001 +80405E70 CHAIN_HBA_REWARDS +80405E74 handle_hba_rewards_chain +80405ED0 @@return +80405ED8 stick_as_adult +80405EF4 @@return +80405F00 masks_as_adult +80405F1C @@return +80405F28 .byt:0001 +80405F28 SHUFFLE_CARPET_SALESMAN +80405F2C carpet_inital_message +80405F54 @@return +80405F5C carpet_buy_item_hook +80405F7C @@return +80405F84 .byt:0001 +80405F84 SHUFFLE_MEDIGORON +80405F88 medigoron_inital_check +80405FC8 @@return +80405FD0 medigoron_buy_item_hook +80405FF0 @@return +80405FF8 bombchu_back_color +80406020 kill_door_of_time_col +80406048 mask_check_trade_slot +80406070 @@return +80406078 .dbl:0004 +80406078 ADULT_ANJU_ITEM_DIALOG +8040607C check_fado_spawn_flags +804060B0 @@return_fado +804060C0 check_grog_spawn_flags +804060F0 @@return_grog +804060FC check_skull_kid_spawn_flags +80406144 check_if_biggoron_should_cry_eye_hook +8040616C @@vanilla_eye_hook +80406170 @@return_eye_hook +8040617C check_if_biggoron_should_cry_anim_hook +804061A4 @@vanilla_anim_hook +804061B0 @@return_anim_hook +804061BC check_if_biggoron_should_cry_sfx_hook +804061E8 @@vanilla_sfx_hook +804061F4 @@return_sfx_hook +80406204 check_if_biggoron_should_cry +80406234 @@return_crybaby +80406250 check_claim_check_traded +80406298 @@return_claim_check +804062B0 check_trade_item_traded +804062E4 @@check_trade_flags +80406304 @@return_traded +8040631C update_shiftable_trade_item_egg_hook +80406338 check_if_mask_sells_out +80406360 @@return_sold_out +80406368 check_cucco_lady_talk_exch_hook +8040639C check_cucco_lady_talk_none_hook +804063D0 check_cucco_lady_exchange_id_hook +804063FC check_cucco_lady_flag_hook +8040642C set_keaton_mask_traded_flag +80406464 set_skull_mask_traded_flag +80406498 set_spooky_mask_traded_flag +804064CC set_bunny_hood_traded_flag +80406500 handle_child_zelda_savewarp +80406510 @@revert_child_trade_item +80406524 @@c_button_loop +8040653C @@skip_c_button +80406544 @@return +8040654C check_zelda_cutscene_watched +80406568 @@give_letter +80406588 @@skip_letter +804065BC @@return +804065CC blue_fire_arrows +804065E0 @@return +804065E8 offer_jail_hook +80406600 offer_jail_normal_white_guard +80406684 @@first_response +804066A0 @@second_response +804066B4 @@end_switch +804066B8 @@return +804066C8 open_save_hook +80406738 obj_mure3_drop_params_hack +80406744 obj_mure3_redrupee_hack +80406760 obj_mure3_redrupee_hack_end +80406768 bg_haka_tubo_drop_params_hack +80406778 bg_spot18_basket_bombs_hack +80406794 bg_spot18_basket_bombs_end +8040679C bg_spot18_basket_rupees_hack +804067C0 bg_spot18_basket_rupees_end +804067CC bg_spot18_basket_drop_heartpiece_rupees +804067F8 bg_spot18_basket_drop_heartpiece_redrupee_end +80406814 bg_spot18_basket_drop_heartpiece_bluerupee +80406830 bg_spot18_basket_drop_heartpiece_bluerupee_end +8040684C bg_spot18_basket_drop_heartpiece_rupees_end +80406858 obj_comb_hook +80406870 EnWonderItem_Multitag_DrawHook +8040690C EnWonderItem_MultitagOrdered_DrawHook +804069AC EnWonderItem_Update_Hook +804069EC .wrd:0002 +804069EC CURR_ACTOR_SPAWN_INDEX +804069EE .wrd:0002 +804069F0 Actor_UpdateAll_Hook +80406A38 @@call_hack +80406A48 @@end +80406A7C Actor_Spawn_Malloc_Hack +80406A98 @spawn +80406AB0 Actor_Spawn_Shift +80406B1C @end +80406B34 Actor_Spawn_Continue +80406B40 rand_seed_truth_spinner +80406B64 set_message_file_to_search +80406B94 load_correct_message_segment +80406BCC Message_Decode_Control_Code_Hook +80406BE4 @not_newline +80406C48 @no_match +80406C50 shooting_gallery_no_bow +80406C7C Message_Decode_reset_msgCtx.textPosX +80406C90 .byt:0001 +80406C90 CFG_MASK_AUTOEQUIP +80406C94 player_save_mask +80406CB4 @@return +80406CC0 player_restore_mask +80406CE8 @@return +80406D10 gohma_climb +80406D20 camera_init +80406D30 .byt:0001 +80406D30 SHUFFLE_CHEST_GAME +80406D31 .byt:0001 +80406D31 TCG_REQUIRES_LENS +80406D34 chestgame_buy_item_hook +80406D54 @@return +80406D5C chestgame_initial_message +80406D88 @@return +80406D90 chestgame_no_reset_flag +80406DA8 @@return +80406DB0 chestgame_no_reset_keys +80406DC8 @@return +80406DD0 chestgame_remove_chest_rng +80406DF0 @@chestgame_run_chest_rng +80406DF8 chestgame_open_chests_separately +80406E14 @@return +80406E1C chestgame_delayed_chest_open +80406E34 @@return +80406E3C chestgame_force_game_loss_left +80406E84 @@return +80406E8C chestgame_force_game_loss_right +80406ED4 @@return +80406EDC chestgame_warn_player_of_rigged_game +80406F08 EnItem00_ProximityCheck_Hook +80406F58 en_item00_update +80406F64 EnItem00_Draw +80406F70 EnItem00_Init +80406F7C volvagia_flying_hitbox +80406F94 @@return +80406F9C move_key_icon +80406FB8 @@return_icon +80406FC0 move_key_counter +80406FDC @@return_counter +80406FE4 en_am_calculation_1 +80406FF8 en_am_calculation_2 +8040700C ocarina_buttons +8040704C @@button_cup +80407064 @@button_cdown +8040707C @@button_cleft +80407094 @@button_cright +804070AC @@return +804070C8 fairy_ocarina_getitem_override +804070EC EnDns_TakePayment +80407120 bg_gate_shutter_open_hack +80407140 after_spawn_override_silver_rupee,00000018 +80407158 Actor_GetAdditionalData,00000008 +80407160 Actor_BuildFlag,000000BC +8040721C Actor_StoreFlag,0000011C +80407338 Actor_StoreFlagByIndex,00000054 +8040738C get_newflag_override,0000008C +80407418 Actor_StoreChestType,00000174 +8040758C Actor_After_UpdateAll_Hack,0000005C +804075E8 spawn_override_silver_rupee,00000108 +804076F0 Actor_SpawnEntry_Hack,0000010C +804077FC Player_SpawnEntry_Hack,000000B8 +804078B4 Actor_Spawn_Hook,00000094 +80407948 agony_inside_radius_setup,00000008 +80407950 agony_outside_radius_setup,0000002C +8040797C agony_vibrate_setup,00000034 +804079B0 draw_agony_graphic,00000158 +80407B08 draw_agony,000001D8 +80407CE0 DoorWarp1_PlayerInRange,00000078 +80407D58 DoorWarp1_PlayerInRange_Overwrite,00000154 +80407EAC DoorWarp1_IsSpiritRewardObtained,0000000C +80407EB8 DoorWarp1_IsShadowRewardObtained,0000000C +80407EC4 DoorWarp1_KokiriEmerald_Overwrite,00000008 +80407ECC DoorWarp1_GoronRuby_Overwrite,00000008 +80407ED4 DoorWarp1_ZoraSapphire_Overwrite,00000008 +80407EDC DoorWarp1_ForestMedallion_Overwrite,00000008 +80407EE4 DoorWarp1_FireMedallion_Overwrite,0000001C +80407F00 DoorWarp1_WaterMedallion_Overwrite,00000018 +80407F18 DoorWarp1_SpiritMedallion_Overwrite,00000008 +80407F20 DoorWarp1_ShadowMedallion_Overwrite,00000008 +80407F28 select_bombchu_bowling_prize,00000190 +804080B8 set_bombchu_bowling_prize_flag,0000002C +804080E4 get_chest_override,00000148 +8040822C get_chest_type,00000024 +80408250 set_chest_texture,00000224 +80408474 draw_chest_base,000000FC +80408570 draw_chest_lid,000000FC +8040866C draw_chest,00000048 +804086B4 should_draw_forest_hallway_chest,000000A4 +80408758 get_dummy_chest,00000014 +8040876C draw_forest_hallway_chest_base,00000074 +804087E0 draw_forest_hallway_chest_lid,000000D4 +804088B4 draw_debug_int,00000038 +804088EC draw_debug_float,00000038 +80408924 draw_timeofday,00000330 +80408C54 get_flag,000000B4 +80408D08 debug_menu_is_drawn,0000000C +80408D14 decimal_to_hex,000000A0 +80408DB4 draw_debug_menu,000022A8 +8040B05C draw_debug_numbers,000003A0 +8040B3FC debug_utilities,00000064 +8040B460 DemoEffect_DrawJewel_Hook,00000134 +8040B594 handle_dpad,000006F8 +8040BC8C draw_dpad_and_menu_utilities,000012B8 +8040CF44 draw_background,00000128 +8040D06C d_right_dungeon_idx,0000005C +8040D0C8 draw_silver_rupee_count,00000328 +8040D3F0 is_bk_displayed,00000084 +8040D474 draw_boss_key,000000FC +8040D570 draw_dungeon_info,00002600 +8040FB70 dungeon_info_is_drawn,0000000C +8040FB7C EnItem00_OutgoingAction,000000C8 +8040FC44 EnItem00_ProximityCheck_Hack,00000088 +8040FCCC EnItem00_Init_Hook,0000005C +8040FD28 en_item00_update_hook,000000D0 +8040FDF8 EnItem00_Draw_Hook,00000068 +8040FE60 EnWonderitem_AfterInitHack,00000070 +8040FED0 EnWonderItem_Multitag_DrawHack,000000A4 +8040FF74 EnWonderItem_DropCollectible_Hack,00000240 +804101B4 EnWonderItem_Update_Hack,00000098 +8041024C EnWonderItem_Kill_Hack,000000B8 +80410304 interpolate,00000064 +80410368 extern_scene_init,00000018 +80410380 process_extern_ctxt,00000290 +80410780 populate_variable,0000022C +804109AC read_file_data,0000034C +80410CF8 draw_file_icons,00000EE4 +80411C38 draw_file_message,000002EC +80411F24 is_saved_password_clear,0000008C +80411FB0 is_buffer_password_clear,00000040 +80411FF0 reset_buffer,0000004C +8041203C manage_password,000007F0 +8041282C draw_file_select_hash,0000025C +80412A88 check_ganon_entry,00000048 +80412AD0 Collectible_WaitForMessageBox,000000D4 +80412BA4 override_flags_init,0000002C +80412BD0 item_overrides_init,0000008C +80412C5C get_override_search_key,00000158 +80412DB4 lookup_override_by_key,000000F0 +80412EA4 lookup_override,0000005C +80412F00 resolve_alternative_override,0000006C +80412F6C get_override_search_key_by_newflag,0000004C +80412FB8 lookup_override_by_newflag,0000005C +80413014 resolve_alternative_flag,0000005C +80413070 activate_override,0000013C +804131AC clear_override,00000054 +80413200 push_outgoing_override,000000C8 +804132C8 move_outgoing_queue,0000009C +80413364 push_pending_item,0000008C +804133F0 push_coop_item,00000064 +80413454 push_delayed_item,0000004C +804134A0 pop_pending_item,0000005C +804134FC after_key_received,00000070 +8041356C pop_ice_trap,0000007C +804135E8 after_item_received,0000009C +80413684 try_pending_item,000001CC +80413850 handle_pending_items,000001E0 +80413A30 get_item,0000029C +80413CCC reset_collectible_mutex,0000000C +80413CD8 get_xflag_bit_offset,00000380 +80414058 Get_NewFlag,0000006C +804140C4 Set_NewFlag,00000050 +80414114 Item_DropCollectible_Room_Hack,00000074 +80414188 Room_Change_Actor_Kill_Hack,0000005C +804141E4 Item00_KillActorIfFlagIsSet,000001FC +804143E0 drop_bombs_or_chus,00000084 +80414464 get_override_drop_id,00000270 +804146D4 dispatch_item,000000AC +80414780 item_give_collectible,000002C8 +80414A48 get_skulltula_token,000000E0 +80414B28 give_sarias_gift,00000070 +80414B98 fairy_ocarina_getitem,000000BC +80414C54 sprite_bytes_per_tile,00000064 +80414CB8 sprite_bytes,00000030 +80414CE8 sprite_load,000002C8 +80414FB0 sprite_texture,00000348 +804152F8 sprite_texture_4b,00000318 +80415610 sprite_draw,000000F8 +80415708 rando_display_buffer_init,0000000C +80415714 rando_display_buffer_reset,00000040 +80415754 close_rando_display_buffer,000000CC +80415820 gfx_init,00000240 +80415A60 update_hud_colors,0000039C +80415DFC rupee_hud_color,0000004C +80415E48 ice_trap_is_pending,00000014 +80415E5C push_pending_ice_trap,00000018 +80415E74 give_ice_trap,00000088 +80415EFC draw_x_stick,00000048 +80415F44 draw_y_stick,00000074 +80415FB8 draw_a,000000D0 +80416088 draw_b,000000D4 +8041615C draw_start,000000A8 +80416204 draw_cdown,000000D4 +804162D8 draw_cup,000000D4 +804163AC draw_cleft,000000D4 +80416480 draw_cright,000000D4 +80416554 draw_z,000000A4 +804165F8 draw_l,000000A4 +8041669C draw_r,000000A4 +80416740 draw_ddown,000000A4 +804167E4 draw_dup,000000A4 +80416888 draw_dleft,000000A4 +8041692C draw_dright,000000A4 +804169D0 draw_input_viewer,000000E4 +80416AB4 is_hook_static,00000080 +80416B34 draw_gi_bombchu_and_masks,0000009C +80416BD0 draw_gi_eggs_and_medallions,000000C0 +80416C90 draw_gi_sold_out,000000A4 +80416D34 draw_gi_compass,00000120 +80416E54 draw_gi_various_opa0,0000009C +80416EF0 draw_gi_various_opa1023,000000F0 +80416FE0 draw_gi_wallets,00000150 +80417130 draw_gi_silver_rupee_pouch,0000018C +804172BC draw_gi_various_xlu01,000000C0 +8041737C draw_gi_various_opa0_xlu1,00000118 +80417494 draw_rutos_letter,0000012C +804175C0 draw_gi_coins_and_cuccos,00000130 +804176F0 draw_gi_magic_arrows,0000012C +8041781C draw_gi_various_opa10_xlu32,00000144 +80417960 draw_gi_bullet_bags,0000015C +80417ABC draw_gi_small_rupees,00000160 +80417C1C draw_gi_goron_swords,00000108 +80417D24 draw_gi_deku_nut,00000114 +80417E38 draw_gi_recovery_heart,00000118 +80417F50 draw_gi_fish_bottle,00000108 +80418058 draw_gi_magic_spells,00000154 +804181AC draw_bronze_scale,00000174 +80418320 draw_gi_scales,0000016C +8041848C draw_gi_potions,000001D0 +8041865C draw_gi_mirror_shield,000001A4 +80418800 draw_gi_gs_token,0000018C +8041898C draw_gi_blue_fire_candle,000001D0 +80418B5C draw_gi_fairy_lantern,000001EC +80418D48 draw_gi_fairy,000001D8 +80418F20 draw_gi_poe_bottles,00000208 +80419128 draw_gi_song_notes,0000013C +80419264 draw_gi_small_keys,0000019C +80419400 draw_gi_shrink_keys,000001DC +804195DC draw_gi_boss_keys,000002D4 +804198B0 draw_gi_boss_altered,000002D4 +80419B84 draw_gi_boss_altflip,000002D4 +80419E58 draw_gi_chubag,000002D8 +8041A130 draw_gi_a_button,00000138 +8041A268 draw_gi_c_button_vertical,00000190 +8041A3F8 draw_gi_c_button_horizontal,00000190 +8041A588 draw_gi_nothing,00000008 +8041A590 draw_gi_medallions,000000E4 +8041A674 draw_gi_stones,000002EC +8041A960 draw_gi_magic_meter,000002FC +8041AC5C base_draw_gi_model,00000038 +8041AC94 no_effect,00000008 +8041AC9C full_heal,0000000C +8041ACA8 give_triforce_piece,000000BC +8041AD64 give_tycoon_wallet,00000038 +8041AD9C give_biggoron_sword,0000000C +8041ADA8 give_bottle,00000038 +8041ADE0 give_dungeon_item,00000014 +8041ADF4 give_small_key,00000094 +8041AE88 give_small_key_ring,000000C8 +8041AF50 set_silver_rupee_flags,000000F0 +8041B040 give_silver_rupee,00000090 +8041B0D0 give_silver_rupee_pouch,000000C4 +8041B194 give_defense,0000001C +8041B1B0 give_magic,0000001C +8041B1CC give_double_magic,00000024 +8041B1F0 give_fairy_ocarina,0000000C +8041B1FC give_quest_item,00000018 +8041B214 ice_trap_effect,0000001C +8041B230 give_bean_pack,00000018 +8041B248 fill_wallet_upgrade,0000002C +8041B274 clear_excess_hearts,0000001C +8041B290 open_gate_and_mask_shop,00000114 +8041B3A4 give_bombchus,00000018 +8041B3BC trade_quest_upgrade,0000001C +8041B3D8 unlock_ocarina_note,0000007C +8041B454 give_progressive_scale,0000006C +8041B4C0 resolve_text_silver_rupees,000000B0 +8041B570 resolve_text_silver_rupee_pouches,0000008C +8041B5FC resolve_text_small_keys,00000088 +8041B684 resolve_text_small_keys_cmg,00000034 +8041B6B8 resolve_text_keyrings,0000003C +8041B6F4 get_item_row,0000003C +8041B730 resolve_item_text_id,00000030 +8041B760 resolve_upgrades,00000054 +8041B7B4 call_effect_function,0000002C +8041B7E0 no_upgrade,00000010 +8041B7F0 hookshot_upgrade,0000006C +8041B85C strength_upgrade,00000074 +8041B8D0 bomb_bag_upgrade,00000078 +8041B948 bow_upgrade,00000074 +8041B9BC slingshot_upgrade,00000080 +8041BA3C wallet_upgrade,00000080 +8041BABC scale_upgrade,00000074 +8041BB30 nut_upgrade,00000064 +8041BB94 stick_upgrade,00000064 +8041BBF8 magic_upgrade,0000005C +8041BC54 bombchu_upgrade,00000038 +8041BC8C ocarina_upgrade,00000078 +8041BD04 arrows_to_rupee,00000078 +8041BD7C bombs_to_rupee,00000078 +8041BDF4 seeds_to_rupee,00000080 +8041BE74 letter_to_bottle,0000007C +8041BEF0 health_upgrade_cap,0000003C +8041BF2C bombchus_to_bag,000000B0 +8041BFDC upgrade_key_model,000000CC +8041C0A8 KaleidoScope_DrawItemSelect,00000DF0 +8041CE98 c_init,00000044 +8041CEDC before_game_state_update,0000005C +8041CF38 after_game_state_update,00000094 +8041CFCC before_skybox_init,0000003C +8041D008 after_scene_init,0000004C +8041D054 c_equipment_menu_slot_filled,00000100 +8041D154 Message_AddCharacter,00000090 +8041D1E4 Message_AddInteger,000000F0 +8041D2D4 Message_AddString,00000084 +8041D358 Message_AddFileName,000000E8 +8041D440 Message_Decode_Additional_Control_Codes,00000514 +8041D954 shooting_gallery_message,00000044 +8041D998 treasure_chest_game_message,00000028 +8041D9C0 display_misc_messages,000000A0 +8041DA60 update_sword_trail_colors,000000A4 +8041DB04 update_boomerang_trail_colors,000001A4 +8041DCA8 update_bombchu_trail_colors,00000274 +8041DF1C get_bombchu_back_color,00000274 +8041E190 update_navi_colors,00000224 +8041E3B4 update_tunic_colors,000000B0 +8041E464 update_misc_colors,00000048 +8041E4AC draw_illegal_model_text,00000204 +8041E6B0 FindModelData,00000170 +8041E820 FindSize,00000074 +8041E894 FindHierarchy,000000E0 +8041E974 check_skeleton,000000EC +8041EA60 check_model_skeletons,00000238 +8041EC98 load_object_file,0000006C +8041ED04 load_object,00000028 +8041ED2C get_object,00000060 +8041ED8C set_object_segment,0000004C +8041EDD8 scale_top_matrix,00000068 +8041EE40 draw_model_low_level,00000078 +8041EEB8 scale_factor,00000054 +8041EF0C draw_model,000000A8 +8041EFB4 models_init,0000004C +8041F000 models_reset,00000024 +8041F024 lookup_model_by_override,0000008C +8041F0B0 lookup_model,00000050 +8041F100 shop_draw,000000F4 +8041F1F4 heart_piece_draw,00000064 +8041F258 collectible_draw_other,00000084 +8041F2DC heart_container_draw,00000064 +8041F340 skull_token_draw,00000064 +8041F3A4 ocarina_of_time_draw,00000064 +8041F408 item_etcetera_draw,00000300 +8041F708 bowling_bomb_bag_draw,00000144 +8041F84C bowling_heart_piece_draw,00000064 +8041F8B0 Health_IsCritical,0000005C +8041F90C manage_music_changes,00000178 +8041FA84 display_song_name,000003D0 +8041FE54 display_song_name_on_file_select,00000160 +8041FFB4 obj_comb_drop_collectible,000000EC +804200A0 ObjComb_Update,000000EC +8042018C ObjKibako_Draw,000001B4 +80420340 ObjKibako_SpawnCollectible_Hack,000000E0 +80420420 ObjKibako2_SpawnCollectible_Hack,000000EC +8042050C ObjKibako2_Draw,000001C4 +804206D0 Obj_Mure3_RupeeCircle_DropRupee,0000011C +804207EC object_index_or_spawn,00000078 +80420864 enitem00_set_link_incoming_item_id,000000AC +80420910 c_block_ocarina,0000004C +8042095C can_spawn_epona,00000044 +804209A0 BgHakaTubo_DropCollectible_Hack,0000011C +80420ABC BgSpot18Basket_BombDropHook,0000010C +80420BC8 BgSpot18Basket_RupeeDropHook,00000108 +80420CD0 BgSpot18Basket_Heartpiecerupee_DropHook,00000110 +80420DE0 draw_pot,00000270 +80421050 draw_pot_hack,0000001C +8042106C draw_hba_pot_hack,00000030 +8042109C draw_flying_pot_hack,0000001C +804210B8 ObjTsubo_SpawnCollectible_Hack,000000DC +80421194 EnTuboTrap_DropCollectible_Hack,000000E8 +8042127C get_rainbow_color,0000022C +804214A8 health_and_magic_refill,00000028 +804214D0 Seeded_Rand_Next,0000002C +804214FC Seeded_Rand_Seed,0000000C +80421508 Seeded_Reset,00000014 +8042151C Seeded_Rand_ZeroOne,00000048 +80421564 Seeded_Rand_Centered,00000048 +804215AC countSetBitsRec,00000054 +80421600 give_sage_gifts,000001D0 +804217D0 Save_Open,000000B0 +80421880 SsSram_ReadWrite_Safe,00000030 +804218B0 Sram_WriteSave,00000224 +80421AD4 Sram_VerifyAndLoadAllSaves,000005F8 +804220CC Sram_CopySave,000001D0 +8042229C Sram_EraseSave,000000D8 +80422374 Save_Write_Hook,00000074 +804223E8 Save_Init_Write_Hook,000000B8 +804224A0 store_scarecrow_fix,00000048 +804224E8 get_current_scene_setup_number,000000C8 +804225B0 set_new_respawn,000001FC +804227AC manage_swim,000000C0 +8042286C print_char,00000048 +804228B4 text_print_size,00000090 +80422944 text_print,00000030 +80422974 draw_int_size,000001D0 +80422B44 draw_int,00000030 +80422B74 get_texture,00000018 +80422B8C init_textures,00000054 +80422BE0 GetTradeItemIndex,00000020 +80422C00 GetTradeItemByAP,0000004C +80422C4C GetTradeSlot,0000003C +80422C88 GetTradeItemMin,00000018 +80422CA0 GetTradeItemMax,00000018 +80422CB8 IsTradeItem,0000002C +80422CE4 IsAdultTradeItem,00000024 +80422D08 SaveFile_SetTradeItemAsOwned,00000038 +80422D40 SaveFile_UnsetTradeItemAsOwned,0000003C +80422D7C SaveFile_TradeItemIsOwned,00000038 +80422DB4 SaveFile_UpdateShiftableItem,00000078 +80422E2C SaveFile_SetTradeItemAsTraded,00000038 +80422E64 SaveFile_UnsetTradeItemAsTraded,0000003C +80422EA0 SaveFile_TradeItemIsTraded,00000080 +80422F20 SaveFile_SetMaskAsPaid,0000003C +80422F5C SaveFile_MaskIsPaid,0000003C +80422F98 SaveFile_NextOwnedTradeItem,000000AC +80423044 SaveFile_PrevOwnedTradeItem,000000AC +804230F0 UpdateTradeEquips,000000FC +804231EC TurnInTradeItem,00000044 +80423230 IsClaimCheckTraded,0000001C +8042324C IsTradeItemTraded,00000070 +804232BC Inventory_ReplaceItem_Override,00000128 +804233E4 SetBiggoronAnimationState,00000068 +8042344C ShouldSkullKidSpawn,0000005C +804234A8 IsCuccoGivenToCuccoLady,00000018 +804234C0 SetupMaskShopHelloDialogOverride,00000154 +80423614 TryPaybackMaskOverride,00000268 +8042387C CanBuy_RightSideMask,00000040 +804238BC set_triforce_render,00000028 +804238E4 draw_triforce_count,00000504 +80423DE8 clear_twinrova_vars,00000014 +80423DFC manage_uninvert_yaxis,000000A8 +80423EA4 heap_init,00000014 +80423EB8 heap_alloc,0000003C +80423EF4 file_init,00000044 +80423F38 resolve_overlay_addr,0000003C +80423F74 override_weather_state,00000240 +804242B8 .byt:0001 +804242B8 debug_text_height +804242B9 .byt:0001 +804242B9 debug_text_width +80424358 .byt:0042 +80424358 freecam_modes +80424428 .byt:000C +80424428 icon_sprites +804244B0 .byt:0001 +804244B0 REQUIRED_PENDING_FRAMES +80424518 .byt:000C +80424518 rupee_colors +80424524 .byt:0006 +80424524 defaultDDHeart +8042452C .byt:0006 +8042452C defaultHeart +80424538 .byt:0002 +80424538 top_alignment +8042453A .byt:0002 +8042453A left_alignment +8042453C .byt:0001 +8042453C input_number_height +8042453D .byt:0001 +8042453D input_number_width +8042453E .byt:0001 +8042453E input_icon_height +8042453F .byt:0001 +8042453F input_icon_width +80424680 .byt:0004 +80424680 text_height +80424684 .byt:0004 +80424684 text_width +80424844 .byt:0004 +80424844 NUM_FONT_CHARS +80424848 .byt:0004 +80424848 FONT_CHAR_TEX_HEIGHT +8042484C .byt:0004 +8042484C FONT_CHAR_TEX_WIDTH +80424858 .byt:0268 +80424858 trade_quest_items +80424AE0 DPAD_RESOURCE +804252E0 DPAD_RESOURCE_END +804252E0 FONT_RESOURCE +804267A8 FONT_RESOURCE_END +804267A8 TRIFORCE_SPRITE_RESOURCE +804277A8 TRIFORCE_SPRITE_RESOURCE_END +804277B4 .byt:0060 +804277B4 flag_categories +80427814 .byt:00C0 +80427814 actor_categories +804278D4 .byt:041E +804278D4 items_debug +80427CF4 .byt:0154 +80427CF4 bosses_warps +80427E48 .byt:030E +80427E48 overworld_warps +80428158 .byt:0068 +80428158 dungeon_rooms +804281C0 .byt:016C +804281C0 ganon_rooms +80428268 .byt:0008 +8042832C .byt:0138 +8042832C gtg_rooms +80428464 .byt:00D0 +80428464 hideout_rooms +80428534 .byt:0104 +80428534 ice_rooms +80428638 .byt:009C +80428638 botw_rooms +804286D4 .byt:0138 +804286D4 spirit_rooms +8042880C .byt:016C +8042880C shadow_rooms +80428978 .byt:0138 +80428978 water_rooms +80428AB0 .byt:016C +80428AB0 fire_rooms +80428C1C .byt:0138 +80428C1C forest_rooms +80428D54 .byt:009C +80428D54 jabu_rooms +80428DF0 .byt:00D0 +80428DF0 dc_rooms +80428EC0 .byt:0138 +80428EC0 deku_rooms +80428FF8 .byt:01BA +80428FF8 dungeon_warps +804291B4 .byt:00A0 +804291B4 menu_categories +80429254 .byt:0001 +80429254 menu_cooldown +80429255 .byt:0001 +80429255 float_precision +80429258 .byt:0003 +80429258 debug_text_color +8042925C .byt:0009 +8042925C reward_rows +80429268 .byt:0018 +80429268 medals +80429280 .byt:0134 +80429280 dungeons +804293B4 .byt:0004 +804293B4 dungeon_count +804293E4 .byt:0014 +804293E4 extern_ctxt +804293F8 .byt:0004 +804293F8 last_fog_distance +804293FC .byt:0004 +804293FC scene_fog_distance +80429520 .byt:0001 +80429520 password_index +80429524 .byt:0040 +80429524 hash_symbols +80429564 .byt:0008 +80429564 hash_sprites +8042956C .byt:0002 +8042956C loaded_room_bit_offset +80429570 .byt:0004 +80429570 loaded_scene_room_setup +80429574 .byt:0015 +80429574 items +80429590 .byt:0010 +80429590 buttons_sprite +804295A0 .byt:0010 +804295A0 ocarina_button_sprite +804295B0 .byt:0010 +804295B0 heart_sprite +804295C0 .byt:0010 +804295C0 linkhead_skull_sprite +804295D0 .byt:0010 +804295D0 item_digit_sprite +804295E0 .byt:0010 +804295E0 rupee_digit_sprite +804295F0 .byt:0010 +804295F0 key_rupee_clock_sprite +80429600 .byt:0010 +80429600 song_note_sprite +80429610 .byt:0010 +80429610 triforce_sprite +80429620 .byt:0010 +80429620 dpad_sprite +80429630 .byt:0010 +80429630 font_sprite +80429640 .byt:0010 +80429640 quest_items_sprite +80429650 .byt:0010 +80429650 items_sprite +80429660 .byt:0010 +80429660 medals_sprite +80429670 .byt:0010 +80429670 stones_sprite +80429680 .byt:0008 +80429680 empty_dlist +80429688 .byt:0028 +80429688 setup_db +804296B0 .byt:0004 +804296B0 text_cursor_border_max +804296B4 .byt:0004 +804296B4 text_cursor_border_base +804296B8 .byt:0004 +804296B8 text_cursor_inner_max +804296BC .byt:0004 +804296BC text_cursor_inner_base +804296C0 .byt:0004 +804296C0 c_note_font_glow_max +804296C4 .byt:0004 +804296C4 c_note_font_glow_base +804296C8 .byt:0004 +804296C8 c_note_glow_max +804296CC .byt:0004 +804296CC c_note_glow_base +804296D0 .byt:0004 +804296D0 a_note_font_glow_max +804296D4 .byt:0004 +804296D4 a_note_font_glow_base +804296D8 .byt:0004 +804296D8 a_note_glow_max +804296DC .byt:0004 +804296DC a_note_glow_base +804296E0 .byt:0004 +804296E0 c_note_b +804296E4 .byt:0004 +804296E4 c_note_g +804296E8 .byt:0004 +804296E8 c_note_r +804296EC .byt:0004 +804296EC a_note_b +804296F0 .byt:0004 +804296F0 a_note_g +804296F4 .byt:0004 +804296F4 a_note_r +804296F8 .byt:0004 +804296F8 c_button +804296FC .byt:0004 +804296FC b_button +80429700 .byt:0004 +80429700 a_button +80429704 .byt:0004 +80429704 normal_dd +80429708 .byt:0004 +80429708 beating_dd +8042970C .byt:0004 +8042970C normal_no_dd +80429710 .byt:0004 +80429710 beating_no_dd +80429758 .byt:16A4 +80429758 item_draw_table +8042ADFC .byt:0108 +8042ADFC silver_rupee_vars +8042AF04 .byt:0022 +8042AF04 key_counts +8042AF28 .byt:215C +8042AF28 item_table +8042D084 .byt:0100 +8042D084 FILENAME_ENCODING +8042D184 .byt:00FC +8042D184 childSkeleton +8042D280 .byt:00FC +8042D280 adultSkeleton +8042D37C .byt:00BC +8042D37C bgm_sequence_ids +8042D438 .byt:0004 +8042D438 RNG_SEED_INT +8042D43C .byt:0040 +8042D43C num_to_bits +8042D47C .byt:0004 +8042D47C Sram_InitNewSave +8042D480 .byt:00C8 +8042D480 respawnsByScene +8042D548 .byt:01F0 +8042D548 texture_table +8042D738 .byt:0004 +8042D738 EXTRA_BOWLING_SHUFFLE +8042D73C .byt:0004 +8042D73C CHEST_SIZE_TEXTURE +8042D740 .byt:0004 +8042D740 CHEST_SIZE_MATCH_CONTENTS +8042D744 .byt:0004 +8042D744 CHEST_TEXTURE_MATCH_CONTENTS +8042D748 .byt:0001 +8042D748 show_clock +8042D7B4 .byt:0001 +8042D7B4 bk_display +8042D7F8 .byt:0006 +8042D7F8 buffer_password +8042D7FE .byt:0002 +8042D7FE cooldown +8042D800 .byt:0002 +8042D800 tentatives +8042D802 .byt:0001 +8042D802 NO_ESCAPE_SEQUENCE +8042D808 .byt:0100 +8042D808 room_flags +8042D908 .byt:0010 +8042D908 collectible_override +8042D918 .byt:0004 +8042D918 collectible_mutex +8042D920 .byt:0080 +8042D920 outgoing_queue +8042D9A0 .byt:0004 +8042D9A0 collectible_override_flags +8042D9A4 .byt:0002 +8042D9A4 num_override_flags +8042D9A8 .byt:0C80 +8042D9A8 alt_overrides +8042E628 .byt:0BB8 +8042E628 xflag_room_blob +8042F1E0 .byt:02BC +8042F1E0 xflag_room_table +8042F49C .byt:00CA +8042F49C xflag_scene_table +8042F566 .byt:0001 +8042F566 satisfied_pending_frames +8042F568 .byt:0002 +8042F568 incoming_junk +8042F56C .byt:0004 +8042F56C active_item_fast_chest +8042F570 .byt:0004 +8042F570 active_item_graphic_id +8042F574 .byt:0004 +8042F574 active_item_object_id +8042F578 .byt:0004 +8042F578 active_item_text_id +8042F57C .byt:0004 +8042F57C active_item_action_id +8042F580 .byt:0004 +8042F580 active_item_row +8042F584 .byt:0004 +8042F584 active_override_is_outgoing +8042F588 .byt:0010 +8042F588 active_override +8042F598 .byt:0004 +8042F598 spawn_actor_with_flag +8042F59C .byt:0008 +8042F59C drop_collectible_override_flag +8042F5A4 .byt:0004 +8042F5A4 dummy_actor +8042F5A8 .byt:0004 +8042F5A8 item_overrides_count +8042F5B0 .byt:8980 +8042F5B0 cfg_item_overrides +80437F30 .byt:0001 +80437F30 randoGfxPoolIndex +80437F38 .byt:A000 +80437F38 randoGfxPools +80441F40 .byt:0010 +80441F40 rando_overlay_db +80441F50 .byt:0001 +80441F50 COMPLETE_MASK_QUEST +80441F51 .byt:0001 +80441F51 OPEN_KAKARIKO +80441F52 .byt:0001 +80441F52 MAX_RUPEES +80441F53 .byt:0001 +80441F53 treasure_chest_game_show_message +80441F54 .byt:0001 +80441F54 shooting_gallery_show_message +80441F5C .byt:0001 +80441F5C missing_dlist +80441F5D .byt:0001 +80441F5D child_safe +80441F5E .byt:0001 +80441F5E adult_safe +80441F60 .byt:0002 +80441F60 illegal_model +80441F64 .byt:00C0 +80441F64 object_slots +80442034 .byt:0004 +80442034 RANDOMIZER_RNG_SEED +80442038 .byt:0002 +80442038 GANON_BOSS_KEY_CONDITION_COUNT +8044203A .byt:0001 +8044203A GANON_BOSS_KEY_CONDITION +80442040 .byt:0058 +80442040 extended_savectx +80442098 .byt:0001 +80442098 curr_scene_setup +804420A4 .byt:0004 +804420A4 heap_next +804420A8 .byt:0001 +804420A8 KAKARIKO_WEATHER_FORECAST +804422B0 AUDIO_THREAD_MEM_START 80450970 .byt:0014 80450A60 .byt:0014 804518DE .wrd:0002 8045260E .wrd:0002 -8047A950 PAYLOAD_END +8048BB40 PAYLOAD_END 80600000 DEBUG_BUFFER 80601000 C_HEAP -809FE340 @@not_in_ranch -809FE354 @@return -809FE354 return_from_the_other_function -809FE564 @@hyrule_check -809FE580 @@lon_lon_check -809FE5A8 @@return_false -809FE964 @@set_ev0 -809FE978 set_ev1 -809FEA68 @@unsafe -809FEA80 @@safe -809FEA94 @@not_hyrule -809FEAE0 ev0_return +8082A09C .byt:0001 +8092E400 DemoEffect_DrawJewel_AfterHook +8093019C .dbl:0004 +809E0740 @@not_in_ranch +809E0754 @@return +809E0754 return_from_the_other_function +809E0964 @@hyrule_check +809E0980 @@lon_lon_check +809E09A8 @@return_false +809E0D64 @@set_ev0 +809E0D78 set_ev1 +809E0E68 @@unsafe +809E0E80 @@safe +809E0E94 @@not_hyrule +809E0EE0 ev0_return +80A73024 .dbl:0004 +80A73034 .dbl:0004 +80A73044 .dbl:0004 +80A73054 .dbl:0004 +80A82024 @medigoron_check_return +80AC4F58 @@success +80AC4F60 @@midos_house +80AC4F88 @@lost_woods +80AC4F94 @@failure +80AC7DD0 bg_spot18_basket_bombs_loopstart +80AC7E2C bg_spot18_basket_rupees_loopstart 80AD73A4 .byt:0004 80AD73B0 @tag4_skip_actor_kill 80AD73DC .byt:0028 80AD740C @tag5_skip_actor_kill -80AE2B58 @@success -80AE2B60 @@midos_house -80AE2B88 @@lost_woods -80AE2B94 @@failure diff --git a/ASM/build/bundle.o b/ASM/build/bundle.o index 227d562173..e5defbc575 100644 Binary files a/ASM/build/bundle.o and b/ASM/build/bundle.o differ diff --git a/ASM/build/c_symbols.txt b/ASM/build/c_symbols.txt index c2c8d292e1..6ee37fcf05 100644 --- a/ASM/build/c_symbols.txt +++ b/ASM/build/c_symbols.txt @@ -3,107 +3,136 @@ build/bundle.o: file format elf32-bigmips SYMBOL TABLE: 00000000 l d .text 00000000 .text -00018cc0 l d .rodata 00000000 .rodata -0001c098 l d .data 00000000 .data -0002a08c l d .reginfo 00000000 .reginfo -0002a08c l d .pdr 00000000 .pdr -0002a089 l d .gnu.attributes 00000000 .gnu.attributes -0002a089 l d .mdebug.abi32 00000000 .mdebug.abi32 +0001d078 l d .rodata 00000000 .rodata +00020670 l d .data 00000000 .data +0003af6c l d .reginfo 00000000 .reginfo +0003af6c l d .pdr 00000000 .pdr +0003af69 l d .gnu.attributes 00000000 .gnu.attributes +0003af69 l d .mdebug.abi32 00000000 .mdebug.abi32 00000000 l d .comment 00000000 .comment 00000000 l df *ABS* 00000000 actor.c 00000000 l df *ABS* 00000000 agony.c -0001c098 l O .data 00000004 alpha_frame -00018cc0 l O .rodata 00000028 ALPHA_DATA +00020670 l O .data 00000004 alpha_frame +0001d078 l O .rodata 00000028 ALPHA_DATA +00000000 l df *ABS* 00000000 blue_warp.c +0001d0a0 l .rodata 00000000 $LC0 +0001d0a4 l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 bombchu_bowling.c 00000000 l df *ABS* 00000000 chests.c 800ab900 l *ABS* 00000000 write_matrix_stack_top -00018cfc l .rodata 00000000 $LC0 -00018d00 l .rodata 00000000 $LC1 -00018d04 l .rodata 00000000 $LC2 -00018d08 l .rodata 00000000 $LC3 -00018d0c l .rodata 00000000 $LC4 +0001d0bc l .rodata 00000000 $LC0 +0001d0c0 l .rodata 00000000 $LC1 +0001d0c4 l .rodata 00000000 $LC2 +0001d0c8 l .rodata 00000000 $LC3 +0001d0cc l .rodata 00000000 $LC4 00000000 l df *ABS* 00000000 debug.c -00020e08 l O .data 0000000a debugNumberIsInUsage -00020de0 l O .data 00000028 debugNumbers -00020db8 l O .data 00000028 debugNumbersFloat -00020dac l O .data 00000004 show_warp_menu -00020db0 l O .data 00000006 current_menu_indexes -00018d10 l .rodata 00000000 $LC0 -00018d18 l .rodata 00000000 $LC1 -00018d20 l .rodata 00000000 $LC2 -00018d28 l .rodata 00000000 $LC3 -00018d14 l .rodata 00000000 $LC4 +00026668 l O .data 0000000a debugNumberIsInUsage +00026640 l O .data 00000028 debugNumbers +00026618 l O .data 00000028 debugNumbersFloat +00026609 l O .data 00000001 show_warp_menu +0002660c l O .data 0000000c current_menu_indexes +0001d17c l .rodata 00000000 $LC1 +0001d188 l .rodata 00000000 $LC2 +0001d190 l .rodata 00000000 $LC3 +0001d198 l .rodata 00000000 $LC4 +0001d1a0 l .rodata 00000000 $LC5 +0001d0d0 l .rodata 00000000 $LC6 +0001d0d4 l .rodata 00000000 $LC7 +0001d0ec l .rodata 00000000 $LC9 +0001d0e8 l .rodata 00000000 $LC8 +0001d1a8 l .rodata 00000000 $LC10 +0001d1b0 l .rodata 00000000 $LC11 +0001d180 l .rodata 00000000 $LC12 +0001d0f0 l .rodata 00000000 $LC13 +0001d184 l .rodata 00000000 $LC14 +00000000 l df *ABS* 00000000 demo_effect.c +0001d1b8 l .rodata 00000000 $LC0 +0001d1bc l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 dpad.c 00000000 l df *ABS* 00000000 dungeon_info.c -00020e18 l O .data 00000004 show_dungeon_info -00018d2c l .rodata 00000000 $LC0 -00018d30 l .rodata 00000000 $LC1 +00026678 l O .data 00000004 show_dungeon_info +0001d1c0 l .rodata 00000000 $LC0 +0001d1c4 l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 en_item00.c -00018d38 l .rodata 00000000 $LC0 -00018d40 l .rodata 00000000 $LC1 -00018d48 l .rodata 00000000 $LC2 -00018d4c l .rodata 00000000 $LC3 -00018d50 l .rodata 00000000 $LC4 -00018d54 l .rodata 00000000 $LC5 -00018d58 l .rodata 00000000 $LC6 +0001d1d0 l .rodata 00000000 $LC0 +0001d1d8 l .rodata 00000000 $LC1 +0001d1e0 l .rodata 00000000 $LC2 +0001d1e4 l .rodata 00000000 $LC3 +0001d1e8 l .rodata 00000000 $LC4 +0001d1ec l .rodata 00000000 $LC5 +0001d1f0 l .rodata 00000000 $LC6 +0001d1f4 l .rodata 00000000 $LC7 +0001d1f8 l .rodata 00000000 $LC8 +0001d1fc l .rodata 00000000 $LC9 00000000 l df *ABS* 00000000 en_wonderitem.c -0001cbf8 l O .data 00000004 sEffectPrimColorBlue -0001cbf0 l O .data 00000004 sEffectPrimColorCyan -0001cbec l O .data 00000004 sEffectEnvColor -0001cbd4 l O .data 0000000c sEffectAccel -0001cbe0 l O .data 0000000c sEffectVelocity -00018d5c l O .rodata 00000018 dropTable.0 -0001cbf4 l O .data 00000004 sEffectPrimColorYellow -0001cbfc l O .data 00000004 sEffectPrimColorRed +0002229c l O .data 00000004 sEffectPrimColorBlue +00022294 l O .data 00000004 sEffectPrimColorCyan +00022290 l O .data 00000004 sEffectEnvColor +00022278 l O .data 0000000c sEffectAccel +00022284 l O .data 0000000c sEffectVelocity +0001d200 l O .rodata 00000018 dropTable.0 +00022298 l O .data 00000004 sEffectPrimColorYellow +000222a0 l O .data 00000004 sEffectPrimColorRed 00000000 l df *ABS* 00000000 extern_ctxt.c -00018db8 l .rodata 00000000 $LC0 -00018dbc l .rodata 00000000 $LC1 +0001d25c l .rodata 00000000 $LC0 +0001d260 l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 file_icons.c -0000725c l F .text 00000024 color_product -00007280 l F .text 000000dc make_digits -0000735c l F .text 00000070 draw_square_sprite -00018dc4 l O .rodata 00000010 MASK_LOOKUP -00020e50 l O .data 00000001 bronze_scale_marker -0001cc3c l O .data 00000100 fixed_tile_positions -0001cc1c l O .data 0000001e counter_positions -00020e20 l O .data 00000030 draw_data -00020e54 l O .data 00000004 hasTriforceGoalBeenReached -00018e2c l O .rodata 00000015 variable_tile_positions -00018df0 l O .rodata 0000003c song_note_data -00018dd4 l O .rodata 00000019 button_note_data -00020e1c l O .data 00000001 frame_counter.0 -00018dc0 l .rodata 00000000 $LC0 +000094d0 l F .text 00000024 color_product +000094f4 l F .text 000000dc make_digits +000095d0 l F .text 00000070 draw_square_sprite +0001d268 l O .rodata 00000010 MASK_LOOKUP +000266b0 l O .data 00000001 bronze_scale_marker +000222e0 l O .data 00000100 fixed_tile_positions +000222c0 l O .data 0000001e counter_positions +00026680 l O .data 00000030 draw_data +000266b4 l O .data 00000004 hasTriforceGoalBeenReached +0001d2d0 l O .rodata 00000015 variable_tile_positions +0001d294 l O .rodata 0000003c song_note_data +0001d278 l O .rodata 00000019 button_note_data +0002667c l O .data 00000001 frame_counter.0 +0001d264 l .rodata 00000000 $LC0 00000000 l df *ABS* 00000000 file_message.c -00008834 l F .text 00000050 print_msg -00018e50 l .rodata 00000000 $LC0 -00018e54 l .rodata 00000000 $LC1 -00018e68 l .rodata 00000000 $LC2 -00018e7c l .rodata 00000000 $LC3 -00018e88 l .rodata 00000000 $LC4 +0000aa9c l F .text 0000005c print_msg +0001d2f4 l .rodata 00000000 $LC0 +0001d2f8 l .rodata 00000000 $LC1 +0001d30c l .rodata 00000000 $LC2 +0001d320 l .rodata 00000000 $LC3 +0001d32c l .rodata 00000000 $LC4 +0001d334 l .rodata 00000000 $LC5 00000000 l df *ABS* 00000000 file_select.c +0001d368 l .rodata 00000000 $LC1 +0001d340 l .rodata 00000000 $LC2 +0001d350 l .rodata 00000000 $LC3 00000000 l df *ABS* 00000000 ganon.c -00000000 l df *ABS* 00000000 ganon_boss_key.c 00000000 l df *ABS* 00000000 get_items.c -00018ea8 l .rodata 00000000 $LC0 +0001d374 l .rodata 00000000 $LC0 +0001d378 l .rodata 00000000 $LC1 +0001d37c l .rodata 00000000 $LC2 +0001d380 l .rodata 00000000 $LC3 +0001d384 l .rodata 00000000 $LC4 00000000 l df *ABS* 00000000 gfx.c +0001d388 l .rodata 00000000 $LC0 +0001d3b4 l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 hud_colors.c 00000000 l df *ABS* 00000000 icetrap.c 00000000 l df *ABS* 00000000 inputviewer.c -00018ed4 l .rodata 00000000 $LC1 +0001d400 l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 item_draw_functions.c -0001cf68 l O .data 00000020 gGiBronzeScaleColorDL -0001cf88 l O .data 00000020 gGiBronzeScaleWaterColorDL -00018ed8 l .rodata 00000000 $LC0 -00018edc l .rodata 00000000 $LC1 -00018ee0 l .rodata 00000000 $LC2 -00018ee4 l .rodata 00000000 $LC3 -00018ee8 l .rodata 00000000 $LC4 -00018eec l .rodata 00000000 $LC5 -00018ef0 l .rodata 00000000 $LC6 -00018ef4 l .rodata 00000000 $LC7 -00018ef8 l .rodata 00000000 $LC8 -00018f00 l .rodata 00000000 $LC9 -00018efc l .rodata 00000000 $LC10 +000225d8 l O .data 00000020 gGiBronzeScaleColorDL +000225f8 l O .data 00000020 gGiBronzeScaleWaterColorDL +0001d448 l O .rodata 00000030 kInitListMedallion +0001d408 l O .rodata 00000040 kMatrixRot.0 +0001d478 l .rodata 00000000 $LC0 +0001d47c l .rodata 00000000 $LC1 +0001d480 l .rodata 00000000 $LC2 +0001d484 l .rodata 00000000 $LC3 +0001d488 l .rodata 00000000 $LC4 +0001d48c l .rodata 00000000 $LC5 +0001d490 l .rodata 00000000 $LC6 +0001d494 l .rodata 00000000 $LC7 +0001d498 l .rodata 00000000 $LC8 +0001d4a0 l .rodata 00000000 $LC9 +0001d49c l .rodata 00000000 $LC10 00000000 l df *ABS* 00000000 item_draw_table.c 00000000 l df *ABS* 00000000 item_effects.c 00000000 l df *ABS* 00000000 item_table.c @@ -112,702 +141,814 @@ SYMBOL TABLE: 00000000 l df *ABS* 00000000 main.c 00000000 l df *ABS* 00000000 menu.c 00000000 l df *ABS* 00000000 message.c +0001d4bc l .rodata 00000000 $LC0 00000000 l df *ABS* 00000000 misc_colors.c -00029f74 l O .data 00000004 frames -00018f1c l .rodata 00000000 $LC0 -00018f20 l .rodata 00000000 $LC1 -00018f24 l .rodata 00000000 $LC2 -00018f28 l .rodata 00000000 $LC3 -00018f2c l .rodata 00000000 $LC4 -00018f30 l .rodata 00000000 $LC5 +0003ae18 l O .data 00000004 frames +0001d4cc l .rodata 00000000 $LC0 +0001d4d0 l .rodata 00000000 $LC1 +0001d4d4 l .rodata 00000000 $LC2 +0001d4d8 l .rodata 00000000 $LC3 +0001d4dc l .rodata 00000000 $LC4 +0001d4e0 l .rodata 00000000 $LC5 00000000 l df *ABS* 00000000 model_text.c -00018f98 l .rodata 00000000 $LC2 +0001d548 l .rodata 00000000 $LC2 00000000 l df *ABS* 00000000 models.c -00018fe8 l .rodata 00000000 $LC5 -00018fe4 l .rodata 00000000 $LC4 -00018fec l .rodata 00000000 $LC6 -00018ff0 l .rodata 00000000 $LC7 -00018ff4 l .rodata 00000000 $LC8 -00018ff8 l .rodata 00000000 $LC9 -00018ffc l .rodata 00000000 $LC10 +0001d598 l .rodata 00000000 $LC5 +0001d594 l .rodata 00000000 $LC4 +0001d59c l .rodata 00000000 $LC6 +0001d5a0 l .rodata 00000000 $LC7 +0001d5a4 l .rodata 00000000 $LC8 +0001d5a8 l .rodata 00000000 $LC9 +0001d5ac l .rodata 00000000 $LC10 00000000 l df *ABS* 00000000 music.c -0002a04d l O .data 00000001 isSlowedDown -0002a04e l O .data 00000002 previousSeqIndexChange -0002a04c l O .data 00000001 isSpeedup -0002a040 l O .data 00000002 previousSeqIndexName -0002a044 l O .data 00000004 display_song_name_flag -0002a048 l O .data 00000004 frames -00019000 l .rodata 00000000 $LC0 -00019004 l .rodata 00000000 $LC1 -00019008 l .rodata 00000000 $LC2 +0003aef1 l O .data 00000001 isSlowedDown +0003aef2 l O .data 00000002 previousSeqIndexChange +0003aef0 l O .data 00000001 isSpeedup +0003aee4 l O .data 00000002 previousSeqIndexName +0003aee8 l O .data 00000004 display_song_name_flag +0003aeec l O .data 00000004 frames +0001d5b0 l .rodata 00000000 $LC0 +0001d5b4 l .rodata 00000000 $LC1 +0001d5b8 l .rodata 00000000 $LC2 00000000 l df *ABS* 00000000 obj_comb.c -0001900c l .rodata 00000000 $LC0 -00019010 l .rodata 00000000 $LC1 +0001d5bc l .rodata 00000000 $LC0 +0001d5c0 l .rodata 00000000 $LC1 00000000 l df *ABS* 00000000 obj_kibako.c 00000000 l df *ABS* 00000000 obj_kibako2.c +00000000 l df *ABS* 00000000 obj_mure3.c 00000000 l df *ABS* 00000000 objects.c -000190a8 l .rodata 00000000 $LC1 -000190a4 l .rodata 00000000 $LC0 +0001d658 l .rodata 00000000 $LC1 +0001d654 l .rodata 00000000 $LC0 00000000 l df *ABS* 00000000 ocarina_buttons.c +00000000 l df *ABS* 00000000 ovl_bg_haka_tubo.c +00000000 l df *ABS* 00000000 ovl_bg_spot18_basket.c 00000000 l df *ABS* 00000000 pots.c 00000000 l df *ABS* 00000000 rainbow.c -000190f4 l O .rodata 00000015 cycle_colors -00019110 l .rodata 00000000 $LC0 -00019118 l .rodata 00000000 $LC1 -0001911c l .rodata 00000000 $LC2 +0001d6a4 l O .rodata 00000015 cycle_colors +0001d6c0 l .rodata 00000000 $LC0 +0001d6c8 l .rodata 00000000 $LC1 +0001d6cc l .rodata 00000000 $LC2 00000000 l df *ABS* 00000000 refill.c 00000000 l df *ABS* 00000000 rng.c -00019120 l .rodata 00000000 $LC0 -00019124 l .rodata 00000000 $LC1 +0001d6d0 l .rodata 00000000 $LC0 +0001d6d4 l .rodata 00000000 $LC1 +00000000 l df *ABS* 00000000 sage_gifts.c 00000000 l df *ABS* 00000000 save.c 00000000 l df *ABS* 00000000 scarecrow.c 00000000 l df *ABS* 00000000 scene.c 00000000 l df *ABS* 00000000 swim.c -00019128 l .rodata 00000000 $LC0 -0001912c l .rodata 00000000 $LC1 -00019130 l .rodata 00000000 $LC2 -00019134 l .rodata 00000000 $LC3 +0001d6f0 l .rodata 00000000 $LC0 +0001d6f4 l .rodata 00000000 $LC1 +0001d6f8 l .rodata 00000000 $LC2 +0001d6fc l .rodata 00000000 $LC3 00000000 l df *ABS* 00000000 text.c -0002a074 l O .data 00000004 text_buf -0002a078 l O .data 00000004 text_end -00019138 l .rodata 00000000 $LC0 +0001d700 l .rodata 00000000 $LC0 00000000 l df *ABS* 00000000 textures.c 00000000 l df *ABS* 00000000 trade_quests.c -0001913c l O .rodata 00000008 sMaskPaymentPrice +0001d710 l O .rodata 00000008 sMaskPaymentPrice 00000000 l df *ABS* 00000000 triforce.c -0002a07c l O .data 00000004 render_triforce_flag -0002a080 l O .data 00000004 frames -000193b0 l .rodata 00000000 $LC0 -000193b8 l .rodata 00000000 $LC1 -000193c0 l .rodata 00000000 $LC2 -000193c8 l .rodata 00000000 $LC3 +0003af5c l O .data 00000004 render_triforce_flag +0003af60 l O .data 00000004 frames +0001d980 l .rodata 00000000 $LC0 +0001d988 l .rodata 00000000 $LC1 +0001d990 l .rodata 00000000 $LC2 +0001d998 l .rodata 00000000 $LC3 00000000 l df *ABS* 00000000 twinrova.c 00000000 l df *ABS* 00000000 uninvertYaxis.c 00000000 l df *ABS* 00000000 util.c 00000000 l df *ABS* 00000000 weather.c -0000da10 g F .text 00000114 draw_gi_deku_nut -00020ad8 g O .data 00000004 RNG_SEED_INT -00013e94 g F .text 00000054 scale_factor -0000ae50 g F .text 0000034c sprite_texture -00017a7c g F .text 0000003c SaveFile_SetMaskAsPaid -00020da8 g O .data 00000001 menu_not_on_dup -000105d4 g F .text 0000001c give_defense -00010b6c g F .text 0000002c call_effect_function -000075f8 g F .text 0000034c read_file_data -000002c4 g F .text 000000f0 spawn_override_silver_rupee -00006b40 g F .text 000000a4 EnWonderItem_Multitag_DrawHack +00010be4 g F .text 00000114 draw_gi_deku_nut +000262f8 g O .data 00000004 RNG_SEED_INT +00017d78 g F .text 00000054 scale_factor +0000de70 g F .text 00000348 sprite_texture +0001bde0 g F .text 0000003c SaveFile_SetMaskAsPaid +00014054 g F .text 0000001c give_defense +00000000 *UND* 00000000 CFG_DUNGEON_REWARD_WORLDS +00014674 g F .text 0000002c call_effect_function +0001997c g F .text 0000010c BgSpot18Basket_BombDropHook +0000986c g F .text 0000034c read_file_data +000004a8 g F .text 00000108 spawn_override_silver_rupee +00008d90 g F .text 000000a4 EnWonderItem_Multitag_DrawHack 00000000 *UND* 00000000 PLAYER_ID -000106b4 g F .text 0000001c clear_excess_hearts -00015844 g F .text 00000078 object_index_or_spawn -0000bbfc g F .text 00000088 give_ice_trap +00014150 g F .text 00000114 open_gate_and_mask_shop +00014134 g F .text 0000001c clear_excess_hearts +000196ac g F .text 00000078 object_index_or_spawn +0000ed34 g F .text 00000088 give_ice_trap 00000000 *UND* 00000000 SHUFFLE_OCARINA_BUTTONS -00016318 g F .text 00000214 Sram_WriteSave -000162e8 g F .text 00000030 SsSram_ReadWrite_Safe -00012c74 g F .text 00000274 update_bombchu_trail_colors -000012d4 g F .text 00000038 draw_debug_float -000177a8 g F .text 0000003c GetTradeSlot -000125d0 g F .text 000000f0 Message_AddInteger +80020694 g *ABS* 00000000 Flags_GetTempClear +00000000 *UND* 00000000 DemoEffect_DrawJewel +0001a770 g F .text 00000224 Sram_WriteSave +0001a740 g F .text 00000030 SsSram_ReadWrite_Safe +00016b68 g F .text 00000274 update_bombchu_trail_colors +000017ac g F .text 00000038 draw_debug_float +0001bb0c g F .text 0000003c GetTradeSlot +00021970 g O .data 0000016c fire_rooms +000160a4 g F .text 000000f0 Message_AddInteger 00000000 *UND* 00000000 EXTENDED_INITIAL_SAVE_DATA -00008fb8 g F .text 0000007c item_overrides_init +0000ba90 g F .text 0000008c item_overrides_init 00000000 *UND* 00000000 MW_SEND_OWN_ITEMS -00015dd0 g F .text 0000001c draw_pot_hack -00010eb0 g F .text 00000080 scale_upgrade -00018948 g F .text 00000014 clear_twinrova_vars +00000000 *UND* 00000000 en_item00_update +00019f10 g F .text 0000001c draw_pot_hack +0001497c g F .text 00000074 scale_upgrade +00030df0 g O .data 00000001 randoGfxPoolIndex +0001cca8 g F .text 00000014 clear_twinrova_vars 00000000 *UND* 00000000 CHEST_HEART_TEXTURE -0001cf28 g O .data 00000004 a_note_glow_max -000176a0 g F .text 00000030 draw_int -00017d48 g F .text 00000044 TurnInTradeItem +00022598 g O .data 00000004 a_note_glow_max +0001ba04 g F .text 00000030 draw_int +8002071c g *ABS* 00000000 Flags_SetCollectible +00000000 *UND* 00000000 WEB_ID_STRING_TXT +0001c0ac g F .text 00000044 TurnInTradeItem +80020624 g *ABS* 00000000 Flags_SetTreasure +00013534 g F .text 000002ec draw_gi_stones 00000000 *UND* 00000000 CFG_INPUT_VIEWER -00004414 g F .text 0000005c d_right_dungeon_idx -00020da4 g O .data 00000004 CHEST_TEXTURE_MATCH_CONTENTS -0000cb40 g F .text 0000009c draw_gi_various_opa0 -000023ac g F .text 000001e8 draw_int_helper +00000d94 g F .text 00000008 DoorWarp1_ZoraSapphire_Overwrite +00005f2c g F .text 0000005c d_right_dungeon_idx +00026604 g O .data 00000004 CHEST_TEXTURE_MATCH_CONTENTS +0000fd14 g F .text 0000009c draw_gi_various_opa0 00000000 *UND* 00000000 CFG_DPAD_ON_THE_LEFT 00000000 *UND* 00000000 CFG_HEART_COLOR -00006a9c g F .text 000000a4 EnWonderitem_AfterInitHack -00018ece g O .rodata 00000002 left_alignment +80020658 g *ABS* 00000000 Flags_SetClear +00008d20 g F .text 00000070 EnWonderitem_AfterInitHack +0001d3fa g O .rodata 00000002 left_alignment 00000000 *UND* 00000000 CFG_CHILD_TRADE_SHUFFLE -0000d3dc g F .text 0000012c draw_gi_magic_arrows -00017d8c g F .text 0000001c IsClaimCheckTraded -00014eb8 g F .text 000000f8 display_song_name_on_file_select +000105b0 g F .text 0000012c draw_gi_magic_arrows +00000018 g F .text 00000008 Actor_GetAdditionalData +0001c0f0 g F .text 0000001c IsClaimCheckTraded +00000000 *UND* 00000000 EnItem00_Draw +00018d14 g F .text 00000160 display_song_name_on_file_select 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_ENEMY_INNER_ENABLED -0000bb84 g F .text 0000004c rupee_hud_color +0000ecbc g F .text 0000004c rupee_hud_color 00000000 *UND* 00000000 CFG_SONG_NAMES -00008f18 g F .text 00000074 Collectible_WaitForMessageBox -00016f70 g F .text 000001fc set_new_respawn +0000b990 g F .text 000000d4 Collectible_WaitForMessageBox +0001b470 g F .text 000001fc set_new_respawn 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_IDLE_OUTER_ENABLED -00010bac g F .text 00000078 hookshot_upgrade -00012a2c g F .text 000000a4 update_sword_trail_colors -000178d8 g F .text 00000038 SaveFile_TradeItemIsOwned -000092cc g F .text 00000054 lookup_override -000176e8 g F .text 00000054 init_textures -00018f90 g O .rodata 00000004 text_height -00019bd0 g .rodata 00000000 DPAD_RESOURCE_END +000146b0 g F .text 0000006c hookshot_upgrade +00016920 g F .text 000000a4 update_sword_trail_colors +0001bc3c g F .text 00000038 SaveFile_TradeItemIsOwned +0000bd64 g F .text 0000005c lookup_override +0001ba4c g F .text 00000054 init_textures +0001d540 g O .rodata 00000004 text_height +0001e1a0 g .rodata 00000000 DPAD_RESOURCE_END 00000000 *UND* 00000000 CFG_CORRECT_MODEL_COLORS -00010fa0 g F .text 00000070 stick_upgrade -00018d17 g O .rodata 00000001 debug_text_width -00020920 g O .data 000000fc adultSkeleton -0001ca84 g O .data 00000018 medals -0001722c g F .text 0000002c text_init -00018ed3 g O .rodata 00000001 input_icon_width +00014a54 g F .text 00000064 stick_upgrade +0001d179 g O .rodata 00000001 debug_text_width +0001b72c g F .text 00000048 print_char +00026140 g O .data 000000fc adultSkeleton +00022128 g O .data 00000018 medals +0001d3ff g O .rodata 00000001 input_icon_width 00000000 *UND* 00000000 INCOMING_PLAYER -0001cf60 g O .data 00000004 beating_no_dd -0001cf10 g O .data 00000004 c_note_font_glow_max +000225d0 g O .data 00000004 beating_no_dd +0000aeb0 g F .text 0000004c reset_buffer +00022580 g O .data 00000004 c_note_font_glow_max 00000000 *UND* 00000000 TRIFORCE_PIECES_REQUIRED -00006fcc g F .text 00000290 process_extern_ctxt +00009240 g F .text 00000290 process_extern_ctxt 00000800 g *ABS* 00000000 DPAD_RESOURCE_SIZE -0001e49c g O .data 00000108 silver_rupee_vars -00000018 g F .text 00000060 Actor_SetWorldToHome_End -00001320 g F .text 0000108c draw_debug_menu -00006a14 g F .text 00000088 EnItem00_ProximityCheck_Hack -0000a260 g F .text 00000084 drop_bombs_or_chus -0000e4ec g F .text 0000018c draw_gi_gs_token -0000f0f0 g F .text 000002d4 draw_gi_boss_keys -000137fc g F .text 00000074 FindSize -000215d0 g O .data 00000004 active_override_is_outgoing -0001060c g F .text 00000024 give_double_magic -0001cf54 g O .data 00000004 normal_dd -0000c440 g F .text 000000a4 draw_r -0000b7e8 g F .text 0000039c update_hud_colors -0000cfa8 g F .text 000000c0 draw_gi_various_xlu01 +00023cbc g O .data 00000108 silver_rupee_vars +00001c74 g F .text 000022a8 draw_debug_menu +00008b04 g F .text 00000088 EnItem00_ProximityCheck_Hack +0000d2a0 g F .text 00000084 drop_bombs_or_chus +000116c0 g F .text 0000018c draw_gi_gs_token +0001249c g F .text 000002d4 draw_gi_boss_keys +80020588 g *ABS* 00000000 Flags_SetUnknown +00021d80 g O .data 00000138 deku_rooms +000176e0 g F .text 00000074 FindSize +0001d704 g O .rodata 00000004 NUM_FONT_CHARS +00028444 g O .data 00000004 active_override_is_outgoing +0001408c g F .text 00000024 give_double_magic +000225c4 g O .data 00000004 normal_dd +0000f55c g F .text 000000a4 draw_r +0000e920 g F .text 0000039c update_hud_colors +0001017c g F .text 000000c0 draw_gi_various_xlu01 00000000 *UND* 00000000 CFG_DUNGEON_REWARDS -000183d8 g F .text 00000040 CanBuy_RightSideMask -0001ca74 g O .data 00000003 debug_text_color -00029f7a g O .data 00000001 adult_safe -000112b8 g F .text 00000080 letter_to_bottle -00018ecc g O .rodata 00000002 top_alignment +0001c73c g F .text 00000040 CanBuy_RightSideMask +00022118 g O .data 00000003 debug_text_color +0003ae1e g O .data 00000001 adult_safe +00014d34 g F .text 0000007c letter_to_bottle +0001d3f8 g O .rodata 00000002 top_alignment 00000000 *UND* 00000000 CFG_B_BUTTON_COLOR 8007e868 g *ABS* 00000000 z64_Gfx_SetupDL_42Opa -000141b8 g F .text 000000c0 collectible_draw -000215b4 g O .data 00000001 satisfied_pending_frames -00009104 g F .text 00000040 resolve_alternative_override +00028426 g O .data 00000001 satisfied_pending_frames +0000bdc0 g F .text 0000006c resolve_alternative_override 00000000 *UND* 00000000 CFG_CUSTOM_MESSAGE_1 -0000f96c g F .text 000002d8 draw_gi_chubag -0001775c g F .text 0000004c GetTradeItemByAP +00012d18 g F .text 000002d8 draw_gi_chubag +0001bac0 g F .text 0000004c GetTradeItemByAP 00000000 *UND* 00000000 SOA_UNLOCKS_CHEST_TEXTURE -000144a4 g F .text 00000064 ocarina_of_time_draw -00008d24 g F .text 00000048 check_ganon_entry -0001cea0 g O .data 00000010 items_sprite +00018264 g F .text 00000064 ocarina_of_time_draw +0000b948 g F .text 00000048 check_ganon_entry +00022510 g O .data 00000010 items_sprite +00000de0 g F .text 00000008 DoorWarp1_ShadowMedallion_Overwrite 00000000 *UND* 00000000 CFG_DUNGEON_REWARD_AREAS -000142dc g F .text 00000100 collectible_draw_other -0000d908 g F .text 00000108 draw_gi_goron_swords -00003034 g F .text 000012b8 draw_dpad_and_menu_utilities -0000ef14 g F .text 000001dc draw_gi_shrink_keys +00018118 g F .text 00000084 collectible_draw_other +00010adc g F .text 00000108 draw_gi_goron_swords +00004b4c g F .text 000012b8 draw_dpad_and_menu_utilities +000122c0 g F .text 000001dc draw_gi_shrink_keys 00000000 *UND* 00000000 CFG_DISPLAY_DPAD -000123b8 g F .text 0000003c before_skybox_init -00006940 g F .text 0000000c dungeon_info_is_drawn -0000a5ac g F .text 000000ac dispatch_item -00010810 g F .text 0000006c give_progressive_scale -00029f7c g O .data 00000002 illegal_model -000215bc g O .data 00000004 active_item_graphic_id -0001ce70 g O .data 00000010 dpad_sprite -0001cf50 g O .data 00000004 a_button +00015e8c g F .text 0000003c before_skybox_init +00008a30 g F .text 0000000c dungeon_info_is_drawn +00019a88 g F .text 00000108 BgSpot18Basket_RupeeDropHook +0000d594 g F .text 000000ac dispatch_item +0002242c g O .data 00000002 loaded_room_bit_offset +00000c18 g F .text 00000154 DoorWarp1_PlayerInRange_Overwrite +00000000 *UND* 00000000 PASSWORD +00014314 g F .text 0000006c give_progressive_scale +0003ae20 g O .data 00000002 illegal_model +00028430 g O .data 00000004 active_item_graphic_id +000224e0 g O .data 00000010 dpad_sprite +000225c0 g O .data 00000004 a_button 00000000 *UND* 00000000 CFG_SHOW_SETTING_INFO -0001cd7c g O .data 00000008 hash_sprites +00022424 g O .data 00000008 hash_sprites 00000000 *UND* 00000000 POTCRATE_GILDED_TEXTURE -00009320 g F .text 0000013c activate_override -000122b8 g F .text 00000054 before_game_state_update -00016e60 g F .text 00000048 store_scarecrow_fix -0001509c g F .text 0000010c obj_comb_drop_collectible -00002594 g F .text 000003a8 draw_debug_numbers -0000ce1c g F .text 0000018c draw_gi_silver_rupee_pouch -00018418 g F .text 00000028 set_triforce_render -000154fc g F .text 00000064 ObjKibako_SpawnCollectible_Hack -0001cf44 g O .data 00000004 a_note_r -0001092c g F .text 0000008c resolve_text_silver_rupee_pouches +0000bf30 g F .text 0000013c activate_override +8002049c g *ABS* 00000000 Flags_GetSwitch +00000d78 g F .text 0000000c DoorWarp1_IsShadowRewardObtained +00015d9c g F .text 0000005c before_game_state_update +0001b360 g F .text 00000048 store_scarecrow_fix +00018e74 g F .text 000000ec obj_comb_drop_collectible +00003f1c g F .text 000003a0 draw_debug_numbers +0000fff0 g F .text 0000018c draw_gi_silver_rupee_pouch +0001c77c g F .text 00000028 set_triforce_render +00019200 g F .text 000000e0 ObjKibako_SpawnCollectible_Hack +0000aefc g F .text 000007f0 manage_password +000225b4 g O .data 00000004 a_note_r +800af564 g *ABS* 00000000 Fault_AddHungupAndCrashImpl +00014430 g F .text 0000008c resolve_text_silver_rupee_pouches 00000000 *UND* 00000000 CFG_C_NOTE_COLOR 00000000 *UND* 00000000 OUTGOING_PLAYER 00000000 *UND* 00000000 CHEST_SILVER_TEXTURE -000211cc g O .data 000003e8 collectible_scene_flags_table -00006e98 g F .text 000000b8 EnWonderItem_Kill_Hack -00018a7c g F .text 00000240 override_weather_state -00020724 g O .data 00000100 FILENAME_ENCODING -000096e4 g F .text 00000044 push_delayed_item -00010da8 g F .text 00000084 slingshot_upgrade -00016b64 g F .text 000001d0 Sram_CopySave -00010a40 g F .text 00000034 resolve_text_small_keys_cmg -0001ca70 g O .data 00000001 float_precision -0001cfa8 g O .data 000014f4 item_draw_table -00016134 g F .text 00000028 health_and_magic_refill +0002835c g O .data 000000ca xflag_scene_table +0000e614 g F .text 000000cc close_rando_display_buffer +0000910c g F .text 000000b8 EnWonderItem_Kill_Hack +0001ce34 g F .text 00000240 override_weather_state +00025f44 g O .data 00000100 FILENAME_ENCODING +0000c314 g F .text 0000004c push_delayed_item +0001487c g F .text 00000080 slingshot_upgrade +0001af8c g F .text 000001d0 Sram_CopySave +00014544 g F .text 00000034 resolve_text_small_keys_cmg +00022115 g O .data 00000001 float_precision +00022618 g O .data 000016a4 item_draw_table +0001a368 g F .text 00000028 health_and_magic_refill 02000e00 g *ABS* 00000000 z64_EquippedItemOutlineTex -000161f0 g F .text 00000048 Seeded_Rand_Centered -0000be10 g F .text 000000d4 draw_b -0000c4e4 g F .text 000000a4 draw_ddown -00010390 g F .text 000000f0 set_silver_rupee_flags -0001b098 g .rodata 00000000 FONT_RESOURCE_END -0000e678 g F .text 000001d0 draw_gi_blue_fire_candle -00020e14 g O .data 00000001 bk_display -000176d0 g F .text 00000018 get_texture -000174c0 g F .text 000001e0 draw_int_size -00017af4 g F .text 000000ac SaveFile_NextOwnedTradeItem -000100d4 g F .text 00000008 no_effect -00000000 *UND* 00000000 CFG_SONG_NAME_POSITION -00012978 g F .text 00000044 shooting_gallery_message -00017490 g F .text 00000030 text_flush +0001a424 g F .text 00000048 Seeded_Rand_Centered +0000ef48 g F .text 000000d4 draw_b +0000f600 g F .text 000000a4 draw_ddown +00013e10 g F .text 000000f0 set_silver_rupee_flags +0001f668 g .rodata 00000000 FONT_RESOURCE_END +0001184c g F .text 000001d0 draw_gi_blue_fire_candle +00026674 g O .data 00000001 bk_display +0001ba34 g F .text 00000018 get_texture +0001be58 g F .text 000000ac SaveFile_NextOwnedTradeItem +0001b834 g F .text 000001d0 draw_int_size +00013b54 g F .text 00000008 no_effect +00016814 g F .text 00000044 shooting_gallery_message 00000000 *UND* 00000000 CFG_RAINBOW_SWORD_INNER_ENABLED -00017258 g F .text 000000a8 text_print_size -0002a070 g O .data 00000001 curr_scene_setup -00020efc g O .data 000002d0 alt_overrides -0001801c g F .text 00000154 SetupMaskShopHelloDialogOverride -0001ceb0 g O .data 00000010 medals_sprite -0000bc84 g F .text 00000048 draw_x_stick -00006f50 g F .text 00000064 interpolate -00010d28 g F .text 00000080 bow_upgrade +0001b774 g F .text 00000090 text_print_size +0003af58 g O .data 00000001 curr_scene_setup +00026868 g O .data 00000c80 alt_overrides +0001c380 g F .text 00000154 SetupMaskShopHelloDialogOverride +00022520 g O .data 00000010 medals_sprite +0000edbc g F .text 00000048 draw_x_stick +000091c4 g F .text 00000064 interpolate +00014808 g F .text 00000074 bow_upgrade 00000000 *UND* 00000000 VERSION_STRING_TXT -000005ac g F .text 00000034 agony_vibrate_setup -00010480 g F .text 00000090 give_silver_rupee -0001ce20 g O .data 00000010 item_digit_sprite -00008884 g F .text 0000025c draw_file_message -00029f73 g O .data 00000001 shooting_gallery_show_message -0000a150 g F .text 00000110 Item00_KillActorIfFlagIsSet -0000129c g F .text 00000038 draw_debug_int -00009838 g F .text 0000007c after_item_received -0000c588 g F .text 000000a4 draw_dup +0000083c g F .text 00000034 agony_vibrate_setup +00013f00 g F .text 00000090 give_silver_rupee +00022490 g O .data 00000010 item_digit_sprite +00016858 g F .text 00000028 treasure_chest_game_message +000206d4 g O .data 000000c0 actor_categories +0000aaf8 g F .text 000002ec draw_file_message +0003ae14 g O .data 00000001 shooting_gallery_show_message +0000d0a4 g F .text 000001fc Item00_KillActorIfFlagIsSet +00001774 g F .text 00000038 draw_debug_int +0000c4a8 g F .text 0000009c after_item_received +0000f6a4 g F .text 000000a4 draw_dup +000001f8 g F .text 00000054 Actor_StoreFlagByIndex 00000000 *UND* 00000000 SPOILER_AVAILABLE -00010b98 g F .text 00000014 no_upgrade -0001315c g F .text 00000224 update_navi_colors -00008dc0 g F .text 00000158 give_ganon_boss_key -00018ed2 g O .rodata 00000001 input_icon_height -00016188 g F .text 0000000c Seeded_Rand_Seed -00011130 g F .text 00000080 arrows_to_rupee -0001cf20 g O .data 00000004 a_note_font_glow_max -00019144 g O .rodata 00000268 trade_quest_items -0000d068 g F .text 00000118 draw_gi_various_opa0_xlu1 -000215d4 g O .data 00000010 active_override -0001ced0 g O .data 00000008 empty_dlist -0002a050 g O .data 00000004 RANDOMIZER_RNG_SEED -00017da8 g F .text 00000070 IsTradeItemTraded +000146a0 g F .text 00000010 no_upgrade +00017050 g F .text 00000224 update_navi_colors +00021838 g O .data 00000138 water_rooms +0001d3fe g O .rodata 00000001 input_icon_height +0001a3bc g F .text 0000000c Seeded_Rand_Seed +00014bc4 g F .text 00000078 arrows_to_rupee +00022590 g O .data 00000004 a_note_font_glow_max +0001d718 g O .rodata 00000268 trade_quest_items +0001023c g F .text 00000118 draw_gi_various_opa0_xlu1 +00028448 g O .data 00000010 active_override +00022540 g O .data 00000008 empty_dlist +0003aef4 g O .data 00000004 RANDOMIZER_RNG_SEED +0001c10c g F .text 00000070 IsTradeItemTraded 00000000 *UND* 00000000 INCOMING_ITEM -0001cf48 g O .data 00000004 c_button -0001cbd0 g O .data 00000004 dungeon_count -00010220 g F .text 00000014 give_dungeon_item -000042ec g F .text 00000128 draw_background -00010f30 g F .text 00000070 nut_upgrade +000225b8 g O .data 00000004 c_button +00022274 g O .data 00000004 dungeon_count +00013ca0 g F .text 00000014 give_dungeon_item +00005e04 g F .text 00000128 draw_background +000149f0 g F .text 00000064 nut_upgrade 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_PROP_OUTER_ENABLED -0000967c g F .text 00000068 push_coop_item -00018ed1 g O .rodata 00000001 input_number_width -000073cc g F .text 0000022c populate_variable -0001cc18 g O .data 00000004 scene_fog_distance -0001142c g F .text 00000050 upgrade_key_model -00015b60 g F .text 00000270 draw_pot +0000c2b0 g F .text 00000064 push_coop_item +0001d3fd g O .rodata 00000001 input_number_width +00000774 g F .text 00000094 Actor_Spawn_Hook +00000d9c g F .text 00000008 DoorWarp1_ForestMedallion_Overwrite +00009640 g F .text 0000022c populate_variable +000222bc g O .data 00000004 scene_fog_distance +00014e9c g F .text 000000cc upgrade_key_model +00019ca0 g F .text 00000270 draw_pot 00000000 *UND* 00000000 CFG_BOMBCHU_TRAIL_OUTER_COLOR -00017f40 g F .text 00000068 SetBiggoronAnimationState -000179c0 g F .text 0000003c SaveFile_UnsetTradeItemAsTraded -00013fdc g F .text 00000024 models_reset +0001c2a4 g F .text 00000068 SetBiggoronAnimationState +800e8530 g *ABS* 00000000 gActorOverlayTable +0001bd24 g F .text 0000003c SaveFile_UnsetTradeItemAsTraded +00017ec0 g F .text 00000024 models_reset 00000000 *UND* 00000000 TIME_STRING_TXT -00000578 g F .text 00000008 agony_inside_radius_setup -00009dfc g F .text 000000f0 get_collectible_flag_offset -0000fd7c g F .text 00000190 draw_gi_c_button_vertical -0000c6d0 g F .text 000000a4 draw_dright -0000e00c g F .text 0000016c draw_gi_scales -0001147c g F .text 00000df0 KaleidoScope_DrawItemSelect -00001154 g F .text 00000074 draw_forest_hallway_chest_base -00001314 g F .text 0000000c debug_menu_is_drawn -0001ce90 g O .data 00000010 quest_items_sprite -0000975c g F .text 00000070 after_key_received +00000808 g F .text 00000008 agony_inside_radius_setup +00013128 g F .text 00000190 draw_gi_c_button_vertical +0000f7ec g F .text 000000a4 draw_dright +000111e0 g F .text 0000016c draw_gi_scales +00014f68 g F .text 00000df0 KaleidoScope_DrawItemSelect +0000162c g F .text 00000074 draw_forest_hallway_chest_base +00001bc8 g F .text 0000000c debug_menu_is_drawn +00022500 g O .data 00000010 quest_items_sprite +0000c3bc g F .text 00000070 after_key_received 00000000 *UND* 00000000 PLANDOMIZER_USED -0002a088 g O .data 00000001 KAKARIKO_WEATHER_FORECAST -000189fc g F .text 0000003c heap_alloc -000215cc g O .data 00000004 active_item_row -0001230c g F .text 000000ac after_game_state_update +0003af68 g O .data 00000001 KAKARIKO_WEATHER_FORECAST +0001cd78 g F .text 0000003c heap_alloc +00028440 g O .data 00000004 active_item_row +00015df8 g F .text 00000094 after_game_state_update 00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE -00020e74 g O .data 00000080 outgoing_queue -00015e1c g F .text 0000001c draw_flying_pot_hack -00010510 g F .text 000000c4 give_silver_rupee_pouch -00000c14 g F .text 00000024 get_chest_type -0001c854 g O .data 000001ba dungeon_warps -00011338 g F .text 00000040 health_upgrade_cap -00004918 g F .text 00002028 draw_dungeon_info +000267e0 g O .data 00000080 outgoing_queue +00019f5c g F .text 0000001c draw_flying_pot_hack +00013f90 g F .text 000000c4 give_silver_rupee_pouch +000010ec g F .text 00000024 get_chest_type +00008be8 g F .text 000000d0 en_item00_update_hook +00021eb8 g O .data 000001ba dungeon_warps +00014db0 g F .text 0000003c health_upgrade_cap +00006430 g F .text 00002600 draw_dungeon_info 801043a0 g *ABS* 00000000 z64_SfxDefaultFreqAndVolScale -000123f4 g F .text 0000004c after_scene_init +00015ec8 g F .text 0000004c after_scene_init 00000000 *UND* 00000000 POTCRATE_SILVER_TEXTURE -0000ff0c g F .text 00000190 draw_gi_c_button_horizontal -0001c478 g O .data 00000154 bosses_warps +000132b8 g F .text 00000190 draw_gi_c_button_horizontal +00020bb4 g O .data 00000154 bosses_warps 80394588 g *ABS* 00000000 KaleidoScope_DrawQuadTextureRGBA32 -00014b50 g F .text 00000010 are_song_displayed +00021594 g O .data 00000138 spirit_rooms 00000000 *UND* 00000000 SRAM_SLOTS 00000000 *UND* 00000000 CFG_FILE_SELECT_HASH -00018e44 g O .rodata 0000000c icon_sprites +0001d2e8 g O .rodata 0000000c icon_sprites 00000000 *UND* 00000000 OCARINAS_SHUFFLED -00017320 g F .text 00000170 text_flush_size -00009b64 g F .text 0000028c get_item -0000d508 g F .text 00000144 draw_gi_various_opa10_xlu32 -0001cf2c g O .data 00000004 a_note_glow_base -00020da0 g O .data 00000004 CHEST_SIZE_MATCH_CONTENTS +0000c8f0 g F .text 0000029c get_item +000106dc g F .text 00000144 draw_gi_various_opa10_xlu32 +0002259c g O .data 00000004 a_note_glow_base +00026600 g O .data 00000004 CHEST_SIZE_MATCH_CONTENTS 00000000 *UND* 00000000 CFG_ADULT_TRADE_SHUFFLE -0001cf24 g O .data 00000004 a_note_font_glow_base +00022594 g O .data 00000004 a_note_font_glow_base 00000000 *UND* 00000000 CFG_RAINBOW_BOMBCHU_TRAIL_OUTER_ENABLED 00000000 *UND* 00000000 CFG_RAINBOW_SWORD_OUTER_ENABLED -000105f0 g F .text 0000001c give_magic -0001ce10 g O .data 00000010 linkhead_skull_sprite -000215c4 g O .data 00000004 active_item_text_id -0000bbd0 g F .text 00000014 ice_trap_is_pending -000215f0 g O .data 00008980 cfg_item_overrides -0001cf00 g O .data 00000004 text_cursor_border_max -0000fc44 g F .text 00000138 draw_gi_a_button +00014070 g F .text 0000001c give_magic +00022480 g O .data 00000010 linkhead_skull_sprite +00028438 g O .data 00000004 active_item_text_id +00013450 g F .text 000000e4 draw_gi_medallions +0000ed08 g F .text 00000014 ice_trap_is_pending +00028470 g O .data 00008980 cfg_item_overrides +00022570 g O .data 00000004 text_cursor_border_max +00012ff0 g F .text 00000138 draw_gi_a_button +00000000 *UND* 00000000 CFG_BIGOCTO_OVERRIDE_KEY 00000000 *UND* 00000000 SHUFFLE_CHEST_GAME -000095ec g F .text 00000090 push_pending_item -0000d180 g F .text 0000012c draw_rutos_letter -000102c8 g F .text 000000c8 give_small_key_ring -00000580 g F .text 0000002c agony_outside_radius_setup +0000c224 g F .text 0000008c push_pending_item +00010354 g F .text 0000012c draw_rutos_letter +000266c8 g O .data 00000100 room_flags +00013d48 g F .text 000000c8 give_small_key_ring +00000810 g F .text 0000002c agony_outside_radius_setup 00000000 *UND* 00000000 CFG_DPAD_DUNGEON_INFO_ENABLE -00015dec g F .text 00000030 draw_hba_pot_hack -000179fc g F .text 00000080 SaveFile_TradeItemIsTraded -0001497c g F .text 0000005c Health_IsCritical +00001bd4 g F .text 000000a0 decimal_to_hex +800206ac g *ABS* 00000000 Flags_SetTempClear +00019f2c g F .text 00000030 draw_hba_pot_hack +0001bd60 g F .text 00000080 SaveFile_TradeItemIsTraded +00018770 g F .text 0000005c Health_IsCritical +000213f4 g O .data 00000104 ice_rooms 00000000 *UND* 00000000 POTCRATE_HEART_TEXTURE -00017fa8 g F .text 0000005c ShouldSkullKidSpawn -000215c0 g O .data 00000004 active_item_object_id +0001c30c g F .text 0000005c ShouldSkullKidSpawn +00028434 g O .data 00000004 active_item_object_id 00000000 *UND* 00000000 CFG_RAINBOW_BOOM_TRAIL_INNER_ENABLED -00010e2c g F .text 00000084 wallet_upgrade +000148fc g F .text 00000080 wallet_upgrade 00000000 *UND* 00000000 EPONAS_SONG_NOTES -00013950 g F .text 000000ec check_skeleton +00017834 g F .text 000000ec check_skeleton 80394524 g *ABS* 00000000 KaleidoScope_MoveCursorToSpecialPos -000215b8 g O .data 00000004 active_item_fast_chest -00020ef8 g O .data 00000002 num_override_flags -00010794 g F .text 0000007c unlock_ocarina_note -0001cf34 g O .data 00000004 c_note_g -00008ae0 g F .text 00000244 draw_file_select_hash -0000c224 g F .text 000000d4 draw_cright -0001368c g F .text 00000170 FindModelData -0001cf14 g O .data 00000004 c_note_font_glow_base -00000aa0 g F .text 0000002c set_bombchu_bowling_prize_flag -00006e00 g F .text 00000098 EnWonderItem_Update_Hack +0002842c g O .data 00000004 active_item_fast_chest +00026864 g O .data 00000002 num_override_flags +00014298 g F .text 0000007c unlock_ocarina_note +000225a4 g O .data 00000004 c_note_g +0000b6ec g F .text 0000025c draw_file_select_hash +00000d6c g F .text 0000000c DoorWarp1_IsSpiritRewardObtained +0000cf84 g F .text 00000050 Set_NewFlag +0000f340 g F .text 000000d4 draw_cright +00017570 g F .text 00000170 FindModelData +00022584 g O .data 00000004 c_note_font_glow_base +00000f78 g F .text 0000002c set_bombchu_bowling_prize_flag +00009074 g F .text 00000098 EnWonderItem_Update_Hack 00000000 *UND* 00000000 MW_PROGRESSIVE_ITEMS_STATE -00000acc g F .text 00000148 get_chest_override +00000fa4 g F .text 00000148 get_chest_override +00000d8c g F .text 00000008 DoorWarp1_GoronRuby_Overwrite 00000000 *UND* 00000000 POTCRATE_TEXTURES_MATCH_CONTENTS -0000c39c g F .text 000000a4 draw_l -0000293c g F .text 000006f8 handle_dpad +80027090 g *ABS* 00000000 Actor_SetColorFilter +0000f4b8 g F .text 000000a4 draw_l +00004454 g F .text 000006f8 handle_dpad 00000000 *UND* 00000000 START_TWINROVA_FIGHT -0000b4b8 g F .text 000000f8 sprite_draw +0000e4d0 g F .text 000000f8 sprite_draw 00000000 *UND* 00000000 CFG_BOOM_TRAIL_OUTER_COLOR -0001ce40 g O .data 00000010 key_rupee_clock_sprite -000101dc g F .text 0000000c give_biggoron_sword -0001615c g F .text 0000002c Seeded_Rand_Next -000094b0 g F .text 000000b0 push_outgoing_override -0000a9cc g F .text 00000070 give_sarias_gift +00021324 g O .data 000000d0 hideout_rooms +8002060c g *ABS* 00000000 Flags_GetTreasure +000224b0 g O .data 00000010 key_rupee_clock_sprite +800206c8 g *ABS* 00000000 Flags_UnsetTempClear +00013c5c g F .text 0000000c give_biggoron_sword +0001a390 g F .text 0000002c Seeded_Rand_Next +0000c0c0 g F .text 000000c8 push_outgoing_override +80020640 g *ABS* 00000000 Flags_GetClear +0000d9e8 g F .text 00000070 give_sarias_gift +000140bc g F .text 00000018 give_quest_item +000216cc g O .data 0000016c shadow_rooms 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_ENEMY_OUTER_ENABLED -00009fb8 g F .text 0000008c Set_CollectibleOverrideFlag -0001cf18 g O .data 00000004 c_note_glow_max +00022588 g O .data 00000004 c_note_glow_max 00000000 *UND* 00000000 CFG_SLOWDOWN_MUSIC_WHEN_LOWHP -00014278 g F .text 00000064 heart_piece_draw +000180b4 g F .text 00000064 heart_piece_draw 00000000 *UND* 00000000 CFG_RAINBOW_BOMBCHU_TRAIL_INNER_ENABLED -0001789c g F .text 0000003c SaveFile_UnsetTradeItemAsOwned -0000d64c g F .text 0000015c draw_gi_bullet_bags -00004798 g F .text 00000084 is_bk_displayed -0000ab88 g F .text 000002c8 sprite_load -0000c97c g F .text 000000a4 draw_gi_sold_out -0000a0fc g F .text 00000054 Item_DropCollectible_Actor_Spawn_Override -000000f8 g F .text 00000170 Actor_StoreChestType -0001cec0 g O .data 00000010 stones_sprite +00019b90 g F .text 00000110 BgSpot18Basket_Heartpiecerupee_DropHook +0001bc00 g F .text 0000003c SaveFile_UnsetTradeItemAsOwned +00010820 g F .text 0000015c draw_gi_bullet_bags +000062b0 g F .text 00000084 is_bk_displayed +0000dba8 g F .text 000002c8 sprite_load +0000fb50 g F .text 000000a4 draw_gi_sold_out +00011c08 g F .text 000001d8 draw_gi_fairy +000002d8 g F .text 00000174 Actor_StoreChestType +00022530 g O .data 00000010 stones_sprite 00000000 *UND* 00000000 NO_COLLECTIBLE_HEARTS 00000000 *UND* 00000000 OUTGOING_KEY -0001c09c g O .data 000003da items_debug -00018f94 g O .rodata 00000004 text_width -0001cc00 g O .data 00000014 extern_ctxt -00017c4c g F .text 000000fc UpdateTradeEquips -000111b0 g F .text 00000080 bombs_to_rupee -0001cf08 g O .data 00000004 text_cursor_inner_max -0001cf3c g O .data 00000004 a_note_b -00020d98 g O .data 00000004 EXTRA_BOWLING_SHUFFLE +00020794 g O .data 0000041e items_debug +80020510 g *ABS* 00000000 Flags_UnsetSwitch +0001d544 g O .rodata 00000004 text_width +000222a4 g O .data 00000014 extern_ctxt +0001bfb0 g F .text 000000fc UpdateTradeEquips +00014c3c g F .text 00000078 bombs_to_rupee +00022578 g O .data 00000004 text_cursor_inner_max +000225ac g O .data 00000004 a_note_b +0001d370 g O .rodata 00000001 REQUIRED_PENDING_FRAMES +000265f8 g O .data 00000004 EXTRA_BOWLING_SHUFFLE +00013448 g F .text 00000008 draw_gi_nothing +000262fc g O .data 00000040 num_to_bits 00000000 *UND* 00000000 Gameplay_InitSkybox -0001cd84 g O .data 00000040 num_to_bits +00030df8 g O .data 0000a000 randoGfxPools 00001000 g *ABS* 00000000 TRIFORCE_SPRITE_RESOURCE_SIZE -0001ced8 g O .data 00000028 setup_db -00013d08 g F .text 00000060 get_object -000100e8 g F .text 000000bc give_triforce_piece -0001e5c8 g O .data 0000215c item_table +00022548 g O .data 00000028 setup_db +00017bec g F .text 00000060 get_object +00013b68 g F .text 000000bc give_triforce_piece +00023de8 g O .data 0000215c item_table 00000000 *UND* 00000000 CFG_UNINVERT_YAXIS_IN_FIRST_PERSON_CAMERA -0001ce80 g O .data 00000010 font_sprite -00000268 g F .text 0000005c Actor_After_UpdateAll_Hack -00015294 g F .text 000000b4 get_smallcrate_override -00013db4 g F .text 00000068 scale_top_matrix -000097cc g F .text 0000006c pop_ice_trap -0000db24 g F .text 00000118 draw_gi_recovery_heart -0001ca78 g O .data 00000009 reward_rows -0001716c g F .text 000000c0 manage_swim -00020e60 g O .data 00000010 collectible_override +00000000 *UND* 00000000 CFG_DUNGEON_PRECOMPLETED +000224f0 g O .data 00000010 font_sprite +0000044c g F .text 0000005c Actor_After_UpdateAll_Hack +00017c98 g F .text 00000068 scale_top_matrix +0000c42c g F .text 0000007c pop_ice_trap +00010cf8 g F .text 00000118 draw_gi_recovery_heart +0002211c g O .data 00000009 reward_rows +0001b66c g F .text 000000c0 manage_swim +0001cdf8 g F .text 0000003c resolve_overlay_addr +000267c8 g O .data 00000010 collectible_override 00000000 *UND* 00000000 TWINROVA_ACTION_TIMER -00013430 g F .text 00000048 update_misc_colors -00020e5c g O .data 00000001 GANON_BOSS_KEY_CONDITION -0000ab58 g F .text 00000030 sprite_bytes -00017ba0 g F .text 000000ac SaveFile_PrevOwnedTradeItem -0001cf38 g O .data 00000004 c_note_r +0001b15c g F .text 000000d8 Sram_EraseSave +00017324 g F .text 00000048 update_misc_colors +0003aefa g O .data 00000001 GANON_BOSS_KEY_CONDITION +00004320 g F .text 00000134 DemoEffect_DrawJewel_Hook +0000db78 g F .text 00000030 sprite_bytes +0001bf04 g F .text 000000ac SaveFile_PrevOwnedTradeItem +000225a8 g O .data 00000004 c_note_r 00000000 *UND* 00000000 CFG_C_BUTTON_COLOR -000193d0 g .rodata 00000000 DPAD_RESOURCE -00010ca4 g F .text 00000084 bomb_bag_upgrade -0000b19c g F .text 0000031c sprite_texture_4b -00020adc g O .data 00000004 Sram_InitNewSave -00012540 g F .text 00000090 Message_AddCharacter -00011010 g F .text 00000068 magic_upgrade -0001cde0 g O .data 00000010 buttons_sprite -00010aec g F .text 00000030 resolve_item_text_id -000159f8 g F .text 000000b4 get_pot_override -00010c24 g F .text 00000080 strength_upgrade -000106d0 g F .text 00000090 open_mask_shop -00013ce0 g F .text 00000028 load_object -00016d34 g F .text 00000074 Save_Write_Hook -000110b4 g F .text 0000007c ocarina_upgrade -0000d7a8 g F .text 00000160 draw_gi_small_rupees -00010b1c g F .text 00000050 resolve_upgrades -00015968 g F .text 0000004c c_block_ocarina -0000481c g F .text 000000fc draw_boss_key -00000c38 g F .text 00000224 set_chest_texture -0001ce50 g O .data 00000010 song_note_sprite +0001d9a0 g .rodata 00000000 DPAD_RESOURCE +00014790 g F .text 00000078 bomb_bag_upgrade +00000000 *UND* 00000000 CFG_SONG_NAME_STATE +00000000 *UND* 00000000 TCG_REQUIRES_LENS +0000e1b8 g F .text 00000318 sprite_texture_4b +0002633c g O .data 00000004 Sram_InitNewSave +00016014 g F .text 00000090 Message_AddCharacter +000017e4 g F .text 00000330 draw_timeofday +0001d708 g O .rodata 00000004 FONT_CHAR_TEX_HEIGHT +00014ab8 g F .text 0000005c magic_upgrade +00022450 g O .data 00000010 buttons_sprite +000145f0 g F .text 00000030 resolve_item_text_id +0000be78 g F .text 0000005c lookup_override_by_newflag +00022430 g O .data 00000004 loaded_scene_room_setup +0001471c g F .text 00000074 strength_upgrade +00017bc4 g F .text 00000028 load_object +0001b234 g F .text 00000074 Save_Write_Hook +00014b4c g F .text 00000078 ocarina_upgrade +0001097c g F .text 00000160 draw_gi_small_rupees +00014620 g F .text 00000054 resolve_upgrades +000197d0 g F .text 0000004c c_block_ocarina +00006334 g F .text 000000fc draw_boss_key +00001110 g F .text 00000224 set_chest_texture +000224c0 g O .data 00000010 song_note_sprite 00000000 *UND* 00000000 CFG_A_NOTE_COLOR -0001cf5c g O .data 00000004 normal_no_dd -0000109c g F .text 000000a4 should_draw_forest_hallway_chest -0001cf4c g O .data 00000004 b_button -00014918 g F .text 00000064 bowling_heart_piece_draw -00016238 g F .text 000000b0 Save_Open -0000b5b0 g F .text 00000238 gfx_init -00008f8c g F .text 0000002c override_flags_init -0000bccc g F .text 00000074 draw_y_stick -00018eb8 g O .rodata 00000006 defaultDDHeart -000129bc g F .text 00000070 display_misc_messages -00018d16 g O .rodata 00000001 debug_text_height -00018d74 g O .rodata 00000042 freecam_modes -000100dc g F .text 0000000c full_heal -0001cf30 g O .data 00000004 c_note_b -0000a8f4 g F .text 000000d8 get_skulltula_token +00000000 *UND* 00000000 DemoEffect_DrawJewel_AfterHook +0001a4c0 g F .text 000001d0 give_sage_gifts +000225cc g O .data 00000004 normal_no_dd +00001574 g F .text 000000a4 should_draw_forest_hallway_chest +000225bc g O .data 00000004 b_button +0001870c g F .text 00000064 bowling_heart_piece_draw +0001a690 g F .text 000000b0 Save_Open +0000e6e0 g F .text 00000240 gfx_init +0000ba64 g F .text 0000002c override_flags_init +0000ee04 g F .text 00000074 draw_y_stick +0001d3e4 g O .rodata 00000006 defaultDDHeart +00016880 g F .text 000000a0 display_misc_messages +0001d178 g O .rodata 00000001 debug_text_height +0001d218 g O .rodata 00000042 freecam_modes +00013b5c g F .text 0000000c full_heal +000225a0 g O .data 00000004 c_note_b +00001b14 g F .text 000000b4 get_flag +00000ba0 g F .text 00000078 DoorWarp1_PlayerInRange +0000d908 g F .text 000000e0 get_skulltula_token 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_IDLE_INNER_ENABLED -0002a058 g O .data 00000018 extended_savectx -0000aa3c g F .text 000000b8 fairy_ocarina_getitem -0000bbe4 g F .text 00000018 push_pending_ice_trap -0000c2f8 g F .text 000000a4 draw_z +0003af00 g O .data 00000058 extended_savectx +0000da58 g F .text 000000bc fairy_ocarina_getitem +0000ed1c g F .text 00000018 push_pending_ice_trap +000223e0 g O .data 00000001 password_index +00021cb0 g O .data 000000d0 dc_rooms +00000020 g F .text 000000bc Actor_BuildFlag +0000f414 g F .text 000000a4 draw_z 00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_ENABLE -000147d8 g F .text 00000140 bowling_bomb_bag_draw -00015680 g F .text 000001c4 ObjKibako2_Draw +000185c8 g F .text 00000144 bowling_bomb_bag_draw +000193cc g F .text 000001c4 ObjKibako2_Draw 00000000 *UND* 00000000 WORLD_STRING_TXT 80104394 g *ABS* 00000000 z64_SfxDefaultPos -00018ed0 g O .rodata 00000001 input_number_height -0000694c g F .text 000000c8 EnItem00_OutgoingAction -00016194 g F .text 00000014 Seeded_Reset -0001cf58 g O .data 00000004 beating_dd -000005e0 g F .text 00000158 draw_agony_graphic -00011230 g F .text 00000088 seeds_to_rupee -00010630 g F .text 0000000c give_fairy_ocarina +0001d3fc g O .rodata 00000001 input_number_height +00008a3c g F .text 000000c8 EnItem00_OutgoingAction +0000be2c g F .text 0000004c get_override_search_key_by_newflag +800206e8 g *ABS* 00000000 Flags_GetCollectible +0001a3c8 g F .text 00000014 Seeded_Reset +000225c8 g O .data 00000004 beating_dd +00000870 g F .text 00000158 draw_agony_graphic +00014cb4 g F .text 00000080 seeds_to_rupee +0000f974 g F .text 00000080 is_hook_static +000140b0 g F .text 0000000c give_fairy_ocarina 8039eab8 g *ABS* 00000000 z64_sEquipMoveTimer -00014084 g F .text 0000004c lookup_model -00029f71 g O .data 00000001 OPEN_KAKARIKO -00020ef4 g O .data 00000004 collectible_override_flags -00013478 g F .text 00000214 draw_illegal_model_text +00017f70 g F .text 00000050 lookup_model +0003ae11 g O .data 00000001 OPEN_KAKARIKO +00026860 g O .data 00000004 collectible_override_flags +00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE +000211ec g O .data 00000138 gtg_rooms +0001736c g F .text 00000204 draw_illegal_model_text 00000000 *UND* 00000000 CHEST_LENS_ONLY -0001ca9c g O .data 00000134 dungeons -0001ca10 g O .data 00000060 menu_categories +00022140 g O .data 00000134 dungeons +00022074 g O .data 000000a0 menu_categories 00000000 *UND* 00000000 CFG_CUSTOM_MESSAGE_2 -00029f79 g O .data 00000001 child_safe +0003ae1d g O .data 00000001 child_safe 00000000 *UND* 00000000 CFG_DUNGEON_INFO_ENABLE -00000078 g F .text 00000080 Actor_StoreFlagInRotation 801043a8 g *ABS* 00000000 z64_SfxDefaultReverb 00000000 *UND* 00000000 CFG_DUNGEON_IS_MQ -00029f78 g O .data 00000001 missing_dlist -000215e8 g O .data 00000004 dummy_actor -00012ad0 g F .text 000001a4 update_boomerang_trail_colors +0003ae1c g O .data 00000001 missing_dlist +00028464 g O .data 00000004 dummy_actor +000169c4 g F .text 000001a4 update_boomerang_trail_colors +0001d70c g O .rodata 00000004 FONT_CHAR_TEX_WIDTH +800204d0 g *ABS* 00000000 Flags_SetSwitch 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_NPC_OUTER_ENABLED -0000f698 g F .text 000002d4 draw_gi_boss_altflip +00012a44 g F .text 000002d4 draw_gi_boss_altflip 00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_NEED_COMPASS 80394b00 g *ABS* 00000000 KaleidoScope_DrawCursor 800f8d2c g *ABS* 00000000 z64_ItemIcons -0001cf0c g O .data 00000004 text_cursor_inner_base +0002257c g O .data 00000004 text_cursor_inner_base +80020554 g *ABS* 00000000 Flags_GetUnknown +00000000 *UND* 00000000 REWARDS_AS_ITEMS +000266b8 g O .data 00000006 buffer_password 00000000 *UND* 00000000 CUSTOM_KEY_MODELS -00017300 g F .text 00000020 text_print -00017840 g F .text 00000024 IsAdultTradeItem -00010760 g F .text 00000018 give_bombchus -00015ea0 g F .text 00000068 EnTuboTrap_DropCollectible_Hack -00014000 g F .text 00000084 lookup_model_by_override -0001cf1c g O .data 00000004 c_note_glow_base -00008d6c g F .text 00000054 countSetBitsRec -00019bd0 g .rodata 00000000 FONT_RESOURCE +00000000 *UND* 00000000 EnItem00_Init +0001b804 g F .text 00000030 text_print +0001bba4 g F .text 00000024 IsAdultTradeItem +00014264 g F .text 00000018 give_bombchus +0001a054 g F .text 000000e8 EnTuboTrap_DropCollectible_Hack +00017ee4 g F .text 0000008c lookup_model_by_override +0002258c g O .data 00000004 c_note_glow_base +0001a46c g F .text 00000054 countSetBitsRec +00021c14 g O .data 0000009c jabu_rooms +0001e1a0 g .rodata 00000000 FONT_RESOURCE 00000000 *UND* 00000000 POTCRATE_GOLD_TEXTURE 8038ef94 g *ABS* 00000000 KaleidoScope_SetCursorVtx -00020e5a g O .data 00000002 GANON_BOSS_KEY_CONDITION_COUNT -000101a4 g F .text 00000038 give_tycoon_wallet +0003aef8 g O .data 00000002 GANON_BOSS_KEY_CONDITION_COUNT +800ce7b4 g *ABS* 00000000 sprintf +00013c24 g F .text 00000038 give_tycoon_wallet 00000000 *UND* 00000000 CFG_RAINBOW_TUNIC_ENABLED -0001cf04 g O .data 00000004 text_cursor_border_base -000215ec g O .data 00000004 item_overrides_count -0000ec3c g F .text 0000013c draw_gi_song_notes +000266be g O .data 00000002 cooldown +00022574 g O .data 00000004 text_cursor_border_base +00028468 g O .data 00000004 item_overrides_count +00011fe8 g F .text 0000013c draw_gi_song_notes 00000000 *UND* 00000000 CFG_BOOM_TRAIL_INNER_COLOR -00015e38 g F .text 00000068 ObjTsubo_SpawnCollectible_Hack -0000cbdc g F .text 000000f0 draw_gi_various_opa1023 -000177fc g F .text 00000018 GetTradeItemMax -000177e4 g F .text 00000018 GetTradeItemMin -00009984 g F .text 000001e0 handle_pending_items -00011078 g F .text 0000003c bombchu_upgrade -0000f3c4 g F .text 000002d4 draw_gi_boss_altered -000004c0 g F .text 000000b8 Player_SpawnEntry_Hack -00013ee8 g F .text 000000a8 draw_model +00019f78 g F .text 000000dc ObjTsubo_SpawnCollectible_Hack +0000fdb0 g F .text 000000f0 draw_gi_various_opa1023 +0001bb60 g F .text 00000018 GetTradeItemMax +0001bb48 g F .text 00000018 GetTradeItemMin +0000c710 g F .text 000001e0 handle_pending_items +00014b14 g F .text 00000038 bombchu_upgrade +00021080 g O .data 0000016c ganon_rooms +00012770 g F .text 000002d4 draw_gi_boss_altered +80020674 g *ABS* 00000000 Flags_UnsetClear +000006bc g F .text 000000b8 Player_SpawnEntry_Hack +00022114 g O .data 00000001 menu_cooldown +00017dcc g F .text 000000a8 draw_model 00000000 *UND* 00000000 CFG_DUNGEON_INFO_SILVER_RUPEES -00016da8 g F .text 000000b8 Save_Init_Write_Hook -00010670 g F .text 00000018 give_bean_pack -00017814 g F .text 0000002c IsTradeItem -0000cccc g F .text 00000150 draw_gi_wallets -000140d0 g F .text 000000e8 shop_draw -00012ee8 g F .text 00000274 get_bombchu_back_color -0000a0a8 g F .text 00000054 Room_Change_Actor_Kill_Hack -0001652c g F .text 00000638 Sram_VerifyAndLoadAllSaves -0001063c g F .text 00000018 give_song -0001cc14 g O .data 00000004 last_fog_distance +0001b2a8 g F .text 000000b8 Save_Init_Write_Hook +000214f8 g O .data 0000009c botw_rooms +000140f0 g F .text 00000018 give_bean_pack +00000000 *UND* 00000000 Actor_Spawn_Continue +0001bb78 g F .text 0000002c IsTradeItem +0000fea0 g F .text 00000150 draw_gi_wallets +00017fc0 g F .text 000000f4 shop_draw +00019860 g F .text 0000011c BgHakaTubo_DropCollectible_Hack +00016ddc g F .text 00000274 get_bombchu_back_color +0000d048 g F .text 0000005c Room_Change_Actor_Kill_Hack +0001a994 g F .text 000005f8 Sram_VerifyAndLoadAllSaves +000222b8 g O .data 00000004 last_fog_distance 00000000 *UND* 00000000 FREE_BOMBCHU_DROPS -00011378 g F .text 000000b4 bombchus_to_bag -00018ec0 g O .rodata 00000006 defaultHeart -0001cf40 g O .data 00000004 a_note_g -0001226c g F .text 0000004c c_init +00014dec g F .text 000000b0 bombchus_to_bag +0001d3ec g O .rodata 00000006 defaultHeart +0000e5c8 g F .text 0000000c rando_display_buffer_init +00028428 g O .data 00000002 incoming_junk +000225b0 g O .data 00000004 a_note_g +00015d58 g F .text 00000044 c_init 00000000 *UND* 00000000 CHEST_GILDED_TEXTURE -00018170 g F .text 00000268 TryPaybackMaskOverride -000149d8 g F .text 00000178 manage_music_changes +0001c4d4 g F .text 00000268 TryPaybackMaskOverride +000187cc g F .text 00000178 manage_music_changes 00000000 *UND* 00000000 CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE 00000000 *UND* 00000000 CFG_RAINBOW_BOOM_TRAIL_OUTER_ENABLED -0001ce60 g O .data 00000010 triforce_sprite -000003b4 g F .text 0000010c Actor_SpawnEntry_Hack +000224d0 g O .data 00000010 triforce_sprite +000005b0 g F .text 0000010c Actor_SpawnEntry_Hack 00000000 *UND* 00000000 EXTERN_DAMAGE_MULTIPLYER -00029f72 g O .data 00000001 MAX_RUPEES -00014508 g F .text 000002d0 item_etcetera_draw -0001cdf0 g O .data 00000010 ocarina_button_sprite +0003ae12 g O .data 00000001 MAX_RUPEES +0000cb98 g F .text 00000380 get_xflag_bit_offset +000182c8 g F .text 00000300 item_etcetera_draw +00022460 g O .data 00000010 ocarina_button_sprite 8039eab0 g *ABS* 00000000 z64_sEquipState -0001087c g F .text 000000b0 resolve_text_silver_rupees +00019590 g F .text 0000011c Obj_Mure3_RupeeCircle_DropRupee +00014380 g F .text 000000b0 resolve_text_silver_rupees 00000000 *UND* 00000000 CHEST_GOLD_TEXTURE 00000000 *UND* 00000000 SPEED_MULTIPLIER -00007944 g F .text 00000ef0 draw_file_icons -00017864 g F .text 00000038 SaveFile_SetTradeItemAsOwned -000215c8 g O .data 00000004 active_item_action_id -000098b4 g F .text 000000d0 try_pending_item +00009bb8 g F .text 00000ee4 draw_file_icons +0001bbc8 g F .text 00000038 SaveFile_SetTradeItemAsOwned +0002843c g O .data 00000004 active_item_action_id +0003ae13 g O .data 00000001 treasure_chest_game_show_message +0000ae70 g F .text 00000040 is_buffer_password_clear +000274e8 g O .data 00000bb8 xflag_room_blob +0000c544 g F .text 000001cc try_pending_item 000014c8 g *ABS* 00000000 FONT_RESOURCE_SIZE -0000de98 g F .text 00000174 draw_bronze_scale -0000ca20 g F .text 00000120 draw_gi_compass -00020ba8 g O .data 000001f0 texture_table -00010688 g F .text 0000002c fill_wallet_upgrade -0000c8bc g F .text 000000c0 draw_gi_eggs_and_medallions -0002a084 g O .data 00000004 heap_next -0000130c g F .text 00000008 debug_utilities +0001106c g F .text 00000174 draw_bronze_scale +0000fbf4 g F .text 00000120 draw_gi_compass +00026408 g O .data 000001f0 texture_table +00014108 g F .text 0000002c fill_wallet_upgrade +0000cf18 g F .text 0000006c Get_NewFlag +0000fa90 g F .text 000000c0 draw_gi_eggs_and_medallions +0003af64 g O .data 00000004 heap_next +000042bc g F .text 00000064 debug_utilities 00000000 *UND* 00000000 MW_PROGRESSIVE_ITEMS_ENABLE -00010654 g F .text 0000001c ice_trap_effect -00017ab8 g F .text 0000003c SaveFile_MaskIsPaid -0000ea34 g F .text 00000208 draw_gi_poe_bottles -00012440 g F .text 00000100 c_equipment_menu_slot_filled -00009eec g F .text 000000cc Get_CollectibleOverrideFlag +000140d4 g F .text 0000001c ice_trap_effect +0001be1c g F .text 0000003c SaveFile_MaskIsPaid +00011de0 g F .text 00000208 draw_gi_poe_bottles +00015f14 g F .text 00000100 c_equipment_menu_slot_filled 00000000 *UND* 00000000 FAST_CHESTS 00000000 *UND* 00000000 CURR_ACTOR_SPAWN_INDEX -000101e8 g F .text 00000038 give_bottle +00013c68 g F .text 00000038 give_bottle +00020674 g O .data 00000060 flag_categories 00000000 *UND* 00000000 SOA_UNLOCKS_POTCRATE_TEXTURE +800205c8 g *ABS* 00000000 Flags_UnsetUnknown 00000000 g F .text 00000018 after_spawn_override_silver_rupee 00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_NEED_ALTAR -0001ce00 g O .data 00000010 heart_sprite -0000bfa8 g F .text 000000d4 draw_cdown -00000910 g F .text 00000190 select_bombchu_bowling_prize -00009034 g F .text 000000d0 lookup_override_by_key -0000c150 g F .text 000000d4 draw_cleft -00013a3c g F .text 00000238 check_model_skeletons -00009df0 g F .text 0000000c reset_collectible_mutex -000215e4 g O .data 00000002 drop_collectible_override_flag -00006be4 g F .text 0000021c EnWonderItem_DropCollectible_Hack +00022470 g O .data 00000010 heart_sprite +0000f0c4 g F .text 000000d4 draw_cdown +00000de8 g F .text 00000190 select_bombchu_bowling_prize +0000bc74 g F .text 000000f0 lookup_override_by_key +0003ae00 g O .data 00000010 rando_overlay_db +0000f26c g F .text 000000d4 draw_cleft +00017920 g F .text 00000238 check_model_skeletons +0000cb8c g F .text 0000000c reset_collectible_mutex +0002845c g O .data 00000008 drop_collectible_override_flag +00008e34 g F .text 00000240 EnWonderItem_DropCollectible_Hack 00000000 *UND* 00000000 SHUFFLE_SILVER_RUPEES -00013c74 g F .text 0000006c load_object_file -0000a2e4 g F .text 000002c8 get_override_drop_id -0000dd44 g F .text 00000154 draw_gi_magic_spells -00015348 g F .text 000001b4 ObjKibako_Draw -00009560 g F .text 0000008c move_outgoing_queue -00004470 g F .text 00000328 draw_silver_rupee_count +00017b58 g F .text 0000006c load_object_file +0000d324 g F .text 00000270 get_override_drop_id +0000bed4 g F .text 0000005c resolve_alternative_flag +00010f18 g F .text 00000154 draw_gi_magic_spells +0001904c g F .text 000001b4 ObjKibako_Draw +0000c188 g F .text 0000009c move_outgoing_queue +00005f88 g F .text 00000328 draw_silver_rupee_count 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_NPC_INNER_ENABLED -00020824 g O .data 000000fc childSkeleton -00020d9c g O .data 00000004 CHEST_SIZE_TEXTURE +00026044 g O .data 000000fc childSkeleton +000265fc g O .data 00000004 CHEST_SIZE_TEXTURE +00000dc0 g F .text 00000018 DoorWarp1_WaterMedallion_Overwrite 00000000 *UND* 00000000 CHEST_SKULL_TEXTURE -00020ae0 g O .data 000000c8 respawnsByScene -00013e1c g F .text 00000078 draw_model_low_level -0000e848 g F .text 000001ec draw_gi_fairy_lantern -00015560 g F .text 0000006c ObjKibako2_SpawnCollectible_Hack -000158bc g F .text 000000ac enitem00_set_link_incoming_item_id -0000e348 g F .text 000001a4 draw_gi_mirror_shield +00026340 g O .data 000000c8 respawnsByScene +00017d00 g F .text 00000078 draw_model_low_level +00011a1c g F .text 000001ec draw_gi_fairy_lantern +000192e0 g F .text 000000ec ObjKibako2_SpawnCollectible_Hack +00019724 g F .text 000000ac enitem00_set_link_incoming_item_id +0001151c g F .text 000001a4 draw_gi_mirror_shield 00000000 *UND* 00000000 PLAYER_NAMES -0000c774 g F .text 000000ac draw_input_viewer -0000bd40 g F .text 000000d0 draw_a -00017e18 g F .text 00000128 Inventory_ReplaceItem_Override +0000f890 g F .text 000000e4 draw_input_viewer +0000ee78 g F .text 000000d0 draw_a +0001c17c g F .text 00000128 Inventory_ReplaceItem_Override 00000000 *UND* 00000000 CFG_DUNGEON_INFO_MQ_NEED_MAP -00016ea8 g F .text 000000c8 get_current_scene_setup_number -000151a8 g F .text 000000ec ObjComb_Update -0001009c g F .text 00000038 base_draw_gi_model +0001b3a8 g F .text 000000c8 get_current_scene_setup_number +00018f60 g F .text 000000ec ObjComb_Update +00013b1c g F .text 00000038 base_draw_gi_model 00000000 *UND* 00000000 OUTGOING_ITEM -00014fb0 g F .text 000000ec get_beehive_override +00021018 g O .data 00000068 dungeon_rooms 8039eaa0 g *ABS* 00000000 z64_AmmoItems -00017910 g F .text 00000078 SaveFile_UpdateShiftableItem -00018004 g F .text 00000018 IsCuccoGivenToCuccoLady -00029f70 g O .data 00000001 COMPLETE_MASK_QUEST -00014440 g F .text 00000064 skull_token_draw -0000a044 g F .text 00000064 Item_DropCollectible_Room_Hack -00017988 g F .text 00000038 SaveFile_SetTradeItemAsTraded +0001bc74 g F .text 00000078 SaveFile_UpdateShiftableItem +0001c368 g F .text 00000018 IsCuccoGivenToCuccoLady +0003ae10 g O .data 00000001 COMPLETE_MASK_QUEST +00000000 *UND* 00000000 CFG_MAGIC_COLOR +00018200 g F .text 00000064 skull_token_draw +0000cfd4 g F .text 00000074 Item_DropCollectible_Room_Hack +0001bcec g F .text 00000038 SaveFile_SetTradeItemAsTraded +00008b8c g F .text 0000005c EnItem00_Init_Hook +00000dd8 g F .text 00000008 DoorWarp1_SpiritMedallion_Overwrite 80394200 g *ABS* 00000000 KaleidoScope_QuadTextureIA8 00000000 *UND* 00000000 CFG_TEXT_CURSOR_COLOR -0000ed78 g F .text 0000019c draw_gi_small_keys -00000f58 g F .text 000000fc draw_chest_lid -0001cd3c g O .data 00000040 hash_symbols -000159b4 g F .text 00000044 can_spawn_epona -0001c098 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE_END -0001282c g F .text 0000014c Message_Decode_Additional_Control_Codes -00006fb4 g F .text 00000018 extern_scene_init -00013d68 g F .text 0000004c set_object_segment -00000738 g F .text 000001d8 draw_agony -000109b8 g F .text 00000088 resolve_text_small_keys -000189e8 g F .text 00000014 heap_init -000011c8 g F .text 000000d4 draw_forest_hallway_chest_lid +000000dc g F .text 0000011c Actor_StoreFlag +00012124 g F .text 0000019c draw_gi_small_keys +00001430 g F .text 000000fc draw_chest_lid +000223e4 g O .data 00000040 hash_symbols +0001981c g F .text 00000044 can_spawn_epona +00020668 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE_END +00016300 g F .text 00000514 Message_Decode_Additional_Control_Codes +00009228 g F .text 00000018 extern_scene_init +00008cb8 g F .text 00000068 EnItem00_Draw_Hook +00017c4c g F .text 0000004c set_object_segment +000009c8 g F .text 000001d8 draw_agony +000144bc g F .text 00000088 resolve_text_small_keys +0001cd64 g F .text 00000014 heap_init +000016a0 g F .text 000000d4 draw_forest_hallway_chest_lid 8039eab4 g *ABS* 00000000 z64_sEquipAnimTimer -00013870 g F .text 000000e0 FindHierarchy +00017754 g F .text 000000e0 FindHierarchy 00000000 *UND* 00000000 CFG_RAINBOW_NAVI_PROP_INNER_ENABLED -000143dc g F .text 00000064 heart_container_draw -0000c820 g F .text 0000009c draw_gi_bombchu_and_masks -00029f80 g O .data 000000c0 object_slots -0001c5cc g O .data 00000286 overworld_warps -00010234 g F .text 00000094 give_small_key +0001819c g F .text 00000064 heart_container_draw +00028458 g O .data 00000004 spawn_actor_with_flag +0000f9f4 g F .text 0000009c draw_gi_bombchu_and_masks +0003ae24 g O .data 000000c0 object_slots +00020d08 g O .data 0000030e overworld_warps +800c7684 g *ABS* 00000000 Audio_StopCurrentMusic +00013cb4 g F .text 00000094 give_small_key +000266c0 g O .data 00000002 tentatives 00000000 *UND* 00000000 CFG_DUNGEON_INFO_MQ_ENABLE 00000000 *UND* 00000000 POTCRATE_SKULL_TEXTURE -00001140 g F .text 00000014 get_dummy_chest -0001cdc4 g O .data 00000015 items -0000e178 g F .text 000001d0 draw_gi_potions -0001ce30 g O .data 00000010 rupee_digit_sprite +00001618 g F .text 00000014 get_dummy_chest +00022434 g O .data 00000015 items +0001134c g F .text 000001d0 draw_gi_potions +000224a0 g O .data 00000010 rupee_digit_sprite 00000000 *UND* 00000000 C_HEAP -0000a658 g F .text 0000029c item_give_collectible -00015f08 g F .text 0000022c get_rainbow_color +0000d640 g F .text 000002c8 item_give_collectible +0001a13c g F .text 0000022c get_rainbow_color 00000000 *UND* 00000000 CFG_BOMBCHU_TRAIL_INNER_COLOR +00021adc g O .data 00000138 forest_rooms 00000000 *UND* 00000000 KEYRING_BOSSKEY_CONDITION -00009144 g F .text 00000188 get_override_search_key -00020e58 g O .data 00000001 NO_ESCAPE_SEQUENCE -0000945c g F .text 00000054 clear_override +0000bb1c g F .text 00000158 get_override_search_key +000266c2 g O .data 00000001 NO_ESCAPE_SEQUENCE +0000c06c g F .text 00000054 clear_override 8039f114 g *ABS* 00000000 z64_SlotAgeReqs -0001895c g F .text 0000008c manage_uninvert_yaxis -0000c62c g F .text 000000a4 draw_dleft -000155cc g F .text 000000b4 get_crate_override -0000d2ac g F .text 00000130 draw_gi_coins_and_cuccos -00009728 g F .text 00000034 pop_pending_item -000161a8 g F .text 00000048 Seeded_Rand_ZeroOne -00010a74 g F .text 0000003c resolve_text_keyrings +0001ccbc g F .text 000000a8 manage_uninvert_yaxis +0000f748 g F .text 000000a4 draw_dleft +00010480 g F .text 00000130 draw_gi_coins_and_cuccos +0000c360 g F .text 0000005c pop_pending_item +0001a3dc g F .text 00000048 Seeded_Rand_ZeroOne +00014578 g F .text 0000003c resolve_text_keyrings 8038ea10 g *ABS* 00000000 KaleidoScope_DrawAmmoCount -0000c07c g F .text 000000d4 draw_cup -00014b60 g F .text 00000358 display_song_name -00012744 g F .text 000000e8 Message_AddFileName -00001054 g F .text 00000048 draw_chest +0000f198 g F .text 000000d4 draw_cup +00018944 g F .text 000003d0 display_song_name +00016218 g F .text 000000e8 Message_AddFileName +0000152c g F .text 00000048 draw_chest 00000000 *UND* 00000000 CFG_A_BUTTON_COLOR +000280a0 g O .data 000002bc xflag_room_table 00000000 *UND* 00000000 FIX_BROKEN_DROPS 00000000 *UND* 00000000 GET_ITEM_SEQ_ID -0000aaf4 g F .text 00000064 sprite_bytes_per_tile -00010ab0 g F .text 0000003c get_item_row +0000db14 g F .text 00000064 sprite_bytes_per_tile +000145b4 g F .text 0000003c get_item_row +0000ade4 g F .text 0000008c is_saved_password_clear +00026608 g O .data 00000001 show_clock +00013820 g F .text 000002fc draw_gi_magic_meter +00000da4 g F .text 0000001c DoorWarp1_FireMedallion_Overwrite 00000000 *UND* 00000000 DISABLE_TIMERS -00018a38 g F .text 00000044 file_init -00015aac g F .text 000000b4 get_flying_pot_override -00013380 g F .text 000000b0 update_tunic_colors -00020e70 g O .data 00000004 collectible_mutex -00018eac g O .rodata 0000000c rupee_colors -00010778 g F .text 0000001c trade_quest_upgrade -0001b098 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE +0001cdb4 g F .text 00000044 file_init +00017274 g F .text 000000b0 update_tunic_colors +000267d8 g O .data 00000004 collectible_mutex +0001d3d8 g O .rodata 0000000c rupee_colors +0001427c g F .text 0000001c trade_quest_upgrade +0001f668 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE 00000000 *UND* 00000000 EXTENDED_OBJECT_TABLE -0000bee4 g F .text 000000c4 draw_start -00018440 g F .text 00000508 draw_triforce_count +0000f01c g F .text 000000a8 draw_start +0001c7a4 g F .text 00000504 draw_triforce_count 00000000 *UND* 00000000 PLAYER_NAME_ID -0001773c g F .text 00000020 GetTradeItemIndex +0000024c g F .text 0000008c get_newflag_override +800d6218 g *ABS* 00000000 Message_CloseTextbox +0001baa0 g F .text 00000020 GetTradeItemIndex 00000000 *UND* 00000000 CFG_TUNIC_COLORS -00020a1c g O .data 000000bc bgm_sequence_ids -00000e5c g F .text 000000fc draw_chest_base -000126c0 g F .text 00000084 Message_AddString +0002623c g O .data 000000bc bgm_sequence_ids +00001334 g F .text 000000fc draw_chest_base +00016194 g F .text 00000084 Message_AddString 00000000 *UND* 00000000 TRIFORCE_HUNT_ENABLED -0000dc3c g F .text 00000108 draw_gi_fish_bottle -00013f90 g F .text 0000004c models_init -0001e5a4 g O .data 00000022 key_counts +00010e10 g F .text 00000108 draw_gi_fish_bottle +00000d84 g F .text 00000008 DoorWarp1_KokiriEmerald_Overwrite +00017e74 g F .text 0000004c models_init +0000e5d4 g F .text 00000040 rando_display_buffer_reset +00023dc4 g O .data 00000022 key_counts diff --git a/ASM/c/actor.c b/ASM/c/actor.c index 58369104a0..b35657c098 100644 --- a/ASM/c/actor.c +++ b/ASM/c/actor.c @@ -8,11 +8,14 @@ #include "textures.h" #include "actor.h" #include "en_wonderitem.h" +#include "scene.h" +#include "en_item00.h" extern uint8_t POTCRATE_TEXTURES_MATCH_CONTENTS; extern uint16_t CURR_ACTOR_SPAWN_INDEX; extern uint8_t SHUFFLE_SILVER_RUPEES; extern int8_t curr_scene_setup; +extern xflag_t* spawn_actor_with_flag; #define BG_HAKA_TUBO 0x00BB // Shadow temple spinning pot #define BG_SPOT18_BASKET 0x015C // Goron city spinning pot @@ -26,35 +29,33 @@ extern int8_t curr_scene_setup; #define EN_G_SWITCH 0x0117 //Silver Rupee #define EN_WONDER_ITEM 0x0112 // Wonder Item -// Called at the end of Actor_SetWorldToHome -// Reset the rotations for any actors that we may have passed data in through Actor_Spawn -void Actor_SetWorldToHome_End(z64_actor_t* actor) { - switch (actor->actor_id) { - case BG_HAKA_TUBO: - case BG_SPOT18_BASKET: - case OBJ_MURE3: - case OBJ_COMB: { - actor->rot_world.z = 0; - break; - } - case EN_ITEM00: - case EN_WONDER_ITEM: { - actor->rot_world.y = 0; - } - default: { - break; - } +// Get a pointer to the additional data that is stored at the beginning of every actor +// This is calculated as the actor's address + the actor instance size from the overlay table. +ActorAdditionalData* Actor_GetAdditionalData(z64_actor_t* actor) { + return (ActorAdditionalData*)(((uint8_t*)actor) - 0x10); +} + +// Build an xflag from actor ID and subflag +// Store the flag using the pointer +void Actor_BuildFlag(z64_actor_t* actor, xflag_t* flag, uint16_t actor_index, uint8_t subflag) { + flag->scene = z64_game.scene_index; + if (z64_game.scene_index == 0x3E) { + flag->grotto.room = actor->room_index; + flag->grotto.grotto_id = z64_file.respawn[RESPAWN_MODE_RETURN].data & 0x1F; + flag->grotto.flag = actor_index; + flag->grotto.subflag = subflag; + } else { + flag->room = actor->room_index; + flag->setup = curr_scene_setup; + flag->flag = actor_index; + flag->subflag = subflag; } } -// Called from Actor_UpdateAll when spawning the actors in the scene's/room's actor list. -// For Pots/Crates/Beehives, sets the actors spawn index into unused y/z rotation fields -// This works because this hack occurs after the actor has been spawned and Actor_SetWorldToHome has been called -// Otherwise the actor would be rotated :) -// Now that we resized pots/crates/beehives we could probably just store this info in new space in the actor. But this works for now. +// Called from Actor_UpdateAll when spawning the actors in the scene's/room's actor list to store flags in the new space that we added to the actors. // Prior to being called, CURR_ACTOR_SPAWN_INDEX is set to the current position in the actor spawn list. void Actor_After_UpdateAll_Hack(z64_actor_t* actor, z64_game_t* game) { - Actor_StoreFlagInRotation(actor, game, CURR_ACTOR_SPAWN_INDEX); + Actor_StoreFlagByIndex(actor, game, CURR_ACTOR_SPAWN_INDEX); Actor_StoreChestType(actor, game); // Add additional actor hacks here. These get called shortly after the call to actor_init @@ -63,51 +64,86 @@ void Actor_After_UpdateAll_Hack(z64_actor_t* actor, z64_game_t* game) { CURR_ACTOR_SPAWN_INDEX = 0; // reset CURR_ACTOR_SPAWN_INDEX } -// For pots/crates/beehives, store the flag in the actor's unused initial rotation fields -// Flag consists of the room # and the actor index -void Actor_StoreFlagInRotation(z64_actor_t* actor, z64_game_t* game, uint16_t actor_index) { - uint16_t flag = actor_index | (actor->room_index << 8); // Calculate the flag +// For pots/crates/beehives, store the flag in the new space in the actor instance. +// Flag consists of the room #, scene setup, and the actor index +void Actor_StoreFlag(z64_actor_t* actor, z64_game_t* game, xflag_t flag) { + ActorAdditionalData* extra = Actor_GetAdditionalData(actor); + flag = resolve_alternative_flag(&flag); + if (CURR_ACTOR_SPAWN_INDEX) { + extra->actor_id = CURR_ACTOR_SPAWN_INDEX; + } + override_t override = lookup_override_by_newflag(&flag); switch (actor->actor_id) { - // For the following actors we store the flag in the z rotation + // For the following actors we store the flag in the new space added to the actor. case OBJ_TSUBO: case EN_TUBO_TRAP: case OBJ_KIBAKO: - case OBJ_COMB: { - actor->rot_init.z = flag; - break; - } - // For the following actors we store the flag in the y rotation + case OBJ_COMB: case OBJ_KIBAKO2: - case EN_WONDER_ITEM: { - actor->rot_init.y = flag; + case EN_ITEM00: + case EN_WONDER_ITEM: + { + // For these actors, only store the flag if there is a valid override + if (override.key.all) { + extra->flag = flag; + } break; } + case BG_SPOT18_BASKET: + case OBJ_MURE3: + case BG_HAKA_TUBO: + { + // For these actors which use subflags, always store the flag which serves as the base when calculating the subflag. + // Don't really need to do this since we will recalculate the flag and check the override when spawning the subflags. + extra->flag = flag; + } default: { break; } } } -// For pots/crates/beehives, determine the override and store the chest type in new space in the actor instance +// For pots/crates/beehives, store the flag in the new space in the actor instance. +// Flag consists of the room #, scene setup, and the actor index +void Actor_StoreFlagByIndex(z64_actor_t* actor, z64_game_t* game, uint16_t actor_index) { + // Zeroize extra data; + + xflag_t flag = (xflag_t) { 0 }; + Actor_BuildFlag(actor, &flag, actor_index, 0); + Actor_StoreFlag(actor, game, flag); +} + +// Get an override for new flag. If the override doesn't exist, or flag has already been set, return 0. +override_t get_newflag_override(xflag_t* flag) { + override_t override = lookup_override_by_newflag(flag); + if (override.key.all != 0) { + if (!Get_NewFlag(flag)) { + return override; + } + } + return (override_t) { 0 }; +} + +// For pots/crates/beehives match contents, determine the override and store the chest type in new space in the actor instance // So we don't have to hit the override table every frame. void Actor_StoreChestType(z64_actor_t* actor, z64_game_t* game) { uint8_t* pChestType = NULL; override_t override = { 0 }; - + xflag_t* flag = &(Actor_GetAdditionalData(actor)->flag); if (actor->actor_id == OBJ_TSUBO) { // Pots - override = get_pot_override(actor, game); + override = get_newflag_override(flag); pChestType = &(((ObjTsubo*)actor)->chest_type); } else if (actor->actor_id == EN_TUBO_TRAP) { // Flying Pots - override = get_flying_pot_override(actor, game); + override = get_newflag_override(flag); pChestType = &(((EnTuboTrap*)actor)->chest_type); } else if (actor->actor_id == OBJ_KIBAKO2) { // Large Crates - override = get_crate_override(actor, game); + override = get_newflag_override(flag); pChestType = &(((ObjKibako2*)actor)->chest_type); } else if (actor->actor_id == OBJ_KIBAKO) { // Small wooden crates - override = get_smallcrate_override(actor, game); + override = get_newflag_override(flag); pChestType = &(((ObjKibako*)actor)->chest_type); } else if (actor->actor_id == OBJ_COMB) { - override = get_beehive_override(actor, game); + override = get_newflag_override(flag); pChestType = &(((ObjComb*)actor)->chest_type); } if (override.key.all != 0 && pChestType != NULL) { // If we don't have an override key, then either this item doesn't have an override entry, or it has already been collected. @@ -157,19 +193,22 @@ z64_actor_t* Actor_SpawnEntry_Hack(void* actorCtx, ActorEntry* actorEntry, z64_g bool spawn_override_silver_rupee(ActorEntry* actorEntry, z64_game_t* globalCtx, bool* overridden) { *overridden = false; if (SHUFFLE_SILVER_RUPEES) { // Check if silver rupee shuffle is enabled. - // Build a dummy enitem00 actor - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = (globalCtx->room_index << 8) + CURR_ACTOR_SPAWN_INDEX; - dummy.actor.variable = 0; + xflag_t flag = { + .scene = globalCtx->scene_index, + .setup = curr_scene_setup, + .room = globalCtx->room_index, + .flag = CURR_ACTOR_SPAWN_INDEX, + .subflag = 0, + }; + + flag = resolve_alternative_flag(&flag); uint8_t type = (actorEntry->params >> 0x0C) & 0xF; if (type != 1) { // only override actual silver rupees, not the switches or pots. return true; } - override_t override = lookup_override(&(dummy.actor), globalCtx->scene_index, 0); + override_t override = lookup_override_by_newflag(&flag); if (override.key.all != 0) { - dummy.override = override; - if (type == 1 && !Get_CollectibleOverrideFlag(&dummy)) { + if (type == 1 && !Get_NewFlag(&flag)) { // Spawn a green rupee which will be overridden using the collectible hacks. actorEntry->params = 0; actorEntry->id = EN_ITEM00; @@ -200,3 +239,32 @@ z64_actor_t* Player_SpawnEntry_Hack(void* actorCtx, ActorEntry* playerEntry, z64 return z64_SpawnActor(actorCtx, globalCtx, playerEntry->id, playerEntry->pos.x, playerEntry->pos.y, playerEntry->pos.z, playerEntry->rot.x, playerEntry->rot.y, playerEntry->rot.z, playerEntry->params); } + +// This is our entrypoint back into Actor_Spawn. Call/return this to spawn the actor +extern z64_actor_t* Actor_Spawn_Continue(void* actorCtx, z64_game_t* globalCtx, int16_t actorId, float posX, float posY, float posZ, int16_t rotX, int16_t rotY, int16_t rotZ, int16_t params); + +z64_actor_t* Actor_Spawn_Hook(void* actorCtx, z64_game_t* globalCtx, int16_t actorId, float posX, float posY, float posZ, int16_t rotX, int16_t rotY, int16_t rotZ, int16_t params) { + bool continue_spawn = true; + + ActorEntry entry; + entry.id = actorId; + entry.params = params; + entry.pos.x = (int16_t)posX; + entry.pos.y = (int16_t)posY; + entry.pos.z = (int16_t)posZ; + entry.rot.x = rotX; + entry.rot.y = rotY; + entry.rot.z = rotZ; + + if (continue_spawn) { + z64_actor_t* spawned = Actor_Spawn_Continue(actorCtx, globalCtx, actorId, posX, posY, posZ, rotX, rotY, rotZ, params); + if (spawned) { + if (spawn_actor_with_flag) { + Actor_StoreFlag(spawned, globalCtx, *spawn_actor_with_flag); + Actor_StoreChestType(spawned, globalCtx); + } + } + return spawned; + } + return NULL; +} diff --git a/ASM/c/actor.h b/ASM/c/actor.h index f786dcf289..d63053d88c 100644 --- a/ASM/c/actor.h +++ b/ASM/c/actor.h @@ -2,13 +2,25 @@ #define ACTOR_H #include "z64.h" +#include "get_items.h" #include -void Actor_SetWorldToHome_End(z64_actor_t* actor); +// New data added to the end of every actor. +// Make sure the size of this struct is equal to the amount of space added added in Actor_Spawn_Malloc_Hack from actor.asm +typedef struct { + /* 0x00 */ uint16_t actor_id; + /* 0x02 */ xflag_t flag; +} ActorAdditionalData; + void Actor_After_UpdateAll_Hack(z64_actor_t* actor, z64_game_t* game); -void Actor_StoreFlagInRotation(z64_actor_t* actor, z64_game_t* game, uint16_t actor_index); -void Actor_StoreChestType(z64_actor_t* actor, z64_game_t* game); -z64_actor_t* Actor_SpawnEntry_Hack(void* actorCtx, ActorEntry* actorEntry, z64_game_t* globalCtx); +void Actor_StoreFlagByIndex(z64_actor_t* actor, z64_game_t* game, uint16_t actor_index); +void Actor_StoreFlag(z64_actor_t* actor, z64_game_t* game, xflag_t flag); +void Actor_StoreChestType(z64_actor_t* actor, z64_game_t *game); +z64_actor_t *Actor_SpawnEntry_Hack(void* actorCtx, ActorEntry* actorEntry, z64_game_t* globalCtx); bool spawn_override_silver_rupee(ActorEntry* actorEntry, z64_game_t* globalCtx, bool* overridden); void after_spawn_override_silver_rupee(z64_actor_t* actor, bool overridden); +void Actor_BuildFlag(z64_actor_t* actor, xflag_t* flag, uint16_t actor_index, uint8_t subflag); +ActorAdditionalData* Actor_GetAdditionalData(z64_actor_t* actor); +override_t get_newflag_override(xflag_t* flag); +extern ActorOverlay gActorOverlayTable[]; #endif diff --git a/ASM/c/bg_gate_shutter.h b/ASM/c/bg_gate_shutter.h new file mode 100644 index 0000000000..3b9c186c62 --- /dev/null +++ b/ASM/c/bg_gate_shutter.h @@ -0,0 +1,9 @@ +#include "z64.h" + +typedef struct BgGateShutter { + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0154 */ void* actionFunc; + /* 0x0158 */ int16_t openingState; // 1 if gate is opening + /* 0x015C */ z64_xyzf_t somePos; + /* 0x0168 */ int16_t unk_168; +} BgGateShutter; // size = 0x016C diff --git a/ASM/c/blue_warp.c b/ASM/c/blue_warp.c new file mode 100644 index 0000000000..ed003732d7 --- /dev/null +++ b/ASM/c/blue_warp.c @@ -0,0 +1,104 @@ +#include + +#include "blue_warp.h" +#include "item_table.h" +#include "save.h" +#include "z64.h" + +#define TEXT_STATE_CLOSING 2 + +#define SCENE_VOLVAGIA_BOSS_ROOM 0x0015 +#define SCENE_MORPHA_BOSS_ROOM 0x0016 + +extern uint8_t PLAYER_ID; +extern uint8_t PLAYER_NAME_ID; +extern bool REWARDS_AS_ITEMS; + +// Original function copied over +int32_t DoorWarp1_PlayerInRange(z64_actor_t* actor, z64_game_t* game) { + if (actor->xzdist_from_link < 60.0f) { + if ((z64_link.common.pos_world.y - 20.0f) < actor->pos_world.y) { + if (actor->pos_world.y < (z64_link.common.pos_world.y + 20.0f)) { + return true; + } + } + } + return false; +}; + +int32_t DoorWarp1_PlayerInRange_Overwrite(z64_actor_t* actor, z64_game_t* game) { + // Check vanilla range + if (DoorWarp1_PlayerInRange(actor, game)) { + uint8_t boss_idx = game->scene_index - 0x0011; + // queue the item if not already collected + if (!extended_savectx.collected_dungeon_rewards[boss_idx]) { + if (REWARDS_AS_ITEMS) { + push_delayed_item(0x05 + boss_idx); + } else { + override_key_t override_key = { .scene = 0xFF, .type = OVR_DELAYED, .flag = 0x05 + boss_idx }; + override_t override = lookup_override_by_key(override_key); + uint16_t resolved_item_id = resolve_upgrades(override); + item_row_t* item_row = get_item_row(resolved_item_id); + call_effect_function(item_row); + PLAYER_NAME_ID = override.value.base.player; + z64_DisplayTextbox(&z64_game, resolve_item_text_id(item_row, PLAYER_NAME_ID != PLAYER_ID), 0); + } + extended_savectx.collected_dungeon_rewards[boss_idx] = true; + } + // set time of day each time the blue warp is taken to reduce nonrepeatable access + if (game->scene_index == SCENE_MORPHA_BOSS_ROOM) { + z64_file.skybox_time = z64_file.day_time = 0x4800; // CLOCK_TIME(6, 45) + } else { + z64_file.skybox_time = z64_file.day_time = 0x8000; // CLOCK_TIME(12, 00) + } + // reset heat timer after Volvagia + if (game->scene_index == SCENE_VOLVAGIA_BOSS_ROOM) { + z64_file.timer_1_state = 0; + } + // immediately activate the blue warp. Queued item will be given after the warp + return true; + } + return false; +} + +int32_t DoorWarp1_IsSpiritRewardObtained(void) { + return extended_savectx.collected_dungeon_rewards[6]; +} + +int32_t DoorWarp1_IsShadowRewardObtained(void) { + return extended_savectx.collected_dungeon_rewards[7]; +} + +void DoorWarp1_KokiriEmerald_Overwrite(void) { + // code to run the first time the Queen Gohma blue warp is taken +} + +void DoorWarp1_GoronRuby_Overwrite(void) { + // code to run the first time the King Dodongo blue warp is taken +} + +void DoorWarp1_ZoraSapphire_Overwrite(void) { + // code to run the first time the Barinade blue warp is taken +} + +void DoorWarp1_ForestMedallion_Overwrite(void) { + // code to run the first time the Phantom Ganon blue warp is taken +} + +void DoorWarp1_FireMedallion_Overwrite(void) { + // code to run the first time the Volvagia blue warp is taken + z64_file.event_chk_inf[2] |= 1 << 15; // DMT cloud circle no longer fire +} + +void DoorWarp1_WaterMedallion_Overwrite(void) { + // code to run the first time the Morpha blue warp is taken + z64_file.event_chk_inf[6] |= 1 << 9; // Lake Hylia water raised +} + +void DoorWarp1_SpiritMedallion_Overwrite(void) { + // code to run the first time the Twinrova blue warp is taken +} + +void DoorWarp1_ShadowMedallion_Overwrite(void) { + // code to run the first time the Bongo Bongo blue warp is taken +} diff --git a/ASM/c/blue_warp.h b/ASM/c/blue_warp.h new file mode 100644 index 0000000000..528c5ed63b --- /dev/null +++ b/ASM/c/blue_warp.h @@ -0,0 +1,20 @@ +#ifndef DOOR_WARP1_H +#define DOOR_WARP1_H + +#include "z64.h" + +int32_t DoorWarp1_PlayerInRange_Overwrite(z64_actor_t* actor, z64_game_t* game); + +int32_t DoorWarp1_IsSpiritRewardObtained(void); +int32_t DoorWarp1_IsShadowRewardObtained(void); + +void DoorWarp1_KokiriEmerald_Overwrite(void); +void DoorWarp1_GoronRuby_Overwrite(void); +void DoorWarp1_ZoraSapphire_Overwrite(void); +void DoorWarp1_ForestMedallion_Overwrite(void); +void DoorWarp1_FireMedallion_Overwrite(void); +void DoorWarp1_WaterMedallion_Overwrite(void); +void DoorWarp1_SpiritMedallion_Overwrite(void); +void DoorWarp1_ShadowMedallion_Overwrite(void); + +#endif diff --git a/ASM/c/debug.c b/ASM/c/debug.c index 9d86d65b63..26165b1b83 100644 --- a/ASM/c/debug.c +++ b/ASM/c/debug.c @@ -1,10 +1,14 @@ #include "debug.h" +#include "objects.h" +#include "item_effects.h" +#include "actor.h" const int8_t debug_text_width = 16; const int8_t debug_text_height = 16; colorRGB8_t debug_text_color = { 0xE0, 0xE0, 0x10 }; // Yellow int8_t float_precision = 5; -int8_t menu_not_on_dup = 0; +bool show_clock = false; +uint8_t menu_cooldown = 20; menu_category_t menu_categories[] = { { 0, "Dungeons"}, @@ -13,6 +17,10 @@ menu_category_t menu_categories[] = { { 3, "Items"}, { 4, "Switch Age"}, { 5, "Bunny Hood"}, + { 6, "Display clock"}, + { 7, "Actor table"}, + { 8, "Overlay table"}, + { 9, "Scene flags"} }; warp_t dungeon_warps[] = { @@ -31,37 +39,157 @@ warp_t dungeon_warps[] = { { 12, 0x467, "Ganon Castle"}, }; +room_t deku_rooms[6] = { + { 0x0, 0, { -4, 0, 554 }, 32768, "Entrance"}, + { 0x0, 2, { -1002, 400, 1000 }, 57436, "Slingshot room"}, + { 0x0, 10, { -651, 800, -1 }, 49050, "Compass room"}, + { 0x0, 3, { -198, -845, -285 }, 48980, "Basement"}, + { 0x0, 5, { -428, -880, 961 }, 49050, "Log Spike"}, + { 0x0, 9, { -614, -1881, -388 }, 34300, "231 Scrubs"}, +}; + +room_t dc_rooms[] = { + { 0x04, 0, { -3, 0, 369 }, 32768, "Entrance"}, + { 0x04, 2, { -927, 0, -1525 }, 49050, "Bomb Flower Staircase"}, + { 0x04, 9, { 1392, 531, -316 }, 16384, "Bomb Bag room"}, + { 0x04, 7, { 7, 76, -2057 }, 32768, "Floor switch room before Boss"}, +}; + +room_t jabu_rooms[] = { + { 0x28, 0, { -3, -226, 369 }, 32768, "Entrance"}, + { 0x28, 3, { 231, -1113, -3228}, 29920, "B1 Main"}, + { 0x28, 7, { 6, -340, -4074 }, 32666, "Branching Hallways"}, +}; + +room_t forest_rooms[] = { + { 0x169, 0, { 110, 309, 641 }, 32768, "Entrance"}, + { 0x169, 2, { 118, 383, -660 }, 32768, "Main Chamber"}, + { 0x169, 11, { -1447, 383, -1439 }, 49152, "Block Puzzle room"}, + { 0x169, 12, { -1328, 1228, -3326 }, 16282, "Red Poe"}, + { 0x169, 13, { 586, 827, -3322 }, 16282, "Blue Poe"}, + { 0x169, 15, { 1979, 403, -3404 }, 16282, "Checkerboard Ceiling"}, +}; + +room_t fire_rooms[] = { + { 0x165, 0, { 5, 0, 846 }, 32768, "Entrance"}, + { 0x165, 4, { 2989, 2060, 0 }, 49152, "Shortcut room"}, + { 0x165, 5, { 2660, 2800, 0 }, 16384, "Boulder maze (down)"}, + { 0x165, 5, { 1540, 2940, -630 }, 16384, "Boulder maze (up)"}, + { 0x165, 8, { 1580, 4400, -509 }, 0, "Scarecrow room"}, + { 0x165, 10, { -640, 2940, 190 }, 49152, "Fire wall maze"}, + { 0x165, 13, { -2289, 4400, 19 }, 16384, "Hammer room"}, +}; + +room_t water_rooms[] = { + { 0x10, 0, { -184, 780, 759 }, 32768, "Entrance"}, + { 0x10, 17, { 987, 780, 181 }, 16384, "First ZL water level switch"}, + { 0x10, 12, { -180, 0, -1870 }, 32768, "Pool of tektites and boulders"}, + { 0x10, 8, { -1140, 60, -1810 }, 32768, "Dragon room"}, + { 0x10, 13, { -3124, 1060, -1747 }, 32666, "Dark link room"}, + { 0x10, 21, { -3113, 380, -4222 }, 4759, "River"}, +}; + +room_t shadow_rooms[] = { + { 0x37, 2, { -254, -63, 594 }, 32768, "Entrance"}, + { 0x37, 8, { 4164, -983, 1366 }, 49152, "Before huge room"}, + { 0x37, 16, { 4677, -1143, 2474 }, 32768, "Invisible scythes"}, + { 0x37, 10, { 1227, -1343, 3853 }, 49152, "Stone umbrella"}, + { 0x37, 11, { 2477, -1343, 1393 }, 32666, "Invisible spikes"}, + { 0x37, 21, { 4387, -1363, -1486 }, 32768, "Before boat"}, + { 0x37, 15, { -3662, -1363, -1585 }, 49152, "Invisible wall maze"}, +}; + +room_t spirit_rooms[] = { + { 0x82, 1, { -768, -50, -1 }, 49152, "After crawlspace (child)"}, + { 0x82, 0, { 868, -50, 2 }, 16384, "After silver block (adult)"}, + { 0x82, 15, { 1126, 480, -1281 }, 16384, "Spinning cobra room"}, + { 0x82, 5, { 692, 480, -838 }, 49152, "Main room"}, + { 0x82, 18, { 1787, 843, 152 }, 16282, "Armos room"}, + { 0x82, 25, { 268, 1733, -828 }, 49152, "Ceiling mirror"}, +}; + +room_t botw_rooms[] = { + { 0x98, 0, { 0, -12, 117 }, 32768, "Main room Entrance"}, + { 0x98, 2, { -1650, 0, -739 }, 49152, "Coffin room"}, + { 0x98, 3, { 1140, 0, -1339 }, 0, "Beamos room"}, +}; + +room_t ice_rooms[] = { + { 0x88, 0, { 16, 0, 2678 }, 32768, "Entrance"}, + { 0x88, 3, { 285, 38, 63 }, 32768, "Spinning scythe"}, + { 0x88, 9, { 662, 52, -1656 }, 32768, "Worst room"}, + { 0x88, 5, { -720, 60, -960 }, 49152, "Pushblock room"}, + { 0x88, 6, { -1384, 277, 686 }, 8192, "Before wolfos room"}, +}; + +room_t hideout_rooms[] = { + { 0x486, 2, { -296, 0, -2951 }, 16384, "Red cell 1 torch"}, + { 0x486, 4, { -105, 0, -335 }, 16384, "Green cell 4 torches"}, + { 0x486, 5, { 1102, 120, 30 }, 0, "Blue cell 2 torches"}, + { 0x486, 1, { 1061, 0, -2037 }, 32768, "Green cell 3 torches"}, +}; + +room_t gtg_rooms[] = { + { 0x08, 0, { -61, -160, 182 }, 32768, "Entrance"}, + { 0x08, 2, { -1583, -80, -707 }, 32768, "Flame wall maze"}, + { 0x08, 3, { -1579, 160, -2254 }, 32768, "Pushblock room"}, + { 0x08, 4, { -689, 239, -2751 }, 16282, "Rotating statue room"}, + { 0x08, 6, { 1448, -81, -2320 }, 65434, "Lava room"}, + { 0x08, 9, { 2009, -240, -1463 }, 16282, "Toilet"}, +}; + +room_t ganon_rooms[] = { + { 0x467, 0, { -9, 420, 2283 }, 32768, "Entrance"}, + { 0x467, 17, { -647, 150, 277 }, 60074, "Spirit Trial"}, + { 0x467, 9, { -1406, -240, -840 }, 49050, "Light Trial"}, + { 0x467, 14, { -648, 150, -1990 }, 38151, "Fire Trial"}, + { 0x467, 12, { 660, 150, -1982 }, 27385, "Shadow Trial"}, + { 0x467, 2, { 1319, -240, -835 }, 16282, "Water Trial"}, + { 0x467, 5, { 662, 150, 302 }, 5383, "Forest Trial"}, +}; + +rooms_t dungeon_rooms[13] = { + {6, deku_rooms}, {4, dc_rooms}, {3, jabu_rooms}, + {6, forest_rooms}, {7, fire_rooms}, {6, water_rooms}, + {7, shadow_rooms}, {6, spirit_rooms}, {3, botw_rooms}, + {5, ice_rooms}, {4, hideout_rooms}, {6, gtg_rooms}, {7, ganon_rooms}, + }; + warp_t overworld_warps[] = { - { 0, 0x443, "KF"}, - { 1, 0x11E, "LW"}, - { 2, 0xFC, "SFM"}, - { 3, 0x157, "LLR"}, - { 4, 0xB1, "Market"}, - { 5, 0x138, "HC/OGC"}, - { 6, 0xDB, "Kak"}, - { 7, 0xE4, "GY"}, - { 8, 0x13D, "DMT (Kak)"}, - { 9, 0x1BD, "DMT (Crater)"}, - { 10, 0x14D, "Goron City"}, - { 11, 0xEA, "ZR"}, - { 12, 0x108, "ZD"}, - { 13, 0x225, "ZF"}, - { 14, 0x102, "LH"}, - { 15, 0x117, "GV"}, - { 16, 0x129, "GF"}, - { 17, 0x130, "HW"}, - { 18, 0x123, "Colossus"}, + { 0, 0x443, "Kokiri Forest"}, + { 1, 0x11E, "Lost Woods"}, + { 2, 0xFC, "Sacred Forest Meadow"}, + { 3, 0x157, "Lon Lon Ranch"}, + { 4, 0x1FD, "Hyrule Field (from Market)"}, + { 5, 0x181, "Hyrule Field (from River)"}, + { 6, 0x189 , "Hyrule Field (from Lake)"}, + { 7, 0xB1, "Market"}, + { 8, 0x138, "Hyrule Castle/OGC"}, + { 9, 0xDB, "Kakariko"}, + { 10, 0xE4, "Graveyard"}, + { 11, 0x13D, "DMT (from Kak)"}, + { 12, 0x1BD, "DMT (from Crater)"}, + { 13, 0x14D, "Goron City"}, + { 14, 0x246, "DMC (from Goron City)"}, + { 15, 0xEA, "Zora's River"}, + { 16, 0x108, "Zora's Domain"}, + { 17, 0x225, "Zora's Fountain"}, + { 18, 0x102, "Lake Hylia"}, + { 19, 0x117, "Gerudo Valley"}, + { 20, 0x129, "Gerudo Fortress"}, + { 21, 0x130, "Haunted Wastelands"}, + { 22, 0x123, "Colossus"}, }; warp_t bosses_warps[] = { { 0, 0x40F, "Gohma"}, - { 1, 0x40B, "KD"}, - { 2, 0x301, "Bari"}, - { 3, 0x0C, "PG"}, - { 4, 0x305, "Volv"}, - { 5, 0x417, "Morph"}, - { 6, 0x413, "Bongo"}, - { 7, 0x8D, "Twin"}, + { 1, 0x40B, "King Dodongo"}, + { 2, 0x301, "Barinade"}, + { 3, 0x0C, "Phantom Ganon"}, + { 4, 0x305, "Volvagia"}, + { 5, 0x417, "Morpha"}, + { 6, 0x413, "Bongo Bongo"}, + { 7, 0x8D, "Twinrova"}, { 8, 0x41F, "Ganondorf"}, { 9, 0x517, "Ganon"}, }; @@ -69,33 +197,59 @@ warp_t bosses_warps[] = { item_t items_debug[] = { { 0, Z64_ITEM_HOOKSHOT, "Hookshot"}, { 1, Z64_ITEM_LONGSHOT, "Longshot"}, - { 2, Z64_ITEM_BOW, "Bow"}, - { 3, Z64_ITEM_BOMB_BAG_20, "Bomb bag"}, - { 4, Z64_ITEM_DEKU_SHIELD, "Deku Shield"}, - { 5, Z64_ITEM_HYLIAN_SHIELD, "Hylian Shield"}, - { 6, Z64_ITEM_MIRROR_SHIELD, "Mirror Shield"}, - { 7, Z64_ITEM_FAIRY_OCARINA, "Ocarina"}, - { 8, Z64_ITEM_BOMBCHU, "Bombchu"}, - { 9, Z64_ITEM_BOOMERANG, "Boomerang"}, - { 10, Z64_ITEM_HAMMER, "Hammer"}, - { 11, Z64_ITEM_BOTTLE, "Bottle"}, - { 12, Z64_ITEM_KOKIRI_SWORD, "KS"}, - { 13, Z64_ITEM_BIGGORON_SWORD, "BGS"}, - { 14, Z64_ITEM_IRON_BOOTS, "Irons"}, - { 15, Z64_ITEM_HOVER_BOOTS, "Hovers"}, - { 16, Z64_ITEM_GORONS_BRACELET, "Str1"}, - { 17, Z64_ITEM_SILVER_GAUNTLETS, "Str2"}, - { 18, Z64_ITEM_GOLDEN_GAUNTLETS, "Str3"}, - { 19, Z64_ITEM_SILVER_SCALE, "Scale"}, - { 20, Z64_ITEM_FOREST_MEDALLION, "Forest Med"}, - { 21, Z64_ITEM_FIRE_MEDALLION, "Fire Med"}, - { 22, Z64_ITEM_WATER_MEDALLION, "Water Med"}, - { 23, Z64_ITEM_SPIRIT_MEDALLION, "Spirit Med"}, - { 24, Z64_ITEM_SHADOW_MEDALLION, "Shadow Med"}, - { 25, Z64_ITEM_LIGHT_MEDALLION, "Light Med"}, - { 26, Z64_ITEM_KOKIRIS_EMERALD, "Emerald"}, - { 27, Z64_ITEM_GORONS_RUBY, "Ruby"}, - { 28, Z64_ITEM_ZORAS_SAPPHIRE, "Sapphire"}, + { 2, Z64_ITEM_SLINGSHOT, "Slingshot"}, + { 3, Z64_ITEM_BOW, "Bow"}, + { 4, Z64_ITEM_BOMB_BAG_20, "Bomb bag"}, + { 5, Z64_ITEM_DEKU_SHIELD, "Deku Shield"}, + { 6, Z64_ITEM_HYLIAN_SHIELD, "Hylian Shield"}, + { 7, Z64_ITEM_MIRROR_SHIELD, "Mirror Shield"}, + { 8, Z64_ITEM_FAIRY_OCARINA, "Ocarina"}, + { 9, Z64_ITEM_BOMBCHU, "Bombchu"}, + { 10, Z64_ITEM_BOOMERANG, "Boomerang"}, + { 11, Z64_ITEM_HAMMER, "Hammer"}, + { 12, Z64_ITEM_BOTTLE, "Bottle"}, + { 13, Z64_ITEM_KOKIRI_SWORD, "Kokiri Sword"}, + { 14, Z64_ITEM_BIGGORON_SWORD, "Biggoron Sword"}, + { 15, Z64_ITEM_IRON_BOOTS, "Iron boots"}, + { 16, Z64_ITEM_HOVER_BOOTS, "Hover boots"}, + { 17, Z64_ITEM_GORONS_BRACELET, "Strength 1"}, + { 18, Z64_ITEM_SILVER_GAUNTLETS, "Strength 2"}, + { 19, Z64_ITEM_GOLDEN_GAUNTLETS, "Strength 3"}, + { 20, Z64_ITEM_SILVER_SCALE, "Scale"}, + { 21, Z64_ITEM_NULL, "Magic"}, + { 22, Z64_ITEM_FOREST_MEDALLION, "Forest Med"}, + { 23, Z64_ITEM_FIRE_MEDALLION, "Fire Med"}, + { 24, Z64_ITEM_WATER_MEDALLION, "Water Med"}, + { 25, Z64_ITEM_SPIRIT_MEDALLION, "Spirit Med"}, + { 26, Z64_ITEM_SHADOW_MEDALLION, "Shadow Med"}, + { 27, Z64_ITEM_LIGHT_MEDALLION, "Light Med"}, + { 28, Z64_ITEM_KOKIRIS_EMERALD, "Emerald"}, + { 29, Z64_ITEM_GORONS_RUBY, "Ruby"}, + { 30, Z64_ITEM_ZORAS_SAPPHIRE, "Sapphire"}, +}; + +menu_category_t actor_categories[] = { + { 0, "SWITCH"}, + { 1, "BG"}, + { 2, "PLAYER"}, + { 3, "EXPLOSIVES"}, + { 4, "NPC"}, + { 5, "ENEMY"}, + { 6, "PROP"}, + { 7, "ITEMACTION"}, + { 8, "MISC"}, + { 9, "BOSS"}, + { 10, "DOOR"}, + { 11, "CHEST"}, +}; + +menu_category_t flag_categories[] = { + { 0, "Switch"}, + { 1, "Unknown"}, + { 2, "Treasure"}, + { 3, "Clear"}, + { 4, "Temp clear"}, + { 5, "Collectible"}, }; void draw_debug_int(int whichNumber, int numberToShow) { @@ -114,58 +268,134 @@ void draw_debug_float(int whichNumber, float numberToShow) { debugNumbersFloat[whichNumber] = numberToShow; } -void debug_utilities(z64_disp_buf_t *db) -{ +void draw_timeofday(z64_disp_buf_t* db) { - if (!DEBUG_MODE){ + if (!show_clock) { return; } + int16_t digits[4]; + digits[0] = 0; + double timeInSeconds = z64_file.day_time * (24.0f * 60.0f / 0x10000); + digits[1] = timeInSeconds / 60.0f; + while (digits[1] >= 10) { + digits[0]++; + digits[1] -= 10; + } + digits[2] = 0; + digits[3] = (int16_t)timeInSeconds % 60; + while (digits[3] >= 10) { + digits[2]++; + digits[3] -= 10; + } + int16_t hours = digits[0] * 10 + digits[1]; + colorRGBA8_t color = { 0xFF, 0xFF, 0xFF, 0xFF}; + int total_w = 4 * rupee_digit_sprite.tile_w + font_sprite.tile_w; + int draw_x = Z64_SCREEN_WIDTH / 2 - total_w / 2; + int draw_y_text = Z64_SCREEN_HEIGHT - (rupee_digit_sprite.tile_h * 1.5) + 1; + if (digits[0] == 0) { + draw_x += rupee_digit_sprite.tile_w; + } + draw_int(db, hours, draw_x, draw_y_text, color); + if (digits[0] == 0) { + draw_x -= rupee_digit_sprite.tile_w; + } + text_print_size(db, ":", draw_x + 2*rupee_digit_sprite.tile_w, draw_y_text, 8, 8); + int16_t minutes = digits[2] * 10 + digits[3]; + if (digits[2] == 0) { + draw_int(db, 0, draw_x + 2*rupee_digit_sprite.tile_w + font_sprite.tile_w, draw_y_text, color); + draw_x += rupee_digit_sprite.tile_w; + } + draw_int(db, minutes, draw_x + 2*rupee_digit_sprite.tile_w + font_sprite.tile_w, draw_y_text, color); +} + +bool get_flag(uint8_t flagtype, uint8_t flag) { + switch (flagtype) + { + case 0: + return Flags_GetSwitch(&z64_game, flag); + case 1: + return Flags_GetUnknown(&z64_game, flag); + case 2: + return Flags_GetTreasure(&z64_game, flag); + case 3: + return Flags_GetClear(&z64_game, flag); + case 4: + return Flags_GetTempClear(&z64_game, flag); + case 5: + return Flags_GetCollectible(&z64_game, flag); + } +} + +void debug_utilities(z64_disp_buf_t* db) +{ // Press L to levitate // Shoutouts to glankk - if (z64_game.common.input[0].raw.pad.l) { + if (z64_game.common.input[0].raw.pad.du || z64_game.common.input[0].raw.pad.l) { z64_link.common.vel_1.y = 6.34375f; } draw_debug_menu(db); draw_debug_numbers(db); + draw_timeofday(db); } int debug_menu_is_drawn() { return show_warp_menu; } -void draw_debug_menu(z64_disp_buf_t *db) { - if (menu_not_on_dup) { - if (z64_game.common.input[0].pad_pressed.l && z64_game.common.input[0].pad_pressed.r) { +void decimal_to_hex(uint32_t decimalValue, char* hexValue) { + hexValue[0] = '0'; + hexValue[1] = 'x'; + if (decimalValue == 0) { + hexValue[2] = '0'; + hexValue[3] = '\0'; + return; + } + uint8_t hexSize = 0; + char hexValueInvert[10]; + while (decimalValue > 0) { + uint8_t remainder = decimalValue % 16; + hexValueInvert[hexSize++] = "0123456789ABCDEF"[remainder]; + decimalValue /= 16; + } + for (int i = 0; i < hexSize; i++) { + hexValue[2 + i] = hexValueInvert[hexSize - 1 - i]; + } + hexValue[hexSize + 2] = '\0'; +} + +void draw_debug_menu(z64_disp_buf_t* db) { + + if ((z64_game.common.input[0].raw.pad.du || z64_game.common.input[0].raw.pad.l) && z64_game.common.input[0].raw.pad.r) { + if (menu_cooldown == 20) { show_warp_menu = show_warp_menu ? 0 : 1; } + menu_cooldown--; } - else { - if (z64_game.common.input[0].pad_pressed.du) { - show_warp_menu = show_warp_menu ? 0 : 1; + if (menu_cooldown < 20) { + menu_cooldown--; + if (menu_cooldown == 0) { + menu_cooldown = 20; } } if (show_warp_menu) { if (current_menu_indexes.sub_menu_index == 0) { - if (z64_game.common.input[0].pad_pressed.dr) { current_menu_indexes.main_index++; - if (current_menu_indexes.main_index > 5) { + if (current_menu_indexes.main_index > 9) { current_menu_indexes.main_index = 0; } } if (z64_game.common.input[0].pad_pressed.dl) { if (current_menu_indexes.main_index == 0) { - current_menu_indexes.main_index = 5; - } - else { + current_menu_indexes.main_index = 9; + } else { current_menu_indexes.main_index--; } } - if (current_menu_indexes.main_index == 4) { if (z64_game.common.input[0].pad_pressed.a) { int age = z64_file.link_age; @@ -189,57 +419,84 @@ void draw_debug_menu(z64_disp_buf_t *db) { z64_usebutton(&z64_game, &z64_link, Z64_ITEM_BUNNY_HOOD, 2); } } - if (current_menu_indexes.main_index < 4){ + if (current_menu_indexes.main_index == 6) { if (z64_game.common.input[0].pad_pressed.a) { + show_clock = show_clock ? false : true; + } + } + if (current_menu_indexes.main_index < 4 || current_menu_indexes.main_index > 6) { + if (z64_game.common.input[0].pad_pressed.a && current_menu_indexes.sub_menu_index < 2) { current_menu_indexes.sub_menu_index++; } } - } - else { // in a sub menu - - if (z64_game.common.input[0].pad_pressed.b) { + } else { // in a sub menu + if (z64_game.common.input[0].pad_pressed.b && current_menu_indexes.sub_menu_index > -1) { current_menu_indexes.sub_menu_index--; } switch (current_menu_indexes.main_index) { case 0: // Dungeons - if (z64_game.common.input[0].pad_pressed.dr) { - current_menu_indexes.dungeon_index++; - if (current_menu_indexes.dungeon_index > 12) { - current_menu_indexes.dungeon_index = 0; + if (current_menu_indexes.sub_menu_index < 2) { + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.dungeon_index++; + if (current_menu_indexes.dungeon_index > 12) { + current_menu_indexes.dungeon_index = 0; + } } - } - if (z64_game.common.input[0].pad_pressed.dl) { - current_menu_indexes.dungeon_index--; - if (current_menu_indexes.dungeon_index < 0) { - current_menu_indexes.dungeon_index = 12; + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.dungeon_index--; + if (current_menu_indexes.dungeon_index < 0) { + current_menu_indexes.dungeon_index = 12; + } + } + if (z64_game.common.input[0].pad_pressed.a && current_menu_indexes.sub_menu_index < 2) { + current_menu_indexes.sub_menu_index++; + } + current_menu_indexes.room_index = 0; + } else { + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.room_index++; + if (current_menu_indexes.room_index > dungeon_rooms[current_menu_indexes.dungeon_index].number_of_rooms - 1) { + current_menu_indexes.room_index = 0; + } + } + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.room_index--; + if (current_menu_indexes.room_index < 0) { + current_menu_indexes.room_index = dungeon_rooms[current_menu_indexes.dungeon_index].number_of_rooms - 1; + } + } + if (z64_game.common.input[0].pad_pressed.a) { + room_t* roomset = dungeon_rooms[current_menu_indexes.dungeon_index].room; + room_t* room = &(roomset[current_menu_indexes.room_index]); + z64_file.entrance_index = room->scene_index; + z64_game.entrance_index = room->scene_index; + z64_Play_SetupRespawnPoint(&z64_game, 0x01, 0xDFF); + z64_file.respawn[RESPAWN_MODE_RETURN].pos = room->pos; + z64_file.respawn[RESPAWN_MODE_RETURN].yaw = room->yaw; + z64_file.respawn[RESPAWN_MODE_RETURN].roomIndex = room->room_index; + z64_file.respawn_flag = 2; + z64_game.scene_load_flag = 0x14; + show_warp_menu = 0; } - } - if (z64_game.common.input[0].pad_pressed.a) { - warp_t *d = &(dungeon_warps[current_menu_indexes.dungeon_index]); - z64_file.entrance_index = d->entrance_index; - z64_game.entrance_index = d->entrance_index; - z64_game.scene_load_flag = 0x14; - z64_game.fadeout_transition = 0x02; - show_warp_menu = 0; } break; case 1: // Overworld if (z64_game.common.input[0].pad_pressed.dr) { current_menu_indexes.overworld_index++; - if (current_menu_indexes.overworld_index > 18) { + if (current_menu_indexes.overworld_index > 22) { current_menu_indexes.overworld_index = 0; } } if (z64_game.common.input[0].pad_pressed.dl) { current_menu_indexes.overworld_index--; if (current_menu_indexes.overworld_index < 0) { - current_menu_indexes.overworld_index = 18; + current_menu_indexes.overworld_index = 22; } } if (z64_game.common.input[0].pad_pressed.a) { - warp_t *d = &(overworld_warps[current_menu_indexes.overworld_index]); + warp_t* d = &(overworld_warps[current_menu_indexes.overworld_index]); z64_file.entrance_index = d->entrance_index; z64_game.entrance_index = d->entrance_index; z64_game.scene_load_flag = 0x14; @@ -272,27 +529,180 @@ void draw_debug_menu(z64_disp_buf_t *db) { case 3: // Items if (z64_game.common.input[0].pad_pressed.dr) { current_menu_indexes.item_index++; - if (current_menu_indexes.item_index > 28) { + if (current_menu_indexes.item_index > 30) { current_menu_indexes.item_index = 0; } } if (z64_game.common.input[0].pad_pressed.dl) { current_menu_indexes.item_index--; if (current_menu_indexes.item_index < 0) { - current_menu_indexes.item_index = 28; + current_menu_indexes.item_index = 30; } } if (z64_game.common.input[0].pad_pressed.a) { item_t *d = &(items_debug[current_menu_indexes.item_index]); // Songs don't work somehow? So use the rando function instead. if ((d->item_index >= ITEM_SONG_MINUET) && (d->item_index <= ITEM_SONG_STORMS)) { - give_song(&z64_file, d->item_index - 0x54, 0); + give_quest_item(&z64_file, d->item_index - 0x54, 0); + } else { + // Magic is not an item. + if (d->index == 21) { + if (z64_file.magic_capacity_set < 1) { + give_magic(&z64_file, 0, 0); + } else { + give_double_magic(&z64_file, 0, 0); + } + } else { + if (d->item_index == Z64_ITEM_BIGGORON_SWORD) { + z64_file.bgs_flag = 1; + } + z64_GiveItem(&z64_game, d->item_index); + } + } + } + case 7: // Actors + if (current_menu_indexes.sub_menu_index == 1) { + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.actor_index++; + if (current_menu_indexes.actor_index > 11) { + current_menu_indexes.actor_index = 0; + } } - else { - if (d->item_index == Z64_ITEM_BIGGORON_SWORD) { - z64_file.bgs_flag = 1; + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.actor_index--; + if (current_menu_indexes.actor_index < 0) { + current_menu_indexes.actor_index = 11; + } + } + current_menu_indexes.specific_actor_index = 0; + } + if (current_menu_indexes.sub_menu_index == 2) { + uint8_t nbActors = 0; + z64_actor_t* actor = z64_game.actor_list[current_menu_indexes.actor_index].first; + while (actor != NULL) { + nbActors++; + actor = actor->next; + } + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.specific_actor_index++; + if (current_menu_indexes.specific_actor_index > nbActors - 1) { + current_menu_indexes.specific_actor_index = 0; + } + } + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.specific_actor_index--; + if (current_menu_indexes.specific_actor_index < 0) { + current_menu_indexes.specific_actor_index = 0; + } + } + } + if (z64_game.common.input[0].pad_pressed.a && current_menu_indexes.sub_menu_index < 2) { + current_menu_indexes.sub_menu_index++; + } + break; + case 8: // Overlay + if (current_menu_indexes.sub_menu_index == 1) { + uint8_t nbOverlays, currentOverlayTabIndex = 0; + for (int overlay_id = 0; overlay_id < 0x0192; overlay_id++) { + ActorOverlay overlay = gActorOverlayTable[overlay_id]; + if (overlay.loadedRamAddr) { + nbOverlays++; + } + } + + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.overlay_index++; + if (current_menu_indexes.overlay_index > nbOverlays - 1) { + current_menu_indexes.overlay_index = 0; + } + } + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.overlay_index--; + if (current_menu_indexes.overlay_index < 0) { + current_menu_indexes.overlay_index = 0; + } + } + } + break; + case 9: // Scene flags + if (current_menu_indexes.sub_menu_index == 1) { + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.scene_flag_index++; + if (current_menu_indexes.scene_flag_index > 5) { + current_menu_indexes.scene_flag_index = 0; + } + } + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.scene_flag_index--; + if (current_menu_indexes.scene_flag_index < 0) { + current_menu_indexes.scene_flag_index = 5; + } + } + } + if (z64_game.common.input[0].pad_pressed.a && current_menu_indexes.sub_menu_index < 2) { + current_menu_indexes.sub_menu_index++; + } + else { + if (current_menu_indexes.sub_menu_index == 2) { + if (z64_game.common.input[0].pad_pressed.dr) { + current_menu_indexes.scene_flag++; + if (current_menu_indexes.scene_flag > 0x1F) { + current_menu_indexes.scene_flag = 0; + } + } + if (z64_game.common.input[0].pad_pressed.dl) { + current_menu_indexes.scene_flag--; + if (current_menu_indexes.scene_flag < 0) { + current_menu_indexes.scene_flag = 0x1F; + } + } + if (z64_game.common.input[0].pad_pressed.a) { + switch (current_menu_indexes.scene_flag_index) + { + case 0: + if (Flags_GetSwitch(&z64_game, current_menu_indexes.scene_flag)) { + Flags_UnsetSwitch(&z64_game, current_menu_indexes.scene_flag); + } + else { + Flags_SetSwitch(&z64_game, current_menu_indexes.scene_flag); + } + break; + case 1: + if (Flags_GetUnknown(&z64_game, current_menu_indexes.scene_flag)) { + Flags_UnsetUnknown(&z64_game, current_menu_indexes.scene_flag); + } + else { + Flags_SetUnknown(&z64_game, current_menu_indexes.scene_flag); + } + break; + case 2: + if (Flags_GetTreasure(&z64_game, current_menu_indexes.scene_flag) == 0) { + Flags_SetTreasure(&z64_game, current_menu_indexes.scene_flag); + } + break; + case 3: + if (Flags_GetClear(&z64_game, current_menu_indexes.scene_flag)) { + Flags_UnsetClear(&z64_game, current_menu_indexes.scene_flag); + } + else { + Flags_SetClear(&z64_game, current_menu_indexes.scene_flag); + } + break; + case 4: + if (Flags_GetTempClear(&z64_game, current_menu_indexes.scene_flag)) { + Flags_UnsetTempClear(&z64_game, current_menu_indexes.scene_flag); + } + else { + Flags_SetTempClear(&z64_game, current_menu_indexes.scene_flag); + } + break; + case 5: + if (Flags_GetCollectible(&z64_game, current_menu_indexes.scene_flag) == 0) { + Flags_SetCollectible(&z64_game, current_menu_indexes.scene_flag); + } + break; + } } - z64_GiveItem(&z64_game, d->item_index); } } break; @@ -315,165 +725,302 @@ void draw_debug_menu(z64_disp_buf_t *db) { (13 * font_width) + (8 * padding); int bg_height = (rows * icon_size) + ((rows + 1) * padding); + int alphaBackground = 0xD0; + + // Need a bigger and clearer background for the actor menu. + if (current_menu_indexes.main_index == 7 && current_menu_indexes.sub_menu_index > 1) { + bg_width *= 1.5; + alphaBackground = 0xB0; + } + // Some room names can be long so also increase the size for them. + if (current_menu_indexes.main_index == 0 && current_menu_indexes.sub_menu_index > 1) { + bg_width *= 1.5; + } + int bg_left = (Z64_SCREEN_WIDTH - bg_width) / 2; int bg_top = (Z64_SCREEN_HEIGHT - bg_height) / 2; - int left = bg_left + padding; - int start_top = bg_top + padding; + int start_top = bg_top; // Draw background gDPSetCombineMode(db->p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); - gDPSetPrimColor(db->p++, 0, 0, 0x00, 0x00, 0x00, 0xD0); + gDPSetPrimColor(db->p++, 0, 0, 0x00, 0x00, 0x00, alphaBackground); gSPTextureRectangle(db->p++, - bg_left<<2, bg_top<<2, - (bg_left + bg_width)<<2, (bg_top + bg_height)<<2, - 0, - 0, 0, - 1<<10, 1<<10); + bg_left * 4, bg_top * 4, + (bg_left + bg_width) * 4, (bg_top + bg_height) * 4, + 0, 0, 0, 1024, 1024); gDPPipeSync(db->p++); gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); if (current_menu_indexes.sub_menu_index == 0) { - gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); - for (int i = 0; i < 6; i++) { + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + for (int i = 0; i < 10; i++) { menu_category_t *d = &(menu_categories[i]); int top = start_top + ((icon_size + padding) * i) + 1; if (i != current_menu_indexes.main_index) { - text_print_size(d->name, left, top, font_width); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10 , 0xFF); - menu_category_t *d = &(menu_categories[current_menu_indexes.main_index]); + menu_category_t* d = &(menu_categories[current_menu_indexes.main_index]); int top = start_top + ((icon_size + padding) * current_menu_indexes.main_index) + 1; - text_print_size(d->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } else { switch (current_menu_indexes.main_index) { case 0: // Dungeons - gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); - for (int i = 0; i < 13; i++) { - warp_t *d = &(dungeon_warps[i]); - int top = start_top + ((icon_size + padding) * i) + 1; - if (i != current_menu_indexes.dungeon_index) { - text_print_size(d->name, left, top, font_width); + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + if (current_menu_indexes.sub_menu_index == 1) { + for (int i = 0; i < 13; i++) { + warp_t* d = &(dungeon_warps[i]); + int top = start_top + ((icon_size + padding) * i) + 1; + if (i != current_menu_indexes.dungeon_index) { + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + } } - } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 0xFF); - warp_t *d = &(dungeon_warps[current_menu_indexes.dungeon_index]); - int top = start_top + ((icon_size + padding) * current_menu_indexes.dungeon_index) + 1; - text_print_size(d->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + warp_t* d = &(dungeon_warps[current_menu_indexes.dungeon_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.dungeon_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + } + else { + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + room_t* roomset = dungeon_rooms[current_menu_indexes.dungeon_index].room; + for (int i = 0; i < dungeon_rooms[current_menu_indexes.dungeon_index].number_of_rooms; i++) { + room_t *room = &(roomset[i]); + int top = start_top + ((icon_size + padding) * i) + 1; + if (i != current_menu_indexes.room_index) { + text_print_size(db, room->name, left + 5, top + 5, font_width, font_height); + } + } + room_t* room = &(roomset[current_menu_indexes.room_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.room_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, room->name, left + 5, top + 5, font_width, font_height); + } break; case 1: // Overworld - gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); - if (current_menu_indexes.overworld_index < 10) { - for (int i = 0; i < 10; i++) { - warp_t *d = &(overworld_warps[i]); + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + if (current_menu_indexes.overworld_index < 12) { + for (int i = 0; i < 12; i++) { + warp_t* d = &(overworld_warps[i]); int top = start_top + ((icon_size + padding) * i) + 1; if (i != current_menu_indexes.overworld_index) { - text_print_size(d->name, left, top, font_width); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 0xFF); - d = &(overworld_warps[current_menu_indexes.overworld_index]); - top = start_top + ((icon_size + padding) * current_menu_indexes.overworld_index) + 1; - text_print_size(d->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + warp_t* d = &(overworld_warps[current_menu_indexes.overworld_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.overworld_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } else { - for (int i = 0; i < 9; i++) { - warp_t *d = &(overworld_warps[i + 10]); + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + for (int i = 0; i < 12; i++) { + warp_t* d = &(overworld_warps[i + 12]); int top = start_top + ((icon_size + padding) * i) + 1; - if (i + 10 != current_menu_indexes.overworld_index) { - text_print_size(d->name, left, top, font_width); + if (i + 12 != current_menu_indexes.overworld_index) { + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 0xFF); - d = &(overworld_warps[current_menu_indexes.overworld_index]); - top = start_top + ((icon_size + padding) * (current_menu_indexes.overworld_index - 10)) + 1; - text_print_size(d->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + warp_t* d = &(overworld_warps[current_menu_indexes.overworld_index]); + int top = start_top + ((icon_size + padding) * (current_menu_indexes.overworld_index - 12)) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } break; case 2: // Bosses - gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); for (int i = 0; i < 10; i++) { - warp_t *d = &(bosses_warps[i]); + warp_t* d = &(bosses_warps[i]); int top = start_top + ((icon_size + padding) * i) + 1; if (i != current_menu_indexes.boss_index) { - text_print_size(d->name, left, top, font_width); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 0xFF); - d = &(bosses_warps[current_menu_indexes.boss_index]); - top = start_top + ((icon_size + padding) * current_menu_indexes.boss_index) + 1; - text_print_size(d->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + warp_t* d = &(bosses_warps[current_menu_indexes.boss_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.boss_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); break; case 3: // Items - gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); - if (current_menu_indexes.item_index < 10) { - for (int i = 0; i < 10; i++) { - item_t *dd = &(items_debug[i]); + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + if (current_menu_indexes.item_index < 11) { + for (int i = 0; i < 11; i++) { + item_t* dd = &(items_debug[i]); int top = start_top + ((icon_size + padding) * i) + 1; if (i != current_menu_indexes.item_index) { - text_print_size(dd->name, left, top, font_width); + text_print_size(db, dd->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 0xFF); - item_t *dd = &(items_debug[current_menu_indexes.item_index]); - top = start_top + ((icon_size + padding) * current_menu_indexes.item_index) + 1; - text_print_size(dd->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + item_t* dd = &(items_debug[current_menu_indexes.item_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.item_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, dd->name, left + 5, top + 5, font_width, font_height); } - if (current_menu_indexes.item_index > 9 && current_menu_indexes.item_index < 20) { - for (int i = 0; i < 10; i++) { - item_t *dd = &(items_debug[i + 10]); + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + if (current_menu_indexes.item_index > 10 && current_menu_indexes.item_index < 22) { + for (int i = 0; i < 11; i++) { + item_t* dd = &(items_debug[i + 11]); int top = start_top + ((icon_size + padding) * i) + 1; - if (i + 10 != current_menu_indexes.item_index) { - text_print_size(dd->name, left, top, font_width); + if (i + 11 != current_menu_indexes.item_index) { + text_print_size(db, dd->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10 , 0xFF); item_t *dd = &(items_debug[current_menu_indexes.item_index]); - top = start_top + ((icon_size + padding) * (current_menu_indexes.item_index - 10)) + 1; - text_print_size(dd->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + int top = start_top + ((icon_size + padding) * (current_menu_indexes.item_index - 11)) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, dd->name, left + 5, top + 5, font_width, font_height); } - if (current_menu_indexes.item_index > 19 && current_menu_indexes.item_index < 28) { + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + if (current_menu_indexes.item_index > 21 && current_menu_indexes.item_index < 31) { for (int i = 0; i < 9; i++) { - item_t *dd = &(items_debug[i + 20]); + item_t* dd = &(items_debug[i + 22]); int top = start_top + ((icon_size + padding) * i) + 1; - if (i + 20 != current_menu_indexes.item_index) { - text_print_size(dd->name, left, top, font_width); + if (i + 22 != current_menu_indexes.item_index) { + text_print_size(db, dd->name, left + 5, top + 5, font_width, font_height); } } - text_flush_size(db, font_width, font_height, 0, 0); - gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10 , 0xFF); item_t *dd = &(items_debug[current_menu_indexes.item_index]); - top = start_top + ((icon_size + padding) * (current_menu_indexes.item_index - 20)) + 1; - text_print_size(dd->name, left, top, font_width); - text_flush_size(db, font_width, font_height, 0, 0); + int top = start_top + ((icon_size + padding) * (current_menu_indexes.item_index - 22)) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, dd->name, left + 5, top + 5, font_width, font_height); + } + break; + case 7: // Actor table + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + colorRGBA8_t color = { 0xFF, 0xFF, 0xFF, 0xFF}; + if (current_menu_indexes.sub_menu_index == 1) { + for (int i = 0; i < ACTORTYPE_CHEST + 1; i++) { + menu_category_t* d = &(actor_categories[i]); + int top = start_top + ((icon_size + padding) * i) + 1; + if (i != current_menu_indexes.actor_index) { + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + } + } + menu_category_t* d = &(actor_categories[current_menu_indexes.actor_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.actor_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + } + else { + uint8_t nbActors = 0; + z64_actor_t* actor = z64_game.actor_list[current_menu_indexes.actor_index].first; + uint8_t currentActorPage = current_menu_indexes.specific_actor_index / 10; + // Display actor list in 10 by 10 pages. + while (actor != NULL) { + nbActors++; + if (nbActors - 1 < currentActorPage * 10 || nbActors - 1 >= (currentActorPage + 1) * 10) { + actor = actor->next; + continue; + } + // Color the actor in red when its line is highlighted. + if (nbActors == current_menu_indexes.specific_actor_index + 1) { + Actor_SetColorFilter(actor, 0x4000, 125, 0x0000, 5); + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + } + else { + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + } + top = start_top + ((icon_size + padding) * ((nbActors - 1) % 10)) + 1; + char idActor[10]; + decimal_to_hex(actor->actor_id, idActor); + text_print_size(db, idActor, left + 5, top + 5, font_width, font_height); + uint32_t numberToConvert = (uintptr_t)actor; + char AddressActor[10]; + decimal_to_hex(numberToConvert, AddressActor); + text_print_size(db, AddressActor, left + 7*font_width, top + 5, font_width, font_height); + draw_int_size(db, actor->pos_world.x, left + 20*font_width + 5, top + 5, color, font_width, font_height); + draw_int_size(db, actor->pos_world.y, left + 25*font_width + 5, top + 5, color, font_width, font_height); + draw_int_size(db, actor->pos_world.z, left + 30*font_width + 5, top + 5, color, font_width, font_height); + actor = actor->next; + } } break; + case 8: // Overlay table + if (current_menu_indexes.sub_menu_index == 1) { + uint8_t currentOverlayTab = current_menu_indexes.overlay_index / 12; + // Display overlay list in 12 by 12 pages. + uint8_t nbOverlays, currentOverlayTabIndex = 0; + for (int overlay_id = 0; overlay_id < 0x0192; overlay_id++) { + ActorOverlay overlay = gActorOverlayTable[overlay_id]; + if (overlay.loadedRamAddr) { + nbOverlays++; + if (nbOverlays > currentOverlayTab * 12 && nbOverlays < (currentOverlayTab + 1) * 12 + 1) { + currentOverlayTabIndex++; + if (nbOverlays == current_menu_indexes.overlay_index + 1) { + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + } + else { + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + } + top = start_top + ((icon_size + padding) * ((currentOverlayTabIndex - 1) % 12)) + 1; + char idActor[10]; + decimal_to_hex(overlay_id, idActor); + text_print_size(db, idActor, left + 5, top + 5, font_width, font_height); + char ramStartOverlay[10]; + uint32_t numberToConvert = (uintptr_t)overlay.loadedRamAddr; + decimal_to_hex(numberToConvert, ramStartOverlay); + text_print_size(db, ramStartOverlay, left + 10*font_width + 5, top + 5, font_width, font_height); + } + } + } + } + break; + + case 9: // Flags + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + if (current_menu_indexes.sub_menu_index == 1) { + for (int i = 0; i < 6; i++) { + menu_category_t* d = &(flag_categories[i]); + int top = start_top + ((icon_size + padding) * i) + 1; + if (i != current_menu_indexes.scene_flag_index) { + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + } + } + menu_category_t* d = &(flag_categories[current_menu_indexes.scene_flag_index]); + int top = start_top + ((icon_size + padding) * current_menu_indexes.scene_flag_index) + 1; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + } + if (current_menu_indexes.sub_menu_index == 2) { + menu_category_t* d = &(flag_categories[current_menu_indexes.scene_flag_index]); + int top = start_top; + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + text_print_size(db, d->name, left + 5, top + 5, font_width, font_height); + char scene_flag[4]; + decimal_to_hex(current_menu_indexes.scene_flag, scene_flag); + text_print_size(db, scene_flag, left + 100, top + 5, font_width, font_height); + top += 20; + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 0x10; j++) { + uint8_t flag = i * 0x10 + j; + if (get_flag(current_menu_indexes.scene_flag_index, flag)) { + gDPSetPrimColor(db->p++, 0, 0, 0x00, 0xFF, 0x00, 255); + if (flag == current_menu_indexes.scene_flag) { + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + } + text_print_size(db, "1", left + 5 + ((font_width + padding) * j), top + ((icon_size + padding) * i) + 1, font_width, font_height); + } + else { + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0x00, 0x00, 255); + if (flag == current_menu_indexes.scene_flag) { + gDPSetPrimColor(db->p++, 0, 0, 0xE0, 0xE0, 0x10, 255); + } + text_print_size(db, "0", left + 5 + ((font_width + padding) * j), top + ((icon_size + padding) * i) + 1, font_width, font_height); + } + } + } + } default: break; } @@ -481,44 +1028,7 @@ void draw_debug_menu(z64_disp_buf_t *db) { } } -// Helper function for drawing numbers to the HUD. -int draw_int_helper(z64_disp_buf_t *db, int32_t number, int16_t left, int16_t top, colorRGBA8_t color) { - - int isNegative = 0; - if (number < 0) { - number *= -1; - isNegative = 1; - } - - uint8_t digits[10]; - uint8_t j = 0; - // Extract each digit. They are added, in reverse order, to digits[] - do { - digits[j] = number % 10; - number = number / 10; - j++; - } - while ( number > 0 ); - // This combiner mode makes it look like the rupee count - gDPSetCombineLERP(db->p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, - TEXEL0, 0, PRIMITIVE, 0); - - // Set the color - gDPSetPrimColor(db->p++, 0, 0, color.r, color.g, color.b, color.a); - if (isNegative) { - text_print_size("-", left - rupee_digit_sprite.tile_w, top, 8); - text_flush_size(db, 8, 16, 0, 0); - } - // Draw each digit - for (uint8_t c = j; c > 0; c--) { - sprite_texture(db, &rupee_digit_sprite, digits[c-1], left, top, 8, 16); - left += 8; - } - return j; -} - - -void draw_debug_numbers(z64_disp_buf_t *db) { +void draw_debug_numbers(z64_disp_buf_t* db) { for (int i = 0; i < 10; i++) { @@ -539,7 +1049,7 @@ void draw_debug_numbers(z64_disp_buf_t *db) { height += rupee_digit_sprite.tile_h * 0.8; colorRGBA8_t color = { debug_text_color.r, debug_text_color.g, debug_text_color.b, 0xFF}; - draw_int_helper(db, numberToShow, debug_text_x_placement, height + offsetY, color); + draw_int(db, numberToShow, debug_text_x_placement, height + offsetY, color); } for (int i = 0; i < 10; i++) { @@ -574,10 +1084,9 @@ void draw_debug_numbers(z64_disp_buf_t *db) { height += rupee_digit_sprite.tile_h * 0.8; colorRGBA8_t color = { debug_text_color.r, debug_text_color.g, debug_text_color.b, 0xFF}; - int numberDigit = draw_int_helper(db, entireValue, debug_text_x_placement, height + offsetY, color); - text_print_size(".", debug_text_x_placement + numberDigit * rupee_digit_sprite.tile_w, height + offsetY, rupee_digit_sprite.tile_w); - text_flush_size(db, rupee_digit_sprite.tile_w, rupee_digit_sprite.tile_h, 0, 0); - draw_int_helper(db, decimalValue, debug_text_x_placement + numberDigit * rupee_digit_sprite.tile_w + font_sprite.tile_w, + int numberDigit = draw_int(db, entireValue, debug_text_x_placement, height + offsetY, color); + text_print_size(db, ".", debug_text_x_placement + numberDigit * rupee_digit_sprite.tile_w, height + offsetY, rupee_digit_sprite.tile_w, rupee_digit_sprite.tile_h); + draw_int(db, decimalValue, debug_text_x_placement + numberDigit * rupee_digit_sprite.tile_w + font_sprite.tile_w, height + offsetY, color); } } diff --git a/ASM/c/debug.h b/ASM/c/debug.h index 7fd1e5e499..bc74372dde 100644 --- a/ASM/c/debug.h +++ b/ASM/c/debug.h @@ -8,13 +8,38 @@ #include "text.h" #include "item_effects.h" +extern uint8_t SKIP_N64_LOGO; +void Actor_SetColorFilter(z64_actor_t* actor, int16_t colorFlag, int16_t colorIntensityMax, int16_t bufFlag, int16_t duration); +int32_t Flags_GetSwitch(z64_game_t* play, int32_t flag); +void Flags_SetSwitch(z64_game_t* play, int32_t flag); +void Flags_UnsetSwitch(z64_game_t* play, int32_t flag); +int32_t Flags_GetUnknown(z64_game_t* play, int32_t flag); +void Flags_SetUnknown(z64_game_t* play, int32_t flag); +void Flags_UnsetUnknown(z64_game_t* play, int32_t flag); +int32_t Flags_GetTreasure(z64_game_t* play, int32_t flag); +void Flags_SetTreasure(z64_game_t* play, int32_t flag); +int32_t Flags_GetClear(z64_game_t* play, int32_t flag); +void Flags_SetClear(z64_game_t* play, int32_t flag); +void Flags_UnsetClear(z64_game_t* play, int32_t flag); +int32_t Flags_GetTempClear(z64_game_t* play, int32_t flag); +void Flags_SetTempClear(z64_game_t* play, int32_t flag); +void Flags_UnsetTempClear(z64_game_t* play, int32_t flag); +int32_t Flags_GetCollectible(z64_game_t* play, int32_t flag); +void Flags_SetCollectible(z64_game_t* play, int32_t flag); + typedef struct { int8_t main_index; int8_t sub_menu_index; int8_t dungeon_index; + int8_t room_index; int8_t overworld_index; int8_t boss_index; int8_t item_index; + int8_t actor_index; + int8_t specific_actor_index; + int8_t overlay_index; + int8_t scene_flag_index; + int8_t scene_flag; } menu_index_t; typedef struct { @@ -28,6 +53,20 @@ typedef struct { char name[30]; } warp_t; +typedef struct { + int32_t scene_index; + int32_t room_index; + z64_xyzf_t pos; + uint16_t yaw; + char name[30]; +} room_t; + +typedef struct { + uint8_t number_of_rooms; + room_t* room; +} rooms_t; + + typedef struct { uint8_t index; uint16_t item_index; @@ -44,8 +83,8 @@ typedef enum static uint8_t debugNumberIsInUsage[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static int32_t debugNumbers[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static float debugNumbersFloat[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; -static menu_index_t current_menu_indexes = {0, 0, 0, 0}; -static int show_warp_menu = 0; +static menu_index_t current_menu_indexes = {0, 0, 0, 0, 0, 0, 0, 0}; +static uint8_t show_warp_menu = 0; typedef void(*usebutton_t)(z64_game_t *game, z64_link_t *link, uint8_t item, uint8_t button); #define z64_usebutton ((usebutton_t) 0x8038C9A0) diff --git a/ASM/c/demo_effect.c b/ASM/c/demo_effect.c new file mode 100644 index 0000000000..c9c50f851b --- /dev/null +++ b/ASM/c/demo_effect.c @@ -0,0 +1,33 @@ +#include "z64.h" +#include "util.h" +#include "demo_effect.h" +#include "models.h" + +extern void DemoEffect_DrawJewel(DemoEffect* this, z64_game_t* globalCtx, void* func); +extern void* DemoEffect_DrawJewel_AfterHook; + +extern override_key_t CFG_BIGOCTO_OVERRIDE_KEY; + +// Overrides the item model for the dungeon reward shown before the Big Octo fight +void DemoEffect_DrawJewel_Hook(DemoEffect* this, z64_game_t* globalCtx) { + if (!this->override_initialized) { + if (globalCtx->scene_index == 0x02) { + if (CFG_BIGOCTO_OVERRIDE_KEY.all) { + this->override = lookup_override_by_key(CFG_BIGOCTO_OVERRIDE_KEY); + } + if (this->override.key.all) { + this->actor.rot_2.x = 0; + this->actor.scale = (z64_xyzf_t) { 0.02f, 0.02f, 0.02f }; + } + } + + this->override_initialized = true; + } + if (this->override.key.all) { + model_t model; + lookup_model_by_override(&model, this->override); + draw_model(model, &this->actor, globalCtx, 5.0); + } else { + DemoEffect_DrawJewel(this, globalCtx, resolve_overlay_addr(&DemoEffect_DrawJewel_AfterHook, 0x008B)); + } +} diff --git a/ASM/c/demo_effect.h b/ASM/c/demo_effect.h new file mode 100644 index 0000000000..c7b95e9d1c --- /dev/null +++ b/ASM/c/demo_effect.h @@ -0,0 +1,112 @@ +#ifndef _DEMO_EFFECT_H_ +#define _DEMO_EFFECT_H_ +#include "z64.h" +#include "get_items.h" + +typedef struct { + /* 0x00 */ uint8_t timer; +} DemoEffectFireBall; + +typedef struct { + /* 0x00 */ uint8_t alpha; + /* 0x01 */ uint8_t scale; + /* 0x02 */ uint8_t pad; + /* 0x04 */ int16_t rotation; +} DemoEffectBlueOrb; + +typedef struct { + /* 0x00 */ uint8_t alpha; + /* 0x01 */ uint8_t scaleFlag; + /* 0x02 */ uint8_t flicker; + /* 0x04 */ int16_t rotation; +} DemoEffectLight; + +typedef struct { + /* 0x00 */ uint8_t alpha; +} DemoEffectLgtShower; + +typedef struct { + /* 0x00 */ uint8_t type; + /* 0x01 */ uint8_t lightRingSpawnDelay; + /* 0x02 */ uint8_t rotation; + /* 0x04 */ int16_t lightRingSpawnTimer; +} DemoEffectGodLgt; + +typedef struct { + /* 0x00 */ uint8_t timerIncrement; + /* 0x01 */ uint8_t alpha; + /* 0x02 */ uint8_t pad; + /* 0x04 */ int16_t timer; +} DemoEffectLightRing; + +typedef struct { + /* 0x00 */ uint8_t triforceSpotOpacity; + /* 0x01 */ uint8_t lightColumnOpacity; + /* 0x02 */ uint8_t crystalLightOpacity; + /* 0x04 */ int16_t rotation; +} DemoEffectTriforceSpot; + +typedef struct { + /* 0x00 */ uint8_t isPositionInit; + /* 0x01 */ uint8_t isLoaded; + /* 0x02 */ uint8_t drawId; + /* 0x04 */ int16_t rotation; +} DemoEffectGetItem; + +typedef struct { + /* 0x00 */ uint8_t pad; + /* 0x01 */ uint8_t pad2; + /* 0x02 */ uint8_t pad3; + /* 0x04 */ int16_t shrinkTimer; +} DemoEffectTimeWarp; + +typedef struct { + /* 0x00 */ uint8_t type; + /* 0x01 */ uint8_t isPositionInit; + /* 0x02 */ uint8_t alpha; + /* 0x04 */ int16_t timer; +} DemoEffectJewel; + +typedef struct { + /* 0x00 */ uint8_t timer; +} DemoEffectDust; + +struct DemoEffect; + +typedef void (*DemoEffectFunc)(struct DemoEffect*, z64_game_t*); + +typedef struct DemoEffect { + /* 0x0000 */ z64_actor_t actor; + /* 0x013C */ uint8_t skelCurve[0x20]; // size = 0x20 + /* 0x015C */ uint8_t requiredObjectSlot; + /* 0x0160 */ Gfx* jewelDisplayList; + /* 0x0164 */ Gfx* jewelHolderDisplayList; + /* 0x0168 */ uint8_t primXluColor[3]; + /* 0x016B */ uint8_t envXluColor[3]; + /* 0x016E */ uint8_t primOpaColor[3]; + /* 0x0171 */ uint8_t envOpaColor[3]; + /* 0x0174 */ union { + DemoEffectFireBall fireBall; + DemoEffectBlueOrb blueOrb; + DemoEffectLight light; + DemoEffectLgtShower lgtShower; + DemoEffectGodLgt godLgt; + DemoEffectLightRing lightRing; + DemoEffectTriforceSpot triforceSpot; + DemoEffectGetItem getItem; + DemoEffectTimeWarp timeWarp; + DemoEffectJewel jewel; + DemoEffectDust dust; + }; + /* 0x017A */ int16_t effectFlags; + /* 0x017C */ int16_t cueChannel; + /* 0x017E */ z64_xyz_t jewelCsRotation; + /* 0x0184 */ DemoEffectFunc initUpdateFunc; + /* 0x0188 */ ActorFunc initDrawFunc; + /* 0x018C */ DemoEffectFunc updateFunc; + // original size = 0x0190 + /* 0x0190 */ override_t override; + /* 0x0xxx*/ bool override_initialized; +} DemoEffect; + +#endif diff --git a/ASM/c/dpad.h b/ASM/c/dpad.h index 5595dd1f6f..4924022523 100644 --- a/ASM/c/dpad.h +++ b/ASM/c/dpad.h @@ -32,16 +32,16 @@ extern uint8_t CFG_DPAD_ON_THE_LEFT; 0x00200000 | \ 0x08000000) -extern uint16_t CFG_ADULT_TRADE_SHUFFLE; -extern uint16_t CFG_CHILD_TRADE_SHUFFLE; +extern uint8_t CFG_ADULT_TRADE_SHUFFLE; +extern uint8_t CFG_CHILD_TRADE_SHUFFLE; -#define CAN_DRAW_TRADE_DPAD (z64_game.pause_ctxt.state == 6 && \ +#define CAN_DRAW_TRADE_DPAD (z64_game.pause_ctxt.state == PAUSE_STATE_MAIN && \ z64_game.pause_ctxt.screen_idx == 0 && \ (!z64_game.pause_ctxt.changing || z64_game.pause_ctxt.changing == 3) && \ ((z64_game.pause_ctxt.cursor_point[PAUSE_ITEM] == Z64_SLOT_ADULT_TRADE && CFG_ADULT_TRADE_SHUFFLE) || \ (z64_game.pause_ctxt.cursor_point[PAUSE_ITEM] == Z64_SLOT_CHILD_TRADE && CFG_CHILD_TRADE_SHUFFLE))) -#define CAN_DRAW_OCARINA_BUTTONS (z64_game.pause_ctxt.state == 6 && \ +#define CAN_DRAW_OCARINA_BUTTONS (z64_game.pause_ctxt.state == PAUSE_STATE_MAIN && \ z64_game.pause_ctxt.screen_idx == 0 && \ (!z64_game.pause_ctxt.changing || z64_game.pause_ctxt.changing == 3) && \ (z64_game.pause_ctxt.cursor_point[PAUSE_ITEM] == Z64_SLOT_OCARINA && SHUFFLE_OCARINA_BUTTONS)) @@ -66,7 +66,7 @@ extern uint16_t CFG_CHILD_TRADE_SHUFFLE; // Not getting pulled by hookshot // Not playing Bombchu bowling // Not playing Shooting Gallery -#define CAN_USE_OCARINA (z64_game.pause_ctxt.state == 0 && \ +#define CAN_USE_OCARINA (z64_game.pause_ctxt.state == PAUSE_STATE_OFF && \ (z64_file.items[Z64_SLOT_OCARINA] == Z64_ITEM_FAIRY_OCARINA || z64_file.items[Z64_SLOT_OCARINA] == Z64_ITEM_OCARINA_OF_TIME) && \ !z64_game.restriction_flags.ocarina && \ ((z64_link.state_flags_1 & BLOCK_ITEMS) == 0) && \ @@ -74,7 +74,7 @@ extern uint16_t CFG_CHILD_TRADE_SHUFFLE; z64_game.bombchuBowlingStatus == 0 && \ z64_game.shootingGalleryStatus == 0) -#define CAN_USE_CHILD_TRADE (z64_game.pause_ctxt.state == 0 && z64_file.items[Z64_SLOT_CHILD_TRADE] >= Z64_ITEM_WEIRD_EGG && z64_file.items[Z64_SLOT_CHILD_TRADE] <= Z64_ITEM_MASK_OF_TRUTH && !z64_game.restriction_flags.trade_items && ((z64_link.state_flags_1 & BLOCK_ITEMS) == 0)) +#define CAN_USE_CHILD_TRADE (z64_game.pause_ctxt.state == PAUSE_STATE_OFF && z64_file.items[Z64_SLOT_CHILD_TRADE] >= Z64_ITEM_WEIRD_EGG && z64_file.items[Z64_SLOT_CHILD_TRADE] <= Z64_ITEM_MASK_OF_TRUTH && !z64_game.restriction_flags.trade_items && ((z64_link.state_flags_1 & BLOCK_ITEMS) == 0)) void handle_dpad(); void draw_dpad_and_menu_utilities(); diff --git a/ASM/c/dungeon_info.c b/ASM/c/dungeon_info.c index a592b2ebe3..d1088a8754 100644 --- a/ASM/c/dungeon_info.c +++ b/ASM/c/dungeon_info.c @@ -54,14 +54,18 @@ extern uint32_t CFG_DUNGEON_INFO_REWARD_ENABLE; extern uint32_t CFG_DUNGEON_INFO_REWARD_NEED_COMPASS; extern uint32_t CFG_DUNGEON_INFO_REWARD_NEED_ALTAR; extern uint32_t CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE; +extern bool CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE; extern uint8_t SHUFFLE_CHEST_GAME; extern int8_t CFG_DUNGEON_REWARDS[14]; extern char CFG_DUNGEON_REWARD_AREAS[9][0x17]; +extern uint8_t CFG_DUNGEON_REWARD_WORLDS[9]; extern uint8_t CFG_DUNGEON_INFO_SILVER_RUPEES; +extern int8_t CFG_DUNGEON_PRECOMPLETED[14]; + extern extended_savecontext_static_t extended_savectx; extern silver_rupee_data_t silver_rupee_vars[0x16][2]; @@ -215,7 +219,7 @@ void draw_dungeon_info(z64_disp_buf_t* db) { int bg_left = (Z64_SCREEN_WIDTH - bg_width) / 2; int bg_top = (Z64_SCREEN_HEIGHT - bg_height) / 2; - int left = bg_left + padding; + uint16_t left = bg_left + padding; int start_top = bg_top + padding; // Draw background @@ -291,14 +295,30 @@ void draw_dungeon_info(z64_disp_buf_t* db) { left += icon_size + padding; - // Draw dungeon names - + // Draw the list of dungeons. + // Pre completed dungeons are grayed and crossed out. for (int i = 0; i < rows; i++) { + gDPPipeSync(db->p++); dungeon_entry_t* d = &(dungeons[i]); + bool empty = CFG_DUNGEON_PRECOMPLETED[d->index]; int top = start_top + ((icon_size + padding) * i) + 1; - text_print_size(d->name, left, top, font_width); + if (empty) { + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0x7F); + uint16_t sizeRectangle = text_print_size(db, d->name, left, top, font_width, font_height) - left; + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xBF); + gDPSetCombineMode(db->p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); + gSPTextureRectangle(db->p++, + left * 4, (top + 5) * 4, + (left + sizeRectangle) * 4, ((top + 5) + 1) * 4, + 0, + 0, 0, + 1024, 1024); + gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + } else { + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); + text_print_size(db, d->name, left, top, font_width, font_height); + } } - text_flush_size(db, font_width, font_height, 0, 0); left += ((SHUFFLE_CHEST_GAME == 1 ? 11 : 8) * font_width) + padding; @@ -320,13 +340,12 @@ void draw_dungeon_info(z64_disp_buf_t* db) { if (total_keys < 0) total_keys = 0; if (total_keys > 9) total_keys = 9; - char count[5] = "O(O)"; + char count[5] = "O(O)"; // we use O instead of 0 because it's easier to distinguish from 8 if (current_keys > 0) count[0] = current_keys + '0'; if (total_keys > 0) count[2] = total_keys + '0'; int top = start_top + ((icon_size + padding) * i) + 1; - text_print_size(count, left, top, font_width); + text_print_size(db, count, left, top, font_width, font_height); } - text_flush_size(db, font_width, font_height, 0, 0); left += (4 * font_width) + padding; @@ -424,12 +443,11 @@ void draw_dungeon_info(z64_disp_buf_t* db) { } char* str = CFG_DUNGEON_IS_MQ[d->index] ? "MQ" : "Normal"; int top = start_top + ((icon_size + padding) * i) + 1; - text_print_size(str, left, top, font_width); + text_print_size(db, str, left, top, font_width, font_height); } left += (6 * font_width) + padding; } - text_flush_size(db, font_width, font_height, 0, 0); if (CFG_DUNGEON_INFO_SILVER_RUPEES) { // Draw silver rupee icons @@ -516,6 +534,9 @@ void draw_dungeon_info(z64_disp_buf_t* db) { (1 * icon_size) + (0x16 * font_sprite.tile_w) + (3 * padding); + if (CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE) { + bg_width += 5 * font_sprite.tile_w; + } int bg_height = (rows * icon_size) + ((rows + 1) * padding); int bg_left = (Z64_SCREEN_WIDTH - bg_width) / 2; int bg_top = (Z64_SCREEN_HEIGHT - bg_height) / 2; @@ -552,7 +573,60 @@ void draw_dungeon_info(z64_disp_buf_t* db) { left += icon_size + padding; - // Draw dungeon names + // Draw reward world numbers + + if (CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE) { + for (int i = 0; i < 9; i++) { + uint8_t reward = reward_rows[i]; + bool display_area = true; + switch (CFG_DUNGEON_INFO_REWARD_NEED_COMPASS) { + case 1: + for (int j = 0; j < 8; j++) { + uint8_t dungeon_idx = dungeons[j].index; + if (CFG_DUNGEON_REWARDS[dungeon_idx] == reward) { + if (!z64_file.dungeon_items[dungeon_idx].compass) { + display_area = false; + } + break; + } + } + break; + case 2: + if (i != 3) { // always display Light Medallion + dungeon_entry_t* d = &(dungeons[i - (i < 3 ? 0 : 1)]); // vanilla location of the reward + display_area = z64_file.dungeon_items[d->index].compass; + } + break; + } + if (!display_area) { + continue; + } + uint8_t world = CFG_DUNGEON_REWARD_WORLDS[i]; + char world_text[5] = "WOOO"; // we use O instead of 0 because it's easier to distinguish from 8 + if (world < 100) { + world_text[0] = ' '; + world_text[1] = 'W'; + } + if (world < 10) { + world_text[1] = ' '; + world_text[2] = 'W'; + } + if (world / 100) { + world_text[1] = world / 100 + '0'; + } + if ((world % 100) / 10) { + world_text[2] = (world % 100) / 10 + '0'; + } + if (world % 10) { + world_text[3] = world % 10 + '0'; + } + int top = start_top + ((icon_size + padding) * i) + 1; + text_print(db, world_text, left, top); + } + left += 5 * font_sprite.tile_w; + } + + // Draw reward locations for (int i = 0; i < 9; i++) { if (i < 3 ? show_stones : show_medals) { @@ -581,7 +655,7 @@ void draw_dungeon_info(z64_disp_buf_t* db) { continue; } int top = start_top + ((icon_size + padding) * i) + 1; - text_print(CFG_DUNGEON_REWARD_AREAS[i], left, top); + text_print(db, CFG_DUNGEON_REWARD_AREAS[i], left, top); } } @@ -617,7 +691,7 @@ void draw_dungeon_info(z64_disp_buf_t* db) { for (int i = 0; i < rows; i++) { dungeon_entry_t* d = &(dungeons[d_right_dungeon_idx(i)]); // skip Deku/DC/Jabu/Ice dynamically int top = start_top + ((icon_size + padding) * i) + 1; - text_print(d->name, left, top); + text_print(db, d->name, left, top); } left += ((SHUFFLE_CHEST_GAME == 1 ? 11 : 8) * font_sprite.tile_w) + padding; @@ -640,11 +714,11 @@ void draw_dungeon_info(z64_disp_buf_t* db) { if (total_keys < 0) total_keys = 0; if (total_keys > 9) total_keys = 9; - char count[5] = "O(O)"; + char count[5] = "O(O)"; // we use O instead of 0 because it's easier to distinguish from 8 if (current_keys > 0) count[0] = current_keys + '0'; if (total_keys > 0) count[2] = total_keys + '0'; int top = start_top + ((icon_size + padding) * i) + 1; - text_print(count, left, top); + text_print(db, count, left, top); } left += (4 * font_sprite.tile_w) + padding; @@ -774,20 +848,36 @@ void draw_dungeon_info(z64_disp_buf_t* db) { int start_top = bg_top + padding; draw_background(db, bg_left, bg_top, bg_width, bg_height); - gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); // Draw dungeon names for (int i = 0; i < 12; i++) { dungeon_entry_t* d = &(dungeons[i + (i > 9 ? 1 : 0)]); // skip Hideout + bool empty = CFG_DUNGEON_PRECOMPLETED[d->index]; int top = start_top + ((icon_size + padding) * i) + 1; - text_print(d->name, left, top); + if (empty) { + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0x7F); + uint16_t sizeRectangle = text_print(db, d->name, left, top) - left; + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xBF); + gDPSetCombineMode(db->p++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); + gSPTextureRectangle(db->p++, + left * 4, (top + 6) * 4, + (left + sizeRectangle) * 4, (top + 6 + 2) * 4, + 0, + 0, 0, + 1024, 1024); + gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + } else { + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); + text_print(db, d->name, left, top); + } } left += (8 * font_sprite.tile_w) + padding; // Draw maps and compasses + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); if (show_map_compass) { // Draw maps @@ -848,7 +938,7 @@ void draw_dungeon_info(z64_disp_buf_t* db) { } char* str = CFG_DUNGEON_IS_MQ[d->index] ? "MQ" : "Normal"; int top = start_top + ((icon_size + padding) * i) + 1; - text_print(str, left, top); + text_print(db, str, left, top); } left += icon_size + padding; @@ -856,7 +946,6 @@ void draw_dungeon_info(z64_disp_buf_t* db) { } // Finish - text_flush(db); } int dungeon_info_is_drawn() { diff --git a/ASM/c/dungeon_info.h b/ASM/c/dungeon_info.h index b076d5b943..2287e14a8d 100644 --- a/ASM/c/dungeon_info.h +++ b/ASM/c/dungeon_info.h @@ -34,7 +34,7 @@ extern uint8_t CFG_DPAD_DUNGEON_INFO_ENABLE; static int show_dungeon_info = 0; #define CAN_DRAW_DUNGEON_INFO (CFG_DUNGEON_INFO_ENABLE != 0 && \ - z64_game.pause_ctxt.state == 6 && \ + z64_game.pause_ctxt.state == PAUSE_STATE_MAIN && \ z64_game.pause_ctxt.screen_idx == 0 && \ (!z64_game.pause_ctxt.changing || \ z64_game.pause_ctxt.changing == 3)) diff --git a/ASM/c/en_item00.c b/ASM/c/en_item00.c index 12c142d175..d3e12b2198 100644 --- a/ASM/c/en_item00.c +++ b/ASM/c/en_item00.c @@ -1,6 +1,10 @@ #include "z64.h" #include "en_item00.h" #include "get_items.h" +#include "models.h" +#include "actor.h" + +extern void EnItem00_Draw(z64_actor_t* actor, z64_game_t* globalCtx); // EnItem00 Action Function used for sending outgoing junk overrides collected from enitem00 collectibles void EnItem00_OutgoingAction(EnItem00* this, z64_game_t* globalCtx) { @@ -39,3 +43,43 @@ bool EnItem00_ProximityCheck_Hack(EnItem00* this, z64_game_t* GlobalCtx) { } return false; } + +extern void EnItem00_Init(EnItem00* this, z64_game_t* globalCtx); +extern void en_item00_update(EnItem00* this, z64_game_t* globalCtx); + +void EnItem00_Init_Hook(EnItem00* this, z64_game_t* globalCtx) { + EnItem00_Init(this, globalCtx); + // Reset the scale for overridden collectibles + if (this->override.key.all) { + this->scale = this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 0.015f; + this->actor.yOffset = 750.0f; + } +} + +void en_item00_update_hook(EnItem00* this, z64_game_t* globalCtx) { + xflag_t* flag = &(Actor_GetAdditionalData(&this->actor)->flag); + if (this->override.key.type != OVR_DELAYED && Get_NewFlag(flag) && !((collectible_mutex == this) || this->actor.dropFlag == 1)) { + this->override = (override_t) { 0 }; + } + if (this->override.key.all && this->actionFunc != Collectible_WaitForMessageBox) { + lookup_model_by_override(&this->model, this->override); + } + en_item00_update(this, globalCtx); +} + +void EnItem00_Draw_Hook(z64_actor_t* actor, z64_game_t* globalCtx) { + EnItem00* this = (EnItem00*)actor; + model_t model = { + .object_id = 0x0000, + .graphic_id = 0x00, + }; + + if (this->override.key.all) { + model = this->model; + if (model.object_id != 0x0000) { + draw_model(model, actor, globalCtx, 25.0); + } + } else { + EnItem00_Draw(&(this->actor), globalCtx); + } +} diff --git a/ASM/c/en_item00.h b/ASM/c/en_item00.h index beacd9008a..ae809c8c3a 100644 --- a/ASM/c/en_item00.h +++ b/ASM/c/en_item00.h @@ -1,8 +1,34 @@ #ifndef EN_ITEM00_H #define EN_ITEM00_H -#include "get_items.h" +#include "models.h" +#include "override.h" +#include + +struct EnItem00; + +typedef void (*EnItem00ActionFunc)(struct EnItem00*, z64_game_t*); +typedef struct EnItem00 { + z64_actor_t actor; // 0x0000 + EnItem00ActionFunc actionFunc; // 0x013C + uint16_t collectibleFlag; // 0x0140 + uint16_t getItemId; // 0x0142 + uint16_t unk_154; // 0x0144 + uint16_t unk_156; // 0x0146 + uint16_t unk_158; // 0x0148 + int16_t timeToLive; // 0x014A + float scale; // 0x014C + ColliderCylinder collider; // 0x0150 size = 4C + override_t override; // 0x019C + bool is_silver_rupee; // 0x???? + bool dropped; + model_t model; +} EnItem00; void EnItem00_OutgoingAction(EnItem00* this, z64_game_t* globalCtx); +typedef void (*z64_EnItem00ActionFunc)(struct EnItem00*, z64_game_t*); +typedef EnItem00*(*z64_Item_DropCollectible_proc)(z64_game_t* globalCtx, z64_xyzf_t* spawnPos, int16_t params); +typedef EnItem00*(*z64_Item_DropCollectibleRandom_proc)(z64_game_t* globalCtx, z64_actor_t* fromActor, z64_xyzf_t* spawnPos, int16_t params); + #endif diff --git a/ASM/c/en_wonderitem.c b/ASM/c/en_wonderitem.c index 8de027a96f..aee783e489 100644 --- a/ASM/c/en_wonderitem.c +++ b/ASM/c/en_wonderitem.c @@ -2,6 +2,8 @@ #include "z64.h" #include "en_wonderitem.h" #include "get_items.h" +#include "actor.h" +#include "scene.h" static colorRGBA8_t sEffectPrimColorRed = { 255, 0, 0, 0 }; static colorRGBA8_t sEffectPrimColorGreen = { 0, 255, 0, 0 }; @@ -15,50 +17,35 @@ static colorRGBA8_t sEffectEnvColor = { 255, 255, 255, 0 }; static z64_xyzf_t sEffectVelocity = { 0.0f, 0.5f, 0.0f }; static z64_xyzf_t sEffectAccel = { 0.0f, 0.5f, 0.0f }; - -extern uint16_t drop_collectible_override_flag; extern uint16_t CURR_ACTOR_SPAWN_INDEX; -void EnWonderitem_AfterInitHack(z64_actor_t* this, z64_game_t* globalCtx) -{ - if(this->main_proc == NULL) - return; - if(this->actor_id != 0x112) - return; +void EnWonderitem_AfterInitHack(z64_actor_t* this, z64_game_t* globalCtx) { + if (this->main_proc == NULL) return; + if (this->actor_id != 0x112) return; EnWonderItem* wonderitem = (EnWonderItem*)this; wonderitem->overridden = 0; - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = this->rot_init.y; //flag was just stored in y rotation - dummy.actor.variable = 0; + xflag_t flag = Actor_GetAdditionalData(this)->flag; // Check if the Wonderitem should be overridden - dummy.override = lookup_override(&(dummy.actor), globalCtx->scene_index, 0); - if(dummy.override.key.all != 0 && !Get_CollectibleOverrideFlag(&dummy)) - { + if (flag.all && !Get_NewFlag(&flag)) { wonderitem->overridden = 1; } } -void EnWonderItem_Multitag_DrawHack(z64_xyzf_t* tags, uint32_t index, EnWonderItem* this) -{ - if(this->overridden) - { +void EnWonderItem_Multitag_DrawHack(z64_xyzf_t* tags, uint32_t index, EnWonderItem* this) { + if (this->overridden) { colorRGBA8_t* color = &sEffectPrimColorBlue; - if(this->wonderMode == WONDERITEM_MULTITAG_ORDERED) + if (this->wonderMode == WONDERITEM_MULTITAG_ORDERED) { color = &sEffectPrimColorCyan; + } z64_xyzf_t pos = tags[index]; -// if(this->wonderMode != WONDERITEM_INTERACT_SWITCH) -// pos.y += 20.0; - z64_EffectSsKiraKira_SpawnSmall(&z64_game, &pos, &sEffectVelocity, &sEffectAccel, color, &sEffectEnvColor ); + z64_EffectSsKiraKira_SpawnSmall(&z64_game, &pos, &sEffectVelocity, &sEffectAccel, color, &sEffectEnvColor); } - } -void EnWonderItem_DropCollectible_Hack(EnWonderItem* this, z64_game_t* globalCtx, int32_t autoCollect) -{ +void EnWonderItem_DropCollectible_Hack(EnWonderItem* this, z64_game_t* globalCtx, int32_t autoCollect) { static int16_t dropTable[] = { ITEM00_NUTS, ITEM00_HEART_PIECE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_SMALL, ITEM00_HEART, ITEM00_ARROWS_SMALL, ITEM00_ARROWS_MEDIUM, ITEM00_ARROWS_LARGE, @@ -71,16 +58,18 @@ void EnWonderItem_DropCollectible_Hack(EnWonderItem* this, z64_game_t* globalCtx z64_PlaySFXID(NA_SE_SY_GET_ITEM); // Override behavior. Spawn an overridden collectible on link - if(this->overridden) - { - drop_collectible_override_flag = this->actor.rot_init.y; - if(autoCollect) + if (this->overridden) { + xflag_t* flag = &(Actor_GetAdditionalData(&this->actor)->flag); + drop_collectible_override_flag = *flag; + if(autoCollect) { z64_Item_DropCollectible2(globalCtx, &(z64_link.common.pos_world), 0); - else + } else { z64_Item_DropCollectible(globalCtx, &this->actor.pos_world, 0); - drop_collectible_override_flag = 0; - if (this->switchFlag >= 0) + } + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + if (this->switchFlag >= 0) { z64_Flags_SetSwitch(globalCtx, this->switchFlag); + } z64_ActorKill(&this->actor); return; } @@ -113,39 +102,41 @@ void EnWonderItem_DropCollectible_Hack(EnWonderItem* this, z64_game_t* globalCtx void EnWonderItem_Update_Hack(EnWonderItem* this) { colorRGBA8_t* color = NULL; - if(this->overridden) { - switch(this->wonderMode){ - case(WONDERITEM_PROXIMITY_DROP): { + if (this->overridden) { + switch (this->wonderMode) { + case WONDERITEM_PROXIMITY_DROP: + { color = &sEffectPrimColorYellow; break; } - case(WONDERITEM_INTERACT_SWITCH): - case(WONDERITEM_BOMB_SOLDIER): { + case WONDERITEM_INTERACT_SWITCH: + case WONDERITEM_BOMB_SOLDIER: + { color = &sEffectPrimColorRed; break; } - default: + default: { break; + } } - if(color) { - z64_EffectSsKiraKira_SpawnSmall(&z64_game, &(this->actor.pos_world), &sEffectVelocity, &sEffectAccel, color, &sEffectEnvColor ); + if (color) { + z64_EffectSsKiraKira_SpawnSmall(&z64_game, &(this->actor.pos_world), &sEffectVelocity, &sEffectAccel, color, &sEffectEnvColor); } } } // Hack to not kill wonderitem when switch flag is set if we need to override still uint32_t EnWonderItem_Kill_Hack(EnWonderItem* this) { - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = (CURR_ACTOR_SPAWN_INDEX) | (this->actor.room_index << 8); - dummy.actor.variable = 0; + xflag_t flag = { 0 }; + flag.flag = CURR_ACTOR_SPAWN_INDEX; + flag.scene = z64_game.scene_index; + flag.room = this->actor.room_index; + flag.setup = curr_scene_setup; // Check if the Wonderitem should be overridden - dummy.override = lookup_override(&(dummy.actor), z64_game.scene_index, 0); + override_t override = lookup_override_by_newflag(&flag); - if(dummy.override.key.all != 0 && !Get_CollectibleOverrideFlag(&dummy)) - return 0; - if ((this->switchFlag >= 0) && z64_Flags_GetSwitch(&z64_game, this->switchFlag)) - return 1; + if (override.key.all != 0 && !Get_NewFlag(&flag)) return 0; + if ((this->switchFlag >= 0) && z64_Flags_GetSwitch(&z64_game, this->switchFlag)) return 1; return 0; } diff --git a/ASM/c/file_icons.c b/ASM/c/file_icons.c index 63e0664b7f..55aff59fdb 100644 --- a/ASM/c/file_icons.c +++ b/ASM/c/file_icons.c @@ -663,8 +663,7 @@ static void draw_triforce_count_fileselect(z64_disp_buf_t* db, const uint8_t* di } gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, bright_alpha); - text_print_size("/", get_left(dataCurrent->pos) + 4, top, 8); - text_flush_size(db, 8, 8, 0, 0); + text_print_size(db, "/", get_left(dataCurrent->pos) + 4, top, 8, 8); sprite_load(db, &item_digit_sprite, 0, 10); // Triforce goal number is always in yellow. diff --git a/ASM/c/file_message.c b/ASM/c/file_message.c index a3735a651b..14c5c2a4de 100644 --- a/ASM/c/file_message.c +++ b/ASM/c/file_message.c @@ -3,6 +3,7 @@ #include "text.h" extern uint8_t CFG_SHOW_SETTING_INFO; +extern char WEB_ID_STRING_TXT[]; extern char WORLD_STRING_TXT[]; extern char CFG_CUSTOM_MESSAGE_1[]; extern char CFG_CUSTOM_MESSAGE_2[]; @@ -34,9 +35,9 @@ static uint8_t get_alpha(const z64_menudata_t* menu_data) { return (uint8_t)(alpha <= 0xFF ? alpha : 0xFF); } -static void print_msg(const char* s, int* top) { +static void print_msg(z64_disp_buf_t* db, const char* s, int* top) { if (*s != '\0') { - text_print_size(s, 0x80, *top, TEXT_WIDTH); + text_print_size(db, s, 0x80, *top, TEXT_WIDTH, TEXT_HEIGHT); *top += TEXT_HEIGHT + 1; } else { @@ -45,6 +46,19 @@ static void print_msg(const char* s, int* top) { } void draw_file_message(z64_disp_buf_t* db, const z64_menudata_t* menu_data) { + if (WEB_ID_STRING_TXT[0] != '\0') { + gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); + int icon_count = 5; + int icon_size = 24; + int padding = 8; + int width = (icon_count * icon_size) + ((icon_count - 1) * padding); + int right = (Z64_SCREEN_WIDTH - width) / 2 - padding; + int left = right - 10 * TEXT_WIDTH; + + text_print_size(db, " Seed ID", left, 24 - TEXT_HEIGHT, TEXT_WIDTH, TEXT_HEIGHT); + text_print_size(db, WEB_ID_STRING_TXT, left, 24, TEXT_WIDTH, TEXT_HEIGHT); + } + if (WORLD_STRING_TXT[0] != '\0') { gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, 255); int icon_count = 5; @@ -53,9 +67,8 @@ void draw_file_message(z64_disp_buf_t* db, const z64_menudata_t* menu_data) { int width = (icon_count * icon_size) + ((icon_count - 1) * padding); int left = (Z64_SCREEN_WIDTH + width) / 2 + padding; - text_print_size("World", left, 24 - TEXT_HEIGHT, TEXT_WIDTH); - text_print_size(WORLD_STRING_TXT, left, 24, TEXT_WIDTH); - text_flush_size(db, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); + text_print_size(db, "World", left, 24 - TEXT_HEIGHT, TEXT_WIDTH, TEXT_HEIGHT); + text_print_size(db, WORLD_STRING_TXT, left, 24, TEXT_WIDTH, TEXT_HEIGHT); } if (CFG_SHOW_SETTING_INFO) { @@ -65,29 +78,28 @@ void draw_file_message(z64_disp_buf_t* db, const z64_menudata_t* menu_data) { int top = 0x71; int doblank = 0; if (*CFG_CUSTOM_MESSAGE_1) { - print_msg(CFG_CUSTOM_MESSAGE_1, &top); + print_msg(db, CFG_CUSTOM_MESSAGE_1, &top); doblank = 1; } if (*CFG_CUSTOM_MESSAGE_2) { - print_msg(CFG_CUSTOM_MESSAGE_2, &top); + print_msg(db, CFG_CUSTOM_MESSAGE_2, &top); doblank = 1; } if (doblank) { - print_msg("", &top); + print_msg(db, "", &top); } - print_msg("Generated with OoTR", &top); - print_msg(VERSION_STRING_TXT, &top); - print_msg(TIME_STRING_TXT, &top); - print_msg("", &top); + print_msg(db, "Generated with OoTR", &top); + print_msg(db, VERSION_STRING_TXT, &top); + print_msg(db, TIME_STRING_TXT, &top); + print_msg(db, "", &top); if (SPOILER_AVAILABLE) { - print_msg("Spoiler available", &top); + print_msg(db, "Spoiler available", &top); } if (PLANDOMIZER_USED) { - print_msg("Plandomizer", &top); + print_msg(db, "Plandomizer", &top); } - text_flush_size(db, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); } } } diff --git a/ASM/c/file_select.c b/ASM/c/file_select.c index 7cbc171370..95613f79ae 100644 --- a/ASM/c/file_select.c +++ b/ASM/c/file_select.c @@ -1,13 +1,13 @@ #include "file_select.h" +#include "audio.h" #include "file_icons.h" #include "file_message.h" #include "gfx.h" #include "music.h" #include "text.h" #include "util.h" -#include "z64.h" - +#include "save.h" sprite_t* hash_sprites[2] = { &items_sprite, @@ -56,6 +56,190 @@ hash_symbol_t hash_symbols[32] = { extern uint8_t CFG_FILE_SELECT_HASH[5]; +int8_t password_index = -1; +uint16_t tentatives = 0; +uint16_t cooldown = 0; +static const uint8_t TEXT_WIDTH = 8; +static const uint8_t TEXT_HEIGHT = 9; +static const uint8_t BUTTON_WIDTH = 12; +static const uint8_t BUTTON_HEIGHT = 12; +extern uint8_t PASSWORD[PASSWORD_LENGTH]; +uint8_t buffer_password[PASSWORD_LENGTH] = {0, 0, 0, 0, 0, 0}; + +bool is_saved_password_clear(z64_menudata_t* menu_data) { + // Player can save in file 1 and use file 2 later, so we look at both of them. + bool fileOkPassword[2] = {true, true}; + for (uint8_t slotFile = 0; slotFile < 2; slotFile++) { + z64_file_t* file = &menu_data->sram_buffer->primary_saves[slotFile].original_save; + extended_savecontext_static_t* extended = &(((extended_sram_file_t*)file)->additional_save_data.extended); + for (uint8_t i = 0 ; i < PASSWORD_LENGTH; i++) { + if (extended->password[i] != PASSWORD[i]) { + fileOkPassword[slotFile] = false; + break; + } + } + } + return fileOkPassword[0] || fileOkPassword[1]; +} + +bool is_buffer_password_clear() { + for (uint8_t i = 0 ; i < PASSWORD_LENGTH; i++) { + if (buffer_password[i] != PASSWORD[i]) { + return false; + } + } + return true; +} + +void reset_buffer() { + // Don't reset if it's already the right one. + if (is_buffer_password_clear()) { + return; + } + password_index = -1; + for (uint8_t i = 0 ; i < PASSWORD_LENGTH; i++) { + buffer_password[i] = 0; + } +} + +void manage_password(z64_disp_buf_t* db, z64_menudata_t* menu_data) { + if (cooldown > 0) { + cooldown--; + } + // Draw "Password locked" at the place of the Controls texture, and a key on the OK button, to display the lock. + if (!is_saved_password_clear(menu_data) && !is_buffer_password_clear()) { + int left = 90; + int top = 204; + int padding = 8; + + gDPPipeSync(db->p++); + if (cooldown > 0) { + colorRGBA8_t color = {0xFF, 0xFF, 0xFF, 0xFF}; + draw_int_size(db, 1 + cooldown / 60, left - 2 * padding, top, color, 6, 12); + } + gDPPipeSync(db->p++); + gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); + sprite_load(db, &quest_items_sprite, 17, 1); + sprite_draw(db, &quest_items_sprite, 0, left, top - 2, BUTTON_WIDTH, BUTTON_HEIGHT); + sprite_draw(db, &quest_items_sprite, 0, left + TEXT_WIDTH + 1.7 * padding + 15 * font_sprite.tile_w, top - 2, BUTTON_WIDTH, BUTTON_HEIGHT); + text_print_size(db, "Password locked", left + TEXT_HEIGHT + padding, top, TEXT_WIDTH, TEXT_HEIGHT); + } + if (menu_data->menu_transition == SM_CONFIRM_FILE) { + if (password_index < 0) { + if (menu_data->selected_sub_item == FS_BTN_CONFIRM_YES) { + if (z64_game.common.input[0].pad_pressed.a || z64_game.common.input[0].pad_pressed.s) { + if (is_saved_password_clear(menu_data) || is_buffer_password_clear()) { + // Load the game. + z64_PlaySFXID(NA_SE_SY_FSEL_DECIDE_L); + menu_data->menu_transition = SM_FADE_OUT; + Audio_StopCurrentMusic(0xF); + } else { + if (cooldown == 0) { + // Go to password screen. + password_index++; + return; + } else { + // Play an error sound until cooldown is finished. + z64_PlaySFXID(NA_SE_SY_ERROR); + } + } + } + // Go back one screen. + if (z64_game.common.input[0].pad_pressed.b) { + z64_PlaySFXID(NA_SE_SY_FSEL_CLOSE); + menu_data->menu_transition++; + } + } + } + if (menu_data->selected_sub_item == FS_BTN_CONFIRM_QUIT) { // On the Cancel option, reproduce vanilla behaviour and reset the buffer password. + if (z64_game.common.input[0].pad_pressed.a || z64_game.common.input[0].pad_pressed.s || z64_game.common.input[0].pad_pressed.b) { + z64_PlaySFXID(NA_SE_SY_FSEL_CLOSE); + menu_data->menu_transition++; + reset_buffer(); + } + } + // Password screen. + if (password_index > -1) { + uint8_t left_password = 0x37; + uint8_t top_password = 0x5C; + + gDPPipeSync(db->p++); + gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF); + text_print_size(db, "Enter Password", left_password, top_password, TEXT_WIDTH, TEXT_HEIGHT); + + if (is_buffer_password_clear()) { + password_index = -1; + z64_PlaySFXID(NA_SE_SY_CORRECT_CHIME); + // Write the password in save context. + extended_sram_file_t* file = &(menu_data->sram_buffer->primary_saves[menu_data->selected_file]); + extended_savecontext_static_t* extended = &(file->additional_save_data.extended); + for (uint8_t i = 0 ; i < PASSWORD_LENGTH; i++) { + extended->password[i] = buffer_password[i]; + } + Sram_WriteSave(NULL, file); + return; + } else { + if (z64_game.common.input[0].pad_pressed.a) { + if (menu_data->selected_sub_item == FS_BTN_CONFIRM_YES) { + buffer_password[password_index] = 1; + password_index++; + } else { + z64_PlaySFXID(NA_SE_SY_FSEL_CLOSE); + menu_data->menu_transition++; + } + } + if (z64_game.common.input[0].pad_pressed.cd) { + buffer_password[password_index] = 2; + password_index++; + } + if (z64_game.common.input[0].pad_pressed.cr) { + buffer_password[password_index] = 3; + password_index++; + } + if (z64_game.common.input[0].pad_pressed.cl) { + buffer_password[password_index] = 4; + password_index++; + } + if (z64_game.common.input[0].pad_pressed.cu) { + buffer_password[password_index] = 5; + password_index++; + } + if (z64_game.common.input[0].pad_pressed.b) { + password_index--; + if (password_index < 0) { + z64_PlaySFXID(NA_SE_SY_FSEL_CLOSE); + reset_buffer(); + } else { + buffer_password[password_index] = 0; + } + } + if (password_index > 5 && !is_buffer_password_clear()) { + tentatives++; + // Penalty cooldown every 3 tries, starting from the 6th one. + // File select is 60 fps, so 10sec. + if (tentatives > 5 && (tentatives % 3) == 0) { + cooldown = 600; + } + z64_PlaySFXID(NA_SE_SY_ERROR); + reset_buffer(); + } + } + // Draw the password buttons. + sprite_load(db, &ocarina_button_sprite, 0, 5); + for (uint8_t i = 0 ; i < password_index + 1; i++) { + gDPSetPrimColor(db->p++, 0, 0, 0xF4, 0xEC, 0x30, 0xFF); // Yellow C buttons + if (buffer_password[i] - 1 == 0) { // A is blue + gDPSetPrimColor(db->p++, 0, 0, 0x00, 0x00, 0xFF, 0xFF); + } + sprite_draw(db, &ocarina_button_sprite, buffer_password[i] - 1, + left_password + i * (BUTTON_WIDTH + 5), top_password + 0x0C, BUTTON_WIDTH, BUTTON_HEIGHT); + } + } + } +} + void draw_file_select_hash(uint32_t fade_out_alpha, z64_menudata_t* menu_data) { z64_disp_buf_t* db = &(z64_ctxt.gfx->poly_opa); @@ -85,9 +269,11 @@ void draw_file_select_hash(uint32_t fade_out_alpha, z64_menudata_t* menu_data) { } draw_file_message(db, menu_data); - draw_file_icons(db, menu_data); + if (password_index < 0) { + draw_file_icons(db, menu_data); + } display_song_name_on_file_select(db); - + manage_password(db, menu_data); // Fade out once a file is selected gDPPipeSync(db->p++); diff --git a/ASM/c/file_select.h b/ASM/c/file_select.h index b74b2b56d0..5ceb1f89d8 100644 --- a/ASM/c/file_select.h +++ b/ASM/c/file_select.h @@ -2,7 +2,26 @@ #define FILE_SELECT_H #include "z64.h" +#define PASSWORD_LENGTH 6 + +typedef enum { + /* 0 */ SM_FADE_MAIN_TO_SELECT, + /* 1 */ SM_MOVE_FILE_TO_TOP, + /* 2 */ SM_FADE_IN_FILE_INFO, + /* 3 */ SM_CONFIRM_FILE, + /* 4 */ SM_FADE_OUT_FILE_INFO, + /* 5 */ SM_MOVE_FILE_TO_SLOT, + /* 6 */ SM_FADE_OUT, + /* 7 */ SM_LOAD_GAME, +} SelectMode; + +typedef enum { + /* 0 */ FS_BTN_CONFIRM_YES, + /* 1 */ FS_BTN_CONFIRM_QUIT, +} ConfirmButtonIndex; void draw_file_select_hash(uint32_t fade_out_alpha, z64_menudata_t* menu_data); +void Audio_StopCurrentMusic(uint16_t arg0); + #endif diff --git a/ASM/c/ganon_boss_key.h b/ASM/c/ganon_boss_key.h deleted file mode 100644 index 8fbd396b35..0000000000 --- a/ASM/c/ganon_boss_key.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GANON_BOSS_KEY_H -#define GANON_BOSS_KEY_H - -void give_ganon_boss_key(); - -#endif diff --git a/ASM/c/get_items.c b/ASM/c/get_items.c index 0d16a16863..d795b75528 100644 --- a/ASM/c/get_items.c +++ b/ASM/c/get_items.c @@ -7,6 +7,10 @@ #include "util.h" #include "en_item00.h" #include "z64.h" +#include "scene.h" +#include "actor.h" +#include "save.h" +#include "models.h" extern uint8_t SHUFFLE_CHEST_GAME; extern uint8_t FAST_CHESTS; @@ -28,7 +32,8 @@ extern override_key_t OUTGOING_KEY; extern uint16_t OUTGOING_ITEM; extern uint16_t OUTGOING_PLAYER; extern uint16_t GET_ITEM_SEQ_ID; -uint16_t drop_collectible_override_flag = 0; // Flag used by hacks in Item_DropCollectible to override the item being dropped. Set it to the flag for the overridden item. +xflag_t drop_collectible_override_flag; // Flag used by hacks in Item_DropCollectible to override the item being dropped. Set it to the flag for the overridden item. +xflag_t* spawn_actor_with_flag = NULL; override_t active_override = { 0 }; int active_override_is_outgoing = 0; @@ -39,15 +44,20 @@ uint32_t active_item_text_id = 0; uint32_t active_item_object_id = 0; uint32_t active_item_graphic_id = 0; uint32_t active_item_fast_chest = 0; +uint16_t incoming_junk = 0; uint8_t satisfied_pending_frames = 0; +// Minimum number that prevents Sheik at Temple and ToT Reward from Rauru from overlapping, see https://github.com/OoTRandomizer/OoT-Randomizer/issues/2247 +const uint8_t REQUIRED_PENDING_FRAMES = 6; -// This table contains the offset (in bytes) of the start of a particular scene/room/setup flag space in collectible_override_flags. -// Call get_collectible_flag_offset to retrieve the desired offset. -uint8_t collectible_scene_flags_table[1000]; -alt_override_t alt_overrides[90]; +// These tables contain the flag bit offset for a particular scene/room/setup. These tables also index into xflag_room_blob to obtain the bit assignment for each actor in that room +// xlflag_room_blob contains a compressed table of actor bit assignments for each scene/room/setup. +// Call get_xflag_bit_offset to retrieve the desired offset for a flag. +uint16_t xflag_scene_table[101]; +uint8_t xflag_room_table[700]; +uint8_t xflag_room_blob[3000]; +alt_override_t alt_overrides[200]; -extern int8_t curr_scene_setup; extern uint16_t CURR_ACTOR_SPAWN_INDEX; // Total amount of memory required for each flag table (in bytes). @@ -71,7 +81,19 @@ void item_overrides_init() { dummy_actor->main_proc = (void*)1; } -override_key_t get_override_search_key(z64_actor_t* actor, uint8_t scene, uint8_t item_id) { +override_key_t get_override_search_key_by_newflag(xflag_t* flag) { + if (flag > 0) { + override_key_t key = { + .scene = flag->scene, + .type = OVR_NEWFLAGCOLLECTIBLE, + .pad = 0, + .flag = flag->all, + }; + return resolve_alternative_override(key); + } +} + +override_key_t get_override_search_key(z64_actor_t *actor, uint8_t scene, uint8_t item_id) { if (actor->actor_id == 0x0A) { // Don't override WINNER purple rupee in the chest minigame scene if (scene == 0x10) { @@ -84,6 +106,7 @@ override_key_t get_override_search_key(z64_actor_t* actor, uint8_t scene, uint8_ return (override_key_t){ .scene = scene, .type = OVR_CHEST, + .pad = 0, .flag = actor->variable & 0x1F, }; } else if (actor->actor_id == 0x15) { @@ -98,34 +121,22 @@ override_key_t get_override_search_key(z64_actor_t* actor, uint8_t scene, uint8_ return (override_key_t) { .scene = scene, .type = OVR_COLLECTABLE, + .pad = 0, .flag = item->collectibleFlag, }; } - - // Get the collectible flag stored in the actor's initial y rotation field. - uint16_t flag = item->actor.rot_init.y; - if (flag > 0) { - flag |= curr_scene_setup << 14; - if (scene == 0x19) { - scene = 0x0A; - } - override_key_t key = { - .scene = scene, - .type = OVR_NEWFLAGCOLLECTIBLE, - .flag = flag, - }; - return resolve_alternative_override(key); - } } else if (actor->actor_id == 0x19C) { return (override_key_t){ .scene = (actor->variable >> 8) & 0x1F, .type = OVR_SKULL, + .pad = 0, .flag = actor->variable & 0xFF, }; } else if (scene == 0x3E && actor->actor_id == 0x011A) { return (override_key_t){ .scene = z64_file.respawn[RESPAWN_MODE_RETURN].data, .type = OVR_GROTTO_SCRUB, + .pad = 0, .flag = item_id, }; } else if (actor->actor_id == 0x132) { @@ -135,12 +146,14 @@ override_key_t get_override_search_key(z64_actor_t* actor, uint8_t scene, uint8_ return (override_key_t) { .scene = 0x5A, .type = OVR_BASE_ITEM, + .pad = 0, .flag = item_id, }; } else { return (override_key_t) { .scene = scene, .type = OVR_BASE_ITEM, + .pad = 0, .flag = item_id, }; } @@ -172,6 +185,13 @@ override_t lookup_override(z64_actor_t* actor, uint8_t scene, uint8_t item_id) { return lookup_override_by_key(search_key); } +override_t lookup_override_by_newflag(xflag_t* flag) { + override_key_t search_key = get_override_search_key_by_newflag(flag); + if (search_key.all == 0) { + return (override_t){ 0 }; + } + return lookup_override_by_key(search_key); +} // Checks for the existence of override_key within the alternative override table and returns it // override_key: The key to search for in the alternative override table @@ -187,12 +207,25 @@ override_key_t resolve_alternative_override(override_key_t override_key) { return override_key; } +xflag_t resolve_alternative_flag(xflag_t* flag) { + override_key_t key; + key.scene = flag->scene; + key.type = 0x06; + key.flag = flag->all; + override_key_t alt = resolve_alternative_override(key); + xflag_t alt_flag = { + .all = alt.flag, + .scene = alt.scene, + }; + return alt_flag; +} + void activate_override(override_t override) { uint16_t resolved_item_id = resolve_upgrades(override); item_row_t* item_row = get_item_row(resolved_item_id); active_override = override; - if (resolved_item_id == 0xCA) { + if (resolved_item_id == GI_TRIFORCE_PIECE) { active_override_is_outgoing = 2; // Send to everyone } else { active_override_is_outgoing = override.value.base.player != PLAYER_ID; @@ -254,13 +287,12 @@ void move_outgoing_queue() { } void push_pending_item(override_t override) { - for (int key_scene = 0x30; key_scene < 0x36; key_scene += 2) { - if (z64_file.scene_flags[key_scene].unk_00_ == 0) { - z64_file.scene_flags[key_scene].unk_00_ = override.key.all; - z64_file.scene_flags[key_scene + 1].unk_00_ = override.value.base.all; + for (int i = 0; i < 3; i++) { + if (extended_savectx.incoming_queue[i].key.all == 0) { + extended_savectx.incoming_queue[i] = override; break; } - if (z64_file.scene_flags[key_scene].unk_00_ == override.key.all) { + if (extended_savectx.incoming_queue[i].key.all == override.key.all) { // Prevent duplicate entries break; } @@ -291,11 +323,10 @@ void push_delayed_item(uint8_t flag) { } void pop_pending_item() { - for (int scene = 0x30; scene < 0x34; scene++) { - z64_file.scene_flags[scene].unk_00_ = z64_file.scene_flags[scene + 2].unk_00_; + for (int i = 0; i < 2; i++) { + extended_savectx.incoming_queue[i] = extended_savectx.incoming_queue[i+1]; } - z64_file.scene_flags[0x34].unk_00_ = 0; - z64_file.scene_flags[0x35].unk_00_ = 0; + extended_savectx.incoming_queue[2] = (override_t){ 0 }; } void after_key_received(override_key_t key) { @@ -319,9 +350,10 @@ void after_key_received(override_key_t key) { } void pop_ice_trap() { - override_key_t key = { .all = z64_file.scene_flags[0x30].unk_00_ }; - override_value_base_t value = { .all = z64_file.scene_flags[0x31].unk_00_ }; - if (value.item_id == 0x7C && value.player == PLAYER_ID) { + override_t override = extended_savectx.incoming_queue[0]; + override_key_t key = { .all = override.key.all }; + override_value_base_t value = { .all = override.value.base.all }; + if (value.item_id == GI_ICE_TRAP && value.player == PLAYER_ID) { push_pending_ice_trap(); pop_pending_item(); after_key_received(key); @@ -338,7 +370,7 @@ void after_item_received() { push_outgoing_override(&active_override); } - if (key.all == z64_file.scene_flags[0x30].unk_00_) { + if (key.all == extended_savectx.incoming_queue[0].key.all) { pop_pending_item(); } after_key_received(key); @@ -348,7 +380,7 @@ void after_item_received() { inline uint32_t link_is_ready() { if ((z64_logo_state != 0x802C5880) && (z64_logo_state != 0) && - (z64_file.game_mode == 0) && + (z64_file.game_mode == PAUSE_STATE_OFF) && (z64_game.pause_ctxt.state == 0) && // don't receive items in shops to avoid a softlock when buying an item at the same time as receiving one ((z64_game.scene_index < 0x002C || z64_game.scene_index > 0x0033) && z64_game.scene_index != 0x0042 && z64_game.scene_index != 0x004B) && @@ -358,11 +390,10 @@ inline uint32_t link_is_ready() { (z64_event_state_1 & 0x20) == 0 && (z64_game.camera_2 == 0)) { satisfied_pending_frames++; - } - else { + } else { satisfied_pending_frames = 0; } - if (satisfied_pending_frames >= 2) { + if (satisfied_pending_frames >= REQUIRED_PENDING_FRAMES) { satisfied_pending_frames = 0; return 1; } @@ -370,18 +401,15 @@ inline uint32_t link_is_ready() { } void try_pending_item() { - override_t override = { - .key.all = z64_file.scene_flags[0x30].unk_00_, - .value.base.all = z64_file.scene_flags[0x31].unk_00_, - }; + override_t override = extended_savectx.incoming_queue[0]; - if(override.key.all == 0) { + if (override.key.all == 0) { return; } - if (override.value.base.item_id == 0xCA && override.value.base.player != PLAYER_ID) { - uint16_t resolved_item_id = resolve_upgrades(override); - item_row_t* item_row = get_item_row(resolved_item_id); + uint16_t resolved_item_id = resolve_upgrades(override); + item_row_t* item_row = get_item_row(resolved_item_id); + if (override.value.base.item_id == GI_TRIFORCE_PIECE && override.value.base.player != PLAYER_ID) { call_effect_function(item_row); pop_pending_item(); after_key_received(override.key); @@ -389,10 +417,20 @@ void try_pending_item() { return; } - activate_override(override); - - z64_link.incoming_item_actor = dummy_actor; - z64_link.incoming_item_id = active_item_row->base_item_id; + if (item_row->collectible >= 0 && override.key.flag == 0xFF) { + // This is an incoming collectible junk item so speed it up by spawning a give immediate collectible + EnItem00* collectible = (EnItem00*)z64_SpawnActor(&z64_game.actor_ctxt, &z64_game, 0x0015, z64_link.common.pos_world.x, z64_link.common.pos_world.y, z64_link.common.pos_world.z, 0, 0, 0, 0x8000 | item_row->collectible); + collectible->override = override; + collectible->scale = collectible->actor.scale.x = collectible->actor.scale.y = collectible->actor.scale.z = 0.015f; + collectible->actor.yOffset = 750.0f; + lookup_model_by_override(&collectible->model, collectible->override); + pop_pending_item(); + after_key_received(override.key); + } else { + activate_override(override); + z64_link.incoming_item_actor = dummy_actor; + z64_link.incoming_item_id = active_item_row->base_item_id; + } } void handle_pending_items() { @@ -465,10 +503,10 @@ void get_item(z64_actor_t* from_actor, z64_link_t* link, int8_t incoming_item_id if (from_actor->actor_id == 0x0A) { // Update chest contents - if (override.value.base.item_id == 0x7C && override.value.base.player == PLAYER_ID && (FAST_CHESTS || active_item_fast_chest) && z64_game.scene_index != 0x0010) { + if (override.value.base.item_id == GI_ICE_TRAP && override.value.base.player == PLAYER_ID && (FAST_CHESTS || active_item_fast_chest) && z64_game.scene_index != 0x0010) { // Use ice trap base item ID to freeze Link as the chest opens rather than playing the full item get animation //HACK: Not used in treasure box shop since it causes crashes that seem to be related to a timer being shared between ice traps and something in the minigame - base_item_id = 0x7C; + base_item_id = GI_ICE_TRAP; } from_actor->variable = (from_actor->variable & 0xF01F) | (base_item_id << 5); } @@ -528,9 +566,17 @@ void reset_collectible_mutex() { // New EnItem00 function that freezes Link until the messagebox is closed. Similar to how skulls work. void Collectible_WaitForMessageBox(EnItem00* this, z64_game_t* game) { + // Put the item above Link's head and keep it spinning like the normal action function + this->actor.rot_2.y += 960; + this->actor.pos_world = z64_link.common.pos_world; + this->actor.pos_world.y += 40.0f; + if (z64_file.link_age == 0) { // Link is adult so move it up another 20.0f + this->actor.pos_world.y += 20.0f; + } + // Check message state: if (z64_MessageGetState(((uint8_t*)(&z64_game)) + 0x20D8) == 0) { - // Make sure link was frozen for the minimum amount of time + // Make sure Link was frozen for the minimum amount of time if (this->timeToLive == 0) { reset_collectible_mutex(); // release the mutex // Kill the actor @@ -541,79 +587,139 @@ void Collectible_WaitForMessageBox(EnItem00* this, z64_game_t* game) { } } -// Determine the offset into the new flag table to store the flags for the current scene/setup/room. -// TODO: Optimize this by remembering the current scene's offset. -uint16_t get_collectible_flag_offset(uint8_t scene, uint8_t room, uint8_t setup_id) { - uint8_t num_scenes = collectible_scene_flags_table[0]; - uint16_t index = 1; + +uint32_t loaded_scene_room_setup = -1; // Stores the currently cached scene/room/setup +uint16_t loaded_room_bit_offset = -1; // Stores the bit offset of the cached scene/room/setup +uint8_t room_flags[256]; // Stores the bit offset for each actor in the currently cached scene/room/setup + +// Determine the bit offset into the collectible_override_flags for a flag +// Caches the bit offets for every actor in the current scene/room/setup into room_flags so that we don't have to search the table over and over. +uint16_t get_xflag_bit_offset(xflag_t* flag) { uint8_t i = 0; - uint8_t scene_id = 0; + uint8_t room_id_temp = 0; uint8_t room_id = 0; uint8_t setup_id_temp; + uint8_t setup_id = 0; uint8_t room_setup_count = 0; - uint16_t room_byte_offset = 0; - // Loop through collectible_scene_flags_table until we find the right scene - while (num_scenes > 0) { - scene_id = collectible_scene_flags_table[index++]; - room_setup_count = collectible_scene_flags_table[index++]; - if (scene_id == scene) { // Found the scene - // Loop through each room/setup combination in the scene until we find the right one. - for (i = 0; i < room_setup_count; i++) { - room_id = collectible_scene_flags_table[index] & 0x3F; - setup_id_temp = (collectible_scene_flags_table[index++] & 0xC0) >> 6; - room_byte_offset = (collectible_scene_flags_table[index] << 8) + collectible_scene_flags_table[index+1]; - index += 2; - if ((room_id == room) && (setup_id_temp == setup_id)) { // Found the right room/setup - return room_byte_offset; + uint16_t room_byte_offset = 0xFFFF; + bool is_grotto = flag->scene == 0x3E; + //Index xflag_scene_table to get the offset into the room table for the current scene + uint32_t test_scene_room_setup; + + // Check if we're in a grotto because we calculate grotto scene/room/setup differently because grottos are dumb + if (is_grotto) { + test_scene_room_setup = (flag->scene << 24) + (flag->grotto.grotto_id << 8) + (flag->grotto.room); + } else { + test_scene_room_setup = (flag->scene << 24) + (flag->setup << 6) + (flag->room); + } + + // Check if we have this scene/room/setup cached already + if (test_scene_room_setup != loaded_scene_room_setup) { + // Not cached so load it using the xflag tables + loaded_room_bit_offset = -1; + loaded_scene_room_setup = -1; + + // Get the offset into xflag_room_table for the current scene. + uint16_t room_table_index = xflag_scene_table[flag->scene]; + if (room_table_index == 0xffff) { + return 0xffff; + } + + // First byte in the xflag_room_table block for this scene is the number of rooms/setups + room_setup_count = xflag_room_table[room_table_index++]; + + // Loop through all of the rooms/setups to find the one for this flag + for (i = 0; i < room_setup_count; i++) { + // Get the setup/room from the entry + if (flag->scene == 0x3E) { + // If we're in a the room/setup entries are stored differently because we need 2 bytes to represent them + setup_id_temp = (xflag_room_table[room_table_index++]); + room_id_temp = xflag_room_table[room_table_index++]; + room_id = flag->grotto.room; + setup_id = flag->grotto.grotto_id; + } else { + setup_id_temp = (xflag_room_table[room_table_index] & 0xC0) >> 6; + room_id_temp = xflag_room_table[room_table_index++] & 0x3F; + room_id = flag->room; + setup_id = flag->setup; + } + + // Test if the setup/room matches the flag + if ((room_id_temp == room_id) && setup_id_temp == setup_id) { + // Match. Read the next 2 bytes which contains the byte offset into the xflag_room_blob table + room_byte_offset = (xflag_room_table[room_table_index] << 8) + xflag_room_table[room_table_index+1]; + break; + } + // Doesn't match so skip to the next entry + room_table_index += 2; + } + // If we get here and room_byte_offset is still 0xFFFF then the room/setup combination for this flag wasn't found in the table. Just return 0xFFFF + if (room_byte_offset == 0xFFFF) { + return 0xFFFF; + } + + // Now load the actor flags from the compressed data starting at room_byte_offset in xflag_room_blob + + // Read the bit offset for the current room/setup. First uint16_t in the blob + loaded_room_bit_offset = (xflag_room_blob[room_byte_offset] << 8) + (xflag_room_blob[room_byte_offset+1]); + room_byte_offset += 2; + + // Read the next byte from the blob. This contains the size, in bytes, of the run-length coded data to follow + uint8_t rlc_size = xflag_room_blob[room_byte_offset++] / 2; + uint8_t token; + uint8_t tok_len; + int j = 0; + int index = 0; + room_flags[0] = 0; + loaded_scene_room_setup = test_scene_room_setup; + uint8_t sum = 0; + + // Zeroize the room_flags + z64_bzero(room_flags, 256); + + // Read and decode the RLC, data and store it into room_flags + for (i = 0; i < rlc_size; i++) { + token = xflag_room_blob[room_byte_offset++]; + tok_len = xflag_room_blob[room_byte_offset++]; + for (j = 0; j < tok_len; j++) { + sum += token; + if (token != 0) { + room_flags[index] = sum; } + index++; } - } else { // Not the right scene so skip to the next one. - index += 3 * room_setup_count; } - num_scenes--; + + } + + // Finally, return the bit offset for this flag + // Substract 1 from the value in room_flags because we use 0 to indicate that there is no flag for that actor. + if (loaded_room_bit_offset != -1) { + if (is_grotto) { + if (room_flags[flag->grotto.flag]) return loaded_room_bit_offset + room_flags[flag->grotto.flag] - 1 + flag->grotto.subflag; + } else if(room_flags[flag->flag]) { + return loaded_room_bit_offset + room_flags[flag->flag] - 1 + flag->subflag; + } } return 0xFFFF; } -// Check if the new collectible flag for an EnItem00 is set. -bool Get_CollectibleOverrideFlag(EnItem00* item00) { - uint16_t scene = z64_game.scene_index; - - if (item00->actor.variable == ITEM00_HEART_PIECE || item00->actor.variable == ITEM00_SMALL_KEY || item00->actor.variable == ITEM00_HEART_CONTAINER) { - return z64_Flags_GetCollectible(&z64_game, item00->collectibleFlag) > 0; - } - override_key_t key = item00->override.key; - if (key.all) { - scene = key.scene; - uint16_t collectible_flag = key.flag & 0xFF; - uint8_t room = (key.flag & 0x3F00) >> 8; - uint8_t setup = (key.flag & 0xC000) >> 14; - if (collectible_flag > 0) { // Check if this is one of our collectibles - uint16_t table_offset = get_collectible_flag_offset(scene, room, setup); // Get the offset into the flag table for the current scene/room/setup - if (table_offset != 0xFFFF) { // get_collectible_flag_offset will return 0xFF is the flag is not found in the table - return collectible_override_flags[table_offset + collectible_flag / 8] & (1 << (collectible_flag % 8)); - } +// Check if the new collectible flag for an actor is set. +bool Get_NewFlag(xflag_t* flag) { + if (flag->all) { // Check if this is one of our collectibles + uint16_t flag_bit_offset = get_xflag_bit_offset(flag); + if (flag_bit_offset != 0xFFFF) { // get_xflag_bit_offset will return 0xFF is the flag is not found in the tables + return collectible_override_flags[flag_bit_offset / 8] & (0x80 >> (flag_bit_offset % 8)); } } - return true; } // Set a collectible flag in the new flag table for a given EnItem00. -void Set_CollectibleOverrideFlag(EnItem00* item00) { - uint16_t scene = z64_game.scene_index; - override_key_t key = item00->override.key; - if (key.all) { - scene = key.scene; - uint8_t room = (key.flag & 0x3F00) >> 8; - uint16_t collectible_flag = key.flag & 0xFF; - uint8_t setup = (key.flag & 0xC000) >> 14; - if (collectible_flag > 0) { - uint16_t table_offset = get_collectible_flag_offset(scene, room, setup); - if (table_offset != 0xFFFF) { - collectible_override_flags[table_offset + collectible_flag / 8] |= (1 << (collectible_flag % 8)); - } - } +void Set_NewFlag(xflag_t* flag) { + uint16_t flag_bit_offset = get_xflag_bit_offset(flag); + if (flag_bit_offset != 0xFFFF) { // get_xflag_bit_offset will return 0xFF is the flag is not found in the tables + collectible_override_flags[flag_bit_offset / 8] |= (0x80 >> (flag_bit_offset % 8)); } } @@ -621,7 +727,7 @@ void Set_CollectibleOverrideFlag(EnItem00* item00) { // This allows the the item to not despawn after a few seconds like normal dropped collectibles. // Not clearing room_index to -1 causes collectible items to despawn upon switching rooms. void Item_DropCollectible_Room_Hack(EnItem00* spawnedActor) { - if (spawnedActor->override.key.all && !Get_CollectibleOverrideFlag(spawnedActor)) { // Check if we should override the collectible + if (spawnedActor->override.key.all && !Get_NewFlag(&(Actor_GetAdditionalData(&(spawnedActor->actor))->flag))) { // Check if we should override the collectible return; // Overriding the collectible so just return. } // Not overriding the collectible, set the time to live. @@ -638,51 +744,50 @@ void Item_DropCollectible_Room_Hack(EnItem00* spawnedActor) { // Prevent overridden collectible items from despawning when changing to a room where // they are still being drawn. void Room_Change_Actor_Kill_Hack(z64_actor_t *actor) { - if(actor->actor_id == 0x15) - { + if (actor->actor_id == 0x15) { EnItem00* this = (EnItem00*)actor; - if(this->dropped && this->override.key.all > 0) - return; + if (this->dropped && this->override.key.all > 0) return; } z64_ActorKill(actor); } -z64_actor_t* Item_DropCollectible_Actor_Spawn_Override(void* actorCtx, z64_game_t* globalCtx, int16_t actorId, float posX, float posY, float posZ, int16_t rotX, int16_t rotY, int16_t rotZ, int16_t params) { - rotY = drop_collectible_override_flag; // Get the override flag - EnItem00* spawnedActor = (EnItem00*)z64_SpawnActor(actorCtx, globalCtx,actorId, posX, posY, posZ, rotX, rotY, rotZ, params); // Spawn the actor - - return &(spawnedActor->actor); -} - // Hack in EnItem00_Init where it checks whether or not to kill the actor based on the collectible flag. // We use this point to determine if this is an overriden collectible and store that information in the actor. bool Item00_KillActorIfFlagIsSet(z64_actor_t* actor) { EnItem00* this = (EnItem00*)actor; this->is_silver_rupee = false; - uint16_t flag = 0; - this->dropped = false; - if(drop_collectible_override_flag) { + xflag_t flag = (xflag_t) { 0 }; + if (drop_collectible_override_flag.all) { flag = drop_collectible_override_flag; - this->dropped = true; - } - else if(CURR_ACTOR_SPAWN_INDEX) { - flag = (CURR_ACTOR_SPAWN_INDEX) | (actor->room_index << 8); - } - // Still need to build a dummy because we haven't set any info in the actor yet. - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = flag; - dummy.actor.variable = 0; + } else if (CURR_ACTOR_SPAWN_INDEX) { + flag.scene = z64_game.scene_index; + if (z64_game.scene_index == 0x3E) { + flag.grotto.room = actor->room_index; + flag.grotto.grotto_id = z64_file.respawn[RESPAWN_MODE_RETURN].data & 0x1F; + flag.grotto.flag = CURR_ACTOR_SPAWN_INDEX; + flag.grotto.subflag = 0; + } else { + flag.room = actor->room_index; + flag.setup = curr_scene_setup; + flag.flag = CURR_ACTOR_SPAWN_INDEX; + flag.subflag = 0; + } + }; + ActorAdditionalData* extra = Actor_GetAdditionalData(actor); // Check if an override exists - this->override = lookup_override(&(dummy.actor), z64_game.scene_index, 0); + flag = resolve_alternative_flag(&flag); + this->override = lookup_override_by_newflag(&flag); + lookup_model_by_override(&this->model, this->override); // Check if the overridden item has already been collected - if (Get_CollectibleOverrideFlag(this)) { + if (Get_NewFlag(&flag)) { this->override = (override_t) { 0 }; + extra->flag = (xflag_t) { 0 }; } if (this->override.key.all) { // If an override exists and we haven't already collected it + extra->flag = flag; return 0; // Return 0 to continue spawning the actor } @@ -720,12 +825,7 @@ int16_t drop_bombs_or_chus(int16_t dropId) { // The rest of the code is just the rewrite of the vanilla code for converting drops based on age/health. int16_t get_override_drop_id(int16_t dropId) { // make our a dummy enitem00 with enough info to get the override - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = drop_collectible_override_flag; - dummy.actor.variable = dropId; - dummy.override = lookup_override(&(dummy.actor), z64_game.scene_index, 0); - if (dummy.override.key.all > 0 && !Get_CollectibleOverrideFlag(&dummy) && + if (!Get_NewFlag(&drop_collectible_override_flag) && dropId != ITEM00_HEART_PIECE && dropId != ITEM00_SMALL_KEY && dropId != ITEM00_HEART_CONTAINER && @@ -786,7 +886,7 @@ int16_t get_override_drop_id(int16_t dropId) { void dispatch_item(uint16_t resolved_item_id, uint8_t player, override_t* override, item_row_t* item_row) { // Give the item to the right place - if (resolved_item_id == 0xCA) { + if (resolved_item_id == GI_TRIFORCE_PIECE) { // Send triforce to everyone push_outgoing_override(override); call_effect_function(item_row); @@ -810,9 +910,10 @@ uint8_t item_give_collectible(uint8_t item, z64_link_t* link, z64_actor_t* from_ EnItem00* pItem = (EnItem00*)from_actor; override_t override = pItem->override; + xflag_t flag = Actor_GetAdditionalData(from_actor)->flag; // Check if we should override the item. We have logic in the randomizer to not include excluded items in the override table. - if (override.key.all == 0 || Get_CollectibleOverrideFlag(pItem)) { + if (override.key.all == 0 || Get_NewFlag(&flag)) { z64_GiveItem(&z64_game, items[item]); // Give the regular item (this is what is normally called by the non-hacked function) return 0; } @@ -826,7 +927,7 @@ uint8_t item_give_collectible(uint8_t item, z64_link_t* link, z64_actor_t* from_ item_row_t* item_row = get_item_row(resolved_item_id); // Set the collectible flag - Set_CollectibleOverrideFlag(pItem); + Set_NewFlag(&flag); //if (item == ITEM00_HEART_PIECE || item == ITEM00_SMALL_KEY) { // Don't allow heart pieces or small keys to be collected a second time. This is really just for the "Drop" types. // z64_SetCollectibleFlags(&z64_game, pItem->collectibleFlag); //} @@ -872,6 +973,10 @@ uint8_t item_give_collectible(uint8_t item, z64_link_t* link, z64_actor_t* from_ pItem->timeToLive = 15; // unk_15A is a frame timer that is decremented each frame by the main actor code. pItem->unk_154 = 35; // not quite sure but this is what the vanilla game does. pItem->getItemId = 0; + pItem->actor.rot_2.z = 0; + pItem->actor.xz_speed = 0; + pItem->actor.vel_1.y = 0; + pItem->actor.gravity = 0; z64_link.common.frozen = 10; // freeze Link (like when picking up a skull) pItem->actionFunc = Collectible_WaitForMessageBox; // Set up the EnItem00 action function to wait for the message box to close. @@ -887,7 +992,7 @@ void get_skulltula_token(z64_actor_t* token_actor) { uint8_t player; if (override.key.all == 0) { // Give a skulltula token if there is no override - item_id = 0x5B; + item_id = GI_SKULL_TOKEN; player = PLAYER_ID; } else { item_id = override.value.base.item_id; @@ -922,11 +1027,11 @@ void fairy_ocarina_getitem() { override_t override = lookup_override_by_key(lw_gift_from_saria); uint16_t resolved_item_id = resolve_upgrades(override); switch (resolved_item_id) { - case 0x003B: { // Fairy Ocarina + case GI_OCARINA_FAIRY: { // Fairy Ocarina z64_file.items[Z64_SLOT_OCARINA] = 0x07; break; } - case 0x000C: { // Ocarina of Time + case GI_OCARINA_OF_TIME: { // Ocarina of Time z64_file.items[Z64_SLOT_OCARINA] = 0x08; break; } diff --git a/ASM/c/get_items.h b/ASM/c/get_items.h index 4c75dd97d3..c25fad361d 100644 --- a/ASM/c/get_items.h +++ b/ASM/c/get_items.h @@ -3,9 +3,11 @@ #include #include "z64.h" +#include "en_item00.h" +#include "override.h" -extern uint16_t CFG_ADULT_TRADE_SHUFFLE; -extern uint16_t CFG_CHILD_TRADE_SHUFFLE; +extern uint8_t CFG_ADULT_TRADE_SHUFFLE; +extern uint8_t CFG_CHILD_TRADE_SHUFFLE; void item_overrides_init(); void handle_pending_items(); @@ -21,75 +23,41 @@ enum override_type { OVR_NEWFLAGCOLLECTIBLE = 6, }; - -typedef union override_key_t { - uint32_t all; - struct { - uint8_t scene; - uint8_t type; - uint16_t flag; - }; -} override_key_t; - -// a type used when the cloak of an ice trap is irrelevant -typedef union override_value_base_t { - uint32_t all; - struct { - uint16_t item_id; - uint8_t player; - uint8_t _pad; +typedef struct xflag_t { + uint8_t set : 1; + uint8_t scene : 7; + union { + uint32_t all; + struct { + uint8_t pad; + uint8_t setup : 2; + uint8_t room : 6; + uint8_t flag; + uint8_t subflag; + }; + struct { + uint32_t pad: 8; + uint32_t grotto_id: 5; + uint32_t room: 4; + uint32_t flag: 7; + uint32_t subflag: 8; + } grotto; }; -} override_value_base_t; - -typedef struct { - override_value_base_t base; - uint16_t looks_like_item_id; - uint16_t _pad; -} override_value_t; - -typedef struct { - override_key_t key; - uint32_t _pad; - override_value_t value; -} override_t; -typedef struct { - override_key_t alt; - override_key_t primary; -} alt_override_t; - -struct EnItem00; -typedef void (*EnItem00ActionFunc)(struct EnItem00*, z64_game_t*); - -typedef struct EnItem00 { - z64_actor_t actor; // 0x0000 - EnItem00ActionFunc actionFunc; // 0x013C - uint16_t collectibleFlag; // 0x0140 - uint16_t getItemId; // 0x0142 - uint16_t unk_154; // 0x0144 - uint16_t unk_156; // 0x0146 - uint16_t unk_158; // 0x0148 - int16_t timeToLive; // 0x014A - float scale; // 0x014C - ColliderCylinder collider; // 0x0150 size = 4C - override_t override; // 0x019C - bool is_silver_rupee; // 0x???? - bool dropped; -} EnItem00; - - -typedef void (*z64_EnItem00ActionFunc)(struct EnItem00*, z64_game_t*); -typedef EnItem00* (*z64_Item_DropCollectible_proc)(z64_game_t* globalCtx, z64_xyzf_t* spawnPos, int16_t params); -typedef EnItem00* (*z64_Item_DropCollectibleRandom_proc)(z64_game_t *globalCtx, z64_actor_t *fromActor, z64_xyzf_t *spawnPos, int16_t params); +} xflag_t; override_t lookup_override_by_key(override_key_t key); -override_t lookup_override(z64_actor_t* actor, uint8_t scene, uint8_t item_id); +override_t lookup_override_by_newflag(xflag_t* flag); +override_t lookup_override(z64_actor_t *actor, uint8_t scene, uint8_t item_id); override_key_t resolve_alternative_override(override_key_t override_key); -override_key_t get_override_search_key(z64_actor_t* actor, uint8_t scene, uint8_t item_id); -override_t get_override_if_collectible_flag_not_set(EnItem00* item00); +xflag_t resolve_alternative_flag(xflag_t* flag); +override_key_t get_override_search_key(z64_actor_t *actor, uint8_t scene, uint8_t item_id); void Collectible_WaitForMessageBox(EnItem00* this, z64_game_t* game); void reset_collectible_mutex(); void override_flags_init(); -bool Get_CollectibleOverrideFlag(EnItem00* item00); +bool Get_NewFlag(xflag_t* flag); + +extern xflag_t drop_collectible_override_flag; +extern EnItem00* collectible_mutex; #endif diff --git a/ASM/c/gfx.c b/ASM/c/gfx.c index b9bf0ebfff..c4edca01bf 100644 --- a/ASM/c/gfx.c +++ b/ASM/c/gfx.c @@ -1,5 +1,6 @@ #include "gfx.h" +#include "debug.h" #include "util.h" #include "z64.h" @@ -7,6 +8,24 @@ extern uint8_t FONT_RESOURCE[]; extern uint8_t DPAD_RESOURCE[]; extern uint8_t TRIFORCE_SPRITE_RESOURCE[]; +#define RANDO_OVERLAY_DB_SIZE 0xA00 // Size of overlay display buffer, in GFX commands which are 8 bytes + +z64_disp_buf_t rando_overlay_db __attribute__ ((aligned (16))); +#if DEBUG_MODE +z64_disp_buf_t debug_db __attribute__ ((aligned (16))); +#define DEBUG_DB_SIZE 0x1000 +#endif + +typedef struct { + Gfx rando_overlay[RANDO_OVERLAY_DB_SIZE]; + #if DEBUG_MODE + Gfx debug[DEBUG_DB_SIZE]; + #endif +} RandoGFXPool; + +RandoGFXPool randoGfxPools[2]; // Rando GFX Pools. Need 2 because Display Lists need to be double buffered +uint8_t randoGfxPoolIndex; // Index which is incremented every frame to determine which gfx pool to use + Gfx setup_db[] = { gsDPPipeSync(), @@ -164,7 +183,7 @@ void sprite_texture(z64_disp_buf_t* db, sprite_t* sprite, int tile_index, int16_ G_TX_NOLOD ); - gSPTextureRectangle(db->p++, left * 4, top * 4, (left + width) * 4, (top * height) * 4, G_TX_RENDERTILE, 0,0,width_factor, height_factor); + gSPTextureRectangle(db->p++, left * 4, top * 4, (left + width) * 4, (top + height) * 4, G_TX_RENDERTILE, 0,0,width_factor, height_factor); } void sprite_texture_4b(z64_disp_buf_t *db, sprite_t *sprite, int tile_index, int16_t left, int16_t top, @@ -198,7 +217,7 @@ void sprite_texture_4b(z64_disp_buf_t *db, sprite_t *sprite, int tile_index, int ); gSPTextureRectangle(db->p++, left * 4, top * 4, (left + width) * 4, - (top * height) * 4, G_TX_RENDERTILE, 0, 0, width_factor, height_factor); + (top + height) * 4, G_TX_RENDERTILE, 0, 0, width_factor, height_factor); } void sprite_draw(z64_disp_buf_t* db, sprite_t* sprite, int tile_index, @@ -214,7 +233,53 @@ void sprite_draw(z64_disp_buf_t* db, sprite_t* sprite, int tile_index, width_factor, height_factor); } +void rando_display_buffer_init() { + randoGfxPoolIndex = 0; +} + +void rando_display_buffer_reset() { + RandoGFXPool* pool = &randoGfxPools[randoGfxPoolIndex & 1]; +#if DEBUG_MODE + debug_db.size = sizeof(pool->debug); + debug_db.buf = &pool->debug[0]; + debug_db.p = &debug_db.buf[0]; +#endif + rando_overlay_db.size = sizeof(pool->rando_overlay); + rando_overlay_db.buf = &pool->rando_overlay[0]; + rando_overlay_db.p = &rando_overlay_db.buf[0]; +} + +void close_rando_display_buffer() { + char error_msg[256]; + + OPEN_DISPS(z64_ctxt.gfx); + +#if DEBUG_MODE + if (((int) debug_db.p - (int) debug_db.buf) > debug_db.size) { + sprintf(error_msg, "size = %x\nmax = %x\np = %p\nbuf = %p\nd = %p", ((int) debug_db.p - (int) debug_db.buf), + debug_db.size, debug_db.p, debug_db.buf, debug_db.d); + Fault_AddHungupAndCrashImpl("Debug display buffer exceeded!", error_msg); + } + + gSPEndDisplayList(debug_db.p++); + gSPDisplayList(OVERLAY_DISP++, debug_db.buf); +#endif + + if (((int) rando_overlay_db.p - (int) rando_overlay_db.buf) > rando_overlay_db.size) { + sprintf(error_msg, "size = %x\nmax = %x\np = %p\nbuf = %p\nd = %p", ((int) rando_overlay_db.p - (int) rando_overlay_db.buf), + rando_overlay_db.size, rando_overlay_db.p, rando_overlay_db.buf, rando_overlay_db.d); + Fault_AddHungupAndCrashImpl("Randomizer display buffer exceeded!", error_msg); + } + + gSPEndDisplayList(rando_overlay_db.p++); + gSPDisplayList(OVERLAY_DISP++, rando_overlay_db.buf); + + CLOSE_DISPS(); + randoGfxPoolIndex++; +} + void gfx_init() { + rando_display_buffer_init(); file_t title_static = { NULL, z64_file_select_static_vaddr, z64_file_select_static_vsize }; diff --git a/ASM/c/gfx.h b/ASM/c/gfx.h index 9221172afe..3273d1afa9 100644 --- a/ASM/c/gfx.h +++ b/ASM/c/gfx.h @@ -6,6 +6,8 @@ extern Gfx setup_db[]; extern Gfx empty_dlist[]; extern void* z64_ItemIcons[130]; +extern z64_disp_buf_t rando_overlay_db; +extern z64_disp_buf_t debug_db; #define WORK_DISP __gfxCtx->work.p #define POLY_OPA_DISP __gfxCtx->poly_opa.p @@ -64,5 +66,7 @@ void sprite_texture_4b(z64_disp_buf_t* db, sprite_t* sprite, int tile_index, int16_t left, int16_t top, int16_t width, int16_t height); void z64_Gfx_SetupDL_42Opa(z64_gfx_t* gfx_ctxt); - +void rando_display_buffer_init(); +void rando_display_buffer_reset(); +void close_rando_display_buffer(); #endif diff --git a/ASM/c/inputviewer.c b/ASM/c/inputviewer.c index bab0bfd55e..ec656343dc 100644 --- a/ASM/c/inputviewer.c +++ b/ASM/c/inputviewer.c @@ -41,8 +41,7 @@ void draw_start(z64_disp_buf_t* db) { if (z64_game.common.input[0].raw.pad.s) { gDPSetPrimColor(db->p++, 0, 0, 0xDC, 0xDC, 0xDC, 0xFF); // grey int8_t xy_stick_length = 3 * rupee_digit_sprite.tile_w + font_sprite.tile_w - 2; - text_print_size("S", left_alignment + 2 * xy_stick_length + buttons_sprite.tile_w, top_alignment, input_icon_width); - text_flush_size(db, input_icon_width, input_icon_height, 0, 0); + text_print_size(db, "S", left_alignment + 2 * xy_stick_length + buttons_sprite.tile_w, top_alignment, input_icon_width, input_icon_height); } } @@ -50,7 +49,7 @@ void draw_cdown(z64_disp_buf_t* db) { if (z64_game.common.input[0].raw.pad.cd) { gDPSetPrimColor(db->p++, 0, 0, CFG_C_BUTTON_COLOR.r, CFG_C_BUTTON_COLOR.g, CFG_C_BUTTON_COLOR.b, 0xFF); int8_t xy_stick_length = 3 * rupee_digit_sprite.tile_w + font_sprite.tile_w - 2; - sprite_texture(db, &buttons_sprite, 7, left_alignment + 2 * xy_stick_length + 2 * input_icon_width, + sprite_texture_4b(db, &buttons_sprite, 7, left_alignment + 2 * xy_stick_length + 2 * input_icon_width, top_alignment, input_icon_width, input_icon_height); } } @@ -114,7 +113,7 @@ void draw_ddown(z64_disp_buf_t* db) { if (z64_game.common.input[0].raw.pad.dd) { gDPSetPrimColor(db->p++, 0, 0, 0xDC, 0xDC, 0xDC, 0xFF); // grey int8_t xy_stick_length = 3 * rupee_digit_sprite.tile_w + font_sprite.tile_w - 2; - sprite_texture(db, &buttons_sprite, 7, left_alignment + 2 * xy_stick_length + 9 * input_icon_width, + sprite_texture_4b(db, &buttons_sprite, 7, left_alignment + 2 * xy_stick_length + 9 * input_icon_width, top_alignment, input_icon_width, input_icon_height); } } @@ -149,6 +148,8 @@ void draw_dright(z64_disp_buf_t* db) { void draw_input_viewer(z64_disp_buf_t* db) { if (CFG_INPUT_VIEWER) { + gSPDisplayList(db->p++, &setup_db); + gDPPipeSync(db->p++); draw_a(db); draw_b(db); draw_cup(db); @@ -169,3 +170,11 @@ void draw_input_viewer(z64_disp_buf_t* db) { draw_y_stick(db); } } + +uint8_t is_hook_static() { + if (z64_game.common.input[0].raw.pad.a || z64_game.common.input[0].raw.pad.b || + ABS(z64_game.common.input[0].raw.x) > 7 || ABS(z64_game.common.input[0].raw.y) > 7) { + return 0; + } + return 1; +} diff --git a/ASM/c/inputviewer.h b/ASM/c/inputviewer.h index 10f071cdce..d84f7a18bd 100644 --- a/ASM/c/inputviewer.h +++ b/ASM/c/inputviewer.h @@ -11,4 +11,6 @@ extern colorRGB16_t CFG_C_BUTTON_COLOR; void draw_input_viewer(z64_disp_buf_t* db); +uint8_t is_hook_static(); + #endif diff --git a/ASM/c/item_draw_functions.c b/ASM/c/item_draw_functions.c index 6a91e8269c..ce6ae6ea33 100644 --- a/ASM/c/item_draw_functions.c +++ b/ASM/c/item_draw_functions.c @@ -422,6 +422,27 @@ void draw_gi_fairy_lantern(z64_game_t* game, uint32_t draw_id) { pop_sys_matrix(); } +void draw_gi_fairy(z64_game_t* game, uint32_t draw_id) { + z64_gfx_t* gfx = game->common.gfx; + + append_setup_dl_25_to_xlu(gfx); + gSPSegment(gfx->poly_xlu.p++, 0x08, + gen_double_tile(gfx, + 0, 0, 0, 32, 32, + 1, game->common.state_frames, -(game->common.state_frames * 6), 32, 32)); + duplicate_sys_matrix(); + update_sys_matrix(game->mf_11DA0); + gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); + // Not sure how much of this is required but these are called from the bottle DL. Not including them causes it to draw weird + gDPSetRenderMode(gfx->poly_xlu.p++, G_RM_PASS, G_RM_AA_ZB_XLU_SURF2); + gDPSetTextureLUT(gfx->poly_xlu.p++, G_TT_NONE); + gSPLoadGeometryMode(gfx->poly_xlu.p++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH); + gSPClearGeometryMode(gfx->poly_xlu.p++,G_CULL_BACK | G_FOG); + gSPSetGeometryMode(gfx->poly_xlu.p++,G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); + gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[0].dlist); + pop_sys_matrix(); +} + void draw_gi_poe_bottles(z64_game_t* game, uint32_t draw_id) { z64_gfx_t* gfx = game->common.gfx; @@ -639,3 +660,127 @@ void draw_gi_c_button_horizontal(z64_game_t* game, uint32_t draw_id) { gDPSetPrimColor(gfx->poly_opa.p++, 0, 0x80, prim_color.r, prim_color.g, prim_color.b, prim_color.a); gSPDisplayList(gfx->poly_opa.p++, item_draw_table[draw_id].args[0].dlist); } + +void draw_gi_nothing(z64_game_t* game, uint32_t draw_id) { +} + +static const uint64_t kInitListMedallion[] = { + 0xe700000000000000, 0xd7000002ffffffff, + 0xfc11fe23fffff7fb, 0xef082c1000552078, + 0xd900000000220405, 0xdf00000000000000, +}; + +void draw_gi_medallions(z64_game_t* game, uint32_t draw_id) { + z64_gfx_t* gfx = game->common.gfx; + + append_setup_dl_25_to_opa(gfx); + gSPDisplayList(gfx->poly_opa.p++, (uint32_t)(&kInitListMedallion)); + gSPMatrix(gfx->poly_opa.p++, append_sys_matrix(gfx), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfx->poly_opa.p++, item_draw_table[draw_id].args[0].dlist); + gSPDisplayList(gfx->poly_opa.p++, item_draw_table[draw_id].args[1].dlist); +} + +static void* pushOpaMatrix(z64_gfx_t* gfx, const float* mat) { + void* end = gfx->poly_opa.d; + end = (char*)end - 0x40; + gfx->poly_opa.d = end; + + convert_matrix(mat, end); + + return end; +} + +static void* pushXluMatrix(z64_gfx_t* gfx, const float* mat) { + void* end = gfx->poly_xlu.d; + end = (char*)end - 0x40; + gfx->poly_xlu.d = end; + + convert_matrix(mat, end); + + return end; +} + +static void* dummyOpaSegment(z64_gfx_t* gfx) { + Gfx* end = gfx->poly_opa.d - 1; + gfx->poly_opa.d = end; + gSPEndDisplayList(end); + return end; +} + +static void* dummyXluSegment(z64_gfx_t* gfx) { + Gfx* end = gfx->poly_xlu.d - 1; + gfx->poly_xlu.d = end; + gSPEndDisplayList(end); + return end; +} + +void draw_gi_stones(z64_game_t* game, uint32_t draw_id) { + z64_gfx_t* gfx = game->common.gfx; + colorRGBA8_t prim_color = item_draw_table[draw_id].args[2].color; + colorRGBA8_t env_color = item_draw_table[draw_id].args[3].color; + + static const float kMatrixRot[] = { + 1.f, 0.f, 0.f, 0.f, + 0.f, 0.f, 1.f, 0.f, + 0.f, -1.f, 0.f, 0.f, + 0.f, 0.f, 0.f, 1.f, + }; + + /* Matrix setup */ + gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gfx->poly_xlu.p++, pushXluMatrix(gfx, kMatrixRot), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPMatrix(gfx->poly_opa.p++, append_sys_matrix(gfx), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gfx->poly_opa.p++, pushOpaMatrix(gfx, kMatrixRot), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + + /* Segment setup */ + gSPSegment(gfx->poly_xlu.p++, 9, dummyXluSegment(gfx)); + gSPSegment(gfx->poly_opa.p++, 8, dummyOpaSegment(gfx)); + + append_setup_dl_25_to_xlu(gfx); + gDPSetPrimColor(gfx->poly_xlu.p++, 0x00, 0x80, prim_color.r, prim_color.g, prim_color.b, prim_color.a); + gDPSetEnvColor(gfx->poly_xlu.p++, env_color.r, env_color.g, env_color.b, env_color.a); + gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[0].dlist); + + append_setup_dl_25_to_opa(gfx); + gDPSetPrimColor(gfx->poly_opa.p++, 0x00, 0x80, 0xff, 0xff, 0xaa, 0xff); + gDPSetEnvColor(gfx->poly_opa.p++, 0x96, 0x78, 0x00, 0xFF); + gSPDisplayList(gfx->poly_opa.p++, item_draw_table[draw_id].args[1].dlist); +} + +void draw_gi_magic_meter(z64_game_t* game, uint32_t draw_id) { + z64_gfx_t *gfx = game->common.gfx; + + // Magic + colorRGBA8_t prim_color = item_draw_table[draw_id].args[3].color; + if (CFG_CORRECT_MODEL_COLORS) { + prim_color.r = CFG_MAGIC_COLOR .r; + prim_color.g = CFG_MAGIC_COLOR .g; + prim_color.b = CFG_MAGIC_COLOR .b; + } + colorRGBA8_t env_color = item_draw_table[draw_id].args[4].color; + + //Writing + append_setup_dl_25_to_xlu(gfx); + gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); + gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[4].dlist); + // Shine + append_setup_dl_25_to_xlu(gfx); + gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); + gDPSetPrimColor(gfx->poly_xlu.p++, 0, 0x80, prim_color.r, prim_color.g, prim_color.b, 0x40); + gDPSetEnvColor(gfx->poly_xlu.p++, env_color.r, env_color.g, env_color.b, env_color.a); + gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[2].dlist); + // Jar + append_setup_dl_25_to_xlu(gfx); + gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); + gDPSetPrimColor(gfx->poly_xlu.p++, 0, 0x80, prim_color.r, prim_color.g, prim_color.b, 0x40); + gDPSetEnvColor(gfx->poly_xlu.p++, env_color.r, env_color.g, env_color.b, env_color.a); + gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[0].dlist); + // Label + append_setup_dl_25_to_xlu(gfx); + gSPMatrix(gfx->poly_xlu.p++, append_sys_matrix(gfx), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); + gSPDisplayList(gfx->poly_xlu.p++, item_draw_table[draw_id].args[1].dlist); + // Parchment + append_setup_dl_25_to_opa(gfx); + gSPMatrix(gfx->poly_opa.p++, append_sys_matrix(gfx), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); + gSPDisplayList(gfx->poly_opa.p++, item_draw_table[draw_id].args[3].dlist); +} diff --git a/ASM/c/item_draw_functions.h b/ASM/c/item_draw_functions.h index ad791efdb3..bb2dad5690 100644 --- a/ASM/c/item_draw_functions.h +++ b/ASM/c/item_draw_functions.h @@ -7,6 +7,7 @@ extern uint8_t CUSTOM_KEY_MODELS; extern uint8_t CFG_CORRECT_MODEL_COLORS; extern colorRGB16_t CFG_A_BUTTON_COLOR; extern colorRGB16_t CFG_C_BUTTON_COLOR; +extern colorRGB16_t CFG_MAGIC_COLOR; void draw_gi_bombchu_and_masks(z64_game_t* game, uint32_t draw_id); void draw_gi_eggs_and_medallions(z64_game_t* game, uint32_t draw_id); @@ -46,7 +47,11 @@ void draw_gi_silver_rupee_pouch(z64_game_t* game, uint32_t draw_id); void draw_gi_a_button(z64_game_t* game, uint32_t draw_id); void draw_gi_c_button_vertical(z64_game_t* game, uint32_t draw_id); void draw_gi_c_button_horizontal(z64_game_t* game, uint32_t draw_id); +void draw_gi_fairy(z64_game_t* game, uint32_t draw_id); +void draw_gi_nothing(z64_game_t* game, uint32_t draw_id); +void draw_gi_medallions(z64_game_t* game, uint32_t draw_id); +void draw_gi_stones(z64_game_t* game, uint32_t draw_id); +void draw_gi_magic_meter(z64_game_t* game, uint32_t draw_id); void draw_bronze_scale(z64_game_t* game, uint32_t draw_id); - #endif diff --git a/ASM/c/item_draw_table.c b/ASM/c/item_draw_table.c index a5e64ecb2d..980e51d4a9 100644 --- a/ASM/c/item_draw_table.c +++ b/ASM/c/item_draw_table.c @@ -131,7 +131,7 @@ item_draw_table_entry_t item_draw_table[] = { [0x73] = { draw_gi_various_opa0, { 0x06000960 } }, // Kokiri Sword [0x74] = { draw_gi_gs_token, { 0x06004DB0, 0x06004EB8 } }, // Gold Skulltula Token II (only for En_Si) - //Rando-added functions + // Rando-added functions [0x75] = { draw_gi_various_opa0, { 0x06000A30 } }, // Triforce Piece [0x76] = { draw_gi_small_keys, { 0x060017C0, 0xFFFFFFFF, 0x3C505AFF } }, // Key Ring [0x77] = { draw_gi_song_notes, { 0x06000F70, 0x00C800FF, 1 } }, // Music Note inverted (Green) @@ -163,7 +163,19 @@ item_draw_table_entry_t item_draw_table[] = { [0x91] = { draw_gi_c_button_vertical, { 0x06000960, 0xFFA000FF, 1 } }, // Cdown button [0x92] = { draw_gi_c_button_horizontal, { 0x06000E10, 0xFFA000FF, 1 } }, // Cleft button [0x93] = { draw_gi_c_button_horizontal, { 0x06000E10, 0xFFA000FF, 0 } }, // Cright button - [0x94] = { draw_bronze_scale, { 0x06000AA0, 0x06000A40, 0x06000A80, 0x06000CC8 } }, // Bronze scale + [0x94] = { draw_gi_medallions, { 0x060004d0, 0x06000f80 } }, // Light Medallion + [0x95] = { draw_gi_medallions, { 0x06000370, 0x06000e40 } }, // Forest Medallion + [0x96] = { draw_gi_medallions, { 0x060001b0, 0x06000c30 } }, // Fire Medallion + [0x97] = { draw_gi_medallions, { 0x06000330, 0x06000e00 } }, // Water Medallion + [0x98] = { draw_gi_medallions, { 0x060002d0, 0x06000d60 } }, // Shadow Medallion + [0x99] = { draw_gi_medallions, { 0x06000380, 0x06000e40 } }, // Spirit Medallion + [0x9A] = { draw_gi_stones, { 0x06000b50, 0x06001290, 0xffffa0ff, 0x00ff00ff } }, // Kokiri Emerald + [0x9B] = { draw_gi_stones, { 0x06000620, 0x06000920, 0xffaaffff, 0xff0064ff } }, // Goron Ruby + [0x9C] = { draw_gi_stones, { 0x06000b00, 0x060012f0, 0x32ffffff, 0x320096ff } }, // Zora Sapphire + [0x9D] = { draw_gi_fairy, { 0x06000EF0 } }, // Fairy (not in a bottle but uses the fairy from the bottle) + [0x9E] = { draw_gi_nothing, {} }, + [0x9F] = { draw_gi_magic_meter, { 0x06000000, 0x060007B0, 0x06000FD8, 0x060009F8, 0x06001438, 0xFFFFFF80, 0x000000FF } }, // Magic Meter Scroll + [0xA0] = { draw_bronze_scale, { 0x06000AA0, 0x06000A40, 0x06000A80, 0x06000CC8 } }, // Bronze scale }; void base_draw_gi_model(z64_game_t* game, uint32_t draw_id) { diff --git a/ASM/c/item_effects.c b/ASM/c/item_effects.c index a82e42d1bb..73209ca5d2 100644 --- a/ASM/c/item_effects.c +++ b/ASM/c/item_effects.c @@ -1,6 +1,7 @@ #include "item_effects.h" #include "dungeon_info.h" #include "trade_quests.h" +#include "bg_gate_shutter.h" #include "save.h" #define rupee_cap ((uint16_t*)0x800F8CEC) @@ -197,7 +198,7 @@ void give_fairy_ocarina(z64_file_t* save, int16_t arg1, int16_t arg2) { save->items[Z64_SLOT_OCARINA] = 0x07; } -void give_song(z64_file_t* save, int16_t quest_bit, int16_t arg2) { +void give_quest_item(z64_file_t* save, int16_t quest_bit, int16_t arg2) { save->quest_items |= 1 << quest_bit; } @@ -223,12 +224,27 @@ void clear_excess_hearts(z64_file_t* save, int16_t arg1, int16_t arg2) { uint8_t OPEN_KAKARIKO = 0; uint8_t COMPLETE_MASK_QUEST = 0; -void open_mask_shop(z64_file_t* save, int16_t arg1, int16_t arg2) { +void open_gate_and_mask_shop(z64_file_t* save, int16_t arg1, int16_t arg2) { + // Check OPEN_KAKARIKO setting and open the gate if (OPEN_KAKARIKO) { save->inf_table[7] = save->inf_table[7] | 0x40; // "Spoke to Gate Guard About Mask Shop" if (!COMPLETE_MASK_QUEST) { save->item_get_inf[2] = save->item_get_inf[2] & 0xFB87; // Unset "Obtained Mask" flags just in case of savewarp before Impa. } + // Check if we're in kak and actually open the gate + if (z64_game.scene_index == 82) { + // Loop through the actors looking for the gate + z64_actor_t* curr = z64_game.actor_list[7].first; + while (curr != NULL) { + if (curr->actor_id == 0x100) { // Check for BG_GATE_SHUTTER + // Set the openingState so it starts to open + BgGateShutter* gate = (BgGateShutter*)curr; + gate->openingState = 2; + return; + } + curr = curr->next; + } + } } if (COMPLETE_MASK_QUEST) { save->inf_table[7] = save->inf_table[7] | 0x80; // "Soldier Wears Keaton Mask" diff --git a/ASM/c/item_effects.h b/ASM/c/item_effects.h index 3772c5bb6c..f142680c94 100644 --- a/ASM/c/item_effects.h +++ b/ASM/c/item_effects.h @@ -21,12 +21,12 @@ void give_defense(z64_file_t* save, int16_t arg1, int16_t arg2); void give_magic(z64_file_t* save, int16_t arg1, int16_t arg2); void give_double_magic(z64_file_t* save, int16_t arg1, int16_t arg2); void give_fairy_ocarina(z64_file_t* save, int16_t arg1, int16_t arg2); -void give_song(z64_file_t* save, int16_t quest_bit, int16_t arg2); +void give_quest_item(z64_file_t* save, int16_t quest_bit, int16_t arg2); void ice_trap_effect(z64_file_t* save, int16_t arg1, int16_t arg2); void give_bean_pack(z64_file_t* save, int16_t arg1, int16_t arg2); void fill_wallet_upgrade(z64_file_t* save, int16_t arg1, int16_t arg2); void clear_excess_hearts(z64_file_t* save, int16_t arg1, int16_t arg2); -void open_mask_shop(z64_file_t* save, int16_t arg1, int16_t arg2); +void open_gate_and_mask_shop(z64_file_t* save, int16_t arg1, int16_t arg2); void give_bombchus(z64_file_t* save, int16_t arg1, int16_t arg2); void trade_quest_upgrade(z64_file_t* save, int16_t item_id, int16_t arg2); extern uint8_t KEYRING_BOSSKEY_CONDITION; diff --git a/ASM/c/item_table.c b/ASM/c/item_table.c index 20e38be0e3..3d69a302cd 100644 --- a/ASM/c/item_table.c +++ b/ASM/c/item_table.c @@ -26,309 +26,329 @@ extern uint8_t SHUFFLE_CHEST_GAME; // "graphic id" - 1 indicates the entry used in the item_draw_table when rendering the GI model. -item_row_t item_table[] = { - [0x0001] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8E, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (5) - [0x0002] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8C, 12, 0x90AA, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nuts (5) - [0x0003] = ITEM_ROW(0x4D, BROWN_CHEST, 0x09, -1, 0x90AB, 0x00D9, 0x28, bombchus_to_bag, no_effect, -1, -1, NULL), // Bombchu (10) - [0x0004] = ITEM_ROW(0x53, GILDED_CHEST, 0x03, -1, 0x0031, 0x00E9, 0x35, no_upgrade, no_effect, -1, -1, NULL), // Fairy Bow - [0x0005] = ITEM_ROW(0x53, GILDED_CHEST, 0x06, -1, 0x0030, 0x00E7, 0x33, no_upgrade, no_effect, -1, -1, NULL), // Fairy Slingshot - [0x0006] = ITEM_ROW(0x53, GILDED_CHEST, 0x0E, -1, 0x0035, 0x00E8, 0x34, no_upgrade, no_effect, -1, -1, NULL), // Boomerang - [0x0007] = ITEM_ROW(0x4D, BROWN_CHEST, 0x00, 13, 0x90AC, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Stick - [0x0008] = ITEM_ROW(0x53, GILDED_CHEST, 0x0A, -1, 0x0036, 0x00DD, 0x2D, no_upgrade, no_effect, -1, -1, NULL), // Hookshot - [0x0009] = ITEM_ROW(0x53, GILDED_CHEST, 0x0B, -1, 0x004F, 0x00DD, 0x2E, no_upgrade, no_effect, -1, -1, NULL), // Longshot - [0x000A] = ITEM_ROW(0x53, GILDED_CHEST, 0x0F, -1, 0x0039, 0x00EA, 0x36, no_upgrade, no_effect, -1, -1, NULL), // Lens of Truth - [0x000B] = ITEM_ROW(0x53, GILDED_CHEST, 0x23, -1, 0x0069, 0x00EF, 0x3B, no_upgrade, open_mask_shop, 0x23, -1, NULL), // Zelda's Letter - [0x000C] = ITEM_ROW(0x53, GILDED_CHEST, 0x08, -1, 0x003A, 0x00DE, 0x2F, no_upgrade, no_effect, -1, -1, NULL), // Ocarina of Time - [0x000D] = ITEM_ROW(0x53, GILDED_CHEST, 0x11, -1, 0x0038, 0x00F6, 0x41, no_upgrade, no_effect, -1, -1, NULL), // Megaton Hammer - [0x000E] = ITEM_ROW(0x53, GILDED_CHEST, 0x2F, -1, 0x0002, 0x0109, 0x5E, no_upgrade, trade_quest_upgrade, 0x2F, -1, NULL), // Cojiro - [0x000F] = ITEM_ROW(0x53, GILDED_CHEST, 0x14, -1, 0x0042, 0x00C6, 0x01, no_upgrade, no_effect, -1, -1, NULL), // Empty Bottle - [0x0010] = ITEM_ROW(0x53, GILDED_CHEST, 0x15, -1, 0x0043, 0x00EB, 0x38, no_upgrade, no_effect, -1, -1, NULL), // Red Potion - [0x0011] = ITEM_ROW(0x53, GILDED_CHEST, 0x16, -1, 0x0044, 0x00EB, 0x37, no_upgrade, no_effect, -1, -1, NULL), // Green Potion - [0x0012] = ITEM_ROW(0x53, GILDED_CHEST, 0x17, -1, 0x0045, 0x00EB, 0x39, no_upgrade, no_effect, -1, -1, NULL), // Blue Potion - [0x0013] = ITEM_ROW(0x53, GILDED_CHEST, 0x18, -1, 0x0046, 0x00C6, 0x01, no_upgrade, no_effect, -1, -1, NULL), // Bottled Fairy - [0x0014] = ITEM_ROW(0x53, GILDED_CHEST, 0x1A, -1, 0x0098, 0x00DF, 0x30, no_upgrade, no_effect, -1, -1, NULL), // Bottled Lon Lon Milk - [0x0015] = ITEM_ROW(0x53, GILDED_CHEST, 0x1B, -1, 0x0099, 0x010B, 0x45, letter_to_bottle, no_effect, -1, -1, NULL), // Bottled Ruto's Letter - [0x0016] = ITEM_ROW(0x53, BROWN_CHEST, 0x10, -1, 0x0048, 0x00F3, 0x3E, no_upgrade, no_effect, -1, -1, NULL), // Magic Bean - [0x0017] = ITEM_ROW(0x53, GILDED_CHEST, 0x25, -1, 0x0010, 0x0136, 0x4F, no_upgrade, trade_quest_upgrade, 0x25, -1, NULL), // Skull Mask - [0x0018] = ITEM_ROW(0x53, GILDED_CHEST, 0x26, -1, 0x0011, 0x0135, 0x32, no_upgrade, trade_quest_upgrade, 0x26, -1, NULL), // Spooky Mask - [0x0019] = ITEM_ROW(0x53, GILDED_CHEST, 0x22, -1, 0x000B, 0x0109, 0x44, no_upgrade, trade_quest_upgrade, 0x22, -1, NULL), // Chicken - [0x001A] = ITEM_ROW(0x53, GILDED_CHEST, 0x24, -1, 0x0012, 0x0134, 0x31, no_upgrade, trade_quest_upgrade, 0x24, -1, NULL), // Keaton Mask - [0x001B] = ITEM_ROW(0x53, GILDED_CHEST, 0x27, -1, 0x0013, 0x0137, 0x50, no_upgrade, trade_quest_upgrade, 0x27, -1, NULL), // Bunny Hood - [0x001C] = ITEM_ROW(0x53, GILDED_CHEST, 0x2B, -1, 0x0017, 0x0138, 0x51, no_upgrade, trade_quest_upgrade, 0x2B, -1, NULL), // Mask of Truth - [0x001D] = ITEM_ROW(0x53, GILDED_CHEST, 0x2D, -1, 0x9001, 0x00DA, 0x29, no_upgrade, trade_quest_upgrade, 0x2D, -1, NULL), // Pocket Egg - [0x001E] = ITEM_ROW(0x53, GILDED_CHEST, 0x2E, -1, 0x000B, 0x0109, 0x44, no_upgrade, trade_quest_upgrade, 0x2E, -1, NULL), // Pocket Cucco - [0x001F] = ITEM_ROW(0x53, GILDED_CHEST, 0x30, -1, 0x0003, 0x0141, 0x54, no_upgrade, trade_quest_upgrade, 0x30, -1, NULL), // Odd Mushroom - [0x0020] = ITEM_ROW(0x53, GILDED_CHEST, 0x31, -1, 0x0004, 0x0140, 0x53, no_upgrade, trade_quest_upgrade, 0x31, -1, NULL), // Odd Potion - [0x0021] = ITEM_ROW(0x53, GILDED_CHEST, 0x32, -1, 0x0005, 0x00F5, 0x40, no_upgrade, trade_quest_upgrade, 0x32, -1, NULL), // Poacher's Saw - [0x0022] = ITEM_ROW(0x53, GILDED_CHEST, 0x33, -1, 0x0008, 0x0143, 0x56, no_upgrade, trade_quest_upgrade, 0x33, -1, NULL), // Goron's Sword (Broken) - [0x0023] = ITEM_ROW(0x53, GILDED_CHEST, 0x34, -1, 0x0009, 0x0146, 0x57, no_upgrade, trade_quest_upgrade, 0x34, -1, NULL), // Prescription - [0x0024] = ITEM_ROW(0x53, GILDED_CHEST, 0x35, -1, 0x000D, 0x0149, 0x5A, no_upgrade, trade_quest_upgrade, 0x35, -1, NULL), // Eyeball Frog - [0x0025] = ITEM_ROW(0x53, GILDED_CHEST, 0x36, -1, 0x000E, 0x013F, 0x52, no_upgrade, trade_quest_upgrade, 0x36, -1, NULL), // Eye Drops - [0x0026] = ITEM_ROW(0x53, GILDED_CHEST, 0x37, -1, 0x000A, 0x0142, 0x55, no_upgrade, trade_quest_upgrade, 0x37, -1, NULL), // Claim Check - [0x0027] = ITEM_ROW(0x53, GILDED_CHEST, 0x3B, -1, 0x00A4, 0x018D, 0x74, no_upgrade, no_effect, -1, -1, NULL), // Kokiri Sword - [0x0028] = ITEM_ROW(0x53, GILDED_CHEST, 0x3D, -1, 0x004B, 0x00F8, 0x43, no_upgrade, no_effect, -1, -1, NULL), // Giant's Knife - [0x0029] = ITEM_ROW(0x53, BROWN_CHEST, 0x3E, -1, 0x90AD, 0x00CB, 0x1D, no_upgrade, no_effect, -1, -1, NULL), // Deku Shield - [0x002A] = ITEM_ROW(0x53, BROWN_CHEST, 0x3F, -1, 0x90AE, 0x00DC, 0x2C, no_upgrade, no_effect, -1, -1, NULL), // Hylian Shield - [0x002B] = ITEM_ROW(0x53, GILDED_CHEST, 0x40, -1, 0x004E, 0x00EE, 0x3A, no_upgrade, no_effect, -1, -1, NULL), // Mirror Shield - [0x002C] = ITEM_ROW(0x53, GILDED_CHEST, 0x42, -1, 0x90AF, 0x00F2, 0x3C, no_upgrade, no_effect, -1, -1, NULL), // Goron Tunic - [0x002D] = ITEM_ROW(0x53, GILDED_CHEST, 0x43, -1, 0x90B0, 0x00F2, 0x3D, no_upgrade, no_effect, -1, -1, NULL), // Zora Tunic - [0x002E] = ITEM_ROW(0x53, GILDED_CHEST, 0x45, -1, 0x0053, 0x0118, 0x47, no_upgrade, no_effect, -1, -1, NULL), // Iron Boots - [0x002F] = ITEM_ROW(0x53, GILDED_CHEST, 0x46, -1, 0x0054, 0x0157, 0x5F, no_upgrade, no_effect, -1, -1, NULL), // Hover Boots - [0x0030] = ITEM_ROW(0x53, GILDED_CHEST, 0x4B, -1, 0x0056, 0x00BE, 0x16, no_upgrade, no_effect, -1, -1, NULL), // Big Quiver - [0x0031] = ITEM_ROW(0x53, GILDED_CHEST, 0x4C, -1, 0x0057, 0x00BE, 0x17, no_upgrade, no_effect, -1, -1, NULL), // Biggest Quiver - [0x0032] = ITEM_ROW(0x53, GILDED_CHEST, 0x4D, -1, 0x0058, 0x00BF, 0x18, no_upgrade, no_effect, -1, -1, NULL), // Bomb Bag - [0x0033] = ITEM_ROW(0x53, GILDED_CHEST, 0x4E, -1, 0x0059, 0x00BF, 0x19, no_upgrade, no_effect, -1, -1, NULL), // Big Bomb Bag - [0x0034] = ITEM_ROW(0x53, GILDED_CHEST, 0x4F, -1, 0x005A, 0x00BF, 0x1A, no_upgrade, no_effect, -1, -1, NULL), // Biggest Bomb Bag - [0x0035] = ITEM_ROW(0x53, GILDED_CHEST, 0x51, -1, 0x005B, 0x012D, 0x49, no_upgrade, no_effect, -1, -1, NULL), // Silver Gauntlets - [0x0036] = ITEM_ROW(0x53, GILDED_CHEST, 0x52, -1, 0x005C, 0x012D, 0x4A, no_upgrade, no_effect, -1, -1, NULL), // Golden Gauntlets - [0x0037] = ITEM_ROW(0x53, GILDED_CHEST, 0x53, -1, 0x00CD, 0x00DB, 0x2A, no_upgrade, give_progressive_scale, 1, -1, NULL), // Silver Scale - [0x0038] = ITEM_ROW(0x53, GILDED_CHEST, 0x54, -1, 0x00CE, 0x00DB, 0x2B, no_upgrade, give_progressive_scale, 2, -1, NULL), // Golden Scale - [0x0039] = ITEM_ROW(0x53, GILDED_CHEST, 0x6F, -1, 0x0068, 0x00C8, 0x21, no_upgrade, no_effect, -1, -1, NULL), // Stone of Agony - [0x003A] = ITEM_ROW(0x53, GILDED_CHEST, 0x70, -1, 0x007B, 0x00D7, 0x24, no_upgrade, no_effect, -1, -1, NULL), // Gerudo Membership Card - [0x003B] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x004A, 0x010E, 0x46, no_upgrade, give_fairy_ocarina, -1, -1, NULL), // Fairy Ocarina - [0x003C] = ITEM_ROW(0x4D, BROWN_CHEST, 0x58, 16, 0x90B3, 0x0119, 0x48, seeds_to_rupee, no_effect, -1, -1, NULL), // Deku Seeds (5) - [0x003D] = ITEM_ROW(0x3D, HEART_CHEST_SMALL, 0x72, -1, 0x00C6, 0x00BD, 0x13, health_upgrade_cap, clear_excess_hearts, -1, -1, NULL), // Heart Container - [0x003E] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x7A, -1, 0x00C2, 0x00BD, 0x14, health_upgrade_cap, full_heal, -1, -1, NULL), // Piece of Heart - [0x003F] = ITEM_ROW(0x53, GOLD_CHEST, 0x74, -1, 0x00C7, 0x00B9, 0x0A, no_upgrade, no_effect, -1, -1, NULL), // Boss Key - [0x0040] = ITEM_ROW(0x53, BROWN_CHEST, 0x75, -1, 0x0067, 0x00B8, 0x0B, no_upgrade, no_effect, -1, -1, NULL), // Compass - [0x0041] = ITEM_ROW(0x53, BROWN_CHEST, 0x76, -1, 0x0066, 0x00C8, 0x1C, no_upgrade, no_effect, -1, -1, NULL), // Map - [0x0042] = ITEM_ROW(0x53, SILVER_CHEST, 0x77, -1, 0x0060, 0x00AA, 0x02, no_upgrade, no_effect, -1, -1, NULL), // Small Key - [0x0043] = ITEM_ROW(0x53, BROWN_CHEST, 0x78, -1, 0x0052, 0x00CD, 0x1E, no_upgrade, no_effect, -1, -1, NULL), // Small Magic Jar - [0x0044] = ITEM_ROW(0x53, BROWN_CHEST, 0x79, -1, 0x0052, 0x00CD, 0x1F, no_upgrade, no_effect, -1, -1, NULL), // Large Magic Jar - [0x0045] = ITEM_ROW(0x53, GILDED_CHEST, 0x56, -1, 0x005E, 0x00D1, 0x22, no_upgrade, fill_wallet_upgrade, 1, -1, NULL), // Adult's Wallet - [0x0046] = ITEM_ROW(0x53, GILDED_CHEST, 0x57, -1, 0x005F, 0x00D1, 0x23, no_upgrade, fill_wallet_upgrade, 2, -1, NULL), // Giant's Wallet - [0x0047] = ITEM_ROW(0x53, GILDED_CHEST, 0x21, -1, 0x009A, 0x00DA, 0x29, no_upgrade, trade_quest_upgrade, 0x21, -1, NULL), // Weird Egg - [0x0048] = ITEM_ROW(0x4D, BROWN_CHEST, 0x83, 3, 0x90B1, 0x00B7, 0x09, no_upgrade, no_effect, -1, -1, NULL), // Recovery Heart - [0x0049] = ITEM_ROW(0x4D, BROWN_CHEST, 0x92, 8, 0x90B2, 0x00D8, 0x25, arrows_to_rupee, no_effect, -1, -1, NULL), // Arrows (5) - [0x004A] = ITEM_ROW(0x4D, BROWN_CHEST, 0x93, 9, 0x90B2, 0x00D8, 0x26, arrows_to_rupee, no_effect, -1, -1, NULL), // Arrows (10) - [0x004B] = ITEM_ROW(0x4D, BROWN_CHEST, 0x94, 10, 0x90B2, 0x00D8, 0x27, arrows_to_rupee, no_effect, -1, -1, NULL), // Arrows (30) - [0x004C] = ITEM_ROW(0x4D, BROWN_CHEST, 0x84, 0, 0x006F, 0x017F, 0x6D, no_upgrade, no_effect, -1, -1, NULL), // Green Rupee - [0x004D] = ITEM_ROW(0x4D, BROWN_CHEST, 0x85, 1, 0x00CC, 0x017F, 0x6E, no_upgrade, no_effect, -1, -1, NULL), // Blue Rupee - [0x004E] = ITEM_ROW(0x4D, BROWN_CHEST, 0x86, 2, 0x00F0, 0x017F, 0x6F, no_upgrade, no_effect, -1, -1, NULL), // Red Rupee - [0x004F] = ITEM_ROW(0x3D, HEART_CHEST_SMALL, 0x72, -1, 0x00C6, 0x00BD, 0x13, no_upgrade, full_heal, -1, -1, NULL), // Heart Container - [0x0050] = ITEM_ROW(0x53, GILDED_CHEST, 0x82, -1, 0x0098, 0x00DF, 0x30, no_upgrade, no_effect, -1, -1, NULL), // Lon Lon Milk (Refill) - [0x0051] = ITEM_ROW(0x53, GILDED_CHEST, 0x28, -1, 0x0014, 0x0150, 0x5B, no_upgrade, trade_quest_upgrade, 0x28, -1, NULL), // Goron Mask - [0x0052] = ITEM_ROW(0x53, GILDED_CHEST, 0x29, -1, 0x0015, 0x0151, 0x5C, no_upgrade, trade_quest_upgrade, 0x29, -1, NULL), // Zora Mask - [0x0053] = ITEM_ROW(0x53, GILDED_CHEST, 0x2A, -1, 0x0016, 0x0152, 0x5D, no_upgrade, trade_quest_upgrade, 0x2A, -1, NULL), // Gerudo Mask - [0x0054] = ITEM_ROW(0x53, GILDED_CHEST, 0x50, -1, 0x0079, 0x0147, 0x58, no_upgrade, no_effect, -1, -1, NULL), // Goron's Bracelet - [0x0055] = ITEM_ROW(0x4D, BROWN_CHEST, 0x87, 19, 0x00F1, 0x017F, 0x71, no_upgrade, no_effect, -1, -1, NULL), // Purple Rupee - [0x0056] = ITEM_ROW(0x4D, BROWN_CHEST, 0x88, 20, 0x00F2, 0x017F, 0x72, no_upgrade, no_effect, -1, -1, NULL), // Huge Rupee - [0x0057] = ITEM_ROW(0x53, GILDED_CHEST, 0x3D, -1, 0x000C, 0x00F8, 0x43, no_upgrade, give_biggoron_sword, -1, -1, NULL), // Biggoron's Sword - [0x0058] = ITEM_ROW(0x53, GILDED_CHEST, 0x04, -1, 0x0070, 0x0158, 0x60, no_upgrade, no_effect, -1, -1, NULL), // Fire Arrow - [0x0059] = ITEM_ROW(0x53, GILDED_CHEST, 0x0C, -1, 0x0071, 0x0158, 0x61, no_upgrade, no_effect, -1, -1, NULL), // Ice Arrow - [0x005A] = ITEM_ROW(0x53, GILDED_CHEST, 0x12, -1, 0x0072, 0x0158, 0x62, no_upgrade, no_effect, -1, -1, NULL), // Light Arrow - [0x005B] = ITEM_ROW(0x5B, SKULL_CHEST_SMALL, 0x71, -1, 0x00B4, 0x015C, 0x63, no_upgrade, no_effect, -1, -1, NULL), // Gold Skulltula Token - [0x005C] = ITEM_ROW(0x53, GILDED_CHEST, 0x05, -1, 0x00AD, 0x015D, 0x64, no_upgrade, no_effect, -1, -1, NULL), // Din's Fire - [0x005D] = ITEM_ROW(0x53, GILDED_CHEST, 0x0D, -1, 0x00AE, 0x015D, 0x65, no_upgrade, no_effect, -1, -1, NULL), // Farore's Wind - [0x005E] = ITEM_ROW(0x53, GILDED_CHEST, 0x13, -1, 0x00AF, 0x015D, 0x66, no_upgrade, no_effect, -1, -1, NULL), // Nayru's Love - [0x005F] = ITEM_ROW(0x53, GILDED_CHEST, 0x47, -1, 0x0007, 0x017B, 0x6C, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (30) - [0x0060] = ITEM_ROW(0x53, GILDED_CHEST, 0x48, -1, 0x0007, 0x017B, 0x6C, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (40) - [0x0061] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8A, 13, 0x90AC, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Sticks (5) - [0x0062] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8B, 13, 0x90AC, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Sticks (10) - [0x0063] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8C, 12, 0x90AA, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nuts (5) - [0x0064] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8D, 12, 0x90AA, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nuts (10) - [0x0065] = ITEM_ROW(0x4D, BROWN_CHEST, 0x02, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bomb - [0x0066] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8F, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (10) - [0x0067] = ITEM_ROW(0x4D, BROWN_CHEST, 0x90, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (20) - [0x0068] = ITEM_ROW(0x4D, BROWN_CHEST, 0x91, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (30) - [0x0069] = ITEM_ROW(0x4D, BROWN_CHEST, 0x95, 16, 0x90B3, 0x0119, 0x48, seeds_to_rupee, no_effect, -1, -1, NULL), // Deku Seeds (30) - [0x006A] = ITEM_ROW(0x4D, BROWN_CHEST, 0x96, -1, 0x90AB, 0x00D9, 0x28, bombchus_to_bag, no_effect, -1, -1, NULL), // Bombchu (5) - [0x006B] = ITEM_ROW(0x4D, BROWN_CHEST, 0x97, -1, 0x90AB, 0x00D9, 0x28, bombchus_to_bag, no_effect, -1, -1, NULL), // Bombchu (20) - [0x006C] = ITEM_ROW(0x53, GILDED_CHEST, 0x19, -1, 0x0047, 0x00F4, 0x3F, no_upgrade, no_effect, -1, -1, NULL), // Fish (Refill) - [0x006D] = ITEM_ROW(0x53, GILDED_CHEST, 0x1D, -1, 0x007A, 0x0174, 0x68, no_upgrade, no_effect, -1, -1, NULL), // Bugs (Refill) - [0x006E] = ITEM_ROW(0x53, GILDED_CHEST, 0x1C, -1, 0x005D, 0x0173, 0x67, no_upgrade, no_effect, -1, -1, NULL), // Blue Fire (Refill) - [0x006F] = ITEM_ROW(0x53, GILDED_CHEST, 0x20, -1, 0x0097, 0x0176, 0x6A, no_upgrade, no_effect, -1, -1, NULL), // Poe (Refill) - [0x0070] = ITEM_ROW(0x53, GILDED_CHEST, 0x1E, -1, 0x00F9, 0x0176, 0x70, no_upgrade, no_effect, -1, -1, NULL), // Big Poe (Refill) - [0x0071] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00F3, 0x00AA, 0x02, upgrade_key_model, give_small_key, TCG_ID, -1, resolve_text_small_keys_cmg), // Small Key (Chest Game) - [0x0072] = ITEM_ROW(0x4D, BROWN_CHEST, 0x84, -1, 0x00F4, 0x017F, 0x6D, no_upgrade, no_effect, -1, -1, NULL), // Green Rupee (Chest Game) - [0x0073] = ITEM_ROW(0x4D, BROWN_CHEST, 0x85, -1, 0x00F5, 0x017F, 0x6E, no_upgrade, no_effect, -1, -1, NULL), // Blue Rupee (Chest Game) - [0x0074] = ITEM_ROW(0x4D, BROWN_CHEST, 0x86, -1, 0x00F6, 0x017F, 0x6F, no_upgrade, no_effect, -1, -1, NULL), // Red Rupee (Chest Game) - [0x0075] = ITEM_ROW(0x4D, BROWN_CHEST, 0x87, -1, 0x00F7, 0x017F, 0x71, no_upgrade, no_effect, -1, -1, NULL), // Purple Rupee (Chest Game) - [0x0076] = ITEM_ROW(0x53, HEART_CHEST_SMALL, 0x7A, -1, 0x00FA, 0x00BD, 0x14, health_upgrade_cap, full_heal, -1, -1, NULL), // Piece of Heart (Chest Game) - [0x0077] = ITEM_ROW(0x53, BROWN_CHEST, 0x98, -1, 0x0090, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Stick Upgrade (20) - [0x0078] = ITEM_ROW(0x53, BROWN_CHEST, 0x99, -1, 0x0091, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Stick Upgrade (30) - [0x0079] = ITEM_ROW(0x53, BROWN_CHEST, 0x9A, -1, 0x00A7, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nut Upgrade (30) - [0x007A] = ITEM_ROW(0x53, BROWN_CHEST, 0x9B, -1, 0x00A8, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nut Upgrade (40) - [0x007B] = ITEM_ROW(0x53, GILDED_CHEST, 0x49, -1, 0x006C, 0x017B, 0x73, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (50) - [0x007C] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9002, 0x0000, 0x00, no_upgrade, ice_trap_effect, -1, -1, NULL), // Ice Trap - [0x007D] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x41, -1, 0x90C2, 0x00BD, 0x14, no_upgrade, full_heal, -1, -1, NULL), // Capped Piece of Heart - [0x007E] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x41, -1, 0x90C6, 0x00BD, 0x13, no_upgrade, full_heal, -1, -1, NULL), // Capped Heart Container - [0x007F] = ITEM_ROW(0x53, HEART_CHEST_SMALL, 0x41, -1, 0x90FA, 0x00BD, 0x14, no_upgrade, full_heal, -1, -1, NULL), // Capped Piece of Heart (Chest Game) - - [0x0080] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00DD, 0x2D, hookshot_upgrade, no_effect, -1, -1, NULL), // Progressive Hookshot - [0x0081] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x0147, 0x58, strength_upgrade, no_effect, -1, -1, NULL), // Progressive Strength - [0x0082] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00BF, 0x18, bomb_bag_upgrade, no_effect, -1, -1, NULL), // Progressive Bomb Bag - [0x0083] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00E9, 0x35, bow_upgrade, no_effect, -1, -1, NULL), // Progressive Bow - [0x0084] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00E7, 0x33, slingshot_upgrade, no_effect, -1, -1, NULL), // Progressive Slingshot - [0x0085] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00D1, 0x22, wallet_upgrade, no_effect, -1, -1, NULL), // Progressive Wallet - [0x0086] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00DB, 0x2A, scale_upgrade, no_effect, -1, -1, NULL), // Progressive Scale - [0x0087] = ITEM_ROW( -1, BROWN_CHEST, -1, -1, -1, 0x00BB, 0x12, nut_upgrade, no_effect, -1, -1, NULL), // Progressive Nut Capacity - [0x0088] = ITEM_ROW( -1, BROWN_CHEST, -1, -1, -1, 0x00C7, 0x1B, stick_upgrade, no_effect, -1, -1, NULL), // Progressive Stick Capacity - [0x0089] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00D9, 0x28, bombchu_upgrade, no_effect, -1, -1, NULL), // Progressive Bombchus - [0x008A] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00CD, 0x1E, magic_upgrade, no_effect, -1, -1, NULL), // Progressive Magic Meter - [0x008B] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x010E, 0x46, ocarina_upgrade, no_effect, -1, -1, NULL), // Progressive Ocarina - - [0x008C] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A0, 0x00C6, 0x01, no_upgrade, give_bottle, 0x15, -1, NULL), // Bottle with Red Potion - [0x008D] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A1, 0x00C6, 0x01, no_upgrade, give_bottle, 0x16, -1, NULL), // Bottle with Green Potion - [0x008E] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A2, 0x00C6, 0x01, no_upgrade, give_bottle, 0x17, -1, NULL), // Bottle with Blue Potion - [0x008F] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A3, 0x0177, 0x6B, no_upgrade, give_bottle, 0x18, -1, NULL), // Bottle with Fairy - [0x0090] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A4, 0x00F4, 0x3F, no_upgrade, give_bottle, 0x19, -1, NULL), // Bottle with Fish - [0x0091] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A5, 0x0173, 0x67, no_upgrade, give_bottle, 0x1C, -1, NULL), // Bottle with Blue Fire - [0x0092] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A6, 0x0174, 0x68, no_upgrade, give_bottle, 0x1D, -1, NULL), // Bottle with Bugs - [0x0093] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A7, 0x0176, 0x70, no_upgrade, give_bottle, 0x1E, -1, NULL), // Bottle with Big Poe - [0x0094] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A8, 0x0176, 0x6A, no_upgrade, give_bottle, 0x20, -1, NULL), // Bottle with Poe - - [0x0095] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0006, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, FOREST_ID, NULL), // Forest Temple Boss Key - [0x0096] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001C, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, FIRE_ID, NULL), // Fire Temple Boss Key - [0x0097] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001D, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, WATER_ID, NULL), // Water Temple Boss Key - [0x0098] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001E, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, SPIRIT_ID, NULL), // Spirit Temple Boss Key - [0x0099] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x002A, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, SHADOW_ID, NULL), // Shadow Temple Boss Key - [0x009A] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0061, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, TOWER_ID, NULL), // Ganon's Castle Boss Key - - [0x009B] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0062, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, DEKU_ID, NULL), // Deku Tree Compass - [0x009C] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0063, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, DODONGO_ID, NULL), // Dodongo's Cavern Compass - [0x009D] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0064, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, JABU_ID, NULL), // Jabu Jabu Compass - [0x009E] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0065, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, FOREST_ID, NULL), // Forest Temple Compass - [0x009F] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007C, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, FIRE_ID, NULL), // Fire Temple Compass - [0x00A0] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007D, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, WATER_ID, NULL), // Water Temple Compass - [0x00A1] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007E, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, SPIRIT_ID, NULL), // Spirit Temple Compass - [0x00A2] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007F, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, SHADOW_ID, NULL), // Shadow Temple Compass - [0x00A3] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x00A2, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, BOTW_ID, NULL), // Bottom of the Well Compass - [0x00A4] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0087, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, ICE_ID, NULL), // Ice Cavern Compass - - [0x00A5] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0088, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, DEKU_ID, NULL), // Deku Tree Map - [0x00A6] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0089, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, DODONGO_ID, NULL), // Dodongo's Cavern Map - [0x00A7] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008A, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, JABU_ID, NULL), // Jabu Jabu Map - [0x00A8] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008B, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, FOREST_ID, NULL), // Forest Temple Map - [0x00A9] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008C, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, FIRE_ID, NULL), // Fire Temple Map - [0x00AA] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008E, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, WATER_ID, NULL), // Water Temple Map - [0x00AB] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008F, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, SPIRIT_ID, NULL), // Spirit Temple Map - [0x00AC] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x00A3, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, SHADOW_ID, NULL), // Shadow Temple Map - [0x00AD] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x00A5, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, BOTW_ID, NULL), // Bottom of the Well Map - [0x00AE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0092, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, ICE_ID, NULL), // Ice Cavern Map - - [0x00AF] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0093, 0x00AA, 0x02, upgrade_key_model, give_small_key, FOREST_ID, -1, resolve_text_small_keys), // Forest Temple Small Key - [0x00B0] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0094, 0x00AA, 0x02, upgrade_key_model, give_small_key, FIRE_ID, -1, resolve_text_small_keys), // Fire Temple Small Key - [0x00B1] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0095, 0x00AA, 0x02, upgrade_key_model, give_small_key, WATER_ID, -1, resolve_text_small_keys), // Water Temple Small Key - [0x00B2] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A6, 0x00AA, 0x02, upgrade_key_model, give_small_key, SPIRIT_ID, -1, resolve_text_small_keys), // Spirit Temple Small Key - [0x00B3] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A9, 0x00AA, 0x02, upgrade_key_model, give_small_key, SHADOW_ID, -1, resolve_text_small_keys), // Shadow Temple Small Key - [0x00B4] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009B, 0x00AA, 0x02, upgrade_key_model, give_small_key, BOTW_ID, -1, resolve_text_small_keys), // Bottom of the Well Small Key - [0x00B5] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009F, 0x00AA, 0x02, upgrade_key_model, give_small_key, GTG_ID, -1, resolve_text_small_keys), // Gerudo Training Small Key - [0x00B6] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A0, 0x00AA, 0x02, upgrade_key_model, give_small_key, FORT_ID, -1, resolve_text_small_keys), // Thieves' Hideout Small Key - [0x00B7] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A1, 0x00AA, 0x02, upgrade_key_model, give_small_key, CASTLE_ID, -1, resolve_text_small_keys), // Ganon's Castle Small Key - - [0x00B8] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00E9, 0x0194, 0x13, no_upgrade, give_defense, -1, -1, NULL), // Double Defense - [0x00B9] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00E4, 0x00CD, 0x1E, no_upgrade, give_magic, -1, -1, NULL), // Magic Meter - [0x00BA] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00E8, 0x00CD, 0x1F, no_upgrade, give_double_magic, -1, -1, NULL), // Double Magic - - [0x00BB] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9091, 0x0196, 0x78, no_upgrade, give_song, 6, -1, NULL), // Minuet of Forest - [0x00BC] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9092, 0x0196, 0x79, no_upgrade, give_song, 7, -1, NULL), // Bolero of Fire - [0x00BD] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9093, 0x0196, 0x7A, no_upgrade, give_song, 8, -1, NULL), // Serenade of Water - [0x00BE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9094, 0x0196, 0x7B, no_upgrade, give_song, 9, -1, NULL), // Requiem of Spirit - [0x00BF] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9095, 0x0196, 0x7C, no_upgrade, give_song, 10, -1, NULL), // Nocturne of Shadow - [0x00C0] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9096, 0x0196, 0x7D, no_upgrade, give_song, 11, -1, NULL), // Prelude of Light - - [0x00C1] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909A, 0x00B6, 0x04, no_upgrade, give_song, 12, -1, NULL), // Zelda's Lullaby - [0x00C2] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909B, 0x00B6, 0x06, no_upgrade, give_song, 13, -1, NULL), // Epona's Song - [0x00C3] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909C, 0x00B6, 0x03, no_upgrade, give_song, 14, -1, NULL), // Saria's Song - [0x00C4] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909D, 0x00B6, 0x08, no_upgrade, give_song, 15, -1, NULL), // Sun's Song - [0x00C5] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909E, 0x00B6, 0x05, no_upgrade, give_song, 16, -1, NULL), // Song of Time - [0x00C6] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909F, 0x00B6, 0x07, no_upgrade, give_song, 17, -1, NULL), // Song of Storms - - [0x00C7] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00F8, 0x00D1, 0x23, no_upgrade, give_tycoon_wallet, 3, -1, NULL), // Tycoon's Wallet - [0x00C8] = ITEM_ROW(0x53, GILDED_CHEST, 0x14, -1, 0x9099, 0x010B, 0x45, no_upgrade, no_effect, -1, -1, NULL), // Redundant Letter Bottle - [0x00C9] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9048, 0x00F3, 0x3E, no_upgrade, give_bean_pack, -1, -1, NULL), // Magic Bean Pack - [0x00CA] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9003, 0x0193, 0x76, no_upgrade, give_triforce_piece, -1, -1, NULL), // Triforce piece - - [0x00CB] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, FOREST_ID, 1, resolve_text_keyrings), // Forest Temple Small Key Ring - [0x00CC] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, FIRE_ID, 1, resolve_text_keyrings), // Fire Temple Small Key Ring - [0x00CD] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, WATER_ID, 1, resolve_text_keyrings), // Water Temple Small Key Ring - [0x00CE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, SPIRIT_ID, 1, resolve_text_keyrings), // Spirit Temple Small Key Ring - [0x00CF] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, SHADOW_ID, 1, resolve_text_keyrings), // Shadow Temple Small Key Ring - [0x00D0] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, BOTW_ID, 0, resolve_text_keyrings), // Bottom of the Well Small Key Ring - [0x00D1] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, GTG_ID, 0, resolve_text_keyrings), // Gerudo Training Small Key Ring - [0x00D2] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, FORT_ID, 0, resolve_text_keyrings), // Thieves' Hideout Small Key Ring - [0x00D3] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, CASTLE_ID, 0, resolve_text_keyrings), // Ganon's Castle Small Key Ring - - [0x00D4] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9019, 0x0197, 0x7E, no_upgrade, give_bombchus, 20, -1, NULL), // Bombchu Bag (20) - [0x00D5] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9019, 0x0197, 0x7E, no_upgrade, give_bombchus, 10, -1, NULL), // Bombchu Bag (10) - [0x00D6] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9019, 0x0197, 0x7E, no_upgrade, give_bombchus, 5, -1, NULL), // Bombchu Bag (5) - - [0x00D7] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, TCG_ID, 0, resolve_text_keyrings), // Treasure Chest Game Small Key Ring - - [0x00D8] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901B, 0x0198, 0x72, no_upgrade, give_silver_rupee, DODONGO_ID, 0x00, resolve_text_silver_rupees), // Silver Rupee (Dodongos Cavern Staircase) - [0x00D9] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901C, 0x0198, 0x72, no_upgrade, give_silver_rupee, ICE_ID, 0x01, resolve_text_silver_rupees), // Silver Rupee (Ice Cavern Spinning Scythe) - [0x00DA] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901D, 0x0198, 0x72, no_upgrade, give_silver_rupee, ICE_ID, 0x02, resolve_text_silver_rupees), // Silver Rupee (Ice Cavern Push Block) - [0x00DB] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901E, 0x0198, 0x72, no_upgrade, give_silver_rupee, BOTW_ID, 0x03, resolve_text_silver_rupees), // Silver Rupee (Bottom of the Well Basement) - [0x00DC] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901F, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x04, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Scythe Shortcut) - [0x00DD] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9020, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x05, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Invisible Blades) - [0x00DE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9021, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x06, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Huge Pit) - [0x00DF] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9022, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x07, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Invisible Spikes) - [0x00E0] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9023, 0x0198, 0x72, no_upgrade, give_silver_rupee, GTG_ID, 0x08, resolve_text_silver_rupees), // Silver Rupee (Gerudo Training Ground Slopes) - [0x00E1] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9024, 0x0198, 0x72, no_upgrade, give_silver_rupee, GTG_ID, 0x09, resolve_text_silver_rupees), // Silver Rupee (Gerudo Training Ground Lava) - [0x00E2] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9025, 0x0198, 0x72, no_upgrade, give_silver_rupee, GTG_ID, 0x0A, resolve_text_silver_rupees), // Silver Rupee (Gerudo Training Ground Water) - [0x00E3] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9026, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0B, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Child Early Torches) - [0x00E4] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9027, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0C, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Adult Boulders) - [0x00E5] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9028, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0D, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Lobby and Lower Adult) - [0x00E6] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9029, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0E, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Sun Block) - [0x00E7] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902A, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0F, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Adult Climb) - [0x00E8] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902B, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x10, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Spirit Trial) - [0x00E9] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902C, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x11, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Light Trial) - [0x00EA] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902D, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x12, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Fire Trial) - [0x00EB] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902E, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x13, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Shadow Trial) - [0x00EC] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902F, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x14, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Water Trial) - [0x00ED] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9030, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x15, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Forest Trial) - - [0x00EE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901B, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, DODONGO_ID, 0x00, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Dodongos Cavern Staircase) - [0x00EF] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901C, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, ICE_ID, 0x01, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ice Cavern Spinning Scythe) - [0x00F0] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901D, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, ICE_ID, 0x02, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ice Cavern Push Block) - [0x00F1] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901E, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, BOTW_ID, 0x03, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Bottom of the Well Basement) - [0x00F2] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901F, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x04, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Scythe Shortcut) - [0x00F3] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9020, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x05, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Invisible Blades) - [0x00F4] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9021, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x06, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Huge Pit) - [0x00F5] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9022, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x07, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Invisible Spikes) - [0x00F6] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9023, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, GTG_ID, 0x08, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Gerudo Training Ground Slopes) - [0x00F7] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9024, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, GTG_ID, 0x09, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Gerudo Training Ground Lava) - [0x00F8] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9025, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, GTG_ID, 0x0A, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Gerudo Training Ground Water) - [0x00F9] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9026, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0B, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Child Early Torches) - [0x00FA] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9027, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0C, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Adult Boulders) - [0x00FB] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9028, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0D, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Lobby and Lower Adult) - [0x00FC] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9029, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0E, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Sun Block) - [0x00FD] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902A, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0F, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Adult Climb) - [0x00FE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902B, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x10, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Spirit Trial) - [0x00FF] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902C, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x11, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Light Trial) - [0x0100] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902D, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x12, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Fire Trial) - [0x0101] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902E, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x13, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Shadow Trial) - [0x0102] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902F, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x14, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Water Trial) - [0x0103] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9030, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x15, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Forest Trial) +item_row_t item_table[GI_RANDO_MAX] = { + [GI_BOMBS_5] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8E, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (5) + [GI_DEKU_NUTS_5] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8C, 12, 0x90AA, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nuts (5) + [GI_BOMBCHUS_10] = ITEM_ROW(0x4D, BROWN_CHEST, 0x09, -1, 0x90AB, 0x00D9, 0x28, bombchus_to_bag, no_effect, -1, -1, NULL), // Bombchu (10) + [GI_BOW] = ITEM_ROW(0x53, GILDED_CHEST, 0x03, -1, 0x0031, 0x00E9, 0x35, no_upgrade, no_effect, -1, -1, NULL), // Fairy Bow + [GI_SLINGSHOT] = ITEM_ROW(0x53, GILDED_CHEST, 0x06, -1, 0x0030, 0x00E7, 0x33, no_upgrade, no_effect, -1, -1, NULL), // Fairy Slingshot + [GI_BOOMERANG] = ITEM_ROW(0x53, GILDED_CHEST, 0x0E, -1, 0x0035, 0x00E8, 0x34, no_upgrade, no_effect, -1, -1, NULL), // Boomerang + [GI_DEKU_STICKS_1] = ITEM_ROW(0x4D, BROWN_CHEST, 0x00, 13, 0x90AC, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Stick + [GI_HOOKSHOT] = ITEM_ROW(0x53, GILDED_CHEST, 0x0A, -1, 0x0036, 0x00DD, 0x2D, no_upgrade, no_effect, -1, -1, NULL), // Hookshot + [GI_LONGSHOT] = ITEM_ROW(0x53, GILDED_CHEST, 0x0B, -1, 0x004F, 0x00DD, 0x2E, no_upgrade, no_effect, -1, -1, NULL), // Longshot + [GI_LENS_OF_TRUTH] = ITEM_ROW(0x53, GILDED_CHEST, 0x0F, -1, 0x0039, 0x00EA, 0x36, no_upgrade, no_effect, -1, -1, NULL), // Lens of Truth + [GI_ZELDAS_LETTER] = ITEM_ROW(0x53, GILDED_CHEST, 0x23, -1, 0x0069, 0x00EF, 0x3B, no_upgrade, open_gate_and_mask_shop, 0x23, -1, NULL), // Zelda's Letter + [GI_OCARINA_OF_TIME] = ITEM_ROW(0x53, GILDED_CHEST, 0x08, -1, 0x003A, 0x00DE, 0x2F, no_upgrade, no_effect, -1, -1, NULL), // Ocarina of Time + [GI_HAMMER] = ITEM_ROW(0x53, GILDED_CHEST, 0x11, -1, 0x0038, 0x00F6, 0x41, no_upgrade, no_effect, -1, -1, NULL), // Megaton Hammer + [GI_COJIRO] = ITEM_ROW(0x53, GILDED_CHEST, 0x2F, -1, 0x0002, 0x0109, 0x5E, no_upgrade, trade_quest_upgrade, 0x2F, -1, NULL), // Cojiro + + [GI_BOTTLE_EMPTY] = ITEM_ROW(0x53, GILDED_CHEST, 0x14, -1, 0x0042, 0x00C6, 0x01, no_upgrade, no_effect, -1, -1, NULL), // Empty Bottle + [GI_BOTTLE_POTION_RED] = ITEM_ROW(0x53, GILDED_CHEST, 0x15, -1, 0x0043, 0x00EB, 0x38, no_upgrade, no_effect, -1, -1, NULL), // Red Potion + [GI_BOTTLE_POTION_GREEN] = ITEM_ROW(0x53, GILDED_CHEST, 0x16, -1, 0x0044, 0x00EB, 0x37, no_upgrade, no_effect, -1, -1, NULL), // Green Potion + [GI_BOTTLE_POTION_BLUE] = ITEM_ROW(0x53, GILDED_CHEST, 0x17, -1, 0x0045, 0x00EB, 0x39, no_upgrade, no_effect, -1, -1, NULL), // Blue Potion + [GI_BOTTLE_FAIRY] = ITEM_ROW(0x53, GILDED_CHEST, 0x18, -1, 0x0046, 0x00C6, 0x01, no_upgrade, no_effect, -1, -1, NULL), // Bottled Fairy + [GI_BOTTLE_MILK_FULL] = ITEM_ROW(0x53, GILDED_CHEST, 0x1A, -1, 0x0098, 0x00DF, 0x30, no_upgrade, no_effect, -1, -1, NULL), // Bottled Lon Lon Milk + [GI_BOTTLE_RUTOS_LETTER] = ITEM_ROW(0x53, GILDED_CHEST, 0x1B, -1, 0x0099, 0x010B, 0x45, letter_to_bottle, no_effect, -1, -1, NULL), // Bottled Ruto's Letter + + [GI_MAGIC_BEAN] = ITEM_ROW(0x53, BROWN_CHEST, 0x10, -1, 0x0048, 0x00F3, 0x3E, no_upgrade, no_effect, -1, -1, NULL), // Magic Bean + [GI_MASK_SKULL] = ITEM_ROW(0x53, GILDED_CHEST, 0x25, -1, 0x0010, 0x0136, 0x4F, no_upgrade, trade_quest_upgrade, 0x25, -1, NULL), // Skull Mask + [GI_MASK_SPOOKY] = ITEM_ROW(0x53, GILDED_CHEST, 0x26, -1, 0x0011, 0x0135, 0x32, no_upgrade, trade_quest_upgrade, 0x26, -1, NULL), // Spooky Mask + [GI_CHICKEN] = ITEM_ROW(0x53, GILDED_CHEST, 0x22, -1, 0x000B, 0x0109, 0x44, no_upgrade, trade_quest_upgrade, 0x22, -1, NULL), // Chicken + [GI_MASK_KEATON] = ITEM_ROW(0x53, GILDED_CHEST, 0x24, -1, 0x0012, 0x0134, 0x31, no_upgrade, trade_quest_upgrade, 0x24, -1, NULL), // Keaton Mask + [GI_MASK_BUNNY_HOOD] = ITEM_ROW(0x53, GILDED_CHEST, 0x27, -1, 0x0013, 0x0137, 0x50, no_upgrade, trade_quest_upgrade, 0x27, -1, NULL), // Bunny Hood + [GI_MASK_TRUTH] = ITEM_ROW(0x53, GILDED_CHEST, 0x2B, -1, 0x0017, 0x0138, 0x51, no_upgrade, trade_quest_upgrade, 0x2B, -1, NULL), // Mask of Truth + [GI_POCKET_EGG] = ITEM_ROW(0x53, GILDED_CHEST, 0x2D, -1, 0x9001, 0x00DA, 0x29, no_upgrade, trade_quest_upgrade, 0x2D, -1, NULL), // Pocket Egg + [GI_POCKET_CUCCO] = ITEM_ROW(0x53, GILDED_CHEST, 0x2E, -1, 0x000B, 0x0109, 0x44, no_upgrade, trade_quest_upgrade, 0x2E, -1, NULL), // Pocket Cucco + [GI_ODD_MUSHROOM] = ITEM_ROW(0x53, GILDED_CHEST, 0x30, -1, 0x0003, 0x0141, 0x54, no_upgrade, trade_quest_upgrade, 0x30, -1, NULL), // Odd Mushroom + [GI_ODD_POTION] = ITEM_ROW(0x53, GILDED_CHEST, 0x31, -1, 0x0004, 0x0140, 0x53, no_upgrade, trade_quest_upgrade, 0x31, -1, NULL), // Odd Potion + [GI_POACHERS_SAW] = ITEM_ROW(0x53, GILDED_CHEST, 0x32, -1, 0x0005, 0x00F5, 0x40, no_upgrade, trade_quest_upgrade, 0x32, -1, NULL), // Poacher's Saw + [GI_BROKEN_GORONS_SWORD] = ITEM_ROW(0x53, GILDED_CHEST, 0x33, -1, 0x0008, 0x0143, 0x56, no_upgrade, trade_quest_upgrade, 0x33, -1, NULL), // Goron's Sword (Broken) + [GI_PRESCRIPTION] = ITEM_ROW(0x53, GILDED_CHEST, 0x34, -1, 0x0009, 0x0146, 0x57, no_upgrade, trade_quest_upgrade, 0x34, -1, NULL), // Prescription + [GI_EYEBALL_FROG] = ITEM_ROW(0x53, GILDED_CHEST, 0x35, -1, 0x000D, 0x0149, 0x5A, no_upgrade, trade_quest_upgrade, 0x35, -1, NULL), // Eyeball Frog + [GI_EYE_DROPS] = ITEM_ROW(0x53, GILDED_CHEST, 0x36, -1, 0x000E, 0x013F, 0x52, no_upgrade, trade_quest_upgrade, 0x36, -1, NULL), // Eye Drops + [GI_CLAIM_CHECK] = ITEM_ROW(0x53, GILDED_CHEST, 0x37, -1, 0x000A, 0x0142, 0x55, no_upgrade, trade_quest_upgrade, 0x37, -1, NULL), // Claim Check + + [GI_SWORD_KOKIRI] = ITEM_ROW(0x53, GILDED_CHEST, 0x3B, -1, 0x00A4, 0x018D, 0x74, no_upgrade, no_effect, -1, -1, NULL), // Kokiri Sword + [GI_SWORD_KNIFE] = ITEM_ROW(0x53, GILDED_CHEST, 0x3D, -1, 0x004B, 0x00F8, 0x43, no_upgrade, no_effect, -1, -1, NULL), // Giant's Knife + [GI_SHIELD_DEKU] = ITEM_ROW(0x53, BROWN_CHEST, 0x3E, -1, 0x90AD, 0x00CB, 0x1D, no_upgrade, no_effect, -1, -1, NULL), // Deku Shield + [GI_SHIELD_HYLIAN] = ITEM_ROW(0x53, BROWN_CHEST, 0x3F, -1, 0x90AE, 0x00DC, 0x2C, no_upgrade, no_effect, -1, -1, NULL), // Hylian Shield + [GI_SHIELD_MIRROR] = ITEM_ROW(0x53, GILDED_CHEST, 0x40, -1, 0x004E, 0x00EE, 0x3A, no_upgrade, no_effect, -1, -1, NULL), // Mirror Shield + [GI_TUNIC_GORON] = ITEM_ROW(0x53, GILDED_CHEST, 0x42, -1, 0x90AF, 0x00F2, 0x3C, no_upgrade, no_effect, -1, -1, NULL), // Goron Tunic + [GI_TUNIC_ZORA] = ITEM_ROW(0x53, GILDED_CHEST, 0x43, -1, 0x90B0, 0x00F2, 0x3D, no_upgrade, no_effect, -1, -1, NULL), // Zora Tunic + [GI_BOOTS_IRON] = ITEM_ROW(0x53, GILDED_CHEST, 0x45, -1, 0x0053, 0x0118, 0x47, no_upgrade, no_effect, -1, -1, NULL), // Iron Boots + [GI_BOOTS_HOVER] = ITEM_ROW(0x53, GILDED_CHEST, 0x46, -1, 0x0054, 0x0157, 0x5F, no_upgrade, no_effect, -1, -1, NULL), // Hover Boots + [GI_QUIVER_40] = ITEM_ROW(0x53, GILDED_CHEST, 0x4B, -1, 0x0056, 0x00BE, 0x16, no_upgrade, no_effect, -1, -1, NULL), // Big Quiver + [GI_QUIVER_50] = ITEM_ROW(0x53, GILDED_CHEST, 0x4C, -1, 0x0057, 0x00BE, 0x17, no_upgrade, no_effect, -1, -1, NULL), // Biggest Quiver + [GI_BOMB_BAG_20] = ITEM_ROW(0x53, GILDED_CHEST, 0x4D, -1, 0x0058, 0x00BF, 0x18, no_upgrade, no_effect, -1, -1, NULL), // Bomb Bag + [GI_BOMB_BAG_30] = ITEM_ROW(0x53, GILDED_CHEST, 0x4E, -1, 0x0059, 0x00BF, 0x19, no_upgrade, no_effect, -1, -1, NULL), // Big Bomb Bag + [GI_BOMB_BAG_40] = ITEM_ROW(0x53, GILDED_CHEST, 0x4F, -1, 0x005A, 0x00BF, 0x1A, no_upgrade, no_effect, -1, -1, NULL), // Biggest Bomb Bag + [GI_SILVER_GAUNTLETS] = ITEM_ROW(0x53, GILDED_CHEST, 0x51, -1, 0x005B, 0x012D, 0x49, no_upgrade, no_effect, -1, -1, NULL), // Silver Gauntlets + [GI_GOLD_GAUNTLETS] = ITEM_ROW(0x53, GILDED_CHEST, 0x52, -1, 0x005C, 0x012D, 0x4A, no_upgrade, no_effect, -1, -1, NULL), // Golden Gauntlets + [GI_SCALE_SILVER] = ITEM_ROW(0x53, GILDED_CHEST, 0x53, -1, 0x00CD, 0x00DB, 0x2A, no_upgrade, give_progressive_scale, 1, -1, NULL), // Silver Scale + [GI_SCALE_GOLDEN] = ITEM_ROW(0x53, GILDED_CHEST, 0x54, -1, 0x00CE, 0x00DB, 0x2B, no_upgrade, give_progressive_scale, 2, -1, NULL), // Golden Scale + [GI_STONE_OF_AGONY] = ITEM_ROW(0x53, GILDED_CHEST, 0x6F, -1, 0x0068, 0x00C8, 0x21, no_upgrade, no_effect, -1, -1, NULL), // Stone of Agony + [GI_GERUDOS_CARD] = ITEM_ROW(0x53, GILDED_CHEST, 0x70, -1, 0x007B, 0x00D7, 0x24, no_upgrade, no_effect, -1, -1, NULL), // Gerudo Membership Card + + [GI_OCARINA_FAIRY] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x004A, 0x010E, 0x46, no_upgrade, give_fairy_ocarina, -1, -1, NULL), // Fairy Ocarina + [GI_DEKU_SEEDS_5] = ITEM_ROW(0x4D, BROWN_CHEST, 0x58, 16, 0x90B3, 0x0119, 0x48, seeds_to_rupee, no_effect, -1, -1, NULL), // Deku Seeds (5) + [GI_HEART_CONTAINER] = ITEM_ROW(0x3D, HEART_CHEST_SMALL, 0x72, -1, 0x00C6, 0x00BD, 0x13, health_upgrade_cap, clear_excess_hearts, -1, -1, NULL), // Heart Container + [GI_HEART_PIECE] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x7A, -1, 0x00C2, 0x00BD, 0x14, health_upgrade_cap, full_heal, -1, -1, NULL), // Piece of Heart + [GI_BOSS_KEY] = ITEM_ROW(0x53, GOLD_CHEST, 0x74, -1, 0x00C7, 0x00B9, 0x0A, no_upgrade, no_effect, -1, -1, NULL), // Boss Key + [GI_COMPASS] = ITEM_ROW(0x53, BROWN_CHEST, 0x75, -1, 0x0067, 0x00B8, 0x0B, no_upgrade, no_effect, -1, -1, NULL), // Compass + [GI_DUNGEON_MAP] = ITEM_ROW(0x53, BROWN_CHEST, 0x76, -1, 0x0066, 0x00C8, 0x1C, no_upgrade, no_effect, -1, -1, NULL), // Map + [GI_SMALL_KEY] = ITEM_ROW(0x53, SILVER_CHEST, 0x77, -1, 0x0060, 0x00AA, 0x02, no_upgrade, no_effect, -1, -1, NULL), // Small Key + [GI_MAGIC_JAR_SMALL] = ITEM_ROW(0x53, BROWN_CHEST, 0x78, -1, 0x0052, 0x00CD, 0x1E, no_upgrade, no_effect, -1, -1, NULL), // Small Magic Jar + [GI_MAGIC_JAR_LARGE] = ITEM_ROW(0x53, BROWN_CHEST, 0x79, -1, 0x0052, 0x00CD, 0x1F, no_upgrade, no_effect, -1, -1, NULL), // Large Magic Jar + [GI_WALLET_ADULT] = ITEM_ROW(0x53, GILDED_CHEST, 0x56, -1, 0x005E, 0x00D1, 0x22, no_upgrade, fill_wallet_upgrade, 1, -1, NULL), // Adult's Wallet + [GI_WALLET_GIANT] = ITEM_ROW(0x53, GILDED_CHEST, 0x57, -1, 0x005F, 0x00D1, 0x23, no_upgrade, fill_wallet_upgrade, 2, -1, NULL), // Giant's Wallet + [GI_WEIRD_EGG] = ITEM_ROW(0x53, GILDED_CHEST, 0x21, -1, 0x009A, 0x00DA, 0x29, no_upgrade, trade_quest_upgrade, 0x21, -1, NULL), // Weird Egg + [GI_RECOVERY_HEART] = ITEM_ROW(0x4D, BROWN_CHEST, 0x83, 3, 0x90B1, 0x00B7, 0x09, no_upgrade, no_effect, -1, -1, NULL), // Recovery Heart + [GI_ARROWS_5] = ITEM_ROW(0x4D, BROWN_CHEST, 0x92, 8, 0x90B2, 0x00D8, 0x25, arrows_to_rupee, no_effect, -1, -1, NULL), // Arrows (5) + [GI_ARROWS_10] = ITEM_ROW(0x4D, BROWN_CHEST, 0x93, 9, 0x90B2, 0x00D8, 0x26, arrows_to_rupee, no_effect, -1, -1, NULL), // Arrows (10) + [GI_ARROWS_30] = ITEM_ROW(0x4D, BROWN_CHEST, 0x94, 10, 0x90B2, 0x00D8, 0x27, arrows_to_rupee, no_effect, -1, -1, NULL), // Arrows (30) + [GI_RUPEE_GREEN] = ITEM_ROW(0x4D, BROWN_CHEST, 0x84, 0, 0x006F, 0x017F, 0x6D, no_upgrade, no_effect, -1, -1, NULL), // Green Rupee + [GI_RUPEE_BLUE] = ITEM_ROW(0x4D, BROWN_CHEST, 0x85, 1, 0x00CC, 0x017F, 0x6E, no_upgrade, no_effect, -1, -1, NULL), // Blue Rupee + [GI_RUPEE_RED] = ITEM_ROW(0x4D, BROWN_CHEST, 0x86, 2, 0x00F0, 0x017F, 0x6F, no_upgrade, no_effect, -1, -1, NULL), // Red Rupee + [GI_HEART_CONTAINER_2] = ITEM_ROW(0x3D, HEART_CHEST_SMALL, 0x72, -1, 0x00C6, 0x00BD, 0x13, no_upgrade, full_heal, -1, -1, NULL), // Heart Container + [GI_MILK] = ITEM_ROW(0x53, GILDED_CHEST, 0x82, -1, 0x0098, 0x00DF, 0x30, no_upgrade, no_effect, -1, -1, NULL), // Lon Lon Milk (Refill) + [GI_MASK_GORON] = ITEM_ROW(0x53, GILDED_CHEST, 0x28, -1, 0x0014, 0x0150, 0x5B, no_upgrade, trade_quest_upgrade, 0x28, -1, NULL), // Goron Mask + [GI_MASK_ZORA] = ITEM_ROW(0x53, GILDED_CHEST, 0x29, -1, 0x0015, 0x0151, 0x5C, no_upgrade, trade_quest_upgrade, 0x29, -1, NULL), // Zora Mask + [GI_MASK_GERUDO] = ITEM_ROW(0x53, GILDED_CHEST, 0x2A, -1, 0x0016, 0x0152, 0x5D, no_upgrade, trade_quest_upgrade, 0x2A, -1, NULL), // Gerudo Mask + [GI_GORONS_BRACELET] = ITEM_ROW(0x53, GILDED_CHEST, 0x50, -1, 0x0079, 0x0147, 0x58, no_upgrade, no_effect, -1, -1, NULL), // Goron's Bracelet + [GI_RUPEE_PURPLE] = ITEM_ROW(0x4D, BROWN_CHEST, 0x87, 20, 0x00F1, 0x017F, 0x71, no_upgrade, no_effect, -1, -1, NULL), // Purple Rupee + [GI_RUPEE_GOLD] = ITEM_ROW(0x4D, BROWN_CHEST, 0x88, 19, 0x00F2, 0x017F, 0x72, no_upgrade, no_effect, -1, -1, NULL), // Huge Rupee + [GI_SWORD_BIGGORON] = ITEM_ROW(0x53, GILDED_CHEST, 0x3D, -1, 0x000C, 0x00F8, 0x43, no_upgrade, give_biggoron_sword, -1, -1, NULL), // Biggoron's Sword + [GI_ARROW_FIRE] = ITEM_ROW(0x53, GILDED_CHEST, 0x04, -1, 0x0070, 0x0158, 0x60, no_upgrade, no_effect, -1, -1, NULL), // Fire Arrow + [GI_ARROW_ICE] = ITEM_ROW(0x53, GILDED_CHEST, 0x0C, -1, 0x0071, 0x0158, 0x61, no_upgrade, no_effect, -1, -1, NULL), // Ice Arrow + [GI_ARROW_LIGHT] = ITEM_ROW(0x53, GILDED_CHEST, 0x12, -1, 0x0072, 0x0158, 0x62, no_upgrade, no_effect, -1, -1, NULL), // Light Arrow + [GI_SKULL_TOKEN] = ITEM_ROW(0x5B, SKULL_CHEST_SMALL, 0x71, -1, 0x00B4, 0x015C, 0x63, no_upgrade, no_effect, -1, -1, NULL), // Gold Skulltula Token + [GI_DINS_FIRE] = ITEM_ROW(0x53, GILDED_CHEST, 0x05, -1, 0x00AD, 0x015D, 0x64, no_upgrade, no_effect, -1, -1, NULL), // Din's Fire + [GI_FARORES_WIND] = ITEM_ROW(0x53, GILDED_CHEST, 0x0D, -1, 0x00AE, 0x015D, 0x65, no_upgrade, no_effect, -1, -1, NULL), // Farore's Wind + [GI_NAYRUS_LOVE] = ITEM_ROW(0x53, GILDED_CHEST, 0x13, -1, 0x00AF, 0x015D, 0x66, no_upgrade, no_effect, -1, -1, NULL), // Nayru's Love + [GI_BULLET_BAG_30] = ITEM_ROW(0x53, GILDED_CHEST, 0x47, -1, 0x0007, 0x017B, 0x6C, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (30) + [GI_BULLET_BAG_40] = ITEM_ROW(0x53, GILDED_CHEST, 0x48, -1, 0x0007, 0x017B, 0x6C, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (40) + [GI_DEKU_STICKS_5] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8A, 13, 0x90AC, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Sticks (5) + [GI_DEKU_STICKS_10] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8B, 13, 0x90AC, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Sticks (10) + [GI_DEKU_NUTS_5_2] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8C, 12, 0x90AA, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nuts (5) + [GI_DEKU_NUTS_10] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8D, 12, 0x90AA, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nuts (10) + [GI_BOMBS_1] = ITEM_ROW(0x4D, BROWN_CHEST, 0x02, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bomb + [GI_BOMBS_10] = ITEM_ROW(0x4D, BROWN_CHEST, 0x8F, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (10) + [GI_BOMBS_20] = ITEM_ROW(0x4D, BROWN_CHEST, 0x90, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (20) + [GI_BOMBS_30] = ITEM_ROW(0x4D, BROWN_CHEST, 0x91, 11, 0x90A9, 0x00CE, 0x20, bombs_to_rupee, no_effect, -1, -1, NULL), // Bombs (30) + [GI_DEKU_SEEDS_30] = ITEM_ROW(0x4D, BROWN_CHEST, 0x95, 16, 0x90B3, 0x0119, 0x48, seeds_to_rupee, no_effect, -1, -1, NULL), // Deku Seeds (30) + [GI_BOMBCHUS_5] = ITEM_ROW(0x4D, BROWN_CHEST, 0x96, -1, 0x90AB, 0x00D9, 0x28, bombchus_to_bag, no_effect, -1, -1, NULL), // Bombchu (5) + [GI_BOMBCHUS_20] = ITEM_ROW(0x4D, BROWN_CHEST, 0x97, -1, 0x90AB, 0x00D9, 0x28, bombchus_to_bag, no_effect, -1, -1, NULL), // Bombchu (20) + [GI_BOTTLE_FISH] = ITEM_ROW(0x53, GILDED_CHEST, 0x19, -1, 0x0047, 0x00F4, 0x3F, no_upgrade, no_effect, -1, -1, NULL), // Fish (Refill) + [GI_BOTTLE_BUGS] = ITEM_ROW(0x53, GILDED_CHEST, 0x1D, -1, 0x007A, 0x0174, 0x68, no_upgrade, no_effect, -1, -1, NULL), // Bugs (Refill) + [GI_BOTTLE_BLUE_FIRE] = ITEM_ROW(0x53, GILDED_CHEST, 0x1C, -1, 0x005D, 0x0173, 0x67, no_upgrade, no_effect, -1, -1, NULL), // Blue Fire (Refill) + [GI_BOTTLE_POE] = ITEM_ROW(0x53, GILDED_CHEST, 0x20, -1, 0x0097, 0x0176, 0x6A, no_upgrade, no_effect, -1, -1, NULL), // Poe (Refill) + [GI_BOTTLE_BIG_POE] = ITEM_ROW(0x53, GILDED_CHEST, 0x1E, -1, 0x00F9, 0x0176, 0x70, no_upgrade, no_effect, -1, -1, NULL), // Big Poe (Refill) + [GI_DOOR_KEY] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00F3, 0x00AA, 0x02, upgrade_key_model, give_small_key, TCG_ID, -1, resolve_text_small_keys_cmg), // Small Key (Chest Game) + [GI_RUPEE_GREEN_LOSE] = ITEM_ROW(0x4D, BROWN_CHEST, 0x84, -1, 0x00F4, 0x017F, 0x6D, no_upgrade, no_effect, -1, -1, NULL), // Green Rupee (Chest Game) + [GI_RUPEE_BLUE_LOSE] = ITEM_ROW(0x4D, BROWN_CHEST, 0x85, -1, 0x00F5, 0x017F, 0x6E, no_upgrade, no_effect, -1, -1, NULL), // Blue Rupee (Chest Game) + [GI_RUPEE_RED_LOSE] = ITEM_ROW(0x4D, BROWN_CHEST, 0x86, -1, 0x00F6, 0x017F, 0x6F, no_upgrade, no_effect, -1, -1, NULL), // Red Rupee (Chest Game) + [GI_RUPEE_PURPLE_LOSE] = ITEM_ROW(0x4D, BROWN_CHEST, 0x87, -1, 0x00F7, 0x017F, 0x71, no_upgrade, no_effect, -1, -1, NULL), // Purple Rupee (Chest Game) + [GI_HEART_PIECE_WIN] = ITEM_ROW(0x53, HEART_CHEST_SMALL, 0x7A, -1, 0x00FA, 0x00BD, 0x14, health_upgrade_cap, full_heal, -1, -1, NULL), // Piece of Heart (Chest Game) + [GI_DEKU_STICK_UPGRADE_20] = ITEM_ROW(0x53, BROWN_CHEST, 0x98, -1, 0x0090, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Stick Upgrade (20) + [GI_DEKU_STICK_UPGRADE_30] = ITEM_ROW(0x53, BROWN_CHEST, 0x99, -1, 0x0091, 0x00C7, 0x1B, no_upgrade, no_effect, -1, -1, NULL), // Deku Stick Upgrade (30) + [GI_DEKU_NUT_UPGRADE_30] = ITEM_ROW(0x53, BROWN_CHEST, 0x9A, -1, 0x00A7, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nut Upgrade (30) + [GI_DEKU_NUT_UPGRADE_40] = ITEM_ROW(0x53, BROWN_CHEST, 0x9B, -1, 0x00A8, 0x00BB, 0x12, no_upgrade, no_effect, -1, -1, NULL), // Deku Nut Upgrade (40) + [GI_BULLET_BAG_50] = ITEM_ROW(0x53, GILDED_CHEST, 0x49, -1, 0x006C, 0x017B, 0x73, no_upgrade, no_effect, -1, -1, NULL), // Bullet Bag (50) + [GI_ICE_TRAP] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9002, 0x0000, 0x00, no_upgrade, ice_trap_effect, -1, -1, NULL), // Ice Trap + + [GI_CAPPED_PIECE_OF_HEART] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x41, -1, 0x90C2, 0x00BD, 0x14, no_upgrade, full_heal, -1, -1, NULL), // Capped Piece of Heart + [GI_CAPPED_HEART_CONTAINER] = ITEM_ROW(0x3E, HEART_CHEST_SMALL, 0x41, -1, 0x90C6, 0x00BD, 0x13, no_upgrade, full_heal, -1, -1, NULL), // Capped Heart Container + [GI_CAPPED_PIECE_OF_HEART_CHESTGAME] = ITEM_ROW(0x53, HEART_CHEST_SMALL, 0x41, -1, 0x90FA, 0x00BD, 0x14, no_upgrade, full_heal, -1, -1, NULL), // Capped Piece of Heart (Chest Game) + + [GI_PROGRESSIVE_HOOKSHOT] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00DD, 0x2D, hookshot_upgrade, no_effect, -1, -1, NULL), // Progressive Hookshot + [GI_PROGRESSIVE_STRENGTH] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x0147, 0x58, strength_upgrade, no_effect, -1, -1, NULL), // Progressive Strength + [GI_PROGRESSIVE_BOMB_BAG] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00BF, 0x18, bomb_bag_upgrade, no_effect, -1, -1, NULL), // Progressive Bomb Bag + [GI_PROGRESSIVE_BOW] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00E9, 0x35, bow_upgrade, no_effect, -1, -1, NULL), // Progressive Bow + [GI_PROGRESSIVE_SLINGSHOT] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00E7, 0x33, slingshot_upgrade, no_effect, -1, -1, NULL), // Progressive Slingshot + [GI_PROGRESSIVE_WALLET] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00D1, 0x22, wallet_upgrade, no_effect, -1, -1, NULL), // Progressive Wallet + [GI_PROGRESSIVE_SCALE] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00DB, 0x2A, scale_upgrade, no_effect, -1, -1, NULL), // Progressive Scale + [GI_PROGRESSIVE_NUT_CAPACITY] = ITEM_ROW( -1, BROWN_CHEST, -1, -1, -1, 0x00BB, 0x12, nut_upgrade, no_effect, -1, -1, NULL), // Progressive Nut Capacity + [GI_PROGRESSIVE_STICK_CAPACITY] = ITEM_ROW( -1, BROWN_CHEST, -1, -1, -1, 0x00C7, 0x1B, stick_upgrade, no_effect, -1, -1, NULL), // Progressive Stick Capacity + [GI_PROGRESSIVE_BOMBCHUS] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00D9, 0x28, bombchu_upgrade, no_effect, -1, -1, NULL), // Progressive Bombchus + [GI_PROGRESSIVE_MAGIC_METER] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x00CD, 0x1E, magic_upgrade, no_effect, -1, -1, NULL), // Progressive Magic Meter + [GI_PROGRESSIVE_OCARINA] = ITEM_ROW( -1, GILDED_CHEST, -1, -1, -1, 0x010E, 0x46, ocarina_upgrade, no_effect, -1, -1, NULL), // Progressive Ocarina + + [GI_BOTTLE_WITH_RED_POTION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A0, 0x00C6, 0x01, no_upgrade, give_bottle, 0x15, -1, NULL), // Bottle with Red Potion + [GI_BOTTLE_WITH_GREEN_POTION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A1, 0x00C6, 0x01, no_upgrade, give_bottle, 0x16, -1, NULL), // Bottle with Green Potion + [GI_BOTTLE_WITH_BLUE_POTION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A2, 0x00C6, 0x01, no_upgrade, give_bottle, 0x17, -1, NULL), // Bottle with Blue Potion + [GI_BOTTLE_WITH_FAIRY] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A3, 0x0177, 0x6B, no_upgrade, give_bottle, 0x18, -1, NULL), // Bottle with Fairy + [GI_BOTTLE_WITH_FISH] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A4, 0x00F4, 0x3F, no_upgrade, give_bottle, 0x19, -1, NULL), // Bottle with Fish + [GI_BOTTLE_WITH_BLUE_FIRE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A5, 0x0173, 0x67, no_upgrade, give_bottle, 0x1C, -1, NULL), // Bottle with Blue Fire + [GI_BOTTLE_WITH_BUGS] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A6, 0x0174, 0x68, no_upgrade, give_bottle, 0x1D, -1, NULL), // Bottle with Bugs + [GI_BOTTLE_WITH_BIG_POE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A7, 0x0176, 0x70, no_upgrade, give_bottle, 0x1E, -1, NULL), // Bottle with Big Poe + [GI_BOTTLE_WITH_POE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90A8, 0x0176, 0x6A, no_upgrade, give_bottle, 0x20, -1, NULL), // Bottle with Poe + + [GI_BOSS_KEY_FOREST_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0006, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, FOREST_ID, NULL), // Forest Temple Boss Key + [GI_BOSS_KEY_FIRE_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001C, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, FIRE_ID, NULL), // Fire Temple Boss Key + [GI_BOSS_KEY_WATER_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001D, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, WATER_ID, NULL), // Water Temple Boss Key + [GI_BOSS_KEY_SPIRIT_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001E, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, SPIRIT_ID, NULL), // Spirit Temple Boss Key + [GI_BOSS_KEY_SHADOW_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x002A, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, SHADOW_ID, NULL), // Shadow Temple Boss Key + [GI_BOSS_KEY_GANONS_CASTLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0061, 0x00B9, 0x0A, upgrade_key_model, give_dungeon_item, 0x01, TOWER_ID, NULL), // Ganon's Castle Boss Key + + [GI_COMPASS_DEKU_TREE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0062, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, DEKU_ID, NULL), // Deku Tree Compass + [GI_COMPASS_DODONGOS_CAVERN] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0063, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, DODONGO_ID, NULL), // Dodongo's Cavern Compass + [GI_COMPASS_JABU_JABU] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0064, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, JABU_ID, NULL), // Jabu Jabu Compass + [GI_COMPASS_FOREST_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0065, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, FOREST_ID, NULL), // Forest Temple Compass + [GI_COMPASS_FIRE_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007C, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, FIRE_ID, NULL), // Fire Temple Compass + [GI_COMPASS_WATER_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007D, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, WATER_ID, NULL), // Water Temple Compass + [GI_COMPASS_SPIRIT_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007E, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, SPIRIT_ID, NULL), // Spirit Temple Compass + [GI_COMPASS_SHADOW_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x007F, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, SHADOW_ID, NULL), // Shadow Temple Compass + [GI_COMPASS_BOTTOM_OF_THE_WELL] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x00A2, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, BOTW_ID, NULL), // Bottom of the Well Compass + [GI_COMPASS_ICE_CAVERN] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0087, 0x00B8, 0x0B, no_upgrade, give_dungeon_item, 0x02, ICE_ID, NULL), // Ice Cavern Compass + + [GI_MAP_DEKU_TREE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0088, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, DEKU_ID, NULL), // Deku Tree Map + [GI_MAP_DODONGOS_CAVERN] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0089, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, DODONGO_ID, NULL), // Dodongo's Cavern Map + [GI_MAP_JABU_JABU] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008A, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, JABU_ID, NULL), // Jabu Jabu Map + [GI_MAP_FOREST_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008B, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, FOREST_ID, NULL), // Forest Temple Map + [GI_MAP_FIRE_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008C, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, FIRE_ID, NULL), // Fire Temple Map + [GI_MAP_WATER_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008E, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, WATER_ID, NULL), // Water Temple Map + [GI_MAP_SPIRIT_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x008F, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, SPIRIT_ID, NULL), // Spirit Temple Map + [GI_MAP_SHADOW_TEMPLE] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x00A3, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, SHADOW_ID, NULL), // Shadow Temple Map + [GI_MAP_BOTTOM_OF_THE_WELL] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x00A5, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, BOTW_ID, NULL), // Bottom of the Well Map + [GI_MAP_ICE_CAVERN] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x0092, 0x00C8, 0x1C, no_upgrade, give_dungeon_item, 0x04, ICE_ID, NULL), // Ice Cavern Map + + [GI_SMALL_KEY_FOREST_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0093, 0x00AA, 0x02, upgrade_key_model, give_small_key, FOREST_ID, -1, resolve_text_small_keys), // Forest Temple Small Key + [GI_SMALL_KEY_FIRE_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0094, 0x00AA, 0x02, upgrade_key_model, give_small_key, FIRE_ID, -1, resolve_text_small_keys), // Fire Temple Small Key + [GI_SMALL_KEY_WATER_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0095, 0x00AA, 0x02, upgrade_key_model, give_small_key, WATER_ID, -1, resolve_text_small_keys), // Water Temple Small Key + [GI_SMALL_KEY_SPIRIT_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A6, 0x00AA, 0x02, upgrade_key_model, give_small_key, SPIRIT_ID, -1, resolve_text_small_keys), // Spirit Temple Small Key + [GI_SMALL_KEY_SHADOW_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A9, 0x00AA, 0x02, upgrade_key_model, give_small_key, SHADOW_ID, -1, resolve_text_small_keys), // Shadow Temple Small Key + [GI_SMALL_KEY_BOTTOM_OF_THE_WELL] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009B, 0x00AA, 0x02, upgrade_key_model, give_small_key, BOTW_ID, -1, resolve_text_small_keys), // Bottom of the Well Small Key + [GI_SMALL_KEY_GERUDO_TRAINING] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009F, 0x00AA, 0x02, upgrade_key_model, give_small_key, GTG_ID, -1, resolve_text_small_keys), // Gerudo Training Small Key + [GI_SMALL_KEY_THIEVES_HIDEOUT] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A0, 0x00AA, 0x02, upgrade_key_model, give_small_key, FORT_ID, -1, resolve_text_small_keys), // Thieves' Hideout Small Key + [GI_SMALL_KEY_GANONS_CASTLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A1, 0x00AA, 0x02, upgrade_key_model, give_small_key, CASTLE_ID, -1, resolve_text_small_keys), // Ganon's Castle Small Key + + [GI_DOUBLE_DEFENSE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00E9, 0x0194, 0x13, no_upgrade, give_defense, -1, -1, NULL), // Double Defense + [GI_MAGIC_METER] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00E4, 0x01B4, 0xA0, no_upgrade, give_magic, -1, -1, NULL), // Magic Meter + [GI_DOUBLE_MAGIC] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00E8, 0x01B4, 0xA0, no_upgrade, give_double_magic, -1, -1, NULL), // Double Magic + + [GI_MINUET_OF_FOREST] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9091, 0x0196, 0x78, no_upgrade, give_quest_item, 6, -1, NULL), // Minuet of Forest + [GI_BOLERO_OF_FIRE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9092, 0x0196, 0x79, no_upgrade, give_quest_item, 7, -1, NULL), // Bolero of Fire + [GI_SERENADE_OF_WATER] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9093, 0x0196, 0x7A, no_upgrade, give_quest_item, 8, -1, NULL), // Serenade of Water + [GI_REQUIEM_OF_SPIRIT] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9094, 0x0196, 0x7B, no_upgrade, give_quest_item, 9, -1, NULL), // Requiem of Spirit + [GI_NOCTURNE_OF_SHADOW] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9095, 0x0196, 0x7C, no_upgrade, give_quest_item, 10, -1, NULL), // Nocturn of Shadow + [GI_PRELUDE_OF_LIGHT] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9096, 0x0196, 0x7D, no_upgrade, give_quest_item, 11, -1, NULL), // Prelude of Light + + [GI_ZELDAS_LULLABY] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909A, 0x00B6, 0x04, no_upgrade, give_quest_item, 12, -1, NULL), // Zelda's Lullaby + [GI_EPONAS_SONG] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909B, 0x00B6, 0x06, no_upgrade, give_quest_item, 13, -1, NULL), // Epona's Song + [GI_SARIAS_SONG] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909C, 0x00B6, 0x03, no_upgrade, give_quest_item, 14, -1, NULL), // Saria's Song + [GI_SUNS_SONG] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909D, 0x00B6, 0x08, no_upgrade, give_quest_item, 15, -1, NULL), // Sun's Song + [GI_SONG_OF_TIME] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909E, 0x00B6, 0x05, no_upgrade, give_quest_item, 16, -1, NULL), // Song of Time + [GI_SONG_OF_STORMS] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x909F, 0x00B6, 0x07, no_upgrade, give_quest_item, 17, -1, NULL), // Song of Storms + + [GI_TYCOONS_WALLET] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x00F8, 0x00D1, 0x23, no_upgrade, give_tycoon_wallet, 3, -1, NULL), // Tycoon's Wallet + [GI_REDUNDANT_LETTER_BOTTLE] = ITEM_ROW(0x53, GILDED_CHEST, 0x14, -1, 0x9099, 0x010B, 0x45, no_upgrade, no_effect, -1, -1, NULL), // Redundant Letter Bottle + [GI_MAGIC_BEAN_PACK] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9048, 0x00F3, 0x3E, no_upgrade, give_bean_pack, -1, -1, NULL), // Magic Bean Pack + [GI_TRIFORCE_PIECE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9003, 0x0193, 0x76, no_upgrade, give_triforce_piece, -1, -1, NULL), // Triforce piece + + [GI_SMALL_KEY_RING_FOREST_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, FOREST_ID, 1, resolve_text_keyrings), // Forest Temple Small Key Ring + [GI_SMALL_KEY_RING_FIRE_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, FIRE_ID, 1, resolve_text_keyrings), // Fire Temple Small Key Ring + [GI_SMALL_KEY_RING_WATER_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, WATER_ID, 1, resolve_text_keyrings), // Water Temple Small Key Ring + [GI_SMALL_KEY_RING_SPIRIT_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, SPIRIT_ID, 1, resolve_text_keyrings), // Spirit Temple Small Key Ring + [GI_SMALL_KEY_RING_SHADOW_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, SHADOW_ID, 1, resolve_text_keyrings), // Shadow Temple Small Key Ring + [GI_SMALL_KEY_RING_BOTTOM_OF_THE_WELL] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, BOTW_ID, 0, resolve_text_keyrings), // Bottom of the Well Small Key Ring + [GI_SMALL_KEY_RING_GERUDO_TRAINING] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, GTG_ID, 0, resolve_text_keyrings), // Gerudo Training Small Key Ring + [GI_SMALL_KEY_RING_THIEVES_HIDEOUT] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, FORT_ID, 0, resolve_text_keyrings), // Thieves' Hideout Small Key Ring + [GI_SMALL_KEY_RING_GANONS_CASTLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, CASTLE_ID, 0, resolve_text_keyrings), // Ganon's Castle Small Key Ring + + [GI_BOMBCHU_BAG_20] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9019, 0x0197, 0x7E, no_upgrade, give_bombchus, 20, -1, NULL), // Bombchu Bag (20) + [GI_BOMBCHU_BAG_10] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9019, 0x0197, 0x7E, no_upgrade, give_bombchus, 10, -1, NULL), // Bombchu Bag (10) + [GI_BOMBCHU_BAG_5] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9019, 0x0197, 0x7E, no_upgrade, give_bombchus, 5, -1, NULL), // Bombchu Bag (5) + + [GI_SMALL_KEY_RING_TREASURE_CHEST_GAME] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x9200, 0x0195, 0x77, no_upgrade, give_small_key_ring, TCG_ID, 0, resolve_text_keyrings), // Treasure Chest Game Small Key Ring + + [GI_SILVER_RUPEE_DODONGOS_CAVERN_STAIRCASE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901B, 0x0198, 0x72, no_upgrade, give_silver_rupee, DODONGO_ID, 0x00, resolve_text_silver_rupees), // Silver Rupee (Dodongos Cavern Staircase) + [GI_SILVER_RUPEE_ICE_CAVERN_SPINNING_SCYTHE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901C, 0x0198, 0x72, no_upgrade, give_silver_rupee, ICE_ID, 0x01, resolve_text_silver_rupees), // Silver Rupee (Ice Cavern Spinning Scythe) + [GI_SILVER_RUPEE_ICE_CAVERN_PUSH_BLOCK] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901D, 0x0198, 0x72, no_upgrade, give_silver_rupee, ICE_ID, 0x02, resolve_text_silver_rupees), // Silver Rupee (Ice Cavern Push Block) + [GI_SILVER_RUPEE_BOTTOM_OF_THE_WELL_BASEMENT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901E, 0x0198, 0x72, no_upgrade, give_silver_rupee, BOTW_ID, 0x03, resolve_text_silver_rupees), // Silver Rupee (Bottom of the Well Basement) + [GI_SILVER_RUPEE_SHADOW_TEMPLE_SCYTHE_SHORTCUT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x901F, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x04, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Scythe Shortcut) + [GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_BLADES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9020, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x05, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Invisible Blades) + [GI_SILVER_RUPEE_SHADOW_TEMPLE_HUGE_PIT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9021, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x06, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Huge Pit) + [GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_SPIKES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9022, 0x0198, 0x72, no_upgrade, give_silver_rupee, SHADOW_ID, 0x07, resolve_text_silver_rupees), // Silver Rupee (Shadow Temple Invisible Spikes) + [GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_SLOPES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9023, 0x0198, 0x72, no_upgrade, give_silver_rupee, GTG_ID, 0x08, resolve_text_silver_rupees), // Silver Rupee (Gerudo Training Ground Slopes) + [GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_LAVA] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9024, 0x0198, 0x72, no_upgrade, give_silver_rupee, GTG_ID, 0x09, resolve_text_silver_rupees), // Silver Rupee (Gerudo Training Ground Lava) + [GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_WATER] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9025, 0x0198, 0x72, no_upgrade, give_silver_rupee, GTG_ID, 0x0A, resolve_text_silver_rupees), // Silver Rupee (Gerudo Training Ground Water) + [GI_SILVER_RUPEE_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9026, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0B, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Child Early Torches) + [GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_BOULDERS] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9027, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0C, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Adult Boulders) + [GI_SILVER_RUPEE_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9028, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0D, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Lobby and Lower Adult) + [GI_SILVER_RUPEE_SPIRIT_TEMPLE_SUN_BLOCK] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9029, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0E, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Sun Block) + [GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_CLIMB] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902A, 0x0198, 0x72, no_upgrade, give_silver_rupee, SPIRIT_ID, 0x0F, resolve_text_silver_rupees), // Silver Rupee (Spirit Temple Adult Climb) + [GI_SILVER_RUPEE_GANONS_CASTLE_SPIRIT_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902B, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x10, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Spirit Trial) + [GI_SILVER_RUPEE_GANONS_CASTLE_LIGHT_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902C, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x11, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Light Trial) + [GI_SILVER_RUPEE_GANONS_CASTLE_FIRE_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902D, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x12, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Fire Trial) + [GI_SILVER_RUPEE_GANONS_CASTLE_SHADOW_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902E, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x13, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Shadow Trial) + [GI_SILVER_RUPEE_GANONS_CASTLE_WATER_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x902F, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x14, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Water Trial) + [GI_SILVER_RUPEE_GANONS_CASTLE_FOREST_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x85, -1, 0x9030, 0x0198, 0x72, no_upgrade, give_silver_rupee, CASTLE_ID, 0x15, resolve_text_silver_rupees), // Silver Rupee (Ganons Castle Forest Trial) + + [GI_SILVER_RUPEE_POUCH_DODONGOS_CAVERN_STAIRCASE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901B, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, DODONGO_ID, 0x00, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Dodongos Cavern Staircase) + [GI_SILVER_RUPEE_POUCH_ICE_CAVERN_SPINNING_SCYTHE] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901C, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, ICE_ID, 0x01, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ice Cavern Spinning Scythe) + [GI_SILVER_RUPEE_POUCH_ICE_CAVERN_PUSH_BLOCK] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901D, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, ICE_ID, 0x02, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ice Cavern Push Block) + [GI_SILVER_RUPEE_POUCH_BOTTOM_OF_THE_WELL_BASEMENT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901E, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, BOTW_ID, 0x03, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Bottom of the Well Basement) + [GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_SCYTHE_SHORTCUT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x901F, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x04, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Scythe Shortcut) + [GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_BLADES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9020, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x05, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Invisible Blades) + [GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_HUGE_PIT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9021, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x06, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Huge Pit) + [GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_SPIKES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9022, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SHADOW_ID, 0x07, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Shadow Temple Invisible Spikes) + [GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_SLOPES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9023, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, GTG_ID, 0x08, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Gerudo Training Ground Slopes) + [GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_LAVA] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9024, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, GTG_ID, 0x09, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Gerudo Training Ground Lava) + [GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_WATER] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9025, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, GTG_ID, 0x0A, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Gerudo Training Ground Water) + [GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9026, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0B, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Child Early Torches) + [GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_BOULDERS] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9027, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0C, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Adult Boulders) + [GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9028, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0D, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Lobby and Lower Adult) + [GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_SUN_BLOCK] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9029, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0E, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Sun Block) + [GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_CLIMB] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902A, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, SPIRIT_ID, 0x0F, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Spirit Temple Adult Climb) + [GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SPIRIT_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902B, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x10, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Spirit Trial) + [GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_LIGHT_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902C, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x11, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Light Trial) + [GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FIRE_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902D, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x12, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Fire Trial) + [GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SHADOW_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902E, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x13, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Shadow Trial) + [GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_WATER_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x902F, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x14, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Water Trial) + [GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FOREST_TRIAL] = ITEM_ROW(0x4D, SILVER_CHEST, 0x41, -1, 0x9030, 0x00D1, 0x7F, no_upgrade, give_silver_rupee_pouch, CASTLE_ID, 0x15, resolve_text_silver_rupee_pouches), // Silver Rupee Pouch (Ganons Castle Forest Trial) // Ocarina button models - [0x0104] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908C, 0x01A8, 0x90, no_upgrade, unlock_ocarina_note, 0, -1, NULL), // Ocarina A - [0x0105] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908D, 0x01AA, 0x91, no_upgrade, unlock_ocarina_note, 1, -1, NULL), // Ocarina C up - [0x0106] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908E, 0x01AA, 0x92, no_upgrade, unlock_ocarina_note, 2, -1, NULL), // Ocarina C down - [0x0107] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908F, 0x01A9, 0x93, no_upgrade, unlock_ocarina_note, 3, -1, NULL), // Ocarina C left - [0x0108] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9090, 0x01A9, 0x94, no_upgrade, unlock_ocarina_note, 4, -1, NULL), // Ocarina C right + [GI_OCARINA_BUTTON_A] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908C, 0x01A8, 0x90, no_upgrade, unlock_ocarina_note, 0, -1, NULL), // Ocarina A + [GI_OCARINA_BUTTON_C_UP] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908D, 0x01AA, 0x91, no_upgrade, unlock_ocarina_note, 1, -1, NULL), // Ocarina C up + [GI_OCARINA_BUTTON_C_DOWN] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908E, 0x01AA, 0x92, no_upgrade, unlock_ocarina_note, 2, -1, NULL), // Ocarina C down + [GI_OCARINA_BUTTON_C_LEFT] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x908F, 0x01A9, 0x93, no_upgrade, unlock_ocarina_note, 3, -1, NULL), // Ocarina C left + [GI_OCARINA_BUTTON_C_RIGHT] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x9090, 0x01A9, 0x94, no_upgrade, unlock_ocarina_note, 4, -1, NULL), // Ocarina C right // Custom Key Models - [0x0109] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0006, 0x01A3, 0x8A, no_upgrade, give_dungeon_item, 0x01, FOREST_ID, NULL), // Forest Temple Boss Key - [0x010A] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001C, 0x01A4, 0x8B, no_upgrade, give_dungeon_item, 0x01, FIRE_ID, NULL), // Fire Temple Boss Key - [0x010B] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001D, 0x01A5, 0x8C, no_upgrade, give_dungeon_item, 0x01, WATER_ID, NULL), // Water Temple Boss Key - [0x010C] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001E, 0x01A6, 0x8D, no_upgrade, give_dungeon_item, 0x01, SPIRIT_ID, NULL), // Spirit Temple Boss Key - [0x010D] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x002A, 0x01A7, 0x8E, no_upgrade, give_dungeon_item, 0x01, SHADOW_ID, NULL), // Shadow Temple Boss Key - [0x010E] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0061, 0x00B9, 0x8F, no_upgrade, give_dungeon_item, 0x01, TOWER_ID, NULL), // Ganon's Castle Boss Key - - [0x010F] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0093, 0x0199, 0x80, no_upgrade, give_small_key, FOREST_ID, -1, resolve_text_small_keys), // Forest Temple Small Key - [0x0110] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0094, 0x019A, 0x81, no_upgrade, give_small_key, FIRE_ID, -1, resolve_text_small_keys), // Fire Temple Small Key - [0x0111] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0095, 0x019B, 0x82, no_upgrade, give_small_key, WATER_ID, -1, resolve_text_small_keys), // Water Temple Small Key - [0x0112] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A6, 0x019C, 0x83, no_upgrade, give_small_key, SPIRIT_ID, -1, resolve_text_small_keys), // Spirit Temple Small Key - [0x0113] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A9, 0x019D, 0x84, no_upgrade, give_small_key, SHADOW_ID, -1, resolve_text_small_keys), // Shadow Temple Small Key - [0x0114] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009B, 0x019E, 0x85, no_upgrade, give_small_key, BOTW_ID, -1, resolve_text_small_keys), // Bottom of the Well Small Key - [0x0115] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009F, 0x019F, 0x86, no_upgrade, give_small_key, GTG_ID, -1, resolve_text_small_keys), // Gerudo Training Small Key - [0x0116] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A0, 0x01A0, 0x87, no_upgrade, give_small_key, FORT_ID, -1, resolve_text_small_keys), // Thieves' Hideout Small Key - [0x0117] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A1, 0x01A1, 0x88, no_upgrade, give_small_key, CASTLE_ID, -1, resolve_text_small_keys), // Ganon's Castle Small Key - [0x0118] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00F3, 0x01A2, 0x89, no_upgrade, give_small_key, TCG_ID, -1, resolve_text_small_keys_cmg), // Small Key (Chest Game) - - [0x0130] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90B4, 0x00DB, 0x95, no_upgrade, give_progressive_scale, 0, -1, NULL), // Bronze Scale + [GI_BOSS_KEY_MODEL_FOREST_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0006, 0x01A3, 0x8A, no_upgrade, give_dungeon_item, 0x01, FOREST_ID, NULL), // Forest Temple Boss Key + [GI_BOSS_KEY_MODEL_FIRE_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001C, 0x01A4, 0x8B, no_upgrade, give_dungeon_item, 0x01, FIRE_ID, NULL), // Fire Temple Boss Key + [GI_BOSS_KEY_MODEL_WATER_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001D, 0x01A5, 0x8C, no_upgrade, give_dungeon_item, 0x01, WATER_ID, NULL), // Water Temple Boss Key + [GI_BOSS_KEY_MODEL_SPIRIT_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x001E, 0x01A6, 0x8D, no_upgrade, give_dungeon_item, 0x01, SPIRIT_ID, NULL), // Spirit Temple Boss Key + [GI_BOSS_KEY_MODEL_SHADOW_TEMPLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x002A, 0x01A7, 0x8E, no_upgrade, give_dungeon_item, 0x01, SHADOW_ID, NULL), // Shadow Temple Boss Key + [GI_BOSS_KEY_MODEL_GANONS_CASTLE] = ITEM_ROW(0x53, GOLD_CHEST, 0x41, -1, 0x0061, 0x00B9, 0x8F, no_upgrade, give_dungeon_item, 0x01, TOWER_ID, NULL), // Ganon's Castle Boss Key + + [GI_SMALL_KEY_MODEL_FOREST_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0093, 0x0199, 0x80, no_upgrade, give_small_key, FOREST_ID, -1, resolve_text_small_keys), // Forest Temple Small Key + [GI_SMALL_KEY_MODEL_FIRE_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0094, 0x019A, 0x81, no_upgrade, give_small_key, FIRE_ID, -1, resolve_text_small_keys), // Fire Temple Small Key + [GI_SMALL_KEY_MODEL_WATER_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x0095, 0x019B, 0x82, no_upgrade, give_small_key, WATER_ID, -1, resolve_text_small_keys), // Water Temple Small Key + [GI_SMALL_KEY_MODEL_SPIRIT_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A6, 0x019C, 0x83, no_upgrade, give_small_key, SPIRIT_ID, -1, resolve_text_small_keys), // Spirit Temple Small Key + [GI_SMALL_KEY_MODEL_SHADOW_TEMPLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A9, 0x019D, 0x84, no_upgrade, give_small_key, SHADOW_ID, -1, resolve_text_small_keys), // Shadow Temple Small Key + [GI_SMALL_KEY_MODEL_BOTTOM_OF_THE_WELL] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009B, 0x019E, 0x85, no_upgrade, give_small_key, BOTW_ID, -1, resolve_text_small_keys), // Bottom of the Well Small Key + [GI_SMALL_KEY_MODEL_GERUDO_TRAINING] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x009F, 0x019F, 0x86, no_upgrade, give_small_key, GTG_ID, -1, resolve_text_small_keys), // Gerudo Training Small Key + [GI_SMALL_KEY_MODEL_THIEVES_HIDEOUT] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A0, 0x01A0, 0x87, no_upgrade, give_small_key, FORT_ID, -1, resolve_text_small_keys), // Thieves' Hideout Small Key + [GI_SMALL_KEY_MODEL_GANONS_CASTLE] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00A1, 0x01A1, 0x88, no_upgrade, give_small_key, CASTLE_ID, -1, resolve_text_small_keys), // Ganon's Castle Small Key + [GI_SMALL_KEY_MODEL_CHEST_GAME] = ITEM_ROW(0x53, SILVER_CHEST, 0x41, -1, 0x00F3, 0x01A2, 0x89, no_upgrade, give_small_key, TCG_ID, -1, resolve_text_small_keys_cmg), // Small Key (Chest Game) + + [GI_FAIRY] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x90B4, 0x0177, 0x9E, no_upgrade, full_heal, -1, -1, NULL), // Fairy + [GI_NOTHING] = ITEM_ROW(0x53, BROWN_CHEST, 0x41, -1, 0x90B5, 0x0177, 0x9F, no_upgrade, no_effect, -1, -1, NULL), // Nothing :) + + // 0x011B through 0x0126 reserved for https://github.com/OoTRandomizer/OoT-Randomizer/pull/2108 + + [GI_KOKIRI_EMERALD] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x0080, 0x01AB, 0x9B, no_upgrade, give_quest_item, 18, -1, NULL), // Kokiri Emerald + [GI_GORON_RUBY] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x0081, 0x01AC, 0x9C, no_upgrade, give_quest_item, 19, -1, NULL), // Goron Ruby + [GI_ZORA_SAPPHIRE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x0082, 0x01AD, 0x9D, no_upgrade, give_quest_item, 20, -1, NULL), // Zora Sapphire + [GI_LIGHT_MEDALLION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x0040, 0x01AE, 0x95, no_upgrade, give_quest_item, 5, -1, NULL), // Light Medallion + [GI_FOREST_MEDALLION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x003E, 0x01AF, 0x96, no_upgrade, give_quest_item, 0, -1, NULL), // Forest Medallion + [GI_FIRE_MEDALLION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x003C, 0x01B0, 0x97, no_upgrade, give_quest_item, 1, -1, NULL), // Fire Medallion + [GI_WATER_MEDALLION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x003D, 0x01B1, 0x98, no_upgrade, give_quest_item, 2, -1, NULL), // Water Medallion + [GI_SHADOW_MEDALLION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x0041, 0x01B2, 0x99, no_upgrade, give_quest_item, 4, -1, NULL), // Shadow Medallion + [GI_SPIRIT_MEDALLION] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x003F, 0x01B3, 0x9A, no_upgrade, give_quest_item, 3, -1, NULL), // Spirit Medallion + + [GI_SCALE_BRONZE] = ITEM_ROW(0x53, GILDED_CHEST, 0x41, -1, 0x90B6, 0x00DB, 0xA1, no_upgrade, give_progressive_scale, 0, -1, NULL), // Bronze Scale }; /* Determine which message to display based on the number of silver rupees collected. @@ -417,6 +437,7 @@ uint16_t resolve_text_small_keys_cmg(item_row_t* item_row, bool is_outgoing) { uint16_t resolve_text_keyrings(item_row_t* item_row, bool is_outgoing) { int16_t dungeon_id = item_row->effect_arg1; int16_t has_boss_key = item_row->effect_arg2; + if (has_boss_key && KEYRING_BOSSKEY_CONDITION) { return item_row->text_id + dungeon_id + 14; } @@ -424,7 +445,7 @@ uint16_t resolve_text_keyrings(item_row_t* item_row, bool is_outgoing) { } item_row_t* get_item_row(uint16_t item_id) { - if (item_id >= array_size(item_table)) { + if (item_id >= GI_RANDO_MAX) { return NULL; } item_row_t* item_row = &(item_table[item_id]); diff --git a/ASM/c/item_table.h b/ASM/c/item_table.h index 207254d29b..297ac232fb 100644 --- a/ASM/c/item_table.h +++ b/ASM/c/item_table.h @@ -6,6 +6,348 @@ #include "get_items.h" #include "z64.h" +// Enum that indexes into item_table. +// Please update comments accordingly when adding new entries +typedef enum GetItemID { + /* 0x0000 */ GI_NONE, + /* 0x0001 */ GI_BOMBS_5, // Bombs (5) + /* 0x0002 */ GI_DEKU_NUTS_5, // Deku Nuts (5) + /* 0x0003 */ GI_BOMBCHUS_10, // Bombchu (10) + /* 0x0004 */ GI_BOW, // Fairy Bow + /* 0x0005 */ GI_SLINGSHOT, // Fairy Slingshot + /* 0x0006 */ GI_BOOMERANG, // Boomerang + /* 0x0007 */ GI_DEKU_STICKS_1, // Deku Stick + /* 0x0008 */ GI_HOOKSHOT, // Hookshot + /* 0x0009 */ GI_LONGSHOT, // Longshot + /* 0x000A */ GI_LENS_OF_TRUTH, // Lens of Truth + /* 0x000B */ GI_ZELDAS_LETTER, // Zelda's Letter + /* 0x000C */ GI_OCARINA_OF_TIME, // Ocarina of Time + /* 0x000D */ GI_HAMMER, // Megaton Hammer + /* 0x000E */ GI_COJIRO, // Cojiro + + /* 0x000F */ GI_BOTTLE_EMPTY, // Empty Bottle + /* 0x0010 */ GI_BOTTLE_POTION_RED, // Red Potion + /* 0x0011 */ GI_BOTTLE_POTION_GREEN, // Green Potion + /* 0x0012 */ GI_BOTTLE_POTION_BLUE, // Blue Potion + /* 0x0013 */ GI_BOTTLE_FAIRY, // Bottled Fairy + /* 0x0014 */ GI_BOTTLE_MILK_FULL, // Bottled Lon Lon Milk + /* 0x0015 */ GI_BOTTLE_RUTOS_LETTER, // Bottled Ruto's Letter + + /* 0x0016 */ GI_MAGIC_BEAN, // Magic Bean + /* 0x0017 */ GI_MASK_SKULL, // Skull Mask + /* 0x0018 */ GI_MASK_SPOOKY, // Spooky Mask + /* 0x0019 */ GI_CHICKEN, // Chicken + /* 0x001A */ GI_MASK_KEATON, // Keaton Mask + /* 0x001B */ GI_MASK_BUNNY_HOOD, // Bunny Hood + /* 0x001C */ GI_MASK_TRUTH, // Mask of Truth + /* 0x001D */ GI_POCKET_EGG, // Pocket Egg + /* 0x001E */ GI_POCKET_CUCCO, // Pocket Cucco + /* 0x001F */ GI_ODD_MUSHROOM, // Odd Mushroom + /* 0x0020 */ GI_ODD_POTION, // Odd Potion + /* 0x0021 */ GI_POACHERS_SAW, // Poacher's Saw + /* 0x0022 */ GI_BROKEN_GORONS_SWORD, // Goron's Sword (Broken) + /* 0x0023 */ GI_PRESCRIPTION, // Prescription + /* 0x0024 */ GI_EYEBALL_FROG, // Eyeball Frog + /* 0x0025 */ GI_EYE_DROPS, // Eye Drops + /* 0x0026 */ GI_CLAIM_CHECK, // Claim Check + /* 0x0027 */ GI_SWORD_KOKIRI, // Kokiri Sword + /* 0x0028 */ GI_SWORD_KNIFE, // Giant's Knife + /* 0x0029 */ GI_SHIELD_DEKU, // Deku Shield + /* 0x002A */ GI_SHIELD_HYLIAN, // Hylian Shield + /* 0x002B */ GI_SHIELD_MIRROR, // Mirror Shield + /* 0x002C */ GI_TUNIC_GORON, // Goron Tunic + /* 0x002D */ GI_TUNIC_ZORA, // Zora Tunic + /* 0x002E */ GI_BOOTS_IRON, // Iron Boots + /* 0x002F */ GI_BOOTS_HOVER, // Hover Boots + /* 0x0030 */ GI_QUIVER_40, // Big Quiver + /* 0x0031 */ GI_QUIVER_50, // Biggest Quiver + /* 0x0032 */ GI_BOMB_BAG_20, // Bomb Bag + /* 0x0033 */ GI_BOMB_BAG_30, // Big Bomb Bag + /* 0x0034 */ GI_BOMB_BAG_40, // Biggest Bomb Bag + /* 0x0035 */ GI_SILVER_GAUNTLETS, // Silver Gauntlets + /* 0x0036 */ GI_GOLD_GAUNTLETS, // Golden Gauntlets + /* 0x0037 */ GI_SCALE_SILVER, // Silver Scale + /* 0x0038 */ GI_SCALE_GOLDEN, // Golden Scale + /* 0x0039 */ GI_STONE_OF_AGONY, // Stone of Agony + /* 0x003A */ GI_GERUDOS_CARD, // Gerudo Membership Card + + /* 0x003B */ GI_OCARINA_FAIRY, // Fairy Ocarina + /* 0x003C */ GI_DEKU_SEEDS_5, // Deku Seeds (5) + /* 0x003D */ GI_HEART_CONTAINER, // Heart Container + /* 0x003E */ GI_HEART_PIECE, // Piece of Heart + /* 0x003F */ GI_BOSS_KEY, // Boss Key + /* 0x0040 */ GI_COMPASS, // Compass + /* 0x0041 */ GI_DUNGEON_MAP, // Map + /* 0x0042 */ GI_SMALL_KEY, // Small Key + /* 0x0043 */ GI_MAGIC_JAR_SMALL, // Small Magic Jar + /* 0x0044 */ GI_MAGIC_JAR_LARGE, // Large Magic Jar + /* 0x0045 */ GI_WALLET_ADULT, // Adult's Wallet + /* 0x0046 */ GI_WALLET_GIANT, // Giant's Wallet + /* 0x0047 */ GI_WEIRD_EGG, // Weird Egg + /* 0x0048 */ GI_RECOVERY_HEART, // Recovery Heart + /* 0x0049 */ GI_ARROWS_5, // Arrows (5) + /* 0x004A */ GI_ARROWS_10, // Arrows (10) + /* 0x004B */ GI_ARROWS_30, // Arrows (30) + /* 0x004C */ GI_RUPEE_GREEN, // Green Rupee + /* 0x004D */ GI_RUPEE_BLUE, // Blue Rupee + /* 0x004E */ GI_RUPEE_RED, // Red Rupee + /* 0x004F */ GI_HEART_CONTAINER_2, // Heart Container + /* 0x0050 */ GI_MILK, // Lon Lon Milk (Refill) + /* 0x0051 */ GI_MASK_GORON, // Goron Mask + /* 0x0052 */ GI_MASK_ZORA, // Zora Mask + /* 0x0053 */ GI_MASK_GERUDO, // Gerudo Mask + /* 0x0054 */ GI_GORONS_BRACELET, // Goron's Bracelet + /* 0x0055 */ GI_RUPEE_PURPLE, // Purple Rupee + /* 0x0056 */ GI_RUPEE_GOLD, // Huge Rupee + /* 0x0057 */ GI_SWORD_BIGGORON, // Biggoron's Sword + /* 0x0058 */ GI_ARROW_FIRE, // Fire Arrow + /* 0x0059 */ GI_ARROW_ICE, // Ice Arrow + /* 0x005A */ GI_ARROW_LIGHT, // Light Arrow + /* 0x005B */ GI_SKULL_TOKEN, // Gold Skulltula Token + /* 0x005C */ GI_DINS_FIRE, // Din's Fire + /* 0x005D */ GI_FARORES_WIND, // Farore's Wind + /* 0x005E */ GI_NAYRUS_LOVE, // Nayru's Love + /* 0x005F */ GI_BULLET_BAG_30, // Bullet Bag (30) + /* 0x0060 */ GI_BULLET_BAG_40, // Bullet Bag (40) + /* 0x0061 */ GI_DEKU_STICKS_5, // Deku Sticks (5) + /* 0x0062 */ GI_DEKU_STICKS_10, // Deku Sticks (10) + /* 0x0063 */ GI_DEKU_NUTS_5_2, // Deku Nuts (5) + /* 0x0064 */ GI_DEKU_NUTS_10, // Deku Nuts (10) + /* 0x0065 */ GI_BOMBS_1, // Bomb + /* 0x0066 */ GI_BOMBS_10, // Bombs (10) + /* 0x0067 */ GI_BOMBS_20, // Bombs (20) + /* 0x0068 */ GI_BOMBS_30, // Bombs (30) + /* 0x0069 */ GI_DEKU_SEEDS_30, // Deku Seeds (30) + /* 0x006A */ GI_BOMBCHUS_5, // Bombchu (5) + /* 0x006B */ GI_BOMBCHUS_20, // Bombchu (20) + /* 0x006C */ GI_BOTTLE_FISH, // Fish (Refill) + /* 0x006D */ GI_BOTTLE_BUGS, // Bugs (Refill) + /* 0x006E */ GI_BOTTLE_BLUE_FIRE, // Blue Fire (Refill) + /* 0x006F */ GI_BOTTLE_POE, // Poe (Refill) + /* 0x0070 */ GI_BOTTLE_BIG_POE, // Big Poe (Refill) + /* 0x0071 */ GI_DOOR_KEY, // Small Key (Chest Game) + /* 0x0072 */ GI_RUPEE_GREEN_LOSE, // Green Rupee (Chest Game) + /* 0x0073 */ GI_RUPEE_BLUE_LOSE, // Blue Rupee (Chest Game) + /* 0x0074 */ GI_RUPEE_RED_LOSE, // Red Rupee (Chest Game) + /* 0x0075 */ GI_RUPEE_PURPLE_LOSE, // Purple Rupee (Chest Game) + /* 0x0076 */ GI_HEART_PIECE_WIN, // Piece of Heart (Chest Game) + /* 0x0077 */ GI_DEKU_STICK_UPGRADE_20, // Deku Stick Upgrade (20) + /* 0x0078 */ GI_DEKU_STICK_UPGRADE_30, // Deku Stick Upgrade (30) + /* 0x0079 */ GI_DEKU_NUT_UPGRADE_30, // Deku Nut Upgrade (30) + /* 0x007A */ GI_DEKU_NUT_UPGRADE_40, // Deku Nut Upgrade (40) + /* 0x007B */ GI_BULLET_BAG_50, // Bullet Bag (50) + /* 0x007C */ GI_ICE_TRAP, // Ice Trap + + /* 0x007D */ GI_TEXT_0, + /* 0x007D */ GI_CAPPED_PIECE_OF_HEART = GI_TEXT_0, // Capped Piece of Heart + /* 0x007E */ GI_VANILLA_MAX, + /* 0x007E */ GI_CAPPED_HEART_CONTAINER = GI_VANILLA_MAX, // Capped Heart Container + + /* 0x007F */ GI_CAPPED_PIECE_OF_HEART_CHESTGAME, // Capped Piece of Heart (Chest Game) + + /* 0x0080 */ GI_PROGRESSIVE_HOOKSHOT, // Progressive Hookshot + /* 0x0081 */ GI_PROGRESSIVE_STRENGTH, // Progressive Strength + /* 0x0082 */ GI_PROGRESSIVE_BOMB_BAG, // Progressive Bomb Bag + /* 0x0083 */ GI_PROGRESSIVE_BOW, // Progressive Bow + /* 0x0084 */ GI_PROGRESSIVE_SLINGSHOT, // Progressive Slingshot + /* 0x0085 */ GI_PROGRESSIVE_WALLET, // Progressive Wallet + /* 0x0086 */ GI_PROGRESSIVE_SCALE, // Progressive Scale + /* 0x0087 */ GI_PROGRESSIVE_NUT_CAPACITY, // Progressive Nut Capacity + /* 0x0088 */ GI_PROGRESSIVE_STICK_CAPACITY, // Progressive Stick Capacity + /* 0x0089 */ GI_PROGRESSIVE_BOMBCHUS, // Progressive Bombchus + /* 0x008A */ GI_PROGRESSIVE_MAGIC_METER, // Progressive Magic Meter + /* 0x008B */ GI_PROGRESSIVE_OCARINA, // Progressive Ocarina + + /* 0x008C */ GI_BOTTLE_WITH_RED_POTION, // Bottle with Red Potion + /* 0x008D */ GI_BOTTLE_WITH_GREEN_POTION, // Bottle with Green Potion + /* 0x008E */ GI_BOTTLE_WITH_BLUE_POTION, // Bottle with Blue Potion + /* 0x008F */ GI_BOTTLE_WITH_FAIRY, // Bottle with Fairy + /* 0x0090 */ GI_BOTTLE_WITH_FISH, // Bottle with Fish + /* 0x0091 */ GI_BOTTLE_WITH_BLUE_FIRE, // Bottle with Blue Fire + /* 0x0092 */ GI_BOTTLE_WITH_BUGS, // Bottle with Bugs + /* 0x0093 */ GI_BOTTLE_WITH_BIG_POE, // Bottle with Big Poe + /* 0x0094 */ GI_BOTTLE_WITH_POE, // Bottle with Poe + + /* 0x0095 */ GI_BOSS_KEY_TEMPLE, + /* 0x0095 */ GI_BOSS_KEY_FOREST_TEMPLE = GI_BOSS_KEY_TEMPLE, // Forest Temple Boss Key + /* 0x0096 */ GI_BOSS_KEY_FIRE_TEMPLE, // Fire Temple Boss Key + /* 0x0097 */ GI_BOSS_KEY_WATER_TEMPLE, // Water Temple Boss Key + /* 0x0098 */ GI_BOSS_KEY_SPIRIT_TEMPLE, // Spirit Temple Boss Key + /* 0x0099 */ GI_BOSS_KEY_SHADOW_TEMPLE, // Shadow Temple Boss Key + /* 0x009A */ GI_BOSS_KEY_GANONS_CASTLE, // Ganon's Castle Boss Key + + /* 0x009B */ GI_COMPASS_DEKU_TREE, // Deku Tree Compass + /* 0x009C */ GI_COMPASS_DODONGOS_CAVERN, // Dodongo's Cavern Compass + /* 0x009D */ GI_COMPASS_JABU_JABU, // Jabu Jabu Compass + /* 0x009E */ GI_COMPASS_FOREST_TEMPLE, // Forest Temple Compass + /* 0x009F */ GI_COMPASS_FIRE_TEMPLE, // Fire Temple Compass + /* 0x00A0 */ GI_COMPASS_WATER_TEMPLE, // Water Temple Compass + /* 0x00A1 */ GI_COMPASS_SPIRIT_TEMPLE, // Spirit Temple Compass + /* 0x00A2 */ GI_COMPASS_SHADOW_TEMPLE, // Shadow Temple Compass + /* 0x00A3 */ GI_COMPASS_BOTTOM_OF_THE_WELL, // Bottom of the Well Compass + /* 0x00A4 */ GI_COMPASS_ICE_CAVERN, // Ice Cavern Compass + + /* 0x00A5 */ GI_MAP_DEKU_TREE, // Deku Tree Map + /* 0x00A6 */ GI_MAP_DODONGOS_CAVERN, // Dodongo's Cavern Map + /* 0x00A7 */ GI_MAP_JABU_JABU, // Jabu Jabu Map + /* 0x00A8 */ GI_MAP_FOREST_TEMPLE, // Forest Temple Map + /* 0x00A9 */ GI_MAP_FIRE_TEMPLE, // Fire Temple Map + /* 0x00AA */ GI_MAP_WATER_TEMPLE, // Water Temple Map + /* 0x00AB */ GI_MAP_SPIRIT_TEMPLE, // Spirit Temple Map + /* 0x00AC */ GI_MAP_SHADOW_TEMPLE, // Shadow Temple Map + /* 0x00AD */ GI_MAP_BOTTOM_OF_THE_WELL, // Bottom of the Well Map + /* 0x00AE */ GI_MAP_ICE_CAVERN, // Ice Cavern Map + + /* 0x00AF */ GI_SMALL_KEY_MIN, + /* 0x00AF */ GI_SMALL_KEY_FOREST_TEMPLE = GI_SMALL_KEY_MIN, // Forest Temple Small Key + /* 0x00B0 */ GI_SMALL_KEY_FIRE_TEMPLE, // Fire Temple Small Key + /* 0x00B1 */ GI_SMALL_KEY_WATER_TEMPLE, // Water Temple Small Key + /* 0x00B2 */ GI_SMALL_KEY_SPIRIT_TEMPLE, // Spirit Temple Small Key + /* 0x00B3 */ GI_SMALL_KEY_SHADOW_TEMPLE, // Shadow Temple Small Key + /* 0x00B4 */ GI_SMALL_KEY_BOTTOM_OF_THE_WELL, // Bottom of the Well Small Key + /* 0x00B5 */ GI_SMALL_KEY_GERUDO_TRAINING, // Gerudo Training Small Key + /* 0x00B6 */ GI_SMALL_KEY_THIEVES_HIDEOUT, // Thieves' Hideout Small Key + /* 0x00AF */ GI_SMALL_KEY_MAX, + /* 0x00B7 */ GI_SMALL_KEY_GANONS_CASTLE = GI_SMALL_KEY_MAX, // Ganon's Castle Small Key + + /* 0x00B8 */ GI_DOUBLE_DEFENSE, // Double Defense + /* 0x00B9 */ GI_MAGIC_METER, // Magic Meter + /* 0x00BA */ GI_DOUBLE_MAGIC, // Double Magic + + /* 0x00BB */ GI_MINUET_OF_FOREST, // Minuet of Forest + /* 0x00BC */ GI_BOLERO_OF_FIRE, // Bolero of Fire + /* 0x00BD */ GI_SERENADE_OF_WATER, // Serenade of Water + /* 0x00BE */ GI_REQUIEM_OF_SPIRIT, // Requiem of Spirit + /* 0x00BF */ GI_NOCTURNE_OF_SHADOW, // Nocturne of Shadow + /* 0x00C0 */ GI_PRELUDE_OF_LIGHT, // Prelude of Light + + /* 0x00C1 */ GI_ZELDAS_LULLABY, // Zelda's Lullaby + /* 0x00C2 */ GI_EPONAS_SONG, // Epona's Song + /* 0x00C3 */ GI_SARIAS_SONG, // Saria's Song + /* 0x00C4 */ GI_SUNS_SONG, // Sun's Song + /* 0x00C5 */ GI_SONG_OF_TIME, // Song of Time + /* 0x00C6 */ GI_SONG_OF_STORMS, // Song of Storms + + /* 0x00C7 */ GI_TYCOONS_WALLET, // Tycoon's Wallet + /* 0x00C8 */ GI_REDUNDANT_LETTER_BOTTLE, // Redundant Letter Bottle + /* 0x00C9 */ GI_MAGIC_BEAN_PACK, // Magic Bean Pack + /* 0x00CA */ GI_TRIFORCE_PIECE, // Triforce piece + + /* 0x00CB */ GI_SMALL_KEY_RING_TEMPLE_MIN, + /* 0x00CB */ GI_SMALL_KEY_RING_FOREST_TEMPLE = GI_SMALL_KEY_RING_TEMPLE_MIN, // Forest Temple Small Key Ring + /* 0x00CC */ GI_SMALL_KEY_RING_FIRE_TEMPLE, // Fire Temple Small Key Ring + /* 0x00CD */ GI_SMALL_KEY_RING_WATER_TEMPLE, // Water Temple Small Key Ring + /* 0x00CE */ GI_SMALL_KEY_RING_SPIRIT_TEMPLE, // Spirit Temple Small Key Ring + /* 0x00CF */ GI_SMALL_KEY_RING_TEMPLE_MAX, + /* 0x00CF */ GI_SMALL_KEY_RING_SHADOW_TEMPLE = GI_SMALL_KEY_RING_TEMPLE_MAX, // Shadow Temple Small Key Ring + /* 0x00D0 */ GI_SMALL_KEY_RING_BOTTOM_OF_THE_WELL, // Bottom of the Well Small Key Ring + /* 0x00D1 */ GI_SMALL_KEY_RING_GERUDO_TRAINING, // Gerudo Training Small Key Ring + /* 0x00D2 */ GI_SMALL_KEY_RING_THIEVES_HIDEOUT, // Thieves' Hideout Small Key Ring + /* 0x00D3 */ GI_SMALL_KEY_RING_GANONS_CASTLE, // Ganon's Castle Small Key Ring + + /* 0x00D4 */ GI_BOMBCHU_BAG_20, // Bombchu Bag (20) + /* 0x00D5 */ GI_BOMBCHU_BAG_10, // Bombchu Bag (10) + /* 0x00D6 */ GI_BOMBCHU_BAG_5, // Bombchu Bag (5) + + /* 0x00D7 */ GI_SMALL_KEY_RING_TREASURE_CHEST_GAME, // Treasure Chest Game Small Key Ring + + /* 0x00D8 */ GI_SILVER_RUPEE_DODONGOS_CAVERN_STAIRCASE, // Silver Rupee (Dodongos Cavern Staircase) + /* 0x00D9 */ GI_SILVER_RUPEE_ICE_CAVERN_SPINNING_SCYTHE, // Silver Rupee (Ice Cavern Spinning Scythe) + /* 0x00DA */ GI_SILVER_RUPEE_ICE_CAVERN_PUSH_BLOCK, // Silver Rupee (Ice Cavern Push Block) + /* 0x00DB */ GI_SILVER_RUPEE_BOTTOM_OF_THE_WELL_BASEMENT, // Silver Rupee (Bottom of the Well Basement) + /* 0x00DC */ GI_SILVER_RUPEE_SHADOW_TEMPLE_SCYTHE_SHORTCUT, // Silver Rupee (Shadow Temple Scythe Shortcut) + /* 0x00DD */ GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_BLADES, // Silver Rupee (Shadow Temple Invisible Blades) + /* 0x00DE */ GI_SILVER_RUPEE_SHADOW_TEMPLE_HUGE_PIT, // Silver Rupee (Shadow Temple Huge Pit) + /* 0x00DF */ GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_SPIKES, // Silver Rupee (Shadow Temple Invisible Spikes) + /* 0x00E0 */ GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_SLOPES, // Silver Rupee (Gerudo Training Ground Slopes) + /* 0x00E1 */ GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_LAVA, // Silver Rupee (Gerudo Training Ground Lava) + /* 0x00E2 */ GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_WATER, // Silver Rupee (Gerudo Training Ground Water) + /* 0x00E3 */ GI_SILVER_RUPEE_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES, // Silver Rupee (Spirit Temple Child Early Torches) + /* 0x00E4 */ GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_BOULDERS, // Silver Rupee (Spirit Temple Adult Boulders) + /* 0x00E5 */ GI_SILVER_RUPEE_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT, // Silver Rupee (Spirit Temple Lobby and Lower Adult) + /* 0x00E6 */ GI_SILVER_RUPEE_SPIRIT_TEMPLE_SUN_BLOCK, // Silver Rupee (Spirit Temple Sun Block) + /* 0x00E7 */ GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_CLIMB, // Silver Rupee (Spirit Temple Adult Climb) + /* 0x00E8 */ GI_SILVER_RUPEE_GANONS_CASTLE_SPIRIT_TRIAL, // Silver Rupee (Ganons Castle Spirit Trial) + /* 0x00E9 */ GI_SILVER_RUPEE_GANONS_CASTLE_LIGHT_TRIAL, // Silver Rupee (Ganons Castle Light Trial) + /* 0x00EA */ GI_SILVER_RUPEE_GANONS_CASTLE_FIRE_TRIAL, // Silver Rupee (Ganons Castle Fire Trial) + /* 0x00EB */ GI_SILVER_RUPEE_GANONS_CASTLE_SHADOW_TRIAL, // Silver Rupee (Ganons Castle Shadow Trial) + /* 0x00EC */ GI_SILVER_RUPEE_GANONS_CASTLE_WATER_TRIAL, // Silver Rupee (Ganons Castle Water Trial) + /* 0x00ED */ GI_SILVER_RUPEE_GANONS_CASTLE_FOREST_TRIAL, // Silver Rupee (Ganons Castle Forest Trial) + + /* 0x00EE */ GI_SILVER_RUPEE_POUCH_DODONGOS_CAVERN_STAIRCASE, // Silver Rupee Pouch (Dodongos Cavern Staircase) + /* 0x00EF */ GI_SILVER_RUPEE_POUCH_ICE_CAVERN_SPINNING_SCYTHE, // Silver Rupee Pouch (Ice Cavern Spinning Scythe) + /* 0x00F0 */ GI_SILVER_RUPEE_POUCH_ICE_CAVERN_PUSH_BLOCK, // Silver Rupee Pouch (Ice Cavern Push Block) + /* 0x00F1 */ GI_SILVER_RUPEE_POUCH_BOTTOM_OF_THE_WELL_BASEMENT, // Silver Rupee Pouch (Bottom of the Well Basement) + /* 0x00F2 */ GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_SCYTHE_SHORTCUT, // Silver Rupee Pouch (Shadow Temple Scythe Shortcut) + /* 0x00F3 */ GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_BLADES, // Silver Rupee Pouch (Shadow Temple Invisible Blades) + /* 0x00F4 */ GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_HUGE_PIT, // Silver Rupee Pouch (Shadow Temple Huge Pit) + /* 0x00F5 */ GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_SPIKES, // Silver Rupee Pouch (Shadow Temple Invisible Spikes) + /* 0x00F6 */ GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_SLOPES, // Silver Rupee Pouch (Gerudo Training Ground Slopes) + /* 0x00F7 */ GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_LAVA, // Silver Rupee Pouch (Gerudo Training Ground Lava) + /* 0x00F8 */ GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_WATER, // Silver Rupee Pouch (Gerudo Training Ground Water) + /* 0x00F9 */ GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES, // Silver Rupee Pouch (Spirit Temple Child Early Torches) + /* 0x00FA */ GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_BOULDERS, // Silver Rupee Pouch (Spirit Temple Adult Boulders) + /* 0x00FB */ GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT, // Silver Rupee Pouch (Spirit Temple Lobby and Lower Adult) + /* 0x00FC */ GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_SUN_BLOCK, // Silver Rupee Pouch (Spirit Temple Sun Block) + /* 0x00FD */ GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_CLIMB, // Silver Rupee Pouch (Spirit Temple Adult Climb) + /* 0x00FE */ GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SPIRIT_TRIAL, // Silver Rupee Pouch (Ganons Castle Spirit Trial) + /* 0x00FF */ GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_LIGHT_TRIAL, // Silver Rupee Pouch (Ganons Castle Light Trial) + /* 0x0100 */ GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FIRE_TRIAL, // Silver Rupee Pouch (Ganons Castle Fire Trial) + /* 0x0101 */ GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SHADOW_TRIAL, // Silver Rupee Pouch (Ganons Castle Shadow Trial) + /* 0x0102 */ GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_WATER_TRIAL, // Silver Rupee Pouch (Ganons Castle Water Trial) + /* 0x0103 */ GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FOREST_TRIAL, // Silver Rupee Pouch (Ganons Castle Forest Trial) + + // Ocarina button models + /* 0x0104 */ GI_OCARINA_BUTTON_A, // Ocarina A + /* 0x0105 */ GI_OCARINA_BUTTON_C_UP, // Ocarina C up + /* 0x0106 */ GI_OCARINA_BUTTON_C_DOWN, // Ocarina C down + /* 0x0107 */ GI_OCARINA_BUTTON_C_LEFT, // Ocarina C left + /* 0x0108 */ GI_OCARINA_BUTTON_C_RIGHT, // Ocarina C right + + // Custom Key Models + /* 0x0109 */ GI_BOSS_KEY_MODEL_MIN, + /* 0x0109 */ GI_BOSS_KEY_MODEL_FOREST_TEMPLE = GI_BOSS_KEY_MODEL_MIN, // Forest Temple Boss Key + /* 0x010A */ GI_BOSS_KEY_MODEL_FIRE_TEMPLE, // Fire Temple Boss Key + /* 0x010B */ GI_BOSS_KEY_MODEL_WATER_TEMPLE, // Water Temple Boss Key + /* 0x010C */ GI_BOSS_KEY_MODEL_SPIRIT_TEMPLE, // Spirit Temple Boss Key + /* 0x010D */ GI_BOSS_KEY_MODEL_SHADOW_TEMPLE, // Shadow Temple Boss Key + /* 0x010E */ GI_BOSS_KEY_MODEL_GANONS_CASTLE, // Ganon's Castle Boss Key + /* 0x010F */ GI_SMALL_KEY_MODEL_MIN, + /* 0x010F */ GI_SMALL_KEY_MODEL_FOREST_TEMPLE = GI_SMALL_KEY_MODEL_MIN, // Forest Temple Small Key + /* 0x0110 */ GI_SMALL_KEY_MODEL_FIRE_TEMPLE, // Fire Temple Small Key + /* 0x0111 */ GI_SMALL_KEY_MODEL_WATER_TEMPLE, // Water Temple Small Key + /* 0x0112 */ GI_SMALL_KEY_MODEL_SPIRIT_TEMPLE, // Spirit Temple Small Key + /* 0x0113 */ GI_SMALL_KEY_MODEL_SHADOW_TEMPLE, // Shadow Temple Small Key + /* 0x0114 */ GI_SMALL_KEY_MODEL_BOTTOM_OF_THE_WELL, // Bottom of the Well Small Key + /* 0x0115 */ GI_SMALL_KEY_MODEL_GERUDO_TRAINING, // Gerudo Training Small Key + /* 0x0116 */ GI_SMALL_KEY_MODEL_THIEVES_HIDEOUT, // Thieves' Hideout Small Key + /* 0x0117 */ GI_SMALL_KEY_MODEL_MAX, + /* 0x0117 */ GI_SMALL_KEY_MODEL_GANONS_CASTLE = GI_SMALL_KEY_MODEL_MAX, // Ganon's Castle Small Key + /* 0x0118 */ GI_SMALL_KEY_MODEL_CHEST_GAME, // Small Key (Chest Game) + + /* 0x0119 */ GI_FAIRY, + /* 0x011A */ GI_NOTHING, + + // 0x011B through 0x0126 reserved for https://github.com/OoTRandomizer/OoT-Randomizer/pull/2108 + + // TODO: remove hardcoded value when that PR gets merged + /* 0x0127 */ GI_KOKIRI_EMERALD = 0x0127, + /* 0x0128 */ GI_GORON_RUBY, + /* 0x0129 */ GI_ZORA_SAPPHIRE, + /* 0x012A */ GI_LIGHT_MEDALLION, + /* 0x012B */ GI_FOREST_MEDALLION, + /* 0x012C */ GI_FIRE_MEDALLION, + /* 0x012D */ GI_WATER_MEDALLION, + /* 0x012E */ GI_SHADOW_MEDALLION, + /* 0x012F */ GI_SPIRIT_MEDALLION, + + /* 0x0130 */ GI_SCALE_BRONZE, + + /* 0x0131 */ GI_RANDO_MAX +} GetItemId; + +_Static_assert(GI_RANDO_MAX == 0x0131, "Remember to update the comment and the assert for the value of GI_RANDO_MAX when adding new items"); + typedef enum { /* 0 */ BROWN_CHEST, // big default chest /* 1 */ BIG_ROOM_CLEAR_CHEST, // appear on room clear, store temp clear as permanent clear diff --git a/ASM/c/item_upgrades.c b/ASM/c/item_upgrades.c index 58c7c08eeb..8b5bc1b3d5 100644 --- a/ASM/c/item_upgrades.c +++ b/ASM/c/item_upgrades.c @@ -1,11 +1,13 @@ #include "item_upgrades.h" #include "get_items.h" +#include "item_table.h" #include "save.h" #include "z64.h" extern uint32_t FREE_BOMBCHU_DROPS; - +extern uint8_t SHUFFLE_CHEST_GAME; +extern uint8_t TCG_REQUIRES_LENS; // The layout of this struct is part of the definition of the co-op context. // If you change it, bump the co-op context version in coop_state.asm and update Notes/coop-ctx.md @@ -37,129 +39,129 @@ uint16_t no_upgrade(z64_file_t* save, override_t override) { uint16_t hookshot_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->items[Z64_SLOT_HOOKSHOT] : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].hookshot) { - case ITEM_NONE: case 0: return 0x08; // Hookshot - default: return 0x09; // Longshot + case ITEM_NONE: case 0: return GI_HOOKSHOT; // Hookshot + default: return GI_LONGSHOT; // Longshot } } uint16_t strength_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->strength_upgrade : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].strength) { - case 0: return 0x54; // Goron Bracelet - case 1: return 0x35; // Silver Gauntlets - default: return 0x36; // Gold Gauntlets + case 0: return GI_GORONS_BRACELET; // Goron Bracelet + case 1: return GI_SILVER_GAUNTLETS; // Silver Gauntlets + default: return GI_GOLD_GAUNTLETS; // Gold Gauntlets } } uint16_t bomb_bag_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->bomb_bag : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].bomb_bag) { - case 0: return 0x32; // Bomb Bag - case 1: return 0x33; // Bigger Bomb Bag - default: return 0x34; // Biggest Bomb Bag + case 0: return GI_BOMB_BAG_20; // Bomb Bag + case 1: return GI_BOMB_BAG_30; // Bigger Bomb Bag + default: return GI_BOMB_BAG_40; // Biggest Bomb Bag } } uint16_t bow_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->quiver : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].bow) { - case 0: return 0x04; // Bow - case 1: return 0x30; // Big Quiver - default: return 0x31; // Biggest Quiver + case 0: return GI_BOW; // Bow + case 1: return GI_QUIVER_40; // Big Quiver + default: return GI_QUIVER_50; // Biggest Quiver } } uint16_t slingshot_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->bullet_bag : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].slingshot) { - case 0: return 0x05; // Slingshot - case 1: return 0x60; // Bullet Bag (40) - default: return 0x7B; // Bullet Bag (50) + case 0: return GI_SLINGSHOT; // Slingshot + case 1: return GI_BULLET_BAG_40; // Bullet Bag (40) + default: return GI_BULLET_BAG_50; // Bullet Bag (50) } } uint16_t wallet_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->wallet : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].wallet) { - case 0: return 0x45; // Adult's Wallet - case 1: return 0x46; // Giant's Wallet - default: return 0xC7; // Tycoon's Wallet + case 0: return GI_WALLET_ADULT; // Adult's Wallet + case 1: return GI_WALLET_GIANT; // Giant's Wallet + default: return GI_TYCOONS_WALLET; // Tycoon's Wallet } } uint16_t scale_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? extended_savectx.extended_scale : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].scale) { - case 0: return 0x130; // Bronze Scale - case 1: return 0x37; // Silver Scale - default: return 0x38; // Gold Scale + case 0: return GI_SCALE_BRONZE; // Bronze Scale + case 1: return GI_SCALE_SILVER; // Silver Scale + default: return GI_SCALE_GOLDEN; // Gold Scale } } uint16_t nut_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->nut_upgrade : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].nuts) { - case 0: return 0x79; // 30 Nuts. 0 and 1 are both starting capacity - case 1: return 0x79; // 30 Nuts - default: return 0x7A; // 40 Nuts + case 0: return GI_DEKU_NUT_UPGRADE_30; // 30 Nuts. 0 and 1 are both starting capacity + case 1: return GI_DEKU_NUT_UPGRADE_30; // 30 Nuts + default: return GI_DEKU_NUT_UPGRADE_40; // 40 Nuts } } uint16_t stick_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->stick_upgrade : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].sticks) { - case 0: return 0x77; // 20 Sticks. 0 and 1 are both starting capacity - case 1: return 0x77; // 20 Sticks - default: return 0x78; // 30 Sticks + case 0: return GI_DEKU_STICK_UPGRADE_20; // 20 Sticks. 0 and 1 are both starting capacity + case 1: return GI_DEKU_STICK_UPGRADE_20; // 20 Sticks + default: return GI_DEKU_STICK_UPGRADE_30; // 30 Sticks } } uint16_t magic_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->magic_acquired : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].magic) { - case 0: return 0xB9; // Single Magic - default: return 0xBA; // Double Magic + case 0: return GI_MAGIC_METER; // Single Magic + default: return GI_DOUBLE_MAGIC; // Double Magic } } uint16_t bombchu_upgrade(z64_file_t* save, override_t override) { if (save->items[Z64_SLOT_BOMBCHU] == ITEM_NONE) { - return 0x6B; // Bombchu 20 pack + return GI_BOMBCHUS_20; // Bombchu 20 pack } if (save->ammo[8] <= 5) { - return 0x03; // Bombchu 10 pack + return GI_BOMBCHUS_10; // Bombchu 10 pack } - return 0x6A; // Bombchu 5 pack + return GI_BOMBCHUS_5; // Bombchu 5 pack } uint16_t ocarina_upgrade(z64_file_t* save, override_t override) { switch ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->items[Z64_SLOT_OCARINA] : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].ocarina) { - case ITEM_NONE: case 0: return 0x3B; // Fairy Ocarina - default: return 0x0C; // Ocarina of Time + case ITEM_NONE: case 0: return GI_OCARINA_FAIRY; // Fairy Ocarina + default: return GI_OCARINA_OF_TIME; // Ocarina of Time } } uint16_t arrows_to_rupee(z64_file_t* save, override_t override) { - return ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->quiver : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].bow) ? override.value.base.item_id : 0x4D; // Blue Rupee + return ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->quiver : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].bow) ? override.value.base.item_id : GI_RUPEE_BLUE; // Blue Rupee } uint16_t bombs_to_rupee(z64_file_t* save, override_t override) { - return ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->bomb_bag : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].bomb_bag) ? override.value.base.item_id : 0x4D; // Blue Rupee + return ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->bomb_bag : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].bomb_bag) ? override.value.base.item_id : GI_RUPEE_BLUE; // Blue Rupee } uint16_t seeds_to_rupee(z64_file_t* save, override_t override) { - return ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->bullet_bag : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].slingshot) ? override.value.base.item_id : 0x4D; // Blue Rupee + return ((override.value.base.player == PLAYER_ID || !MW_PROGRESSIVE_ITEMS_ENABLE) ? save->bullet_bag : MW_PROGRESSIVE_ITEMS_STATE[override.value.base.player].slingshot) ? override.value.base.item_id : GI_RUPEE_BLUE; // Blue Rupee } uint16_t letter_to_bottle(z64_file_t* save, override_t override) { if (save->event_chk_inf[3] & 0x0008) // "King Zora Moved Aside" - return 0xC8; // Redundant Letter Bottle + return GI_REDUNDANT_LETTER_BOTTLE; // Redundant Letter Bottle if (save->items[Z64_SLOT_BOTTLE_1] == 0x1B || save->items[Z64_SLOT_BOTTLE_2] == 0x1B || save->items[Z64_SLOT_BOTTLE_3] == 0x1B || save->items[Z64_SLOT_BOTTLE_4] == 0x1B) - return 0xC8; // Redundant Letter Bottle + return GI_REDUNDANT_LETTER_BOTTLE; // Redundant Letter Bottle return override.value.base.item_id; } uint16_t health_upgrade_cap(z64_file_t* save, override_t override) { if (save->energy_capacity >= 20 * 0x10) { // Already at capped health. - if (override.value.base.item_id == 0x76) { // Piece of Heart (Chest Game) - return 0x7F; + if (override.value.base.item_id == GI_HEART_PIECE_WIN) { // Piece of Heart (Chest Game) + return GI_CAPPED_PIECE_OF_HEART_CHESTGAME; } - if (override.value.base.item_id == 0x3D) { // Heart Container - return 0x7E; + if (override.value.base.item_id == GI_HEART_CONTAINER) { // Heart Container + return GI_CAPPED_HEART_CONTAINER; } - return 0x7D; // Piece of Heart / Fallthrough + return GI_CAPPED_PIECE_OF_HEART; // Piece of Heart / Fallthrough } return override.value.base.item_id; } @@ -170,9 +172,9 @@ uint16_t bombchus_to_bag(z64_file_t* save, override_t override) { // tell player about chu drops. Different bags // to preserve original chu refill count. switch (override.value.base.item_id) { - case 0x03: return 0xD5; // 10 pack - case 0x6A: return 0xD6; // 5 pack - case 0x6B: return 0xD4; // 20 pack + case GI_BOMBCHUS_10: return GI_BOMBCHU_BAG_10; // 10 pack + case GI_BOMBCHUS_5: return GI_BOMBCHU_BAG_5; // 5 pack + case GI_BOMBCHUS_20: return GI_BOMBCHU_BAG_20; // 20 pack } } else { // Subsequent chu packs stay as chu packs @@ -182,16 +184,25 @@ uint16_t bombchus_to_bag(z64_file_t* save, override_t override) { uint16_t upgrade_key_model(z64_file_t* save, override_t override) { uint16_t item_id = override.value.base.item_id; + // Force treasure chest game loss if the setting to require Lens of Truth + // is enabled. Room index is checked to avoid overriding the salesman's item. + if (item_id == GI_DOOR_KEY && !SHUFFLE_CHEST_GAME && TCG_REQUIRES_LENS + && override.value.base.player == PLAYER_ID + && save->items[Z64_SLOT_LENS] != Z64_ITEM_LENS + && z64_game.room_index != 0 + ) { + return GI_RUPEE_GREEN_LOSE; // Green Rupee (Chest Game) + } if (CUSTOM_KEY_MODELS) { - if (item_id == 0x0071) { + if (item_id == GI_DOOR_KEY) { // Treasure Chest Game Key - return 0x0118; - } else if (item_id < 0x00AF) { + return GI_SMALL_KEY_MODEL_CHEST_GAME; + } else if (item_id < GI_SMALL_KEY_MIN) { // Boss Keys - return item_id + 0x74; + return item_id + GI_BOSS_KEY_MODEL_MIN - GI_BOSS_KEY_TEMPLE; } else { // Small Keys - return item_id + 0x60; + return item_id + GI_SMALL_KEY_MODEL_MIN - GI_SMALL_KEY_MIN; } } else { return item_id; diff --git a/ASM/c/kaleido_item.h b/ASM/c/kaleido_item.h index 1b52c00dac..bdcad8ee77 100644 --- a/ASM/c/kaleido_item.h +++ b/ASM/c/kaleido_item.h @@ -10,43 +10,6 @@ #define PAUSE_CURSOR_PAGE_LEFT 10 #define PAUSE_CURSOR_PAGE_RIGHT 11 -typedef enum { - /* 0 */ PAUSE_STATE_OFF, - /* 1 */ PAUSE_STATE_WAIT_LETTERBOX, // Request no letterboxing and wait for it. - /* 2 */ PAUSE_STATE_WAIT_BG_PRERENDER, // Wait for the pause background prerender to be done. - /* 3 */ PAUSE_STATE_INIT, // Load data and initialize/setup various things. - /* 4 */ PAUSE_STATE_OPENING_1, // Animate the pause menu coming together with rotations and other animations. - /* 5 */ PAUSE_STATE_OPENING_2, // Finish some animations for opening the menu. - /* 6 */ PAUSE_STATE_MAIN, // Pause menu ready for player inputs. - /* 7 */ PAUSE_STATE_SAVE_PROMPT, // Save prompt in the pause menu - /* 8 */ PAUSE_STATE_8, - /* 9 */ PAUSE_STATE_9, - /* 10 */ PAUSE_STATE_10, - /* 11 */ PAUSE_STATE_11, - /* 12 */ PAUSE_STATE_12, - /* 13 */ PAUSE_STATE_13, - /* 14 */ PAUSE_STATE_14, - /* 15 */ PAUSE_STATE_15, - /* 16 */ PAUSE_STATE_16, - /* 17 */ PAUSE_STATE_17, - /* 18 */ PAUSE_STATE_CLOSING, // Animate the pause menu closing - /* 19 */ PAUSE_STATE_RESUME_GAMEPLAY // Handles returning to normal gameplay once the pause menu is visually closed -} PauseState; - -// Sub-states of PAUSE_STATE_MAIN -typedef enum { - /* 0 */ PAUSE_MAIN_STATE_IDLE, - /* 1 */ PAUSE_MAIN_STATE_1, - /* 2 */ PAUSE_MAIN_STATE_2, - /* 3 */ PAUSE_MAIN_STATE_3, - /* 4 */ PAUSE_MAIN_STATE_4, - /* 5 */ PAUSE_MAIN_STATE_5, - /* 6 */ PAUSE_MAIN_STATE_6, - /* 7 */ PAUSE_MAIN_STATE_7, - /* 8 */ PAUSE_MAIN_STATE_8, - /* 9 */ PAUSE_MAIN_STATE_9 -} PauseMainState; - extern uint8_t z64_AmmoItems[16]; extern void* z64_EquippedItemOutlineTex[0x400]; diff --git a/ASM/c/main.c b/ASM/c/main.c index 036bda1c5c..7b468b7904 100644 --- a/ASM/c/main.c +++ b/ASM/c/main.c @@ -14,7 +14,7 @@ #include "chests.h" #include "ganon.h" #include "twinrova.h" -#include "ganon_boss_key.h" +#include "sage_gifts.h" #include "extern_ctxt.h" #include "weather.h" #include "textures.h" @@ -31,14 +31,17 @@ void Gameplay_InitSkybox(z64_game_t* globalCtx, int16_t skyboxId); void c_init() { heap_init(); gfx_init(); - text_init(); item_overrides_init(); override_flags_init(); models_init(); init_textures(); +#if DEBUG_MODE + SKIP_N64_LOGO = 1; +#endif } void before_game_state_update() { + rando_display_buffer_reset(); handle_pending_items(); handle_dpad(); update_misc_colors(); @@ -53,16 +56,19 @@ void after_game_state_update() { // Checks if the prerender screen is being drawn before drawing new HUD things. // Else this will cause graphical and/or lag issues on some emulators when pausing. if (R_PAUSE_BG_PRERENDER_STATE != PAUSE_BG_PRERENDER_PROCESS) { - draw_dungeon_info(&(z64_ctxt.gfx->overlay)); - draw_triforce_count(&(z64_ctxt.gfx->overlay)); - draw_boss_key(&z64_game, &(z64_ctxt.gfx->overlay)); - draw_silver_rupee_count(&z64_game, &(z64_ctxt.gfx->overlay)); - draw_illegal_model_text(&(z64_ctxt.gfx->overlay)); - draw_input_viewer(&(z64_ctxt.gfx->overlay)); - display_song_name(&(z64_ctxt.gfx->overlay)); - debug_utilities(&(z64_ctxt.gfx->overlay)); + draw_dungeon_info(&rando_overlay_db); + draw_triforce_count(&rando_overlay_db); + draw_boss_key(&z64_game, &rando_overlay_db); + draw_silver_rupee_count(&z64_game, &rando_overlay_db); + draw_illegal_model_text(&rando_overlay_db); + draw_input_viewer(&rando_overlay_db); + display_song_name(&rando_overlay_db); +#if DEBUG_MODE + debug_utilities(&debug_db); +#endif } - give_ganon_boss_key(); + close_rando_display_buffer(); + give_sage_gifts(); manage_swim(); } diff --git a/ASM/c/message.c b/ASM/c/message.c index f529986fac..331976f8f3 100644 --- a/ASM/c/message.c +++ b/ASM/c/message.c @@ -2,6 +2,7 @@ #include "z64.h" #include "stdbool.h" #include "save.h" +#include "dungeon_info.h" // no support for kana since they're not part of the message charset char FILENAME_ENCODING[256] = { @@ -117,6 +118,96 @@ bool Message_Decode_Additional_Control_Codes(uint8_t currChar, uint32_t* pDecode (*pDecodedBufPos)--; return true; } + case 0xF3: { + // Farore's Wind destination + switch (z64_file.respawn[RESPAWN_MODE_TOP].entranceIndex) { + case 0x000: + case 0x252: { + // Deku Tree + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[0].name); + break; + } + case 0x004: + case 0x0C5: { + // DC + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[1].name); + break; + } + case 0x028: + case 0x407: { + // Jabu + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[2].name); + break; + } + case 0x169: + case 0x24E: { + // Forest Temple + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[3].name); + break; + } + case 0x165: + case 0x175: { + // Fire Temple + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[4].name); + break; + } + case 0x010: + case 0x423: { + // Water Temple + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[5].name); + break; + } + case 0x037: + case 0x2B2: { + // Shadow Temple + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[6].name); + break; + } + case 0x082: + case 0x2F5: + case 0x3F0: + case 0x3F4: { + // Spirit Temple + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[7].name); + break; + } + case 0x098: { + // BotW + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[8].name); + break; + } + case 0x088: { + // Ice + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[9].name); + break; + } + case 0x008: { + // GTG + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[11].name); + break; + } + case 0x41B: + case 0x467: + case 0x534: + case 0x538: + case 0x53C: + case 0x540: + case 0x544: + case 0x548: + case 0x54C: { + // Ganon + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, dungeons[12].name); + break; + } + default: { + // Vanilla text + Message_AddString(msgCtx, pFont, pDecodedBufPos, pCharTexIdx, "the Warp Point"); + break; + } + } + (*pDecodedBufPos)--; + return true; + } default: { return false; } @@ -142,12 +233,28 @@ void shooting_gallery_message() { shooting_gallery_show_message = 1; } +uint8_t treasure_chest_game_show_message = 0; +// Displays a warning message if the player attempted the Treasure Chest Game without +// Lens of Truth when settings require it. +void treasure_chest_game_message() { + if (z64_file.items[Z64_SLOT_LENS] != Z64_ITEM_LENS) { + treasure_chest_game_show_message = 1; + } +} + // Function to display custom textboxes ingame. void display_misc_messages() { - if (shooting_gallery_show_message == 1 && - z64_MessageGetState(((uint8_t *)(&z64_game)) + 0x20D8) == 0) { - z64_DisplayTextbox(&z64_game, 0x045C, 0); - // To avoid displaying the message several times if the player just wants to farm the 50 rupees. - shooting_gallery_show_message = -1; + if (z64_MessageGetState(((uint8_t *)(&z64_game)) + 0x20D8) == 0) { + // Each minigame warning message can only be triggered in their respective + // scenes. Order doesn't matter. + if (shooting_gallery_show_message == 1) { + z64_DisplayTextbox(&z64_game, 0x045C, 0); + // To avoid displaying the message several times if the player just wants to farm the 50 rupees. + shooting_gallery_show_message = -1; + } else if (treasure_chest_game_show_message) { + z64_DisplayTextbox(&z64_game, 0x045D, 0); + // No reason not to repeat the message on a reattempt in case the player forgot. + treasure_chest_game_show_message = 0; + } } } diff --git a/ASM/c/model_text.c b/ASM/c/model_text.c index 9d0ada2faf..6caa93fa3c 100644 --- a/ASM/c/model_text.c +++ b/ASM/c/model_text.c @@ -9,18 +9,20 @@ bool child_safe = false; bool missing_dlist = false; +extern uint8_t CFG_SONG_NAME_STATE; + const int text_width = 5; const int text_height = 10; void draw_illegal_model_text(z64_disp_buf_t* db) { // Only draw when paused - if (!(illegal_model && z64_game.pause_ctxt.state == 6)) { + if (!(illegal_model && z64_game.pause_ctxt.state == PAUSE_STATE_MAIN)) { return; } // If custom music songs are displayed, only show the text in the inventory screen. - if (are_song_displayed() && z64_game.pause_ctxt.screen_idx != 0) { + if (CFG_SONG_NAME_STATE > SONG_NAME_NONE && z64_game.pause_ctxt.screen_idx != 0) { return; } @@ -49,8 +51,7 @@ void draw_illegal_model_text(z64_disp_buf_t* db) { gDPSetPrimColor(db->p++, 0, 0, 0xD7, 0x16, 0x0D, 0xFF); //Set text to print and flush it - text_print_size(text, draw_x, draw_y_text, text_width); - text_flush_size(db, text_width, text_height, 0, 0); + text_print_size(db, text, draw_x, draw_y_text, text_width, text_height); } typedef struct Limb { diff --git a/ASM/c/models.c b/ASM/c/models.c index 728481d525..050c16f642 100644 --- a/ASM/c/models.c +++ b/ASM/c/models.c @@ -6,21 +6,12 @@ #include "util.h" #include "z64.h" #include "shop_actors.h" +#include "actor.h" #define slot_count 24 #define object_size 0x1E70 #define num_vanilla_objects 0x192 -typedef struct { - uint16_t object_id; - uint8_t graphic_id; -} model_t; - -typedef struct { - uint16_t object_id; - uint8_t* buf; -} loaded_object_t; - extern uint8_t SHUFFLE_CHEST_GAME; extern uint32_t EXTENDED_OBJECT_TABLE; extern EnItem00* collectible_mutex; @@ -172,27 +163,6 @@ void shop_draw(z64_actor_t* actor, z64_game_t* game) { } } -// Collectible draw function for rupees/recovery hearts -bool collectible_draw(z64_actor_t* actor, z64_game_t* game) { - EnItem00* this = (EnItem00*)actor; - model_t model = { - .object_id = 0x0000, - .graphic_id = 0x00, - }; - - if (this->override.key.all) { - lookup_model_by_override(&model, this->override); - if (model.object_id != 0x0000 && (this->actor.dropFlag == 1 || !Get_CollectibleOverrideFlag(this) || (collectible_mutex == this))) { - if (collectible_mutex != this) { - draw_model(model, actor, game, 25.0); - } - return true; - } - } - return false; -} - - void heart_piece_draw(z64_actor_t* actor, z64_game_t* game) { model_t model = { .object_id = 0x00BD, @@ -218,19 +188,7 @@ void collectible_draw_other(z64_actor_t* actor, z64_game_t* game) { draw_model(model, actor, game, 10.0); return; } - - // Probably don't need this check. We convert all dropped overridden collectibles to rupees. - // Pretty sure there are no freestanding collectibles of these types. But let's just do it anyway - if (this->override.key.all) { - lookup_model_by_override(&model, this->override); - if (model.object_id != 0x0000 && (this->actor.dropFlag == 1 || !Get_CollectibleOverrideFlag(this) || (collectible_mutex == this))) { - if (collectible_mutex != this) { - draw_model(model, actor, game, 25.0); - } - } - } else { - base_collectable_draw(actor, game); - } + base_collectable_draw(actor, game); } void heart_container_draw(z64_actor_t* actor, z64_game_t* game) { diff --git a/ASM/c/models.h b/ASM/c/models.h index 488abeab4f..97a9b9dd7c 100644 --- a/ASM/c/models.h +++ b/ASM/c/models.h @@ -1,7 +1,25 @@ #ifndef MODELS_H #define MODELS_H +#include "z64.h" +#include "override.h" +#include + +typedef struct model_t { + uint16_t object_id; + uint8_t graphic_id; +} model_t; + +typedef struct { + uint16_t object_id; + uint8_t* buf; +} loaded_object_t; + + void models_init(); void models_reset(); +void lookup_model_by_override(model_t* model, override_t override); +void draw_model(model_t model, z64_actor_t* actor, z64_game_t* game, float base_scale); + #endif diff --git a/ASM/c/music.c b/ASM/c/music.c index 010840a560..de9aaba967 100644 --- a/ASM/c/music.c +++ b/ASM/c/music.c @@ -3,7 +3,7 @@ extern uint8_t CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE; extern uint8_t CFG_SLOWDOWN_MUSIC_WHEN_LOWHP; extern char CFG_SONG_NAMES[]; -extern uint8_t CFG_SONG_NAME_POSITION; +extern uint8_t CFG_SONG_NAME_STATE; static uint16_t previousSeqIndexChange = 0; static uint8_t isSlowedDown = 0; @@ -62,21 +62,17 @@ int bgm_sequence_ids[47] = { 0x55, 0x56, 0x58, 0x5A, 0x5B, 0x5C, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x6B, 0x6C, }; -#define TEXT_WIDTH 6 -#define TEXT_HEIGHT 11 -#define SONG_NAME_FRAMES_VISIBLE 100 -#define SONG_NAME_FRAMES_FADE_AWAY 80 -#define SONG_NAME_FRAMES_FADE_INTO 5 +static const uint8_t TEXT_WIDTH = 6; +static const uint8_t TEXT_HEIGHT = 11; +static const uint8_t SONG_NAME_FRAMES_VISIBLE = 100; +static const uint8_t SONG_NAME_FRAMES_FADE_AWAY = 80; +static const uint8_t SONG_NAME_FRAMES_FADE_INTO = 5; static uint32_t frames = 0; static uint32_t display_song_name_flag = 0; static uint16_t previousSeqIndexName = 0; -uint8_t are_song_displayed() { - return *CFG_SONG_NAMES ? 1 : 0; -} - void display_song_name(z64_disp_buf_t* db) { - if (are_song_displayed() && + if (CFG_SONG_NAME_STATE > SONG_NAME_NONE && !dungeon_info_is_drawn() && // Don't display if the custom rando pause screen if displayed. !(z64_link.state_flags_2 & 0x8000000)) { // Don't display if Link is playing the Ocarina. @@ -87,7 +83,7 @@ void display_song_name(z64_disp_buf_t* db) { alpha = 255; frames = 0; } - if (!(display_song_name_flag == 1 || z64_game.pause_ctxt.state == 6)) { + if (!(display_song_name_flag == 1 || z64_game.pause_ctxt.state == PAUSE_STATE_MAIN)) { return; } @@ -96,11 +92,11 @@ void display_song_name(z64_disp_buf_t* db) { return; } - if (z64_game.pause_ctxt.state == 6) { + if (z64_game.pause_ctxt.state == PAUSE_STATE_MAIN) { alpha = 255; frames = 0; } - else if (CFG_SONG_NAME_POSITION == SONG_NAME_PAUSE) { + else if (CFG_SONG_NAME_STATE == SONG_NAME_PAUSE) { return; } else { @@ -122,7 +118,7 @@ void display_song_name(z64_disp_buf_t* db) { frames++; uint8_t top = 7; uint8_t left = 7; - uint8_t bgm_found = -1; + int8_t bgm_found = -1; for (uint8_t i = 0; i < 47; i++) { if (z64_Audio_GetActiveSeqId(0) == bgm_sequence_ids[i]) { bgm_found = i; @@ -141,19 +137,22 @@ void display_song_name(z64_disp_buf_t* db) { } subStringNameLength++; } + gSPDisplayList(db->p++, &setup_db); + gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM,G_CC_MODULATEIA_PRIM); + gDPPipeSync(db->p++); gDPSetPrimColor(db->p++, 0, 0, 0, 0, 0, alpha); - text_print_size(subStringName, left + 1, top + 1, TEXT_WIDTH); - text_flush_size(db, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); + text_print_size(db, subStringName, left + 1, top + 1, TEXT_WIDTH, TEXT_HEIGHT); + gDPPipeSync(db->p++); gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, alpha); - text_print_size(subStringName, left, top, TEXT_WIDTH); - text_flush_size(db, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); + text_print_size(db, subStringName, left, top, TEXT_WIDTH, TEXT_HEIGHT); + gDPPipeSync(db->p++); } } } void display_song_name_on_file_select(z64_disp_buf_t* db) { - if (!dungeon_info_is_drawn() && are_song_displayed()) { - uint8_t top = 7; + if (CFG_SONG_NAME_STATE > SONG_NAME_NONE) { + uint8_t top = 220; uint8_t left = 7; uint8_t alpha = 255; uint8_t bgm_fileselect = 11; // ("Fairy Fountain", 0x28) @@ -166,11 +165,13 @@ void display_song_name_on_file_select(z64_disp_buf_t* db) { } subStringNameLength++; } + gSPDisplayList(db->p++, &setup_db); + gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM,G_CC_MODULATEIA_PRIM); + gDPPipeSync(db->p++); gDPSetPrimColor(db->p++, 0, 0, 0, 0, 0, alpha); - text_print_size(subStringName, left + 1, top + 1, TEXT_WIDTH); - text_flush_size(db, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); + text_print_size(db, subStringName, left + 1, top + 1, TEXT_WIDTH, TEXT_HEIGHT); + gDPPipeSync(db->p++); gDPSetPrimColor(db->p++, 0, 0, 255, 255, 255, alpha); - text_print_size(subStringName, left, top, TEXT_WIDTH); - text_flush_size(db, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); + text_print_size(db, subStringName, left, top, TEXT_WIDTH, TEXT_HEIGHT); } } diff --git a/ASM/c/music.h b/ASM/c/music.h index 3f72c0cd6d..c81d1184af 100644 --- a/ASM/c/music.h +++ b/ASM/c/music.h @@ -1,3 +1,6 @@ +#ifndef MUSIC_H +#define MUSIC_H + #include #include "z64.h" #include "triforce.h" @@ -8,11 +11,12 @@ void manage_music_changes(); _Bool Health_IsCritical(); void display_song_name(z64_disp_buf_t* db); void display_song_name_on_file_select(z64_disp_buf_t* db); -uint8_t are_song_displayed(); typedef enum { - /* 0 */ SONG_NAME_TOP, // Top of the screen. - /* 1 */ SONG_NAME_PAUSE, // Pause screen only. + /* 0 */ SONG_NAME_NONE, // Never displayed. + /* 1 */ SONG_NAME_TOP, // Top of the screen. + /* 2 */ SONG_NAME_PAUSE, // Pause screen only. } SongNamePosition; -#define CAN_DISPLAY_SONG_NAME () + +#endif diff --git a/ASM/c/obj_comb.c b/ASM/c/obj_comb.c index 56ba4be1f0..ebad68d7e5 100644 --- a/ASM/c/obj_comb.c +++ b/ASM/c/obj_comb.c @@ -3,29 +3,21 @@ #include "get_items.h" #include "textures.h" #include "obj_comb.h" +#include "actor.h" #define GAMEPLAY_FIELD_KEEP_BEEHIVE_TEXTURE (uint8_t*)0x05008900 -extern uint16_t drop_collectible_override_flag; - // Hack beehives to drop a collectible w / an extended flag, based on the grotto param void obj_comb_drop_collectible(z64_actor_t* actor, int16_t params) { // Check if we're in a grotto - uint16_t flag = actor->rot_init.z; - if (z64_game.scene_index == 0x3E) { - // We're in a grotto so offset by 2x grotto id. The Rz flags for the grottos need to be set to 0/1 beforehand. - flag = (2 * (z64_file.respawn[RESPAWN_MODE_RETURN].data & 0x1F)) + flag; - // and add 0x40 - flag += 0x40; - } + xflag_t* flag = &(Actor_GetAdditionalData(actor)->flag); if (params >= 0) { - override_t override = get_beehive_override(actor, &z64_game); - if (override.key.all != 0) { + if (flag->all && !Get_NewFlag(flag)) { // set up params for Item_DropCollectible - drop_collectible_override_flag = flag; + drop_collectible_override_flag = *flag; EnItem00* spawned = z64_Item_DropCollectible2(&z64_game, &actor->pos_world, params); - drop_collectible_override_flag = 0; + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); } else { // Normal beehive behavior if (z64_Rand_ZeroOne() > 0.5f) { z64_Item_DropCollectible(&z64_game, &actor->pos_world, params); @@ -34,30 +26,6 @@ void obj_comb_drop_collectible(z64_actor_t* actor, int16_t params) { } } -override_t get_beehive_override(z64_actor_t* actor, z64_game_t* game) { - uint16_t flag = actor->rot_init.z; - if (z64_game.scene_index == 0x3E) { - // We're in a grotto so offset by 2x grotto id. The Rz flags for the grottos need to be set to 0/1 beforehand. - flag = (2 * (z64_file.respawn[RESPAWN_MODE_RETURN].data & 0x1F)) + flag; - // and add 0x40 - flag += 0x40; - } - - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = flag; - dummy.actor.variable = 0; - - override_t override = lookup_override(&(dummy.actor), game->scene_index, 0); - if (override.key.all != 0) { - dummy.override = override; - if (!Get_CollectibleOverrideFlag(&dummy)) { - return override; - } - } - return (override_t) { 0 }; -} - void ObjComb_Update(z64_actor_t* thisx, z64_game_t* game) { ObjComb* this = (ObjComb*)thisx; if (this->actor.dropFlag > 0) { diff --git a/ASM/c/obj_comb.h b/ASM/c/obj_comb.h index c0f5bb2026..2aca1b8c8c 100644 --- a/ASM/c/obj_comb.h +++ b/ASM/c/obj_comb.h @@ -16,6 +16,4 @@ typedef struct ObjComb { /* 0x01A4 */ uint8_t chest_type; } ObjComb; // size = 0x01A4 -override_t get_beehive_override(z64_actor_t* actor, z64_game_t* game); - #endif diff --git a/ASM/c/obj_kibako.c b/ASM/c/obj_kibako.c index e459d32b74..b13f9f1b86 100644 --- a/ASM/c/obj_kibako.c +++ b/ASM/c/obj_kibako.c @@ -2,13 +2,12 @@ #include "get_items.h" #include "z64.h" #include "textures.h" -#include "z64.h" #include "obj_kibako.h" +#include "actor.h" #define SMALLCRATE_DLIST (z64_gfx_t*)0x05005290 #define SMALLCRATE_TEXTURE (uint8_t*)0x05011CA0 extern uint8_t POTCRATE_TEXTURES_MATCH_CONTENTS; -extern uint16_t drop_collectible_override_flag; extern uint8_t POTCRATE_GOLD_TEXTURE; extern uint8_t POTCRATE_GILDED_TEXTURE; extern uint8_t POTCRATE_SILVER_TEXTURE; @@ -16,23 +15,6 @@ extern uint8_t POTCRATE_SKULL_TEXTURE; extern uint8_t POTCRATE_HEART_TEXTURE; extern uint8_t SOA_UNLOCKS_POTCRATE_TEXTURE; -override_t get_smallcrate_override(z64_actor_t* actor, z64_game_t* game) { - // make a dummy EnItem00 with enough info to get the override - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = actor->rot_init.z; - dummy.actor.variable = 0; - - override_t override = lookup_override(&(dummy.actor), game->scene_index, 0); - if (override.key.all != 0) { - dummy.override = override; - if (!Get_CollectibleOverrideFlag(&dummy)) { - return override; - } - } - return (override_t) { 0 }; -} - void ObjKibako_Draw(z64_actor_t* actor, z64_game_t* game) { uint8_t* texture = SMALLCRATE_TEXTURE; // get original texture @@ -93,10 +75,17 @@ void ObjKibako_SpawnCollectible_Hack(z64_actor_t* this, z64_game_t* globalCtx) { int16_t collectible; collectible = this->variable & 0x1F; + + xflag_t* flag = &Actor_GetAdditionalData(this)->flag; + if (flag->all && !Get_NewFlag(flag)) { + drop_collectible_override_flag = *flag; + EnItem00* spawned = z64_Item_DropCollectible(globalCtx, &this->pos_world, 0); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return; + } + if ((collectible >= 0) && (collectible <= 0x19)) { - drop_collectible_override_flag = this->rot_init.z; EnItem00* spawned = z64_Item_DropCollectible(globalCtx, &this->pos_world, collectible | (((this->variable >> 8) & 0x3F) << 8)); - drop_collectible_override_flag = 0; } } diff --git a/ASM/c/obj_kibako2.c b/ASM/c/obj_kibako2.c index 2073d5ac2c..78e3df863c 100644 --- a/ASM/c/obj_kibako2.c +++ b/ASM/c/obj_kibako2.c @@ -1,14 +1,13 @@ #include "obj_kibako2.h" #include "textures.h" -#define CRATE_DLIST (z64_gfx_t*)0x06000960 +#include "actor.h" +#define CRATE_DLIST (z64_gfx_t *)0x06000960 #define CRATE_CI8_TEXTURE_PALETTE_OFFSET 0x00 #define CRATE_CI8_TEXTURE_TOP_OFFSET 0x200 #define CRATE_CI8_TEXTURE_SIDE_OFFSET 0xA00 - extern uint8_t POTCRATE_TEXTURES_MATCH_CONTENTS; -extern uint16_t drop_collectible_override_flag; extern uint8_t POTCRATE_GOLD_TEXTURE; extern uint8_t POTCRATE_GILDED_TEXTURE; extern uint8_t POTCRATE_SILVER_TEXTURE; @@ -20,31 +19,19 @@ extern uint8_t SOA_UNLOCKS_POTCRATE_TEXTURE; void ObjKibako2_SpawnCollectible_Hack(ObjKibako2* this, z64_game_t* globalCtx) { int16_t itemDropped; int16_t collectibleFlagTemp; - collectibleFlagTemp = this->collectibleFlag & 0x3F; itemDropped = this->dyna.actor.rot_init.x & 0x1F; + + xflag_t* flag = &(Actor_GetAdditionalData((z64_actor_t*)this)->flag); + if (flag->all && !Get_NewFlag(flag)) { + drop_collectible_override_flag = *flag; + EnItem00* spawned = z64_Item_DropCollectible(globalCtx, &this->dyna.actor.pos_world, 0); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return; + } if (itemDropped >= 0 && itemDropped < 0x1A) { - drop_collectible_override_flag = this->dyna.actor.rot_init.y; EnItem00* spawned = z64_Item_DropCollectible(globalCtx, &this->dyna.actor.pos_world, itemDropped | (collectibleFlagTemp << 8)); - drop_collectible_override_flag = 0; - } -} - -override_t get_crate_override(z64_actor_t* actor, z64_game_t* game) { - // make a dummy EnItem00 with enough info to get the override - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = actor->rot_init.y; - dummy.actor.variable = 0; - - override_t override = lookup_override(&(dummy.actor), game->scene_index, 0); - if (override.key.all != 0) { - dummy.override = override; - if (!Get_CollectibleOverrideFlag(&dummy)) { - return override; - } } - return (override_t) { 0 }; } void ObjKibako2_Draw(z64_actor_t* actor, z64_game_t* game) { diff --git a/ASM/c/obj_mure3.c b/ASM/c/obj_mure3.c new file mode 100644 index 0000000000..ec15d2e825 --- /dev/null +++ b/ASM/c/obj_mure3.c @@ -0,0 +1,17 @@ +#include "z64.h" +#include "get_items.h" +#include "actor.h" + +z64_actor_t* Obj_Mure3_RupeeCircle_DropRupee(z64_actor_t* this, z64_xyzf_t* pos, uint16_t params, uint32_t index) { + xflag_t flag = { 0 }; + ActorAdditionalData* extras = Actor_GetAdditionalData(this); + Actor_BuildFlag(this, &flag, extras->actor_id, index + 1); + flag = resolve_alternative_flag(&flag); + if (get_newflag_override(&flag).key.all) { + drop_collectible_override_flag = flag; + z64_actor_t* spawned = (z64_actor_t*)z64_Item_DropCollectible2(&z64_game, pos, params); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return spawned; + } + return (z64_actor_t*)z64_Item_DropCollectible2(&z64_game, pos, params); +} diff --git a/ASM/c/objects.c b/ASM/c/objects.c index 0aaf01a36e..cc526b5565 100644 --- a/ASM/c/objects.c +++ b/ASM/c/objects.c @@ -1,6 +1,7 @@ #include "objects.h" #include "z64.h" #include "get_items.h" +#include "item_table.h" extern uint8_t FIX_BROKEN_DROPS; @@ -24,13 +25,13 @@ int32_t object_index_or_spawn(z64_obj_ctxt_t* object_ctx, int16_t object_id) { void enitem00_set_link_incoming_item_id(z64_actor_t* actor, z64_game_t* game, int32_t incoming_item_id) { EnItem00* this = (EnItem00*)actor; - // Run z64_ActorSetLinkIncomingItemId regardless of FIX_BROKEN_DROPS - if (!z64_ActorSetLinkIncomingItemId(&this->actor, game, incoming_item_id, 50.0f, 10.0f) && FIX_BROKEN_DROPS) { + // Run z64_ActorOfferGetItem regardless of FIX_BROKEN_DROPS + if (!z64_ActorOfferGetItem(&this->actor, game, incoming_item_id, 50.0f, 10.0f) && FIX_BROKEN_DROPS) { switch (incoming_item_id) { - case 0x43: // GI_MAGIC_SMALL + case GI_MAGIC_JAR_SMALL: // GI_MAGIC_SMALL z64_GiveItem(game, Z64_ITEM_MAGIC_SMALL); break; - case 0x44: // GI_MAGIC_LARGE + case GI_MAGIC_JAR_LARGE: // GI_MAGIC_LARGE z64_GiveItem(game, Z64_ITEM_MAGIC_LARGE); break; } diff --git a/ASM/c/override.h b/ASM/c/override.h new file mode 100644 index 0000000000..60c293208c --- /dev/null +++ b/ASM/c/override.h @@ -0,0 +1,42 @@ +#ifndef OVERRIDE_H +#define OVERRIDE_H + +#include + +typedef union overide_key_t { + uint64_t all; + struct { + uint8_t scene; + uint8_t type; + uint16_t pad; + uint32_t flag; + }; +} override_key_t; + +// a type used when the cloak of an ice trap is irrelevant +typedef union override_value_base_t { + uint32_t all; + struct { + uint16_t item_id; + uint8_t player; + uint8_t _pad; + }; +} override_value_base_t; + +typedef struct { + override_value_base_t base; + uint16_t looks_like_item_id; + uint16_t _pad; +} override_value_t; + +typedef struct { + override_key_t key; + override_value_t value; +} override_t; + +typedef struct { + override_key_t alt; + override_key_t primary; +} alt_override_t; + +#endif diff --git a/ASM/c/ovl_bg_haka_tubo.c b/ASM/c/ovl_bg_haka_tubo.c new file mode 100644 index 0000000000..0c478d6653 --- /dev/null +++ b/ASM/c/ovl_bg_haka_tubo.c @@ -0,0 +1,17 @@ +#include "get_items.h" +#include "z64.h" +#include "actor.h" + +z64_actor_t* BgHakaTubo_DropCollectible_Hack(z64_actor_t* this, z64_xyzf_t* pos, uint16_t params, uint32_t index) { + xflag_t flag = { 0 }; + ActorAdditionalData* extras = Actor_GetAdditionalData(this); + Actor_BuildFlag(this, &flag, extras->actor_id, index + 1); + flag = resolve_alternative_flag(&flag); + if (get_newflag_override(&flag).key.all) { + drop_collectible_override_flag = flag; + z64_actor_t* spawned = (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, 0); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return spawned; + } + return (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, params); +} diff --git a/ASM/c/ovl_bg_spot18_basket.c b/ASM/c/ovl_bg_spot18_basket.c new file mode 100644 index 0000000000..d0907dd913 --- /dev/null +++ b/ASM/c/ovl_bg_spot18_basket.c @@ -0,0 +1,46 @@ +#include "get_items.h" +#include "z64.h" +#include "actor.h" + +z64_actor_t* BgSpot18Basket_BombDropHook(z64_actor_t* this, z64_xyzf_t* pos, uint32_t index) { + xflag_t flag = { 0 }; + ActorAdditionalData* extras = Actor_GetAdditionalData(this); + Actor_BuildFlag(this, &flag, extras->actor_id, index + 1); + flag = resolve_alternative_flag(&flag); + if (get_newflag_override(&flag).key.all) { + drop_collectible_override_flag = flag; + z64_actor_t* spawned = (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, 0); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return spawned; + } + return (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, 4); +} + +z64_actor_t* BgSpot18Basket_RupeeDropHook(z64_actor_t* this, z64_xyzf_t* pos, uint32_t index) { + xflag_t flag = { 0 }; + ActorAdditionalData* extras = Actor_GetAdditionalData(this); + Actor_BuildFlag(this, &flag, extras->actor_id, index + 4); + flag = resolve_alternative_flag(&flag); + if (get_newflag_override(&flag).key.all) { + drop_collectible_override_flag = flag; + z64_actor_t* spawned = (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, 0); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return spawned; + } + return (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, 0); +} + +z64_actor_t* BgSpot18Basket_Heartpiecerupee_DropHook(z64_actor_t* this, z64_xyzf_t* pos, uint16_t params) { + xflag_t flag = { 0 }; + ActorAdditionalData* extras = Actor_GetAdditionalData(this); + Actor_BuildFlag(this, &flag, extras->actor_id, params + 6); + flag = resolve_alternative_flag(&flag); + if (get_newflag_override(&flag).key.all) { + drop_collectible_override_flag = flag; + z64_actor_t* spawned = (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, 0); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return spawned; + } + + return (z64_actor_t*)z64_Item_DropCollectible(&z64_game, pos, params); +} diff --git a/ASM/c/pots.c b/ASM/c/pots.c index 5fcb488ff4..3aed34df4d 100644 --- a/ASM/c/pots.c +++ b/ASM/c/pots.c @@ -3,6 +3,8 @@ #include "gfx.h" #include "textures.h" #include "z64.h" +#include "get_items.h" +#include "actor.h" #define DUNGEON_POT_SIDE_TEXTURE (uint8_t*)0x050108A0 #define DUNGEON_POT_TOP_TEXTURE (uint8_t*)0x050118A0 @@ -13,7 +15,6 @@ #define POT_DLIST (z64_gfx_t*)0x060017C0 extern uint8_t POTCRATE_TEXTURES_MATCH_CONTENTS; -extern uint16_t drop_collectible_override_flag; extern uint8_t POTCRATE_GOLD_TEXTURE; extern uint8_t POTCRATE_GILDED_TEXTURE; extern uint8_t POTCRATE_SILVER_TEXTURE; @@ -21,38 +22,6 @@ extern uint8_t POTCRATE_SKULL_TEXTURE; extern uint8_t POTCRATE_HEART_TEXTURE; extern uint8_t SOA_UNLOCKS_POTCRATE_TEXTURE; -override_t get_pot_override(z64_actor_t* actor, z64_game_t* game) { - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = actor->rot_init.z; - dummy.actor.variable = 0; - - override_t override = lookup_override(&(dummy.actor), game->scene_index, 0); - if (override.key.all != 0) { - dummy.override = override; - if (!Get_CollectibleOverrideFlag(&dummy)) { - return override; - } - } - return (override_t) { 0 }; -} - -override_t get_flying_pot_override(z64_actor_t* actor, z64_game_t* game) { - EnItem00 dummy; - dummy.actor.actor_id = 0x15; - dummy.actor.rot_init.y = actor->rot_init.z; - dummy.actor.variable = 0; - - override_t override = lookup_override(&(dummy.actor), game->scene_index, 0); - if (override.key.all != 0) { - dummy.override = override; - if (!Get_CollectibleOverrideFlag(&dummy)) { - return override; - } - } - return (override_t) { 0 }; -} - void draw_pot(z64_actor_t* actor, z64_game_t* game) { // get original dlist and texture z64_gfx_t* dlist = DUNGEON_POT_DLIST; @@ -149,11 +118,18 @@ void draw_flying_pot_hack(z64_actor_t* actor, z64_game_t* game) { } void ObjTsubo_SpawnCollectible_Hack(z64_actor_t* this, z64_game_t* game) { + // If the pot contains an override that hasn't been collected, always drop + xflag_t* flag = &(Actor_GetAdditionalData(this)->flag); + if (flag->all && !Get_NewFlag(flag)) { + drop_collectible_override_flag = *flag; + EnItem00* spawned = z64_Item_DropCollectible(game, &this->pos_world, ((((this->variable >> 9) & 0x3F) << 8))); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return; + } + int16_t dropParams = this->variable & 0x1F; if ((dropParams >= ITEM00_RUPEE_GREEN) && (dropParams <= ITEM00_BOMBS_SPECIAL)) { - drop_collectible_override_flag = this->rot_init.z; EnItem00* spawned = z64_Item_DropCollectible(game, &this->pos_world, (dropParams | (((this->variable >> 9) & 0x3F) << 8))); - drop_collectible_override_flag = 0; } } @@ -161,9 +137,15 @@ void EnTuboTrap_DropCollectible_Hack(z64_actor_t* this, z64_game_t* game) { int16_t params = this->variable; int16_t param3FF = (params >> 6) & 0x3FF; + xflag_t* flag = &(Actor_GetAdditionalData(this)->flag); + if (flag->all && !Get_NewFlag(flag)) { + drop_collectible_override_flag = *flag; + EnItem00* spawned = z64_Item_DropCollectible(game, &this->pos_world, (params & 0x3F) << 8); + z64_bzero(&drop_collectible_override_flag, sizeof(drop_collectible_override_flag)); + return; + } + if (param3FF >= 0 && param3FF < 0x1A) { - drop_collectible_override_flag = this->rot_init.z; EnItem00* spawned = z64_Item_DropCollectible(game, &this->pos_world, param3FF | ((params & 0x3F) << 8)); - drop_collectible_override_flag = 0; } } diff --git a/ASM/c/ganon_boss_key.c b/ASM/c/sage_gifts.c similarity index 80% rename from ASM/c/ganon_boss_key.c rename to ASM/c/sage_gifts.c index c3d9ed7337..b37c875801 100644 --- a/ASM/c/ganon_boss_key.c +++ b/ASM/c/sage_gifts.c @@ -23,7 +23,21 @@ unsigned int countSetBitsRec(unsigned int num) uint8_t GANON_BOSS_KEY_CONDITION = 0; uint16_t GANON_BOSS_KEY_CONDITION_COUNT = 0; -void give_ganon_boss_key() { +void give_sage_gifts() { + // ToT Reward from Rauru + + if ( + z64_file.game_mode == 0 // normal gameplay + && z64_game.scene_index == 0x0043 // current scene: Temple of Time + && z64_game.room_index == 0x00 // current room: Master Sword chamber + && !(z64_file.event_chk_inf[4] & 0x0020) // flag not already set + ) { + push_delayed_item(0x04); + z64_file.event_chk_inf[4] |= 0x0020; + } + + // Gift from Sages + if (z64_file.game_mode == 0 && GANON_BOSS_KEY_CONDITION && !z64_file.dungeon_items[10].boss_key) { bool give_boss_key = false; switch (GANON_BOSS_KEY_CONDITION) { diff --git a/ASM/c/sage_gifts.h b/ASM/c/sage_gifts.h new file mode 100644 index 0000000000..58f52c58b9 --- /dev/null +++ b/ASM/c/sage_gifts.h @@ -0,0 +1,6 @@ +#ifndef SAGE_GIFTS_H +#define SAGE_GIFTS_H + +void give_sage_gifts(); + +#endif diff --git a/ASM/c/save.c b/ASM/c/save.c index 603b36d939..e2d40cf0f8 100644 --- a/ASM/c/save.c +++ b/ASM/c/save.c @@ -1,5 +1,6 @@ #include "z64.h" #include "save.h" +#include "file_select.h" #define SRAM_BASE 0x08000000 #define SRAM_SIZE 0x8000 @@ -30,14 +31,16 @@ extended_savecontext_static_t extended_savectx; void SsSram_ReadWrite_Safe(uint32_t addr, void* dramAddr, size_t size, uint32_t direction); // Override Sram_WriteSave to include the collectible flags in the checksum calculation. -void Sram_WriteSave(SramContext* sramCtx) { +void Sram_WriteSave(SramContext* sramCtx, extended_sram_file_t* sramFile) { uint16_t offset; uint16_t checksum; uint16_t* ptr; + z64_file_t* fileToSave = (sramFile == NULL) ? &z64_file : &(sramFile->original_save); + extended_savecontext_static_t* extendedSaveContextToSave = (sramFile == NULL) ? &extended_savectx : &(sramFile->additional_save_data.extended); + uint8_t* collectibleFlagsToSave = (sramFile == NULL) ? collectible_override_flags : (uint8_t*)(&(sramFile->original_save)) + SLOT_SIZE - (num_override_flags); + fileToSave->checksum = 0; + ptr = (uint16_t*)fileToSave; - z64_file.checksum = 0; - - ptr = (uint16_t*)&z64_file; checksum = 0; // Checksum calculation for original SaveContext data @@ -45,41 +48,41 @@ void Sram_WriteSave(SramContext* sramCtx) { checksum += *ptr++; } - ptr = (uint16_t*)&extended_savectx; - for (offset = 0; offset < sizeof(extended_savectx) / 2; offset++) { + ptr = (uint16_t*)extendedSaveContextToSave; + for (offset = 0; offset < sizeof(extended_savecontext_static_t) / 2; offset++) { checksum += *ptr++; } // Calculate the collectible flags in the checksum - ptr = (uint16_t*)collectible_override_flags; + ptr = (uint16_t*)collectibleFlagsToSave; for (offset = 0; offset < num_override_flags / 2; offset++) { checksum += *ptr++; } - z64_file.checksum = checksum; + fileToSave->checksum = checksum; // Write the base SaveContext data to the main slot - offset = SRAM_SLOTS[z64_file.file_index]; - SsSram_ReadWrite_Safe(SRAM_BASE + offset, &z64_file, SRAM_ORIGINAL_SLOT_SIZE, OS_WRITE); + offset = SRAM_SLOTS[fileToSave->file_index]; + SsSram_ReadWrite_Safe(SRAM_BASE + offset, fileToSave, SRAM_ORIGINAL_SLOT_SIZE, OS_WRITE); // Write the base SaveContext data to the backup slot - offset = SRAM_SLOTS[z64_file.file_index + 3]; - SsSram_ReadWrite_Safe(SRAM_BASE + offset, &z64_file, SRAM_ORIGINAL_SLOT_SIZE, OS_WRITE); + offset = SRAM_SLOTS[fileToSave->file_index + 3]; + SsSram_ReadWrite_Safe(SRAM_BASE + offset, fileToSave, SRAM_ORIGINAL_SLOT_SIZE, OS_WRITE); // Write the collectible flags to the back of the main slot - uint16_t slot_offset = SRAM_SLOTS[z64_file.file_index] + SLOT_SIZE - (num_override_flags); - SsSram_ReadWrite_Safe(SRAM_BASE + slot_offset, collectible_override_flags, num_override_flags, OS_WRITE); + uint16_t slot_offset = SRAM_SLOTS[fileToSave->file_index] + SLOT_SIZE - (num_override_flags); + SsSram_ReadWrite_Safe(SRAM_BASE + slot_offset, collectibleFlagsToSave, num_override_flags, OS_WRITE); // Write the extended Save Context data to the main slot - offset = SRAM_SLOTS[z64_file.file_index] + SRAM_ORIGINAL_SLOT_SIZE; - SsSram_ReadWrite_Safe(SRAM_BASE + offset, &extended_savectx, sizeof(extended_savecontext_static_t), OS_WRITE); + offset = SRAM_SLOTS[fileToSave->file_index] + SRAM_ORIGINAL_SLOT_SIZE; + SsSram_ReadWrite_Safe(SRAM_BASE + offset, extendedSaveContextToSave, sizeof(extended_savecontext_static_t), OS_WRITE); // Write the collectible flags to the back of the backup slot - slot_offset = SRAM_SLOTS[z64_file.file_index + 3] + SLOT_SIZE - (num_override_flags); - SsSram_ReadWrite_Safe(SRAM_BASE + slot_offset, collectible_override_flags, num_override_flags, OS_WRITE); + slot_offset = SRAM_SLOTS[fileToSave->file_index + 3] + SLOT_SIZE - (num_override_flags); + SsSram_ReadWrite_Safe(SRAM_BASE + slot_offset, collectibleFlagsToSave, num_override_flags, OS_WRITE); // Write the extended Save Context data to the backup slot - offset = SRAM_SLOTS[z64_file.file_index + 3] + SRAM_ORIGINAL_SLOT_SIZE; - SsSram_ReadWrite_Safe(SRAM_BASE + offset, &extended_savectx, sizeof(extended_savecontext_static_t), OS_WRITE); + offset = SRAM_SLOTS[fileToSave->file_index + 3] + SRAM_ORIGINAL_SLOT_SIZE; + SsSram_ReadWrite_Safe(SRAM_BASE + offset, extendedSaveContextToSave, sizeof(extended_savecontext_static_t), OS_WRITE); } // Override the Sram_VerifyAndLoadAllSaves function. Only check our new 2 slots (and their backups). @@ -89,7 +92,6 @@ void Sram_VerifyAndLoadAllSaves(z64_FileChooseContext_t* fileChooseCtx, SramCont uint16_t newChecksum; uint16_t slotNum; uint16_t offset; - uint16_t j; uint16_t oldChecksum; uint16_t* ptr; uint16_t dayTime; @@ -109,13 +111,13 @@ void Sram_VerifyAndLoadAllSaves(z64_FileChooseContext_t* fileChooseCtx, SramCont oldChecksum = z64_file.checksum; z64_file.checksum = 0; ptr = (uint16_t*)&z64_file; - - for (i = newChecksum = j = 0; i < CHECKSUM_SIZE; i++) { + newChecksum = 0; + for (i = 0; i < CHECKSUM_SIZE; i++) { newChecksum += *ptr++; } // Calculate the extended savectx in the checksum ptr = (uint16_t*)&extended_savectx; - for (i = 0; i < sizeof(extended_savectx) / 2; i++) { + for (i = 0; i < sizeof(extended_savecontext_static_t) / 2; i++) { newChecksum += *ptr++; } // Calculate the collectible flags in the checksum @@ -130,12 +132,19 @@ void Sram_VerifyAndLoadAllSaves(z64_FileChooseContext_t* fileChooseCtx, SramCont // checksum didnt match, try backup save offset = SRAM_SLOTS[slotNum + 3]; z64_memcopy(&z64_file, sramCtx->readBuff + offset, SAVE_SIZE); + z64_memcopy(&extended_savectx, sramCtx->readBuff + offset + SRAM_ORIGINAL_SLOT_SIZE, sizeof(extended_savecontext_static_t)); z64_memcopy(collectible_override_flags, sramCtx->readBuff + offset + SLOT_SIZE - num_override_flags, num_override_flags); oldChecksum = z64_file.checksum; z64_file.checksum = 0; ptr = (uint16_t*)&z64_file; - for (i = newChecksum = j = 0; i < CHECKSUM_SIZE; i++) { + newChecksum = 0; + for (i = 0; i < CHECKSUM_SIZE; i++) { + newChecksum += *ptr++; + } + // Calculate the extended savectx in the checksum + ptr = (uint16_t*)&extended_savectx; + for (i = 0; i < sizeof(extended_savecontext_static_t) / 2; i++) { newChecksum += *ptr++; } // Calculate the collectible flags in the checksum @@ -146,40 +155,33 @@ void Sram_VerifyAndLoadAllSaves(z64_FileChooseContext_t* fileChooseCtx, SramCont // "(B) SAVE checksum calculation" if (newChecksum != oldChecksum) { - // backup save didnt work, make new save - z64_bzero(&z64_file.entrance_index, sizeof(int32_t)); - z64_bzero(&z64_file.link_age, sizeof(int32_t)); - z64_bzero(&z64_file.cutscene_index, sizeof(int32_t)); - // note that z64_file.dayTime is not actually the sizeof(int32_t) - z64_bzero(&z64_file.day_time, sizeof(int32_t)); - z64_bzero(&z64_file.night_flag, sizeof(int32_t)); - z64_bzero(&z64_file.total_days, sizeof(int32_t)); - z64_bzero(&z64_file.bgs_day_count, sizeof(int32_t)); - - Sram_InitNewSave(); + // backup save didnt work, erase save - ptr = (uint16_t*)&z64_file; - - for (i = newChecksum = j = 0; i < CHECKSUM_SIZE; i++) { - newChecksum += *ptr++; - } - z64_file.checksum = newChecksum; + // Zeroize the entire file in sram buffer for both original and backup slot + z64_bzero(sramCtx->readBuff + SRAM_SLOTS[slotNum], SLOT_SIZE); + z64_bzero(sramCtx->readBuff + SRAM_SLOTS[slotNum + 3], SLOT_SIZE); + // Write the empty slots to SRAM + i = SRAM_SLOTS[slotNum]; + SsSram_ReadWrite_Safe(SRAM_BASE + i, sramCtx->readBuff + i, SLOT_SIZE, OS_WRITE); i = SRAM_SLOTS[slotNum + 3]; - SsSram_ReadWrite_Safe(SRAM_BASE + i, &z64_file, SRAM_ORIGINAL_SLOT_SIZE, OS_WRITE); - z64_bzero(collectible_override_flags, num_override_flags); + SsSram_ReadWrite_Safe(SRAM_BASE + i, sramCtx->readBuff + i, SLOT_SIZE, OS_WRITE); } + else { + // Backup save is good so copy it to the original + z64_memcopy(sramCtx->readBuff + SRAM_SLOTS[slotNum], sramCtx->readBuff + SRAM_SLOTS[slotNum + 3], SLOT_SIZE); - i = SRAM_SLOTS[slotNum]; - SsSram_ReadWrite_Safe(SRAM_BASE + i, &z64_file, SRAM_ORIGINAL_SLOT_SIZE, OS_WRITE); - - uint16_t slot_offset = i + SLOT_SIZE - (num_override_flags); - SsSram_ReadWrite_Safe(SRAM_BASE + slot_offset, collectible_override_flags, num_override_flags, OS_WRITE); + // Write the original slot + SsSram_ReadWrite_Safe(SRAM_BASE + SRAM_SLOTS[slotNum], sramCtx->readBuff + SRAM_SLOTS[slotNum], SLOT_SIZE, OS_WRITE); + } } } + // Finished verifying each slot, read the entire contents of SRAM again z64_bzero(sramCtx->readBuff, SRAM_SIZE); SsSram_ReadWrite_Safe(SRAM_BASE, sramCtx->readBuff, SRAM_SIZE, OS_READ); + + // Populate data for the file select screen z64_file.day_time = dayTime; z64_memcopy(&fileChooseCtx->deaths[0], sramCtx->readBuff + SRAM_SLOTS[0] + DEATHS_OFFSET, sizeof(fileChooseCtx->deaths[0])); @@ -238,6 +240,21 @@ void Sram_CopySave(z64_FileChooseContext_t* fileChooseCtx, SramContext* sramCtx) } +// Reimplementation of Sram_EraseSave. Actually just erase the entire slot and backup slot instead of create a new blank file +void Sram_EraseSave(z64_FileChooseContext_t* fileChooseCtx, SramContext* sramCtx) { + // Zero out the data in the primary slot + int32_t offset = SRAM_SLOTS[fileChooseCtx->selectedFileIndex]; + z64_bzero(sramCtx->readBuff + offset, SLOT_SIZE); + // Write to SRAM + SsSram_ReadWrite_Safe(SRAM_BASE + offset, sramCtx->readBuff + offset, SLOT_SIZE, OS_WRITE); + + // Zero out the data in the secondary slot + offset = SRAM_SLOTS[fileChooseCtx->selectedFileIndex + 3]; + z64_bzero(sramCtx->readBuff + offset, SLOT_SIZE); + // Write to SRAM + SsSram_ReadWrite_Safe(SRAM_BASE + offset, sramCtx->readBuff + offset, SLOT_SIZE, OS_WRITE); +} + // Hook the Save Write function to write the flags to SRAM void Save_Write_Hook(uint32_t addr, void* dramAddr, size_t size, uint32_t direction) { // Save the original data to SRAM diff --git a/ASM/c/save.h b/ASM/c/save.h index 5f37228b95..bd03884c72 100644 --- a/ASM/c/save.h +++ b/ASM/c/save.h @@ -1,13 +1,16 @@ #ifndef SAVE_H #define SAVE_H -#include "z64.h" +#include +#include "override.h" // Struct for storing additional data in SRAM. This has to always be a multiple of 2 bytes long supposedly. typedef struct { uint8_t silver_rupee_counts[0x16]; + bool collected_dungeon_rewards[8]; + override_t incoming_queue[3]; + uint8_t password[6]; uint8_t extended_scale; - uint8_t pad; } extended_savecontext_static_t __attribute__ ((aligned (8))); diff --git a/ASM/c/scene.h b/ASM/c/scene.h index fb751ff368..c0a2502ef5 100644 --- a/ASM/c/scene.h +++ b/ASM/c/scene.h @@ -1 +1,4 @@ +#include + +extern int8_t curr_scene_setup; void get_current_scene_setup_number(); diff --git a/ASM/c/sys_matrix.h b/ASM/c/sys_matrix.h index 68b527d56b..37b41854d2 100644 --- a/ASM/c/sys_matrix.h +++ b/ASM/c/sys_matrix.h @@ -10,6 +10,7 @@ typedef void (*scale_sys_matrix_fn)(float x, float y, float z, int32_t in_place_ typedef void (*rotate_Z_sys_matrix_fn)(float z, int32_t in_place_flag); typedef void (*update_sys_matrix_fn)(float mf[4][4]); typedef Mtx* (*append_sys_matrix_fn)(z64_gfx_t* gfx); +typedef void (*convert_matrix_fn)(const float* in, uint16_t* out); #define duplicate_sys_matrix ((duplicate_sys_matrix_fn)0x800AA6EC) #define pop_sys_matrix ((pop_sys_matrix_fn)0x800AA724) @@ -18,5 +19,6 @@ typedef Mtx* (*append_sys_matrix_fn)(z64_gfx_t* gfx); #define rotate_Z_sys_matrix ((rotate_Z_sys_matrix_fn)0x800AAD4C) #define update_sys_matrix ((update_sys_matrix_fn)0x800ABE54) #define append_sys_matrix ((append_sys_matrix_fn)0x800AB900) +#define convert_matrix ((convert_matrix_fn)0x800AB6BC) #endif diff --git a/ASM/c/text.c b/ASM/c/text.c index f07fc128de..6bb454e275 100644 --- a/ASM/c/text.c +++ b/ASM/c/text.c @@ -4,9 +4,9 @@ #include "util.h" #include "z64.h" -#define text_max_chars 256 -#define text_bucket_count 6 -#define text_bucket_size 18 +const int FONT_CHAR_TEX_WIDTH = 16; +const int FONT_CHAR_TEX_HEIGHT = 16; +const int NUM_FONT_CHARS = 95; typedef struct { uint32_t c : 8; @@ -14,59 +14,22 @@ typedef struct { uint32_t top : 12; } text_char_t; -static text_char_t* text_end = NULL; -static text_char_t* text_buf = NULL; - -void text_init() { - text_buf = heap_alloc(text_max_chars * sizeof(text_char_t)); - text_end = text_buf; +void print_char(z64_disp_buf_t* db, char c, int x, int y, int width, int height) { + sprite_texture(db, &font_sprite, (c - ' '), x, y, width, height); } -int text_print_size(const char* s, int left, int top, int width) { - char c; - int count = 0; - while (c = *(s++)) { - if (text_end >= text_buf + text_max_chars) break; - text_end->c = c; - text_end->left = left; - text_end->top = top; - text_end++; +int text_print_size(z64_disp_buf_t* db, const char* s, int left, int top, int width, int height) { + while (*s != 0x00) { + print_char(db, *s, left, top, width, height); left += width; - count++; - } - return count; -} - -int text_print(const char* s, int left, int top) { - return text_print_size(s, left, top, font_sprite.tile_w); -} - -void text_flush_size(z64_disp_buf_t* db, int width, int height, int hoffset, int voffset) { - for (int i = 0; i < text_bucket_count; i++) { - sprite_load(db, &font_sprite, - i * text_bucket_size, text_bucket_size); - - text_char_t* text_p = text_buf; - while (text_p < text_end) { - char c = text_p->c; - int left = text_p->left + hoffset; - int top = text_p->top + voffset; - text_p++; - - int bucket = (c - 32) / text_bucket_size; - if (bucket != i) continue; - - int tile_index = (c - 32) % text_bucket_size; - sprite_draw(db, &font_sprite, tile_index, - left, top, width, height); - } + s++; } - text_end = text_buf; + return left; } -void text_flush(z64_disp_buf_t* db) { - text_flush_size(db, font_sprite.tile_w, font_sprite.tile_h, 0, 0); +int text_print(z64_disp_buf_t* db, const char* s, int left, int top) { + return text_print_size(db, s, left, top, font_sprite.tile_w, font_sprite.tile_h); } int draw_int(z64_disp_buf_t* db, int32_t number, int16_t left, int16_t top, colorRGBA8_t color) { @@ -96,8 +59,7 @@ int draw_int_size(z64_disp_buf_t* db, int32_t number, int16_t left, int16_t top, // Set the color gDPSetPrimColor(db->p++, 0, 0, color.r, color.g, color.b, color.a); if (isNegative) { - text_print_size("-", left - rupee_digit_sprite.tile_w, top, width); - text_flush_size(db, width, height, 0, 0); + text_print_size(db, "-", left - rupee_digit_sprite.tile_w, top, width, height); } // Draw each digit for (uint8_t c = j; c > 0; c--) { diff --git a/ASM/c/text.h b/ASM/c/text.h index 6cdd7f5584..78e44ba9db 100644 --- a/ASM/c/text.h +++ b/ASM/c/text.h @@ -4,10 +4,8 @@ #include "z64.h" void text_init(); -int text_print(const char* s, int left, int top); -int text_print_size(const char* s, int left, int top, int width); -void text_flush(z64_disp_buf_t* db); -void text_flush_size(z64_disp_buf_t* db, int width, int height, int hoffset, int voffset); +int text_print(z64_disp_buf_t* db, const char* s, int left, int top); +int text_print_size(z64_disp_buf_t* db, const char* s, int left, int top, int width, int height); int draw_int(z64_disp_buf_t* db, int32_t number, int16_t left, int16_t top, colorRGBA8_t color); int draw_int_size(z64_disp_buf_t* db, int32_t number, int16_t left, int16_t top, colorRGBA8_t color, int16_t width, int16_t height); diff --git a/ASM/c/trade_quests.c b/ASM/c/trade_quests.c index f6281e2722..1a3d96cc99 100644 --- a/ASM/c/trade_quests.c +++ b/ASM/c/trade_quests.c @@ -1,6 +1,6 @@ #include "trade_quests.h" -extern uint16_t CFG_ADULT_TRADE_SHUFFLE; +extern uint8_t CFG_ADULT_TRADE_SHUFFLE; const exchange_item_t trade_quest_items[] = { { 0, Z64_ITEM_WEIRD_EGG, Z64_EXCH_ITEM_WEIRD_EGG, PLAYER_AP_WEIRD_EGG , 0 }, // "Weird Egg" diff --git a/ASM/c/triforce.c b/ASM/c/triforce.c index 0dc5c73aba..670bf32e64 100644 --- a/ASM/c/triforce.c +++ b/ASM/c/triforce.c @@ -16,13 +16,13 @@ void set_triforce_render() { void draw_triforce_count(z64_disp_buf_t* db) { // Must be triforce hunt and triforce should be drawable, and we should either be on the pause screen or the render triforce flag should be set - if (!(TRIFORCE_HUNT_ENABLED && CAN_DRAW_TRIFORCE && (render_triforce_flag == 1 || z64_game.pause_ctxt.state == 6))) { + if (!(TRIFORCE_HUNT_ENABLED && CAN_DRAW_TRIFORCE && (render_triforce_flag == 1 || z64_game.pause_ctxt.state == PAUSE_STATE_MAIN))) { return; } uint8_t alpha; // In the pause screen always draw - if (z64_game.pause_ctxt.state == 6) { + if (z64_game.pause_ctxt.state == PAUSE_STATE_MAIN) { alpha = 255; frames = frames % (TRIFORCE_SPRITE_FRAMES * FRAMES_PER_CYCLE); } else { @@ -90,7 +90,7 @@ void draw_triforce_count(z64_disp_buf_t* db) { gDPSetCombineMode(db->p++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetPrimColor(db->p++, 0, 0, 0xDA, 0xD3, 0x0B, alpha); - text_print(text , draw_x, draw_y_text); + text_print(db, text, draw_x, draw_y_text); draw_x += str_len * font_sprite.tile_w; gDPSetPrimColor(db->p++, 0, 0, 0xF4, 0xEC, 0x30, alpha); @@ -98,6 +98,4 @@ void draw_triforce_count(z64_disp_buf_t* db) { int sprite = (frames / FRAMES_PER_CYCLE) % TRIFORCE_SPRITE_FRAMES; sprite_load(db, &triforce_sprite, sprite, 1); sprite_draw(db, &triforce_sprite, 0, draw_x, draw_y_triforce, triforce_sprite.tile_w, triforce_sprite.tile_h); - - text_flush(db); } diff --git a/ASM/c/uninvertYaxis.c b/ASM/c/uninvertYaxis.c index f251b2c788..144d05edbf 100644 --- a/ASM/c/uninvertYaxis.c +++ b/ASM/c/uninvertYaxis.c @@ -9,6 +9,10 @@ void manage_uninvert_yaxis() { if (z64_MessageGetState(((uint8_t*)(&z64_game)) + 0x20D8) == 4) { return; } + // Also never in pause menu. + if (z64_game.pause_ctxt.state == PAUSE_STATE_MAIN) { + return; + } if (z64_game.camera_mode == CAM_MODE_FIRST_PERSON || z64_game.camera_mode == CAM_MODE_AIM_ADULT || z64_game.camera_mode == CAM_MODE_AIM_BOOMERANG || diff --git a/ASM/c/util.c b/ASM/c/util.c index 7212ae816c..bb253a060c 100644 --- a/ASM/c/util.c +++ b/ASM/c/util.c @@ -1,4 +1,6 @@ #include "util.h" +#include "z64.h" +#include "actor.h" extern char C_HEAP[]; void* heap_next = NULL; @@ -20,3 +22,11 @@ void file_init(file_t* file) { file->buf = heap_alloc(file->size); read_file(file->buf, file->vrom_start, file->size); } + +void* resolve_overlay_addr(void* addr, uint16_t overlay_id) { + ActorOverlay overlay = gActorOverlayTable[overlay_id]; + if (overlay.loadedRamAddr) { + return addr - overlay.vramStart + overlay.loadedRamAddr; + } + return NULL; +} diff --git a/ASM/c/util.h b/ASM/c/util.h index 77f1e473c5..f24f277c9c 100644 --- a/ASM/c/util.h +++ b/ASM/c/util.h @@ -19,5 +19,6 @@ typedef void (*read_file_fn)(void* mem_addr, uint32_t vrom_addr, #define read_file ((read_file_fn)0x80000DF0) void file_init(file_t* file); +void* resolve_overlay_addr(void* addr, uint16_t overlay_id); #endif diff --git a/ASM/c/z64.h b/ASM/c/z64.h index 4935252644..87333694b7 100644 --- a/ASM/c/z64.h +++ b/ASM/c/z64.h @@ -27,6 +27,7 @@ #define Z64_ETAB_LENGTH 0x0614 #define NA_BGM_SMALL_ITEM_GET 0x39 +#define NA_SE_SY_CORRECT_CHIME 0x4802 #define NA_SE_SY_GET_RUPY 0x4803 #define NA_SE_SY_GET_ITEM 0x4824 #define NA_SE_SY_ERROR 0x4806 @@ -366,7 +367,7 @@ typedef enum { PLAYER_AP_MASK_GERUDO, PLAYER_AP_MASK_TRUTH, PLAYER_AP_LENS, - PLAYER_AP_MAX + PLAYER_AP_MAX, } z64_action_parameter_t; typedef enum { @@ -420,7 +421,7 @@ typedef enum { SI_BOMBS_5_R35, SI_RED_POTION_R40, SI_RED_POTION_R50, - SI_MAX + SI_MAX, } z64_shop_item_t; typedef enum { @@ -457,6 +458,22 @@ typedef enum { Z64_ITEMBTN_CR, } z64_itembtn_t; +typedef enum { + /* 0x00 */ ACTORCAT_SWITCH, + /* 0x01 */ ACTORCAT_BG, + /* 0x02 */ ACTORCAT_PLAYER, + /* 0x03 */ ACTORCAT_EXPLOSIVE, + /* 0x04 */ ACTORCAT_NPC, + /* 0x05 */ ACTORCAT_ENEMY, + /* 0x06 */ ACTORCAT_PROP, + /* 0x07 */ ACTORCAT_ITEMACTION, + /* 0x08 */ ACTORCAT_MISC, + /* 0x09 */ ACTORCAT_BOSS, + /* 0x0A */ ACTORCAT_DOOR, + /* 0x0B */ ACTORCAT_CHEST, + /* 0x0C */ ACTORCAT_MAX, +} ActorCategory; + typedef struct { char unk_00_[0x006E]; /* 0x0000 */ int16_t run_speed_limit; /* 0x006E */ @@ -784,11 +801,13 @@ typedef struct { uint16_t disable_music_flag; /* 0x140E */ char unk_18_[0x0002]; /* 0x1410 */ uint16_t cutscene_next; /* 0x1412 */ - char unk_19_[0x0010]; /* 0x1414 */ + char unk_19_[0x0006]; /* 0x1414 */ + uint16_t skybox_time; /* 0x141A */ + char unk_1A_[0x0008]; /* 0x141C */ uint16_t refill_hearts; /* 0x1424 */ - char unk_1A_[0x000A]; /* 0x1426 */ + char unk_1B_[0x000A]; /* 0x1426 */ z64_gameinfo_t* gameinfo; /* 0x1430 */ - char unk_1B_[0x001C]; /* 0x1434 */ + char unk_1C_[0x001C]; /* 0x1434 */ /* 0x1450 */ } z64_file_t; @@ -808,6 +827,8 @@ typedef struct { extended_save_data_t additional_save_data; } extended_sram_file_t; +void Sram_WriteSave(SramContext* sramCtx, extended_sram_file_t* sramFile); + typedef struct { uint8_t sound_options; /* 0x0000 */ uint8_t z_target_options; /* 0x0001 */ @@ -920,6 +941,33 @@ typedef enum { } actor_type_t; typedef struct z64_actor_s z64_actor_t; +struct z64_game_t; +typedef void (*ActorFunc)(z64_actor_t*, struct z64_game_t*); + +typedef struct { + /* 0x00 */ int16_t id; + /* 0x02 */ uint8_t category; // Classifies actor and determines when it will update or draw + /* 0x04 */ uint32_t flags; + /* 0x08 */ int16_t objectId; + /* 0x0C */ uint32_t instanceSize; + /* 0x10 */ ActorFunc init; // Constructor + /* 0x14 */ ActorFunc destroy; // Destructor + /* 0x18 */ ActorFunc update; // Update Function + /* 0x1C */ ActorFunc draw; // Draw function +} ActorInit; // size = 0x20 + +typedef struct { + /* 0x00 */ uintptr_t vromStart; + /* 0x04 */ uintptr_t vromEnd; + /* 0x08 */ void* vramStart; + /* 0x0C */ void* vramEnd; + /* 0x10 */ void* loadedRamAddr; // original name: "allocp" + /* 0x14 */ ActorInit* initInfo; + /* 0x18 */ char* name; + /* 0x1C */ uint16_t allocType; // See `ACTOROVL_ALLOC_` defines + /* 0x1E */ int8_t numLoaded; // original name: "clients" +} ActorOverlay; // size = 0x20 + struct z64_actor_s { int16_t actor_id; /* 0x0000 */ @@ -962,7 +1010,9 @@ struct z64_actor_s uint8_t damage_effect; /* 0x00B1 */ char unk_0E_[0x0002]; /* 0x00B2 */ z64_rot_t rot_2; /* 0x00B4 */ - char unk_0F_[0x0046]; /* 0x00BA */ + int16_t face; /* 0x00BA */ + float yOffset; /* 0x00BC */ + char unk_0F_[0x0040]; /* 0x00C0 */ z64_xyzf_t pos_4; /* 0x0100 */ uint16_t unk_10_; /* 0x010C */ uint16_t text_id; /* 0x010E */ @@ -1318,7 +1368,7 @@ typedef enum { /* 0x12 */ CAM_MODE_STILL, // Attacks without Z pressed, falling in air from knockback /* 0x13 */ CAM_MODE_PUSH_PULL, /* 0x14 */ CAM_MODE_FOLLOW_BOOMERANG, // Boomerang has been thrown, force-target the boomerang as it flies - /* 0x15 */ CAM_MODE_MAX + /* 0x15 */ CAM_MODE_MAX, } CameraModeType; /* game context */ @@ -1829,6 +1879,43 @@ typedef struct EnGSwitch /* 0x01C8 */ uint8_t effects[0x1130]; // EnGSwitchEffect[100] } EnGSwitch; // size = 0x12F8 +typedef enum { + /* 0 */ PAUSE_STATE_OFF, + /* 1 */ PAUSE_STATE_WAIT_LETTERBOX, // Request no letterboxing and wait for it. + /* 2 */ PAUSE_STATE_WAIT_BG_PRERENDER, // Wait for the pause background prerender to be done. + /* 3 */ PAUSE_STATE_INIT, // Load data and initialize/setup various things. + /* 4 */ PAUSE_STATE_OPENING_1, // Animate the pause menu coming together with rotations and other animations. + /* 5 */ PAUSE_STATE_OPENING_2, // Finish some animations for opening the menu. + /* 6 */ PAUSE_STATE_MAIN, // Pause menu ready for player inputs. + /* 7 */ PAUSE_STATE_SAVE_PROMPT, // Save prompt in the pause menu + /* 8 */ PAUSE_STATE_8, + /* 9 */ PAUSE_STATE_9, + /* 10 */ PAUSE_STATE_10, + /* 11 */ PAUSE_STATE_11, + /* 12 */ PAUSE_STATE_12, + /* 13 */ PAUSE_STATE_13, + /* 14 */ PAUSE_STATE_14, + /* 15 */ PAUSE_STATE_15, + /* 16 */ PAUSE_STATE_16, + /* 17 */ PAUSE_STATE_17, + /* 18 */ PAUSE_STATE_CLOSING, // Animate the pause menu closing + /* 19 */ PAUSE_STATE_RESUME_GAMEPLAY // Handles returning to normal gameplay once the pause menu is visually closed +} PauseState; + +// Sub-states of PAUSE_STATE_MAIN +typedef enum { + /* 0 */ PAUSE_MAIN_STATE_IDLE, + /* 1 */ PAUSE_MAIN_STATE_1, + /* 2 */ PAUSE_MAIN_STATE_2, + /* 3 */ PAUSE_MAIN_STATE_3, + /* 4 */ PAUSE_MAIN_STATE_4, + /* 5 */ PAUSE_MAIN_STATE_5, + /* 6 */ PAUSE_MAIN_STATE_6, + /* 7 */ PAUSE_MAIN_STATE_7, + /* 8 */ PAUSE_MAIN_STATE_8, + /* 9 */ PAUSE_MAIN_STATE_9 +} PauseMainState; + typedef enum { /* 0 */ PAUSE_BG_PRERENDER_OFF, // Inactive, do nothing. /* 1 */ PAUSE_BG_PRERENDER_SETUP, // The current frame is only drawn for the purpose of serving as the pause background. @@ -1910,7 +1997,8 @@ typedef enum { #define z64_ObjectSpawn_addr 0x800812F0 #define z64_ObjectIndex_addr 0x80081628 #define z64_ObjectIsLoaded_addr 0x80081688 -#define z64_ActorSetLinkIncomingItemId_addr 0x80022CF4 +#define z64_ActorOfferGetItem_addr 0x80022BD4 +#define z64_ActorHasParent_addr 0x80022BB0 #define SsSram_ReadWrite_addr 0x80091474 #define z64_memcopy_addr 0x80057030 #define z64_bzero_addr 0x80002E80 @@ -2002,8 +2090,8 @@ typedef int32_t(*z64_ObjectSpawn_proc) (z64_obj_ctxt_t* object_ctx, int16_t o typedef int32_t(*z64_ObjectIndex_proc) (z64_obj_ctxt_t* object_ctx, int16_t object_id); typedef int32_t(*z64_ObjectIsLoaded_proc) (z64_obj_ctxt_t* object_ctx, int32_t bank_index); -typedef int32_t(*z64_ActorSetLinkIncomingItemId_proc) (z64_actor_t* actor, z64_game_t* game, - int32_t get_item_id, float xz_range, float y_range); +typedef int32_t (*z64_ActorHasParent_proc)(z64_actor_t* actor, z64_game_t* game); +typedef int32_t (*z64_ActorOfferGetItem_proc)(z64_actor_t* actor, z64_game_t* game, int32_t get_item_id, float xz_range, float y_range); typedef void(*z64_RandSeed_proc) (uint32_t seed); typedef float(*z64_Rand_ZeroOne_proc)(); typedef void(*Font_LoadChar_proc)(void* font, uint8_t character, uint16_t codePointIndex); @@ -2092,7 +2180,8 @@ typedef void(*z64_Play_SetupRespawnPoint_proc)(z64_game_t *game, int32_t respawn #define z64_ObjectIndex ((z64_ObjectIndex_proc)z64_ObjectIndex_addr) #define z64_ObjectIsLoaded ((z64_ObjectIsLoaded_proc)z64_ObjectIsLoaded_addr) -#define z64_ActorSetLinkIncomingItemId ((z64_ActorSetLinkIncomingItemId_proc)z64_ActorSetLinkIncomingItemId_addr) +#define z64_ActorHasParent ((z64_ActorHasParent_proc)z64_ActorHasParent_addr) +#define z64_ActorOfferGetItem ((z64_ActorOfferGetItem_proc)z64_ActorOfferGetItem_addr) #define SsSram_ReadWrite ((SsSram_ReadWrite_proc)SsSram_ReadWrite_addr) #define z64_memcopy ((z64_memcopy_proc)z64_memcopy_addr) #define z64_bzero ((z64_bzero_proc)z64_bzero_addr) @@ -2380,4 +2469,7 @@ typedef void(*z64_Play_SetupRespawnPoint_proc)(z64_game_t *game, int32_t respawn #define ITEMGETINF_3B 0x3B #define ITEMGETINF_3F 0x3F +extern void Fault_AddHungupAndCrashImpl(const char* msg1, const char* msg2); +extern int32_t sprintf(char* dst, char* fmt, ...); + #endif diff --git a/ASM/ootSymbols.ld b/ASM/ootSymbols.ld index 5f0fef10e4..53a2a1c146 100644 --- a/ASM/ootSymbols.ld +++ b/ASM/ootSymbols.ld @@ -1,6 +1,26 @@ /* Addresses should be listed in order */ z64_EquippedItemOutlineTex = 0x2000E00; +Flags_GetSwitch = 0x8002049C; +Flags_SetSwitch = 0x800204D0; +Flags_UnsetSwitch = 0x80020510; +Flags_GetUnknown = 0x80020554; +Flags_SetUnknown = 0x80020588; +Flags_UnsetUnknown = 0x800205C8; +Flags_GetTreasure = 0x8002060C; +Flags_SetTreasure = 0x80020624; +Flags_GetClear = 0x80020640; +Flags_SetClear = 0x80020658; +Flags_UnsetClear = 0x80020674; +Flags_GetTempClear = 0x80020694; +Flags_SetTempClear = 0x800206AC; +Flags_UnsetTempClear = 0x800206C8; +Flags_GetCollectible = 0x800206E8; +Flags_SetCollectible = 0x8002071C; +Actor_SetColorFilter = 0x80027090; z64_Gfx_SetupDL_42Opa = 0x8007E868; +Audio_StopCurrentMusic = 0x800C7684; +sprintf = 0x800CE7b4; +Fault_AddHungupAndCrashImpl = 0x800AF564; z64_ItemIcons = 0x800F8D2C; z64_SfxDefaultPos = 0x80104394; z64_SfxDefaultFreqAndVolScale = 0x801043A0; @@ -16,3 +36,5 @@ z64_SlotAgeReqs = 0x8039F114; z64_sEquipState = 0x8039EAB0; z64_sEquipAnimTimer = 0x8039EAB4; z64_sEquipMoveTimer = 0x8039EAB8; +gActorOverlayTable = 0x800E8530; +Message_CloseTextbox = 0x800d6218; diff --git a/ASM/src/actor.asm b/ASM/src/actor.asm new file mode 100644 index 0000000000..c0c3b5a474 --- /dev/null +++ b/ASM/src/actor.asm @@ -0,0 +1,119 @@ +CURR_ACTOR_SPAWN_INDEX: +.halfword 0x0000 +.halfword 0x0000 + +; Hacks Actor_UpdateAll so that we can override actor spawns. +Actor_UpdateAll_Hook: +;A0 - Actor Context +;A1 - Actor Entry +;A2 - Global Context +;S0 - Actor Index (0 indexed. Add 1 when storing to the actor) +;V0 - after the call to Actor_Spawn will contain the address of the actor + addiu sp, sp, -0x50 + sw t0, 0x20(sp) + sw t1, 0x24(sp) + sw t2, 0x28(sp) + sw a0, 0x2C(sp) + sw a1, 0x30(sp) + sw a2, 0x34(sp) + sw s0, 0x38(sp) + sw s1, 0x3C(sp) + sw ra, 0x40(sp) + + addiu s0, 1 + sh s0, CURR_ACTOR_SPAWN_INDEX ; Store the actor index in a global variable so we can easily pass it into other functions + + jal 0x800255C4 ; Call Actor_SpawnEntry + nop + + lw a1, 0x30(sp) + + ; Make sure the actor was spawned + beqz v0, @@end + nop +@@call_hack: + or a0, r0, v0 ;move the actor pointer to a0 + lw a1, 0x34(sp) ; Get the game context off the stack to pass into the hack. + jal Actor_After_UpdateAll_Hack ; Call our hack + nop +@@end: + sh r0, CURR_ACTOR_SPAWN_INDEX ; Clear CURR_ACTOR_SPAWN_INDEX + lw t0, 0x20(sp) + lw t1, 0x24(sp) + lw t2, 0x28(sp) + lw a0, 0x2C(sp) + lw a1, 0x30(sp) + lw a2, 0x34(sp) + lw s0, 0x38(sp) + lw s1, 0x3C(sp) + lw ra, 0x40(sp) + jr ra + addiu sp, sp, 0x50 + +; Hacks the call to ZeldaArena_Malloc when spawning an actor in Actor_Spawn to increases the size of the actor +; v1 - ActorInit struct from actor overlay table +; a0 - size of the actor +Actor_Spawn_Malloc_Hack: + addiu sp, sp, -0x20 + sw ra, 0x10(sp) + sw s0, 0x14(sp) +; Check if this is the player actor. Don't want to increase this. + lh s0, 0x00(v1) ; Get the ID from the entry + beqz s0, @spawn + nop + addiu a0, a0, 0x10 ; Increase the size of the actor +@spawn: + jal 0x80066C10 ; (ZeldaArena_Malloc) + nop + lw s0, 0x14(sp) + lw ra, 0x10(sp) + jr ra + addiu sp, sp, 0x20 + +Actor_Spawn_Shift: + addiu sp, sp, -0x40 + sw s0, 0x10(sp) + sw a0, 0x14(sp) + sw a1, 0x18(sp) + sw a2, 0x1C(sp) + sw a3, 0x20(sp) + sw at, 0x24(sp) + sw v1, 0x28(sp) + sw v0, 0x30(sp) + sw ra, 0x34(sp) + ; Get the ActorInit from the stack. it was at 0x4C(sp) but we just moved down 0x40 + lw s0, 0x8C(sp) + lh s0, 0x00(s0) + beqz s0, @end ; Make sure it isn't the Player actor. We don't want to increase that. + nop + + ; Zeroize the extra data + or a0, v0, r0 ; store actor pointer in a0 + jal 0x80002E80 ; call bzero + addiu a1, r0, 0x10 ; store size to zeroize in a1 + + lw s0, 0x10(sp) + lw a0, 0x14(sp) + lw a1, 0x18(sp) + lw a2, 0x1C(sp) + lw a3, 0x20(sp) + lw at, 0x24(sp) + lw v1, 0x28(sp) + lw v0, 0x30(sp) + + addiu v0, v0, 0x10 + ; This is code that occurs in a delay slot in a branch earlier in the code. Need to call it again because it used v0 + or a3, v0, r0 +@end: + lw s0, 0x10(sp) + lw ra, 0x34(sp) + ; Replaced code + lb t2, 0x001E(s0) + lui at, 0x0001 + jr ra + addiu sp, sp, 0x40 + +Actor_Spawn_Continue: + addiu sp, sp, -0x58 + j Actor_Spawn_Continue_Jump_Point + sw a2, 0x0060(sp) diff --git a/ASM/src/bg_gate_shutter.asm b/ASM/src/bg_gate_shutter.asm new file mode 100644 index 0000000000..4675dc8b6f --- /dev/null +++ b/ASM/src/bg_gate_shutter.asm @@ -0,0 +1,9 @@ +; Check the new gate open flag instead of the master sword check +; This happens after the zelda's letter check so it should only effect it when the setting is set to open +; Put the flag into t9 because it will be checked against 0 when we return +; we can use t8 +bg_gate_shutter_open_hack: + li t8, OPEN_KAKARIKO + lb t8, 0x00(t8) ; read the value of the OPEN_KAKARIKO setting. If we set it to 2 then it's always open + jr ra + andi t9, t8, 0x02 diff --git a/ASM/src/build.asm b/ASM/src/build.asm index cff7267bde..c6f3f6e17d 100644 --- a/ASM/src/build.asm +++ b/ASM/src/build.asm @@ -116,8 +116,8 @@ RANDO_CONTEXT: .include "drop_overrides/bg_haka_tubo.asm" .include "drop_overrides/bg_spot18_basket.asm" .include "drop_overrides/obj_comb.asm" -.include "drop_overrides/actor.asm" .include "drop_overrides/en_wonderitem.asm" +.include "actor.asm" .include "rand_seed.asm" .include "messages.asm" .include "player_save_mask.asm" @@ -127,17 +127,25 @@ RANDO_CONTEXT: .include "en_item00.asm" .include "volvagia.asm" .include "key_counter.asm" - .include "armos.asm" .include "ocarina_buttons.asm" .include "fairy_ocarina.asm" - +.include "en_dns.asm" +.include "bg_gate_shutter.asm" .align 0x10 .importobj "../build/bundle.o" .align 0x10 +; This address bump avoids an audio issue where random crackling or buzzing noises play at possibly +; very high volume during the entire game, even on the N64 logo screen. If this issue reappears, +; double this number. +; +; For possible proper fixes, see: +; https://discord.com/channels/274180765816848384/512048482677424138/1251961594380947587 +.skip 0x200 + AUDIO_THREAD_MEM_START: .skip AUDIO_THREAD_MEM_SIZE PAYLOAD_END: diff --git a/ASM/src/chest_game.asm b/ASM/src/chest_game.asm index 64ced759d7..eb1752185e 100644 --- a/ASM/src/chest_game.asm +++ b/ASM/src/chest_game.asm @@ -1,5 +1,7 @@ SHUFFLE_CHEST_GAME: .byte 0x00 +TCG_REQUIRES_LENS: +.byte 0x00 .align 4 chestgame_buy_item_hook: @@ -88,3 +90,77 @@ chestgame_delayed_chest_open: @@return: jr ra lw a0, 0x004C($sp) ; displaced code + +; Show a key in the unopened chest regardless of chest +; contents if the tcg_requires_lens setting is enabled +chestgame_force_game_loss_left: + ; displaced code + lwc1 $f0, 0x0024($v1) + lwc1 $f2, 0x0028($v1) + ; check setting + lb $t7, TCG_REQUIRES_LENS + beqz $t7, @@return + nop + ; safety check to prevent simulated loss if keys are shuffled + lb $t7, SHUFFLE_CHEST_GAME + bnez $t7, @@return + nop + ; check if player has lens of truth + lui $t1, hi(SAVE_CONTEXT + 0x81) + lb $t2, lo(SAVE_CONTEXT + 0x81)($t1) ; lens item slot + li $t3, 15 ; lens item ID + beq $t2, $t3, @@return + nop + ; simulate lost game + addiu $t0, $zero, 0x0071 + j chestgame_warn_player_of_rigged_game + nop + +@@return: + jr $ra + nop + +chestgame_force_game_loss_right: + ; displaced code + lwc1 $f0, 0x0024($v0) + lwc1 $f2, 0x0028($v0) + ; check setting + lb $t7, TCG_REQUIRES_LENS + beqz $t7, @@return + nop + ; safety check to prevent simulated loss if keys are shuffled + lb $t7, SHUFFLE_CHEST_GAME + bnez $t7, @@return + nop + ; check if player has lens of truth + lui $t1, hi(SAVE_CONTEXT + 0x81) + lb $t2, lo(SAVE_CONTEXT + 0x81)($t1) ; lens item slot + li $t3, 15 ; lens item ID + beq $t2, $t3, @@return + nop + ; simulate lost game + addiu $v1, $zero, 0x0071 + j chestgame_warn_player_of_rigged_game + nop + +@@return: + jr $ra + nop + +; Add a helper message if the tcg_requires_lens +; setting is enabled and the player still attempts +; the game. +chestgame_warn_player_of_rigged_game: + addiu $sp, $sp, -0x20 + sw $ra, 0x14($sp) + sw $v0, 0x18($sp) + sw $v1, 0x1C($sp) + + jal treasure_chest_game_message + nop + + lw $ra, 0x14($sp) + lw $v0, 0x18($sp) + lw $v1, 0x1C($sp) + jr $ra + addiu $sp, $sp, 0x20 diff --git a/ASM/src/config.asm b/ASM/src/config.asm index 34977818fd..024ce21574 100644 --- a/ASM/src/config.asm +++ b/ASM/src/config.asm @@ -1,6 +1,12 @@ ;================================================================================================== ; Settings and tables which the front-end may write ;================================================================================================== +; These values must be properly aligned to prevent an Address Error Exception on access. You can +; see what address a symbol was given after building in the build/asm_symbols.txt file. +; Byte values do not need to be aligned. +; Halfword values must be on an even byte boundary. ".align 2" can fix this value type's alignment. +; Word values must be on a byte boundary divisible by 4. ".align 4" can correct a misalignment. +; Doubleword values must be on a byte boundary divisible by 8. ".align 8" can fix a misalignment. ; This is used to determine if and how the cosmetics can be patched ; It this moves then the version will no longer be valid, so it is important that this does not move @@ -90,7 +96,7 @@ CFG_DPAD_ON_THE_LEFT: CFG_INPUT_VIEWER: .byte 0x00 -CFG_SONG_NAME_POSITION: +CFG_SONG_NAME_STATE: .byte 0x00 .area 0xA5A, 0 @@ -123,6 +129,11 @@ WORLD_STRING_TXT: TIME_STRING_TXT: .endarea +; web seed ID string (max length 10 chars) +.area 0x10, 0 +WEB_ID_STRING_TXT: +.endarea + ; Initial Save Data table: ; ; This table describes what extra data should be written when a new save file is created. It must be terminated with @@ -142,7 +153,7 @@ INITIAL_SAVE_DATA: EXTENDED_INITIAL_SAVE_DATA: .endarea -.area 0xC0, 0 ; size must be at least 8 * ((max object_id parameter Patches.add_to_extended_object_table is called with) - 0x192) +.area 0x110, 0 ; size must be at least 8 * ((max object_id parameter Patches.add_to_extended_object_table is called with) - 0x192) EXTENDED_OBJECT_TABLE: .endarea @@ -230,13 +241,30 @@ SOA_UNLOCKS_CHEST_TEXTURE: .byte 0x00 SOA_UNLOCKS_POTCRATE_TEXTURE: .byte 0x00 +CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE: +.byte 0x00 +.area 9, 0 +CFG_DUNGEON_REWARD_WORLDS: +.endarea +.align 8 +CFG_BIGOCTO_OVERRIDE_KEY: +.word 0 +.word 0 +.area 6, 0x00 +PASSWORD: +.endarea +REWARDS_AS_ITEMS: +.byte 0x00 +.area 14, 0x00 +CFG_DUNGEON_PRECOMPLETED: +.endarea .align 4 ; These configuration values are given fixed addresses to aid auto-trackers. ; Any changes made here should be documented in Notes/auto-tracker-ctx.md AUTO_TRACKER_CONTEXT: AUTO_TRACKER_VERSION: -.word 4 ; Increment this if the auto-tracker context layout changes +.word 5 ; Increment this if the auto-tracker context layout changes CFG_DUNGEON_INFO_ENABLE: .word 0 @@ -294,8 +322,13 @@ TRIFORCE_PIECES_REQUIRED: SPECIAL_DEAL_COUNTS: .endarea -.area 9 * 0x17, 0x20 +.area 9 * 0x17, 0x00 CFG_DUNGEON_REWARD_AREAS: .endarea +CFG_ADULT_TRADE_SHUFFLE: +.byte 0x00 +CFG_CHILD_TRADE_SHUFFLE: +.byte 0x00 + .align 4 diff --git a/ASM/src/coop_state.asm b/ASM/src/coop_state.asm index 3a75be13af..eae2b5cc48 100644 --- a/ASM/src/coop_state.asm +++ b/ASM/src/coop_state.asm @@ -1,7 +1,7 @@ COOP_CONTEXT: COOP_VERSION: -.word 6 ; Increment this if layout of co-op state changes +.word 7 ; Increment this if layout of co-op state changes PLAYER_ID: .byte 0x00 ; Written by frontend @@ -21,8 +21,7 @@ MW_PROGRESSIVE_ITEMS_ENABLE: .byte 0x00 .align 4 -OUTGOING_KEY: -.word 0x00000000 +.word 0x00000000 ; Padding where OUTGOING_KEY used to be. OUTGOING_ITEM: .halfword 0x0000 OUTGOING_PLAYER: @@ -40,4 +39,10 @@ CFG_FILE_SELECT_HASH: .area 4*256, 0x00 MW_PROGRESSIVE_ITEMS_STATE: .endarea + +.align 4 +OUTGOING_KEY: +.word 0x00000000 +.word 0x00000000 + .align 4 diff --git a/ASM/src/cutscenes.asm b/ASM/src/cutscenes.asm index 5e9969e240..ca9a92cd86 100644 --- a/ASM/src/cutscenes.asm +++ b/ASM/src/cutscenes.asm @@ -581,7 +581,7 @@ sos_handle_item: @@next_check: lw a0, 0x18(sp) ;this la a1, GLOBAL_CONTEXT - jal 0x80022AD0 ;func_8002F334 in decomp, checks for closed text + jal 0x80022AD0 ;Actor_TextboxIsClosing in decomp, checks for closed text nop beqz v0, @@return ;return if text isnt closed yet nop @@ -695,30 +695,27 @@ heavy_block_shorten_anim: jr ra addiu a1, s0, 0x01A4 ;displaced -;================================================================================================== -; Override Demo_Effect init data for medallions -demo_effect_medal_init: - sh t8, 0x17C(a0) ; displaced code - - la t0, GLOBAL_CONTEXT - lh t1, 0xA4(t0) ; current scene - li t2, 0x02 - bne t1, t2, @@return ; skip overrides if scene isn't "Inside Jabu Jabu's Belly" - - lw t1, 0x138(a0) ; pointer to actor overlay table entry - lw t1, 0x10(t1) ; actor overlay loaded ram address - addiu t2, t1, 0x3398 - sw t2, 0x184(a0) ; override update routine to child spritiual stone (8092E058) - li t3, 1 - sh t3, 0x17C(a0) ; set cutscene NPC id to child ruto +; Hook return for DemoEffect_DrawJewel +DemoEffect_DrawJewel: +; Replaced code + addiu sp, sp, -0x78 + sw s3, 0x40(sp) + jr a2 + nop - addiu sp, sp, -0x18 - sw ra, 0x14(sp) - li a1, 0.1 - jal 0x80020F88 ; set actor scale to 0.1 +SKIP_N64_LOGO: +.byte 0x00 +.align 4 + +skip_nintendo_logo: + ; Displaced code + lui v0, 0x8012 + + lb t4, SKIP_N64_LOGO + beqz t4, @@return nop - lw ra, 0x14(sp) - addiu sp, sp, 0x18 + + li t3, 0x01 @@return: jr ra diff --git a/ASM/src/drop_overrides/actor.asm b/ASM/src/drop_overrides/actor.asm deleted file mode 100644 index c38825e1ab..0000000000 --- a/ASM/src/drop_overrides/actor.asm +++ /dev/null @@ -1,59 +0,0 @@ -CURR_ACTOR_SPAWN_INDEX: -.halfword 0x0000 -.halfword 0x0000 - -Actor_SetWorldToHome_Hook: - addiu sp, sp, -0x20 - sw ra, 0x1C (sp) - jal Actor_SetWorldToHome_End - nop - lw ra, 0x1C (sp) - jr ra - addiu sp, sp, 0x20 - -; Hacks Actor_UpdateAll so that we can override actor spawns. -Actor_UpdateAll_Hook: -;A0 - Actor Context -;A1 - Actor Entry -;A2 - Global Context -;S0 - Actor Index (0 indexed. Add 1 when storing to the actor) -;V0 - after the call to Actor_Spawn will contain the address of the actor - addiu sp, sp, -0x50 - sw t0, 0x20(sp) - sw t1, 0x24(sp) - sw t2, 0x28(sp) - sw a0, 0x2C(sp) - sw a1, 0x30(sp) - sw a2, 0x34(sp) - sw s0, 0x38(sp) - sw s1, 0x3C(sp) - sw ra, 0x40(sp) - - addiu s0, 1 - sh s0, CURR_ACTOR_SPAWN_INDEX ; Store the actor index in a global variable so we can easily pass it into other functions - - jal 0x800255C4 ; Call Actor_SpawnEntry - nop - - lw a1, 0x30(sp) - - ; Make sure the actor was spawned - beqz v0, @@end - nop -@@call_hack: - or a0, r0, v0 ;move the actor pointer to a0 - lw a1, 0x34(sp) ; Get the game context off the stack to pass into the hack. - jal Actor_After_UpdateAll_Hack ; Call our hack - nop -@@end: - lw t0, 0x20(sp) - lw t1, 0x24(sp) - lw t2, 0x28(sp) - lw a0, 0x2C(sp) - lw a1, 0x30(sp) - lw a2, 0x34(sp) - lw s0, 0x38(sp) - lw s1, 0x3C(sp) - lw ra, 0x40(sp) - jr ra - addiu sp, sp, 0x50 diff --git a/ASM/src/drop_overrides/bg_haka_tubo.asm b/ASM/src/drop_overrides/bg_haka_tubo.asm index 8f1d46ec56..d3285c1dcb 100644 --- a/ASM/src/drop_overrides/bg_haka_tubo.asm +++ b/ASM/src/drop_overrides/bg_haka_tubo.asm @@ -1,13 +1,9 @@ ; Hack for shadow temple spinning pot to drop a flagged collectible ; Actor is in s4 ; Loop index is in s0 -bg_haka_tubo_hack: - lh a3, 0x18(s4) ; get our new flag out of the z rotation - beqz a3, bh_haka_tubo_hack_end - nop - add a3, s0 ; add our loop index - li a1, drop_collectible_override_flag - sh a3, 0x00(a1) -bh_haka_tubo_hack_end: + +bg_haka_tubo_drop_params_hack: ; Hack when setting up the params + addiu a1, sp, 0x5C ; Replaced code + or a0, s4, r0 ; Put the actor pointer into a0 instead of PlayState jr ra - addiu a1, sp, 0x005c + or a3, s0, r0 ; Put the loop index into a3 diff --git a/ASM/src/drop_overrides/en_wonderitem.asm b/ASM/src/drop_overrides/en_wonderitem.asm index 25466d38c5..dd009b5b35 100644 --- a/ASM/src/drop_overrides/en_wonderitem.asm +++ b/ASM/src/drop_overrides/en_wonderitem.asm @@ -103,16 +103,16 @@ EnWonderItem_Update_Hook: sw a2, 0x1C(sp) jal EnWonderItem_Update_Hack or a0, s0, r0 ; copy actor pointer to a0 - + lw ra, 0x10(sp) lw a0, 0x14(sp) lw s0, 0x18(sp) lw a2, 0x1C(sp) addiu sp, sp, 0x30 - + ; Replaced code lw t9, 0x013c(s0) or a0, s0, r0 jr ra - nop \ No newline at end of file + nop diff --git a/ASM/src/drop_overrides/obj_mure3.asm b/ASM/src/drop_overrides/obj_mure3.asm index 72b5a440e0..6a35b80643 100644 --- a/ASM/src/drop_overrides/obj_mure3.asm +++ b/ASM/src/drop_overrides/obj_mure3.asm @@ -1,19 +1,11 @@ ; Hacks for rupee towers to drop flagged collectibles -; Set drop_collectible_override_flag to z rotation + loop index. ; obj_mure3 pointer should be in s2 ; index of the for loop is in s0 -obj_mure3_hack: - lh a3, 0x18(s2) ; get our new flag out of the z rotation - beqz a3, obj_mure3_hack_end - nop - add a3, s0 ; add our loop index - li a2, drop_collectible_override_flag ;activate the override - sh a3, 0x00(a2) -obj_mure3_hack_end: - addiu a2, r0, 0x4000 ; replaced code +obj_mure3_drop_params_hack: + or a0, s2, r0 ; Store the actor pointer into a0 instead of PlayState jr ra - or a1, s6, r0 ; replaced code + or a3, s0, r0 ; Store the loop index into a3 ; S0 should still have our loop index and it should be 6 when we call here obj_mure3_redrupee_hack: @@ -21,7 +13,7 @@ obj_mure3_redrupee_hack: beqz a3, obj_mure3_redrupee_hack_end nop add a3, s0 ; add the loop index - li a2, drop_collectible_override_flag ;activate the override + li a2, drop_collectible_override_flag ; activate the override sh a3, 0x00(a2) obj_mure3_redrupee_hack_end: jr ra diff --git a/ASM/src/en_dns.asm b/ASM/src/en_dns.asm new file mode 100644 index 0000000000..8173836904 --- /dev/null +++ b/ASM/src/en_dns.asm @@ -0,0 +1,22 @@ +; Deku Scrub Salesman take payment before giving item +; dns actor at 0x18(sp) +EnDns_TakePayment: + addiu sp, sp, -0x20 + sw ra, 0x10(sp) + + ; Call the payment function. It's stored in the actor + ; (**(code **)(*(int *)(param_1 + 0x2b0) + 0xc))(param_1); + lw a1, 0x38(sp) ; get actor pointer off stack. Add 0x20 because we pushed the stack + or a0, a1, r0 ; move it into a0 for when we call the function + lw a1, 0x2b0(a1) ; Get dnsItemEntry pointer from actor + lw a1, 0x0c(a1) ; Get payment function pointer from dnsItemEntry + jalr a1 ; Call payment function + nop + +; Replaced code: + jal Message_CloseTextBox + lw a0, 0x3c(sp) ; Add 0x20 because we pushed the stack + + lw ra, 0x10(sp) + jr ra + addiu sp, sp, 0x20 diff --git a/ASM/src/en_item00.asm b/ASM/src/en_item00.asm index 1104df2a36..316cd83bcf 100644 --- a/ASM/src/en_item00.asm +++ b/ASM/src/en_item00.asm @@ -26,3 +26,18 @@ EnItem00_ProximityCheck_Hook: lw ra, 0x2C(sp) jr ra addiu sp, sp, 0x30 + +en_item00_update: + addiu sp, sp, -0x48 + j en_item00_update_continue + sw s1, 0x20(sp) + +EnItem00_Draw: + addiu sp, sp, -0x28 + j EnItem00_Draw_Continue + sw ra, 0x14(sp) + +EnItem00_Init: + addiu sp, sp, -0x40 + j EnItem00_Init_Continue + sw s0, 0x18(sp) diff --git a/ASM/src/file_select.asm b/ASM/src/file_select.asm index 5d9d2f6215..59a58eaa71 100644 --- a/ASM/src/file_select.asm +++ b/ASM/src/file_select.asm @@ -133,3 +133,18 @@ move_file_3: sh t1, 0x00(t0) jr ra lh t3, 0x4A2E(a2) + +display_controls_texture: + ; Vanilla value, will display the controls texture + slti $at, v0, 0x0024 + ; Check if a password has been asked + la t0, PASSWORD + lbu t0, 0x00(t0) + beqz t0, @@return + nop + ; In that case, remove the texture. + slti $at, v0, 0x0000 + +@@return: + jr ra + nop diff --git a/ASM/src/fishing.asm b/ASM/src/fishing.asm index 050fce1d79..b5326c98a0 100644 --- a/ASM/src/fishing.asm +++ b/ASM/src/fishing.asm @@ -40,16 +40,19 @@ cast_fishing_rod_if_equipped: nop fishing_bite_when_stable: - lui t0, 0x801F - addiu t0, t0, 0x5DE0 ; BSS fishing data pointer - lw at, 0x009C(t0) ; at = current hook movement - bnez at, @@return + addiu sp, sp, -0x18 + sw ra, 0x14(sp) + + jal is_hook_static + nop + beqz v0, @@return mul.s f4, f10, f2 ; if the hook is not stable, use the default code (set bite chance) lui t0, 0x3F80 ; else, guarantee bite mtc1 t0, f4 ; f4 = 1.00 @@return: + lw ra, 0x14(sp) jr ra - nop + addiu sp, sp, 0x18 give_loach_reward: la at, SAVE_CONTEXT diff --git a/ASM/src/hacks.asm b/ASM/src/hacks.asm index 05bccb30e1..cab0c6fd3e 100644 --- a/ASM/src/hacks.asm +++ b/ASM/src/hacks.asm @@ -150,9 +150,9 @@ Gameplay_InitSkybox: ; skip ; sb a1, 0x3468(v0) li t6, FONTLOADSTATUS_EXTENDED - .skip 4 +.skip 4 lbu t7, 0x00(v0) - .skip 12 +.skip 12 sb a1, 0x00(v0) ; Hacks in AudioLoad_SyncLoadFont @@ -391,6 +391,16 @@ Gameplay_InitSkybox: ; en_item00_update() hacks - 0x80012938 +; Hook the entire en_item00_update function +; Replaced code: +; addiu sp, sp, -0x48 +; sw s1, 0x0020(sp) +.headersize(0x800110A0 - 0xA87000) +.org 0x80012938 + j en_item00_update_hook + nop +en_item00_update_continue: + ; Runs when player collides w/ Collectible (inside en_item00_update()) start of switch case at 0x80012CA4 ; Override Item_Give(RUPEE_GREEN) @@ -509,6 +519,7 @@ SRAM_SLOTS: ; jal Save_Write_Hook .org 0x800905D4 j Sram_WriteSave + or a1, r0, r0 ; Hack Open_Save function to retrieve additional collectible flags ; At the start of the Sram_OpenSave function, SramContext address is stored in A0 and also on the stack at 0x20(SP) @@ -538,6 +549,11 @@ SRAM_SLOTS: j Sram_CopySave nop +; Hack Sram_EraseSave to actually just erase the entire slot +.org 0x80090eb8 + j Sram_EraseSave + nop + ; Increase the size of EnItem00 instances to store the override .orga 0xB5D6BE ; Address in ROM of the enitem00 init params .halfword 0x01BC ; Originally 0x019C @@ -671,18 +687,6 @@ SRAM_SLOTS: ;.orga 0xA89D4C ; jal get_override_drop_id -; Hack Item_DropCollectible call to Actor_Spawn to set override -; replaces -; jal 0x80025110 -.orga 0xA8972C ; in memory 0x800137B8 - jal Item_DropCollectible_Actor_Spawn_Override - -; Hack Item_DropCollectible2 call to Actor_Spawn to set override -; replaces -; jal 0x80025110 -.orga 0xA89958 ; in memory 0x800139E0 - jal Item_DropCollectible_Actor_Spawn_Override - ; Hack ObjTsubo_SpawnCollectible (Pot) to call our overridden spawn function .orga 0xDE7C60 j ObjTsubo_SpawnCollectible_Hack @@ -708,92 +712,6 @@ SRAM_SLOTS: .orga 0xEC832C or T8, T7, R0 -; Hack ObjMure3 Function that spawns the rupee circle (6 green + 1 red in the center) -; replaces -; or a1, s6, r0 -; addiu a2, r0, 0x4000 -.orga 0xED0AEC - jal obj_mure3_hack - nop -; Hack the red rupee part -; replaces -; lwc1 f8, 0x002c(s2) -; addiu a2, r0, 0x4002 -.orga 0xED0B48 - jal obj_mure3_redrupee_hack - lwc1 f8, 0x002c(s2) - -; Hack bg_haka_tubo (shadow spinning pots) to drop flagged collectibles -; replaces -; or a0, s6, r0 -; addiu a1, sp, 0x005c -.orga 0xD30FDC - jal bg_haka_tubo_hack - or a0, s6, r0 - -; Hack bg_spot18_basket (goron city spinning pot), bomb drops -; the actor pointer starts in s0, gets deleted so s0 can be used for the loop variable. -; Need to use a different loop variable and need to move the branch point up to make a little room for the hack -; replaces -; or s0, r0, r0 ;outside the loop -; or a0, s4, r0 ;outside the loop -; or a1, s3, r0 ;inside the loop -.orga 0xE47C08 - or s7, r0, r0 ;use s7 as our loop variable -bg_spot18_basket_bombs_loopstart: - jal bg_spot18_basket_bombs_hack - or a0, s4, r0 -.skip 4 - ori a2, r0, 0x0004 -.skip 4 - sll t6, s7, 1 -.skip 16 - addiu s7, s7, 0x0001 - bnel s7, s1, bg_spot18_basket_bombs_loopstart ; move the branch point up a little bit - -; Hack bg_spot18_basket (Goron city spinning pot), 3 green rupee drops -; the actor pointer starts in s0, gets deleted so s0 can be used for the loop variable. -; Need to use a different loop variable and need to move the branch point up to make a little room for the hack -; replaces -; or so, r0, r0 -; addiu s3, sp, 0x0044 -; addiu s1, r0, 0x0003 -.orga 0xE47C5C - or s7, r0, r0 ; use s7 as our loop variable -bg_spot18_basket_rupees_loopstart: ; our new loop branch target - jal bg_spot18_basket_rupees_hack -.skip 16 - nop ; replaces or a2, r0, r0 because our hack will set a2 correctly. -.skip 4 - sll t9, s7, 1 -.skip 16 - addiu s7, s7, 0x0001 - bnel s7, s1, bg_spot18_basket_rupees_loopstart - -; Hack bg_spot18_basket (Goron city spinning pot), rupee drops with heart piece -; Replaces -; or a0, s4, r0 -; or a1, s3, r0 -.orga 0xE47D6C - jal bg_spot18_basket_drop_heartpiece_rupees - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - lw ra, 0x0034(sp) -.skip 4 - nop - ; Hack obj_comb (beehives) to drop flagged collectibles. Get rid of the random 50% drop ; replaces ; sh a2, 0x001e(sp) <- keep @@ -819,11 +737,40 @@ bg_spot18_basket_rupees_loopstart: ; our new loop branch target nop nop -; Hook at the end of Actor_SetWorldToHome to zeroize anything we use to store additional flag data -.orga 0xA96E5C ; In memory: 0x80020EFC +; Hack in Actor_Spawn when allocating space for the actor to increase the size of every actor by a fixed amount +.headersize (0x800110A0 - 0xA87000) +.org 0x800252A8 ; Replaces: -; jr ra - j Actor_SetWorldToHome_Hook +; jal 0x80066C10 (ZeldaArena_Malloc) +; sw v1, 0x004C(sp) + jal Actor_Spawn_Malloc_Hack + sw v1, 0x004C(sp) + + +; Hack in Actor_Spawn after the null check to offset the pointer by the amount that we added to the actor, so the new data is at the start +.org 0x800252CC +; Replaces: +; lb t2, 0x001E(s0) +; lui at, 0x0001 + jal Actor_Spawn_Shift + nop + +; Hack Actor_Spawn function so we can override actor spawns +.orga 0xA9B070 ; in memory 0x80025110 +; Replaced code: +; addiu sp, sp, -0x58 +; sw a2, 0x0060(sp) + j Actor_Spawn_Hook + nop +Actor_Spawn_Continue_Jump_Point: + +; Hack in Actor_Delete to shift the pointer back to the start of the actor that was malloc'd to include the new data. +.org 0x8002570C +; Replaces: +; jal 0x80066C90 +; or a0, s0, r0 +.skip 4 + addiu a0, s0, -0x10 ; Hook Actor_UpdateAll when each actor is being initialized. At the call to Actor_SpawnEntry ; Used to set the flag (z-rotation) of the actor to its position in the actor table. @@ -1065,25 +1012,15 @@ bg_spot18_basket_rupees_loopstart: ; our new loop branch target ; Freestanding models ;================================================================================================== -;Replaces: -; who knows ; Draw Rupee Function -.headersize(0x80013004 - 0xA88F64) -.orga 0xA88F64 ; In memory: 0x80013004 - jal rupee_draw_hook -.headersize(0) - -;Replaces: -; LH V0, 0x014a(A2) -; ADDIU AT, R0, 0xFFFF -.headersize(0x8001303C - 0xA88F9C) -.orga 0xA88F9C ; In memory: 0x8001303C -; or A0, A2, R0 - jal recovery_heart_draw_hook - nop -after_recovery_heart_hook: -.skip 0x6C -end_of_recovery_draw: -.headersize(0) +; Hook EnItem00_Draw +.headersize(0x800110A0 - 0xA87000) +.org 0x80012fb8 +; Replaces: +; addiu sp, sp, -0x28 +; sw ra, 0x14(sp) + j EnItem00_Draw_Hook + nop +EnItem00_Draw_Continue: ; Replaces: ; jal 0x80013498 ; Piece of Heart draw function @@ -1539,9 +1476,9 @@ nop ; lhu t9, 0xef0(v1) .orga 0xEBB85C jal Deku_Check_Sold_Out - .skip 4 +.skip 4 bnez v0, @Deku_Check_True - .skip 4 +.skip 4 b @Deku_Check_False .orga 0xEBB8B0 @Deku_Check_True: @@ -2029,6 +1966,176 @@ skip_bombchu_bowling_prize_switch: j agony_post_hook nop +;================================================================================================== +; Blue Warps +;================================================================================================== + +; Child blue warps +; Replaces: +; jal func_809056E8 ; DoorWarp1_PlayerInRange +.orga 0xCA2F38 ; In Memory: 0x80905778 + jal DoorWarp1_PlayerInRange_Overwrite + +; Ruto blue warp +; Replaces: +; jal func_809056E8 ; DoorWarp1_PlayerInRange +.orga 0xCA3404 ; In Memory: 0x80905C44 + jal DoorWarp1_PlayerInRange_Overwrite + +; Adult blue warps +; Replaces: +; jal func_809056E8 ; DoorWarp1_PlayerInRange +.orga 0xCA3A10 ; In Memory: 0x80906250 + jal DoorWarp1_PlayerInRange_Overwrite + +; As the above replaces overlay functions with a global function, +; Need to null out the reloc entries + +; Child blue warps +; Replaces: +; .word 0x44001258 +.orga 0xCA5D4C +.word 0x00000000 + +; Ruto blue warp +; Replaces: +; .word 0x44001724 +.orga 0xCA5D7C +.word 0x00000000 + +; Adult blue warps +; Replaces: +; .word 0x44001D30 +.orga 0xCA5E08 +.word 0x00000000 + + +; Overwrite warp conditions for Shadow and Spirit medallions + +; Replaces: +; lui t3, 0x8010 +; lw t3, -0x7404(t3) +; lw t4, 0x00A4(v1) +; or a0, s0, $zero +; addiu a1, $zero, 0x0069 +; and t5, t3, t4 +.orga 0xCA3EA0 ; In Memory: 0x809066E0 + nop + jal DoorWarp1_IsSpiritRewardObtained + nop + or t5, v0, $zero + or a0, s0, $zero + addiu a1, $zero, 0x0069 + +; Replaces: +; lui t2, 0x8010 +; lw t2, -0x7400(t2) +; lw t3, 0x00A4(v1) +; or a0, s0, $zero +; addiu a1, $zero, 0x006A +; and t4, t2, t3 +.orga 0xCA3F30 ; In Memory: 0x80906770 + nop + jal DoorWarp1_IsShadowRewardObtained + nop + or t4, v0, $zero + or a0, s0, $zero + addiu a1, $zero, 0x006A + + +; Overwrite Item_Give to set data and flags from skipped cutscenes + + +; Kokiri Emerald + +; Replaces: +; jal Item_Give +.orga 0xCA3158 ; In Memory: 0x80905998 + jal DoorWarp1_KokiriEmerald_Overwrite +.orga 0xCA3168 + addiu t5, $zero, 0x0457 ; nextEntranceIndex +.orga 0xCA3174 + ori t6, $zero, 0 ; nextCutsceneIndex + + +; Goron Ruby + +; Replaces: +; jal Item_Give +.orga 0xCA30D8 ; In Memory: 0x80905918 + jal DoorWarp1_GoronRuby_Overwrite +.orga 0xCA30E8 + addiu t2, $zero, 0x047A ; nextEntranceIndex +.orga 0xCA30F4 + ori t3, $zero, 0 ; nextCutsceneIndex + + +; Zora Sapphire + +; Replaces: +; jal Item_Give +.orga 0xCA36F0 ; In Memory: 0x80905F30 + jal DoorWarp1_ZoraSapphire_Overwrite +.orga 0xCA3710 + ori t5, $zero, 0 ; nextCutsceneIndex + + +; Forest medallion + +; Replaces: +; jal Item_Give +.orga 0xCA3D18 ; In Memory: 0x80906558 + jal DoorWarp1_ForestMedallion_Overwrite +; Set destination +.orga 0xCA3D30 + addiu t3, $zero, 0x05E8 ; nextEntranceIndex + + +; Fire medallion + +; Replaces: +; jal Item_Give +.orga 0xCA3DA4 ; In Memory: 0x809065E4 + jal DoorWarp1_FireMedallion_Overwrite +; Set destination +.orga 0xCA3DBC + addiu t9, $zero, 0x0564 ; nextEntranceIndex +.orga 0xCA3DC8 + ori t1, $zero, 0 + + +; Water medallion + +; Replaces: +; jal Item_Give +.orga 0xCA3E30 ; In Memory: 0x80906670 + jal DoorWarp1_WaterMedallion_Overwrite +; Set destination +.orga 0xCA3E48 + addiu t7, $zero, 0x04E6 ; nextEntranceIndex + + +; Spirit medallion + +; Replaces: +; jal Item_Give +.orga 0xCA3EC0 ; In Memory: 0x80906700 + jal DoorWarp1_SpiritMedallion_Overwrite +; Set destination +.orga 0xCA3ED8 + addiu t6, $zero, 0x0610 ; nextEntranceIndex + + +; Shadow medallion + +; Replaces: +; jal Item_Give +.orga 0xCA3F50 ; In Memory: 0x80906790 + jal DoorWarp1_ShadowMedallion_Overwrite +; Set destination +.orga 0xCA3F68 + addiu t5, $zero, 0x0580 ; nextEntranceIndex + ;================================================================================================== ; Correct Chest Sizes ;================================================================================================== @@ -2714,7 +2821,7 @@ courtyard_guards_kill: jal Static_ctxt_Init ;================================================================================================== -; burning kak from any entrance to kak +; burning kak from any entrance to kak (except the grottos) ;================================================================================================== ; Replaces: lw t9, 0x0000(s0) ; addiu at, 0x01E1 @@ -3179,45 +3286,6 @@ courtyard_guards_kill: jal fountain_set_posrot or a0, s0, r0 -;================================================================================================== -; Speed Up Gate in Kakariko -;================================================================================================== -; gate opening x -; Replaces: lui at, 0x4000 ;2.0f -.orga 0xDD366C - lui at, 0x40D0 ;6.5f - -; gate opening z -; Replaces: lui a2, 0x3F4C -; sub.s f8, f4, f6 -; lui a3, 0x3E99 -; ori a3, a3, 0x999A -; ori a2, a2, 0xCCCD -.orga 0xDD367C - lui a2, 0x4000 - sub.s f8, f4, f6 - lui a3, 0x4000 - nop - nop - -; gate closing x -; Replaces: lui at, 0x4000 ;2.0f -.orga 0xDD3744 - lui at, 0x40D0 ;6.5f - -; gate closing z -; Replaces: lui a2, 0x3F4C -; add.s f8, f4, f6 -; lui a3, 0x3E99 -; ori a3, a3, 0x999A -; ori a2, a2, 0xCCCD -.orga 0xDD3754 - lui a2, 0x4000 - add.s f8, f4, f6 - lui a3, 0x4000 - nop - nop - ;================================================================================================== ; Prevent Carpenter Boss Softlock ;================================================================================================== @@ -3446,13 +3514,22 @@ courtyard_guards_kill: sw a1, 0x64(sp) ;================================================================================================== -; Jabu Spiritual Stone Actor Override +; Override appearance of Zoras Sapphire spiritual stone inside Jabu ;================================================================================================== -; Replaces: addiu t8, zero, 0x0006 -; sh t8, 0x017C(a0) -.orga 0xCC8594 - jal demo_effect_medal_init - addiu t8, zero, 0x0006 +.headersize(0x8092ACC0 - 0x00CC8430) +; Increase the size of DemoEffect actor to store override +.org 0x8093019c +; Replaces: .d32 0x00000190 +.d32 0x000001C0 + +; Hook the function DemoEffect_DrawJewel +.org 0x8092e3f8 +; Replaces: +; addiu sp, sp, -0x78 +; sw s3, 0x40(sp) + j DemoEffect_DrawJewel_Hook + nop +DemoEffect_DrawJewel_AfterHook: ;================================================================================================== ; Use Sticks and Masks as Adult @@ -3576,6 +3653,24 @@ courtyard_guards_kill: jal chestgame_delayed_chest_open nop +; Show a key in the unopened chest regardless of chest +; contents if the tcg_requires_lens setting is enabled. +; Left/right do the same check for the get item ID, +; but use different registers for the actor spawn branch +; and chest actor references for coordinates. +; Replaces: +; lwc1 $f0, 0x0024(v1) +; lwc1 $f2, 0x0028(v1) +.orga 0xE43964 + jal chestgame_force_game_loss_left + nop +; Replaces: +; lwc1 $f0, 0x0024(v0) +; lwc1 $f2, 0x0028(v0) +.orga 0xE43A0C + jal chestgame_force_game_loss_right + nop + ;================================================================================================== ; Bombchu Ticking Color ;================================================================================================== @@ -3800,15 +3895,6 @@ courtyard_guards_kill: .orga 0xDA1F94 addiu t9, $zero, 0x0221 -;=================================================================================================== -; Death Mountain cloud color checks for Volvagia flag -;=================================================================================================== -; Replaces: lhu t3, 0x0ED8(v0) -; andi t4, t3, 0x8000 -.orga 0xD7C864 - lhu t3, 0x0EDC(v0) - andi t4, t3, 0x0200 - ;=================================================================================================== ; Prevent Gohma from being stunned when climbing ;=================================================================================================== @@ -4034,6 +4120,7 @@ courtyard_guards_kill: ; Replaces Item_Give(play, ITEM_OCARINA_FAIRY) jal fairy_ocarina_getitem_override nop + ;=================================================================================================== ; Move the small key counter horizontally if we have boss key, to make room for the BK icon. ;=================================================================================================== @@ -4068,13 +4155,23 @@ courtyard_guards_kill: jal volvagia_flying_hitbox nop -; Replaces lh t6, 0x01D0(a1) -; addiu $at, $zero, 0x0003 -.orga 0xE56B38 - jal kz_no_timer - addiu $at, $zero, 0x0003 - -.include "hacks/z_parameter.asm" - +;================================================================================ +; Reset choiceNum when decoding a new message +; prevents weird text alignment when going from message box with icon to no icon +;================================================================================ +; Replaces sh $zero, 0x4c0(at) +; lhu a3, 0x4c0(a3) +.org 0x800DA34C + j Message_Decode_reset_msgCtx.textPosX + nop +.include "hacks/en_item00.asm" +.include "hacks/ovl_bg_gate_shutter.asm" +.include "hacks/ovl_bg_haka_tubo.asm" +.include "hacks/ovl_bg_spot18_basket.asm" +.include "hacks/ovl_en_dns.asm" .include "hacks/ovl_en_kz.asm" +.include "hacks/ovl_obj_mure3.asm" +.include "hacks/z_parameter.asm" +.include "hacks/z_title.asm" +.include "hacks/z_file_choose.asm" diff --git a/ASM/src/hacks/en_item00.asm b/ASM/src/hacks/en_item00.asm new file mode 100644 index 0000000000..4f99680ab7 --- /dev/null +++ b/ASM/src/hacks/en_item00.asm @@ -0,0 +1,10 @@ +.headersize(0x800110A0 - 0xA87000) + +; Hook EnItem00_Init +.org 0x80011b4c +; Replaces: +; addiu sp, sp, -0x40 +; sw s0, 0x18(sp) + j EnItem00_Init_Hook + nop +EnItem00_Init_Continue: diff --git a/ASM/src/hacks/ovl_bg_gate_shutter.asm b/ASM/src/hacks/ovl_bg_gate_shutter.asm new file mode 100644 index 0000000000..eaa1e26018 --- /dev/null +++ b/ASM/src/hacks/ovl_bg_gate_shutter.asm @@ -0,0 +1,52 @@ +; Hacks in bg_gate_shutter (Kakariko Village Gate) + +.headersize(0x80A50A70 - 0xDD34B0) + +; Make the Kak gate open based on the setting. Removes the master sword check +; In BgGateShutter_Init where it checks the master sword EVENTINF flag +.org 0x80A50AF4 +; Replaces +; lhu t8, 0xedc(v1) +; andi t9, t8, 0x20 + jal bg_gate_shutter_open_hack + nop + + +;================================================================================================== +; Speed Up Gate in Kakariko +;================================================================================================== +; gate opening x +; Replaces: lui at, 0x4000 ;2.0f +.orga 0x80A50C2C + lui at, 0x40D0 ;6.5f + +; gate opening z +; Replaces: lui a2, 0x3F4C +; sub.s f8, f4, f6 +; lui a3, 0x3E99 +; ori a3, a3, 0x999A +; ori a2, a2, 0xCCCD +.orga 0x80A50C3C + lui a2, 0x4000 + sub.s f8, f4, f6 + lui a3, 0x4000 + nop + nop + +; gate closing x +; Replaces: lui at, 0x4000 ;2.0f +.orga 0x80A50D04 + lui at, 0x40D0 ;6.5f + +; gate closing z +; Replaces: lui a2, 0x3F4C +; add.s f8, f4, f6 +; lui a3, 0x3E99 +; ori a3, a3, 0x999A +; ori a2, a2, 0xCCCD +.orga 0x80A50D14 + lui a2, 0x4000 + add.s f8, f4, f6 + lui a3, 0x4000 + nop + nop diff --git a/ASM/src/hacks/ovl_bg_haka_tubo.asm b/ASM/src/hacks/ovl_bg_haka_tubo.asm new file mode 100644 index 0000000000..eb0edc1f1d --- /dev/null +++ b/ASM/src/hacks/ovl_bg_haka_tubo.asm @@ -0,0 +1,16 @@ +; Bg_Haka_Tubo Hacks (Shadow Temple Spinning Pots) +.headersize(0x8099bec0 - 0xd30b50) + +; Hack 3 spinning pot drops to drop overridden items + +.org 0x8099c34c ; Hack when setting up the params to Item_DropCollectible +; Replaces: +; or a0, s6, r0 +; addiu a1, sp, 0x5C + jal bg_haka_tubo_drop_params_hack + or a0, s6, r0 + +.org 0x8099c378 ; Hack call to Item_DropCollectible +; Replaces: +; jal Item_DropCollectible + jal BgHakaTubo_DropCollectible_Hack diff --git a/ASM/src/hacks/ovl_bg_spot18_basket.asm b/ASM/src/hacks/ovl_bg_spot18_basket.asm new file mode 100644 index 0000000000..761264cd54 --- /dev/null +++ b/ASM/src/hacks/ovl_bg_spot18_basket.asm @@ -0,0 +1,76 @@ +; Hack bg_spot18_basket (goron city spinning pot), bomb drops: +.headersize(0x80ac72d0 - 0xe47110) + +; Update A0 parameters to store actor pointer instead of PlayState +; It's originally in s0 but gets zero'd and used as the loop variable right before the loop +; Replaces: +; or s0, r0, r0 +; or a0, s4, r0 +.org 0x80ac7dc8 + or a0, s0, r0 + or s7, r0, r0 ; Use s7 as the loop variable instead of s0 +bg_spot18_basket_bombs_loopstart: + +.org 0x80ac7df4 +; Replaces: +; addiu s0, s0, 0x01 +; bnel s0, s1, bg_spot18_basket_bombs_loopstart +; or a0, s4, r0 + addiu s7, s7, 0x01 ; using s7 as loop variable so need to hack here to increment s7 instead of s0 + bnel s7, s1, bg_spot18_basket_bombs_loopstart ; using s7 as loop variable so use it in the loop branch + or a0, s0, r0 ; need to copy s0 back into a0 + +; Replace call to Item_DropCollectible. +.org 0x80ac7dd4 +; Replaces: +; jal Item_DropCollectible +; li a2, 0x04; (ITEM00_BOMBS_A) + jal BgSpot18Basket_BombDropHook + or a2, s7, r0 ; store the loop variable in a2 +.skip 4 + sll t6, s7, 0x01 ; Using s7 as loop variable + +; Hack bg_spot18_basket 3 green rupee drops + +.org 0x80ac7e1c +; Replaces +; or s0, r0, r0 + or s7, r0, r0 ; Use s7 as loop variable +.skip 8 + or a0, s0, r0 ; Store actor instance in a0 instead of PlayState +bg_spot18_basket_rupees_loopstart: + +.org 0x80ac7e50 +; Replaces +; addiu s0, s0, 0x01 +; bnel s0, s1, 0x80ac7e2c +; or a0, s4, r0 + addiu s7, s7, 0x01 + bnel s7, s1, bg_spot18_basket_rupees_loopstart + or a0, s0, r0 ; Store actor instance in a0 again + +.org 0x80ac7e30 +; Replaces +; jal Item_DropCollectible +; or a2, r0, r0 + jal BgSpot18Basket_RupeeDropHook ; Call our hack + or a2, s7, r0 ; store the loop variable in a2 +.skip 4 + sll t9, s7, 0x01 ; Using s7 as loop variable + +; Hack bg_spot18_basket rupee drops with heart piece +.org 0x80ac7f2c ; Red rupee drop +; Replaces: +; or a0, s4, r0 +; or a1, s3, r0 +; jal Item_DropCollectible + or a0, s0, r0 ; store actor instance into a0 instead of PlayState +.skip 4 + jal BgSpot18Basket_Heartpiecerupee_DropHook +.skip 8 + or a0, s0, r0 + +.org 0x80ac7f54 ; Blue rupee drop +; Replaces: +; jal Item_DropCollectible + jal BgSpot18Basket_Heartpiecerupee_DropHook diff --git a/ASM/src/hacks/ovl_en_dns.asm b/ASM/src/hacks/ovl_en_dns.asm new file mode 100644 index 0000000000..9c5224766a --- /dev/null +++ b/ASM/src/hacks/ovl_en_dns.asm @@ -0,0 +1,18 @@ +; Hacks in en_dns (deku scrub salesman) +.headersize(0x80A74C60 - 0x00DF75A0) + +; Hack EnDns_SetupSale to take the payment before giving the item +.org 0x80a75834 +; Replaces +; jal Message_CloseTextBox +; lw a0, 0x1c(sp) + + jal EnDns_TakePayment + nop + +; Nop out where it normally takes the payment +.org 0x80a75958 + nop + +.org 0x80a7590c + nop diff --git a/ASM/src/hacks/ovl_obj_mure3.asm b/ASM/src/hacks/ovl_obj_mure3.asm new file mode 100644 index 0000000000..6248e0c324 --- /dev/null +++ b/ASM/src/hacks/ovl_obj_mure3.asm @@ -0,0 +1,41 @@ +.headersize(0x80b55150- 0xed0880) + +; Hack ObjMure3 Function that spawns the rupee circle (6 green + 1 red in the center) +; Hack the green rupee circle part +; Hook before calling Item_DropCollectible2 to set up our parameters +.org 0x80b553b8 +; Replaces: +; or a0, s5, r0 + jal obj_mure3_drop_params_hack + +; Hook call to Item_DropCollectible2 when it's spawning the green rupees +.org 0x80b553c8 +; Replaces: +; jal Item_DropCollectible2 + jal Obj_Mure3_RupeeCircle_DropRupee + +; Hack the red rupee part. This works because s0 should still have the loop index set at this point in the function. +.org 0x80b5540c +; Replaces: +; or a0, s5, r0 + jal obj_mure3_drop_params_hack + +; Hook call to Item_DropCollectible2 when it's spawning the red rupee +.org 0x80b55420 +; Replaces: +; jal Item_DropCollectible2 + jal Obj_Mure3_RupeeCircle_DropRupee + +; replaces +; or a1, s6, r0 +; addiu a2, r0, 0x4000 +;.orga 0xED0AEC +; jal obj_mure3_hack +; nop +; Hack the red rupee part +; replaces +; lwc1 f8, 0x002c(s2) +; addiu a2, r0, 0x4002 +;.orga 0xED0B48 +; jal obj_mure3_redrupee_hack +; lwc1 f8, 0x002c(s2) diff --git a/ASM/src/hacks/z_file_choose.asm b/ASM/src/hacks/z_file_choose.asm new file mode 100644 index 0000000000..0a9c50d81e --- /dev/null +++ b/ASM/src/hacks/z_file_choose.asm @@ -0,0 +1,55 @@ +; File select screen + +.headersize(0x80803880 - 0x00BA12C0) + +; Remove most of the behaviour in the OK/Cancel part of the file select. +; This is managed manually in file_select.c instead. + +; On OK + +; Validation sound effect +.org 0x80810C98 +; Replaces jal func_800C806C + nop + +; Load the game +.org 0x80810CA8 +; Replaces addiu t1, $zero, 0x0006 + addiu t1, $zero, 0x0003 + +; Stop the menu music +.org 0x80810CB0 +; Replaces jal func_800C7684 + nop + +; On Cancel + +; Cancel sound effect +.org 0x80810CDC +; Replaces jal func_800C806C + nop + +; Go back one screen +.org 0x80810CF4 +; Replaces addiu t4, t3, 0x0001 + addiu t4, t3, 0x0000 + +; Pressing B + +; Cancel sound effect +.org 0x80810D2C +; Replaces jal func_800C806C + nop + +; Go back one screen +.org 0x80810D48 +; Replaces addiu t8, t7, 0x0001 + addiu t8, t7, 0x0000 + +; Remove the Controls texture if needed so we can display Password locked in its place. + +.org 0x80811AD8 +; Replaces lh v0, 0x4A30(a2) +; slti $at, v0, 0x0024 + jal display_controls_texture + lh v0, 0x4A30(a2) diff --git a/ASM/src/hacks/z_parameter.asm b/ASM/src/hacks/z_parameter.asm index 0fe51b9da0..1fe20314e1 100644 --- a/ASM/src/hacks/z_parameter.asm +++ b/ASM/src/hacks/z_parameter.asm @@ -14,4 +14,4 @@ ; Replaces addiu s2, $zero, 0x002A ; addiu t8, $zero, 0x00BE jal move_key_counter - addiu s2, $zero, 0x002A \ No newline at end of file + addiu s2, $zero, 0x002A diff --git a/ASM/src/hacks/z_title.asm b/ASM/src/hacks/z_title.asm new file mode 100644 index 0000000000..92e104f146 --- /dev/null +++ b/ASM/src/hacks/z_title.asm @@ -0,0 +1,10 @@ +; Nintendo Logo title screen + +.headersize(0x80800000 - 0x00B9DA40) + +.org 0x80800700 +; Replaces: +; lbu t3, 0x01E1(s0) +; lui v0, 0x8012 + jal skip_nintendo_logo + lbu t3, 0x01E1(s0) diff --git a/ASM/src/item_overrides.asm b/ASM/src/item_overrides.asm index 098a569393..d78d802c16 100644 --- a/ASM/src/item_overrides.asm +++ b/ASM/src/item_overrides.asm @@ -237,13 +237,6 @@ EnItem00_DropCollectibleFallAction_Hack: jr ra nop -drop_collectible2_hook: - li t0, drop_collectible_override_flag - lh t1, 0x00(t0) ; get the current override flag - sh r0, 0x00(t0) ; clear the override_flag - jr ra - sw t1, 0x1C(sp) ; put the flag in the y rotation parameter which is at 0x1C(sp) - item_give_hook: addiu sp, sp, -0x80 sw ra, 0x10(sp) @@ -297,101 +290,3 @@ return_to_func_near_end: lw v1, 0x18(sp) j 0x80012F58 addiu sp, sp, 0x80 - -rupee_draw_hook: -; push things on the stack - addiu sp, sp, -0x80 - sw ra, 0x10(sp) - sw v0, 0x14(sp) - sw v1, 0x18(sp) - sw a0, 0x1C(sp) - sw a1, 0x20(sp) - sw a2, 0x24(sp) - sw a3, 0x28(sp) - sw s0, 0x2c(sp) - sw s1, 0x30(sp) - sw at, 0x34(sp) - - jal collectible_draw - nop -; pop things off the stack -; put our return value somewhere - bgtz v0, @return - nop -@rupee_draw_orig: - lw ra, 0x10(sp) - lw v0, 0x14(sp) - lw v1, 0x18(sp) - lw a0, 0x1C(sp) - lw a1, 0x20(sp) - lw a2, 0x24(sp) - lw a3, 0x28(sp) - lw s0, 0x2c(sp) - lw s1, 0x30(sp) - lw at, 0x34(sp) - jal 0x80013150 - nop -@return: - lw ra, 0x10(sp) - lw v0, 0x14(sp) - lw v1, 0x18(sp) - lw a0, 0x1C(sp) - lw a1, 0x20(sp) - lw a2, 0x24(sp) - lw a3, 0x28(sp) - lw s0, 0x2c(sp) - lw s1, 0x30(sp) - lw at, 0x34(sp) - jr ra - addiu sp, sp, 0x80 - -recovery_heart_draw_hook: -; push things on the stack - addiu sp, sp, -0x80 - sw ra, 0x10(sp) - sw v0, 0x14(sp) - sw v1, 0x18(sp) - sw a0, 0x1C(sp) - sw a1, 0x20(sp) - sw a2, 0x24(sp) - sw a3, 0x28(sp) - sw s0, 0x2c(sp) - sw s1, 0x30(sp) - sw at, 0x34(sp) - - jal collectible_draw - nop -; pop things off the stack -; put our return value somewhere - beqz v0, @return_to_func - nop -@exit_func: - lw ra, 0x10(sp) - lw v0, 0x14(sp) - lw v1, 0x18(sp) - lw a0, 0x1C(sp) - lw a1, 0x20(sp) - lw a2, 0x24(sp) - lw a3, 0x28(sp) - lw s0, 0x2c(sp) - lw s1, 0x30(sp) - lw at, 0x34(sp) - addiu sp, sp, 0x80 - j end_of_recovery_draw - nop - -@return_to_func: - lw ra, 0x10(sp) - lw v0, 0x14(sp) - lw v1, 0x18(sp) - lw a0, 0x1C(sp) - lw a1, 0x20(sp) - lw a2, 0x24(sp) - lw a3, 0x28(sp) - lw s0, 0x2c(sp) - lw s1, 0x30(sp) - lw at, 0x34(sp) - addiu sp, sp, 0x80 - LH V0, 0x014a(A2) - jr ra - addiu at, r0, 0xFFFF diff --git a/ASM/src/messages.asm b/ASM/src/messages.asm index 3351aa0ed0..ed6915db22 100644 --- a/ASM/src/messages.asm +++ b/ASM/src/messages.asm @@ -129,3 +129,10 @@ shooting_gallery_no_bow: jr ra addiu sp, sp, 0x20 + +Message_Decode_reset_msgCtx.textPosX: + sb $zero, 0x4BE(at) + sh $zero, 0x4C0(at) + lhu a3, 0x4C0(a3) + j 0x800DA354 + nop diff --git a/ASM/src/shop.asm b/ASM/src/shop.asm index 542fc2f256..712ade8311 100644 --- a/ASM/src/shop.asm +++ b/ASM/src/shop.asm @@ -272,7 +272,7 @@ set_mask_text_hook: sw v1, 0x14(sp) sw ra, 0x18(sp) - lh v0, CFG_CHILD_TRADE_SHUFFLE + lbu v0, CFG_CHILD_TRADE_SHUFFLE beqz v0, @@return_mask_text nop jal SaveFile_TradeItemIsOwned @@ -295,7 +295,7 @@ set_mask_sold_out: sw a1, 0x14(sp) sw ra, 0x1C(sp) - lh v0, CFG_CHILD_TRADE_SHUFFLE + lbu v0, CFG_CHILD_TRADE_SHUFFLE beqz v0, @@return_mask_so nop diff --git a/ASM/src/trade_quests.asm b/ASM/src/trade_quests.asm index 756b977f6c..50a7d6dbaf 100644 --- a/ASM/src/trade_quests.asm +++ b/ASM/src/trade_quests.asm @@ -1,7 +1,3 @@ -CFG_ADULT_TRADE_SHUFFLE: - .halfword 0x0000 -CFG_CHILD_TRADE_SHUFFLE: - .halfword 0x0000 ADULT_ANJU_ITEM_DIALOG: .word 0x00000000 @@ -89,7 +85,7 @@ check_skull_kid_spawn_flags: check_if_biggoron_should_cry_eye_hook: addiu sp, sp, -0x18 sw ra, 0x14(sp) - lh v0, CFG_ADULT_TRADE_SHUFFLE + lbu v0, CFG_ADULT_TRADE_SHUFFLE beqz v0, @@vanilla_eye_hook nop jal check_if_biggoron_should_cry @@ -108,7 +104,7 @@ check_if_biggoron_should_cry_eye_hook: check_if_biggoron_should_cry_anim_hook: addiu sp, sp, -0x18 sw ra, 0x14(sp) - lh v0, CFG_ADULT_TRADE_SHUFFLE + lbu v0, CFG_ADULT_TRADE_SHUFFLE beqz v0, @@vanilla_anim_hook nop jal check_if_biggoron_should_cry @@ -130,7 +126,7 @@ check_if_biggoron_should_cry_sfx_hook: addiu sp, sp, -0x18 sw a3, 0x10(sp) sw ra, 0x14(sp) - lh v0, CFG_ADULT_TRADE_SHUFFLE + lbu v0, CFG_ADULT_TRADE_SHUFFLE beqz v0, @@vanilla_sfx_hook nop jal check_if_biggoron_should_cry @@ -159,7 +155,7 @@ check_if_biggoron_should_cry: sw ra, 0x1C(sp) ; Don't change behavior if trade shuffle is off - lh at, CFG_ADULT_TRADE_SHUFFLE + lbu at, CFG_ADULT_TRADE_SHUFFLE beqz at, @@return_crybaby nop @@ -234,9 +230,9 @@ check_trade_item_traded: ; Default behavior if Adult and Child ; Trade Quest Shuffles Off - lh t3, CFG_ADULT_TRADE_SHUFFLE + lbu t3, CFG_ADULT_TRADE_SHUFFLE bnez t3, @@check_trade_flags - lh t3, CFG_CHILD_TRADE_SHUFFLE + lbu t3, CFG_CHILD_TRADE_SHUFFLE beqz t3, @@return_traded nop @@ -290,7 +286,7 @@ check_if_mask_sells_out: or v1, $zero, $zero ; Skip giving item if partial/full mask shuffle enabled - lh v1, CFG_CHILD_TRADE_SHUFFLE + lbu v1, CFG_CHILD_TRADE_SHUFFLE @@return_sold_out: jr ra @@ -449,7 +445,7 @@ set_bunny_hood_traded_flag: ;================================================================================================== handle_child_zelda_savewarp: - lh v0, CFG_CHILD_TRADE_SHUFFLE + lbu v0, CFG_CHILD_TRADE_SHUFFLE bnez v0, @@return nop diff --git a/Audiobank.py b/Audiobank.py new file mode 100644 index 0000000000..0f2e441fc9 --- /dev/null +++ b/Audiobank.py @@ -0,0 +1,185 @@ +from __future__ import annotations +from io import FileIO +from Rom import Rom + +# Container for storing Audiotable, Audiobank, Audiotable_index, Audiobank_index +class Audiobin: + def __init__(self, _Audiobank: bytearray, _Audiobank_index: bytearray, _Audiotable: bytearray, _Audiotable_index: bytearray): + self.Audiobank: bytearray = _Audiobank + self.Audiobank_index: bytearray = _Audiobank_index + self.Audiotable: bytearray = _Audiotable + self.Audiotable_index: bytearray = _Audiotable_index + + num_banks = int.from_bytes(self.Audiobank_index[0:2], 'big') + self.audiobanks: list[AudioBank] = [] + for i in range(0, num_banks): + index = 0x10 + (0x10*i) + curr_entry = self.Audiobank_index[index:index+0x10] + audiobank: AudioBank = AudioBank(curr_entry, self.Audiobank, self.Audiotable, self.Audiotable_index) + self.audiobanks.append(audiobank) + + def find_sample_in_audiobanks(self, sample_data: bytearray): + for audiobank in self.audiobanks: + for drum in audiobank.drums: + if drum and drum.sample: + if drum.sample.data == sample_data: + return drum.sample + for instrument in audiobank.instruments: + if instrument: + if instrument.highNoteSample and instrument.highNoteSample.data == sample_data: + return instrument.highNoteSample + if instrument.lowNoteSample and instrument.lowNoteSample.data == sample_data: + return instrument.lowNoteSample + if instrument.normalNoteSample and instrument.normalNoteSample.data == sample_data: + return instrument.normalNoteSample + for sfx in audiobank.SFX: + if sfx and sfx.sample: + if sfx.sample.data == sample_data: + return sfx.sample + return None + +class Sample: + def __init__(self, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, sample_offset: int, audiotable_id: int, parent): + # Process the sample + self.parent = parent + self.bank_offset = sample_offset + self.sample_header = bankdata[sample_offset:sample_offset + 0x10] + self.codec = (self.sample_header[0] & 0xF0) >> 4 + self.medium = (self.sample_header[0] & 0x0C) >> 2 + self.size = int.from_bytes(self.sample_header[1:4], 'big') + self.addr = int.from_bytes(self.sample_header[4:8], 'big') + + if audiotable_file and self.addr > len(audiotable_file): # The offset is higher than the total size of audiotable so we'll assume it doesn't actually exist. # We'll need to get the sample data from ZSOUND files in the archive. + self.data = None + self.addr = -1 + return + # Read the audiotable pointer table entry + if audiotable_file and audiotable_index: + audiotable_index_offset = 0x10 + (audiotable_id * 0x10) + audiotable_entry = audiotable_index[audiotable_index_offset:audiotable_index_offset + 0x10] + audiotable_offset = int.from_bytes(audiotable_entry[0:4], 'big') + sample_address = audiotable_offset + self.addr + self.audiotable_addr = sample_address + # Read the sample data + self.data = audiotable_file[sample_address:sample_address+self.size] + else: + self.audiotable_addr = -1 + self.data = None + +# Loads an audiobank and it's corresponding instrument/drum/sfxs +class AudioBank: + + # Constructor: + # table_entry - 0x10 byte audiobank entry which contains info like the bank offset, size, number of instruments, etc. + # audiobank_file - the Audiobank file as a byte array + # audiotable_file - the Audiotable file as a byte array + # audiotable_index - the Audiotable index (pointer table) which provides an offsets into the Audiotable file where a bank's instrument samples offsets are calculated from. + def __init__(self, table_entry: bytearray, audiobank_file: bytearray, audiotable_file: bytearray, audiotable_index: bytearray) -> None: + + # Process bank entry + self.bank_offset: int = int.from_bytes(table_entry[0:4], 'big') # Offset of the bank in the Audiobank file + self.size: int = int.from_bytes(table_entry[4:8], 'big') # Size of the bank, in bytes + self.load_location: int = table_entry[8] # ROM/RAM/DISK + self.type: int = table_entry[9] + self.audiotable_id: int = table_entry[10] # Read audiotable id from the table entry. Instrument data offsets are in relation to this + self.unk: int = table_entry[11] # 0xFF + self.num_instruments: int = table_entry[12] + self.num_drums: int = table_entry[13] + self.num_sfx: int = int.from_bytes(table_entry[14:16], 'big') + self.bank_data = audiobank_file[self.bank_offset:self.bank_offset + self.size] + self.original_data = self.bank_data.copy() + self.table_entry: bytearray = table_entry + self.duplicate_banks: list[AudioBank] = [] + # Process the bank + + # Read drums + self.drums: list[Drum] = [] + drum_offset = int.from_bytes(self.bank_data[0:4], 'big') # Get the drum pointer. This is the first uint32 in the bank. Points to a list of drum offsets of length num_drums + for i in range(0, self.num_drums): # Read each drum + offset = drum_offset + 4*i + offset = int.from_bytes(self.bank_data[offset:offset+4], 'big') + drum = Drum(i, self.bank_data, audiotable_file, audiotable_index, offset, self.audiotable_id) if offset != 0 else None + self.drums.append(drum) + + # Read SFX + self.SFX: list[SFX] = [] + sfx_offset = int.from_bytes(self.bank_data[4:8], 'big') # Get the SFX pointer. this is the second uint32 in the bank. Points to a list of Sound objects which are 8 bytes each (Sample offsets + tuning) + for i in range(0, self.num_sfx): # Read each SFX + offset = sfx_offset + 8*i + sfx = SFX(i, self.bank_data, audiotable_file, audiotable_index, offset, self.audiotable_id) if offset != 0 else None + self.SFX.append(sfx) + + self.instruments: list[Instrument] = [] + # Read the instruments + for i in range(0, self.num_instruments): + offset = 0x08 + 4*i + instr_offset = int.from_bytes(self.bank_data[offset:offset+4], 'big') + instrument: Instrument = Instrument(i, self.bank_data, audiotable_file, audiotable_index, instr_offset, self.audiotable_id) if instr_offset != 0 else None + self.instruments.append(instrument) + + def __str__(self): + return "Offset: " + hex(self.bank_offset) + ", " + "Len:" + hex(self.size) + + def get_all_samples(self) -> list[Sample]: + all_sounds = self.drums + self.instruments + self.SFX + all_samples: list[Sample] = [] + for sound in all_sounds: + if type(sound) == Instrument: + instrument: Instrument = sound + if instrument.highNoteSample: + all_samples.append(instrument.highNoteSample) + if instrument.lowNoteSample: + all_samples.append(instrument.lowNoteSample) + if instrument.normalNoteSample: + all_samples.append(instrument.normalNoteSample) + + elif type(sound) == Drum: + drum: Drum = sound + if drum.sample: + all_samples.append(drum.sample) + elif type(sound) == SFX: + sfx: SFX = sound + if sfx.sample: + all_samples.append(sfx.sample) + return all_samples + + def build_entry(self, offset: int) -> bytes: + bank_entry: bytes = offset.to_bytes(4, 'big') + bank_entry += len(self.bank_data).to_bytes(4, 'big') + bank_entry += self.table_entry[8:16] + return bank_entry + +class Drum: + def __init__(self, drum_id: int, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, drum_offset: int, audiotable_id: int) -> None: + self.drum_id = drum_id + self.releaseRate = bankdata[drum_offset] + self.pan = bankdata[drum_offset + 1] + self.sampleOffset = int.from_bytes(bankdata[drum_offset + 4:drum_offset+8], 'big') + self.sampleTuning = int.from_bytes(bankdata[drum_offset + 8:drum_offset+12], 'big') + self.envelopePointOffset = int.from_bytes(bankdata[drum_offset+12:drum_offset+16], 'big') + self.sample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.sampleOffset, audiotable_id, self) + +class SFX: + def __init__(self, sfx_id: int, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, sfx_offset: int, audiotable_id: int) -> None: + self.sfx_id = sfx_id + self.sampleOffset = int.from_bytes(bankdata[sfx_offset:sfx_offset+4], 'big') + self.sampleTuning = int.from_bytes(bankdata[sfx_offset+4:sfx_offset+8], 'big') + self.sample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.sampleOffset, audiotable_id, self) + + +class Instrument: + def __init__(self, inst_id: int, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, instr_offset: int, audiotable_id: int) -> None: + self.inst_id = inst_id + self.normalRangeLo = bankdata[instr_offset + 1] + self.normalRangeHi = bankdata[instr_offset + 2] + self.releaseRate = bankdata[instr_offset + 3] + self.AdsrEnvelopePointOffset = int.from_bytes(bankdata[instr_offset + 4:instr_offset+8], 'big') + self.lowNoteSampleOffset = int.from_bytes(bankdata[instr_offset + 8:instr_offset+12], 'big') + self.lowNoteTuning = int.from_bytes(bankdata[instr_offset + 12: instr_offset + 16], 'big') + self.normalNoteSampleOffset = int.from_bytes(bankdata[instr_offset + 16:instr_offset+20], 'big') + self.normalNoteTuning = int.from_bytes(bankdata[instr_offset + 20:instr_offset + 24], 'big') + self.highNoteSampleOffset = int.from_bytes(bankdata[instr_offset + 24:instr_offset+28], 'big') + self.highNoteSampleTuning = int.from_bytes(bankdata[instr_offset + 28:instr_offset+32], 'big') + self.lowNoteSample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.lowNoteSampleOffset, audiotable_id, self) if self.lowNoteSampleOffset != 0 else None + self.normalNoteSample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.normalNoteSampleOffset, audiotable_id, self) if self.normalNoteSampleOffset != 0 else None + self.highNoteSample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.highNoteSampleOffset, audiotable_id, self) if self.highNoteSampleOffset != 0 else None diff --git a/CI.py b/CI.py index c9a39ffadd..f5f3930e48 100644 --- a/CI.py +++ b/CI.py @@ -11,22 +11,23 @@ import unittest from io import StringIO from typing import NoReturn - +from Main import resolve_settings +from Patches import get_override_table, get_override_table_bytes +from Rom import Rom +import Unittest as Tests from Messages import ITEM_MESSAGES, KEYSANITY_MESSAGES, MISC_MESSAGES from SettingsList import SettingInfos, logic_tricks, validate_settings import Unittest as Tests from Utils import data_path -def error(msg: str, can_fix: bool | str) -> None: +def error(msg: str, can_fix: bool) -> None: if not hasattr(error, "count"): error.count = 0 print(msg, file=sys.stderr) error.count += 1 if can_fix: error.can_fix = True - if can_fix == 'release': - error.can_fix_release = True else: error.cannot_fix = True @@ -112,14 +113,14 @@ def check_hell_mode_tricks(fix_errors: bool = False) -> None: print(file=file) -def check_release_presets(fix_errors: bool = False) -> None: +def check_preset_spoilers(fix_errors: bool = False) -> None: # Check to make sure spoiler logs are enabled for all presets. with open(data_path('presets_default.json'), encoding='utf-8') as f: presets = json.load(f) for preset_name, preset in presets.items(): if not preset['create_spoiler']: - error(f'{preset_name} preset does not create spoiler logs', 'release') + error(f'{preset_name} preset does not create spoiler logs', True) preset['create_spoiler'] = True if fix_errors: @@ -195,6 +196,10 @@ def check_file_format(path: pathlib.Path, *, allow_trailing_spaces: bool = False for path in (repo_dir / 'ASM' / 'src').iterdir(): if path.suffix == '.asm': check_file_format(path) + for subdir in ('drop_overrides', 'hacks'): + for path in (repo_dir / 'ASM' / 'src' / subdir).iterdir(): + if path.suffix == '.asm': + check_file_format(path) for subdir in ('Glitched World', 'Hints', 'World'): for path in (repo_dir / 'data' / subdir).iterdir(): if path.suffix == '.json': @@ -207,6 +212,35 @@ def check_file_format(path: pathlib.Path, *, allow_trailing_spaces: bool = False check_file_format(repo_dir / 'data' / 'presets_default.json') check_file_format(repo_dir / 'data' / 'settings_mapping.json') +# Check the sizes of the xflag, alt_override, and cfg_item_override tables, using hopefully the worst case +def check_table_sizes() -> None: + from SceneFlags import build_xflag_tables, build_xflags_from_world, get_alt_list_bytes, get_collectible_flag_table_bytes + from World import World + from Settings import Settings + filename = 'plando-table-tests' + distribution_file = Tests.load_spoiler(os.path.join(Tests.test_dir, 'plando', filename + '.json')) + settings = Tests.load_settings(distribution_file['settings'], seed='TESTTESTTEST', filename=filename) + resolve_settings(settings) + world = World(0,settings) + for filename in ('Overworld.json', 'Bosses.json'): + world.load_regions_from_json(os.path.join(data_path('World'), filename)) + world.create_dungeons() + + xflags_tables, alt_list = build_xflags_from_world(world) + xflag_scene_table, xflag_room_table, xflag_room_blob, max_bit = build_xflag_tables(xflags_tables) + rom = Rom() + if len(xflag_room_table) > rom.sym_length('xflag_room_table'): + error(f'Exceeded xflag room table size: {len(xflag_room_table)}', False) + if len(xflag_room_blob) > rom.sym_length('xflag_room_blob'): + error(f'Exceed xflag blob table size: {len(xflag_room_blob)}', False) + alt_list_bytes = get_alt_list_bytes(alt_list) + if len(alt_list_bytes) > rom.sym_length('alt_overrides'): + error(f'Exceeded alt override table size: {len(alt_list)}', False) + + override_table = get_override_table(world) + override_table_bytes = get_override_table_bytes(override_table) + if len(override_table_bytes) >= rom.sym_length('cfg_item_overrides'): + error(f'Exceeded override table size: {len(override_table)}', False) def run_ci_checks() -> NoReturn: parser = argparse.ArgumentParser() @@ -223,13 +257,12 @@ def run_ci_checks() -> NoReturn: check_hell_mode_tricks(args.fix) check_code_style(args.fix) check_presets_formatting(args.fix) - if args.release: - check_release_presets(args.fix) + check_table_sizes() + check_preset_spoilers(args.fix) check_message_duplicates() exit_ci(args.fix) - def exit_ci(fix_errors: bool = False) -> NoReturn: if hasattr(error, "count") and error.count: print(f'CI failed with {error.count} errors.', file=sys.stderr) diff --git a/Cosmetics.py b/Cosmetics.py index 7df22bb1ca..d32668cb0d 100644 --- a/Cosmetics.py +++ b/Cosmetics.py @@ -978,20 +978,24 @@ def patch_input_viewer(rom: Rom, settings: Settings, log: CosmeticsLog, symbols: def patch_song_names(rom: Rom, settings: Settings, log: CosmeticsLog, symbols: dict[str, int]) -> None: bytes_to_write = [] + rom.write_byte(symbols['CFG_SONG_NAME_STATE'], 0x00) if settings.display_custom_song_names != 'off': if settings.display_custom_song_names == 'top': - rom.write_byte(symbols['CFG_SONG_NAME_POSITION'], 0x00) + rom.write_byte(symbols['CFG_SONG_NAME_STATE'], 0x01) if settings.display_custom_song_names == 'pause': - rom.write_byte(symbols['CFG_SONG_NAME_POSITION'], 0x01) + rom.write_byte(symbols['CFG_SONG_NAME_STATE'], 0x02) for index, song_name in enumerate(log.bgm.values()): if index >= 47: break - if len(song_name) > 50: - song_name_cropped = song_name[:50] - text_bytes = [ord(c) for c in song_name_cropped] + if song_name == 'None': + text_bytes = [ord('\0')] * 50 else: - text_bytes = [ord(c) for c in song_name] + [ord('\0')] * (50 - len(song_name)) + if len(song_name) > 50: + song_name_cropped = song_name[:50] + text_bytes = [ord('?' if ord(c) >= 0x80 else c) for c in song_name_cropped] + else: + text_bytes = [ord('?' if ord(c) >= 0x80 else c) for c in song_name] + [ord('\0')] * (50 - len(song_name)) bytes_to_write += text_bytes rom.write_bytes(symbols['CFG_SONG_NAMES'], bytes_to_write) log.display_custom_song_names = settings.display_custom_song_names @@ -1209,7 +1213,7 @@ def patch_song_names(rom: Rom, settings: Settings, log: CosmeticsLog, symbols: d ], "symbols": { **patch_sets[0x1F073FE1]["symbols"], - "CFG_SONG_NAME_POSITION": 0x006C, + "CFG_SONG_NAME_STATE": 0x006C, "CFG_SONG_NAMES": 0x006D, } } diff --git a/Cutscenes.py b/Cutscenes.py index 14e27ce821..a3a3e8afdf 100644 --- a/Cutscenes.py +++ b/Cutscenes.py @@ -1,6 +1,11 @@ from typing import Optional from Rom import Rom +from Settings import Settings + +# The following helpers can be used when the cutscene is written in the form of CutsceneData instructions. +# This is the case for all cutscenes defined directly in their scenes, and some specific ones in their actor file. +# However some cutscenes like all the ones tied to bosses are done "manually" in their actor files in a completely different format. def delete_cutscene(rom: Rom, address: int) -> None: # Address is the start of the cutscene commands. @@ -69,17 +74,7 @@ def patch_cutscene_misc_command(rom: Rom, address: int, start_frame:int, end_fra rom.write_int16(address + 2, start_frame) rom.write_int16(address + 4, end_frame) -def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: - # Speed scene after Deku Tree - # Deku Tree talking to Link. - # Cut to 1 frame and redirect destination to the get Emerald cutscene (0x07). - patch_cutscene_destination_and_length(rom, 0x2077E20, 1, 0x07) - # Recieve the Emerald cutscene. - patch_cutscene_destination_and_length(rom, 0x2078A10, 31) - # Display the 0x0080 textbox (You got the Kokiri's Emerald!) between 0 and 30 frames. - patch_textbox_during_cutscene(rom, 0x2079570, 0x0080, 0, 30) - # Display no text between 30 and 40 frames. - patch_textbox_during_cutscene(rom, 0x207957C, 0, 30, 40) +def patch_cutscenes(rom: Rom, songs_as_items: bool, settings: Settings) -> None: # Speed obtaining Fairy Ocarina patch_cutscene_destination_and_length(rom, 0x2151230, 60) @@ -172,11 +167,6 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: # Play Sarias Song to Darunia delete_cutscene(rom, 0x22769E0) - # Speed scene after Dodongo's Cavern - patch_cutscene_destination_and_length(rom, 0x2221E88, 59) - # Display the 0x0081 textbox (You got the Goron's Ruby!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0x2223308, 0x0081, 0, 58) - # Speed up Death Mountain Trail Owl Flight patch_cutscene_destination_and_length(rom, 0x223B6B0, 1) @@ -184,16 +174,11 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: patch_cutscene_destination_and_length(rom, 0xCA0784, 1) # Ruto pointing to the Zora Sapphire when you enter Big Octo's room. - delete_cutscene(rom, 0xD03BAC) + delete_cutscene(rom, 0xD03BA8) # Speed scene after Jabu Jabu's Belly # Cut Ruto talking to Link when entering the blue warp. rom.write_int32(0xCA3530, 0x00000000) - patch_cutscene_destination_and_length(rom, 0x2113340, 59) - # Display the 0x0081 textbox (You got the Zora's Sapphire!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0x2113C18, 0x0082, 0, 58) - # Ensure the initial white screen will stay on screen for 59 frames and not switch briefly to the next cutscene. - patch_cutscene_scene_transition(rom, 0x21131D0, 1, 0, 59) # Speed up Lake Hylia Owl Flight patch_cutscene_destination_and_length(rom, 0x20E60D0, 1) @@ -275,15 +260,6 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: # Last part is 250 frames. rom.write_int32(0xC94594, 0x00000000) - # Speed scene after Forest Temple - # Saria becomes a Sage cutscene. - # Cut to 59 frames and redirect to the third part of the Deku Sprout cutscene (0x45). - patch_cutscene_destination_and_length(rom, 0xD4ED68, 59, 0x45) - # Display the 0x003E textbox (You received the Forest Medallion!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0xD4ED78, 0x003E, 0, 58) - # Deku Sprout cutscene number 3. - delete_cutscene(rom, 0x207B9D0) - # Speed learning Prelude of Light if songs_as_items: delete_cutscene(rom, 0x0252FD20) @@ -317,14 +293,6 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: rom.write_int16(0x0224B828, 0x0000) rom.write_int16(0x0224B858, 0x0000) - # Speed scene after Fire Temple - # Crater volcano erupting from Kakariko. - patch_cutscene_destination_and_length(rom, 0x2001848, 1) - # Darunia becomes a Sage cutscene. - patch_cutscene_destination_and_length(rom, 0xD100B4, 59) - # Display the 0x003C textbox (You received the Fire Medallion!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0xD10134, 0x003C, 0, 58) - # Speed learning Serenade of Water if songs_as_items: delete_cutscene(rom, 0x02BEB250) @@ -347,15 +315,13 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: # Restart Ice cavern music on frame 33. rom.write_int16s(0x02BEC852, [0x0021, 0x0022]) - # Speed scene after Water Temple - # Ruto becomes a Sage cutscene. - patch_cutscene_destination_and_length(rom, 0xD5A458, 59) - # Display the 0x003D textbox (You received the Water Medallion!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0xD5A3A8, 0x003D, 0, 58) - # Set the "Restored Lake Hylia water" flag at the first frame. - patch_cutscene_misc_command(rom, 0x20D0B68, 1, 2) - # Lake Hylia restored water cutscene. - patch_cutscene_destination_and_length(rom, 0x20D0D20, 2) + # Speed Morpha defeat cutscene + rom.write_int16(0xD3FDA6, 0x43AF) # make the cam look at the ceiling after core burst + rom.write_int16(0xD3FDBA, 0x0068) # jump some cutscene states, go directly to MO_DEATH_DROPLET instead of MO_DEATH_DRAIN_WATER_1 + rom.write_int16(0xD3FE1E, 0x0020) # change the timer for current state to 32 because the MO_DEATH_DROPLET state starts at timer 30 + rom.write_int16(0xD3FE46, 0xC396) # make the water level down instantly + rom.write_int32(0xD4021C, 0x00000000) # prevent cam to do a 90 degree rotation + rom.write_int16(0xD40392, 0x003C) # stop the NA_SE_EN_MOFER_APPEAR sfx after 2sec # Speed learning Nocturne of Shadow # Burning Kak cutscene @@ -379,11 +345,24 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: # Set the "Drain Well" flag at the second frame (first frame is used by the "Fast Windmill" flag). patch_cutscene_misc_command(rom, 0x20010D8, 2, 3) - # Speed scene after Shadow Temple - # Impa becomes a Sage cutscene. - patch_cutscene_destination_and_length(rom, 0xD13EC8, 59) - # Display the 0x0041 textbox (You received the Shadow Medallion!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0xD13E18, 0x0041, 0, 58) + # This cutscene is not written in the shadow temple scene or in the boat actor, but directly in z_onepointdemo.c instead. + # So not compatible with our functions. + if settings.fast_shadow_boat: + # bg_haka_ship changes to make the boat go faster. + rom.write_int16(0xD1923E, 0x0000) # Timer to start moving + rom.write_int16(0xD19426, 0x4348) # Speed x10 + rom.write_int16(0xD19436, 0x447A) # Speed x10 + # Cutscene changes so that it lasts just long enough to prevent jumping to the skulltula. + # Remove all camera cues of the cutscene past the first one by changing the size of keyFrameCount to 1. + rom.write_int16(0xAE010E, 0x0001) + # Change first camera cue point of view to be less awkward. + # Change viewFlags to 2121, this will make the camera focus on Link. + rom.write_int16(0xB697F6, 0x2121) + # Change the length to 4 sec instead of 2 sec. + rom.write_int16(0xB697F8, 0x0050) + # Change the at/eye camera values to follow Link from behind. + # New value : { 0.0f, 0.0f, 0.0f }, { 50.0f, 30.0f, -200.0f} + rom.write_int32s(0xB69804, [0x00000000, 0x00000000, 0x00000000, 0x42480000, 0x42480000, 0xC3480000]) # Speed learning Requiem of Spirit if songs_as_items: @@ -432,12 +411,6 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: # Replaces a if (msgId2 != 0) check by if (0 != 0) to prevent textboxes from starting. rom.write_bytes(0xD67BA4, [0x10, 0x00]) - # Speed scene after Spirit Temple - # Nabooru becomes a Sage cutscene. - patch_cutscene_destination_and_length(rom, 0xD3A0A8, 59) - # Display the 0x003F textbox (You received the Spirit Medallion!) between 0 and 58 frames. - patch_textbox_during_cutscene(rom, 0xD39FF0, 0x003F, 0, 58) - # Cutscene for all medallions never triggers when leaving shadow or spirit temples rom.write_byte(0xACA409, 0xAD) rom.write_byte(0xACA49D, 0xCE) @@ -490,8 +463,16 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: patch_cutscene_destination_and_length(rom, 0x33FB328, 1) # After tower collapse - # Jump from csState 1 to csState 4, 100 frames before giving back control. Next state only starts when Link gets near Ganon. + # Delete a bunch of camera instructions to avoid sudden movement when getting control back. + # Put subCamId at 0 in csState 0 + rom.write_byte(0xE82DE9, 0x00) + # Jump from csState 1 to csState 4. rom.write_byte(0xE82E0F, 0x04) + # Remove all main camera changes in csState 4. + for byte in range(0, 80): + rom.write_byte(0xE8343C + byte, 0x00) + # Reduce the 100 frames wait in state 4 to 1. Next cutscene state only starts when Link gets close to Ganon. + rom.write_int16(0xE8341A, 0x0001) # Ganon intro # Jump from state 14 to 15 instantly instead of waiting 60 frames. rom.write_int32(0xE83B5C, 0x00000000) @@ -499,3 +480,34 @@ def patch_cutscenes(rom: Rom, songs_as_items:bool) -> None: rom.write_int32(0xE83D28, 0x00000000) # Remove the Navi textbox at the start of state 28 ("This time, we fight together!). rom.write_int16(0xE84C80, 0x1000) + +def patch_wondertalk2(rom: Rom, settings: Settings) -> None: + # Wonder_talk2 is an actor that displays a textbox when near a certain spot, either automatically or by pressing A (button turns to Check). + # We remove them by moving their Y coordinate far below their normal spot. + wonder_talk2_y_coordinates = [ + 0x27C00BC, 0x27C00CC, 0x27C00DC, 0x27C00EC, 0x27C00FC, 0x27C010C, 0x27C011C, 0x27C012C, # Shadow Temple Whispering Wall Maze (Room 0) + 0x27CE080, 0x27CE090, # Shadow Temple Truthspinner (Room 2) + 0x2887070, 0x2887080, 0x2887090, # GTG Entrance Room (Room 0) + 0x2897070, # GTG Stalfos Room (Room 1) + 0x28A1144, # GTG Flame Wall Maze (Room 2) + 0x28A60F4, 0x28A6104, # GTG Pushblock Room (Room 3) + 0x28AE084, # GTG Rotating Statue Room (Room 4) + 0x28B9174, # GTG Megaton Statue Room (Room 5) + 0x28BF168, 0x28BF178, 0x28BF188, # GTG Lava Room (Room 6) + 0x28C7134, # GTG Dinolfos Room (Room 7) + 0x28D0094, # GTG Ice Arrow Room (Room 8) + 0x28D91BC, # GTG Shellblade Room (Room 9) + 0x225E7E0, # Death Mountain Crater (Room 1) + 0x32A50E4, # Thieves' Hideout Green Cell Room 3 torches (Room 1) + 0x32AD0E4, # Thieves' Hideout Red Cell Room 1 torch (Room 2) + 0x32BD102, # Thieves' Hideout Green Cell Room 4 torches (Room 4) + 0x32C1134, # Thieves' Hideout Blue Cell Room 2 torches (Room 5) + ] + for address in wonder_talk2_y_coordinates: + rom.write_byte(address, 0xFB) + + if 'frogs2' in settings.misc_hints: + # Prevent setting the replaced textbox flag so that the hint is easily repeatible by walking over the spot again. + # And move the hint spot down the log so that it doesn't pop every time a song is played, and let some room to do ocarina item glitch. + rom.write_int16s(0x2059412, [0x03C0, 0x00E2, 0xFAA6]) # Move coordinates. Original value : 1000, 205, -1202. New value : 960, 226, -1370. + rom.write_byte(0x205941F, 0xBF) # Never set the flag. diff --git a/Dungeon.py b/Dungeon.py index 0ab2ec42ce..e7ba3123fb 100644 --- a/Dungeon.py +++ b/Dungeon.py @@ -19,6 +19,7 @@ def __init__(self, world: World, name: str, hint: HintArea, regions: Optional[li self.small_keys: list[Item] = [] self.dungeon_items: list[Item] = [] self.silver_rupees: list[Item] = [] + self.reward: list[Item] = [] if regions is None: for region in world.regions: @@ -35,9 +36,16 @@ def copy(self) -> Dungeon: new_dungeon.small_keys = [item for item in self.small_keys] new_dungeon.dungeon_items = [item for item in self.dungeon_items] new_dungeon.silver_rupees = [item for item in self.silver_rupees] + new_dungeon.reward = [item for item in self.reward] return new_dungeon + @staticmethod + def from_vanilla_reward(item: Item) -> Dungeon: + dungeons = [dungeon for dungeon in item.world.dungeons if dungeon.vanilla_reward == item.name] + if dungeons: + return dungeons[0] + @property def shuffle_mapcompass(self) -> str: return self.world.settings.shuffle_mapcompass @@ -54,6 +62,10 @@ def shuffle_bosskeys(self) -> str: def shuffle_silver_rupees(self) -> str: return self.world.settings.shuffle_silver_rupees + @property + def shuffle_dungeon_rewards(self) -> str: + return self.world.settings.shuffle_dungeon_rewards + @property def empty(self) -> bool: return self.world.empty_dungeons[self.name].empty @@ -64,7 +76,26 @@ def keys(self) -> list[Item]: @property def all_items(self) -> list[Item]: - return self.dungeon_items + self.keys + self.silver_rupees + return self.dungeon_items + self.keys + self.silver_rupees + self.reward + + @property + def vanilla_boss_name(self) -> Optional[str]: + return { + 'Deku Tree': 'Queen Gohma', + 'Dodongos Cavern': 'King Dodongo', + 'Jabu Jabus Belly': 'Barinade', + 'Forest Temple': 'Phantom Ganon', + 'Fire Temple': 'Volvagia', + 'Water Temple': 'Morpha', + 'Shadow Temple': 'Bongo Bongo', + 'Spirit Temple': 'Twinrova', + }.get(self.name) + + + @property + def vanilla_reward(self) -> Optional[str]: + if self.vanilla_boss_name is not None: + return self.world.get_location(self.vanilla_boss_name).vanilla_item def item_name(self, text: str) -> str: return f"{text} ({self.name})" @@ -89,6 +120,8 @@ def get_restricted_dungeon_items(self) -> Iterator[Item]: yield from self.boss_key if self.shuffle_silver_rupees == 'dungeon' or (self.empty and self.shuffle_silver_rupees in ['any_dungeon', 'overworld', 'anywhere', 'regional']): yield from self.silver_rupees + if self.shuffle_dungeon_rewards in ('vanilla', 'dungeon'): # we don't lock rewards inside pre-completed dungeons since they're still useful outside + yield from self.reward # get a list of items that don't have to be in their proper dungeon def get_unrestricted_dungeon_items(self) -> Iterator[Item]: @@ -102,6 +135,8 @@ def get_unrestricted_dungeon_items(self) -> Iterator[Item]: yield from self.boss_key if self.shuffle_silver_rupees in ['any_dungeon', 'overworld', 'anywhere', 'regional']: yield from self.silver_rupees + if self.shuffle_dungeon_rewards in ('any_dungeon', 'overworld', 'anywhere', 'regional'): + yield from self.reward def __str__(self) -> str: return self.name diff --git a/EntranceShuffle.py b/EntranceShuffle.py index e0a85ee7a0..d56900e164 100644 --- a/EntranceShuffle.py +++ b/EntranceShuffle.py @@ -130,6 +130,9 @@ def build_one_way_targets(world: World, types_to_include: Iterable[str], exclude ('AdultBoss', ('Spirit Temple Before Boss -> Twinrova Boss Room', { 'index': 0x008D, 'savewarp_addresses': [ 0xB062F2, 0xBC6122 ] }), ('Twinrova Boss Room -> Spirit Temple Before Boss', { 'index': 0x02F5 })), + ('SpecialBoss', ('Ganons Castle Main -> Ganons Castle Tower', { 'index': 0x041B }), + ('Ganons Castle Tower -> Ganons Castle Main', { 'index': 0x0534 })), + ('Interior', ('Kokiri Forest -> KF Midos House', { 'index': 0x0433 }), ('KF Midos House -> Kokiri Forest', { 'index': 0x0443 })), ('Interior', ('Kokiri Forest -> KF Sarias House', { 'index': 0x0437 }), @@ -385,14 +388,14 @@ def build_one_way_targets(world: World, types_to_include: Iterable[str], exclude ('WarpSong', ('Nocturne of Shadow Warp -> Graveyard Warp Pad Region', { 'index': 0x0568, 'addresses': [0xBF0244] })), ('WarpSong', ('Prelude of Light Warp -> Temple of Time', { 'index': 0x05F4, 'addresses': [0xBF0246] })), - ('BlueWarp', ('Queen Gohma Boss Room -> KF Outside Deku Tree', { 'index': 0x0457, 'addresses': [0xAC93A2, 0xCA3142] })), - ('BlueWarp', ('King Dodongo Boss Room -> Death Mountain', { 'index': 0x047A, 'addresses': [0xAC9336, 0xCA30CA] })), - ('BlueWarp', ('Barinade Boss Room -> Zoras Fountain', { 'index': 0x010E, 'addresses': [0xAC936A, 0xCA31B2] })), - ('BlueWarp', ('Phantom Ganon Boss Room -> Sacred Forest Meadow', { 'index': 0x0608, 'addresses': [0xAC9F96, 0xCA3D66, 0xCA3D5A], 'child_index': 0x0600 })), - ('BlueWarp', ('Volvagia Boss Room -> DMC Central Local', { 'index': 0x0564, 'addresses': [0xACA516, 0xCA3DF2, 0xCA3DE6], 'child_index': 0x04F6 })), - ('BlueWarp', ('Morpha Boss Room -> Lake Hylia', { 'index': 0x060C, 'addresses': [0xAC995A, 0xCA3E82, 0xCA3E76], 'child_index': 0x0604 })), - ('BlueWarp', ('Bongo Bongo Boss Room -> Graveyard Warp Pad Region', { 'index': 0x0580, 'addresses': [0xACA496, 0xCA3FA2, 0xCA3F96], 'child_index': 0x0568 })), - ('BlueWarp', ('Twinrova Boss Room -> Desert Colossus', { 'index': 0x0610, 'addresses': [0xACA402, 0xCA3F12, 0xCA3F06], 'child_index': 0x01F1 })), + ('BlueWarp', ('Queen Gohma Boss Room -> KF Outside Deku Tree', { 'index': 0x0457, 'addresses': [0xAC93A2, 0xCA3142, 0xCA316A] })), + ('BlueWarp', ('King Dodongo Boss Room -> Death Mountain', { 'index': 0x047A, 'addresses': [0xAC9336, 0xCA30CA, 0xCA30EA] })), + ('BlueWarp', ('Barinade Boss Room -> Zoras Fountain', { 'index': 0x010E, 'addresses': [0xAC936A, 0xCA31B2, 0xCA3702] })), + ('BlueWarp', ('Phantom Ganon Boss Room -> Sacred Forest Meadow', { 'index': 0x0608, 'addresses': [0xAC9F96, 0xCA3D66, 0xCA3D5A, 0xCA3D32], 'child_index': 0x0600 })), + ('BlueWarp', ('Volvagia Boss Room -> DMC Central Local', { 'index': 0x0564, 'addresses': [0xACA516, 0xCA3DF2, 0xCA3DE6, 0xCA3DBE], 'child_index': 0x04F6 })), + ('BlueWarp', ('Morpha Boss Room -> Lake Hylia', { 'index': 0x060C, 'addresses': [0xAC995A, 0xCA3E82, 0xCA3E76, 0xCA3E4A], 'child_index': 0x0604 })), + ('BlueWarp', ('Bongo Bongo Boss Room -> Graveyard Warp Pad Region', { 'index': 0x0580, 'addresses': [0xACA496, 0xCA3FA2, 0xCA3F96, 0xCA3F6A], 'child_index': 0x0568 })), + ('BlueWarp', ('Twinrova Boss Room -> Desert Colossus', { 'index': 0x0610, 'addresses': [0xACA402, 0xCA3F12, 0xCA3F06, 0xCA3EDA], 'child_index': 0x01F1 })), ('Extra', ('ZD Eyeball Frog Timeout -> Zoras Domain', { 'index': 0x0153 })), ('Extra', ('ZR Top of Waterfall -> Zora River', { 'index': 0x0199 })), @@ -472,9 +475,14 @@ def shuffle_random_entrances(worlds: list[World]) -> None: one_way_entrance_pools['WarpSong'] = world.get_shufflable_entrances(type='WarpSong') if worlds[0].settings.reachable_locations != 'beatable' and worlds[0].settings.logic_rules == 'glitchless': # In glitchless, there aren't any other ways to access these areas - wincons = [worlds[0].settings.bridge, worlds[0].settings.shuffle_ganon_bosskey] + wincons = {worlds[0].settings.bridge, worlds[0].settings.shuffle_ganon_bosskey} if worlds[0].settings.shuffle_ganon_bosskey == 'on_lacs': - wincons.append(worlds[0].settings.lacs_condition) + wincons.add(worlds[0].settings.lacs_condition) + if worlds[0].settings.shuffle_dungeon_rewards != 'dungeon' and ( + worlds[0].settings.shuffle_dungeon_rewards not in ('vanilla', 'reward') + or worlds[0].mixed_pools_bosses + ): + wincons -= {'dungeons', 'stones', 'medallions'} if ( worlds[0].settings.reachable_locations == 'all' or ('tokens' in wincons and worlds[0].settings.tokensanity in ('off', 'dungeons')) @@ -503,6 +511,8 @@ def shuffle_random_entrances(worlds: list[World]) -> None: if worlds[0].settings.shuffle_bosses == 'full': entrance_pools['Boss'] = world.get_shufflable_entrances(type='ChildBoss', only_primary=True) entrance_pools['Boss'] += world.get_shufflable_entrances(type='AdultBoss', only_primary=True) + if worlds[0].settings.shuffle_ganon_tower: + entrance_pools['Boss'] += world.get_shufflable_entrances(type='SpecialBoss', only_primary=True) if worlds[0].settings.open_forest == 'closed': # Deku is forced vanilla below, so Queen Gohma must be vanilla to ensure she is reachable. # This is already enforced by the fill algorithm in most cases, but this covers the odd settings combination where it isn't. @@ -510,6 +520,8 @@ def shuffle_random_entrances(worlds: list[World]) -> None: elif worlds[0].settings.shuffle_bosses == 'limited': entrance_pools['ChildBoss'] = world.get_shufflable_entrances(type='ChildBoss', only_primary=True) entrance_pools['AdultBoss'] = world.get_shufflable_entrances(type='AdultBoss', only_primary=True) + if worlds[0].settings.shuffle_ganon_tower: + entrance_pools['AdultBoss'] += world.get_shufflable_entrances(type='SpecialBoss', only_primary=True) if worlds[0].settings.open_forest == 'closed': # Deku is forced vanilla below, so Queen Gohma must be vanilla to ensure she is reachable. # This is already enforced by the fill algorithm in most cases, but this covers the odd settings combination where it isn't. @@ -957,8 +969,8 @@ def validate_world(world: World, worlds: list[World], entrance_placed: Optional[ if ( world.shuffle_interior_entrances and ( - (world.dungeon_rewards_hinted and world.mixed_pools_bosses) or #TODO also enable if boss reward shuffle is on - any(hint_type in world.settings.misc_hints for hint_type in misc_item_hint_table) or world.settings.hints != 'none' + (world.dungeon_rewards_hinted and (world.mixed_pools_bosses or world.settings.shuffle_dungeon_rewards in ('regional', 'overworld', 'anywhere'))) + or any(hint_type in world.settings.misc_hints for hint_type in misc_item_hint_table) or world.settings.hints != 'none' ) and (entrance_placed is None or entrance_placed.type in ['Interior', 'SpecialInterior']) ): # Ensure Kak Potion Shop entrances are in the same hint area so there is no ambiguity as to which entrance is used for hints diff --git a/Fill.py b/Fill.py index 6c018f94e9..b2ef1d0815 100644 --- a/Fill.py +++ b/Fill.py @@ -89,11 +89,12 @@ def distribute_items_restrictive(worlds: list[World], fill_locations: Optional[l ice_traps = [item for item in itempool if item.name == 'Ice Trap'] # Extend with ice traps manually placed in plandomizer ice_traps.extend( - location.item for location in cloakable_locations - if (location.has_preview() - and location.item is not None - and location.item.name == 'Ice Trap' - and location.item.looks_like_item is None)) + location.item + for location in cloakable_locations + if location.item is not None + and location.item.name == 'Ice Trap' + and location.item.looks_like_item is None + ) junk_items = remove_junk_items.copy() junk_items.remove('Ice Trap') major_items = [name for name, item in ItemInfo.items.items() if item.type == 'Item' and item.advancement and item.index is not None] @@ -248,7 +249,7 @@ def fill_dungeons_restrictive(worlds: list[World], search: Search, shuffled_loca # sort in the order Other, Small Key, Boss Key before placing dungeon items # python sort is stable, so the ordering is still random within groups # fill_restrictive processes the resulting list backwards so the Boss Keys will actually be placed first - sort_order = {"BossKey": 3, "GanonBossKey": 3, "SmallKey": 2} + sort_order = {"BossKey": 3, "GanonBossKey": 3, "SmallKey": 2, "SmallKeyRing": 2} dungeon_items.sort(key=lambda item: sort_order.get(item.type, 1)) # place dungeon items diff --git a/GUI/package.json b/GUI/package.json index 4d683b5332..b5121b46eb 100644 --- a/GUI/package.json +++ b/GUI/package.json @@ -1,7 +1,7 @@ { "name": "ootr-electron-gui", "description": "GUI for Ocarina of Time Randomizer", - "version": "8.2.0", + "version": "8.3.0", "homepage": "https://www.ootrandomizer.com", "author": "ZeldaSpeedRuns ", "main": "electron/dist/main.js", diff --git a/GUI/package_release.json b/GUI/package_release.json index 9e5f1e3dbb..1d369b6793 100644 --- a/GUI/package_release.json +++ b/GUI/package_release.json @@ -1,7 +1,7 @@ { "name": "ootr-electron-gui", "description": "GUI for Ocarina of Time Randomizer", - "version": "8.2.0", + "version": "8.3.0", "homepage": "https://www.ootrandomizer.com", "author": "ZeldaSpeedRuns ", "main": "electron/dist/main.js", diff --git a/GUI/src/app/pages/generator/generator.component.html b/GUI/src/app/pages/generator/generator.component.html index cbe15ebf8d..11d2123557 100644 --- a/GUI/src/app/pages/generator/generator.component.html +++ b/GUI/src/app/pages/generator/generator.component.html @@ -289,15 +289,10 @@

{{section.text}}

- - + - - - - diff --git a/GUI/src/app/pages/generator/generator.component.scss b/GUI/src/app/pages/generator/generator.component.scss index e0fab9b7da..05dfe76d7e 100644 --- a/GUI/src/app/pages/generator/generator.component.scss +++ b/GUI/src/app/pages/generator/generator.component.scss @@ -261,10 +261,10 @@ .comboBoxLabel { position: relative; display: block; - left: 10px; + padding-left: 10px; &.oneLineComboBox { - left: 0; + padding-left: 0; } } diff --git a/GUI/src/app/pages/generator/generator.component.ts b/GUI/src/app/pages/generator/generator.component.ts index 47585e2f2e..00814d2750 100644 --- a/GUI/src/app/pages/generator/generator.component.ts +++ b/GUI/src/app/pages/generator/generator.component.ts @@ -176,6 +176,7 @@ export class GeneratorComponent implements OnInit { } let goalErrorText = "The selected hint distribution includes the Goal hint type. This can drastically increase generation time for large multiworld seeds. Continue?"; + let noLogicErrorText = "You have selected No Logic. This can produce unbeatable seeds. Continue?"; let goalDistros = this.global.getGlobalVar('generatorGoalDistros'); if (!goalHintsConfirmed && goalDistros.indexOf(this.global.generator_settingsMap["hint_dist"]) > -1 && this.global.generator_settingsMap["world_count"] > 5) { @@ -195,6 +196,29 @@ export class GeneratorComponent implements OnInit { return; } + try { + let noLogicConfirmed = localStorage.getItem("noLogicConfirmed"); + if ((!noLogicConfirmed || noLogicConfirmed == "false") && this.global.generator_settingsMap["logic_rules"] === "none") { + this.dialogService.open(ConfirmationWindowComponent, { + autoFocus: true, closeOnBackdropClick: false, closeOnEsc: false, hasBackdrop: true, hasScroll: false, context: { dialogHeader: "No Logic Warning", dialogMessage: noLogicErrorText } + }).onClose.subscribe(confirmed => { + //User acknowledged possible unbeatability of no logic seeds + if (confirmed) { + localStorage.setItem("noLogicConfirmed", JSON.stringify(true)); + this.generateSeed(fromPatchFile, webRaceSeed, goalHintsConfirmed); + } + }); + + this.generateSeedButtonEnabled = true; + this.cd.markForCheck(); + this.cd.detectChanges(); + + return; + } + } catch (e) { + //Browser doesn't allow localStorage access + } + if (this.global.getGlobalVar('electronAvailable')) { //Electron //Hack: Fix Generation Count being None occasionally @@ -824,7 +848,7 @@ export class GeneratorComponent implements OnInit { onDirectorySelectedWeb(event, setting: any) { //Web only let dirPickerMode: boolean = this.global.getGlobalVar("webSupportDirectoryPicker"); - + let fileList = event.currentTarget.files; if (!fileList || fileList.length < 1) @@ -850,7 +874,7 @@ export class GeneratorComponent implements OnInit { if (nameParts.length > 0) displayName = `${nameParts.join(", ")} and ${lastNamePart}`; else - displayName = `${lastNamePart}`; + displayName = `${lastNamePart}`; } //Set setting diff --git a/GUI/src/app/providers/GUIGlobal.ts b/GUI/src/app/providers/GUIGlobal.ts index 9f428bcd92..a6c82ca209 100644 --- a/GUI/src/app/providers/GUIGlobal.ts +++ b/GUI/src/app/providers/GUIGlobal.ts @@ -721,7 +721,7 @@ export class GUIGlobal implements OnDestroy { result.latestVersion = remote.fullVersion; //Compare versions - result.hasUpdate = this.isVersionNewer(remote.baseVersion, local.baseVersion, remote.supplementaryVersion, local.supplementaryVersion); + result.hasUpdate = this.isVersionNewer(`${remote.baseVersion}-${remote.supplementaryVersion}`, `${local.baseVersion}-${local.supplementaryVersion}`); return result; } @@ -735,47 +735,119 @@ export class GUIGlobal implements OnDestroy { } } - isVersionNewer(newVersion: string, oldVersion: string, newSubVersion: number = 0, oldSubVersion: number = 0) { + //Split up a string version into distinct chunks + getVersionParts(versionText) { - //Strip away dev strings - if (oldVersion.startsWith("dev") && oldVersion.includes("_")) - oldVersion = oldVersion.split("_")[1]; + let data = { branch: null, master: null, minor: null, revision: null, supplemental: null, supplementalFound: false, parts: [], rawInput: versionText, rawParts: [] }; - if (newVersion.startsWith("dev") && newVersion.includes("_")) - newVersion = newVersion.split("_")[1]; + if (versionText.startsWith("dev") && versionText.includes("_")) { //Handle dev versions - let oldSplit = oldVersion.replace('v', '').replace(' ', '.').split('.'); - let newSplit = newVersion.replace('v', '').replace(' ', '.').split('.'); + //Extract dev branch name and version + let branchParts = versionText.split("_"); + data.branch = branchParts[0]; - //Version is not newer if the new version doesn't satisfy the format - if (newSplit.length < 3) - return false; - else if (newSplit.length == 4) - newSubVersion = newSubVersion == 0 ? Number(newSplit[3]) : 0; + versionText = branchParts[1]; + } - //Version is newer if the old version doesn't satisfy the format - if (oldSplit.length < 3) - return true; - else if (oldSplit.length == 4) - oldSubVersion = oldSubVersion == 0 ? Number(oldSplit[3]) : 0; + //Extract version major.minor.rev section + let versionSections = versionText.split("-"); + let versionParts = versionSections[0].split("."); - //Compare major.minor.revision - if (Number(newSplit[0]) > Number(oldSplit[0])) { - return true; - } - else if (Number(newSplit[0]) == Number(oldSplit[0])) { - if (Number(newSplit[1]) > Number(oldSplit[1])) { - return true; + switch (versionParts.length) { + + case 3: { //Rev + data.revision = Number.parseInt(versionParts[2]); + + //Not a number protection + if (data.revision !== Number(versionParts[2])) { + data.revision = null; + data.parts = []; + } + else { + data.parts.push(data.revision); + } + + //falls through + } + case 2: { //Minor + data.minor = Number.parseInt(versionParts[1]); + + if (data.minor !== Number(versionParts[1])) { + data.minor = data.revision = null; + data.parts = []; + } + else { + data.parts.push(data.minor); + } + + //falls through } - else if (Number(newSplit[1]) == Number(oldSplit[1])) { - if (Number(newSplit[2]) > Number(oldSplit[2])) { - return true; + case 1: { //Master + data.master = Number.parseInt(versionParts[0]); + + if (data.master !== Number(versionParts[0])) { + data.master = data.minor = data.revision = null; + data.parts = []; } - else if (Number(newSplit[2]) == Number(oldSplit[2])) { - if (newSubVersion > oldSubVersion) { - return true; - } + else { + data.parts.push(data.master); } + + break; + } + default: { + break; + } + } + + //Reverse for proper order + data.parts.reverse(); + data.rawParts = [...data.parts]; + + //Check for supplemental version (only if valid semver version is available first) + if (data.parts.length == 3) { + + if (versionSections.length == 2) { + + data.supplemental = Number.parseInt(versionSections[1]); + + if (data.supplemental !== Number(versionSections[1])) { + data.supplemental = null; + } + else { + data.parts.push(data.supplemental); + data.rawParts.push(data.supplemental); + data.supplementalFound = true; + } + } + else { + //For backwards compatibility reasons, assume supplemental version of 0 when only a semver version is specified + data.supplemental = 0; + data.parts.push(0); + data.supplementalFound = false; + } + } + + return data; + } + + isVersionNewer(newVersion: string, oldVersion: string) { //version raw text or getVersionParts object + + let versionSplit = typeof (newVersion) == "string" ? this.getVersionParts(newVersion) : newVersion; + let oldVersionSplit = typeof (oldVersion) == "string" ? this.getVersionParts(oldVersion) : oldVersion; + + //Compare every version part against each other + for (let versionPartIndex = 0; versionPartIndex < versionSplit.parts.length; versionPartIndex++) { + + //The tested version has more parts than the old version while everything else matched, this version is newer! + if (versionPartIndex >= oldVersionSplit.parts.length) + return true; + + if (oldVersionSplit.parts[versionPartIndex] > versionSplit.parts[versionPartIndex]) { + return false; + } + else if (oldVersionSplit.parts[versionPartIndex] < versionSplit.parts[versionPartIndex]) { + return true; } } @@ -1506,9 +1578,17 @@ export class GUIGlobal implements OnDestroy { } if (raceSeed) { + let masterVersion = this.getGlobalVar("webIsMasterVersion"); + useStaticSeed = ""; //Static seeds aren't allowed in race mode settingsFile["create_spoiler"] = true; //Force spoiler mode to on - settingsFile["encrypt"] = true; + + if (masterVersion) { + settingsFile["encrypt"] = true; + } + else { + settingsFile["web_lock"] = true; //This is filtered out by the web endpoint before generation + } } else { delete settingsFile["encrypt"]; diff --git a/Goals.py b/Goals.py index ea06972e13..47371eecd9 100644 --- a/Goals.py +++ b/Goals.py @@ -4,7 +4,7 @@ from collections.abc import Iterable, Collection from typing import TYPE_CHECKING, Optional, Any -from HintList import goalTable, get_hint_group, hint_exclusions +from HintList import BOSS_GOAL_TABLE, REWARD_GOAL_TABLE, get_hint_group, hint_exclusions from ItemList import item_table from RulesCommon import AccessRule from Search import Search, ValidGoals @@ -118,7 +118,7 @@ def get_goal(self, goal) -> Goal: raise KeyError('No such goal %r' % goal) def is_beaten(self, search: Search) -> bool: - # if the category requirements are already satisfied by starting items (such as Links Pocket), + # if the category requirements are already satisfied by starting items (including skipped locations), # do not generate hints for other goals in the category starting_goals = search.beatable_goals_fast({ self.name: self }) return all(map(lambda s: len(starting_goals[self.name]['stateReverse'][s.world.id]) >= self.minimum_goals, search.state_list)) @@ -148,19 +148,34 @@ def update_reachable_goals(self, starting_search: Search, full_search: Search) - def replace_goal_names(worlds: list[World]) -> None: for world in worlds: - bosses = [location for location in world.get_filled_locations() if location.item.type == 'DungeonReward'] - for cat_name, category in world.goal_categories.items(): - for goal in category.goals: - if isinstance(goal.hint_text, dict): - for boss in bosses: - if boss.item.name == goal.hint_text['replace']: - flavorText, clearText, color = goalTable[boss.name] - if world.settings.clearer_hints: - goal.hint_text = clearText - else: - goal.hint_text = flavorText - goal.color = color - break + if world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward'): + bosses = [ + location + for location in world.get_filled_locations() + if location.type == 'Boss' + and (location.name != 'ToT Reward from Rauru' or not world.settings.skip_reward_from_rauru) + ] + for category in world.goal_categories.values(): + for goal in category.goals: + if isinstance(goal.hint_text, dict): + for boss in bosses: + if boss.item.name == goal.hint_text['replace']: + flavor_text, clear_text, color = BOSS_GOAL_TABLE[boss.name] + if world.settings.clearer_hints: + goal.hint_text = clear_text + else: + goal.hint_text = flavor_text + goal.color = color + break + else: + for category in world.goal_categories.values(): + for goal in category.goals: + if isinstance(goal.hint_text, dict): + flavor_text, clear_text = REWARD_GOAL_TABLE[goal.hint_text['replace']] + if world.settings.clearer_hints: + goal.hint_text = clear_text + else: + goal.hint_text = flavor_text def update_goal_items(spoiler: Spoiler) -> None: diff --git a/HintList.py b/HintList.py index 4ec8cd4729..fd5cfe69a4 100644 --- a/HintList.py +++ b/HintList.py @@ -214,7 +214,7 @@ def tokens_required_by_settings(world: World) -> int: # Hints required under certain settings conditional_always: dict[str, Callable[[World], bool]] = { - 'Market 10 Big Poes': lambda world: world.settings.big_poe_count > 3, + 'Market 10 Big Poes': lambda world: world.settings.big_poe_count > 3 and 'big_poes' not in world.settings.misc_hints, 'Deku Theater Mask of Truth': lambda world: not world.settings.complete_mask_quest and 'Mask of Truth' not in world.settings.shuffle_child_trade, 'Song from Ocarina of Time': lambda world: stones_required_by_settings(world) < 2, 'HF Ocarina of Time Item': lambda world: stones_required_by_settings(world) < 2, @@ -227,14 +227,28 @@ def tokens_required_by_settings(world: World) -> int: 'LH Loach Fishing': lambda world: world.settings.shuffle_loach_reward == 'vanilla', } +def rainbow_bridge_hint_kind(world: World) -> str: + if world.settings.bridge == 'open': + return 'never' + elif world.settings.bridge == 'vanilla': + return 'always' + elif world.settings.bridge == 'stones': + return 'always' if world.settings.bridge_stones > 1 else 'sometimes' + elif world.settings.bridge == 'medallions': + return 'always' if world.settings.bridge_medallions > 1 else 'sometimes' + elif world.settings.bridge == 'dungeons': + return 'always' if world.settings.bridge_rewards > 2 else 'sometimes' if world.settings.bridge_rewards > 1 else 'never' + elif world.settings.bridge == 'tokens': + return 'always' if world.settings.bridge_tokens > 20 else 'sometimes' if world.settings.bridge_tokens > 10 else 'never' + elif world.settings.bridge == 'hearts': + return 'always' if world.settings.bridge_hearts > world.settings.starting_hearts + 1 else 'sometimes' if world.settings.bridge_hearts > world.settings.starting_hearts else 'never' + else: + raise NotImplementedError(f'Unimplemented bridge condition: {world.settings.bridge}') + # Entrance hints required under certain settings conditional_entrance_always: dict[str, Callable[[World], bool]] = { - 'Ganons Castle Grounds -> Ganons Castle Lobby': lambda world: (world.settings.bridge != 'open' - and (world.settings.bridge != 'stones' or world.settings.bridge_stones > 1) - and (world.settings.bridge != 'medallions' or world.settings.bridge_medallions > 1) - and (world.settings.bridge != 'dungeons' or world.settings.bridge_rewards > 2) - and (world.settings.bridge != 'tokens' or world.settings.bridge_tokens > 20) - and (world.settings.bridge != 'hearts' or world.settings.bridge_hearts > world.settings.starting_hearts + 1)), + 'Ganons Castle Grounds -> Ganons Castle Lobby': lambda world: rainbow_bridge_hint_kind(world) == 'always', + 'Ganons Castle Main -> Ganons Castle Tower': lambda world: world.settings.trials > 3 or (rainbow_bridge_hint_kind(world) == 'always' and not world.shuffle_special_dungeon_entrances), } # Dual hints required under certain settings @@ -265,11 +279,19 @@ def tokens_required_by_settings(world: World) -> int: 'Spirit Temple Adult Lower': lambda world: world.settings.tokensanity not in ('dungeons', 'all'), 'Shadow Temple Invisible Blades Chests': lambda world: world.settings.tokensanity not in ('dungeons', 'all'), + # We don't want to hint unshuffled dungeon rewards even if compasses give info and are removed + 'Queen Gohma Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'King Dodongo Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'Barinade Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'Phantom Ganon Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'Volvagia Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'Morpha Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'Bongo Bongo Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + 'Twinrova Rewards': lambda world: world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward'), + # Conditional entrance hints - 'Ganons Castle Grounds -> Ganons Castle Lobby': lambda world: (world.settings.bridge != 'open' - and (world.settings.bridge != 'dungeons' or world.settings.bridge_rewards > 1) - and (world.settings.bridge != 'tokens' or world.settings.bridge_tokens > 10) - and (world.settings.bridge != 'hearts' or world.settings.bridge_hearts > world.settings.starting_hearts)), + 'Ganons Castle Grounds -> Ganons Castle Lobby': lambda world: rainbow_bridge_hint_kind(world) != 'never', + 'Ganons Castle Main -> Ganons Castle Tower': lambda world: world.settings.trials > 0 or (rainbow_bridge_hint_kind(world) != 'never' and not world.shuffle_special_dungeon_entrances), } # Table of hints, format is (name, hint text, clear hint text, type of hint) there are special characters that are read for certain in game commands: @@ -299,12 +321,12 @@ def tokens_required_by_settings(world: World) -> int: 'Kokiri Emerald': (["a tree's farewell", "the Spiritual Stone of the Forest"], "the Kokiri Emerald", 'item'), 'Goron Ruby': (["the Gorons' hidden treasure", "the Spiritual Stone of Fire"], "the Goron Ruby", 'item'), 'Zora Sapphire': (["an engagement ring", "the Spiritual Stone of Water"], "the Zora Sapphire", 'item'), - 'Light Medallion': (["Rauru's sagely power", "a yellow disc"], "the Light Medallion", 'item'), - 'Forest Medallion': (["Saria's sagely power", "a green disc"], "the Forest Medallion", 'item'), - 'Fire Medallion': (["Darunia's sagely power", "a red disc"], "the Fire Medallion", 'item'), - 'Water Medallion': (["Ruto's sagely power", "a blue disc"], "the Water Medallion", 'item'), - 'Shadow Medallion': (["Impa's sagely power", "a purple disc"], "the Shadow Medallion", 'item'), - 'Spirit Medallion': (["Nabooru's sagely power", "an orange disc"], "the Spirit Medallion", 'item'), + 'Light Medallion': (["a sagely power frozen in time", "an old man's sagely power", "a yellow disc"], "the Light Medallion", 'item'), + 'Forest Medallion': (["a sagely power given by a childhood friend", "a Kokiri's sagely power", "a green disc"], "the Forest Medallion", 'item'), + 'Fire Medallion': (["a sagely power forged in lava", "a Goron's sagely power", "a red disc"], "the Fire Medallion", 'item'), + 'Water Medallion': (["a sagely power given by your fiancée", "a Zora's sagely power", "a blue disc"], "the Water Medallion", 'item'), + 'Shadow Medallion': (["a sagely power forged in blood", "a Sheikah's sagely power", "a purple disc"], "the Shadow Medallion", 'item'), + 'Spirit Medallion': (["a sagely power tainted by mind control", "a Gerudo's sagely power", "an orange disc"], "the Spirit Medallion", 'item'), 'Triforce Piece': (["a triumph fork", "cheese", "a gold fragment"], "a Piece of the Triforce", 'item'), 'Magic Meter': (["mystic training", "pixie dust", "a green rectangle"], "a Magic Meter", 'item'), 'Double Defense': (["a white outline", "damage decrease", "strengthened love"], "Double Defense", 'item'), @@ -355,7 +377,7 @@ def tokens_required_by_settings(world: World) -> int: 'Bottle with Red Potion': (["a vitality vial", "a red liquid"], "a Red Potion Bottle", 'item'), 'Bottle with Green Potion': (["a magic mixture", "a green liquid"], "a Green Potion Bottle", 'item'), 'Bottle with Blue Potion': (["an ailment antidote", "a blue liquid"], "a Blue Potion Bottle", 'item'), - 'Bottle with Fairy': (["an imprisoned fairy", "an extra life", "Navi's cousin"], "a Fairy Bottle", 'item'), + 'Bottle with Fairy': (["an imprisoned fairy", "an extra life"], "a Fairy Bottle", 'item'), 'Bottle with Fish': (["an aquarium", "a deity's snack"], "a Fish Bottle", 'item'), 'Bottle with Blue Fire': (["a conflagration canteen", "an icemelt jar"], "a Blue Fire Bottle", 'item'), 'Bottle with Bugs': (["an insectarium", "Skulltula finders"], "a Bug Bottle", 'item'), @@ -429,6 +451,9 @@ def tokens_required_by_settings(world: World) -> int: 'SmallKey': (["a tool for unlocking", "a dungeon pass", "a lock remover", "a lockpick"], "a Small Key", 'item'), 'HideoutSmallKey': (["a get out of jail free card"], "a Jail Key", 'item'), 'TCGSmallKey': (["a key to becoming a winner"], "a Game Key", 'item'), + 'SmallKeyRing': (["a toolbox for unlocking", "a dungeon season pass", "a jingling ring", "a skeleton key"], "a Small Key Ring", 'item'), + 'HideoutSmallKeyRing': (["a deck of get out of jail free cards"], "a Jail Key Ring", 'item'), + 'TCGSmallKeyRing': (["the keys to becoming a winner"], "a Game Key Ring", 'item'), 'SilverRupee': (["an entry fee", "a priced artifact"], "a Silver Rupee", 'item'), 'Boss Key (Forest Temple)': (["a master of unlocking for a deep forest", "a master pass for a deep forest"], "the Forest Temple Boss Key", 'item'), 'Boss Key (Fire Temple)': (["a master of unlocking for a high mountain", "a master pass for a high mountain"], "the Fire Temple Boss Key", 'item'), @@ -455,7 +480,7 @@ def tokens_required_by_settings(world: World) -> int: 'Small Key Ring (Gerudo Training Ground)': (["a toolbox for unlocking the test of thieves", "a dungeon season pass for the test of thieves", "a jingling ring for the test of thieves", "a skeleton key for the test of thieves"], "a Gerudo Training Ground Small Key Ring", 'item'), 'Small Key Ring (Ganons Castle)': (["a toolbox for unlocking a conquered citadel", "a dungeon season pass for a conquered citadel", "a jingling ring for a conquered citadel", "a skeleton key for a conquered citadel"], "a Ganon's Castle Small Key Ring", 'item'), 'Small Key Ring (Thieves Hideout)': (["a deck of get out of jail free cards"], "a Jail Key Ring", 'item'), - 'Small Key Ring (Treasure Chest Game)': (["an abundance of keys to becoming a winner"], "a Game Key Ring", 'item'), + 'Small Key Ring (Treasure Chest Game)': (["the keys to becoming a winner"], "a Game Key Ring", 'item'), 'Silver Rupee (Dodongos Cavern Staircase)': (["an entry fee for an immense cavern", "a priced artifact from an immense cavern"], "a Silver Rupee for Dodongo's Cavern", 'item'), 'Silver Rupee (Ice Cavern Spinning Scythe)': (["an entry fee for a frozen maze", "a priced artifact from a frozen maze"], "a Silver Rupee for the Ice Cavern", 'item'), 'Silver Rupee (Ice Cavern Push Block)': (["an entry fee for a frozen maze", "a priced artifact from a frozen maze"], "a Silver Rupee for the Ice Cavern", 'item'), @@ -524,6 +549,8 @@ def tokens_required_by_settings(world: World) -> int: 'Ocarina C down Button': (["a low note"], "the Ocarina C down Button", 'item'), 'Ocarina C left Button': (["a somewhat high note"], "the Ocarina C left Button", 'item'), 'Ocarina C right Button': (["a middle note"], "the Ocarina C right Button", 'item'), + 'Fairy Drop': (["an annoying companion", "Navi's cousin"], "a Stray Fairy", 'item'), + 'Nothing': (["emptiness", "loneliness"], "Nothing", 'item'), 'ZR Frogs Ocarina Game': (["an #amphibian feast# yields", "the #croaking choir's magnum opus# awards", "the #froggy finale# yields"], "the final reward from the #Frogs of Zora's River# is", ['overworld', 'sometimes']), 'KF Links House Cow': ("the #bovine bounty of a horseback hustle# gifts", "#Malon's obstacle course# leads to", 'always'), @@ -640,7 +667,7 @@ def tokens_required_by_settings(world: World) -> int: 'Spirit Temple Colossus Hands': ("upon the #Colossus's right and left hands# lie...^", None, 'dual'), 'Spirit Temple Child Lower': ("between the #crawl spaces in the Spirit Temple# chests contain...^", None, 'dual'), 'Spirit Temple Child Top': ("on the path to the #right hand of the Spirit Temple# a chest and a spider hold...^", None, 'dual'), - 'Spirit Temple Adult Lower': ("past a #silver block in the Spirit Temple# boulders and a melody conceal...^", None, 'dual'), + 'Spirit Temple Adult Lower': ("past a #silver block in the Spirit Temple# a melody and boulders conceal...^", None, 'dual'), 'Spirit Temple MQ Child Top': ("on the path to the #right hand of the Spirit Temple# a chest and a spider hold respectively...^", None, 'dual'), 'Spirit Temple MQ Symphony Room': ("#the symphony room# in the Spirit Temple protects...^", None, 'dual'), 'Spirit Temple MQ Throne Room GS': ("in the #nine thrones room# of the Spirit Temple spiders hold...^", None, 'dual'), @@ -658,6 +685,15 @@ def tokens_required_by_settings(world: World) -> int: 'Ice Cavern MQ Final Room': ("the #final treasures of Ice Cavern# are...^", None, 'dual'), 'Ganons Castle Spirit Trial Chests': ("#within the Spirit Trial#, chests contain...^", None, 'dual'), + 'Queen Gohma Rewards': ("the #Parasitic Armored Arachnid# holds...^", "#Queen Gohma# holds...^", 'dual'), + 'King Dodongo Rewards': ("the #Infernal Dinosaur# holds...^", "#King Dodongo# holds...^", 'dual'), + 'Barinade Rewards': ("the #Bio-Electric Anemone# holds...^", "#Barinade# holds...^", 'dual'), + 'Phantom Ganon Rewards': ("the #Evil Spirit from Beyond# holds...^", "#Phantom Ganon# holds...^", 'dual'), + 'Volvagia Rewards': ("the #Subterranean Lava Dragon# holds...^", "#Volvagia# holds...^", 'dual'), + 'Morpha Rewards': ("the #Giant Aquatic Amoeba# holds...^", "#Morpha# holds...^", 'dual'), + 'Bongo Bongo Rewards': ("the #Phantom Shadow Beast# holds...^", "#Bongo Bongo# holds...^", 'dual'), + 'Twinrova Rewards': ("the #Sorceress Sisters# hold...^", "#Twinrova# holds...^", 'dual'), + 'KF Kokiri Sword Chest': ("the #hidden treasure of the Kokiri# is", None, 'exclude'), 'KF Midos Top Left Chest': ("the #leader of the Kokiri# hides", "#inside Mido's house# is", 'exclude'), 'KF Midos Top Right Chest': ("the #leader of the Kokiri# hides", "#inside Mido's house# is", 'exclude'), @@ -1042,7 +1078,7 @@ def tokens_required_by_settings(world: World) -> int: 'Morpha': ("the #Giant Aquatic Amoeba# holds", "#Morpha# holds", 'exclude'), 'Bongo Bongo': ("the #Phantom Shadow Beast# holds", "#Bongo Bongo# holds", 'exclude'), 'Twinrova': ("the #Sorceress Sisters# hold", "#Twinrova# holds", 'exclude'), - 'Links Pocket': ("#@'s pocket# holds", "@ already has", 'exclude'), + 'ToT Reward from Rauru': ("#coming of age# grants", "beyond the #Door of Time# waits", 'exclude'), 'Deku Tree GS Basement Back Room': ("a #spider deep within the Deku Tree# hides", None, 'exclude'), 'Deku Tree GS Basement Gate': ("a #web protects a spider# within the Deku Tree holding", None, 'exclude'), @@ -1368,6 +1404,7 @@ def tokens_required_by_settings(world: World) -> int: 'Kakariko Village -> Bottom of the Well': ("a #village well# leads to", None, 'entrance'), 'Ganons Castle Grounds -> Ganons Castle Lobby': ("the #rainbow bridge# leads to", None, 'entrance'), + 'Ganons Castle Main -> Ganons Castle Tower': ("a #castle barrier# protects the way to", "#Ganon's trials# protect the way to", 'entrance'), 'KF Links House': ("Link's House", None, 'region'), 'Temple of Time': ("the #Temple of Time#", None, 'region'), @@ -1432,7 +1469,7 @@ def tokens_required_by_settings(world: World) -> int: 'HF Southeast Grotto': ("a #generic grotto#", None, 'region'), 'KF Storms Grotto': ("a #generic grotto#", None, 'region'), 'LW Near Shortcuts Grotto': ("a #generic grotto#", None, 'region'), - 'HF Inside Fence Grotto': ("a #single Upgrade Deku Scrub#", None, 'region'), + 'HF Inside Fence Grotto': ("a #lonely Deku Scrub#", None, 'region'), 'LW Scrubs Grotto': ("#2 Deku Scrubs# including an Upgrade one", None, 'region'), 'Colossus Grotto': ("2 Deku Scrubs", None, 'region'), 'ZR Storms Grotto': ("2 Deku Scrubs", None, 'region'), @@ -1447,6 +1484,15 @@ def tokens_required_by_settings(world: World) -> int: 'SFM Fairy Grotto': ("a small #Fairy Fountain#", None, 'region'), 'ZD Storms Grotto': ("a small #Fairy Fountain#", None, 'region'), 'GF Storms Grotto': ("a small #Fairy Fountain#", None, 'region'), + 'Queen Gohma Boss Room': ("the #Parasitic Armored Arachnid#", "#Queen Gohma#", 'region'), + 'King Dodongo Boss Room': ("the #Infernal Dinosaur#", "#King Dodongo#", 'region'), + 'Barinade Boss Room': ("the #Bio-Electric Anemone#", "#Barinade#", 'region'), + 'Phantom Ganon Boss Room': ("the #Evil Spirit from Beyond#", "#Phantom Ganon#", 'region'), + 'Volvagia Boss Room': ("the #Subterranean Lava Dragon#", "#Volvagia#", 'region'), + 'Morpha Boss Room': ("the #Giant Aquatic Amoeba#", "#Morpha#", 'region'), + 'Bongo Bongo Boss Room': ("the #Phantom Shadow Beast#", "#Bongo Bongo#", 'region'), + 'Twinrova Boss Room': ("the #Sorceress Sisters#", "#Twinrova#", 'region'), + 'Ganons Castle Tower': ("#Ganon's Tower#", None, 'region'), # Junk hints must satisfy all the following conditions: # - They aren't inappropriate. @@ -1749,7 +1795,7 @@ def tokens_required_by_settings(world: World) -> int: 'Spirit Temple Colossus Hands': ['Spirit Temple Silver Gauntlets Chest', 'Spirit Temple Mirror Shield Chest'], 'Spirit Temple Child Lower': ['Spirit Temple Child Bridge Chest', 'Spirit Temple Child Early Torches Chest'], 'Spirit Temple Child Top': ['Spirit Temple Sun Block Room Chest', 'Spirit Temple GS Hall After Sun Block Room'], - 'Spirit Temple Adult Lower': ['Spirit Temple Early Adult Right Chest', 'Spirit Temple Compass Chest'], + 'Spirit Temple Adult Lower': ['Spirit Temple Compass Chest', 'Spirit Temple Early Adult Right Chest'], 'Spirit Temple MQ Child Top': ['Spirit Temple MQ Sun Block Room Chest', 'Spirit Temple MQ GS Sun Block Room'], 'Spirit Temple MQ Symphony Room': ['Spirit Temple MQ Symphony Room Chest', 'Spirit Temple MQ GS Symphony Room'], 'Spirit Temple MQ Throne Room GS': ['Spirit Temple MQ GS Nine Thrones Room West', 'Spirit Temple MQ GS Nine Thrones Room North'], @@ -1766,6 +1812,15 @@ def tokens_required_by_settings(world: World) -> int: 'Ice Cavern Final Room': ['Ice Cavern Iron Boots Chest', 'Sheik in Ice Cavern'], 'Ice Cavern MQ Final Room': ['Ice Cavern MQ Iron Boots Chest', 'Sheik in Ice Cavern'], 'Ganons Castle Spirit Trial Chests': ['Ganons Castle Spirit Trial Crystal Switch Chest', 'Ganons Castle Spirit Trial Invisible Chest'], + + 'Queen Gohma Rewards': ['Deku Tree Queen Gohma Heart', 'Queen Gohma'], + 'King Dodongo Rewards': ['Dodongos Cavern King Dodongo Heart', 'King Dodongo'], + 'Barinade Rewards': ['Jabu Jabus Belly Barinade Heart', 'Barinade'], + 'Phantom Ganon Rewards': ['Forest Temple Phantom Ganon Heart', 'Phantom Ganon'], + 'Volvagia Rewards': ['Fire Temple Volvagia Heart', 'Volvagia'], + 'Morpha Rewards': ['Water Temple Morpha Heart', 'Morpha'], + 'Bongo Bongo Rewards': ['Shadow Temple Bongo Bongo Heart', 'Bongo Bongo'], + 'Twinrova Rewards': ['Spirit Temple Twinrova Heart', 'Twinrova'], } # TODO: Make these a type of some sort instead of a dict. @@ -1856,12 +1911,19 @@ def tokens_required_by_settings(world: World) -> int: 'location_text': "Some frogs holding \x05\x42{item}\x05\x40 are looking at you from underwater...", 'location_fallback': "Some frogs are looking at you from underwater...", }, + 'big_poes': { + 'id': 0x70F5, + 'hint_location': 'Market 10 Big Poes Hint', + 'item_location': 'Market 10 Big Poes', + 'location_text': "\x08Hey, young man. What's happening \x01today? Do you want\x01\x05\x41{item}\x05\x40?\x04\x1AIf you earn \x05\x41{poe_points} points\x05\x40, you'll\x01be a happy man! Heh heh.\x04\x08Your card now has \x05\x45\x1E\x01 \x05\x40points.\x01Come back again!\x01Heh heh heh!\x02", + 'location_fallback': "\x08Hey, young man. What's happening \x01today? If you have a \x05\x41Poe\x05\x40, I will \x01buy it.\x04\x1AIf you earn \x05\x41{poe_points} points\x05\x40, you'll\x01be a happy man! Heh heh.\x04\x08Your card now has \x05\x45\x1E\x01 \x05\x40points.\x01Come back again!\x01Heh heh heh!\x02", + }, } # Separate table for goal names to avoid duplicates in the hint table. # Link's Pocket will always be an empty goal, but it's included here to # prevent key errors during the dungeon reward lookup. -goalTable: dict[str, tuple[str, str, str]] = { +BOSS_GOAL_TABLE: dict[str, tuple[str, str, str]] = { 'Queen Gohma': ("path to the #Spider#", "path to #Queen Gohma#", "Green"), 'King Dodongo': ("path to the #Dinosaur#", "path to #King Dodongo#", "Red"), 'Barinade': ("path to the #Tentacle#", "path to #Barinade#", "Blue"), @@ -1870,7 +1932,20 @@ def tokens_required_by_settings(world: World) -> int: 'Morpha': ("path to the #Amoeba#", "path to #Morpha#", "Blue"), 'Bongo Bongo': ("path to the #Hands#", "path to #Bongo Bongo#", "Pink"), 'Twinrova': ("path to the #Witches#", "path to #Twinrova#", "Yellow"), - 'Links Pocket': ("path to #Links Pocket#", "path to #Links Pocket#", "Light Blue"), + 'ToT Reward from Rauru': ("path of #time#", "path of #time#", "Light Blue"), +} + +# If dungeon rewards are shuffled, we don't use boss names for their goals. +REWARD_GOAL_TABLE: dict[str, tuple[str, str]] = { + 'Kokiri Emerald': ("path to a #tree's farewell#", "path to the #Kokiri Emerald#"), + 'Goron Ruby': ("path to the #Gorons' hidden treasure#", "path to the #Goron Ruby#"), + 'Zora Sapphire': ("path to an #engagement ring#", "path to the #Zora Sapphire#"), + 'Light Medallion': ("path to #an old man's sagely power#", "path to the #Light Medallion#"), + 'Forest Medallion': ("path to #a Kokiri's sagely power#", "path to the #Forest Medallion#"), + 'Fire Medallion': ("path to #a Goron's sagely power#", "path to the #Fire Medallion#"), + 'Water Medallion': ("path to #a Zora's sagely power#", "path to the #Water Medallion#"), + 'Shadow Medallion': ("path to #a Sheikah's sagely power#", "path to the #Shadow Medallion#"), + 'Spirit Medallion': ("path to #a Gerudo's sagely power#", "path to the #Spirit Medallion#"), } diff --git a/Hints.py b/Hints.py index d9324fd2fd..309cd44448 100644 --- a/Hints.py +++ b/Hints.py @@ -15,6 +15,7 @@ from HintList import Hint, get_hint, get_multi, get_hint_group, get_upgrade_hint_list, hint_exclusions, \ misc_item_hint_table, misc_location_hint_table from Item import Item, make_event_item +from ItemList import REWARD_COLORS from Messages import Message, COLOR_MAP, update_message_by_id from Region import Region from Search import Search @@ -27,6 +28,7 @@ TypeAlias = str if TYPE_CHECKING: + from Dungeon import Dungeon from Entrance import Entrance from Goals import GoalCategory from Location import Location @@ -64,7 +66,7 @@ 'weekly.json', ] -unHintableWothItems: set[str] = {'Triforce Piece', 'Gold Skulltula Token', 'Piece of Heart', 'Piece of Heart (Treasure Chest Game)', 'Heart Container'} +unHintableWothItems: set[str] = {*REWARD_COLORS, 'Triforce Piece', 'Gold Skulltula Token', 'Piece of Heart', 'Piece of Heart (Treasure Chest Game)', 'Heart Container'} class RegionRestriction(Enum): @@ -82,9 +84,10 @@ def __init__(self, name: str, location: str) -> None: class GossipText: def __init__(self, text: str, colors: Optional[list[str]] = None, hinted_locations: Optional[list[str]] = None, - hinted_items: Optional[list[str]] = None, prefix: str = "They say that ") -> None: + hinted_items: Optional[list[str]] = None, prefix: str = "They say that ", capitalize: bool = True) -> None: text = prefix + text - text = text[:1].upper() + text[1:] + if capitalize: + text = text[:1].upper() + text[1:] self.text: str = text self.colors: Optional[list[str]] = colors self.hinted_locations: Optional[list[str]] = hinted_locations @@ -163,7 +166,7 @@ def __str__(self) -> str: def get_item_generic_name(item: Item) -> str: - if item.unshuffled_dungeon_item: + if item.unshuffled_dungeon_item and item.type != 'DungeonReward': return item.type else: return item.name @@ -174,10 +177,11 @@ def is_restricted_dungeon_item(item: Item) -> bool: return False return ( ((item.map or item.compass) and item.world.settings.shuffle_mapcompass == 'dungeon') or - (item.type == 'SmallKey' and item.world.settings.shuffle_smallkeys == 'dungeon') or + (item.type in ('SmallKey', 'SmallKeyRing') and item.world.settings.shuffle_smallkeys == 'dungeon') or (item.type == 'BossKey' and item.world.settings.shuffle_bosskeys == 'dungeon') or (item.type == 'GanonBossKey' and item.world.settings.shuffle_ganon_bosskey == 'dungeon') or - (item.type == 'SilverRupee' and item.world.settings.shuffle_silver_rupees == 'dungeon') + (item.type == 'SilverRupee' and item.world.settings.shuffle_silver_rupees == 'dungeon') or + (item.type == 'DungeonReward' and item.world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward', 'dungeon')) ) @@ -437,7 +441,7 @@ def at(spot: Spot, use_alt_hint: bool = False) -> HintArea: else: parent_region = current_spot.parent_region - if parent_region.hint and (original_parent.name == 'Root' or parent_region.name != 'Root'): + if (parent_region.hint or (use_alt_hint and parent_region.alt_hint)) and (original_parent.name == 'Root' or parent_region.name != 'Root'): if use_alt_hint and parent_region.alt_hint: return parent_region.alt_hint return parent_region.hint @@ -496,6 +500,11 @@ def dungeon_name(self) -> Optional[str]: def is_dungeon(self) -> bool: return self.dungeon_name is not None + def dungeon(self, world: World) -> Optional[Dungeon]: + dungeons = [dungeon for dungeon in world.dungeons if dungeon.name == self.dungeon_name] + if dungeons: + return dungeons[0] + def is_dungeon_item(self, item: Item) -> bool: for dungeon in item.world.dungeons: if dungeon.name == self.dungeon_name: @@ -504,7 +513,7 @@ def is_dungeon_item(self, item: Item) -> bool: # Formats the hint text for this area with proper grammar. # Dungeons are hinted differently depending on the clearer_hints setting. - def text(self, clearer_hints: bool, preposition: bool = False, world: Optional[int] = None) -> str: + def text(self, clearer_hints: bool, preposition: bool = False, use_2nd_person: bool = False, world: Optional[int] = None) -> str: if self.is_dungeon and self.dungeon_name: text = get_hint(self.dungeon_name, clearer_hints).text else: @@ -512,7 +521,10 @@ def text(self, clearer_hints: bool, preposition: bool = False, world: Optional[i prefix, suffix = text.replace('#', '').split(' ', 1) if world is None: if prefix == "Link's": - text = f"@'s {suffix}" + if use_2nd_person: + text = f'your {suffix}' + else: + text = f"@'s {suffix}" else: replace_prefixes = ('a', 'an', 'the') move_prefixes = ('outside', 'inside') @@ -563,8 +575,9 @@ def get_area_from_name(check: str) -> HintArea | str: except Exception: return check # Don't consider dungeons as already hinted from the reward hint on the Temple of Time altar - if location.type != 'Boss': # TODO or shuffled dungeon rewards - return HintArea.at(location) + if location.type == 'Boss' and world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward'): + return None + return HintArea.at(location) return set(get_area_from_name(check) for check in checked) @@ -708,7 +721,7 @@ def get_barren_hint(spoiler: Spoiler, world: World, checked: set[str], all_check and location.name not in world.hint_exclusions and location.name not in hint_exclusions(world) and HintArea.at(location) == area - for location in world.get_locations() + for location in world.get_filled_locations() ), world.empty_areas)) @@ -927,7 +940,7 @@ def get_specific_item_hint(spoiler: Spoiler, world: World, checked: set[str]) -> def get_random_location_hint(spoiler: Spoiler, world: World, checked: set[str]) -> HintReturn: locations = list(filter(lambda location: is_not_checked([location], checked) - and location.item.type not in ('Drop', 'Event', 'Shop', 'DungeonReward') + and location.item.type not in ('Drop', 'Event', 'Shop') and not is_restricted_dungeon_item(location.item) and not location.locked and location.name not in world.hint_exclusions @@ -1146,9 +1159,9 @@ def get_important_check_hint(spoiler: Spoiler, world: World, checked: set[str]) or location.item.name == 'Biggoron Sword' or location.item.name == 'Double Defense' # Handle make keys not in own dungeon major items - or (location.item.type == 'SmallKey' and not (world.settings.shuffle_smallkeys == 'dungeon' or world.settings.shuffle_smallkeys == 'vanilla')) - or (location.item.type == 'HideoutSmallKey' and not world.settings.shuffle_hideoutkeys == 'vanilla') - or (location.item.type == 'TCGSmallKey' and not world.settings.shuffle_tcgkeys == 'vanilla') + or (location.item.type in ('SmallKey', 'SmallKeyRing') and not (world.settings.shuffle_smallkeys == 'dungeon' or world.settings.shuffle_smallkeys == 'vanilla')) + or (location.item.type in ('HideoutSmallKey', 'HideoutSmallKeyRing') and not world.settings.shuffle_hideoutkeys == 'vanilla') + or (location.item.type in ('TCGSmallKey', 'TCGSmallKeyRing') and not world.settings.shuffle_tcgkeys == 'vanilla') or (location.item.type == 'BossKey' and not (world.settings.shuffle_bosskeys == 'dungeon' or world.settings.shuffle_bosskeys == 'vanilla')) or (location.item.type == 'GanonBossKey' and not (world.settings.shuffle_ganon_bosskey == 'vanilla' or world.settings.shuffle_ganon_bosskey == 'dungeon' or world.settings.shuffle_ganon_bosskey == 'on_lacs' @@ -1251,15 +1264,54 @@ def always_named_item(world: World, locations: Iterable[Location]): def build_gossip_hints(spoiler: Spoiler, worlds: list[World]) -> None: + from Dungeon import Dungeon + checked_locations = dict() # Add misc. item hint locations to "checked" locations if the respective hint is reachable without the hinted item. for world in worlds: for location in world.hinted_dungeon_reward_locations.values(): - if 'altar' in world.settings.misc_hints and not world.settings.enhance_map_compass and can_reach_hint(worlds, world.get_location('ToT Child Altar Hint' if location.item.info.stone else 'ToT Adult Altar Hint'), location): - item_world = location.world - if item_world.id not in checked_locations: - checked_locations[item_world.id] = set() - checked_locations[item_world.id].add(location.name) + if location is None: + # ignore starting items + continue + if world.settings.enhance_map_compass: + if world.entrance_rando_reward_hints: + # In these settings, there is not necessarily one dungeon reward in each dungeon, + # so we instead have each compass hint the area of its dungeon's vanilla reward. + compass_locations = [ + compass_location + for compass_world in worlds + for compass_location in compass_world.get_filled_locations() + if Dungeon.from_vanilla_reward(location.item) is None # Light Medallion area is shown in menu from beginning of game + or ( + compass_location.item.name == Dungeon.from_vanilla_reward(location.item).item_name('Compass') + and compass_location.item.world == world + ) + ] + else: + # Each compass hints which reward is in its dungeon. + compass_locations = [ + compass_location + for compass_world in worlds + for compass_location in compass_world.get_filled_locations() + if HintArea.at(location).dungeon_name is None # free/ToT reward is shown in menu from beginning of game + or ( + compass_location.item.name == HintArea.at(location).dungeon(location.world).item_name('Compass') + and compass_location.item.world == world + ) + ] + for compass_location in compass_locations: + if can_reach_hint(worlds, compass_location, location): + item_world = location.world + if item_world.id not in checked_locations: + checked_locations[item_world.id] = set() + checked_locations[item_world.id].add(location.name) + break + else: + if 'altar' in world.settings.misc_hints and can_reach_hint(worlds, world.get_location('ToT Child Altar Hint' if location.item.info.stone else 'ToT Adult Altar Hint'), location): + item_world = location.world + if item_world.id not in checked_locations: + checked_locations[item_world.id] = set() + checked_locations[item_world.id].add(location.name) for hint_type, location in world.misc_hint_item_locations.items(): if hint_type in world.settings.misc_hints and can_reach_hint(worlds, world.get_location(misc_item_hint_table[hint_type]['hint_location']), location): item_world = location.world @@ -1273,6 +1325,12 @@ def build_gossip_hints(spoiler: Spoiler, worlds: list[World]) -> None: if item_world.id not in checked_locations: checked_locations[item_world.id] = set() checked_locations[item_world.id].add(location.name) + for dungeon_name, info in world.empty_dungeons.items(): + if info.empty: + for region in world.regions: + if region.dungeon != None and region.dungeon.name == dungeon_name: + precompleted_locations = list(map(lambda location: location.name, region.locations)) + checked_locations[world.id].update(precompleted_locations) # Build all the hints. for world in worlds: @@ -1599,11 +1657,11 @@ def build_altar_hints(world: World, messages: list[Message], include_rewards: bo # text that appears at altar as a child. child_text = '\x08' if include_rewards: - boss_rewards_spiritual_stones = [ - ('Kokiri Emerald', 'Green'), - ('Goron Ruby', 'Red'), - ('Zora Sapphire', 'Blue'), - ] + boss_rewards_spiritual_stones = [(reward, REWARD_COLORS[reward]) for reward in ( + 'Kokiri Emerald', + 'Goron Ruby', + 'Zora Sapphire', + )] child_text += get_hint('Spiritual Stone Text Start', world.settings.clearer_hints).text + '\x04' for (reward, color) in boss_rewards_spiritual_stones: child_text += build_boss_string(reward, color, world) @@ -1615,14 +1673,14 @@ def build_altar_hints(world: World, messages: list[Message], include_rewards: bo adult_text = '\x08' adult_text += get_hint('Adult Altar Text Start', world.settings.clearer_hints).text + '\x04' if include_rewards: - boss_rewards_medallions = [ - ('Light Medallion', 'Light Blue'), - ('Forest Medallion', 'Green'), - ('Fire Medallion', 'Red'), - ('Water Medallion', 'Blue'), - ('Shadow Medallion', 'Pink'), - ('Spirit Medallion', 'Yellow'), - ] + boss_rewards_medallions = [(reward, REWARD_COLORS[reward]) for reward in ( + 'Light Medallion', + 'Forest Medallion', + 'Fire Medallion', + 'Water Medallion', + 'Shadow Medallion', + 'Spirit Medallion', + )] for (reward, color) in boss_rewards_medallions: adult_text += build_boss_string(reward, color, world) if include_wincons: @@ -1645,15 +1703,18 @@ def build_boss_string(reward: str, color: str, world: World) -> str: text = GossipText(f"\x08\x13{item_icon}One in #@'s pocket#...", [color], prefix='') else: location = world.hinted_dungeon_reward_locations[reward] - location_text = HintArea.at(location).text(world.settings.clearer_hints, preposition=True) + if location is None: + hint_area = HintArea.ROOT + else: + hint_area = HintArea.at(location) + location_text = hint_area.text(world.settings.clearer_hints, preposition=True, world=None if location.world.id == world.id else location.world.id + 1) text = GossipText(f"\x08\x13{item_icon}One {location_text}...", [color], prefix='') return str(text) + '\x04' def build_bridge_reqs_string(world: World) -> str: - string = "\x13\x3C" # Master Sword icon if world.settings.bridge == 'open': - string += "The awakened ones will have #already created a bridge# to the castle where the evil dwells." + string = "The awakened ones will have #already created a bridge# to the castle where the evil dwells." else: if world.settings.bridge == 'vanilla': item_req_string = "the #Shadow and Spirit Medallions# as well as the #Light Arrows#" @@ -1667,9 +1728,9 @@ def build_bridge_reqs_string(world: World) -> str: }[world.settings.bridge] item_req_string = f'{count} {singular if count == 1 else plural}' if world.settings.clearer_hints: - string += f"The rainbow bridge will be built once the Hero collects {item_req_string}." + string = f"The rainbow bridge will be built once the Hero collects {item_req_string}." else: - string += f"The awakened ones will await for the Hero to collect {item_req_string}." + string = f"The awakened ones will await for the Hero to collect {item_req_string}." return str(GossipText(string, ['Green'], prefix='')) @@ -1759,11 +1820,23 @@ def build_misc_item_hints(world: World, messages: list[Message], allow_duplicate def build_misc_location_hints(world: World, messages: list[Message]) -> None: for hint_type, data in misc_location_hint_table.items(): text = data['location_fallback'] - if hint_type in world.settings.misc_hints: - if hint_type in world.misc_hint_location_items: - item = world.misc_hint_location_items[hint_type] + if hint_type == 'big_poes': + # Special cased because we need to insert the big poes number. + item = world.misc_hint_location_items[hint_type] + poe_points = world.settings.big_poe_count * 100 + if hint_type in world.settings.misc_hints: text = data['location_text'].format(item=get_hint(get_item_generic_name(item), - world.settings.clearer_hints).text) + world.settings.clearer_hints).text, poe_points=poe_points) + else: + text = data['location_fallback'].format(poe_points=poe_points) + update_message_by_id(messages, data['id'], text) + return + else: + if hint_type in world.settings.misc_hints: + if hint_type in world.misc_hint_location_items: + item = world.misc_hint_location_items[hint_type] + text = data['location_text'].format(item=get_hint(get_item_generic_name(item), + world.settings.clearer_hints).text) update_message_by_id(messages, data['id'], str(GossipText(text, ['Green'], prefix='')), 0x23) diff --git a/Item.py b/Item.py index 429a32cac6..f233ee774c 100644 --- a/Item.py +++ b/Item.py @@ -114,7 +114,7 @@ def key(self) -> bool: @property def smallkey(self) -> bool: - return self.type == 'SmallKey' or self.type == 'HideoutSmallKey' or self.type == 'TCGSmallKey' + return self.type in ('SmallKey', 'HideoutSmallKey', 'TCGSmallKey', 'SmallKeyRing', 'HideoutSmallKeyRing','TCGSmallKeyRing') @property def bosskey(self) -> bool: @@ -136,13 +136,14 @@ def dungeonitem(self) -> bool: def unshuffled_dungeon_item(self) -> bool: if self.world is None: return False - return ((self.type == 'SmallKey' and self.world.settings.shuffle_smallkeys in ('remove', 'vanilla', 'dungeon')) or - (self.type == 'HideoutSmallKey' and self.world.settings.shuffle_hideoutkeys == 'vanilla') or - (self.type == 'TCGSmallKey' and self.world.settings.shuffle_tcgkeys in ('remove', 'vanilla')) or + return ((self.type in ('SmallKey', 'SmallKeyRing') and self.world.settings.shuffle_smallkeys in ('remove', 'vanilla', 'dungeon')) or + (self.type in ('HideoutSmallKey', 'HideoutSmallKeyRing') and self.world.settings.shuffle_hideoutkeys == 'vanilla') or + (self.type in ('TCGSmallKey', 'TCGSmallKeyRing') and self.world.settings.shuffle_tcgkeys in ('remove', 'vanilla')) or (self.type == 'BossKey' and self.world.settings.shuffle_bosskeys in ('remove', 'vanilla', 'dungeon')) or (self.type == 'GanonBossKey' and self.world.settings.shuffle_ganon_bosskey in ('remove', 'vanilla', 'dungeon')) or ((self.map or self.compass) and (self.world.settings.shuffle_mapcompass in ('remove', 'startwith', 'vanilla', 'dungeon'))) or - (self.type == 'SilverRupee' and self.world.settings.shuffle_silver_rupees in ('remove','vanilla','dungeon'))) + (self.type == 'SilverRupee' and self.world.settings.shuffle_silver_rupees in ('remove','vanilla','dungeon')) or + (self.type == 'DungeonReward' and self.world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward', 'dungeon'))) @property def majoritem(self) -> bool: @@ -152,7 +153,7 @@ def majoritem(self) -> bool: return (self.world.settings.bridge == 'tokens' or self.world.settings.shuffle_ganon_bosskey == 'tokens' or (self.world.settings.shuffle_ganon_bosskey == 'on_lacs' and self.world.settings.lacs_condition == 'tokens')) - if self.type in ('Drop', 'Event', 'Shop', 'DungeonReward') or not self.advancement: + if self.type in ('Drop', 'Event', 'Shop') or not self.advancement: return False if self.name.startswith('Bombchus') and not self.world.settings.free_bombchu_drops: @@ -164,11 +165,13 @@ def majoritem(self) -> bool: if self.map or self.compass: return False - if self.type == 'SmallKey' and self.world.settings.shuffle_smallkeys in ('dungeon', 'vanilla'): + if self.type == 'DungeonReward' and self.world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward', 'dungeon'): return False - if self.type == 'HideoutSmallKey' and self.world.settings.shuffle_hideoutkeys == 'vanilla': + if self.type in ('SmallKey', 'SmallKeyRing') and self.world.settings.shuffle_smallkeys in ('dungeon', 'vanilla'): return False - if self.type == 'TCGSmallKey' and self.world.settings.shuffle_tcgkeys == 'vanilla': + if self.type in ('HideoutSmallKey', 'HideoutSmallKeyRing') and self.world.settings.shuffle_hideoutkeys == 'vanilla': + return False + if self.type in ('TCGSmallKey','TCGSmallKeyRing') and self.world.settings.shuffle_tcgkeys == 'vanilla': return False if self.type == 'BossKey' and self.world.settings.shuffle_bosskeys in ('dungeon', 'vanilla'): return False diff --git a/ItemList.py b/ItemList.py index f5347a0fd8..85252ba982 100644 --- a/ItemList.py +++ b/ItemList.py @@ -1,6 +1,329 @@ from __future__ import annotations +from enum import IntEnum from typing import Optional, Any +class GetItemId(IntEnum): + GI_NONE = 0x0000 + GI_BOMBS_5 = 0x0001 + GI_DEKU_NUTS_5 = 0x0002 + GI_BOMBCHUS_10 = 0x0003 + GI_BOW = 0x0004 + GI_SLINGSHOT = 0x0005 + GI_BOOMERANG = 0x0006 + GI_DEKU_STICKS_1 = 0x0007 + GI_HOOKSHOT = 0x0008 + GI_LONGSHOT = 0x0009 + GI_LENS_OF_TRUTH = 0x000A + GI_ZELDAS_LETTER = 0x000B + GI_OCARINA_OF_TIME = 0x000C + GI_HAMMER = 0x000D + GI_COJIRO = 0x000E + GI_BOTTLE_EMPTY = 0x000F + GI_BOTTLE_POTION_RED = 0x0010 + GI_BOTTLE_POTION_GREEN = 0x0011 + GI_BOTTLE_POTION_BLUE = 0x0012 + GI_BOTTLE_FAIRY = 0x0013 + GI_BOTTLE_MILK_FULL = 0x0014 + GI_BOTTLE_RUTOS_LETTER = 0x0015 + GI_MAGIC_BEAN = 0x0016 + GI_MASK_SKULL = 0x0017 + GI_MASK_SPOOKY = 0x0018 + GI_CHICKEN = 0x0019 + GI_MASK_KEATON = 0x001A + GI_MASK_BUNNY_HOOD = 0x001B + GI_MASK_TRUTH = 0x001C + GI_POCKET_EGG = 0x001D + GI_POCKET_CUCCO = 0x001E + GI_ODD_MUSHROOM = 0x001F + GI_ODD_POTION = 0x0020 + GI_POACHERS_SAW = 0x0021 + GI_BROKEN_GORONS_SWORD = 0x0022 + GI_PRESCRIPTION = 0x0023 + GI_EYEBALL_FROG = 0x0024 + GI_EYE_DROPS = 0x0025 + GI_CLAIM_CHECK = 0x0026 + GI_SWORD_KOKIRI = 0x0027 + GI_SWORD_KNIFE = 0x0028 + GI_SHIELD_DEKU = 0x0029 + GI_SHIELD_HYLIAN = 0x002A + GI_SHIELD_MIRROR = 0x002B + GI_TUNIC_GORON = 0x002C + GI_TUNIC_ZORA = 0x002D + GI_BOOTS_IRON = 0x002E + GI_BOOTS_HOVER = 0x002F + GI_QUIVER_40 = 0x0030 + GI_QUIVER_50 = 0x0031 + GI_BOMB_BAG_20 = 0x0032 + GI_BOMB_BAG_30 = 0x0033 + GI_BOMB_BAG_40 = 0x0034 + GI_SILVER_GAUNTLETS = 0x0035 + GI_GOLD_GAUNTLETS = 0x0036 + GI_SCALE_SILVER = 0x0037 + GI_SCALE_GOLDEN = 0x0038 + GI_STONE_OF_AGONY = 0x0039 + GI_GERUDOS_CARD = 0x003A + GI_OCARINA_FAIRY = 0x003B + GI_DEKU_SEEDS_5 = 0x003C + GI_HEART_CONTAINER = 0x003D + GI_HEART_PIECE = 0x003E + GI_BOSS_KEY = 0x003F + GI_COMPASS = 0x0040 + GI_DUNGEON_MAP = 0x0041 + GI_SMALL_KEY = 0x0042 + GI_MAGIC_JAR_SMALL = 0x0043 + GI_MAGIC_JAR_LARGE = 0x0044 + GI_WALLET_ADULT = 0x0045 + GI_WALLET_GIANT = 0x0046 + GI_WEIRD_EGG = 0x0047 + GI_RECOVERY_HEART = 0x0048 + GI_ARROWS_5 = 0x0049 + GI_ARROWS_10 = 0x004A + GI_ARROWS_30 = 0x004B + GI_RUPEE_GREEN = 0x004C + GI_RUPEE_BLUE = 0x004D + GI_RUPEE_RED = 0x004E + GI_HEART_CONTAINER_2 = 0x004F + GI_MILK = 0x0050 + GI_MASK_GORON = 0x0051 + GI_MASK_ZORA = 0x0052 + GI_MASK_GERUDO = 0x0053 + GI_GORONS_BRACELET = 0x0054 + GI_RUPEE_PURPLE = 0x0055 + GI_RUPEE_GOLD = 0x0056 + GI_SWORD_BIGGORON = 0x0057 + GI_ARROW_FIRE = 0x0058 + GI_ARROW_ICE = 0x0059 + GI_ARROW_LIGHT = 0x005A + GI_SKULL_TOKEN = 0x005B + GI_DINS_FIRE = 0x005C + GI_FARORES_WIND = 0x005D + GI_NAYRUS_LOVE = 0x005E + GI_BULLET_BAG_30 = 0x005F + GI_BULLET_BAG_40 = 0x0060 + GI_DEKU_STICKS_5 = 0x0061 + GI_DEKU_STICKS_10 = 0x0062 + GI_DEKU_NUTS_5_2 = 0x0063 + GI_DEKU_NUTS_10 = 0x0064 + GI_BOMBS_1 = 0x0065 + GI_BOMBS_10 = 0x0066 + GI_BOMBS_20 = 0x0067 + GI_BOMBS_30 = 0x0068 + GI_DEKU_SEEDS_30 = 0x0069 + GI_BOMBCHUS_5 = 0x006A + GI_BOMBCHUS_20 = 0x006B + GI_BOTTLE_FISH = 0x006C + GI_BOTTLE_BUGS = 0x006D + GI_BOTTLE_BLUE_FIRE = 0x006E + GI_BOTTLE_POE = 0x006F + GI_BOTTLE_BIG_POE = 0x0070 + GI_DOOR_KEY = 0x0071 + GI_RUPEE_GREEN_LOSE = 0x0072 + GI_RUPEE_BLUE_LOSE = 0x0073 + GI_RUPEE_RED_LOSE = 0x0074 + GI_RUPEE_PURPLE_LOSE = 0x0075 + GI_HEART_PIECE_WIN = 0x0076 + GI_DEKU_STICK_UPGRADE_20 = 0x0077 + GI_DEKU_STICK_UPGRADE_30 = 0x0078 + GI_DEKU_NUT_UPGRADE_30 = 0x0079 + GI_DEKU_NUT_UPGRADE_40 = 0x007A + GI_BULLET_BAG_50 = 0x007B + GI_ICE_TRAP = 0x007C + GI_TEXT_0 = 0x007D + GI_CAPPED_PIECE_OF_HEART = 0x007D + GI_VANILLA_MAX = 0x007E + GI_CAPPED_HEART_CONTAINER = 0x007E + + GI_CAPPED_PIECE_OF_HEART_CHESTGAME = 0x007F + + GI_PROGRESSIVE_HOOKSHOT = 0x0080 + GI_PROGRESSIVE_STRENGTH = 0x0081 + GI_PROGRESSIVE_BOMB_BAG = 0x0082 + GI_PROGRESSIVE_BOW = 0x0083 + GI_PROGRESSIVE_SLINGSHOT = 0x0084 + GI_PROGRESSIVE_WALLET = 0x0085 + GI_PROGRESSIVE_SCALE = 0x0086 + GI_PROGRESSIVE_NUT_CAPACITY = 0x0087 + GI_PROGRESSIVE_STICK_CAPACITY = 0x0088 + GI_PROGRESSIVE_BOMBCHUS = 0x0089 + GI_PROGRESSIVE_MAGIC_METER = 0x008A + GI_PROGRESSIVE_OCARINA = 0x008B + + GI_BOTTLE_WITH_RED_POTION = 0x008C + GI_BOTTLE_WITH_GREEN_POTION = 0x008D + GI_BOTTLE_WITH_BLUE_POTION = 0x008E + GI_BOTTLE_WITH_FAIRY = 0x008F + GI_BOTTLE_WITH_FISH = 0x0090 + GI_BOTTLE_WITH_BLUE_FIRE = 0x0091 + GI_BOTTLE_WITH_BUGS = 0x0092 + GI_BOTTLE_WITH_BIG_POE = 0x0093 + GI_BOTTLE_WITH_POE = 0x0094 + + GI_BOSS_KEY_FOREST_TEMPLE = 0x0095 + GI_BOSS_KEY_FIRE_TEMPLE = 0x0096 + GI_BOSS_KEY_WATER_TEMPLE = 0x0097 + GI_BOSS_KEY_SPIRIT_TEMPLE = 0x0098 + GI_BOSS_KEY_SHADOW_TEMPLE = 0x0099 + GI_BOSS_KEY_GANONS_CASTLE = 0x009A + + GI_COMPASS_DEKU_TREE = 0x009B + GI_COMPASS_DODONGOS_CAVERN = 0x009C + GI_COMPASS_JABU_JABU = 0x009D + GI_COMPASS_FOREST_TEMPLE = 0x009E + GI_COMPASS_FIRE_TEMPLE = 0x009F + GI_COMPASS_WATER_TEMPLE = 0x00A0 + GI_COMPASS_SPIRIT_TEMPLE = 0x00A1 + GI_COMPASS_SHADOW_TEMPLE = 0x00A2 + GI_COMPASS_BOTTOM_OF_THE_WELL = 0x00A3 + GI_COMPASS_ICE_CAVERN = 0x00A4 + + GI_MAP_DEKU_TREE = 0x00A5 + GI_MAP_DODONGOS_CAVERN = 0x00A6 + GI_MAP_JABU_JABU = 0x00A7 + GI_MAP_FOREST_TEMPLE = 0x00A8 + GI_MAP_FIRE_TEMPLE = 0x00A9 + GI_MAP_WATER_TEMPLE = 0x00AA + GI_MAP_SPIRIT_TEMPLE = 0x00AB + GI_MAP_SHADOW_TEMPLE = 0x00AC + GI_MAP_BOTTOM_OF_THE_WELL = 0x00AD + GI_MAP_ICE_CAVERN = 0x00AE + + GI_SMALL_KEY_FOREST_TEMPLE = 0x00AF + GI_SMALL_KEY_FIRE_TEMPLE = 0x00B0 + GI_SMALL_KEY_WATER_TEMPLE = 0x00B1 + GI_SMALL_KEY_SPIRIT_TEMPLE = 0x00B2 + GI_SMALL_KEY_SHADOW_TEMPLE = 0x00B3 + GI_SMALL_KEY_BOTTOM_OF_THE_WELL = 0x00B4 + GI_SMALL_KEY_GERUDO_TRAINING = 0x00B5 + GI_SMALL_KEY_THIEVES_HIDEOUT = 0x00B6 + GI_SMALL_KEY_GANONS_CASTLE = 0x00B7 + + GI_DOUBLE_DEFENSE = 0x00B8 + GI_MAGIC_METER = 0x00B9 + GI_DOUBLE_MAGIC = 0x00BA + + GI_MINUET_OF_FOREST = 0x00BB + GI_BOLERO_OF_FIRE = 0x00BC + GI_SERENADE_OF_WATER = 0x00BD + GI_REQUIEM_OF_SPIRIT = 0x00BE + GI_NOCTURNE_OF_SHADOW = 0x00BF + GI_PRELUDE_OF_LIGHT = 0x00C0 + + GI_ZELDAS_LULLABY = 0x00C1 + GI_EPONAS_SONG = 0x00C2 + GI_SARIAS_SONG = 0x00C3 + GI_SUNS_SONG = 0x00C4 + GI_SONG_OF_TIME = 0x00C5 + GI_SONG_OF_STORMS = 0x00C6 + + GI_TYCOONS_WALLET = 0x00C7 + GI_REDUNDANT_LETTER_BOTTLE = 0x00C8 + GI_MAGIC_BEAN_PACK = 0x00C9 + GI_TRIFORCE_PIECE = 0x00CA + + GI_SMALL_KEY_RING_FOREST_TEMPLE = 0x00CB + GI_SMALL_KEY_RING_FIRE_TEMPLE = 0x00CC + GI_SMALL_KEY_RING_WATER_TEMPLE = 0x00CD + GI_SMALL_KEY_RING_SPIRIT_TEMPLE = 0x00CE + GI_SMALL_KEY_RING_SHADOW_TEMPLE = 0x00CF + GI_SMALL_KEY_RING_BOTTOM_OF_THE_WELL = 0x00D0 + GI_SMALL_KEY_RING_GERUDO_TRAINING = 0x00D1 + GI_SMALL_KEY_RING_THIEVES_HIDEOUT = 0x00D2 + GI_SMALL_KEY_RING_GANONS_CASTLE = 0x00D3 + + GI_BOMBCHU_BAG_20 = 0x00D4 + GI_BOMBCHU_BAG_10 = 0x00D5 + GI_BOMBCHU_BAG_5 = 0x00D6 + + GI_SMALL_KEY_RING_TREASURE_CHEST_GAME = 0x00D7 + + GI_SILVER_RUPEE_DODONGOS_CAVERN_STAIRCASE = 0x00D8 + GI_SILVER_RUPEE_ICE_CAVERN_SPINNING_SCYTHE = 0x00D9 + GI_SILVER_RUPEE_ICE_CAVERN_PUSH_BLOCK = 0x00DA + GI_SILVER_RUPEE_BOTTOM_OF_THE_WELL_BASEMENT = 0x00DB + GI_SILVER_RUPEE_SHADOW_TEMPLE_SCYTHE_SHORTCUT = 0x00DC + GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_BLADES = 0x00DD + GI_SILVER_RUPEE_SHADOW_TEMPLE_HUGE_PIT = 0x00DE + GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_SPIKES = 0x00DF + GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_SLOPES = 0x00E0 + GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_LAVA = 0x00E1 + GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_WATER = 0x00E2 + GI_SILVER_RUPEE_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES = 0x00E3 + GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_BOULDERS = 0x00E4 + GI_SILVER_RUPEE_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT = 0x00E5 + GI_SILVER_RUPEE_SPIRIT_TEMPLE_SUN_BLOCK = 0x00E6 + GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_CLIMB = 0x00E7 + GI_SILVER_RUPEE_GANONS_CASTLE_SPIRIT_TRIAL = 0x00E8 + GI_SILVER_RUPEE_GANONS_CASTLE_LIGHT_TRIAL = 0x00E9 + GI_SILVER_RUPEE_GANONS_CASTLE_FIRE_TRIAL = 0x00EA + GI_SILVER_RUPEE_GANONS_CASTLE_SHADOW_TRIAL = 0x00EB + GI_SILVER_RUPEE_GANONS_CASTLE_WATER_TRIAL = 0x00EC + GI_SILVER_RUPEE_GANONS_CASTLE_FOREST_TRIAL = 0x00ED + + GI_SILVER_RUPEE_POUCH_DODONGOS_CAVERN_STAIRCASE = 0x00EE + GI_SILVER_RUPEE_POUCH_ICE_CAVERN_SPINNING_SCYTHE = 0x00EF + GI_SILVER_RUPEE_POUCH_ICE_CAVERN_PUSH_BLOCK = 0x00F0 + GI_SILVER_RUPEE_POUCH_BOTTOM_OF_THE_WELL_BASEMENT = 0x00F1 + GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_SCYTHE_SHORTCUT = 0x00F2 + GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_BLADES = 0x00F3 + GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_HUGE_PIT = 0x00F4 + GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_SPIKES = 0x00F5 + GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_SLOPES = 0x00F6 + GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_LAVA = 0x00F7 + GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_WATER = 0x00F8 + GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES = 0x00F9 + GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_BOULDERS = 0x00FA + GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT = 0x00FB + GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_SUN_BLOCK = 0x00FC + GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_CLIMB = 0x00FD + GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SPIRIT_TRIAL = 0x00FE + GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_LIGHT_TRIAL = 0x00FF + GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FIRE_TRIAL = 0x0100 + GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SHADOW_TRIAL = 0x0101 + GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_WATER_TRIAL = 0x0102 + GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FOREST_TRIAL = 0x0103 + + # Ocarina button models + GI_OCARINA_BUTTON_A = 0x0104 + GI_OCARINA_BUTTON_C_UP = 0x0105 + GI_OCARINA_BUTTON_C_DOWN = 0x0106 + GI_OCARINA_BUTTON_C_LEFT = 0x0107 + GI_OCARINA_BUTTON_C_RIGHT = 0x0108 + + # Custom Key Models + GI_BOSS_KEY_MODEL_FOREST_TEMPLE = 0x0109 + GI_BOSS_KEY_MODEL_FIRE_TEMPLE = 0x010A + GI_BOSS_KEY_MODEL_WATER_TEMPLE = 0x010B + GI_BOSS_KEY_MODEL_SPIRIT_TEMPLE = 0x010C + GI_BOSS_KEY_MODEL_SHADOW_TEMPLE = 0x010D + GI_BOSS_KEY_MODEL_GANONS_CASTLE = 0x010E + GI_SMALL_KEY_MODEL_FOREST_TEMPLE = 0x010F + GI_SMALL_KEY_MODEL_FIRE_TEMPLE = 0x0110 + GI_SMALL_KEY_MODEL_WATER_TEMPLE = 0x0111 + GI_SMALL_KEY_MODEL_SPIRIT_TEMPLE = 0x0112 + GI_SMALL_KEY_MODEL_SHADOW_TEMPLE = 0x0113 + GI_SMALL_KEY_MODEL_BOTTOM_OF_THE_WELL = 0x0114 + GI_SMALL_KEY_MODEL_GERUDO_TRAINING = 0x0115 + GI_SMALL_KEY_MODEL_THIEVES_HIDEOUT = 0x0116 + GI_SMALL_KEY_MODEL_GANONS_CASTLE = 0x0117 + GI_SMALL_KEY_MODEL_CHEST_GAME = 0x0118 + + GI_FAIRY = 0x0119 + GI_NOTHING = 0x011A + + GI_KOKIRI_EMERALD = 0x0127 + GI_GORON_RUBY = 0x0128 + GI_ZORA_SAPPHIRE = 0x0129 + GI_LIGHT_MEDALLION = 0x012A + GI_FOREST_MEDALLION = 0x012B + GI_FIRE_MEDALLION = 0x012C + GI_WATER_MEDALLION = 0x012D + GI_SHADOW_MEDALLION = 0x012E + GI_SPIRIT_MEDALLION = 0x012F + + GI_SCALE_BRONZE = 0x0130 + + GI_RANDO_MAX = 0x0131 + # Progressive: True -> Advancement # False -> Priority # None -> Normal @@ -10,218 +333,221 @@ # of that item. # item_table: dict[str, tuple[str, Optional[bool], Optional[int], Optional[dict[str, Any]]]] = { - 'Bombs (5)': ('Item', None, 0x0001, {'junk': 8}), - 'Deku Nuts (5)': ('Item', None, 0x0002, {'junk': 5}), - 'Bombchus (10)': ('Item', True, 0x0003, None), - 'Boomerang': ('Item', True, 0x0006, None), - 'Deku Stick (1)': ('Item', None, 0x0007, {'junk': 5}), - 'Lens of Truth': ('Item', True, 0x000A, None), - 'Megaton Hammer': ('Item', True, 0x000D, None), - 'Cojiro': ('Item', True, 0x000E, {'trade': True}), - 'Bottle': ('Item', True, 0x000F, {'bottle': float('Inf')}), - 'Blue Potion': ('Item', True, 0x0012, None), # distinct from shop item - 'Bottle with Milk': ('Item', True, 0x0014, {'bottle': float('Inf')}), - 'Rutos Letter': ('Item', True, 0x0015, None), + 'Bombs (5)': ('Item', None, GetItemId.GI_BOMBS_5, {'junk': 8}), + 'Deku Nuts (5)': ('Item', None, GetItemId.GI_DEKU_NUTS_5, {'junk': 5}), + 'Bombchus (10)': ('Item', True, GetItemId.GI_BOMBCHUS_10, None), + 'Boomerang': ('Item', True, GetItemId.GI_BOOMERANG, None), + 'Deku Stick (1)': ('Item', None, GetItemId.GI_DEKU_STICKS_1, {'junk': 5}), + 'Lens of Truth': ('Item', True, GetItemId.GI_LENS_OF_TRUTH, None), + 'Megaton Hammer': ('Item', True, GetItemId.GI_HAMMER, None), + 'Cojiro': ('Item', True, GetItemId.GI_COJIRO, {'trade': True}), + 'Bottle': ('Item', True, GetItemId.GI_BOTTLE_EMPTY, {'bottle': float('Inf')}), + 'Blue Potion': ('Item', True, GetItemId.GI_BOTTLE_POTION_BLUE, None), # distinct from shop item + 'Bottle with Milk': ('Item', True, GetItemId.GI_BOTTLE_MILK_FULL, {'bottle': float('Inf')}), + 'Rutos Letter': ('Item', True, GetItemId.GI_BOTTLE_RUTOS_LETTER, None), 'Deliver Letter': ('Item', True, None, {'bottle': float('Inf')}), 'Sell Big Poe': ('Item', True, None, {'bottle': float('Inf')}), - 'Magic Bean': ('Item', True, 0x0016, {'progressive': 10}), - 'Skull Mask': ('Item', True, 0x0017, {'trade': True, 'object': 0x0136}), - 'Spooky Mask': ('Item', True, 0x0018, {'trade': True, 'object': 0x0135}), - 'Chicken': ('Item', True, 0x0019, {'trade': True}), - 'Keaton Mask': ('Item', True, 0x001A, {'trade': True, 'object': 0x0134}), - 'Bunny Hood': ('Item', True, 0x001B, {'trade': True, 'object': 0x0137}), - 'Mask of Truth': ('Item', True, 0x001C, {'trade': True, 'object': 0x0138}), - 'Pocket Egg': ('Item', True, 0x001D, {'trade': True}), - 'Pocket Cucco': ('Item', True, 0x001E, {'trade': True}), - 'Odd Mushroom': ('Item', True, 0x001F, {'trade': True}), - 'Odd Potion': ('Item', True, 0x0020, {'trade': True}), - 'Poachers Saw': ('Item', True, 0x0021, {'trade': True}), - 'Broken Sword': ('Item', True, 0x0022, {'trade': True}), - 'Prescription': ('Item', True, 0x0023, {'trade': True}), - 'Eyeball Frog': ('Item', True, 0x0024, {'trade': True}), - 'Eyedrops': ('Item', True, 0x0025, {'trade': True}), - 'Claim Check': ('Item', True, 0x0026, {'trade': True}), - 'Kokiri Sword': ('Item', True, 0x0027, None), - 'Giants Knife': ('Item', None, 0x0028, None), - 'Deku Shield': ('Item', None, 0x0029, None), - 'Hylian Shield': ('Item', None, 0x002A, None), - 'Mirror Shield': ('Item', True, 0x002B, None), - 'Goron Tunic': ('Item', True, 0x002C, None), - 'Zora Tunic': ('Item', True, 0x002D, None), - 'Iron Boots': ('Item', True, 0x002E, None), - 'Hover Boots': ('Item', True, 0x002F, None), - 'Stone of Agony': ('Item', True, 0x0039, None), - 'Gerudo Membership Card': ('Item', True, 0x003A, None), - 'Heart Container': ('Item', True, 0x003D, {'alias': ('Piece of Heart', 4), 'progressive': float('Inf')}), - 'Piece of Heart': ('Item', True, 0x003E, {'progressive': float('Inf')}), - 'Boss Key': ('BossKey', True, 0x003F, None), - 'Compass': ('Compass', None, 0x0040, None), - 'Map': ('Map', None, 0x0041, None), - 'Small Key': ('SmallKey', True, 0x0042, {'progressive': float('Inf')}), - 'Weird Egg': ('Item', True, 0x0047, {'trade': True}), - 'Recovery Heart': ('Item', None, 0x0048, {'junk': 0}), - 'Arrows (5)': ('Item', None, 0x0049, {'junk': 8}), - 'Arrows (10)': ('Item', None, 0x004A, {'junk': 2}), - 'Arrows (30)': ('Item', None, 0x004B, {'junk': 0}), - 'Rupee (1)': ('Item', None, 0x004C, {'junk': -1}), - 'Rupees (5)': ('Item', None, 0x004D, {'junk': 10}), - 'Rupees (20)': ('Item', None, 0x004E, {'junk': 4}), - 'Milk': ('Item', None, 0x0050, None), - 'Goron Mask': ('Item', None, 0x0051, {'trade': True, 'object': 0x0150}), - 'Zora Mask': ('Item', None, 0x0052, {'trade': True, 'object': 0x0151}), - 'Gerudo Mask': ('Item', None, 0x0053, {'trade': True, 'object': 0x0152}), - 'Rupees (50)': ('Item', None, 0x0055, {'junk': 1}), - 'Rupees (200)': ('Item', None, 0x0056, {'junk': 0}), - 'Biggoron Sword': ('Item', None, 0x0057, None), - 'Fire Arrows': ('Item', True, 0x0058, None), - 'Ice Arrows': ('Item', True, 0x0059, None), - 'Blue Fire Arrows': ('Item', True, 0x0059, None), - 'Light Arrows': ('Item', True, 0x005A, None), - 'Gold Skulltula Token': ('Token', True, 0x005B, {'progressive': float('Inf')}), - 'Dins Fire': ('Item', True, 0x005C, None), - 'Nayrus Love': ('Item', True, 0x005E, None), - 'Farores Wind': ('Item', True, 0x005D, None), - 'Deku Nuts (10)': ('Item', None, 0x0064, {'junk': 0}), - 'Bomb (1)': ('Item', None, 0x0065, {'junk': -1}), - 'Bombs (10)': ('Item', None, 0x0066, {'junk': 2}), - 'Bombs (20)': ('Item', None, 0x0067, {'junk': 0}), - 'Deku Seeds (30)': ('Item', None, 0x0069, {'junk': 5}), - 'Bombchus (5)': ('Item', True, 0x006A, None), - 'Bombchus (20)': ('Item', True, 0x006B, None), - 'Small Key (Treasure Chest Game)': ('TCGSmallKey', True, 0x0071, {'progressive': float('Inf')}), - 'Rupee (Treasure Chest Game) (1)': ('Item', None, 0x0072, None), - 'Rupees (Treasure Chest Game) (5)': ('Item', None, 0x0073, None), - 'Rupees (Treasure Chest Game) (20)': ('Item', None, 0x0074, None), - 'Rupees (Treasure Chest Game) (50)': ('Item', None, 0x0075, None), - 'Piece of Heart (Treasure Chest Game)': ('Item', True, 0x0076, {'alias': ('Piece of Heart', 1), 'progressive': float('Inf')}), - 'Ice Trap': ('Item', None, 0x007C, {'junk': 0}), - 'Progressive Hookshot': ('Item', True, 0x0080, {'progressive': 2}), - 'Progressive Strength Upgrade': ('Item', True, 0x0081, {'progressive': 3}), - 'Bomb Bag': ('Item', True, 0x0082, None), - 'Bow': ('Item', True, 0x0083, None), - 'Slingshot': ('Item', True, 0x0084, None), - 'Progressive Wallet': ('Item', True, 0x0085, {'progressive': 3}), - 'Progressive Scale': ('Item', True, 0x0086, {'progressive': 3}), - 'Deku Nut Capacity': ('Item', None, 0x0087, None), - 'Deku Stick Capacity': ('Item', None, 0x0088, None), - 'Bombchus': ('Item', True, 0x0089, None), - 'Magic Meter': ('Item', True, 0x008A, None), - 'Ocarina': ('Item', True, 0x008B, None), - 'Bottle with Red Potion': ('Item', True, 0x008C, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Green Potion': ('Item', True, 0x008D, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Blue Potion': ('Item', True, 0x008E, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Fairy': ('Item', True, 0x008F, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Fish': ('Item', True, 0x0090, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Blue Fire': ('Item', True, 0x0091, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Bugs': ('Item', True, 0x0092, {'bottle': True, 'shop_object': 0x0F}), - 'Bottle with Big Poe': ('Item', True, 0x0093, {'shop_object': 0x0F}), - 'Bottle with Poe': ('Item', True, 0x0094, {'bottle': True, 'shop_object': 0x0F}), - 'Boss Key (Forest Temple)': ('BossKey', True, 0x0095, None), - 'Boss Key (Fire Temple)': ('BossKey', True, 0x0096, None), - 'Boss Key (Water Temple)': ('BossKey', True, 0x0097, None), - 'Boss Key (Spirit Temple)': ('BossKey', True, 0x0098, None), - 'Boss Key (Shadow Temple)': ('BossKey', True, 0x0099, None), - 'Boss Key (Ganons Castle)': ('GanonBossKey', True, 0x009A, None), - 'Compass (Deku Tree)': ('Compass', False, 0x009B, None), - 'Compass (Dodongos Cavern)': ('Compass', False, 0x009C, None), - 'Compass (Jabu Jabus Belly)': ('Compass', False, 0x009D, None), - 'Compass (Forest Temple)': ('Compass', False, 0x009E, None), - 'Compass (Fire Temple)': ('Compass', False, 0x009F, None), - 'Compass (Water Temple)': ('Compass', False, 0x00A0, None), - 'Compass (Spirit Temple)': ('Compass', False, 0x00A1, None), - 'Compass (Shadow Temple)': ('Compass', False, 0x00A2, None), - 'Compass (Bottom of the Well)': ('Compass', False, 0x00A3, None), - 'Compass (Ice Cavern)': ('Compass', False, 0x00A4, None), - 'Map (Deku Tree)': ('Map', False, 0x00A5, None), - 'Map (Dodongos Cavern)': ('Map', False, 0x00A6, None), - 'Map (Jabu Jabus Belly)': ('Map', False, 0x00A7, None), - 'Map (Forest Temple)': ('Map', False, 0x00A8, None), - 'Map (Fire Temple)': ('Map', False, 0x00A9, None), - 'Map (Water Temple)': ('Map', False, 0x00AA, None), - 'Map (Spirit Temple)': ('Map', False, 0x00AB, None), - 'Map (Shadow Temple)': ('Map', False, 0x00AC, None), - 'Map (Bottom of the Well)': ('Map', False, 0x00AD, None), - 'Map (Ice Cavern)': ('Map', False, 0x00AE, None), - 'Small Key (Forest Temple)': ('SmallKey', True, 0x00AF, {'progressive': float('Inf')}), - 'Small Key (Fire Temple)': ('SmallKey', True, 0x00B0, {'progressive': float('Inf')}), - 'Small Key (Water Temple)': ('SmallKey', True, 0x00B1, {'progressive': float('Inf')}), - 'Small Key (Spirit Temple)': ('SmallKey', True, 0x00B2, {'progressive': float('Inf')}), - 'Small Key (Shadow Temple)': ('SmallKey', True, 0x00B3, {'progressive': float('Inf')}), - 'Small Key (Bottom of the Well)': ('SmallKey', True, 0x00B4, {'progressive': float('Inf')}), - 'Small Key (Gerudo Training Ground)': ('SmallKey', True, 0x00B5, {'progressive': float('Inf')}), - 'Small Key (Thieves Hideout)': ('HideoutSmallKey', True, 0x00B6, {'progressive': float('Inf')}), - 'Small Key (Ganons Castle)': ('SmallKey', True, 0x00B7, {'progressive': float('Inf')}), - 'Double Defense': ('Item', None, 0x00B8, None), - 'Buy Magic Bean': ('Item', True, 0x0016, {'alias': ('Magic Bean', 10), 'progressive': 10}), - 'Magic Bean Pack': ('Item', True, 0x00C9, {'alias': ('Magic Bean', 10), 'progressive': 10}), - 'Triforce Piece': ('Item', True, 0x00CA, {'progressive': float('Inf')}), - 'Zeldas Letter': ('Item', True, 0x000B, {'trade': True}), + 'Magic Bean': ('Item', True, GetItemId.GI_MAGIC_BEAN, {'progressive': 10}), + 'Skull Mask': ('Item', True, GetItemId.GI_MASK_SKULL, {'trade': True, 'object': 0x0136}), + 'Spooky Mask': ('Item', True, GetItemId.GI_MASK_SPOOKY, {'trade': True, 'object': 0x0135}), + 'Chicken': ('Item', True, GetItemId.GI_CHICKEN, {'trade': True}), + 'Keaton Mask': ('Item', True, GetItemId.GI_MASK_KEATON, {'trade': True, 'object': 0x0134}), + 'Bunny Hood': ('Item', True, GetItemId.GI_MASK_BUNNY_HOOD, {'trade': True, 'object': 0x0137}), + 'Mask of Truth': ('Item', True, GetItemId.GI_MASK_TRUTH, {'trade': True, 'object': 0x0138}), + 'Pocket Egg': ('Item', True, GetItemId.GI_POCKET_EGG, {'trade': True}), + 'Pocket Cucco': ('Item', True, GetItemId.GI_POCKET_CUCCO, {'trade': True}), + 'Odd Mushroom': ('Item', True, GetItemId.GI_ODD_MUSHROOM, {'trade': True}), + 'Odd Potion': ('Item', True, GetItemId.GI_ODD_POTION, {'trade': True}), + 'Poachers Saw': ('Item', True, GetItemId.GI_POACHERS_SAW, {'trade': True}), + 'Broken Sword': ('Item', True, GetItemId.GI_BROKEN_GORONS_SWORD, {'trade': True}), + 'Prescription': ('Item', True, GetItemId.GI_PRESCRIPTION, {'trade': True}), + 'Eyeball Frog': ('Item', True, GetItemId.GI_EYEBALL_FROG, {'trade': True}), + 'Eyedrops': ('Item', True, GetItemId.GI_EYE_DROPS, {'trade': True}), + 'Claim Check': ('Item', True, GetItemId.GI_CLAIM_CHECK, {'trade': True}), + 'Kokiri Sword': ('Item', True, GetItemId.GI_SWORD_KOKIRI, None), + 'Giants Knife': ('Item', None, GetItemId.GI_SWORD_KNIFE, None), + 'Deku Shield': ('Item', None, GetItemId.GI_SHIELD_DEKU, None), + 'Hylian Shield': ('Item', None, GetItemId.GI_SHIELD_HYLIAN, None), + 'Mirror Shield': ('Item', True, GetItemId.GI_SHIELD_MIRROR, None), + 'Goron Tunic': ('Item', True, GetItemId.GI_TUNIC_GORON, None), + 'Zora Tunic': ('Item', True, GetItemId.GI_TUNIC_ZORA, None), + 'Iron Boots': ('Item', True, GetItemId.GI_BOOTS_IRON, None), + 'Hover Boots': ('Item', True, GetItemId.GI_BOOTS_HOVER, None), + 'Stone of Agony': ('Item', True, GetItemId.GI_STONE_OF_AGONY, None), + 'Gerudo Membership Card': ('Item', True, GetItemId.GI_GERUDOS_CARD, None), + 'Heart Container': ('Item', True, GetItemId.GI_HEART_CONTAINER, {'alias': ('Piece of Heart', 4), 'progressive': float('Inf')}), + 'Piece of Heart': ('Item', True, GetItemId.GI_HEART_PIECE, {'progressive': float('Inf')}), + 'Piece of Heart (Out of Logic)': ('Item', None, GetItemId.GI_HEART_PIECE, None), + 'Boss Key': ('BossKey', True, GetItemId.GI_BOSS_KEY, None), + 'Compass': ('Compass', None, GetItemId.GI_COMPASS, None), + 'Map': ('Map', None, GetItemId.GI_DUNGEON_MAP, None), + 'Small Key': ('SmallKey', True, GetItemId.GI_SMALL_KEY, {'progressive': float('Inf')}), + 'Weird Egg': ('Item', True, GetItemId.GI_WEIRD_EGG, {'trade': True}), + 'Recovery Heart': ('Item', None, GetItemId.GI_RECOVERY_HEART, {'junk': 0}), + 'Arrows (5)': ('Item', None, GetItemId.GI_ARROWS_5, {'junk': 8}), + 'Arrows (10)': ('Item', None, GetItemId.GI_ARROWS_10, {'junk': 2}), + 'Arrows (30)': ('Item', None, GetItemId.GI_ARROWS_30, {'junk': 0}), + 'Rupee (1)': ('Item', None, GetItemId.GI_RUPEE_GREEN, {'junk': -1}), + 'Rupees (5)': ('Item', None, GetItemId.GI_RUPEE_BLUE, {'junk': 10}), + 'Rupees (20)': ('Item', None, GetItemId.GI_RUPEE_RED, {'junk': 4}), + 'Milk': ('Item', None, GetItemId.GI_MILK, None), + 'Goron Mask': ('Item', None, GetItemId.GI_MASK_GORON, {'trade': True, 'object': 0x0150}), + 'Zora Mask': ('Item', None, GetItemId.GI_MASK_ZORA, {'trade': True, 'object': 0x0151}), + 'Gerudo Mask': ('Item', None, GetItemId.GI_MASK_GERUDO, {'trade': True, 'object': 0x0152}), + 'Rupees (50)': ('Item', None, GetItemId.GI_RUPEE_PURPLE, {'junk': 1}), + 'Rupees (200)': ('Item', None, GetItemId.GI_RUPEE_GOLD, {'junk': 0}), + 'Biggoron Sword': ('Item', None, GetItemId.GI_SWORD_BIGGORON, None), + 'Fire Arrows': ('Item', True, GetItemId.GI_ARROW_FIRE, None), + 'Ice Arrows': ('Item', True, GetItemId.GI_ARROW_ICE, None), + 'Blue Fire Arrows': ('Item', True, GetItemId.GI_ARROW_ICE, None), + 'Light Arrows': ('Item', True, GetItemId.GI_ARROW_LIGHT, None), + 'Gold Skulltula Token': ('Token', True, GetItemId.GI_SKULL_TOKEN, {'progressive': float('Inf')}), + 'Dins Fire': ('Item', True, GetItemId.GI_DINS_FIRE, None), + 'Farores Wind': ('Item', True, GetItemId.GI_FARORES_WIND, None), + 'Nayrus Love': ('Item', True, GetItemId.GI_NAYRUS_LOVE, None), + 'Deku Nuts (10)': ('Item', None, GetItemId.GI_DEKU_NUTS_10, {'junk': 0}), + 'Bomb (1)': ('Item', None, GetItemId.GI_BOMBS_1, {'junk': -1}), + 'Bombs (10)': ('Item', None, GetItemId.GI_BOMBS_10, {'junk': 2}), + 'Bombs (20)': ('Item', None, GetItemId.GI_BOMBS_20, {'junk': 0}), + 'Deku Seeds (30)': ('Item', None, GetItemId.GI_DEKU_SEEDS_30, {'junk': 5}), + 'Bombchus (5)': ('Item', True, GetItemId.GI_BOMBCHUS_5, None), + 'Bombchus (20)': ('Item', True, GetItemId.GI_BOMBCHUS_20, None), + 'Small Key (Treasure Chest Game)': ('TCGSmallKey', True, GetItemId.GI_DOOR_KEY, {'progressive': float('Inf')}), + 'Rupee (Treasure Chest Game) (1)': ('Item', None, GetItemId.GI_RUPEE_GREEN_LOSE, None), + 'Rupees (Treasure Chest Game) (5)': ('Item', None, GetItemId.GI_RUPEE_BLUE_LOSE, None), + 'Rupees (Treasure Chest Game) (20)': ('Item', None, GetItemId.GI_RUPEE_RED_LOSE, None), + 'Rupees (Treasure Chest Game) (50)': ('Item', None, GetItemId.GI_RUPEE_PURPLE_LOSE, None), + 'Piece of Heart (Treasure Chest Game)': ('Item', True, GetItemId.GI_HEART_PIECE_WIN, {'alias': ('Piece of Heart', 1), 'progressive': float('Inf')}), + 'Ice Trap': ('Item', None, GetItemId.GI_ICE_TRAP, {'junk': 0}), + 'Progressive Hookshot': ('Item', True, GetItemId.GI_PROGRESSIVE_HOOKSHOT, {'progressive': 2}), + 'Progressive Strength Upgrade': ('Item', True, GetItemId.GI_PROGRESSIVE_STRENGTH, {'progressive': 3}), + 'Bomb Bag': ('Item', True, GetItemId.GI_PROGRESSIVE_BOMB_BAG, None), + 'Bow': ('Item', True, GetItemId.GI_PROGRESSIVE_BOW, None), + 'Slingshot': ('Item', True, GetItemId.GI_PROGRESSIVE_SLINGSHOT, None), + 'Progressive Wallet': ('Item', True, GetItemId.GI_PROGRESSIVE_WALLET, {'progressive': 3}), + 'Progressive Scale': ('Item', True, GetItemId.GI_PROGRESSIVE_SCALE, {'progressive': 3}), + 'Deku Nut Capacity': ('Item', None, GetItemId.GI_PROGRESSIVE_NUT_CAPACITY, None), + 'Deku Stick Capacity': ('Item', None, GetItemId.GI_PROGRESSIVE_STICK_CAPACITY, None), + 'Bombchus': ('Item', True, GetItemId.GI_PROGRESSIVE_BOMBCHUS, None), + 'Magic Meter': ('Item', True, GetItemId.GI_PROGRESSIVE_MAGIC_METER, None), + 'Ocarina': ('Item', True, GetItemId.GI_PROGRESSIVE_OCARINA, None), + 'Bottle with Red Potion': ('Item', True, GetItemId.GI_BOTTLE_WITH_RED_POTION, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Green Potion': ('Item', True, GetItemId.GI_BOTTLE_WITH_GREEN_POTION, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Blue Potion': ('Item', True, GetItemId.GI_BOTTLE_WITH_BLUE_POTION, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Fairy': ('Item', True, GetItemId.GI_BOTTLE_WITH_FAIRY, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Fish': ('Item', True, GetItemId.GI_BOTTLE_WITH_FISH, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Blue Fire': ('Item', True, GetItemId.GI_BOTTLE_WITH_BLUE_FIRE, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Bugs': ('Item', True, GetItemId.GI_BOTTLE_WITH_BUGS, {'bottle': True, 'shop_object': 0x0F}), + 'Bottle with Big Poe': ('Item', True, GetItemId.GI_BOTTLE_WITH_BIG_POE, {'shop_object': 0x0F}), + 'Bottle with Poe': ('Item', True, GetItemId.GI_BOTTLE_WITH_POE, {'bottle': True, 'shop_object': 0x0F}), + 'Boss Key (Forest Temple)': ('BossKey', True, GetItemId.GI_BOSS_KEY_FOREST_TEMPLE, None), + 'Boss Key (Fire Temple)': ('BossKey', True, GetItemId.GI_BOSS_KEY_FIRE_TEMPLE, None), + 'Boss Key (Water Temple)': ('BossKey', True, GetItemId.GI_BOSS_KEY_WATER_TEMPLE, None), + 'Boss Key (Spirit Temple)': ('BossKey', True, GetItemId.GI_BOSS_KEY_SPIRIT_TEMPLE, None), + 'Boss Key (Shadow Temple)': ('BossKey', True, GetItemId.GI_BOSS_KEY_SHADOW_TEMPLE, None), + 'Boss Key (Ganons Castle)': ('GanonBossKey', True, GetItemId.GI_BOSS_KEY_GANONS_CASTLE, None), + 'Compass (Deku Tree)': ('Compass', False, GetItemId.GI_COMPASS_DEKU_TREE, None), + 'Compass (Dodongos Cavern)': ('Compass', False, GetItemId.GI_COMPASS_DODONGOS_CAVERN, None), + 'Compass (Jabu Jabus Belly)': ('Compass', False, GetItemId.GI_COMPASS_JABU_JABU, None), + 'Compass (Forest Temple)': ('Compass', False, GetItemId.GI_COMPASS_FOREST_TEMPLE, None), + 'Compass (Fire Temple)': ('Compass', False, GetItemId.GI_COMPASS_FIRE_TEMPLE, None), + 'Compass (Water Temple)': ('Compass', False, GetItemId.GI_COMPASS_WATER_TEMPLE, None), + 'Compass (Spirit Temple)': ('Compass', False, GetItemId.GI_COMPASS_SPIRIT_TEMPLE, None), + 'Compass (Shadow Temple)': ('Compass', False, GetItemId.GI_COMPASS_SHADOW_TEMPLE, None), + 'Compass (Bottom of the Well)': ('Compass', False, GetItemId.GI_COMPASS_BOTTOM_OF_THE_WELL, None), + 'Compass (Ice Cavern)': ('Compass', False, GetItemId.GI_COMPASS_ICE_CAVERN, None), + 'Map (Deku Tree)': ('Map', False, GetItemId.GI_MAP_DEKU_TREE, None), + 'Map (Dodongos Cavern)': ('Map', False, GetItemId.GI_MAP_DODONGOS_CAVERN, None), + 'Map (Jabu Jabus Belly)': ('Map', False, GetItemId.GI_MAP_JABU_JABU, None), + 'Map (Forest Temple)': ('Map', False, GetItemId.GI_MAP_FOREST_TEMPLE, None), + 'Map (Fire Temple)': ('Map', False, GetItemId.GI_MAP_FIRE_TEMPLE, None), + 'Map (Water Temple)': ('Map', False, GetItemId.GI_MAP_WATER_TEMPLE, None), + 'Map (Spirit Temple)': ('Map', False, GetItemId.GI_MAP_SPIRIT_TEMPLE, None), + 'Map (Shadow Temple)': ('Map', False, GetItemId.GI_MAP_SHADOW_TEMPLE, None), + 'Map (Bottom of the Well)': ('Map', False, GetItemId.GI_MAP_BOTTOM_OF_THE_WELL, None), + 'Map (Ice Cavern)': ('Map', False, GetItemId.GI_MAP_ICE_CAVERN, None), + 'Small Key (Forest Temple)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_FOREST_TEMPLE, {'progressive': float('Inf')}), + 'Small Key (Fire Temple)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_FIRE_TEMPLE, {'progressive': float('Inf')}), + 'Small Key (Water Temple)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_WATER_TEMPLE, {'progressive': float('Inf')}), + 'Small Key (Spirit Temple)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_SPIRIT_TEMPLE, {'progressive': float('Inf')}), + 'Small Key (Shadow Temple)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_SHADOW_TEMPLE, {'progressive': float('Inf')}), + 'Small Key (Bottom of the Well)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_BOTTOM_OF_THE_WELL, {'progressive': float('Inf')}), + 'Small Key (Gerudo Training Ground)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_GERUDO_TRAINING, {'progressive': float('Inf')}), + 'Small Key (Thieves Hideout)': ('HideoutSmallKey', True, GetItemId.GI_SMALL_KEY_THIEVES_HIDEOUT, {'progressive': float('Inf')}), + 'Small Key (Ganons Castle)': ('SmallKey', True, GetItemId.GI_SMALL_KEY_GANONS_CASTLE, {'progressive': float('Inf')}), + 'Double Defense': ('Item', None, GetItemId.GI_DOUBLE_DEFENSE, None), + 'Buy Magic Bean': ('Item', True, GetItemId.GI_MAGIC_BEAN, {'alias': ('Magic Bean', 10), 'progressive': 10}), + 'Magic Bean Pack': ('Item', True, GetItemId.GI_MAGIC_BEAN_PACK, {'alias': ('Magic Bean', 10), 'progressive': 10}), + 'Triforce Piece': ('Item', True, GetItemId.GI_TRIFORCE_PIECE, {'progressive': float('Inf')}), + 'Zeldas Letter': ('Item', True, GetItemId.GI_ZELDAS_LETTER, {'trade': True}), 'Time Travel': ('Event', True, None, None), 'Scarecrow Song': ('Event', True, None, None), 'Triforce': ('Event', True, None, None), - 'Small Key Ring (Forest Temple)': ('SmallKey', True, 0x00CB, {'alias': ('Small Key (Forest Temple)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Fire Temple)': ('SmallKey', True, 0x00CC, {'alias': ('Small Key (Fire Temple)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Water Temple)': ('SmallKey', True, 0x00CD, {'alias': ('Small Key (Water Temple)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Spirit Temple)': ('SmallKey', True, 0x00CE, {'alias': ('Small Key (Spirit Temple)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Shadow Temple)': ('SmallKey', True, 0x00CF, {'alias': ('Small Key (Shadow Temple)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Bottom of the Well)': ('SmallKey', True, 0x00D0, {'alias': ('Small Key (Bottom of the Well)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Gerudo Training Ground)': ('SmallKey', True, 0x00D1, {'alias': ('Small Key (Gerudo Training Ground)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Thieves Hideout)': ('HideoutSmallKey', True, 0x00D2, {'alias': ('Small Key (Thieves Hideout)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Ganons Castle)': ('SmallKey', True, 0x00D3, {'alias': ('Small Key (Ganons Castle)', 10), 'progressive': float('Inf')}), - 'Small Key Ring (Treasure Chest Game)': ('TCGSmallKey', True, 0x00D7, {'alias': ('Small Key (Treasure Chest Game)', 10), 'progressive': float('Inf')}), - - 'Silver Rupee (Dodongos Cavern Staircase)': ('SilverRupee', True, 0x00D8, {'progressive': 5}), - 'Silver Rupee (Ice Cavern Spinning Scythe)': ('SilverRupee', True, 0x00D9, {'progressive': 5}), - 'Silver Rupee (Ice Cavern Push Block)': ('SilverRupee', True, 0x00DA, {'progressive': 5}), - 'Silver Rupee (Bottom of the Well Basement)': ('SilverRupee', True, 0x00DB, {'progressive': 5}), - 'Silver Rupee (Shadow Temple Scythe Shortcut)': ('SilverRupee', True, 0x00DC, {'progressive': 5}), - 'Silver Rupee (Shadow Temple Invisible Blades)': ('SilverRupee', True, 0x00DD, {'progressive': 10}), - 'Silver Rupee (Shadow Temple Huge Pit)': ('SilverRupee', True, 0x00DE, {'progressive': 5}), - 'Silver Rupee (Shadow Temple Invisible Spikes)': ('SilverRupee', True, 0x00DF, {'progressive': 10}), - 'Silver Rupee (Gerudo Training Ground Slopes)': ('SilverRupee', True, 0x00E0, {'progressive': 5}), - 'Silver Rupee (Gerudo Training Ground Lava)': ('SilverRupee', True, 0x00E1, {'progressive': 6}), - 'Silver Rupee (Gerudo Training Ground Water)': ('SilverRupee', True, 0x00E2, {'progressive': 5}), - 'Silver Rupee (Spirit Temple Child Early Torches)': ('SilverRupee', True, 0x00E3, {'progressive': 5}), - 'Silver Rupee (Spirit Temple Adult Boulders)': ('SilverRupee', True, 0x00E4, {'progressive': 5}), - 'Silver Rupee (Spirit Temple Lobby and Lower Adult)': ('SilverRupee', True, 0x00E5, {'progressive': 5}), - 'Silver Rupee (Spirit Temple Sun Block)': ('SilverRupee', True, 0x00E6, {'progressive': 5}), - 'Silver Rupee (Spirit Temple Adult Climb)': ('SilverRupee', True, 0x00E7, {'progressive': 5}), - 'Silver Rupee (Ganons Castle Spirit Trial)': ('SilverRupee', True, 0x00E8, {'progressive': 5}), - 'Silver Rupee (Ganons Castle Light Trial)': ('SilverRupee', True, 0x00E9, {'progressive': 5}), - 'Silver Rupee (Ganons Castle Fire Trial)': ('SilverRupee', True, 0x00EA, {'progressive': 5}), - 'Silver Rupee (Ganons Castle Shadow Trial)': ('SilverRupee', True, 0x00EB, {'progressive': 5}), - 'Silver Rupee (Ganons Castle Water Trial)': ('SilverRupee', True, 0x00EC, {'progressive': 5}), - 'Silver Rupee (Ganons Castle Forest Trial)': ('SilverRupee', True, 0x00ED, {'progressive': 5}), - - 'Silver Rupee Pouch (Dodongos Cavern Staircase)': ('SilverRupee', True, 0x00EE, {'alias': ('Silver Rupee (Dodongos Cavern Staircase)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ice Cavern Spinning Scythe)': ('SilverRupee', True, 0x00EF, {'alias': ('Silver Rupee (Ice Cavern Spinning Scythe)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ice Cavern Push Block)': ('SilverRupee', True, 0x00F0, {'alias': ('Silver Rupee (Ice Cavern Push Block)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Bottom of the Well Basement)': ('SilverRupee', True, 0x00F1, {'alias': ('Silver Rupee (Bottom of the Well Basement)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Shadow Temple Scythe Shortcut)': ('SilverRupee', True, 0x00F2, {'alias': ('Silver Rupee (Shadow Temple Scythe Shortcut)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Shadow Temple Invisible Blades)': ('SilverRupee', True, 0x00F3, {'alias': ('Silver Rupee (Shadow Temple Invisible Blades)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Shadow Temple Huge Pit)': ('SilverRupee', True, 0x00F4, {'alias': ('Silver Rupee (Shadow Temple Huge Pit)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Shadow Temple Invisible Spikes)': ('SilverRupee', True, 0x00F5, {'alias': ('Silver Rupee (Shadow Temple Invisible Spikes)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Gerudo Training Ground Slopes)': ('SilverRupee', True, 0x00F6, {'alias': ('Silver Rupee (Gerudo Training Ground Slopes)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Gerudo Training Ground Lava)': ('SilverRupee', True, 0x00F7, {'alias': ('Silver Rupee (Gerudo Training Ground Lava)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Gerudo Training Ground Water)': ('SilverRupee', True, 0x00F8, {'alias': ('Silver Rupee (Gerudo Training Ground Water)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Spirit Temple Child Early Torches)': ('SilverRupee', True, 0x00F9, {'alias': ('Silver Rupee (Spirit Temple Child Early Torches)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Spirit Temple Adult Boulders)': ('SilverRupee', True, 0x00FA, {'alias': ('Silver Rupee (Spirit Temple Adult Boulders)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Spirit Temple Lobby and Lower Adult)': ('SilverRupee', True, 0x00FB, {'alias': ('Silver Rupee (Spirit Temple Lobby and Lower Adult)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Spirit Temple Sun Block)': ('SilverRupee', True, 0x00FC, {'alias': ('Silver Rupee (Spirit Temple Sun Block)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Spirit Temple Adult Climb)': ('SilverRupee', True, 0x00FD, {'alias': ('Silver Rupee (Spirit Temple Adult Climb)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ganons Castle Spirit Trial)': ('SilverRupee', True, 0x00FE, {'alias': ('Silver Rupee (Ganons Castle Spirit Trial)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ganons Castle Light Trial)': ('SilverRupee', True, 0x00FF, {'alias': ('Silver Rupee (Ganons Castle Light Trial)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ganons Castle Fire Trial)': ('SilverRupee', True, 0x0100, {'alias': ('Silver Rupee (Ganons Castle Fire Trial)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ganons Castle Shadow Trial)': ('SilverRupee', True, 0x0101, {'alias': ('Silver Rupee (Ganons Castle Shadow Trial)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ganons Castle Water Trial)': ('SilverRupee', True, 0x0102, {'alias': ('Silver Rupee (Ganons Castle Water Trial)', 10), 'progressive': 1}), - 'Silver Rupee Pouch (Ganons Castle Forest Trial)': ('SilverRupee', True, 0x0103, {'alias': ('Silver Rupee (Ganons Castle Forest Trial)', 10), 'progressive': 1}), - - 'Ocarina A Button': ('Item', True, 0x0104, {'ocarina_button': True}), - 'Ocarina C up Button': ('Item', True, 0x0105, {'ocarina_button': True}), - 'Ocarina C down Button': ('Item', True, 0x0106, {'ocarina_button': True}), - 'Ocarina C left Button': ('Item', True, 0x0107, {'ocarina_button': True}), - 'Ocarina C right Button': ('Item', True, 0x0108, {'ocarina_button': True}), + 'Small Key Ring (Forest Temple)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_FOREST_TEMPLE, {'alias': ('Small Key (Forest Temple)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Fire Temple)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_FIRE_TEMPLE, {'alias': ('Small Key (Fire Temple)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Water Temple)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_WATER_TEMPLE, {'alias': ('Small Key (Water Temple)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Spirit Temple)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_SPIRIT_TEMPLE, {'alias': ('Small Key (Spirit Temple)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Shadow Temple)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_SHADOW_TEMPLE, {'alias': ('Small Key (Shadow Temple)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Bottom of the Well)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_BOTTOM_OF_THE_WELL, {'alias': ('Small Key (Bottom of the Well)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Gerudo Training Ground)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_GERUDO_TRAINING, {'alias': ('Small Key (Gerudo Training Ground)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Thieves Hideout)': ('HideoutSmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_THIEVES_HIDEOUT, {'alias': ('Small Key (Thieves Hideout)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Ganons Castle)': ('SmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_GANONS_CASTLE, {'alias': ('Small Key (Ganons Castle)', 10), 'progressive': float('Inf')}), + 'Small Key Ring (Treasure Chest Game)': ('TCGSmallKeyRing', True, GetItemId.GI_SMALL_KEY_RING_TREASURE_CHEST_GAME, {'alias': ('Small Key (Treasure Chest Game)', 10), 'progressive': float('Inf')}), + + 'Silver Rupee (Dodongos Cavern Staircase)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_DODONGOS_CAVERN_STAIRCASE, {'progressive': 5}), + 'Silver Rupee (Ice Cavern Spinning Scythe)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_ICE_CAVERN_SPINNING_SCYTHE, {'progressive': 5}), + 'Silver Rupee (Ice Cavern Push Block)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_ICE_CAVERN_PUSH_BLOCK, {'progressive': 5}), + 'Silver Rupee (Bottom of the Well Basement)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_BOTTOM_OF_THE_WELL_BASEMENT, {'progressive': 5}), + 'Silver Rupee (Shadow Temple Scythe Shortcut)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SHADOW_TEMPLE_SCYTHE_SHORTCUT, {'progressive': 5}), + 'Silver Rupee (Shadow Temple Invisible Blades)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_BLADES, {'progressive': 10}), + 'Silver Rupee (Shadow Temple Huge Pit)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SHADOW_TEMPLE_HUGE_PIT, {'progressive': 5}), + 'Silver Rupee (Shadow Temple Invisible Spikes)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SHADOW_TEMPLE_INVISIBLE_SPIKES, {'progressive': 10}), + 'Silver Rupee (Gerudo Training Ground Slopes)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_SLOPES, {'progressive': 5}), + 'Silver Rupee (Gerudo Training Ground Lava)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_LAVA, {'progressive': 6}), + 'Silver Rupee (Gerudo Training Ground Water)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GERUDO_TRAINING_GROUND_WATER, {'progressive': 5}), + 'Silver Rupee (Spirit Temple Child Early Torches)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES, {'progressive': 5}), + 'Silver Rupee (Spirit Temple Adult Boulders)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_BOULDERS, {'progressive': 5}), + 'Silver Rupee (Spirit Temple Lobby and Lower Adult)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT, {'progressive': 5}), + 'Silver Rupee (Spirit Temple Sun Block)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SPIRIT_TEMPLE_SUN_BLOCK, {'progressive': 5}), + 'Silver Rupee (Spirit Temple Adult Climb)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_SPIRIT_TEMPLE_ADULT_CLIMB, {'progressive': 5}), + 'Silver Rupee (Ganons Castle Spirit Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GANONS_CASTLE_SPIRIT_TRIAL, {'progressive': 5}), + 'Silver Rupee (Ganons Castle Light Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GANONS_CASTLE_LIGHT_TRIAL, {'progressive': 5}), + 'Silver Rupee (Ganons Castle Fire Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GANONS_CASTLE_FIRE_TRIAL, {'progressive': 5}), + 'Silver Rupee (Ganons Castle Shadow Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GANONS_CASTLE_SHADOW_TRIAL, {'progressive': 5}), + 'Silver Rupee (Ganons Castle Water Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GANONS_CASTLE_WATER_TRIAL, {'progressive': 5}), + 'Silver Rupee (Ganons Castle Forest Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_GANONS_CASTLE_FOREST_TRIAL, {'progressive': 5}), + + 'Silver Rupee Pouch (Dodongos Cavern Staircase)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_DODONGOS_CAVERN_STAIRCASE, {'alias': ('Silver Rupee (Dodongos Cavern Staircase)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ice Cavern Spinning Scythe)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_ICE_CAVERN_SPINNING_SCYTHE, {'alias': ('Silver Rupee (Ice Cavern Spinning Scythe)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ice Cavern Push Block)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_ICE_CAVERN_PUSH_BLOCK, {'alias': ('Silver Rupee (Ice Cavern Push Block)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Bottom of the Well Basement)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_BOTTOM_OF_THE_WELL_BASEMENT, {'alias': ('Silver Rupee (Bottom of the Well Basement)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Shadow Temple Scythe Shortcut)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_SCYTHE_SHORTCUT, {'alias': ('Silver Rupee (Shadow Temple Scythe Shortcut)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Shadow Temple Invisible Blades)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_BLADES, {'alias': ('Silver Rupee (Shadow Temple Invisible Blades)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Shadow Temple Huge Pit)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_HUGE_PIT, {'alias': ('Silver Rupee (Shadow Temple Huge Pit)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Shadow Temple Invisible Spikes)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SHADOW_TEMPLE_INVISIBLE_SPIKES, {'alias': ('Silver Rupee (Shadow Temple Invisible Spikes)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Gerudo Training Ground Slopes)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_SLOPES, {'alias': ('Silver Rupee (Gerudo Training Ground Slopes)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Gerudo Training Ground Lava)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_LAVA, {'alias': ('Silver Rupee (Gerudo Training Ground Lava)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Gerudo Training Ground Water)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GERUDO_TRAINING_GROUND_WATER, {'alias': ('Silver Rupee (Gerudo Training Ground Water)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Spirit Temple Child Early Torches)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES, {'alias': ('Silver Rupee (Spirit Temple Child Early Torches)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Spirit Temple Adult Boulders)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_BOULDERS, {'alias': ('Silver Rupee (Spirit Temple Adult Boulders)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Spirit Temple Lobby and Lower Adult)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_LOBBY_AND_LOWER_ADULT, {'alias': ('Silver Rupee (Spirit Temple Lobby and Lower Adult)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Spirit Temple Sun Block)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_SUN_BLOCK, {'alias': ('Silver Rupee (Spirit Temple Sun Block)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Spirit Temple Adult Climb)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_SPIRIT_TEMPLE_ADULT_CLIMB, {'alias': ('Silver Rupee (Spirit Temple Adult Climb)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ganons Castle Spirit Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SPIRIT_TRIAL, {'alias': ('Silver Rupee (Ganons Castle Spirit Trial)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ganons Castle Light Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_LIGHT_TRIAL, {'alias': ('Silver Rupee (Ganons Castle Light Trial)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ganons Castle Fire Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FIRE_TRIAL, {'alias': ('Silver Rupee (Ganons Castle Fire Trial)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ganons Castle Shadow Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_SHADOW_TRIAL, {'alias': ('Silver Rupee (Ganons Castle Shadow Trial)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ganons Castle Water Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_WATER_TRIAL, {'alias': ('Silver Rupee (Ganons Castle Water Trial)', 10), 'progressive': 1}), + 'Silver Rupee Pouch (Ganons Castle Forest Trial)': ('SilverRupee', True, GetItemId.GI_SILVER_RUPEE_POUCH_GANONS_CASTLE_FOREST_TRIAL, {'alias': ('Silver Rupee (Ganons Castle Forest Trial)', 10), 'progressive': 1}), + + 'Ocarina A Button': ('Item', True, GetItemId.GI_OCARINA_BUTTON_A, {'ocarina_button': True}), + 'Ocarina C up Button': ('Item', True, GetItemId.GI_OCARINA_BUTTON_C_UP, {'ocarina_button': True}), + 'Ocarina C down Button': ('Item', True, GetItemId.GI_OCARINA_BUTTON_C_DOWN, {'ocarina_button': True}), + 'Ocarina C left Button': ('Item', True, GetItemId.GI_OCARINA_BUTTON_C_LEFT, {'ocarina_button': True}), + 'Ocarina C right Button': ('Item', True, GetItemId.GI_OCARINA_BUTTON_C_RIGHT, {'ocarina_button': True}), + 'Fairy Drop': ('Item', None, GetItemId.GI_FAIRY, None), + 'Nothing': ('Item', None, GetItemId.GI_NOTHING, None), # Event items otherwise generated by generic event logic # can be defined here to enforce their appearance in playthroughs. @@ -252,73 +578,73 @@ 'Deku Nuts': ('Refill', None, None, None), 'Rupees': ('Refill', None, None, None), - 'Minuet of Forest': ('Song', True, 0x00BB, + 'Minuet of Forest': ('Song', True, GetItemId.GI_MINUET_OF_FOREST, { 'text_id': 0x73, 'song_id': 0x02, 'item_id': 0x5A, }), - 'Bolero of Fire': ('Song', True, 0x00BC, + 'Bolero of Fire': ('Song', True, GetItemId.GI_BOLERO_OF_FIRE, { 'text_id': 0x74, 'song_id': 0x03, 'item_id': 0x5B, }), - 'Serenade of Water': ('Song', True, 0x00BD, + 'Serenade of Water': ('Song', True, GetItemId.GI_SERENADE_OF_WATER, { 'text_id': 0x75, 'song_id': 0x04, 'item_id': 0x5C, }), - 'Requiem of Spirit': ('Song', True, 0x00BE, + 'Requiem of Spirit': ('Song', True, GetItemId.GI_REQUIEM_OF_SPIRIT, { 'text_id': 0x76, 'song_id': 0x05, 'item_id': 0x5D, }), - 'Nocturne of Shadow': ('Song', True, 0x00BF, + 'Nocturne of Shadow': ('Song', True, GetItemId.GI_NOCTURNE_OF_SHADOW, { 'text_id': 0x77, 'song_id': 0x06, 'item_id': 0x5E, }), - 'Prelude of Light': ('Song', True, 0x00C0, + 'Prelude of Light': ('Song', True, GetItemId.GI_PRELUDE_OF_LIGHT, { 'text_id': 0x78, 'song_id': 0x07, 'item_id': 0x5F, }), - 'Zeldas Lullaby': ('Song', True, 0x00C1, + 'Zeldas Lullaby': ('Song', True, GetItemId.GI_ZELDAS_LULLABY, { 'text_id': 0xD4, 'song_id': 0x0A, 'item_id': 0x60, }), - 'Eponas Song': ('Song', True, 0x00C2, + 'Eponas Song': ('Song', True, GetItemId.GI_EPONAS_SONG, { 'text_id': 0xD2, 'song_id': 0x09, 'item_id': 0x61, }), - 'Sarias Song': ('Song', True, 0x00C3, + 'Sarias Song': ('Song', True, GetItemId.GI_SARIAS_SONG, { 'text_id': 0xD1, 'song_id': 0x08, 'item_id': 0x62, }), - 'Suns Song': ('Song', True, 0x00C4, + 'Suns Song': ('Song', True, GetItemId.GI_SUNS_SONG, { 'text_id': 0xD3, 'song_id': 0x0B, 'item_id': 0x63, }), - 'Song of Time': ('Song', True, 0x00C5, + 'Song of Time': ('Song', True, GetItemId.GI_SONG_OF_TIME, { 'text_id': 0xD5, 'song_id': 0x0C, 'item_id': 0x64, }), - 'Song of Storms': ('Song', True, 0x00C6, + 'Song of Storms': ('Song', True, GetItemId.GI_SONG_OF_STORMS, { 'text_id': 0xD6, 'song_id': 0x0D, @@ -357,85 +683,25 @@ 'Buy Red Potion for 40 Rupees': ('Shop', False, 0x30, {'object': 0x00EB, 'price': 40}), 'Buy Red Potion for 50 Rupees': ('Shop', False, 0x31, {'object': 0x00EB, 'price': 50}), - 'Kokiri Emerald': ('DungeonReward', True, None, - { - 'stone': True, - 'addr2_data': 0x80, - 'bit_mask': 0x00040000, - 'item_id': 0x6C, - 'actor_type': 0x13, - 'object_id': 0x00AD, - }), - 'Goron Ruby': ('DungeonReward', True, None, - { - 'stone': True, - 'addr2_data': 0x81, - 'bit_mask': 0x00080000, - 'item_id': 0x6D, - 'actor_type': 0x14, - 'object_id': 0x00AD, - }), - 'Zora Sapphire': ('DungeonReward', True, None, - { - 'stone': True, - 'addr2_data': 0x82, - 'bit_mask': 0x00100000, - 'item_id': 0x6E, - 'actor_type': 0x15, - 'object_id': 0x00AD, - }), - 'Forest Medallion': ('DungeonReward', True, None, - { - 'medallion': True, - 'addr2_data': 0x3E, - 'bit_mask': 0x00000001, - 'item_id': 0x66, - 'actor_type': 0x0B, - 'object_id': 0x00BA, - }), - 'Fire Medallion': ('DungeonReward', True, None, - { - 'medallion': True, - 'addr2_data': 0x3C, - 'bit_mask': 0x00000002, - 'item_id': 0x67, - 'actor_type': 0x09, - 'object_id': 0x00BA, - }), - 'Water Medallion': ('DungeonReward', True, None, - { - 'medallion': True, - 'addr2_data': 0x3D, - 'bit_mask': 0x00000004, - 'item_id': 0x68, - 'actor_type': 0x0A, - 'object_id': 0x00BA, - }), - 'Spirit Medallion': ('DungeonReward', True, None, - { - 'medallion': True, - 'addr2_data': 0x3F, - 'bit_mask': 0x00000008, - 'item_id': 0x69, - 'actor_type': 0x0C, - 'object_id': 0x00BA, - }), - 'Shadow Medallion': ('DungeonReward', True, None, - { - 'medallion': True, - 'addr2_data': 0x41, - 'bit_mask': 0x00000010, - 'item_id': 0x6A, - 'actor_type': 0x0D, - 'object_id': 0x00BA, - }), - 'Light Medallion': ('DungeonReward', True, None, - { - 'medallion': True, - 'addr2_data': 0x40, - 'bit_mask': 0x00000020, - 'item_id': 0x6B, - 'actor_type': 0x0E, - 'object_id': 0x00BA, - }), + 'Kokiri Emerald': ('DungeonReward', True, GetItemId.GI_KOKIRI_EMERALD, {'stone': True, 'item_id': 0x6C}), + 'Goron Ruby': ('DungeonReward', True, GetItemId.GI_GORON_RUBY, {'stone': True, 'item_id': 0x6D}), + 'Zora Sapphire': ('DungeonReward', True, GetItemId.GI_ZORA_SAPPHIRE, {'stone': True, 'item_id': 0x6E}), + 'Light Medallion': ('DungeonReward', True, GetItemId.GI_LIGHT_MEDALLION, {'medallion': True, 'item_id': 0x6B}), + 'Forest Medallion': ('DungeonReward', True, GetItemId.GI_FOREST_MEDALLION, {'medallion': True, 'item_id': 0x66}), + 'Fire Medallion': ('DungeonReward', True, GetItemId.GI_FIRE_MEDALLION, {'medallion': True, 'item_id': 0x67}), + 'Water Medallion': ('DungeonReward', True, GetItemId.GI_WATER_MEDALLION, {'medallion': True, 'item_id': 0x68}), + 'Shadow Medallion': ('DungeonReward', True, GetItemId.GI_SHADOW_MEDALLION, {'medallion': True, 'item_id': 0x6A}), + 'Spirit Medallion': ('DungeonReward', True, GetItemId.GI_SPIRIT_MEDALLION, {'medallion': True, 'item_id': 0x69}), +} + +REWARD_COLORS: dict[str, str] = { + 'Kokiri Emerald': 'Green', + 'Goron Ruby': 'Red', + 'Zora Sapphire': 'Blue', + 'Light Medallion': 'Light Blue', + 'Forest Medallion': 'Green', + 'Fire Medallion': 'Red', + 'Water Medallion': 'Blue', + 'Shadow Medallion': 'Pink', + 'Spirit Medallion': 'Yellow', } diff --git a/ItemPool.py b/ItemPool.py index 228f545c5d..eec235273d 100644 --- a/ItemPool.py +++ b/ItemPool.py @@ -13,7 +13,7 @@ from World import World -plentiful_items: list[str] = ([ +plentiful_items: list[str] = [ 'Biggoron Sword', 'Boomerang', 'Lens of Truth', @@ -36,14 +36,8 @@ 'Bow', 'Slingshot', 'Bomb Bag', - 'Double Defense'] + - ['Heart Container'] * 8 -) - -# Ludicrous replaces all health upgrades with heart containers -# as done in plentiful. The item list is used separately to -# dynamically replace all junk with even levels of each item. -ludicrous_health: list[str] = ['Heart Container'] * 8 + 'Double Defense', +] # List of items that can be multiplied in ludicrous mode. # Used to filter the pre-plando pool for candidates instead @@ -86,6 +80,15 @@ ] ludicrous_items_extended: list[str] = [ + 'Kokiri Emerald', + 'Goron Ruby', + 'Zora Sapphire', + 'Light Medallion', + 'Forest Medallion', + 'Fire Medallion', + 'Water Medallion', + 'Shadow Medallion', + 'Spirit Medallion', 'Zeldas Lullaby', 'Eponas Song', 'Suns Song', @@ -210,12 +213,8 @@ ) item_difficulty_max: dict[str, dict[str, int]] = { - 'ludicrous': { - 'Piece of Heart': 3, - }, - 'plentiful': { - 'Piece of Heart': 3, - }, + 'ludicrous': {}, + 'plentiful': {}, 'balanced': {}, 'scarce': { 'Bombchus (5)': 1, @@ -312,6 +311,7 @@ ) normal_bottles: list[str] = [bottle for bottle in sorted(ItemInfo.bottles) if bottle not in ('Deliver Letter', 'Sell Big Poe')] + ['Bottle with Big Poe'] +reward_list: list[str] = [item.name for item in sorted([i for n, i in ItemInfo.items.items() if i.type == 'DungeonReward'], key=lambda x: x.special['item_id'])] song_list: list[str] = [item.name for item in sorted([i for n, i in ItemInfo.items.items() if i.type == 'Song'], key=lambda x: x.index if x.index is not None else 0)] junk_pool_base: list[tuple[str, int]] = [(item, weight) for (item, weight) in sorted(ItemInfo.junk_weight.items()) if weight > 0] remove_junk_items: list[str] = [item for (item, weight) in sorted(ItemInfo.junk_weight.items()) if weight >= 0] @@ -326,7 +326,7 @@ # a useless placeholder item placed at some skipped and inaccessible locations # (e.g. HC Malon Egg with Skip Child Zelda, or the carpenters with Open Gerudo Fortress) -IGNORE_LOCATION: str = 'Recovery Heart' +IGNORE_LOCATION: str = 'Nothing' pending_junk_pool: list[str] = [] junk_pool: list[tuple[str, int]] = [] @@ -361,11 +361,11 @@ 'HealthUpgrade': ('Heart Container', 'Piece of Heart', 'Piece of Heart (Treasure Chest Game)'), 'ProgressItem': sorted([name for name, item in ItemInfo.items.items() if item.type == 'Item' and item.advancement]), 'MajorItem': sorted([name for name, item in ItemInfo.items.items() if item.type in ('Item', 'Song') and item.advancement and name not in exclude_from_major]), - 'DungeonReward': [item.name for item in sorted([i for n, i in ItemInfo.items.items() if i.type == 'DungeonReward'], key=lambda x: x.special['item_id'])], + 'DungeonReward': reward_list, 'Map': sorted([name for name, item in ItemInfo.items.items() if item.type == 'Map']), 'Compass': sorted([name for name, item in ItemInfo.items.items() if item.type == 'Compass']), 'BossKey': sorted([name for name, item in ItemInfo.items.items() if item.type == 'BossKey']), - 'SmallKey': sorted([name for name, item in ItemInfo.items.items() if item.type == 'SmallKey']), + 'SmallKey': sorted([name for name, item in ItemInfo.items.items() if item.type in ('SmallKey', 'SmallKeyRing')]), 'ForestFireWater': ('Forest Medallion', 'Fire Medallion', 'Water Medallion'), 'FireWater': ('Fire Medallion', 'Water Medallion'), @@ -394,6 +394,24 @@ def get_junk_item(count: int = 1, pool: Optional[list[str]] = None, plando_pool: return return_pool +def get_pool_count(pool: list[str], item_list: list[str]) -> int: + count = 0 + for val in pool: + if val in item_list: + count += 1 + return count + +def replace_x_items(items: list[str], replace_list: list[str], x: int) -> None: + random.shuffle(items) + count = 0 + for i, val in enumerate(items): + if val in replace_list: + if count < x: + items[i] = get_junk_item()[0] + count += 1 + else: + return + def replace_max_item(items: list[str], item: str, max_count: int) -> None: count = 0 for i, val in enumerate(items): @@ -433,6 +451,8 @@ def generate_itempool(world: World) -> None: def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: + from Dungeon import Dungeon + pool = [] placed_items = {} remain_shop_items = [] @@ -507,14 +527,13 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: pending_junk_pool.append(f"Silver Rupee Pouch ({puzzle})") else: pending_junk_pool.append(f"Silver Rupee ({puzzle})") + if world.settings.shuffle_dungeon_rewards in ('any_dungeon', 'overworld', 'anywhere', 'regional'): + pending_junk_pool.extend(reward_list) if world.settings.shuffle_song_items == 'any': pending_junk_pool.extend(song_list) if world.settings.shuffle_individual_ocarina_notes: pending_junk_pool.extend(['Ocarina A Button', 'Ocarina C up Button', 'Ocarina C left Button', 'Ocarina C down Button', 'Ocarina C right Button']) - if world.settings.item_pool_value == 'ludicrous': - pending_junk_pool.extend(ludicrous_health) - if world.settings.triforce_hunt: pending_junk_pool.extend(['Triforce Piece'] * world.settings.triforce_count_per_world) if world.settings.shuffle_individual_ocarina_notes: @@ -684,6 +703,15 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: else: shuffle_item = False + # Gerudo Fortress Freestanding Heart Piece + elif location.vanilla_item == 'Piece of Heart (Out of Logic)': + shuffle_item = world.settings.shuffle_gerudo_fortress_heart_piece == 'shuffle' + if world.settings.shuffle_hideout_entrances or world.settings.logic_rules == 'glitched': + if world.settings.shuffle_hideout_entrances and world.settings.shuffle_gerudo_fortress_heart_piece == 'remove': + item = IGNORE_LOCATION + else: + item = 'Piece of Heart' + # Thieves' Hideout elif location.vanilla_item == 'Small Key (Thieves Hideout)': shuffle_item = world.settings.shuffle_hideoutkeys != 'vanilla' @@ -723,24 +751,31 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: # Pots elif location.type in ('Pot', 'FlyingPot'): + shuffle_item = False if world.settings.shuffle_pots == 'all': shuffle_item = True elif world.settings.shuffle_pots == 'dungeons' and (location.dungeon is not None or (location.parent_region is not None and location.parent_region.is_boss_room)): shuffle_item = True elif world.settings.shuffle_pots == 'overworld' and not (location.dungeon is not None or (location.parent_region is not None and location.parent_region.is_boss_room)): shuffle_item = True + + if shuffle_item and (location.vanilla_item != 'Nothing' or world.settings.shuffle_empty_pots): + shuffle_item = True else: shuffle_item = False location.disabled = DisableType.DISABLED # Crates elif location.type in ('Crate', 'SmallCrate'): + shuffle_item = False if world.settings.shuffle_crates == 'all': shuffle_item = True elif world.settings.shuffle_crates == 'dungeons' and location.dungeon is not None: shuffle_item = True elif world.settings.shuffle_crates == 'overworld' and location.dungeon is None: shuffle_item = True + if shuffle_item and (location.vanilla_item != 'Nothing' or world.settings.shuffle_empty_crates): + shuffle_item = True else: shuffle_item = False location.disabled = DisableType.DISABLED @@ -761,6 +796,35 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: shuffle_item = False location.disabled = DisableType.DISABLED + # Dungeon Rewards + elif location.name == 'ToT Reward from Rauru': + if world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward'): + pass # handled in World.fill_bosses + else: + shuffle_item = True + elif location.type == 'Boss': + if world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward'): + pass # handled in World.fill_bosses + elif world.settings.shuffle_dungeon_rewards in ('any_dungeon', 'overworld', 'regional', 'anywhere'): + shuffle_item = True + else: + dungeon = Dungeon.from_vanilla_reward(ItemFactory(location.vanilla_item, world)) + dungeon.reward.append(ItemFactory(item, world)) + + # Ganon boss key + elif location.vanilla_item == 'Boss Key (Ganons Castle)': + if world.settings.shuffle_ganon_bosskey == 'vanilla': + shuffle_item = False + elif world.settings.shuffle_ganon_bosskey == 'remove': + world.state.collect(ItemFactory(item, world)) + item = get_junk_item()[0] + shuffle_item = True + elif world.settings.shuffle_ganon_bosskey in ('any_dungeon', 'overworld', 'keysanity', 'regional'): + shuffle_item = True + else: + dungeon = [dungeon for dungeon in world.dungeons if dungeon.name == 'Ganons Castle'][0] + dungeon.boss_key.append(ItemFactory(item, world)) + # Dungeon Items elif location.dungeon is not None: dungeon = location.dungeon @@ -773,7 +837,7 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: item = get_junk_item()[0] shuffle_item = True else: - shuffle_setting = world.settings.shuffle_bosskeys if dungeon.name != 'Ganons Castle' else world.settings.shuffle_ganon_bosskey + shuffle_setting = world.settings.shuffle_bosskeys dungeon_collection = dungeon.boss_key if shuffle_setting == 'vanilla': shuffle_item = False @@ -888,7 +952,7 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: else: placed_items['Gift from Sages'] = ItemFactory(IGNORE_LOCATION, world) - if world.settings.junk_ice_traps == 'off': + if world.settings.junk_ice_traps in ('off', 'custom_count', 'custom_percent'): replace_max_item(pool, 'Ice Trap', 0) elif world.settings.junk_ice_traps == 'onslaught': for item in [item for item, weight in junk_pool_base] + ['Recovery Heart', 'Bombs (20)', 'Arrows (30)']: @@ -896,6 +960,13 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: for item, maximum in item_difficulty_max[world.settings.item_pool_value].items(): replace_max_item(pool, item, maximum) + # Dynamically condense regular heart pieces into heart containers depending on how many are in the pool + # (which varies based on the Shuffle Gerudo Fortress Heart Piece setting) + if world.settings.item_pool_value in ('plentiful', 'ludicrous'): + indices = [items_idx for items_idx, val in enumerate(pool) if val == 'Piece of Heart'] + num_full_hearts = (len(indices) // 4) * 4 + for hearts_idx, items_idx in enumerate(indices[:num_full_hearts]): + pool[items_idx] = 'Heart Container' if hearts_idx % 4 == 0 else get_junk_item()[0] world.distribution.alter_pool(world, pool) @@ -926,11 +997,25 @@ def get_pool_core(world: World) -> tuple[list[str], dict[str, Item]]: pool.remove(junk_item) pool.append(pending_item) + if world.settings.junk_ice_traps in ('custom_count', 'custom_percent'): + junk_pool[:] = [('Ice Trap', 1)] + # Get a list of all "junk" type items + junk = [item for item, weight in junk_pool_base] + ['Rupee (1)', 'Recovery Heart', 'Bombs (20)', 'Arrows (30)'] + junk_count = get_pool_count(pool, junk) + num_to_replace = int((world.settings.custom_ice_trap_percent / 100.0) * junk_count) if world.settings.junk_ice_traps == 'custom_percent' else world.settings.custom_ice_trap_count + replace_x_items(pool, junk, num_to_replace) + if world.settings.item_pool_value == 'ludicrous': # Replace all junk items with major items # Overrides plando'd junk items # Songs are in the unrestricted pool even if their fill is restricted. Filter from candidates - duplicate_candidates = [item for item in ludicrous_items_extended if item in pool and (ItemInfo.items[item].type != 'Song' or world.settings.shuffle_song_items == 'any')] + duplicate_candidates = [ + item + for item in ludicrous_items_extended + if item in pool + and (ItemInfo.items[item].type != 'Song' or world.settings.shuffle_song_items == 'any') + and (ItemInfo.items[item].type != 'DungeonReward' or world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward')) + ] duplicate_candidates.extend(ludicrous_items_base) junk_items = [ item for item in pool diff --git a/Location.py b/Location.py index 3cabfdb32b..fdca55f29c 100644 --- a/Location.py +++ b/Location.py @@ -117,7 +117,7 @@ def is_disabled(self) -> bool: def has_preview(self) -> bool: if self.world is None: return False - return location_is_viewable(self.name, self.world.settings.correct_chest_appearances, self.world.settings.fast_chests) + return location_is_viewable(self.name, self.world.settings.correct_chest_appearances, self.world.settings.fast_chests, world=self.world) def has_item(self) -> bool: return self.item is not None @@ -131,7 +131,7 @@ def has_progression_item(self) -> bool: def maybe_set_misc_hints(self) -> None: if self.item is None or self.item.world is None or self.world is None: return - if self.item.world.dungeon_rewards_hinted and self.item.name in self.item.world.rewardlist: + if self.item.world.dungeon_rewards_hinted and self.item.type == 'DungeonReward': if self.item.name not in self.item.world.hinted_dungeon_reward_locations: self.item.world.hinted_dungeon_reward_locations[self.item.name] = self logging.getLogger('').debug(f'{self.item.name} [{self.item.world.id}] set to [{self.name}]') diff --git a/LocationList.py b/LocationList.py index 6f987ea469..34635d50b7 100644 --- a/LocationList.py +++ b/LocationList.py @@ -1,7 +1,7 @@ from __future__ import annotations import sys from collections import OrderedDict -from typing import Optional +from typing import Optional, TYPE_CHECKING if sys.version_info >= (3, 10): from typing import TypeAlias @@ -13,6 +13,9 @@ LocationAddresses: TypeAlias = "Optional[tuple[LocationAddress, LocationAddress]]" LocationFilterTags: TypeAlias = "Optional[tuple[str, ...] | str]" +if TYPE_CHECKING: + from World import World + def shop_address(shop_id: int, shelf_id: int) -> int: return 0xC71ED0 + (0x40 * shop_id) + (0x08 * shelf_id) @@ -54,20 +57,22 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Actor ID - The position of the actor in the actor table. # The default variable can also be a list of such tuples in the case that multiple scene setups contain the same locations to be shuffled together. +# For cutscene/song/boss locations, the Scene is set to 0xFF. This matches the behavior of the push_delayed_item C function. + # Note: for ActorOverride locations, the "Addresses" variable is in the form ([addresses], [bytes]) where addresses is a list of memory locations in ROM to be updated, and bytes is the data that will be written to that location # Location: Type Scene Default Addresses Vanilla Item Categories location_table: dict[str, tuple[str, Optional[int], LocationDefault, LocationAddresses, Optional[str], LocationFilterTags]] = OrderedDict([ ## Dungeon Rewards - ("Links Pocket", ("Boss", None, None, None, 'Light Medallion', None)), - ("Queen Gohma", ("Boss", None, 0x6C, (0x0CA315F, 0x2079571), 'Kokiri Emerald', None)), - ("King Dodongo", ("Boss", None, 0x6D, (0x0CA30DF, 0x2223309), 'Goron Ruby', None)), - ("Barinade", ("Boss", None, 0x6E, (0x0CA36EB, 0x2113C19), 'Zora Sapphire', None)), - ("Phantom Ganon", ("Boss", None, 0x66, (0x0CA3D07, 0x0D4ED79), 'Forest Medallion', None)), - ("Volvagia", ("Boss", None, 0x67, (0x0CA3D93, 0x0D10135), 'Fire Medallion', None)), - ("Morpha", ("Boss", None, 0x68, (0x0CA3E1F, 0x0D5A3A9), 'Water Medallion', None)), - ("Bongo Bongo", ("Boss", None, 0x6A, (0x0CA3F43, 0x0D13E19), 'Shadow Medallion', None)), - ("Twinrova", ("Boss", None, 0x69, (0x0CA3EB3, 0x0D39FF1), 'Spirit Medallion', None)), + ("ToT Reward from Rauru", ("Boss", 0xFF, 0x04, None, 'Light Medallion', ("Temple of Time", "NPCs", "Dungeon Rewards",))), + ("Queen Gohma", ("Boss", 0xFF, 0x05, None, 'Kokiri Emerald', ("Deku Tree", "Deku Tree MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("King Dodongo", ("Boss", 0xFF, 0x06, None, 'Goron Ruby', ("Dodongo's Cavern", "Dodongo's Cavern MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("Barinade", ("Boss", 0xFF, 0x07, None, 'Zora Sapphire', ("Jabu Jabu's Belly", "Jabu Jabu's Belly MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("Phantom Ganon", ("Boss", 0xFF, 0x08, None, 'Forest Medallion', ("Forest Temple", "Forest Temple MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("Volvagia", ("Boss", 0xFF, 0x09, None, 'Fire Medallion', ("Fire Temple", "Fire Temple MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("Morpha", ("Boss", 0xFF, 0x0A, None, 'Water Medallion', ("Water Temple", "Water Temple MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("Bongo Bongo", ("Boss", 0xFF, 0x0C, None, 'Shadow Medallion', ("Shadow Temple", "Shadow Temple MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), + ("Twinrova", ("Boss", 0xFF, 0x0B, None, 'Spirit Medallion', ("Spirit Temple", "Spirit Temple MQ", "Vanilla Dungeons", "Master Quest", "Dungeon Rewards",))), ("Ganon", ("Event", None, None, None, 'Triforce', None)), ("Gift from Sages", ("Cutscene", 0xFF, 0x03, None, None, None)), @@ -113,20 +118,20 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("KF Top of Sarias Recovery Heart 1", ("Freestanding", 0x55, (0,0,20), None, 'Recovery Heart', ("Kokiri Forest", "Forest Area", "Freestandings",))), ("KF Top of Sarias Recovery Heart 2", ("Freestanding", 0x55, (0,0,21), None, 'Recovery Heart', ("Kokiri Forest", "Forest Area", "Freestandings",))), ("KF Top of Sarias Recovery Heart 3", ("Freestanding", 0x55, (0,0,22), None, 'Recovery Heart', ("Kokiri Forest", "Forest Area", "Freestandings",))), - ("KF Bean Platform Green Rupee 1", ("RupeeTower", 0x55, [(0,2,0x40), - (0,3,0x40)], ([0x020816A0, 0x2081910], None), 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), - ("KF Bean Platform Green Rupee 2", ("RupeeTower", 0x55, [(0,2,0x41), - (0,3,0x41)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), - ("KF Bean Platform Green Rupee 3", ("RupeeTower", 0x55, [(0,2,0x42), - (0,3,0x42)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), - ("KF Bean Platform Green Rupee 4", ("RupeeTower", 0x55, [(0,2,0x43), - (0,3,0x43)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), - ("KF Bean Platform Green Rupee 5", ("RupeeTower", 0x55, [(0,2,0x44), - (0,3,0x44)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), - ("KF Bean Platform Green Rupee 6", ("RupeeTower", 0x55, [(0,2,0x45), - (0,3,0x45)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), - ("KF Bean Platform Red Rupee", ("RupeeTower", 0x55, [(0,2,0x46), - (0,3,0x46)], None, 'Rupees (20)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Green Rupee 1", ("RupeeTower", 0x55, [(0,2,12,1), + (0,3,10,1)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Green Rupee 2", ("RupeeTower", 0x55, [(0,2,12,2), + (0,3,10,2)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Green Rupee 3", ("RupeeTower", 0x55, [(0,2,12,3), + (0,3,10,3)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Green Rupee 4", ("RupeeTower", 0x55, [(0,2,12,4), + (0,3,10,4)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Green Rupee 5", ("RupeeTower", 0x55, [(0,2,12,5), + (0,3,10,5)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Green Rupee 6", ("RupeeTower", 0x55, [(0,2,12,6), + (0,3,10,6)], None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), + ("KF Bean Platform Red Rupee", ("RupeeTower", 0x55, [(0,2,12,7), + (0,3,10,7)], None, 'Rupees (20)', ("Kokiri Forest", "Forest Area", "Rupee Towers",))), ("KF Grass Near Ramp Green Rupee 1", ("Freestanding", 0x55, (0,0,2), None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Freestandings",))), ("KF Grass Near Ramp Green Rupee 2", ("Freestanding", 0x55, (0,0,3), None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Freestandings",))), ("KF Grass Near Midos Green Rupee 1", ("Freestanding", 0x55, (0,0,4), None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Freestandings",))), @@ -142,27 +147,27 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("KF House of Twins Pot 1", ("Pot", 0x27, (0,0,3), None, 'Rupee (1)', ("Kokiri Forest", "Forest Area", "Pots",))), ("KF House of Twins Pot 2", ("Pot", 0x27, (0,0,4), None, 'Rupees (5)', ("Kokiri Forest", "Forest Area", "Pots",))), # Kokiri Forest Beehives - ("KF Storms Grotto Beehive 1", ("Beehive", 0x3E, (0,0, 0x48 + (0x0C * 2)), None, 'Rupees (5)', ("Kokiri Forest", "Forest Area", "Grottos", "Beehives",))), - ("KF Storms Grotto Beehive 2", ("Beehive", 0x3E, (0,0, 0x49 + (0x0C * 2)), None, 'Rupees (20)', ("Kokiri Forest", "Forest Area", "Grottos", "Beehives",))), + ("KF Storms Grotto Beehive 1", ("Beehive", 0x3E, (0,0x0C,8), None, 'Rupees (5)', ("Kokiri Forest", "Forest Area", "Grottos", "Beehives",))), + ("KF Storms Grotto Beehive 2", ("Beehive", 0x3E, (0,0x0C,9), None, 'Rupees (20)', ("Kokiri Forest", "Forest Area", "Grottos", "Beehives",))), # Kokiri Forest Wonderitems - ("KF Child Stepping Stones Wonderitem", ("Wonderitem", 0x55, (0,0,39), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Water Wonderitem", ("Wonderitem", 0x55, (0,0,34), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Sign Wonderitem", ("Wonderitem", 0x55, (0,0,33), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Training Wonderitem 1", ("Wonderitem", 0x55, (0,0,40), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Training Wonderitem 2", ("Wonderitem", 0x55, (0,0,41), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Training Wonderitem 3", ("Wonderitem", 0x55, (0,0,42), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Maze Grass Wonderitem 1", ("Wonderitem", 0x55, (2,0,6), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Child Maze Grass Wonderitem 2", ("Wonderitem", 0x55, (2,0,7), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), - ("KF Shop Wonderitem", ("Wonderitem", 0x2D, (0,0,5), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Stepping Stones Wonderitem", ("Wonderitem", 0x55, (0,0,39), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Water Wonderitem", ("Wonderitem", 0x55, (0,0,34), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Sign Wonderitem", ("Wonderitem", 0x55, (0,0,33), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Training Wonderitem 1", ("Wonderitem", 0x55, (0,0,40), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Training Wonderitem 2", ("Wonderitem", 0x55, (0,0,41), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Training Wonderitem 3", ("Wonderitem", 0x55, (0,0,42), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Maze Grass Wonderitem 1", ("Wonderitem", 0x55, (2,0,6), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Child Maze Grass Wonderitem 2", ("Wonderitem", 0x55, (2,0,7), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), + ("KF Shop Wonderitem", ("Wonderitem", 0x2D, (0,0,5), None, 'Rupees (5)', ("Kokiri Forest", "Forest", "Wonderitem"))), # Lost Woods ("LW Gift from Saria", ("Cutscene", 0xFF, 0x02, None, 'Ocarina', ("Lost Woods", "Forest Area", "NPCs",))), ("LW Ocarina Memory Game", ("NPC", 0x5B, 0x76, None, 'Piece of Heart', ("Lost Woods", "Forest Area", "Minigames",))), ("LW Target in Woods", ("NPC", 0x5B, 0x60, None, 'Slingshot', ("Lost Woods", "Forest Area", "NPCs",))), ("LW Near Shortcuts Grotto Chest", ("Chest", 0x3E, 0x14, None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Grottos", "Chests",))), - ("LW Trade Cojiro", ("NPC", 0x5B, 0x1F, None, 'Odd Mushroom', ("the Lost Woods", "Forest",))), - ("LW Trade Odd Potion", ("NPC", 0x5B, 0x21, None, 'Poachers Saw', ("the Lost Woods", "Forest",))), + ("LW Trade Cojiro", ("NPC", 0x5B, 0x1F, None, 'Odd Mushroom', ("Lost Woods", "Forest",))), + ("LW Trade Odd Potion", ("NPC", 0x5B, 0x21, None, 'Poachers Saw', ("Lost Woods", "Forest",))), ("Deku Theater Skull Mask", ("NPC", 0x3E, 0x77, None, 'Deku Stick Capacity', ("Lost Woods", "Forest Area", "Grottos",))), ("Deku Theater Mask of Truth", ("NPC", 0x3E, 0x7A, None, 'Deku Nut Capacity', ("Lost Woods", "Forest Area", "Need Spiritual Stones", "Grottos",))), ("LW Skull Kid", ("NPC", 0x5B, 0x3E, None, 'Piece of Heart', ("Lost Woods", "Forest Area", "NPCs",))), @@ -185,13 +190,13 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("LW Underwater Green Rupee 7", ("Freestanding", 0x5B, (3,0,12), None, 'Rupee (1)', ("Lost Woods", "Forest Area", "Freestandings",))), ("LW Underwater Shortcut Green Rupee", ("Freestanding", 0x5B, (3,0,7), None, 'Rupee (1)', ("Lost Woods", "Forest Area", "Freestandings",))), # Lost Woods Beehives - ("LW Near Shortcuts Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x14 * 2)), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Grottos", "Beehives",))), - ("LW Near Shortcuts Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x14 * 2)), None, 'Rupees (20)', ("Lost Woods", "Forest Area", "Grottos", "Beehives",))), - ("LW Scrubs Grotto Beehive", ("Beehive", 0x3E, (6,0,0x44 + (0x15 * 2)), None, 'Rupees (20)', ("Lost Woods", "Forest Area", "Grottos", "Beehives",))), + ("LW Near Shortcuts Grotto Beehive 1", ("Beehive", 0x3E, (0,0x14,8), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Grottos", "Beehives",))), + ("LW Near Shortcuts Grotto Beehive 2", ("Beehive", 0x3E, (0,0x14,9), None, 'Rupees (20)', ("Lost Woods", "Forest Area", "Grottos", "Beehives",))), + ("LW Scrubs Grotto Beehive", ("Beehive", 0x3E, (6,0x15,4), None, 'Rupees (20)', ("Lost Woods", "Forest Area", "Grottos", "Beehives",))), # Lost Woods Wonderitems - ("LW Near Ocarina Game Wonderitem 1", ("Wonderitem", 0x5B, (1,0,6), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Wonderitem"))), - ("LW Near Ocarina Game Wonderitem 2", ("Wonderitem", 0x5B, (1,0,7), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Wonderitem"))), - ("LW Near Ocarina Game Wonderitem 3", ("Wonderitem", 0x5B, (1,0,8), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Wonderitem"))), + ("LW Near Ocarina Game Wonderitem 1", ("Wonderitem", 0x5B, (1,0,6), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Wonderitem"))), + ("LW Near Ocarina Game Wonderitem 2", ("Wonderitem", 0x5B, (1,0,7), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Wonderitem"))), + ("LW Near Ocarina Game Wonderitem 3", ("Wonderitem", 0x5B, (1,0,8), None, 'Rupees (5)', ("Lost Woods", "Forest Area", "Wonderitem"))), # Sacred Forest Meadow ("SFM Wolfos Grotto Chest", ("Chest", 0x3E, 0x11, None, 'Rupees (50)', ("Sacred Forest Meadow", "Forest Area", "Grottos", "Chests",))), @@ -199,21 +204,21 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("SFM Deku Scrub Grotto Rear", ("GrottoScrub", 0xEE, 0x39, None, 'Buy Red Potion for 30 Rupees', ("Sacred Forest Meadow", "Forest Area", "Deku Scrubs", "Grottos",))), ("SFM GS", ("GS Token", 0x0D, 0x08, None, 'Gold Skulltula Token', ("Sacred Forest Meadow", "Forest Area", "Gold Skulltulas",))), # Sacred Forest Meadow Beehives - ("SFM Storms Grotto Beehive", ("Beehive", 0x3E, (9,0,0x43 + (0x0E * 2)), None, 'Rupees (20)', ("Sacred Forest Meadow", "Forest Area", "Grottos", "Beehives",))), + ("SFM Storms Grotto Beehive", ("Beehive", 0x3E, (9,0x0E,3), None, 'Rupees (20)', ("Sacred Forest Meadow", "Forest Area", "Grottos", "Beehives",))), # Sacred Forest Meadow Wonderitems ("SFM Near Lost Woods Wonderitem", ("Wonderitem", 0x56, [(0,0,16), - (0,2,19)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), + (0,2,19)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), ("SFM Maze Wonderitem 1", ("Wonderitem", 0x56, [(0,0,13), - (0,2,16)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), + (0,2,16)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), ("SFM Maze Wonderitem 2", ("Wonderitem", 0x56, [(0,0,14), - (0,2,17)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), + (0,2,17)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), ("SFM Maze Wonderitem 3", ("Wonderitem", 0x56, [(0,0,15), - (0,2,18)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), + (0,2,18)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), ("SFM Maze Wonderitem 4", ("Wonderitem", 0x56, [(0,0,17), - (0,2,20)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), + (0,2,20)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), ("SFM Maze Wonderitem 5", ("Wonderitem", 0x56, [(0,0,18), - (0,2,21)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), + (0,2,21)], None, 'Rupees (5)', ("Sacred Forest Meadow", "Forest Area", "Wonderitem"))), # Hyrule Field @@ -227,16 +232,16 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("HF GS Cow Grotto", ("GS Token", 0x0A, 0x01, None, 'Gold Skulltula Token', ("Hyrule Field", "Gold Skulltulas", "Grottos",))), ("HF GS Near Kak Grotto", ("GS Token", 0x0A, 0x02, None, 'Gold Skulltula Token', ("Hyrule Field", "Gold Skulltulas", "Grottos",))), # Hyrule Field Pots - ("HF Cow Grotto Pot 1", ("Pot", 0x3E, (4,0,6), None, 'Deku Nuts (5)', ("Hyrule Field", "Grottos", "Pots",))), - ("HF Cow Grotto Pot 2", ("Pot", 0x3E, (4,0,8), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Pots",))), + ("HF Cow Grotto Pot 1", ("Pot", 0x3E, (4,4,6), None, 'Deku Nuts (5)', ("Hyrule Field", "Grottos", "Pots",))), + ("HF Cow Grotto Pot 2", ("Pot", 0x3E, (4,4,8), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Pots",))), # Hyrule Field Beehives - ("HF Near Market Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x00 * 2)), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Beehives",))), - ("HF Near Market Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x00 * 2)), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), - ("HF Open Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x03 * 2)), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Beehives",))), - ("HF Open Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x03 * 2)), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), - ("HF Southeast Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x02 * 2)), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Beehives",))), - ("HF Southeast Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x02 * 2)), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), - ("HF Inside Fence Grotto Beehive", ("Beehive", 0x3E, (1,0,0x42 + (0x06 * 2)), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Near Market Grotto Beehive 1", ("Beehive", 0x3E, (0,0,8), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Near Market Grotto Beehive 2", ("Beehive", 0x3E, (0,0,9), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Open Grotto Beehive 1", ("Beehive", 0x3E, (0,3,8), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Open Grotto Beehive 2", ("Beehive", 0x3E, (0,3,9), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Southeast Grotto Beehive 1", ("Beehive", 0x3E, (0,2,8), None, 'Rupees (5)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Southeast Grotto Beehive 2", ("Beehive", 0x3E, (0,2,9), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), + ("HF Inside Fence Grotto Beehive", ("Beehive", 0x3E, (1,6,2), None, 'Rupees (20)', ("Hyrule Field", "Grottos", "Beehives",))), # Hyrule Field Wonderitems ("HF Child Above Drawbridge Wonderitem 1", ("Wonderitem", 0x51, [(0,0,53),(0,1,51)], None, 'Rupees (20)', ("Hyrule Field", "Wonderitem"))), @@ -263,14 +268,14 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Market Treasure Chest Game Reward", ("Chest", 0x10, 0x0A, None, 'Piece of Heart (Treasure Chest Game)', ("Market", "Minigames", "Chests",))), ("Market 10 Big Poes", ("NPC", 0x4D, 0x0F, None, 'Bottle', ("Market", "NPCs",))), ("Market GS Guard House", ("GS Token", 0x0E, 0x08, None, 'Gold Skulltula Token', ("Market", "Gold Skulltulas",))), - ("Market Mask Shop Item 1", ("MaskShop", 0x33, 0x53, (shop_address(10, 0), None), 'Gerudo Mask', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 2", ("MaskShop", 0x33, 0x52, (shop_address(10, 1), None), 'Zora Mask', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 3", ("MaskShop", 0x33, 0x1C, (shop_address(10, 2), None), 'Mask of Truth', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 4", ("MaskShop", 0x33, 0x51, (shop_address(10, 3), None), 'Goron Mask', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 5", ("MaskShop", 0x33, 0x17, (shop_address(10, 4), None), 'Skull Mask', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 6", ("MaskShop", 0x33, 0x1A, (shop_address(10, 5), None), 'Keaton Mask', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 7", ("MaskShop", 0x33, 0x1B, (shop_address(10, 6), None), 'Bunny Hood', ("the Market", "Market", "Shops"))), - ("Market Mask Shop Item 8", ("MaskShop", 0x33, 0x18, (shop_address(10, 7), None), 'Spooky Mask', ("the Market", "Market", "Shops"))), + ("Market Mask Shop Item 1", ("MaskShop", 0x33, 0x53, (shop_address(10, 0), None), 'Gerudo Mask', ("Market", "Shops"))), + ("Market Mask Shop Item 2", ("MaskShop", 0x33, 0x52, (shop_address(10, 1), None), 'Zora Mask', ("Market", "Shops"))), + ("Market Mask Shop Item 3", ("MaskShop", 0x33, 0x1C, (shop_address(10, 2), None), 'Mask of Truth', ("Market", "Shops"))), + ("Market Mask Shop Item 4", ("MaskShop", 0x33, 0x51, (shop_address(10, 3), None), 'Goron Mask', ("Market", "Shops"))), + ("Market Mask Shop Item 5", ("MaskShop", 0x33, 0x17, (shop_address(10, 4), None), 'Skull Mask', ("Market", "Shops"))), + ("Market Mask Shop Item 6", ("MaskShop", 0x33, 0x1A, (shop_address(10, 5), None), 'Keaton Mask', ("Market", "Shops"))), + ("Market Mask Shop Item 7", ("MaskShop", 0x33, 0x1B, (shop_address(10, 6), None), 'Bunny Hood', ("Market", "Shops"))), + ("Market Mask Shop Item 8", ("MaskShop", 0x33, 0x18, (shop_address(10, 7), None), 'Spooky Mask', ("Market", "Shops"))), ("Market Bazaar Item 1", ("Shop", 0x2C, 0x30, (shop_address(4, 0), None), 'Buy Hylian Shield', ("Market", "Shops",))), ("Market Bazaar Item 2", ("Shop", 0x2C, 0x31, (shop_address(4, 1), None), 'Buy Bombs (5) for 35 Rupees', ("Market", "Shops",))), ("Market Bazaar Item 3", ("Shop", 0x2C, 0x32, (shop_address(4, 2), None), 'Buy Deku Nut (5)', ("Market", "Shops",))), @@ -302,8 +307,17 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Market Night Green Rupee Crate 1", ("Crate", 0x21, (0,0,24), None, 'Rupee (1)', ("Market", "Crates",))), ("Market Night Green Rupee Crate 2", ("Crate", 0x21, (0,0,25), None, 'Rupee (1)', ("Market", "Crates",))), ("Market Night Green Rupee Crate 3", ("Crate", 0x21, (0,0,26), None, 'Rupee (1)', ("Market", "Crates",))), + ("Market Day Crate 1", ("Crate", 0x20, (0,0,34), None, 'Nothing', ("Market", "Crates",))), + ("Market Day Crate 2", ("Crate", 0x20, (0,0,35), None, 'Nothing', ("Market", "Crates",))), + ("Market Day Crate 3", ("Crate", 0x20, (0,0,36), None, 'Nothing', ("Market", "Crates",))), + ("Market Day Crate 4", ("Crate", 0x20, (0,0,37), None, 'Nothing', ("Market", "Crates",))), + ("Market Dog Lady House Crate", ("Crate", 0x35, (0,0,3), None, 'Rupees (5)', ("Market", "Crates",))), - ("Market Guard House Child Crate", ("Crate", 0x4D, (0,0,6), None, 'Rupee (1)', ("Market", "Crates",))), + ("Market Guard House Child Crate 1", ("Crate", 0x4D, (0,0,4), None, 'Nothing', ("Market", "Crates",))), + ("Market Guard House Child Crate 2", ("Crate", 0x4D, (0,0,5), None, 'Nothing', ("Market", "Crates",))), + ("Market Guard House Child Crate 3", ("Crate", 0x4D, (0,0,7), None, 'Nothing', ("Market", "Crates",))), + ("Market Guard House Child Crate 4", ("Crate", 0x4D, (0,0,6), None, 'Rupee (1)', ("Market", "Crates",))), + ("Market Guard House Child Pot 1", ("Pot", 0x4D, (0,0,9), None, 'Rupee (1)', ("Market", "Pots",))), ("Market Guard House Child Pot 2", ("Pot", 0x4D, (0,0,10), None, 'Rupee (1)', ("Market", "Pots",))), ("Market Guard House Child Pot 3", ("Pot", 0x4D, (0,0,11), None, 'Rupee (1)', ("Market", "Pots",))), @@ -348,25 +362,29 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Market Guard House Child Pot 42", ("Pot", 0x4D, (0,0,50), None, 'Rupee (1)', ("Market", "Pots",))), ("Market Guard House Child Pot 43", ("Pot", 0x4D, (0,0,51), None, 'Rupee (1)', ("Market", "Pots",))), ("Market Guard House Child Pot 44", ("Pot", 0x4D, (0,0,52), None, 'Rupee (1)', ("Market", "Pots",))), - ("Market Guard House Adult Pot 1", ("Pot", 0x4D, (0,2,2), None, 'Rupee (1)', ("Market", "Pots",))), - ("Market Guard House Adult Pot 2", ("Pot", 0x4D, (0,2,4), None, 'Rupee (1)', ("Market", "Pots",))), - ("Market Guard House Adult Pot 3", ("Pot", 0x4D, (0,2,5), None, 'Recovery Heart', ("Market", "Pots",))), - ("Market Guard House Adult Pot 4", ("Pot", 0x4D, (0,2,7), None, 'Rupees (20)', ("Market", "Pots",))), - ("Market Guard House Adult Pot 5", ("Pot", 0x4D, (0,2,8), None, 'Rupee (1)', ("Market", "Pots",))), - ("Market Guard House Adult Pot 6", ("Pot", 0x4D, (0,2,10), None, 'Recovery Heart', ("Market", "Pots",))), - ("Market Guard House Adult Pot 7", ("Pot", 0x4D, (0,2,12), None, 'Rupee (1)', ("Market", "Pots",))), + ("Market Guard House Adult Pot 1", ("Pot", 0x4D, (0,2,2), None, 'Rupee (1)', ("Market", "Pots",))), + ("Market Guard House Adult Pot 2", ("Pot", 0x4D, (0,2,3), None, 'Nothing', ("Market", "Pots",))), + ("Market Guard House Adult Pot 3", ("Pot", 0x4D, (0,2,4), None, 'Recovery Heart', ("Market", "Pots",))), + ("Market Guard House Adult Pot 4", ("Pot", 0x4D, (0,2,5), None, 'Rupees (20)', ("Market", "Pots",))), + ("Market Guard House Adult Pot 5", ("Pot", 0x4D, (0,2,6), None, 'Nothing', ("Market", "Pots",))), + ("Market Guard House Adult Pot 6", ("Pot", 0x4D, (0,2,7), None, 'Recovery Heart', ("Market", "Pots",))), + ("Market Guard House Adult Pot 7", ("Pot", 0x4D, (0,2,8), None, 'Rupee (1)', ("Market", "Pots",))), + ("Market Guard House Adult Pot 8", ("Pot", 0x4D, (0,2,9), None, 'Nothing', ("Market", "Pots",))), + ("Market Guard House Adult Pot 9", ("Pot", 0x4D, (0,2,10), None, 'Rupee (1)', ("Market", "Pots",))), + ("Market Guard House Adult Pot 10", ("Pot", 0x4D, (0,2,11), None, 'Nothing', ("Market", "Pots",))), + ("Market Guard House Adult Pot 11", ("Pot", 0x4D, (0,2,12), None, 'Rupee (1)', ("Market", "Pots",))), ("Market Man in Green House Pot 1", ("Pot", 0x2B, (0,0,3), None, 'Recovery Heart', ("Market", "Pots",))), ("Market Man in Green House Pot 2", ("Pot", 0x2B, (0,0,4), None, 'Recovery Heart', ("Market", "Pots",))), ("Market Man in Green House Pot 3", ("Pot", 0x2B, (0,0,5), None, 'Rupees (5)', ("Market", "Pots",))), # Market Wonderitems - ("Market Daytime Balcony Wonderitem 1", ("Wonderitem", 0x20, (0,0,16), None, 'Rupees (5)', ("Market", "Wonderitem"))), - ("Market Daytime Balcony Wonderitem 2", ("Wonderitem", 0x20, (0,0,17), None, 'Rupees (5)', ("Market", "Wonderitem"))), - ("Market Daytime Balcony Wonderitem 3", ("Wonderitem", 0x20, (0,0,18), None, 'Rupees (5)', ("Market", "Wonderitem"))), - ("Market Daytime Balcony Wonderitem 4", ("Wonderitem", 0x20, (0,0,19), None, 'Rupees (5)', ("Market", "Wonderitem"))), - ("Market Daytime Balcony Wonderitem 5", ("Wonderitem", 0x20, (0,0,20), None, 'Rupees (5)', ("Market", "Wonderitem"))), - ("Market Night Balcony Wonderitem 1", ("Wonderitem", 0x21, (0,0,6), None, 'Rupees (5)', ("Market", "Wonderitem"))), - ("Market Night Balcony Wonderitem 2", ("Wonderitem", 0x21, (0,0,7), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Daytime Balcony Wonderitem 1", ("Wonderitem", 0x20, (0,0,16), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Daytime Balcony Wonderitem 2", ("Wonderitem", 0x20, (0,0,17), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Daytime Balcony Wonderitem 3", ("Wonderitem", 0x20, (0,0,18), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Daytime Balcony Wonderitem 4", ("Wonderitem", 0x20, (0,0,19), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Daytime Balcony Wonderitem 5", ("Wonderitem", 0x20, (0,0,20), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Night Balcony Wonderitem 1", ("Wonderitem", 0x21, (0,0,6), None, 'Rupees (5)', ("Market", "Wonderitem"))), + ("Market Night Balcony Wonderitem 2", ("Wonderitem", 0x21, (0,0,7), None, 'Rupees (5)', ("Market", "Wonderitem"))), # Hyrule Castle @@ -375,10 +393,10 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("HC Great Fairy Reward", ("Cutscene", 0xFF, 0x11, None, 'Dins Fire', ("Hyrule Castle", "Great Fairies",))), ("HC GS Tree", ("GS Token", 0x0E, 0x04, None, 'Gold Skulltula Token', ("Hyrule Castle", "Gold Skulltulas",))), ("HC GS Storms Grotto", ("GS Token", 0x0E, 0x02, None, 'Gold Skulltula Token', ("Hyrule Castle", "Gold Skulltulas", "Grottos",))), - ("HC Storms Grotto Pot 1", ("Pot", 0x3E, (8,0,7), None, 'Rupees (20)', ("Hyrule Castle", "Grottos", "Pots",))), - ("HC Storms Grotto Pot 2", ("Pot", 0x3E, (8,0,8), None, 'Bombs (5)', ("Hyrule Castle", "Grottos", "Pots",))), - ("HC Storms Grotto Pot 3", ("Pot", 0x3E, (8,0,10), None, 'Arrows (5)', ("Hyrule Castle", "Grottos", "Pots",))), - ("HC Storms Grotto Pot 4", ("Pot", 0x3E, (8,0,12), None, 'Deku Nuts (5)', ("Hyrule Castle", "Grottos", "Pots",))), + ("HC Storms Grotto Pot 1", ("Pot", 0x3E, (8,0x16,7), None, 'Rupees (20)', ("Hyrule Castle", "Grottos", "Pots",))), + ("HC Storms Grotto Pot 2", ("Pot", 0x3E, (8,0x16,8), None, 'Bombs (5)', ("Hyrule Castle", "Grottos", "Pots",))), + ("HC Storms Grotto Pot 3", ("Pot", 0x3E, (8,0x16,10), None, 'Arrows (5)', ("Hyrule Castle", "Grottos", "Pots",))), + ("HC Storms Grotto Pot 4", ("Pot", 0x3E, (8,0x16,12), None, 'Deku Nuts (5)', ("Hyrule Castle", "Grottos", "Pots",))), # Hyrule Castle Wonderitems ("HC Castle Torch Wonderitem 1", ("Wonderitem", 0x5F, (0,0,13), None, 'Rupees (20)', ("Hyrule Castle", "Wonderitem"))), @@ -393,7 +411,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("HC Castle Moat Wonderitem 8", ("Wonderitem", 0x5F, (0,0,40), None, 'Rupee (1)', ("Hyrule Castle", "Wonderitem"))), ("HC Castle Moat Wonderitem 9", ("Wonderitem", 0x5F, (0,0,41), None, 'Rupee (1)', ("Hyrule Castle", "Wonderitem"))), ("HC Castle Moat Wonderitem 10", ("Wonderitem", 0x5F, (0,0,42), None, 'Rupee (1)', ("Hyrule Castle", "Wonderitem"))), - ("HC Zeldas Courtyard Mario Wonderitem", ("Wonderitem", 0x4A, (0,0,6), None, 'Rupees (20)', ("Hyrule Castle", "Wonderitem"))), + ("HC Zeldas Courtyard Mario Wonderitem", ("Wonderitem", 0x4A, (0,0,6), None, 'Rupees (20)', ("Hyrule Castle", "Wonderitem"))), ("LLR Talons Chickens", ("NPC", 0x4C, 0x14, None, 'Bottle with Milk', ("Lon Lon Ranch", "Minigames",))), ("LLR Freestanding PoH", ("Collectable", 0x4C, 0x01, None, 'Piece of Heart', ("Lon Lon Ranch", "Freestandings",))), @@ -429,11 +447,11 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("LLR Child Crate", ("Crate", 0x63, [(0,0,25), (0,1,30)], None, 'Rupee (1)', ("Lon Lon Ranch", "Crates",))), # Lon Lon Ranch Beehives - ("LLR Grotto Beehive", ("Beehive", 0x3E, (12,0,0x44 + (0x1C * 2)), None, 'Rupees (20)', ("Lon Lon Ranch", "Grottos", "Beehives",))), + ("LLR Grotto Beehive", ("Beehive", 0x3E, (12,0x1C,4), None, 'Rupees (20)', ("Lon Lon Ranch", "Grottos", "Beehives",))), # Lon Lon Ranch Wonderitems - ("LLR Epona Hurdle Wonderitem 1", ("Wonderitem", 0x63, [(0,2,25),(0,3,9)], None, 'Rupees (5)', ("Lon Lon Ranch", "Wonderitem"))), - ("LLR Epona Hurdle Wonderitem 2", ("Wonderitem", 0x63, [(0,2,26),(0,3,10)], None, 'Rupees (5)', ("Lon Lon Ranch", "Wonderitem"))), + ("LLR Epona Hurdle Wonderitem 1", ("Wonderitem", 0x63, [(0,2,25),(0,3,9)], None, 'Rupees (5)', ("Lon Lon Ranch", "Wonderitem"))), + ("LLR Epona Hurdle Wonderitem 2", ("Wonderitem", 0x63, [(0,2,26),(0,3,10)], None, 'Rupees (5)', ("Lon Lon Ranch", "Wonderitem"))), # Kakariko Village ("Kak Anju as Child", ("NPC", 0x52, 0x0F, None, 'Bottle', ("Kakariko Village", "Minigames",))), @@ -487,14 +505,32 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Kak Near Guards House Pot 3", ("Pot", 0x52, [(0,0,17),(0,1,16)], None, 'Recovery Heart', ("Kakariko Village", "Pots",))), ("Kak Near Odd Medicine Building Pot 1", ("Pot", 0x52, [(0,0,18),(0,1,17)], None, 'Recovery Heart', ("Kakariko Village", "Pots",))), ("Kak Near Odd Medicine Building Pot 2", ("Pot", 0x52, [(0,0,19),(0,1,18)], None, 'Recovery Heart', ("Kakariko Village", "Pots",))), - ("Kak Adult Red Rupee Crate", ("Crate", 0x52, [(0,2,46),(0,3,43)], None, 'Rupees (20)', ("Kakariko Village", "Crates",))), # update crate flags to not conflict w/ child pots. These move day/night - ("Kak Adult Arrows Crate", ("Crate", 0x52, [(0,2,37),(0,3,40)], None, 'Arrows (10)', ("Kakariko Village", "Crates",))), # update crate flags to not conflict w/ child pots. These move day/night + ("Kak Adult Crate 1", ("Crate", 0x52, [(0,2,35),(0,3,33)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Behind Skull House + ("Kak Adult Crate 2", ("Crate", 0x52, [(0,2,36),(0,3,34)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Near Poor Kid + ("Kak Adult Arrows Crate", ("Crate", 0x52, [(0,2,37),(0,3,40)], None, 'Arrows (10)', ("Kakariko Village", "Crates",))), # Near poor kid (arrows) + ("Kak Adult Crate 3", ("Crate", 0x52, [(0,2,38),(0,3,36)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Near impas + ("Kak Adult Crate 4", ("Crate", 0x52, [(0,2,39),(0,3,37)], None, 'Nothing', ("Kakariko Village", "Crates",))), # near impas + ("Kak Adult Crate 5", ("Crate", 0x52, [(0,2,40),(0,3,38)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Near house w/ talon + ("Kak Adult Crate 6", ("Crate", 0x52, [(0,2,41),(0,3,39)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Near house w/ talon + ("Kak Adult Crate 7", ("Crate", 0x52, [(0,2,42),(0,3,35)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Shooting gallery (normally night time 40) + ("Kak Adult Crate 8", ("Crate", 0x52, [(0,2,43),(0,3,41)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Near potion shop + ("Kak Adult Backyard Crate 1", ("Crate", 0x52, [(0,2,44),(0,3,42)], None, 'Nothing', ("Kakariko Village", "Crates",))), # Backyard + ("Kak Adult Backyard Crate 2", ("Crate", 0x52, [(0,2,45),(0,3,44)], None, 'Nothing', ("Kakariko Village", "Crates",))), + ("Kak Adult Red Rupee Crate", ("Crate", 0x52, [(0,2,46),(0,3,43)], None, 'Rupees (20)', ("Kakariko Village", "Crates",))), + ("Kak Adult Backyard Crate 3", ("Crate", 0x52, [(0,2,47),(0,3,45)], None, 'Nothing', ("Kakariko Village", "Crates",))), + + ("Kak Child Crate 1", ("Crate", 0x52, [(0,0,50),(0,1,43)], None, 'Nothing', ("Kakariko Village", "Crates",))), + ("Kak Child Crate 2", ("Crate", 0x52, [(0,0,51),(0,1,44)], None, 'Nothing', ("Kakariko Village", "Crates",))), + ("Kak Child Crate 3", ("Crate", 0x52, [(0,0,52),(0,1,45)], None, 'Nothing', ("Kakariko Village", "Crates",))), + ("Kak Child Crate 4", ("Crate", 0x52, [(0,0,53),(0,1,46)], None, 'Nothing', ("Kakariko Village", "Crates",))), + ("Kak Child Crate 5", ("Crate", 0x52, [(0,0,54),(0,1,47)], None, 'Nothing', ("Kakariko Village", "Crates",))), + # Kakariko Village Beehives - ("Kak Open Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x08 * 2)), None, 'Rupees (5)', ("Kakariko Village", "Grottos", "Beehives",))), - ("Kak Open Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x08 * 2)), None, 'Rupees (20)', ("Kakariko Village", "Grottos", "Beehives",))), + ("Kak Open Grotto Beehive 1", ("Beehive", 0x3E, (0,0x08,8), None, 'Rupees (5)', ("Kakariko Village", "Grottos", "Beehives",))), + ("Kak Open Grotto Beehive 2", ("Beehive", 0x3E, (0,0x08,9), None, 'Rupees (20)', ("Kakariko Village", "Grottos", "Beehives",))), # Kakariko Village Wonderitems - ("Kak Child Construction Wonderitem", ("Wonderitem", 0x52, [(0,0,56), (0,1,49)], None, 'Rupees (20)', ("Kakariko Village", "Wonderitem"))), - ("Kak Impas House Wonderitem", ("Wonderitem", 0x37, (0,0,7), None, 'Rupees (20)', ("Kakariko Village", "Wonderitem"))), + ("Kak Child Construction Wonderitem", ("Wonderitem", 0x52, [(0,0,56), (0,1,49)], None, 'Rupees (20)', ("Kakariko Village", "Wonderitem"))), + ("Kak Impas House Wonderitem", ("Wonderitem", 0x37, (0,0,7), None, 'Rupees (20)', ("Kakariko Village", "Wonderitem"))), # Graveyard ("Graveyard Shield Grave Chest", ("Chest", 0x40, 0x00, None, 'Hylian Shield', ("Graveyard", "Grottos", "Chests",))), @@ -516,6 +552,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Graveyard Dampe Race Rupee 7", ("Freestanding", 0x48, (3,0,1), None, 'Rupee (1)', ("Graveyard", "Grottos", "Freestandings",))), ("Graveyard Dampe Race Rupee 8", ("Freestanding", 0x48, (3,0,2), None, 'Rupee (1)', ("Graveyard", "Grottos", "Freestandings",))), # Graveyard Pots/Crates + ("Graveyard Freestanding PoH Crate", ("Crate", 0x53, [(1,0,22),(1,1,24),(1,2,34),(1,3,34)],None,'Nothing', ("Graveyard", "Crates"))), ("Graveyard Dampe Pot 1", ("Pot", 0x48, (0,0,1), None, 'Recovery Heart', ("Graveyard", "Grottos", "Pots",))), ("Graveyard Dampe Pot 2", ("Pot", 0x48, (0,0,2), None, 'Deku Nuts (5)', ("Graveyard", "Grottos", "Pots",))), ("Graveyard Dampe Pot 3", ("Pot", 0x48, (0,0,3), None, 'Bombs (5)', ("Graveyard", "Grottos", "Pots",))), @@ -524,21 +561,21 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Graveyard Dampe Pot 6", ("Pot", 0x48, (0,0,6), None, 'Rupees (20)', ("Graveyard", "Grottos", "Pots",))), # Graveyard Wonderitems - ("Graveyard Dampe Race Wonderitem 1", ("Wonderitem", 0x48, (1,0,6), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 2", ("Wonderitem", 0x48, (1,0,7), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 3", ("Wonderitem", 0x48, (1,0,8), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 4", ("Wonderitem", 0x48, (1,0,9), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 5", ("Wonderitem", 0x48, (1,0,10), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 6", ("Wonderitem", 0x48, (2,0,8), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 7", ("Wonderitem", 0x48, (2,0,9), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 8", ("Wonderitem", 0x48, (2,0,10), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 9", ("Wonderitem", 0x48, (2,0,11), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 10", ("Wonderitem", 0x48, (2,0,12), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 11", ("Wonderitem", 0x48, (3,0,9), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 12", ("Wonderitem", 0x48, (3,0,10), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 13", ("Wonderitem", 0x48, (3,0,11), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 14", ("Wonderitem", 0x48, (3,0,12), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), - ("Graveyard Dampe Race Wonderitem 15", ("Wonderitem", 0x48, (3,0,13), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 1", ("Wonderitem", 0x48, (1,0,6), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 2", ("Wonderitem", 0x48, (1,0,7), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 3", ("Wonderitem", 0x48, (1,0,8), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 4", ("Wonderitem", 0x48, (1,0,9), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 5", ("Wonderitem", 0x48, (1,0,10), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 6", ("Wonderitem", 0x48, (2,0,8), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 7", ("Wonderitem", 0x48, (2,0,9), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 8", ("Wonderitem", 0x48, (2,0,10), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 9", ("Wonderitem", 0x48, (2,0,11), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 10", ("Wonderitem", 0x48, (2,0,12), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 11", ("Wonderitem", 0x48, (3,0,9), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 12", ("Wonderitem", 0x48, (3,0,10), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 13", ("Wonderitem", 0x48, (3,0,11), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 14", ("Wonderitem", 0x48, (3,0,12), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), + ("Graveyard Dampe Race Wonderitem 15", ("Wonderitem", 0x48, (3,0,13), None, 'Rupees (5)', ("Graveyard", "Grottos", "Wonderitem"))), # Death Mountain Trail ("DMT Freestanding PoH", ("Collectable", 0x60, 0x1E, None, 'Piece of Heart', ("Death Mountain Trail", "Freestandings",))), @@ -556,21 +593,21 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Death Mountain Trail Freestanding ("DMT Rock Red Rupee", ("Freestanding", 0x60, (0,0,2), None, 'Rupees (20)', ("Death Mountain Trail", "Freestandings",))), ("DMT Rock Blue Rupee", ("Freestanding", 0x60, (0,0,3), None, 'Rupees (5)', ("Death Mountain Trail", "Freestandings",))), - ("DMT Cow Grotto Green Rupee 1", ("RupeeTower", 0x3E, (3,0,0x40), ([0x026D2098], None), 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Green Rupee 2", ("RupeeTower", 0x3E, (3,0,0x41), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Green Rupee 3", ("RupeeTower", 0x3E, (3,0,0x42), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Green Rupee 4", ("RupeeTower", 0x3E, (3,0,0x43), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Green Rupee 5", ("RupeeTower", 0x3E, (3,0,0x44), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Green Rupee 6", ("RupeeTower", 0x3E, (3,0,0x45), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Red Rupee", ("RupeeTower", 0x3E, (3,0,0x46), None, 'Rupees (20)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), - ("DMT Cow Grotto Recovery Heart 1", ("Freestanding", 0x3E, (3,0,7), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), - ("DMT Cow Grotto Recovery Heart 2", ("Freestanding", 0x3E, (3,0,8), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), - ("DMT Cow Grotto Recovery Heart 3", ("Freestanding", 0x3E, (3,0,9), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), - ("DMT Cow Grotto Recovery Heart 4", ("Freestanding", 0x3E, (3,0,10), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), + ("DMT Cow Grotto Green Rupee 1", ("RupeeTower", 0x3E, (3,0x18,6,1), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Green Rupee 2", ("RupeeTower", 0x3E, (3,0x18,6,2), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Green Rupee 3", ("RupeeTower", 0x3E, (3,0x18,6,3), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Green Rupee 4", ("RupeeTower", 0x3E, (3,0x18,6,4), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Green Rupee 5", ("RupeeTower", 0x3E, (3,0x18,6,5), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Green Rupee 6", ("RupeeTower", 0x3E, (3,0x18,6,6), None, 'Rupee (1)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Red Rupee", ("RupeeTower", 0x3E, (3,0x18,6,7), None, 'Rupees (20)', ("Death Mountain Trail", "Grottos", "Rupee Towers",))), + ("DMT Cow Grotto Recovery Heart 1", ("Freestanding", 0x3E, (3,0x18,7), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), + ("DMT Cow Grotto Recovery Heart 2", ("Freestanding", 0x3E, (3,0x18,8), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), + ("DMT Cow Grotto Recovery Heart 3", ("Freestanding", 0x3E, (3,0x18,9), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), + ("DMT Cow Grotto Recovery Heart 4", ("Freestanding", 0x3E, (3,0x18,10), None, 'Recovery Heart', ("Death Mountain Trail", "Grottos", "Freestandings",))), # Death Mountain Trial Beehives - ("DMT Cow Grotto Beehive", ("Beehive", 0x3E, (3,0,0x44 + (0x18 * 2)), None, 'Rupees (20)', ("Death Mountain Trail", "Grottos", "Beehives",))), - ("DMT Storms Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x17 * 2)), None, 'Rupees (5)', ("Death Mountain Trail", "Grottos", "Beehives",))), - ("DMT Storms Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x17 * 2)), None, 'Rupees (20)', ("Death Mountain Trail", "Grottos", "Beehives",))), + ("DMT Cow Grotto Beehive", ("Beehive", 0x3E, (3,0x18,4), None, 'Rupees (20)', ("Death Mountain Trail", "Grottos", "Beehives",))), + ("DMT Storms Grotto Beehive 1", ("Beehive", 0x3E, (0,0x17,8), None, 'Rupees (5)', ("Death Mountain Trail", "Grottos", "Beehives",))), + ("DMT Storms Grotto Beehive 2", ("Beehive", 0x3E, (0,0x17,9), None, 'Rupees (20)', ("Death Mountain Trail", "Grottos", "Beehives",))), # Goron City ("GC Darunias Joy", ("NPC", 0x62, 0x54, None, 'Progressive Strength Upgrade', ("Goron City", "NPCs",))), @@ -594,15 +631,15 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("GC Shop Item 6", ("Shop", 0x2E, 0x35, (shop_address(8, 5), None), 'Buy Heart', ("Goron City", "Shops",))), ("GC Shop Item 7", ("Shop", 0x2E, 0x36, (shop_address(8, 6), None), 'Buy Red Potion for 40 Rupees', ("Goron City", "Shops",))), ("GC Shop Item 8", ("Shop", 0x2E, 0x37, (shop_address(8, 7), None), 'Buy Heart', ("Goron City", "Shops",))), - ("GC Spinning Pot Bomb Drop 1", ("RupeeTower", 0x62, (3,0,0x41), ([0x22A82F4], None), 'Bombs (5)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot Bomb Drop 2", ("RupeeTower", 0x62, (3,0,0x42), None, 'Bombs (5)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot Bomb Drop 3", ("RupeeTower", 0x62, (3,0,0x43), None, 'Bombs (5)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot Rupee Drop 1", ("RupeeTower", 0x62, (3,0,0x44), None, 'Rupee (1)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot Rupee Drop 2", ("RupeeTower", 0x62, (3,0,0x45), None, 'Rupee (1)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot Rupee Drop 3", ("RupeeTower", 0x62, (3,0,0x46), None, 'Rupee (1)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot PoH Drop Rupee 1", ("RupeeTower", 0x62, (3,0,0x47), None, 'Rupees (20)', ("Goron City", "Rupee Towers",))), - ("GC Spinning Pot PoH Drop Rupee 2", ("RupeeTower", 0x62, (3,0,0x48), None, 'Rupees (5)', ("Goron City", "Rupee Towers",))), - # Goron City Pots + ("GC Spinning Pot Bomb Drop 1", ("Freestanding", 0x62, (3,0,41,1), None, 'Bombs (5)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot Bomb Drop 2", ("Freestanding", 0x62, (3,0,41,2), None, 'Bombs (5)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot Bomb Drop 3", ("Freestanding", 0x62, (3,0,41,3), None, 'Bombs (5)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot Rupee Drop 1", ("Freestanding", 0x62, (3,0,41,4), None, 'Rupee (1)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot Rupee Drop 2", ("Freestanding", 0x62, (3,0,41,5), None, 'Rupee (1)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot Rupee Drop 3", ("Freestanding", 0x62, (3,0,41,6), None, 'Rupee (1)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot PoH Drop Rupee 1", ("Freestanding", 0x62, (3,0,41,7), None, 'Rupees (20)', ("Goron City", "Freestandings",))), + ("GC Spinning Pot PoH Drop Rupee 2", ("Freestanding", 0x62, (3,0,41,8), None, 'Rupees (5)', ("Goron City", "Freestandings",))), + # Goron City Pots. ("GC Darunia Pot 1", ("Pot", 0x62, [(1,0,6),(1,2,2)], None, 'Deku Stick (1)', ("Goron City", "Pots",))), ("GC Darunia Pot 2", ("Pot", 0x62, [(1,0,7),(1,2,3)], None, 'Rupee (1)', ("Goron City", "Pots",))), ("GC Darunia Pot 3", ("Pot", 0x62, [(1,0,8),(1,2,4)], None, 'Deku Stick (1)', ("Goron City", "Pots",))), @@ -614,7 +651,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("GC Upper Staircase Pot 3", ("Pot", 0x62, [(3,0,45),(3,2,12)],None, 'Rupees (5)', ("Goron City", "Pots",))), ("GC Boulder Maze Crate", ("Crate", 0x62, [(0,0,50),(0,2,47)], None, 'Rupee (1)', ("Goron City", "Crates",))), # Goron City Beehives - ("GC Grotto Beehive", ("Beehive", 0x3E, (12,0,0x44 + (0x1B * 2)), None, 'Rupees (20)', ("Goron City", "Grottos", "Beehives",))), + ("GC Grotto Beehive", ("Beehive", 0x3E, (12,0x1B,4), None, 'Rupees (20)', ("Goron City", "Grottos", "Beehives",))), # Death Mountain Crater ("DMC Volcano Freestanding PoH", ("Collectable", 0x61, 0x08, None, 'Piece of Heart', ("Death Mountain Crater", "Freestandings",))), @@ -628,13 +665,13 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("DMC GS Crate", ("GS Token", 0x0F, 0x80, None, 'Gold Skulltula Token', ("Death Mountain Crater", "Gold Skulltulas",))), ("DMC GS Bean Patch", ("GS Token", 0x0F, 0x01, None, 'Gold Skulltula Token', ("Death Mountain Crater", "Gold Skulltulas",))), # Death Mountain Crater Freestanding - ("DMC Adult Green Rupee 1", ("RupeeTower", 0x61, (1,2,0x40),([0x0225E63C], None ), 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), - ("DMC Adult Green Rupee 2", ("RupeeTower", 0x61, (1,2,0x41), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), - ("DMC Adult Green Rupee 3", ("RupeeTower", 0x61, (1,2,0x42), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), - ("DMC Adult Green Rupee 4", ("RupeeTower", 0x61, (1,2,0x43), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), - ("DMC Adult Green Rupee 5", ("RupeeTower", 0x61, (1,2,0x44), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), - ("DMC Adult Green Rupee 6", ("RupeeTower", 0x61, (1,2,0x45), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), - ("DMC Adult Red Rupee", ("RupeeTower", 0x61, (1,2,0x46), None, 'Rupees (20)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Green Rupee 1", ("RupeeTower", 0x61, (1,2,19,1), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Green Rupee 2", ("RupeeTower", 0x61, (1,2,19,2), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Green Rupee 3", ("RupeeTower", 0x61, (1,2,19,3), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Green Rupee 4", ("RupeeTower", 0x61, (1,2,19,4), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Green Rupee 5", ("RupeeTower", 0x61, (1,2,19,5), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Green Rupee 6", ("RupeeTower", 0x61, (1,2,19,6), None, 'Rupee (1)', ("Death Mountain Crater", "Rupee Towers",))), + ("DMC Adult Red Rupee", ("RupeeTower", 0x61, (1,2,19,7), None, 'Rupees (20)', ("Death Mountain Crater", "Rupee Towers",))), ("DMC Child Red Rupee 1", ("Freestanding", 0x61, (1,0,2), None, 'Rupees (20)', ("Death Mountain Crater", "Freestandings",))), ("DMC Child Red Rupee 2", ("Freestanding", 0x61, (1,0,3), None, 'Rupees (20)', ("Death Mountain Crater", "Freestandings",))), ("DMC Child Blue Rupee 1", ("Freestanding", 0x61, (1,0,4), None, 'Rupees (5)', ("Death Mountain Crater", "Freestandings",))), @@ -644,14 +681,14 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("DMC Child Blue Rupee 5", ("Freestanding", 0x61, (1,0,8), None, 'Rupees (5)', ("Death Mountain Crater", "Freestandings",))), ("DMC Child Blue Rupee 6", ("Freestanding", 0x61, (1,0,9), None, 'Rupees (5)', ("Death Mountain Crater", "Freestandings",))), # Death Mountain Crater Pots - ("DMC Near GC Pot 1", ("Pot", 0x61, (1,2,14), None, 'Recovery Heart', ("Death Mountain Crater", "Pots",))), - ("DMC Near GC Pot 2", ("Pot", 0x61, (1,2,15), None, 'Arrows (10)', ("Death Mountain Crater", "Pots",))), - ("DMC Near GC Pot 3", ("Pot", 0x61, (1,2,16), None, 'Rupees (5)', ("Death Mountain Crater", "Pots",))), - ("DMC Near GC Pot 4", ("Pot", 0x61, (1,2,17), None, 'Rupees (5)', ("Death Mountain Crater", "Pots",))), + ("DMC Near GC Pot 1", ("Pot", 0x61, [(1,2,14), (1,0,16)], None, 'Recovery Heart', ("Death Mountain Crater", "Pots",))), + ("DMC Near GC Pot 2", ("Pot", 0x61, [(1,2,15), (1,0,17)], None, 'Arrows (10)', ("Death Mountain Crater", "Pots",))), + ("DMC Near GC Pot 3", ("Pot", 0x61, [(1,2,16), (1,0,18)], None, 'Rupees (5)', ("Death Mountain Crater", "Pots",))), + ("DMC Near GC Pot 4", ("Pot", 0x61, [(1,2,17), (1,0,19)], None, 'Rupees (5)', ("Death Mountain Crater", "Pots",))), # Death mountain Crater Beehives - ("DMC Upper Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x1A * 2)), None, 'Rupees (5)', ("Death Mountain Crater", "Grottos", "Beehives",))), - ("DMC Upper Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x1A * 2)), None, 'Rupees (20)', ("Death Mountain Crater", "Grottos", "Beehives",))), - ("DMC Hammer Grotto Beehive", ("Beehive", 0x3E, (12,0,0x44 + (0x19 * 2)), None, 'Rupees (20)', ("Death Mountain Crater", "Grottos", "Beehives",))), + ("DMC Upper Grotto Beehive 1", ("Beehive", 0x3E, (0,0x1A,8), None, 'Rupees (5)', ("Death Mountain Crater", "Grottos", "Beehives",))), + ("DMC Upper Grotto Beehive 2", ("Beehive", 0x3E, (0,0x1A,9), None, 'Rupees (20)', ("Death Mountain Crater", "Grottos", "Beehives",))), + ("DMC Hammer Grotto Beehive", ("Beehive", 0x3E, (12,0x19,4), None, 'Rupees (20)', ("Death Mountain Crater", "Grottos", "Beehives",))), # Zora's River ("ZR Magic Bean Salesman", ("NPC", 0x54, 0x16, None, 'Buy Magic Bean', ("Zora's River", "NPCs",))), @@ -677,42 +714,42 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("ZR Waterfall Red Rupee 3", ("Freestanding", 0x54, (1,2,4), None, 'Rupees (20)', ("Zora's River", "Freestandings",))), ("ZR Waterfall Red Rupee 4", ("Freestanding", 0x54, (1,2,5), None, 'Rupees (20)', ("Zora's River", "Freestandings",))), # Zora's River Beehives - ("ZR Open Grotto Beehive 1", ("Beehive", 0x3E, (0,0,0x48 + (0x09 * 2)), None, 'Rupees (5)', ("Zora's River", "Grottos", "Beehives",))), - ("ZR Open Grotto Beehive 2", ("Beehive", 0x3E, (0,0,0x49 + (0x09 * 2)), None, 'Rupees (20)', ("Zora's River", "Grottos", "Beehives",))), - ("ZR Storms Grotto Beehive", ("Beehive", 0x3E, (9,0,0x43 + (0x0B * 2)), None, 'Rupees (20)', ("Zora's River", "Grottos", "Beehives",))), + ("ZR Open Grotto Beehive 1", ("Beehive", 0x3E, (0,0x09,8), None, 'Rupees (5)', ("Zora's River", "Grottos", "Beehives",))), + ("ZR Open Grotto Beehive 2", ("Beehive", 0x3E, (0,0x09,9), None, 'Rupees (20)', ("Zora's River", "Grottos", "Beehives",))), + ("ZR Storms Grotto Beehive", ("Beehive", 0x3E, (9,0x0B,3), None, 'Rupees (20)', ("Zora's River", "Grottos", "Beehives",))), # Zora's River Wonderitems - ("ZR Child Front River Wonderitem 1", ("Wonderitem", 0x54, (0,0,17), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child Front River Wonderitem 2", ("Wonderitem", 0x54, (0,0,18), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child Front River Wonderitem 3", ("Wonderitem", 0x54, (0,0,19), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child Front River Wonderitem 4", ("Wonderitem", 0x54, (0,0,20), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 1", ("Wonderitem", 0x54, (1,0,6), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 2", ("Wonderitem", 0x54, (1,0,7), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 3", ("Wonderitem", 0x54, (1,0,8), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 4", ("Wonderitem", 0x54, (1,0,9), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 5", ("Wonderitem", 0x54, (0,0,16), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 6", ("Wonderitem", 0x54, (0,0,21), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 7", ("Wonderitem", 0x54, (0,0,22), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 8", ("Wonderitem", 0x54, (0,0,23), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 9", ("Wonderitem", 0x54, (0,0,24), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 10", ("Wonderitem", 0x54, (0,0,25), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 11", ("Wonderitem", 0x54, (0,0,26), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 12", ("Wonderitem", 0x54, (0,0,27), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 13", ("Wonderitem", 0x54, (0,0,28), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 14", ("Wonderitem", 0x54, (0,0,29), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 15", ("Wonderitem", 0x54, (0,0,30), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 16", ("Wonderitem", 0x54, (0,0,31), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 17", ("Wonderitem", 0x54, (0,0,32), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 18", ("Wonderitem", 0x54, (0,0,33), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 19", ("Wonderitem", 0x54, (0,0,34), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 20", ("Wonderitem", 0x54, (0,0,35), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 21", ("Wonderitem", 0x54, (0,0,36), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 22", ("Wonderitem", 0x54, (0,0,37), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 23", ("Wonderitem", 0x54, (0,0,38), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 24", ("Wonderitem", 0x54, (0,0,39), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 25", ("Wonderitem", 0x54, (0,0,40), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 26", ("Wonderitem", 0x54, (0,0,41), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), - ("ZR Child River Wonderitem 27", ("Wonderitem", 0x54, (0,0,42), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child Front River Wonderitem 1", ("Wonderitem", 0x54, (0,0,17), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child Front River Wonderitem 2", ("Wonderitem", 0x54, (0,0,18), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child Front River Wonderitem 3", ("Wonderitem", 0x54, (0,0,19), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child Front River Wonderitem 4", ("Wonderitem", 0x54, (0,0,20), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 1", ("Wonderitem", 0x54, (1,0,6), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 2", ("Wonderitem", 0x54, (1,0,7), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 3", ("Wonderitem", 0x54, (1,0,8), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 4", ("Wonderitem", 0x54, (1,0,9), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 5", ("Wonderitem", 0x54, (0,0,16), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 6", ("Wonderitem", 0x54, (0,0,21), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 7", ("Wonderitem", 0x54, (0,0,22), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 8", ("Wonderitem", 0x54, (0,0,23), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 9", ("Wonderitem", 0x54, (0,0,24), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 10", ("Wonderitem", 0x54, (0,0,25), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 11", ("Wonderitem", 0x54, (0,0,26), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 12", ("Wonderitem", 0x54, (0,0,27), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 13", ("Wonderitem", 0x54, (0,0,28), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 14", ("Wonderitem", 0x54, (0,0,29), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 15", ("Wonderitem", 0x54, (0,0,30), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 16", ("Wonderitem", 0x54, (0,0,31), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 17", ("Wonderitem", 0x54, (0,0,32), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 18", ("Wonderitem", 0x54, (0,0,33), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 19", ("Wonderitem", 0x54, (0,0,34), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 20", ("Wonderitem", 0x54, (0,0,35), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 21", ("Wonderitem", 0x54, (0,0,36), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 22", ("Wonderitem", 0x54, (0,0,37), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 23", ("Wonderitem", 0x54, (0,0,38), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 24", ("Wonderitem", 0x54, (0,0,39), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 25", ("Wonderitem", 0x54, (0,0,40), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 26", ("Wonderitem", 0x54, (0,0,41), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), + ("ZR Child River Wonderitem 27", ("Wonderitem", 0x54, (0,0,42), None, 'Rupees (5)', ("Zora's River", "Wonderitem"))), # Zora's Domain ("ZD Diving Minigame", ("NPC", 0x58, 0x37, None, 'Progressive Scale', ("Zora's Domain", "Minigames",))), @@ -799,7 +836,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("LH Lab Dive Red Rupee 2", ("Freestanding", 0x38, (0,0,3), None, 'Rupees (20)', ("Lake Hylia", "Freestandings",))), ("LH Lab Dive Red Rupee 3", ("Freestanding", 0x38, (0,0,4), None, 'Rupees (20)', ("Lake Hylia", "Freestandings",))), # Lake Hylia Beehives - ("LH Grotto Beehive", ("Beehive", 0x3E, (12,0,0x44 + (0x0F * 2)), None, 'Rupees (20)', ("Lake Hylia", "Grottos", "Beehives",))), + ("LH Grotto Beehive", ("Beehive", 0x3E, (12,0x0F,4), None, 'Rupees (20)', ("Lake Hylia", "Grottos", "Beehives",))), # Gerudo Valley ("GV Crate Freestanding PoH", ("Collectable", 0x5A, 0x02, None, 'Piece of Heart', ("Gerudo Valley", "Freestandings",))), @@ -814,19 +851,19 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("GV GS Behind Tent", ("GS Token", 0x13, 0x08, None, 'Gold Skulltula Token', ("Gerudo Valley", "Gold Skulltulas",))), ("GV GS Pillar", ("GS Token", 0x13, 0x04, None, 'Gold Skulltula Token', ("Gerudo Valley", "Gold Skulltulas",))), # Gerudo Valley Freestanding - ("GV Octorok Grotto Red Rupee", ("Freestanding", 0x3E, (5,0,9), None, 'Rupees (20)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Blue Rupee 1", ("Freestanding", 0x3E, (5,0,2), None, 'Rupees (5)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Blue Rupee 2", ("Freestanding", 0x3E, (5,0,3), None, 'Rupees (5)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Blue Rupee 3", ("Freestanding", 0x3E, (5,0,4), None, 'Rupees (5)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Green Rupee 1", ("Freestanding", 0x3E, (5,0,5), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Green Rupee 2", ("Freestanding", 0x3E, (5,0,6), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Green Rupee 3", ("Freestanding", 0x3E, (5,0,7), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), - ("GV Octorok Grotto Green Rupee 4", ("Freestanding", 0x3E, (5,0,8), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Red Rupee", ("Freestanding", 0x3E, (5,0x12,9), None, 'Rupees (20)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Blue Rupee 1", ("Freestanding", 0x3E, (5,0x12,2), None, 'Rupees (5)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Blue Rupee 2", ("Freestanding", 0x3E, (5,0x12,3), None, 'Rupees (5)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Blue Rupee 3", ("Freestanding", 0x3E, (5,0x12,4), None, 'Rupees (5)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Green Rupee 1", ("Freestanding", 0x3E, (5,0x12,5), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Green Rupee 2", ("Freestanding", 0x3E, (5,0x12,6), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Green Rupee 3", ("Freestanding", 0x3E, (5,0x12,7), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), + ("GV Octorok Grotto Green Rupee 4", ("Freestanding", 0x3E, (5,0x12,8), None, 'Rupee (1)', ("Gerudo Valley", "Grottos", "Freestandings",))), # Gerudo Valley Pots/Crates ("GV Crate Near Cow", ("Crate", 0x5A, (0,0,38), None, 'Rupee (1)', ("Gerudo Valley", "Crates",))), ("GV Freestanding PoH Crate", ("Crate", 0x5A, [(0,2,31),(0,0,39)], None, 'Rupee (1)', ("Gerudo Valley", "Crates",))), # Gerudo Valley Beehives - ("GV Storms Grotto Beehive", ("Beehive", 0x3E, (9,0,0x43 + (0x10 * 2)), None, 'Rupees (20)', ("Gerudo Valley", "Grottos", "Beehives",))), + ("GV Storms Grotto Beehive", ("Beehive", 0x3E, (9,0x10,3), None, 'Rupees (20)', ("Gerudo Valley", "Grottos", "Beehives",))), # Gerudo Valley Wonderitems ("GV Adult Upper Waterfall Wonderitem", ("Wonderitem", 0x5A, (0,2,41), None, 'Rupees (20)', ("Gerudo Valley", "Wonderitem"))), @@ -835,12 +872,32 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Gerudo's Fortress ("GF Chest", ("Chest", 0x5D, 0x00, None, 'Piece of Heart', ("Gerudo's Fortress", "Chests",))), + ("GF Freestanding PoH", ("Collectable", 0x5D, 0x01, None, 'Piece of Heart (Out of Logic)', ("Gerudo's Fortress", "Freestandings",))), ("GF HBA 1000 Points", ("NPC", 0x5D, 0x3E, None, 'Piece of Heart', ("Gerudo's Fortress", "Minigames",))), ("GF HBA 1500 Points", ("NPC", 0x5D, 0x30, None, 'Bow', ("Gerudo's Fortress", "Minigames",))), ("GF GS Top Floor", ("GS Token", 0x14, 0x02, None, 'Gold Skulltula Token', ("Gerudo's Fortress", "Gold Skulltulas",))), ("GF GS Archery Range", ("GS Token", 0x14, 0x01, None, 'Gold Skulltula Token', ("Gerudo's Fortress", "Gold Skulltulas",))), # Gerudo's Fortress Crates/Pots + ("GF Crate 1", ("Crate", 0x5D, [(0,2,13),(0,3,13),(0,0,15)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF Crate 2", ("Crate", 0x5D, [(0,2,14),(0,3,14),(0,0,16)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF Crate 3", ("Crate", 0x5D, [(0,2,15),(0,3,15),(0,0,17)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF Crate 4", ("Crate", 0x5D, [(0,2,16),(0,3,16),(0,0,18)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF Crate 5", ("Crate", 0x5D, [(0,2,17),(0,3,17),(0,0,21)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF Crate 6", ("Crate", 0x5D, [(0,2,18),(0,3,18),(0,0,20)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), ("GF Above Jail Crate", ("Crate", 0x5D, [(0,2,19),(0,3,19)], None, 'Rupees (50)', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 1", ("Crate", 0x5D, [(1,3,2),(1,2,9),(1,0,1)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 2", ("Crate", 0x5D, [(1,3,3),(1,2,10),(1,0,2)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 3", ("Crate", 0x5D, [(1,3,4),(1,2,11),(1,0,3)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 4", ("Crate", 0x5D, [(1,3,5),(1,2,12),(1,0,14)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 5", ("Crate", 0x5D, [(1,3,6),(1,2,13),(1,0,5)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 6", ("Crate", 0x5D, [(1,3,7),(1,2,14),(1,0,6)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 7", ("Crate", 0x5D, [(1,3,8),(1,2,15),(1,0,7)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 8", ("Crate", 0x5D, [(1,3,9),(1,2,16),(1,0,8)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 9", ("Crate", 0x5D, [(1,3,10),(1,2,17),(1,0,9)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 10", ("Crate", 0x5D, [(1,3,11),(1,2,18),(1,0,10)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 11", ("Crate", 0x5D, [(1,3,12),(1,2,19),(1,0,11)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 12", ("Crate", 0x5D, [(1,3,13),(1,2,20),(1,0,12)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), + ("GF HBA Crate 13", ("Crate", 0x5D, [(1,3,14),(1,2,21),(1,0,13)], None, 'Nothing', ("Gerudo's Fortress", "Crates",))), # Gerudo's Fortress Wonderitems ("GF Sign Wonderitem Near Entrance", ("Wonderitem", 0x5D, [(0,2,6),(0,3,6)], None, 'Rupees (20)', ("Gerudo's Fortress", "Wonderitem"))), ("GF Sign Wonderitem Near HBA", ("Wonderitem", 0x5D, [(0,2,7),(0,3,7)], None, 'Rupees (20)', ("Gerudo's Fortress", "Wonderitem"))), @@ -883,18 +940,18 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Hideout 2 Torch Jail Crate 2", ("Crate", 0x0C, (5,0,17), None, 'Rupee (1)', ("Thieves' Hideout", "Crates",))), # Thieves Hideout Wonderitems - ("Hideout Break Room Wonderitem", ("Wonderitem", 0x0C, (0,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout Break Room Hall to Balcony Wonderitem", ("Wonderitem", 0x0C, (0,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 3 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (1,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 3 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (1,0,5), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 1 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (2,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 1 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (2,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout Kitchen Stove Wonderitem", ("Wonderitem", 0x0C, (3,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout Kitchen Wonderitem", ("Wonderitem", 0x0C, (3,0,5), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 4 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (4,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 4 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (4,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 2 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (5,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), - ("Hideout 2 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (5,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout Break Room Wonderitem", ("Wonderitem", 0x0C, (0,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout Break Room Hall to Balcony Wonderitem", ("Wonderitem", 0x0C, (0,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 3 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (1,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 3 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (1,0,5), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 1 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (2,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 1 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (2,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout Kitchen Stove Wonderitem", ("Wonderitem", 0x0C, (3,0,5), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout Kitchen Wonderitem", ("Wonderitem", 0x0C, (3,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 4 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (4,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 4 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (4,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 2 Torch Jail Wonderitem 1", ("Wonderitem", 0x0C, (5,0,3), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), + ("Hideout 2 Torch Jail Wonderitem 2", ("Wonderitem", 0x0C, (5,0,4), None, 'Rupees (5)', ("Thieves' Hideout", "Wonderitem"))), # Haunted Wasteland ("Wasteland Bombchu Salesman", ("NPC", 0x5E, 0x03, None, 'Bombchus (10)', ("Haunted Wasteland", "NPCs",))), @@ -903,8 +960,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Haunted Wasteland Pots/Crates ("Wasteland Near GS Pot 1", ("Pot", 0x5E, (0,0,1), None, 'Recovery Heart', ("Haunted Wasteland", "Pots",))), ("Wasteland Near GS Pot 2", ("Pot", 0x5E, (0,0,2), None, 'Deku Nuts (5)', ("Haunted Wasteland", "Pots",))), - #("Wasteland Near GS Pot 3", ("Pot", 0x5E, (0,0,3), None, 'Rupees (5)', ("Haunted Wasteland", "Pots",))), Fairy - ("Wasteland Near GS Pot 3", ("Pot", 0x5E, (0,0,4), None, 'Rupees (5)', ("Haunted Wasteland", "Pots",))), + ("Wasteland Near GS Pot 3", ("Pot", 0x5E, (0,0,3), None, 'Fairy Drop', ("Haunted Wasteland", "Pots",))), + ("Wasteland Near GS Pot 4", ("Pot", 0x5E, (0,0,4), None, 'Rupees (5)', ("Haunted Wasteland", "Pots",))), ("Wasteland Crate Before Quicksand", ("Crate", 0x5E, (1,0,38),None, 'Rupee (1)', ("Haunted Wasteland", "Crates",))), ("Wasteland Crate After Quicksand 1", ("Crate", 0x5E, (1,0,35),None, 'Rupee (1)', ("Haunted Wasteland", "Crates",))), ("Wasteland Crate After Quicksand 2", ("Crate", 0x5E, (1,0,36),None, 'Rupee (1)', ("Haunted Wasteland", "Crates",))), @@ -919,15 +976,15 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Colossus GS Bean Patch", ("GS Token", 0x15, 0x01, None, 'Gold Skulltula Token', ("Desert Colossus", "Gold Skulltulas",))), ("Colossus GS Tree", ("GS Token", 0x15, 0x08, None, 'Gold Skulltula Token', ("Desert Colossus", "Gold Skulltulas",))), ("Colossus GS Hill", ("GS Token", 0x15, 0x04, None, 'Gold Skulltula Token', ("Desert Colossus", "Gold Skulltulas",))), - # Desert Colossus Beehives - ("Colossus Grotto Beehive", ("Beehive", 0x3E, (9,0,0x43 + (0x1D * 2)), None, 'Rupees (20)', ("Desert Colossus", "Grottos", "Beehives",))), + # Colossus Beehives + ("Colossus Grotto Beehive", ("Beehive", 0x3E, (9,0x1D,3), None, 'Rupees (20)', ("Desert Colossus", "Grottos", "Beehives",))), # Colossus Wonderitems - ("Colossus Tree Wonderitem 1", ("Wonderitem", 0x5C, [(0,0,20),(0,2,23)], None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), - ("Colossus Tree Wonderitem 2", ("Wonderitem", 0x5C, [(0,0,22),(0,2,24)], None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), - ("Colossus Tree Wonderitem 3 Child", ("Wonderitem", 0x5C, (0,0,23), None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), - ("Colossus Tree Wonderitem 4", ("Wonderitem", 0x5C, [(0,0,21),(0,2,25)], None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), - ("Colossus Tree Wonderitem 5", ("Wonderitem", 0x5C, [(0,0,24),(0,2,26)], None, 'Rupees (20)', ("Desert Colossus", "Wonderitem"))), + ("Colossus Tree Wonderitem 1", ("Wonderitem", 0x5C, [(0,0,20),(0,2,23)], None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), + ("Colossus Tree Wonderitem 2", ("Wonderitem", 0x5C, [(0,0,22),(0,2,24)], None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), + ("Colossus Tree Wonderitem 3 Child", ("Wonderitem", 0x5C, (0,0,23), None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), + ("Colossus Tree Wonderitem 4", ("Wonderitem", 0x5C, [(0,0,21),(0,2,25)], None, 'Rupees (5)', ("Desert Colossus", "Wonderitem"))), + ("Colossus Tree Wonderitem 5", ("Wonderitem", 0x5C, [(0,0,24),(0,2,26)], None, 'Rupees (20)', ("Desert Colossus", "Wonderitem"))), # Outside Ganon's Castle ("OGC Great Fairy Reward", ("Cutscene", 0xFF, 0x15, None, 'Double Defense', ("Outside Ganon's Castle", "Great Fairies",))), @@ -1028,7 +1085,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Dodongos Cavern Last Block Pot 1", ("Pot", 0x01, (7,0,7), None, 'Bombs (5)', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), ("Dodongos Cavern Last Block Pot 2", ("Pot", 0x01, (7,0,8), None, 'Recovery Heart', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), ("Dodongos Cavern Last Block Pot 3", ("Pot", 0x01, (8,0,7), None, 'Deku Seeds (30)', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), - #("Dodongos Cavern Last Block Pot 4", ("Pot", 0x01, 0x21, None, 'Rupee (1)', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), + ("Dodongos Cavern Last Block Pot 4", ("Pot", 0x01, (8,0,8), None, 'Fairy Drop', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), ("Dodongos Cavern Blade Room Pot 1", ("Pot", 0x01, (9,0,15), None, 'Recovery Heart', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), ("Dodongos Cavern Blade Room Pot 2", ("Pot", 0x01, (9,0,16), None, 'Recovery Heart', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), ("Dodongos Cavern Single Eye Switch Room Pot 1", ("Pot", 0x01, (10,0,7), None, 'Recovery Heart', ("Dodongo's Cavern", "Vanilla Dungeons", "Pots",))), @@ -1073,7 +1130,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Dodongos Cavern MQ Poes Room Pot 4", ("Pot", 0x01, (4,0,9), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), ("Dodongos Cavern MQ Room Before Boss Pot 1", ("Pot", 0x01, (7,0,7), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), ("Dodongos Cavern MQ Room Before Boss Pot 2", ("Pot", 0x01, (7,0,8), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), - ("Dodongos Cavern MQ Armos Army Room Upper Pot", ("Pot", 0x01, (8,0,20), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), + ("Dodongos Cavern MQ Armos Army Room Upper Pot 1", ("Pot", 0x01, (8,0,20), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), + ("Dodongos Cavern MQ Armos Army Room Upper Pot 2", ("Pot", 0x01, (8,0,21), None, 'Fairy Drop', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), ("Dodongos Cavern MQ Armos Army Room Pot 1", ("Pot", 0x01, (8,0,22), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), ("Dodongos Cavern MQ Armos Army Room Pot 2", ("Pot", 0x01, (8,0,23), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), ("Dodongos Cavern MQ Torch Puzzle Room Pot Pillar", ("Pot", 0x01, (9,0,12), None, 'Rupees (5)', ("Dodongo's Cavern MQ", "Master Quest", "Pots",))), @@ -1129,18 +1187,19 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Jabu Jabus Belly GS Lobby Basement Upper", ("GS Token", 0x02, 0x02, None, 'Gold Skulltula Token', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Gold Skulltulas",))), ("Jabu Jabus Belly GS Near Boss", ("GS Token", 0x02, 0x04, None, 'Gold Skulltula Token', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Gold Skulltulas",))), # Jabu Jabu's Belly Vanilla Pots - #("Jabu Jabus Belly Above Big Octo Pot X", ("Pot", 0x02, 0x28, None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), - ("Jabu Jabus Belly Above Big Octo Pot 1", ("Pot", 0x02, (6,0,8), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), - ("Jabu Jabus Belly Above Big Octo Pot 2", ("Pot", 0x02, (6,0,9), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), - #("Jabu Jabus Belly DLC Pot X", ("Pot", 0x02, 0x20, None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), + ("Jabu Jabus Belly Above Big Octo Pot 1", ("Pot", 0x02, (6,0,7), None, 'Fairy Drop', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), + ("Jabu Jabus Belly Above Big Octo Pot 2", ("Pot", 0x02, (6,0,8), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), + ("Jabu Jabus Belly Above Big Octo Pot 3", ("Pot", 0x02, (6,0,9), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), + ("Jabu Jabus Belly Basement 2 Octoroks Pot 5", ("Pot", 0x02, (13,0,4), None, 'Fairy Drop', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), ("Jabu Jabus Belly Basement 2 Octoroks Pot 1", ("Pot", 0x02, (13,0,5), None, 'Rupees (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), ("Jabu Jabus Belly Basement 2 Octoroks Pot 2", ("Pot", 0x02, (13,0,6), None, 'Rupees (20)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), ("Jabu Jabus Belly Basement 2 Octoroks Pot 3", ("Pot", 0x02, (13,0,7), None, 'Rupees (20)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), ("Jabu Jabus Belly Basement 2 Octoroks Pot 4", ("Pot", 0x02, (13,0,8), None, 'Rupees (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), ("Jabu Jabus Belly Basement Switch Room Pot 1", ("Pot", 0x02, (14,0,8), None, 'Deku Seeds (30)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), - #("Jabu Jabus Belly Basement Switch Room Pot X", ("Pot", 0x02, (14,0,9), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), - ("Jabu Jabus Belly Basement Switch Room Pot 2", ("Pot", 0x02, (14,0,10), None, 'Deku Seeds (30)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), - ("Jabu Jabus Belly Small Wooden Crate", ("SmallCrate", 0x02, (1,0,8), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Small Crates",))), + ("Jabu Jabus Belly Basement Switch Room Pot 2", ("Pot", 0x02, (14,0,9), None, 'Fairy Drop', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), + ("Jabu Jabus Belly Basement Switch Room Pot 3", ("Pot", 0x02, (14,0,10), None, 'Deku Seeds (30)', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Pots",))), + ("Jabu Jabus Belly Small Wooden Crate 1", ("SmallCrate", 0x02, (1,0,7), None, 'Nothing', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Small Crates",))), + ("Jabu Jabus Belly Small Wooden Crate 2", ("SmallCrate", 0x02, (1,0,8), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Vanilla Dungeons", "Small Crates",))), # Jabu Jabu's Belly MQ ("Jabu Jabus Belly MQ Map Chest", ("Chest", 0x02, 0x03, None, 'Map (Jabu Jabus Belly)', ("Jabu Jabu's Belly MQ", "Master Quest", "Chests",))), @@ -1165,12 +1224,16 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Jabu Jabus Belly MQ Underwater Green Rupee 3", ("Freestanding", 0x02, (1,0,3), None, 'Rupee (1)', ("Jabu Jabu's Belly MQ", "Master Quest", "Freestandings",))), ("Jabu Jabus Belly MQ Recovery Heart 1", ("Freestanding", 0x02, (1,0,9), None, 'Recovery Heart', ("Jabu Jabu's Belly MQ", "Master Quest", "Freestandings",))), ("Jabu Jabus Belly MQ Recovery Heart 2", ("Freestanding", 0x02, (1,0,10), None, 'Recovery Heart', ("Jabu Jabu's Belly MQ", "Master Quest", "Freestandings",))), - # Jabu Jabu's Belly MQ Pots + # Jabu Jabu's Belly MQ Pots/Crates ("Jabu Jabus Belly MQ First Room Pot 1", ("Pot", 0x02, (0,0,16), None, 'Bombs (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), ("Jabu Jabus Belly MQ First Room Pot 2", ("Pot", 0x02, (0,0,17), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), ("Jabu Jabus Belly MQ Elevator Room Pot 1", ("Pot", 0x02, (1,0,22), None, 'Arrows (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), ("Jabu Jabus Belly MQ Elevator Room Pot 2", ("Pot", 0x02, (1,0,23), None, 'Deku Nuts (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), - #("Jabu Jabus Belly MQ Near Boss Pot", ("Pot", 0x02, 0x31, None, 'N/A', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), + ("Jabu Jabus Belly MQ Small Crate Near Cow 1", ("SmallCrate", 0x02, (4,0,12), None, 'Nothing', ("Jabu Jabu's Belly MQ", "Master Quest", "Small Crates",))), + ("Jabu Jabus Belly MQ Small Crate Near Cow 2", ("SmallCrate", 0x02, (4,0,13), None, 'Nothing', ("Jabu Jabu's Belly MQ", "Master Quest", "Small Crates",))), + ("Jabu Jabus Belly MQ Near Boss Pot", ("Pot", 0x02, (5,0,14), None, 'Fairy Drop', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), + ("Jabu Jabus Belly MQ Hallway Small Crate 1", ("SmallCrate", 0x02, (7,0,6), None, 'Nothing', ("Jabu Jabu's Belly MQ", "Master Quest", "Small Crates",))), + ("Jabu Jabus Belly MQ Hallway Small Crate 2", ("SmallCrate", 0x02, (7,0,7), None, 'Nothing', ("Jabu Jabu's Belly MQ", "Master Quest", "Small Crates",))), ("Jabu Jabus Belly MQ Falling Like Like Room Pot 1", ("Pot", 0x02, (11,0,27), None, 'Arrows (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), ("Jabu Jabus Belly MQ Falling Like Like Room Pot 2", ("Pot", 0x02, (11,0,31), None, 'Bombs (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), ("Jabu Jabus Belly MQ Boomerang Room Pot 1", ("Pot", 0x02, (14,0,11), None, 'Bombs (5)', ("Jabu Jabu's Belly MQ", "Master Quest", "Pots",))), @@ -1179,7 +1242,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Jabu Jabus Belly MQ Entryway Left Cow Wonderitem", ("Wonderitem", 0x02, (0,0,15), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Entryway Right Cow Wonderitem", ("Wonderitem", 0x02, (0,0,14), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Elevator Room Cow Wonderitem", ("Wonderitem", 0x02, (1,0,20), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - #("Jabu Jabus Belly MQ Pit Room Cow Wonderitem", ("Wonderitem", 0x02, (2,0,14), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + #("Jabu Jabus Belly MQ Pit Room Cow Wonderitem", ("Wonderitem", 0x02, (2,0,14), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Basement Right Cow Wonderitem 1", ("Wonderitem", 0x02, (3,0,14), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Basement Right Cow Wonderitem 2", ("Wonderitem", 0x02, (3,0,15), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Basement Right Cow Wonderitem 3", ("Wonderitem", 0x02, (3,0,16), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), @@ -1190,13 +1253,16 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Jabu Jabus Belly MQ Before Boss Right Cow Wonderitem 1", ("Wonderitem", 0x02, (5,0,10), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Before Boss Right Cow Wonderitem 2", ("Wonderitem", 0x02, (5,0,11), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), ("Jabu Jabus Belly MQ Before Boss Left Cow Wonderitem", ("Wonderitem", 0x02, (5,0,12), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ After Big Octo Cow Wonderitem", ("Wonderitem", 0x02, (6,0,8), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 1", ("Wonderitem",0x02,(11,0,20), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 2", ("Wonderitem",0x02,(11,0,21), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 3", ("Wonderitem",0x02,(11,0,22), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 1", ("Wonderitem",0x02, (11,0,23), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 2", ("Wonderitem",0x02, (11,0,24), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), - ("Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 3", ("Wonderitem",0x02, (11,0,25), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ After Big Octo Cow Wonderitem", ("Wonderitem", 0x02, (6,0,8), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 1", ("Wonderitem",0x02,(11,0,20), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 2", ("Wonderitem",0x02,(11,0,21), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 3", ("Wonderitem",0x02,(11,0,22), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 1", ("Wonderitem",0x02, (11,0,23), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 2", ("Wonderitem",0x02, (11,0,24), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 3", ("Wonderitem",0x02, (11,0,25), None, 'Recovery Heart', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Explosives Wonderitem 1", ("Wonderitem",0x02, (11,0,28), None, 'Fairy Drop', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Explosives Wonderitem 2", ("Wonderitem",0x02, (11,0,29), None, 'Fairy Drop', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), + ("Jabu Jabus Belly MQ Falling Like-Like Room Explosives Wonderitem 3", ("Wonderitem",0x02, (11,0,30), None, 'Fairy Drop', ("Jabu Jabu's Belly", "Master Quest", "Wonderitem"))), # Jabu Jabu's Belly Shared @@ -1285,7 +1351,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Bottom of the Well MQ Center Room Right Pot 1", ("Pot", 0x08, (0,0,41), None, 'Recovery Heart', ("Bottom of the Well MQ", "Master Quest", "Pots",))), ("Bottom of the Well MQ Center Room Right Pot 2", ("Pot", 0x08, (0,0,43), None, 'Arrows (10)', ("Bottom of the Well MQ", "Master Quest", "Pots",))), ("Bottom of the Well MQ Center Room Right Pot 3", ("Pot", 0x08, (0,0,45), None, 'Bombs (5)', ("Bottom of the Well MQ", "Master Quest", "Pots",))), - #("Bottom of the Well MQ Perimeter Behind Gate Pot", ("Pot", 0x08, 0x2A, None, 'N/A', ("Bottom of the Well MQ", "Master Quest", "Pots",))), + ("Bottom of the Well MQ Perimeter Behind Gate Pot", ("Pot", 0x08, (0,0,47), None, 'Fairy Drop', ("Bottom of the Well MQ", "Master Quest", "Pots",))), ("Bottom of the Well MQ East Inner Room Pot 1", ("Pot", 0x08, (5,0,7), None, 'Recovery Heart', ("Bottom of the Well MQ", "Master Quest", "Pots",))), ("Bottom of the Well MQ East Inner Room Pot 2", ("Pot", 0x08, (5,0,8), None, 'Recovery Heart', ("Bottom of the Well MQ", "Master Quest", "Pots",))), ("Bottom of the Well MQ East Inner Room Pot 3", ("Pot", 0x08, (5,0,9), None, 'Recovery Heart', ("Bottom of the Well MQ", "Master Quest", "Pots",))), @@ -1293,16 +1359,16 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Bottom of the Well MQ Wonderitems ("Bottom of the Well MQ Main Area Left Slingshot Wonderitem 1", ("Wonderitem", 0x08, (0,0,6), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), ("Bottom of the Well MQ Main Area Left Slingshot Wonderitem 2", ("Wonderitem", 0x08, (0,0,7), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ Main Area Left Slingshot Wonderitem 3", ("Wonderitem", 0x08, (0,0,9), None, 'Deku Seeds (30)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ Main Area Left Slingshot Wonderitem 4", ("Wonderitem", 0x08, (0,0,11), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ Main Area Left Slingshot Wonderitem 3", ("Wonderitem", 0x08, (0,0,9), None, 'Deku Seeds (30)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ Main Area Left Slingshot Wonderitem 4", ("Wonderitem", 0x08, (0,0,11), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), ("Bottom of the Well MQ Main Area Right Slingshot Wonderitem 1", ("Wonderitem", 0x08, (0,0,8), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), ("Bottom of the Well MQ Main Area Right Slingshot Wonderitem 2", ("Wonderitem", 0x08, (0,0,10), None, 'Deku Seeds (30)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ Main Area Right Slingshot Wonderitem 3", ("Wonderitem", 0x08, (0,0,12), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ Main Area Right Slingshot Wonderitem 4", ("Wonderitem", 0x08, (0,0,13), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 1", ("Wonderitem", 0x08, (5,0,1), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 2", ("Wonderitem", 0x08, (5,0,2), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 3", ("Wonderitem", 0x08, (5,0,3), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), - ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 4", ("Wonderitem", 0x08, (5,0,4), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ Main Area Right Slingshot Wonderitem 3", ("Wonderitem", 0x08, (0,0,12), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ Main Area Right Slingshot Wonderitem 4", ("Wonderitem", 0x08, (0,0,13), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 1", ("Wonderitem", 0x08, (5,0,1), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 2", ("Wonderitem", 0x08, (5,0,2), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 3", ("Wonderitem", 0x08, (5,0,3), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), + ("Bottom of the Well MQ East Inner Room Slingshot Wonderitem 4", ("Wonderitem", 0x08, (5,0,4), None, 'Rupees (20)', ("Bottom of the Well", "Master Quest", "Wonderitem"))), # Forest Temple Vanilla ("Forest Temple First Room Chest", ("Chest", 0x03, 0x03, None, 'Small Key (Forest Temple)', ("Forest Temple", "Vanilla Dungeons", "Chests",))), @@ -1335,8 +1401,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Forest Temple Center Room Left Pot 1", ("Pot", 0x03, (2,0,17), None, 'Arrows (10)', ("Forest Temple", "Vanilla Dungeons", "Pots",))), ("Forest Temple Center Room Left Pot 2", ("Pot", 0x03, (2,0,13), None, 'Rupees (5)', ("Forest Temple", "Vanilla Dungeons", "Pots",))), ("Forest Temple Center Room Left Pot 3", ("Pot", 0x03, (2,0,15), None, 'Recovery Heart', ("Forest Temple", "Vanilla Dungeons", "Pots",))), - ("Forest Temple Lower Stalfos Pot", ("Pot", 0x03, (6,0,6), None, 'Recovery Heart', ("Forest Temple", "Vanilla Dungeons", "Pots",))), - #("Forest Temple Lower Stalfos Pot 2", ("Pot", 0x03, (6,0,7), None, 'Rupees (20)', ("Forest Temple", "Vanilla Dungeons", "Pots",))), + ("Forest Temple Lower Stalfos Pot 1", ("Pot", 0x03, (6,0,6), None, 'Recovery Heart', ("Forest Temple", "Vanilla Dungeons", "Pots",))), + ("Forest Temple Lower Stalfos Pot 2", ("Pot", 0x03, (6,0,7), None, 'Fairy Drop', ("Forest Temple", "Vanilla Dungeons", "Pots",))), ("Forest Temple Upper Stalfos Pot 1", ("Pot", 0x03, (6,0,8), None, 'Recovery Heart', ("Forest Temple", "Vanilla Dungeons", "Pots",))), ("Forest Temple Upper Stalfos Pot 2", ("Pot", 0x03, (6,0,9), None, 'Recovery Heart', ("Forest Temple", "Vanilla Dungeons", "Pots",))), ("Forest Temple Upper Stalfos Pot 3", ("Pot", 0x03, (6,0,10), None, 'Recovery Heart', ("Forest Temple", "Vanilla Dungeons", "Pots",))), @@ -1381,8 +1447,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Forest Temple MQ Center Room Left Pot 1", ("Pot", 0x03, (2,0,11), None, 'Rupees (5)', ("Forest Temple MQ", "Master Quest", "Pots",))), ("Forest Temple MQ Center Room Left Pot 2", ("Pot", 0x03, (2,0,13), None, 'Recovery Heart', ("Forest Temple MQ", "Master Quest", "Pots",))), ("Forest Temple MQ Center Room Left Pot 3", ("Pot", 0x03, (2,0,15), None, 'Arrows (10)', ("Forest Temple MQ", "Master Quest", "Pots",))), - ("Forest Temple MQ Wolfos Room Pot", ("Pot", 0x03, (6,0,7), None, 'Recovery Heart', ("Forest Temple MQ", "Master Quest", "Pots",))), - #("Forest Temple MQ Wolfos Room Pot 2", ("Pot", 0x03, (6,0,8), None, 'N/A', ("Forest Temple MQ", "Master Quest", "Pots",))), + ("Forest Temple MQ Wolfos Room Pot 1", ("Pot", 0x03, (6,0,7), None, 'Recovery Heart', ("Forest Temple MQ", "Master Quest", "Pots",))), + ("Forest Temple MQ Wolfos Room Pot 2", ("Pot", 0x03, (6,0,8), None, 'Fairy Drop', ("Forest Temple MQ", "Master Quest", "Pots",))), ("Forest Temple MQ Upper Stalfos Pot 1", ("Pot", 0x03, (6,0,9), None, 'Recovery Heart', ("Forest Temple MQ", "Master Quest", "Pots",))), ("Forest Temple MQ Upper Stalfos Pot 2", ("Pot", 0x03, (6,0,10), None, 'Recovery Heart', ("Forest Temple MQ", "Master Quest", "Pots",))), ("Forest Temple MQ Upper Stalfos Pot 3", ("Pot", 0x03, (6,0,11), None, 'Recovery Heart', ("Forest Temple MQ", "Master Quest", "Pots",))), @@ -1433,12 +1499,14 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Fire Temple Moving Fire Room Recovery Heart 1", ("Freestanding", 0x04, (16,0,8), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Freestandings",))), ("Fire Temple Moving Fire Room Recovery Heart 2", ("Freestanding", 0x04, (16,0,9), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Freestandings",))), ("Fire Temple Moving Fire Room Recovery Heart 3", ("Freestanding", 0x04, (16,0,10), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Freestandings",))), - # Fire Temple Vanilla Pots + # Fire Temple Vanilla Pots/Crates ("Fire Temple Big Lava Room Pot 1", ("Pot", 0x04, (1,0,27), None, 'Arrows (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Big Lava Room Pot 2", ("Pot", 0x04, (1,0,28), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Big Lava Room Pot 3", ("Pot", 0x04, (1,0,29), None, 'Arrows (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), - ("Fire Temple Near Boss Pot 1", ("Pot", 0x04, (2,0,10), None, 'Bombs (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), - ("Fire Temple Near Boss Pot 2", ("Pot", 0x04, (2,0,11), None, 'Bombs (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), + ("Fire Temple Near Boss Pot 1", ("Pot", 0x04, (2,0,9), None, 'Fairy Drop', ("Fire Temple", "Vanilla Dungeons", "Pots",))), + ("Fire Temple Near Boss Pot 2", ("Pot", 0x04, (2,0,10), None, 'Bombs (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), + ("Fire Temple Near Boss Pot 3", ("Pot", 0x04, (2,0,11), None, 'Bombs (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), + ("Fire Temple Near Boss Pot 4", ("Pot", 0x04, (2,0,12), None, 'Fairy Drop', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Flame Maze Right Side Pot 1", ("Pot", 0x04, (10,0,52), None, 'Bombs (10)', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Flame Maze Right Side Pot 2", ("Pot", 0x04, (10,0,53), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Flame Maze Right Side Pot 3", ("Pot", 0x04, (10,0,54), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Pots",))), @@ -1447,6 +1515,9 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Fire Temple Flame Maze Left Side Pot 2", ("Pot", 0x04, (10,0,57), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Flame Maze Left Side Pot 3", ("Pot", 0x04, (10,0,58), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Pots",))), ("Fire Temple Flame Maze Left Side Pot 4", ("Pot", 0x04, (10,0,59), None, 'Recovery Heart', ("Fire Temple", "Vanilla Dungeons", "Pots",))), + ("Fire Temple Hammer Staircase Small Wooden Crate 1", ("SmallCrate", 0x04, (14,0,3), None, 'Nothing', ("Fire Temple", "Vanilla Dungeons", "Small Crates",))), + ("Fire Temple Hammer Staircase Small Wooden Crate 2", ("SmallCrate", 0x04, (14,0,4), None, 'Nothing', ("Fire Temple", "Vanilla Dungeons", "Small Crates",))), + # Fire Temple MQ ("Fire Temple MQ Map Room Side Chest", ("Chest", 0x04, 0x02, None, 'Hylian Shield', ("Fire Temple MQ", "Master Quest", "Chests",))), @@ -1480,12 +1551,12 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Fire Temple MQ Near Boss Pot 2", ("Pot", 0x04, (2,0,10), None, 'Arrows (30)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Narrow Path Room Pot 1", ("Pot", 0x04, (6,0,3), None, 'Arrows (10)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Narrow Path Room Pot 2", ("Pot", 0x04, (6,0,4), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Narrow Path Room Pot 3", ("Pot", 0x04, (6,0,2), None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Narrow Path Room Pot 3", ("Pot", 0x04, (6,0,2), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Flame Maze Right Upper Pot 1", ("Pot", 0x04, (10,0,48), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Flame Maze Right Upper Pot 2", ("Pot", 0x04, (10,0,49), None, 'Recovery Heart', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Flame Maze Right Pot 1", ("Pot", 0x04, (10,0,50), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Flame Maze Right Pot 2", ("Pot", 0x04, (10,0,51), None, 'Recovery Heart', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Flame Maze Left Pot 2", ("Pot", 0x04, (10,0,52), None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Flame Maze Left Pot 2", ("Pot", 0x04, (10,0,52), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Flame Maze Left Pot 1", ("Pot", 0x04, (10,0,53), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Shoot Torch On Wall Room Pot 1", ("Pot", 0x04, (16,0,6), None, 'Arrows (10)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Shoot Torch On Wall Room Pot 2", ("Pot", 0x04, (16,0,7), None, 'Arrows (10)', ("Fire Temple MQ", "Master Quest", "Pots",))), @@ -1493,19 +1564,12 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Fire Temple MQ Iron Knuckle Room Pot 2", ("Pot", 0x04, (18,0,12), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Iron Knuckle Room Pot 3", ("Pot", 0x04, (18,0,13), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), ("Fire Temple MQ Iron Knuckle Room Pot 4", ("Pot", 0x04, (18,0,14), None, 'Bombs (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Iron Knuckle Room Pot 5", ("Pot", 0x04, (18,0,9)0x2F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Iron Knuckle Room Pot 6", ("Pot", 0x04, (18,0,15)0x35, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Iron Knuckle Room Pot 7", ("Pot", 0x04, (18,0,16)0x36, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Iron Knuckle Room Pot 8", ("Pot", 0x04, (18,0,11)0x31, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - ("Fire Temple MQ Boss Key Chest Room Pot", ("Pot", 0x04, (19,0,15), None, 'Rupees (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Boss Key Chest Room Pot 2", ("Pot", 0x04, (19,0,14), None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Upper Maze Small Wooden Crate 1", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Upper Maze Small Wooden Crate 2", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 1", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 2", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 3", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 4", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), - #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 5", ("Pot", 0x04, 0x3F, None, 'N/A', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Iron Knuckle Room Pot 5", ("Pot", 0x04, (18,0,9), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Iron Knuckle Room Pot 6", ("Pot", 0x04, (18,0,15), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Iron Knuckle Room Pot 7", ("Pot", 0x04, (18,0,16), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Iron Knuckle Room Pot 8", ("Pot", 0x04, (18,0,11), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Boss Key Chest Room Pot 1", ("Pot", 0x04, (19,0,15), None, 'Rupees (5)', ("Fire Temple MQ", "Master Quest", "Pots",))), + ("Fire Temple MQ Boss Key Chest Room Pot 2", ("Pot", 0x04, (19,0,14), None, 'Fairy Drop', ("Fire Temple MQ", "Master Quest", "Pots",))), # Fire Temple MQ Crates ("Fire Temple MQ Near Boss Left Crate 1", ("Crate", 0x04, (2,0,14), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Near Boss Left Crate 2", ("Crate", 0x04, (2,0,15), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), @@ -1525,17 +1589,23 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Fire Temple MQ Upper Lizalfos Maze Crate 1", ("Crate", 0x04, (5,0,25), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Upper Lizalfos Maze Crate 2", ("Crate", 0x04, (5,0,26), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Upper Lizalfos Maze Crate 3", ("Crate", 0x04, (5,0,27), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), + ("Fire Temple MQ Upper Lizalfos Maze Small Wooden Crate 1", ("SmallCrate", 0x04, (5,0,33), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), + ("Fire Temple MQ Upper Lizalfos Maze Small Wooden Crate 2", ("SmallCrate", 0x04, (5,0,34), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), ("Fire Temple MQ Shoot Torch On Wall Room Right Crate 1", ("Crate", 0x04, (16,0,11), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Shoot Torch On Wall Room Right Crate 2", ("Crate", 0x04, (16,0,13), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Shoot Torch On Wall Room Center Crate", ("Crate", 0x04, (16,0,10), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Shoot Torch On Wall Room Left Crate 1", ("Crate", 0x04, (16,0,12), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), ("Fire Temple MQ Shoot Torch On Wall Room Left Crate 2", ("Crate", 0x04, (16,0,9), None, 'Rupee (1)', ("Fire Temple MQ", "Master Quest", "Crates",))), - + ("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 1", ("SmallCrate", 0x04, (16,0,14), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), + ("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 2", ("SmallCrate", 0x04, (16,0,15), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), + ("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 3", ("SmallCrate", 0x04, (16,0,16), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), + ("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 4", ("SmallCrate", 0x04, (16,0,17), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), + ("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 5", ("SmallCrate", 0x04, (16,0,18), None, 'Nothing', ("Fire Temple MQ", "Master Quest", "Small Crates",))), # Fire Temple MQ Wonderitems ("Fire Temple MQ Shortcut Room Hammer Wonderitem 1", ("Wonderitem", 0x04, (4,0,7), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Shortcut Room Hammer Wonderitem 2", ("Wonderitem", 0x04, (4,0,8), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Shortcut Room Hammer Wonderitem 3", ("Wonderitem", 0x04, (4,0,9), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), - ("Fire Temple MQ Maze Face On Wall Hookshot Wonderitem", ("Wonderitem", 0x04, (5,0,20), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), + ("Fire Temple MQ Maze Face On Wall Hookshot Wonderitem", ("Wonderitem", 0x04, (5,0,20), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Elevator Above Maze Hookshot Wonderitem 1", ("Wonderitem", 0x04, (7,0,5), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Elevator Above Maze Hookshot Wonderitem 2", ("Wonderitem", 0x04, (7,0,6), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Elevator Above Maze Hookshot Wonderitem 3", ("Wonderitem", 0x04, (7,0,7), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), @@ -1544,8 +1614,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Fire Temple MQ After Upper Flare Dancer Hookshot Wonderitem", ("Wonderitem", 0x04, (12,0,1), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Hammer Steps Hookshot Wonderitem", ("Wonderitem", 0x04, (14,0,2), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), ("Fire Temple MQ Shoot Torch on Wall Room Hookshot Wonderitem", ("Wonderitem", 0x04, (16,0,1), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), - ("Fire Temple MQ Boss Key Hookshot Wonderitem", ("Wonderitem", 0x04, (19,0,10), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), - ("Fire Temple MQ Boss Key Arrow Wonderitem", ("Wonderitem", 0x04, (19,0,11), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), + ("Fire Temple MQ Boss Key Hookshot Wonderitem", ("Wonderitem", 0x04, (19,0,10), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), + ("Fire Temple MQ Boss Key Arrow Wonderitem", ("Wonderitem", 0x04, (19,0,11), None, 'Rupees (20)', ("Fire Temple", "Master Quest", "Wonderitem"))), # Fire Temple Shared ("Fire Temple Volvagia Heart", ("BossHeart", 0x15, 0x4F, None, 'Heart Container', ("Fire Temple", "Fire Temple MQ", "Vanilla Dungeons", "Master Quest",))), @@ -1572,8 +1642,11 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple River Recovery Heart 3", ("Freestanding", 0x05, (21,0,16), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Freestandings",))), ("Water Temple River Recovery Heart 4", ("Freestanding", 0x05, (21,0,17), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Freestandings",))), # Water Temple Vanilla Pots + ("Water Temple Main Room L2 Pot 1", ("Pot", 0x05, (0,0,24), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple Main Room L2 Pot 2", ("Pot", 0x05, (0,0,25), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), + ("Water Temple Near Boss Pot 1", ("Pot", 0x05, (0,0,26), None, 'Fairy Drop', ("Water Temple", "Vanilla Dungeons", "Pots",))), + ("Water Temple Near Boss Pot 2", ("Pot", 0x05, (0,0,27), None, 'Fairy Drop', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple Behind Gate Pot 1", ("Pot", 0x05, (3,0,10), None, 'Bombs (5)', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple Behind Gate Pot 2", ("Pot", 0x05, (3,0,11), None, 'Bombs (5)', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple Behind Gate Pot 3", ("Pot", 0x05, (3,0,14), None, 'Arrows (10)', ("Water Temple", "Vanilla Dungeons", "Pots",))), @@ -1585,12 +1658,12 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple Like Like Pot 2", ("Pot", 0x05, (6,0,8), None, 'Rupees (5)', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple North Basement Block Puzzle Pot 1", ("Pot", 0x05, (14,0,12), None, 'Bombs (5)', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple North Basement Block Puzzle Pot 2", ("Pot", 0x05, (14,0,13), None, 'Bombs (5)', ("Water Temple", "Vanilla Dungeons", "Pots",))), - #("Water Temple Boss Key Pot 1", ("Pot", 0x05, 0x3D, None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), - #("Water Temple Boss Key Pot 2", ("Pot", 0x05, 0x3E, None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), + ("Water Temple Boss Key Pot 1", ("Pot", 0x05, (16,0,2), None, 'Fairy Drop', ("Water Temple", "Vanilla Dungeons", "Pots",))), + ("Water Temple Boss Key Pot 2", ("Pot", 0x05, (16,0,3), None, 'Fairy Drop', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple L1 Torch Pot 1", ("Pot", 0x05, (17,0,8), None, 'Arrows (10)', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple L1 Torch Pot 2", ("Pot", 0x05, (17,0,9), None, 'Arrows (10)', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple River Pot 1", ("Pot", 0x05, (21,0,14), None, 'Arrows (10)', ("Water Temple", "Vanilla Dungeons", "Pots",))), - #("Water Temple River Pot 2", ("Pot", 0x05, (21,0,15), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), + ("Water Temple River Pot 2", ("Pot", 0x05, (21,0,15), None, 'Fairy Drop', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple Central Bow Target Pot 1", ("Pot", 0x05, (20,0,4), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), ("Water Temple Central Bow Target Pot 2", ("Pot", 0x05, (20,0,5), None, 'Recovery Heart', ("Water Temple", "Vanilla Dungeons", "Pots",))), @@ -1614,21 +1687,26 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple MQ Storage Room Pot 1", ("Pot", 0x05, (4,0,14), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Storage Room Pot 2", ("Pot", 0x05, (4,0,15), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Storage Room Pot 3", ("Pot", 0x05, (4,0,16), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Storage Room Small Wooden Crate 1", ("SmallCrate", 0x05, (4,0,10), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Small Crates",))), + ("Water Temple MQ Storage Room Small Wooden Crate 2", ("SmallCrate", 0x05, (4,0,11), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Small Crates",))), + ("Water Temple MQ Storage Room Small Wooden Crate 3", ("SmallCrate", 0x05, (4,0,12), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Small Crates",))), + ("Water Temple MQ Storage Room Small Wooden Crate 4", ("SmallCrate", 0x05, (4,0,13), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Small Crates",))), + ("Water Temple MQ Before Dark Link Top Pot 1", ("Pot", 0x05, (6,0,8), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Before Dark Link Top Pot 2", ("Pot", 0x05, (6,0,9), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), - ("Water Temple MQ Before Dark Link Lower Pot", ("Pot", 0x05, (6,0,10), None, 'Deku Nuts (5)', ("Water Temple MQ", "Master Quest", "Pots",))), - #("Water Tempe MQ Before Dark Link Lower Pot 2", ("Pot", 0x05, (6,0,11), None, 'N/A', ("Water Temple MQ", "Master Quest", "Pots",))), - #("Water Tempe MQ Before Dark Link Lower Pot 3", ("Pot", 0x05, (6,0,12), None, 'N/A', ("Water Temple MQ", "Master Quest", "Pots",))), - ("Water Temple MQ Room After Dark Link Pot", ("Pot", 0x05, (7,0,3), None, 'Arrows (30)', ("Water Temple MQ", "Master Quest", "Pots",))), - #("Water Tempe MQ Room After Dark Link Pot 2", ("Pot", 0x05, (7,0,4), None, 'N/A', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Before Dark Link Lower Pot 1", ("Pot", 0x05, (6,0,10), None, 'Deku Nuts (5)', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Before Dark Link Lower Pot 2", ("Pot", 0x05, (6,0,11), None, 'Fairy Drop', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Before Dark Link Lower Pot 3", ("Pot", 0x05, (6,0,12), None, 'Fairy Drop', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Room After Dark Link Pot 1", ("Pot", 0x05, (7,0,3), None, 'Arrows (30)', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Room After Dark Link Pot 2", ("Pot", 0x05, (7,0,4), None, 'Fairy Drop', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Boss Key Chest Room Pot", ("Pot", 0x05, (9,0,16), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Before Upper Water Switch Pot 1", ("Pot", 0x05, (10,0,18), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Before Upper Water Switch Pot 2", ("Pot", 0x05, (10,0,19), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Before Upper Water Switch Pot 3", ("Pot", 0x05, (10,0,20), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Dodongo Room Pot 1", ("Pot", 0x05, (14,0,15), None, 'Bombs (5)', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Dodongo Room Pot 2", ("Pot", 0x05, (14,0,16), None, 'Bombs (5)', ("Water Temple MQ", "Master Quest", "Pots",))), - ("Water Temple MQ Freestanding Key Room Pot", ("Pot", 0x05, (16,0,10), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), - #("Water Temple MQ Freestanding Item Room Pot 2", ("Pot", 0x05, (16,0,9), None, 'N/A', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Freestanding Key Room Pot 1", ("Pot", 0x05, (16,0,10), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ Freestanding Key Room Pot 2", ("Pot", 0x05, (16,0,9), None, 'Fairy Drop', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ L1 Torch Pot 1", ("Pot", 0x05, (17,0,14), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ L1 Torch Pot 2", ("Pot", 0x05, (17,0,15), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Lizalfos Hallway Pot 1", ("Pot", 0x05, (20,0,18), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Pots",))), @@ -1636,8 +1714,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple MQ Lizalfos Hallway Pot 3", ("Pot", 0x05, (20,0,20), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Lizalfos Hallway Gate Pot 1", ("Pot", 0x05, (20,0,21), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), ("Water Temple MQ Lizalfos Hallway Gate Pot 2", ("Pot", 0x05, (20,0,22), None, 'Recovery Heart', ("Water Temple MQ", "Master Quest", "Pots",))), - ("Water Temple MQ River Pot", ("Pot", 0x05, (21,0,19), None, 'Arrows (10)', ("Water Temple MQ", "Master Quest", "Pots",))), - #("Water Temple MQ River Pot 2", ("Pot", 0x05, (21,0,20), None, 'N/A', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ River Pot 1", ("Pot", 0x05, (21,0,19), None, 'Arrows (10)', ("Water Temple MQ", "Master Quest", "Pots",))), + ("Water Temple MQ River Pot 2", ("Pot", 0x05, (21,0,20), None, 'Fairy Drop', ("Water Temple MQ", "Master Quest", "Pots",))), # Water Temple MQ Crates ("Water Temple MQ Central Pillar Upper Crate 1", ("Crate", 0x05, (1,0,4), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Central Pillar Upper Crate 2", ("Crate", 0x05, (1,0,5), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), @@ -1673,6 +1751,9 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple MQ Storage Room Crate 7", ("Crate", 0x05, (4,0,9), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Dragon Statue By Torches Crate 1", ("Crate", 0x05, (8,0,9), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Dragon Statue By Torches Crate 2", ("Crate", 0x05, (8,0,10), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), + ("Water Temple MQ Dragon Statue By Torches Small Wooden Crate 1",("SmallCrate", 0x05, (8,0,17), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Crates",))), + ("Water Temple MQ Dragon Statue By Torches Small Wooden Crate 2",("SmallCrate", 0x05, (8,0,18), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Crates",))), + ("Water Temple MQ Dragon Statue By Torches Small Wooden Crate 3",("SmallCrate", 0x05, (8,0,19), None, 'Nothing', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Dragon Statue Submerged Crate 1", ("Crate", 0x05, (8,0,13), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Dragon Statue Submerged Crate 2", ("Crate", 0x05, (8,0,14), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Dragon Statue Submerged Crate 3", ("Crate", 0x05, (8,0,15), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), @@ -1690,6 +1771,9 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple MQ Before Upper Water Switch Lower Crate 4", ("Crate", 0x05, (10,0,7), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Before Upper Water Switch Lower Crate 5", ("Crate", 0x05, (10,0,8), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Before Upper Water Switch Lower Crate 6", ("Crate", 0x05, (10,0,11), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), + ("Water Temple MQ Before Upper Water Switch Lower Small Crate", ("SmallCrate", 0x05, (10,0,12), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Small Crates",))), + ("Water Temple MQ Before Upper Water Switch Upper Small Crate", ("SmallCrate", 0x05, (10,0,13), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Small Crates",))), + ("Water Temple MQ Before Upper Water Switch Upper Crate 1", ("Crate", 0x05, (10,0,9), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Before Upper Water Switch Upper Crate 2", ("Crate", 0x05, (10,0,10), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), ("Water Temple MQ Freestanding Key Area Behind Gate Crate 1", ("Crate", 0x05, (12,0,10), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), @@ -1726,28 +1810,28 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Water Temple MQ Lizalfos Hallway Hall Crate 3", ("Crate", 0x05, (20,0,14), None, 'Rupee (1)', ("Water Temple MQ", "Master Quest", "Crates",))), # Water Temple MQ Wonderitems - ("Water Temple MQ Below Central Pillar Hookshot Wonderitem", ("Wonderitem", 0x05, (2,0,25), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Triple Wall Torch Hookshot/Bow Wonderitem", ("Wonderitem", 0x05, (3,0,4), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Hookshot Waterfall Left Hookshot Wonderitem 1",("Wonderitem", 0x05, (5,0,10), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Hookshot Waterfall Left Hookshot Wonderitem 2",("Wonderitem", 0x05, (5,0,11), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Hookshot Waterfall Left Hookshot Wonderitem 3",("Wonderitem", 0x05, (5,0,12), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Hookshot Waterfall Right Hookshot Wonderitem 1",("Wonderitem", 0x05, (5,0,3), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Hookshot Waterfall Right Hookshot Wonderitem 2",("Wonderitem", 0x05, (5,0,4), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Hookshot Waterfall Right Hookshot Wonderitem 3",("Wonderitem", 0x05, (5,0,5), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ After Dark Link Hookshot Wonderitem", ("Wonderitem", 0x05, (7,0,1), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Dragon Statue Eyes Hookshot Wonderitem 1", ("Wonderitem", 0x05, (8,0,5), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Dragon Statue Eyes Hookshot Wonderitem 2", ("Wonderitem", 0x05, (8,0,7), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Dragon Statue Crates Hookshot Wonderitem", ("Wonderitem", 0x05, (8,0,6), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Upper Water Switch Hookshot Wonderitem", ("Wonderitem", 0x05, (10,0,2), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Boss Hallway Hookshot Wonderitem 1", ("Wonderitem", 0x05, (11,0,1), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Boss Hallway Hookshot Wonderitem 2", ("Wonderitem", 0x05, (11,0,2), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ 3 Water Spouts Proximity Wonderitem 1", ("Wonderitem", 0x05, (15,0,1), None, 'Rupees (5)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ 3 Water Spouts Proximity Wonderitem 2", ("Wonderitem", 0x05, (15,0,2), None, 'Arrows (10)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Freestanding Key Hookshot Wonderitem", ("Wonderitem", 0x05, (16,0,1), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Longshot Chest Hookshot Wonderitem", ("Wonderitem", 0x05, (17,0,8), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Compass Chest Hookshot Wonderitem", ("Wonderitem", 0x05, (18,0,4), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Map Chest Hookshot Wonderitem", ("Wonderitem", 0x05, (19,0,6), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), - ("Water Temple MQ Lizalfos Hallway Hookshot Wonderitem", ("Wonderitem", 0x05, (20,0,3), None, 'Rupees (20)', ("Water Temple", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Below Central Pillar Hookshot Wonderitem", ("Wonderitem", 0x05, (2,0,25), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Triple Wall Torch Hookshot/Bow Wonderitem", ("Wonderitem", 0x05, (3,0,4), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Hookshot Waterfall Left Hookshot Wonderitem 1",("Wonderitem", 0x05, (5,0,10), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Hookshot Waterfall Left Hookshot Wonderitem 2",("Wonderitem", 0x05, (5,0,11), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Hookshot Waterfall Left Hookshot Wonderitem 3",("Wonderitem", 0x05, (5,0,12), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Hookshot Waterfall Right Hookshot Wonderitem 1",("Wonderitem", 0x05, (5,0,3), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Hookshot Waterfall Right Hookshot Wonderitem 2",("Wonderitem", 0x05, (5,0,4), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Hookshot Waterfall Right Hookshot Wonderitem 3",("Wonderitem", 0x05, (5,0,5), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ After Dark Link Hookshot Wonderitem", ("Wonderitem", 0x05, (7,0,1), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Dragon Statue Eyes Hookshot Wonderitem 1", ("Wonderitem", 0x05, (8,0,5), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Dragon Statue Eyes Hookshot Wonderitem 2", ("Wonderitem", 0x05, (8,0,7), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Dragon Statue Crates Hookshot Wonderitem", ("Wonderitem", 0x05, (8,0,6), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Upper Water Switch Hookshot Wonderitem", ("Wonderitem", 0x05, (10,0,2), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Boss Hallway Hookshot Wonderitem 1", ("Wonderitem", 0x05, (11,0,1), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Boss Hallway Hookshot Wonderitem 2", ("Wonderitem", 0x05, (11,0,2), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ 3 Water Spouts Proximity Wonderitem 1", ("Wonderitem", 0x05, (15,0,1), None, 'Rupees (5)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ 3 Water Spouts Proximity Wonderitem 2", ("Wonderitem", 0x05, (15,0,2), None, 'Arrows (10)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Freestanding Key Hookshot Wonderitem", ("Wonderitem", 0x05, (16,0,1), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Longshot Chest Hookshot Wonderitem", ("Wonderitem", 0x05, (17,0,8), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Compass Chest Hookshot Wonderitem", ("Wonderitem", 0x05, (18,0,4), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Map Chest Hookshot Wonderitem", ("Wonderitem", 0x05, (19,0,6), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), + ("Water Temple MQ Lizalfos Hallway Hookshot Wonderitem", ("Wonderitem", 0x05, (20,0,3), None, 'Rupees (20)', ("Water Temple MQ", "Master Quest", "Wonderitem"))), # Water Temple Shared @@ -1784,15 +1868,33 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Shadow Temple After Boat Upper Recovery Heart 1", ("Freestanding", 0x07, (21,0,9), None, 'Recovery Heart', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), ("Shadow Temple After Boat Upper Recovery Heart 2", ("Freestanding", 0x07, (21,0,10), None, 'Recovery Heart', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), ("Shadow Temple After Boat Lower Recovery Heart", ("Freestanding", 0x07, (21,0,11), None, 'Recovery Heart', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), - ("Shadow Temple 3 Spinning Pots Rupee 1", ("RupeeTower", 0x07, (12,0,20), ([0x280D0D4, 0x280D0E4, 0x280D0F4], None), 'Rupee (1)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 2", ("RupeeTower", 0x07, (12,0,21), None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 3", ("RupeeTower", 0x07, (12,0,22), None, 'Rupees (20)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 4", ("RupeeTower", 0x07, (12,0,23), None, 'Rupee (1)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 5", ("RupeeTower", 0x07, (12,0,24), None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 6", ("RupeeTower", 0x07, (12,0,25), None, 'Rupees (20)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 7", ("RupeeTower", 0x07, (12,0,26), None, 'Rupee (1)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 8", ("RupeeTower", 0x07, (12,0,27), None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), - ("Shadow Temple 3 Spinning Pots Rupee 9", ("RupeeTower", 0x07, (12,0,28), None, 'Rupees (20)', ("Shadow Temple", "Vanilla Dungeons", "Rupee Towers",))), + ("Shadow Temple 3 Spinning Pots Rupee 1", ("Freestanding", 0x07, [(12,0,9,1), + (12,0,10,1), + (12,0,11,1)], None, 'Rupee (1)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 2", ("Freestanding", 0x07, [(12,0,9,2), + (12,0,10,2), + (12,0,11,2)], None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 3", ("Freestanding", 0x07, [(12,0,9,3), + (12,0,10,3), + (12,0,11,3)], None, 'Rupees (20)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 4", ("Freestanding", 0x07, [(12,0,9,4), + (12,0,10,4), + (12,0,11,4)], None, 'Rupee (1)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 5", ("Freestanding", 0x07, [(12,0,9,5), + (12,0,10,5), + (12,0,11,5)], None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 6", ("Freestanding", 0x07, [(12,0,9,6), + (12,0,10,6), + (12,0,11,6)], None, 'Rupees (20)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 7", ("Freestanding", 0x07, [(12,0,9,7), + (12,0,10,7), + (12,0,11,7)], None, 'Rupee (1)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 8", ("Freestanding", 0x07, [(12,0,9,8), + (12,0,10,8), + (12,0,11,8)], None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), + ("Shadow Temple 3 Spinning Pots Rupee 9", ("Freestanding", 0x07, [(12,0,9,9), + (12,0,10,9), + (12,0,11,9)], None, 'Rupees (20)', ("Shadow Temple", "Vanilla Dungeons", "Freestandings",))), # Shadow Temple Vanilla Pots ("Shadow Temple Whispering Walls Near Dead Hand Pot", ("Pot", 0x07, (0,0,1), None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), ("Shadow Temple Whispering Walls Left Pot 1", ("Pot", 0x07, (0,0,2), None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), @@ -1814,8 +1916,8 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Shadow Temple After Wind Pot 2", ("Pot", 0x07, (20,0,4), None, 'Deku Nuts (5)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), ("Shadow Temple After Wind Flying Pot 1", ("FlyingPot", 0x07, (20,0,5), None, 'Recovery Heart', ("Shadow Temple", "Vanilla Dungeons", "Flying Pots",))), ("Shadow Temple After Wind Flying Pot 2", ("FlyingPot", 0x07, (20,0,6), None, 'Recovery Heart', ("Shadow Temple", "Vanilla Dungeons", "Flying Pots",))), - ("Shadow Temple After Boat Pot", ("Pot", 0x07, (21,0,17), None, 'Arrows (10)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), - #("Shadow Temple After Boat Pot 2" ("Pot", 0x07, (21,0,18), None, 'Recovery Heart', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), + ("Shadow Temple After Boat Pot 1", ("Pot", 0x07, (21,0,17), None, 'Arrows (10)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), + ("Shadow Temple After Boat Pot 2", ("Pot", 0x07, (21,0,18), None, 'Nothing', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), ("Shadow Temple Near Boss Pot 1", ("Pot", 0x07, (21,0,19), None, 'Arrows (30)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), ("Shadow Temple Near Boss Pot 2", ("Pot", 0x07, (21,0,20), None, 'Rupees (5)', ("Shadow Temple", "Vanilla Dungeons", "Pots",))), # Shadow Temple Silver Rupees @@ -1835,7 +1937,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Shadow Temple Invisible Spikes Silver Rupee Ledge", ("SilverRupee", 0x07, (11,0,3), None, 'Silver Rupee (Shadow Temple Invisible Spikes)', ("Shadow Temple", "Vanilla Dungeons", "Silver Rupees",))), ("Shadow Temple Invisible Spikes Silver Rupee Near Ledge", ("SilverRupee", 0x07, (11,0,7), None, 'Silver Rupee (Shadow Temple Invisible Spikes)', ("Shadow Temple", "Vanilla Dungeons", "Silver Rupees",))), # Shadow Temple Wonderitems - ("Shadow Temple 3 Spinning Pots Wonderitem", ("Wonderitem", 0x07, (12,0,2), None, 'Arrows (10)', ("Shadow Temple", "Vanilla", "Wonderitem"))), + ("Shadow Temple 3 Spinning Pots Wonderitem", ("Wonderitem", 0x07, (12,0,2), None, 'Arrows (10)', ("Shadow Temple", "Vanilla Dungeons", "Wonderitem"))), # Shadow Temple MQ ("Shadow Temple MQ Early Gibdos Chest", ("Chest", 0x07, 0x03, None, 'Small Key (Shadow Temple)', ("Shadow Temple MQ", "Master Quest", "Chests",))), @@ -1871,15 +1973,33 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Shadow Temple MQ After Boat Upper Recovery Heart 1", ("Freestanding", 0x07, (21,0,12), None, 'Recovery Heart', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), ("Shadow Temple MQ After Boat Upper Recovery Heart 2", ("Freestanding", 0x07, (21,0,13), None, 'Recovery Heart', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), ("Shadow Temple MQ After Boat Lower Recovery Heart", ("Freestanding", 0x07, (21,0,14), None, 'Recovery Heart', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 1", ("RupeeTower", 0x07, (12,0,20), ([0x28127b8, 0x28127c8, 0x28127d8], None), 'Rupee (1)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 2", ("RupeeTower", 0x07, (12,0,21), None, 'Rupees (5)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 3", ("RupeeTower", 0x07, (12,0,22), None, 'Rupees (20)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 4", ("RupeeTower", 0x07, (12,0,23), None, 'Rupee (1)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 5", ("RupeeTower", 0x07, (12,0,24), None, 'Rupees (5)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 6", ("RupeeTower", 0x07, (12,0,25), None, 'Rupees (20)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 7", ("RupeeTower", 0x07, (12,0,26), None, 'Rupee (1)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 8", ("RupeeTower", 0x07, (12,0,27), None, 'Rupees (5)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), - ("Shadow Temple MQ 3 Spinning Pots Rupee 9", ("RupeeTower", 0x07, (12,0,28), None, 'Rupees (20)', ("Shadow Temple MQ", "Master Quest", "Rupee Towers",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 1", ("Freestanding", 0x07, [(12,0,9,1), + (12,0,10,1), + (12,0,11,1)], None, 'Rupee (1)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 2", ("Freestanding", 0x07, [(12,0,9,2), + (12,0,10,2), + (12,0,11,2)], None, 'Rupees (5)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 3", ("Freestanding", 0x07, [(12,0,9,3), + (12,0,10,3), + (12,0,11,3)], None, 'Rupees (20)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 4", ("Freestanding", 0x07, [(12,0,9,4), + (12,0,10,4), + (12,0,11,4)], None, 'Rupee (1)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 5", ("Freestanding", 0x07, [(12,0,9,5), + (12,0,10,5), + (12,0,11,5)], None, 'Rupees (5)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 6", ("Freestanding", 0x07, [(12,0,9,6), + (12,0,10,6), + (12,0,11,6)], None, 'Rupees (20)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 7", ("Freestanding", 0x07, [(12,0,9,7), + (12,0,10,7), + (12,0,11,7)], None, 'Rupee (1)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 8", ("Freestanding", 0x07, [(12,0,9,8), + (12,0,10,8), + (12,0,11,8)], None, 'Rupees (5)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), + ("Shadow Temple MQ 3 Spinning Pots Rupee 9", ("Freestanding", 0x07, [(12,0,9,9), + (12,0,10,9), + (12,0,11,9)], None, 'Rupees (20)', ("Shadow Temple MQ", "Master Quest", "Freestandings",))), # Shadow Temple MQ Pots/Crates ("Shadow Temple MQ Whispering Walls Pot 1", ("Pot", 0x07, (0,0,5), None, 'Recovery Heart', ("Shadow Temple MQ", "Master Quest", "Pots",))), ("Shadow Temple MQ Whispering Walls Pot 2", ("Pot", 0x07, (0,0,6), None, 'Recovery Heart', ("Shadow Temple MQ", "Master Quest", "Pots",))), @@ -2012,22 +2132,23 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Spirit Temple Lobby Flying Pot 1", ("FlyingPot", 0x06, (0,0,13), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), ("Spirit Temple Lobby Flying Pot 2", ("FlyingPot", 0x06, (0,0,14), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), ("Spirit Temple Child Climb Pot", ("Pot", 0x06, (4,0,11), None, 'Deku Seeds (30)', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Statue Room Pot 1", ("Pot", 0x06, 0x24, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Statue Room Pot 2", ("Pot", 0x06, 0x25, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Statue Room Pot 3", ("Pot", 0x06, 0x26, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Statue Room Pot 4", ("Pot", 0x06, 0x27, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Statue Room Pot 5", ("Pot", 0x06, 0x28, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Statue Room Pot 6", ("Pot", 0x06, 0x29, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), ("Spirit Temple Hall After Sun Block Room Pot 1", ("Pot", 0x06, (9,0,8), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), ("Spirit Temple Hall After Sun Block Room Pot 2", ("Pot", 0x06, (9,0,9), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), ("Spirit Temple Beamos Hall Pot", ("Pot", 0x06, (16,0,6), None, 'Bombs (5)', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - ("Spirit Temple Child Anubis Pot", ("Pot", 0x06, (27,0,7), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - ("Spirit Temple Child Bridge Flying Pot", ("FlyingPot", 0x06, (3,0,6), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), + ("Spirit Temple Child Anubis Pot 1", ("Pot", 0x06, (27,0,5), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Child Anubis Pot 2", ("Pot", 0x06, (27,0,6), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Child Anubis Pot 3", ("Pot", 0x06, (27,0,7), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Child Anubis Pot 4", ("Pot", 0x06, (27,0,8), None, 'Deku Shield', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Child Bridge Flying Pot 1", ("FlyingPot", 0x06, (3,0,5), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), + ("Spirit Temple Child Bridge Flying Pot 2", ("FlyingPot", 0x06, (3,0,6), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), ("Spirit Temple Before Child Climb Small Wooden Crate 1", ("SmallCrate", 0x06, (1,0,10), None, 'Deku Nuts (5)', ("Spirit Temple", "Vanilla Dungeons", "Small Crates",))), # Overwrite original flag 0x2C because it conflicts w/ Beamos hall pot ("Spirit Temple Before Child Climb Small Wooden Crate 2", ("SmallCrate", 0x06, (1,0,11), None, 'Bombs (5)', ("Spirit Temple", "Vanilla Dungeons", "Small Crates",))), - #("Spirit Temple Child Anubis Pot", ("Pot", 0x07, 0x2F, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Child Anubis Pot", ("Pot", 0x07, 0x2F, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), - #("Spirit Temple Child Anubis Pot", ("Pot", 0x07, 0x2F, None, 'Recovery Heart' ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Central Chamber Pot 1", ("Pot", 0x06, (5,0,24), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Central Chamber Pot 2", ("Pot", 0x06, (5,0,25), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Central Chamber Pot 3", ("Pot", 0x06, (5,0,26), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Central Chamber Pot 4", ("Pot", 0x06, (5,0,27), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Central Chamber Pot 5", ("Pot", 0x06, (5,0,28), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), + ("Spirit Temple Central Chamber Pot 6", ("Pot", 0x06, (5,0,29), None, 'Nothing', ("Spirit Temple", "Vanilla Dungeons", "Pots",))), ("Spirit Temple Central Chamber Flying Pot 1", ("FlyingPot", 0x06, (5,0,21), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), ("Spirit Temple Central Chamber Flying Pot 2", ("FlyingPot", 0x06, (5,0,22), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), ("Spirit Temple Adult Climb Flying Pot 1", ("FlyingPot", 0x06, (15,0,11), None, 'Recovery Heart', ("Spirit Temple", "Vanilla Dungeons", "Flying Pots",))), @@ -2076,11 +2197,11 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Spirit Temple MQ Child Stalfos Fight Pot 1", ("Pot", 0x06, (27,0,10), None, 'Rupees (5)', ("Spirit Temple MQ", "Master Quest", "Pots",))), ("Spirit Temple MQ Child Stalfos Fight Pot 2", ("Pot", 0x06, (27,0,11), None, 'Recovery Heart', ("Spirit Temple MQ", "Master Quest", "Pots",))), ("Spirit Temple MQ Child Stalfos Fight Pot 3", ("Pot", 0x06, (27,0,12), None, 'Recovery Heart', ("Spirit Temple MQ", "Master Quest", "Pots",))), - #("Spirit Temple MQ Child Stalfos Fight Pot 4", ("Pot", 0x06, (27,0,13), None, 'N/A', ("Spirit Temple MQ", "Master Quest", "Pots",))), + ("Spirit Temple MQ Child Stalfos Fight Pot 4", ("Pot", 0x06, (27,0,13), None, 'Fairy Drop', ("Spirit Temple MQ", "Master Quest", "Pots",))), ("Spirit Temple MQ Child Climb Pot", ("Pot", 0x06, (4,0,13), None, 'Rupees (5)', ("Spirit Temple MQ", "Master Quest", "Pots",))), - #("Spirit Temple MQ Central Chamber Flying Pot 1", ("FlyingPot", 0x06, 0x25, None, 'N/A', ("Spirit Temple MQ", "Master Quest", "Flying Pots",))), - #("Spirit Temple MQ Central Chamber Flying Pot 2", ("FlyingPot", 0x06, 0x28, None, 'N/A', ("Spirit Temple MQ", "Master Quest", "Flying Pots",))), - #("Spirit Temple MQ Central Chamber Flying Pot 3", ("FlyingPot", 0x06, 0x36, None, 'N/A', ("Spirit Temple MQ", "Master Quest", "Flying Pots",))), + ("Spirit Temple MQ Central Chamber Flying Pot Top Left", ("FlyingPot", 0x06, (5,0,19), None, 'Nothing', ("Spirit Temple MQ", "Master Quest", "Flying Pots",))), + ("Spirit Temple MQ Central Chamber Flying Pot Floor", ("FlyingPot", 0x06, (5,0,20), None, 'Nothing', ("Spirit Temple MQ", "Master Quest", "Flying Pots",))), + ("Spirit Temple MQ Central Chamber Flying Pot Stairs", ("FlyingPot", 0x06, (5,0,23), None, 'Nothing', ("Spirit Temple MQ", "Master Quest", "Flying Pots",))), ("Spirit Temple MQ Central Chamber Floor Pot 1", ("Pot", 0x06, (5,0,31), None, 'Rupees (5)', ("Spirit Temple MQ", "Master Quest", "Pots",))), ("Spirit Temple MQ Central Chamber Floor Pot 2", ("Pot", 0x06, (5,0,35), None, 'Recovery Heart', ("Spirit Temple MQ", "Master Quest", "Pots",))), ("Spirit Temple MQ Central Chamber Floor Pot 3", ("Pot", 0x06, (5,0,36), None, 'Rupees (5)', ("Spirit Temple MQ", "Master Quest", "Pots",))), @@ -2101,6 +2222,9 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Spirit Temple MQ Crates ("Spirit Temple MQ Central Chamber Crate 1", ("Crate", 0x06, (5,0,12), None, 'Rupee (1)', ("Spirit Temple MQ", "Master Quest", "Crates",))), ("Spirit Temple MQ Central Chamber Crate 2", ("Crate", 0x06, (5,0,13), None, 'Rupee (1)', ("Spirit Temple MQ", "Master Quest", "Crates",))), + ("Spirit Temple MQ Central Chamber Small Wooden Crate", ("SmallCrate", 0x06, (5,0,14), None, 'Nothing', ("Spirit Temple MQ", "Master Quest", "Small Crates",))), + ("Spirit Temple MQ Beamos Room Small Wooden Crate", ("SmallCrate", 0x06, (17,0,1), None, 'Nothing', ("Spirit Temple MQ", "Master Quest", "Small Crates",))), + ("Spirit Temple MQ Big Mirror Crate 1", ("Crate", 0x06, (25,0,2), None, 'Rupee (1)', ("Spirit Temple MQ", "Master Quest", "Crates",))), ("Spirit Temple MQ Big Mirror Crate 2", ("Crate", 0x06, (25,0,3), None, 'Rupee (1)', ("Spirit Temple MQ", "Master Quest", "Crates",))), ("Spirit Temple MQ Big Mirror Crate 3", ("Crate", 0x06, (25,0,4), None, 'Rupee (1)', ("Spirit Temple MQ", "Master Quest", "Crates",))), @@ -2162,10 +2286,10 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Ice Cavern MQ Tektite Room Pot 2", ("Pot", 0x09, (1,0,7), None, 'Recovery Heart', ("Ice Cavern MQ", "Master Quest", "Pots",))), ("Ice Cavern MQ Center Room Pot 1", ("Pot", 0x09, (3,0,14), None, 'Rupees (5)', ("Ice Cavern MQ", "Master Quest", "Pots",))), ("Ice Cavern MQ Center Room Pot 2", ("Pot", 0x09, (3,0,16), None, 'Recovery Heart', ("Ice Cavern MQ", "Master Quest", "Pots",))), - #("Ice Cavern MQ Center Room Pot 3", ("Pot", 0x09, (3,0,13), None, 'N/A', ("Ice Cavern MQ", "Master Quest", "Pots",))), - #("Ice Cavern MQ Center Room Pot 4", ("Pot", 0x09, (3,0,19), None, 'N/A', ("Ice Cavern MQ", "Master Quest", "Pots",))), - ("Ice Cavern MQ Near End Pot", ("Pot", 0x09, (6,0,7), None, 'Rupees (5)', ("Ice Cavern MQ", "Master Quest", "Pots",))), - #("Ice Cavern MQ Near End Pot 2", ("Pot", 0x09, (6,0,6), None, 'N/A', ("Ice Cavern MQ", "Master Quest", "Pots",))), + ("Ice Cavern MQ Center Room Pot 3", ("Pot", 0x09, (3,0,13), None, 'Fairy Drop', ("Ice Cavern MQ", "Master Quest", "Pots",))), + ("Ice Cavern MQ Center Room Pot 4", ("Pot", 0x09, (3,0,19), None, 'Fairy Drop', ("Ice Cavern MQ", "Master Quest", "Pots",))), + ("Ice Cavern MQ Near End Pot 1", ("Pot", 0x09, (6,0,7), None, 'Rupees (5)', ("Ice Cavern MQ", "Master Quest", "Pots",))), + ("Ice Cavern MQ Near End Pot 2", ("Pot", 0x09, (6,0,6), None, 'Fairy Drop', ("Ice Cavern MQ", "Master Quest", "Pots",))), ("Ice Cavern MQ Compass Room Pot 1", ("Pot", 0x09, (9,0,11), None, 'Bombs (5)', ("Ice Cavern MQ", "Master Quest", "Pots",))), ("Ice Cavern MQ Compass Room Pot 2", ("Pot", 0x09, (9,0,12), None, 'Bombs (5)', ("Ice Cavern MQ", "Master Quest", "Pots",))), @@ -2212,9 +2336,9 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Gerudo Training Ground Boulder Room Silver Rupee Ledge", ("SilverRupee", 0x0B, (2,0,13), None, 'Silver Rupee (Gerudo Training Ground Slopes)', ("Gerudo Training Ground", "Vanilla Dungeons", "Silver Rupees",))), ("Gerudo Training Ground Boulder Room Silver Rupee Top Left", ("SilverRupee", 0x0B, (2,0,14), None, 'Silver Rupee (Gerudo Training Ground Slopes)', ("Gerudo Training Ground", "Vanilla Dungeons", "Silver Rupees",))), # Gerudo Training Ground Wonderitems - ("Gerudo Training Ground Eye Statue Wonderitem", ("Wonderitem", 0x0B, (4,0,3), None, 'Arrows (10)', ("Shadow Temple", "Vanilla", "Wonderitem"))), - ("Gerudo Training Ground Hammer Room Wonderitem", ("Wonderitem", 0x0B, (5,0,17), None, 'Arrows (10)', ("Shadow Temple", "Vanilla", "Wonderitem"))), - ("Gerudo Training Ground Beamos Wonderitem", ("Wonderitem", 0x0B, (7,0,13), None, 'Arrows (10)', ("Shadow Temple", "Vanilla", "Wonderitem"))), + ("Gerudo Training Ground Eye Statue Wonderitem", ("Wonderitem", 0x0B, (4,0,3), None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla Dungeons", "Wonderitem"))), + ("Gerudo Training Ground Hammer Room Wonderitem", ("Wonderitem", 0x0B, (5,0,17), None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla Dungeons", "Wonderitem"))), + ("Gerudo Training Ground Beamos Wonderitem", ("Wonderitem", 0x0B, (7,0,13), None, 'Arrows (10)', ("Gerudo Training Ground", "Vanilla Dungeons", "Wonderitem"))), # Gerudo Training Ground MQ ("Gerudo Training Ground MQ Lobby Left Chest", ("Chest", 0x0B, 0x13, None, 'Arrows (10)', ("Gerudo Training Ground MQ", "Master Quest", "Chests",))), @@ -2289,6 +2413,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: # Ganon's Castle Vanilla Pots ("Ganons Castle Water Trial Pot 1", ("Pot", 0x0D, (4,0,5), None, 'Recovery Heart', ("Ganon's Castle", "Vanilla Dungeons", "Pots",))), ("Ganons Castle Water Trial Pot 2", ("Pot", 0x0D, (4,0,6), None, 'Rupees (5)', ("Ganon's Castle", "Vanilla Dungeons", "Pots",))), + ("Ganons Castle Water Trial Fairy Pot Drop", ("Pot", 0x0D, (3,0,4), None, 'Fairy Drop', ("Ganon's Castle", "Vanilla Dungeons", "Pots",))), ("Ganons Castle Forest Trial Pot 1", ("Pot", 0x0D, (7,0,5), None, 'Recovery Heart', ("Ganon's Castle", "Vanilla Dungeons", "Pots",))), ("Ganons Castle Forest Trial Pot 2", ("Pot", 0x0D, (7,0,6), None, 'Rupees (5)', ("Ganon's Castle", "Vanilla Dungeons", "Pots",))), ("Ganons Castle Light Trial Boulder Pot", ("Pot", 0x0D, (8,0,11), None, 'Arrows (30)', ("Ganon's Castle", "Vanilla Dungeons", "Pots",))), @@ -2389,12 +2514,16 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("Ganons Tower Pot 6", ("Pot", 0x0A, [(8,0,7),(0,0,53)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), ("Ganons Tower Pot 7", ("Pot", 0x0A, [(8,0,8),(0,0,54)], None, 'Rupees (5)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), ("Ganons Tower Pot 8", ("Pot", 0x0A, [(8,0,9),(0,0,56)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), - ("Ganons Tower Pot 9", ("Pot", 0x0A, [(8,0,12),(0,0,58)], None, 'Arrows (10)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), - ("Ganons Tower Pot 10", ("Pot", 0x0A, [(8,0,13),(0,0,59)], None, 'Arrows (10)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), - ("Ganons Tower Pot 11", ("Pot", 0x0A, [(8,0,14),(0,0,60)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), - ("Ganons Tower Pot 12", ("Pot", 0x0A, [(8,0,15),(0,0,61)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), - ("Ganons Tower Pot 13", ("Pot", 0x0A, [(8,0,16),(0,0,62)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), - ("Ganons Tower Pot 14", ("Pot", 0x0A, [(8,0,19),(0,0,65)], None, 'Arrows (10)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 9", ("Pot", 0x0A, [(8,0,10),(0,0,55)], None, 'Nothing', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 10", ("Pot", 0x0A, [(8,0,11),(0,0,57)], None, 'Nothing', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 11", ("Pot", 0x0A, [(8,0,12),(0,0,58)], None, 'Arrows (10)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 12", ("Pot", 0x0A, [(8,0,13),(0,0,59)], None, 'Arrows (10)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 13", ("Pot", 0x0A, [(8,0,14),(0,0,60)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 14", ("Pot", 0x0A, [(8,0,15),(0,0,61)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 15", ("Pot", 0x0A, [(8,0,16),(0,0,62)], None, 'Recovery Heart', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 16", ("Pot", 0x0A, [(8,0,17),(0,0,63)], None, 'Nothing', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 17", ("Pot", 0x0A, [(8,0,18),(0,0,64)], None, 'Nothing', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), + ("Ganons Tower Pot 18", ("Pot", 0x0A, [(8,0,19),(0,0,65)], None, 'Arrows (10)', ("Ganon's Tower", "Vanilla Dungeons", "Master Quest", "Pots",))), ## Events and Drops ("Pierre", ("Event", None, None, None, 'Scarecrow Song', None)), @@ -2476,6 +2605,7 @@ def shop_address(shop_id: int, shelf_id: int) -> int: ("40 Skulltulas Reward Hint", ("Hint", None, None, None, None, None)), ("50 Skulltulas Reward Hint", ("Hint", None, None, None, None, None)), ("ZR Frogs Ocarina Minigame Hint", ("Hint", None, None, None, None, None)), + ("Market 10 Big Poes Hint", ("Hint", None, None, None, None, None)), ("Ganondorf Hint", ("Hint", None, None, None, None, None)), ]) @@ -2516,6 +2646,9 @@ def shop_address(shop_id: int, shelf_id: int) -> int: } -def location_is_viewable(loc_name: str, correct_chest_appearances: str, fast_chests: bool) -> bool: - return (((correct_chest_appearances in ('textures', 'both', 'classic') or not fast_chests) and loc_name in location_groups['Chest']) - or loc_name in location_groups['CanSee']) +def location_is_viewable(loc_name: str, correct_chest_appearances: str, fast_chests: bool, *, world: Optional[World] = None) -> bool: + return ( + ((correct_chest_appearances in ('textures', 'both', 'classic') or not fast_chests) and loc_name in location_groups['Chest']) + or loc_name in location_groups['CanSee'] + or (world is not None and world.bigocto_location() is not None and world.bigocto_location().name == loc_name) + ) diff --git a/Main.py b/Main.py index 715bccc575..3bc331bfb7 100644 --- a/Main.py +++ b/Main.py @@ -156,7 +156,11 @@ def build_world_graphs(settings: Settings) -> list[World]: generate_itempool(world) set_shop_rules(world) world.set_drop_location_names() - world.fill_bosses() + if world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward'): + world.fill_bosses() + + if settings.empty_dungeons_mode == 'rewards': + world.set_empty_dungeon_rewards(settings.empty_dungeons_rewards) if settings.triforce_hunt: settings.distribution.configure_triforce_hunt(worlds) @@ -185,6 +189,7 @@ def make_spoiler(settings: Settings, worlds: list[World]) -> Spoiler: elif any(world.dungeon_rewards_hinted for world in worlds) or any(hint_type in settings.misc_hints for hint_type in misc_item_hint_table) or any(hint_type in settings.misc_hints for hint_type in misc_location_hint_table): spoiler.find_misc_hint_items() spoiler.build_file_hash() + spoiler.build_password(settings.password_lock) return spoiler @@ -236,7 +241,7 @@ def compress_rom(input_file: str, output_file: str, delete_input: bool = False) logger.info("OS not supported for ROM compression.") raise Exception("This operating system does not support ROM compression. You may only output patch files or uncompressed ROMs.") - run_process(logger, [compressor_path, input_file, output_file]) + run_process(logger, [compressor_path, input_file, output_file], check=True) if delete_input: os.remove(input_file) diff --git a/Messages.py b/Messages.py index 7f1dcedf34..0133d9a88e 100644 --- a/Messages.py +++ b/Messages.py @@ -65,6 +65,7 @@ 0xF0: ('silver_rupee', 1, lambda d: '' ), 0xF1: ('key_count', 1, lambda d: '' ), 0xF2: ('outgoing_item_filename', 0, lambda _: '' ), + 0xF3: ('farores_wind_destination', 0, lambda _: '' ), } # Maps unicode characters to corresponding bytes in OOTR's character set. @@ -161,6 +162,12 @@ (0x0038, "\x08\x13\x11You found the \x05\x41Megaton Hammer\x05\x40!\x01It's so heavy, you need to\x01use two hands to swing it!"), (0x0039, "\x08\x13\x0FYou found the \x05\x41Lens of Truth\x05\x40!\x01Mysterious things are hidden\x01everywhere!"), (0x003A, "\x08\x13\x08You found the \x05\x41Ocarina of Time\x05\x40!\x01It glows with a mystical light..."), + (0x003C, "\x08\x13\x67You received the \x05\x41Fire\x01Medallion\x05\x40!\x01Darunia awakens as a Sage and\x01adds his power to yours!"), + (0x003D, "\x08\x13\x68You received the \x05\x43Water\x01Medallion\x05\x40!\x01Ruto awakens as a Sage and\x01adds her power to yours!"), + (0x003E, "\x08\x13\x66You received the \x05\x42Forest\x01Medallion\x05\x40!\x01Saria awakens as a Sage and\x01adds her power to yours!"), + (0x003F, "\x08\x13\x69You received the \x05\x46Spirit\x01Medallion\x05\x40!\x01Nabooru awakens as a Sage and\x01adds her power to yours!"), + (0x0040, "\x08\x13\x6BYou received the \x05\x44Light\x01Medallion\x05\x40!\x01Rauru the Sage adds his power\x01to yours!"), + (0x0041, "\x08\x13\x6AYou received the \x05\x45Shadow\x01Medallion\x05\x40!\x01Impa awakens as a Sage and\x01adds her power to yours!"), (0x0042, "\x08\x13\x14You got an \x05\x41Empty Bottle\x05\x40!\x01You can put something in this\x01bottle."), (0x0048, "\x08\x13\x10You got a \x05\x41Magic Bean\x05\x40!\x01Find a suitable spot for a garden\x01and plant it."), (0x9048, "\x08\x13\x10You got a \x05\x41Pack of Magic Beans\x05\x40!\x01Find suitable spots for a garden\x01and plant them."), @@ -192,6 +199,9 @@ (0x0072, "\x08\x13\x12You got the \x05\x44Light Arrow\x05\x40!\x01The light of justice\x01will smite evil!"), (0x0079, "\x08\x13\x50You got the \x05\x41Goron's Bracelet\x05\x40!\x01Now you can pull up Bomb\x01Flowers."), (0x007B, "\x08\x13\x70You obtained the \x05\x41Gerudo's \x01Membership Card\x05\x40!\x01You can get into the Gerudo's\x01training ground."), + (0x0080, "\x08\x13\x6CYou got the \x05\x42Kokiri's Emerald\x05\x40!\x01This is the Spiritual Stone of \x01Forest passed down by the\x01Great Deku Tree."), + (0x0081, "\x08\x13\x6DYou obtained the \x05\x41Goron's Ruby\x05\x40!\x01This is the Spiritual Stone of \x01Fire passed down by the Gorons!"), + (0x0082, "\x08\x13\x6EYou obtained \x05\x43Zora's Sapphire\x05\x40!\x01This is the Spiritual Stone of\x01Water passed down by the\x01Zoras!"), (0x0090, "\x08\x13\x00Now you can pick up \x01many \x05\x41Deku Sticks\x05\x40!\x01You can carry up to \x05\x4620\x05\x40 of them!"), (0x0091, "\x08\x13\x00You can now pick up \x01even more \x05\x41Deku Sticks\x05\x40!\x01You can carry up to \x05\x4630\x05\x40 of them!"), (0x0098, "\x08\x13\x1AYou got \x05\x41Lon Lon Milk\x05\x40!\x01This milk is very nutritious!\x01There are two drinks in it."), @@ -278,7 +288,9 @@ (0x90B1, "\x08You got a \x05\x45Recovery Heart\x05\x40!\x01Your life energy is recovered!"), (0x90B2, "\x08You got a \x05\x46bundle of arrows\x05\x40!"), (0x90B3, "\x08\x13\x58You got \x05\x41Deku Seeds\x05\x40!\x01Use these as bullets\x01for your Slingshot."), - (0x90B4, "\x08You got the \x05\x43Bronze Scale\x05\x40!\x01You learned how\x01to swim on surface!"), + (0x90B4, "\x08You found a \x05\x41fairy\x05\x40!\x01Your health has been restored!"), + (0x90B5, "\x08You found \x05\x43literally nothing\x05\x40!"), + (0x90B6, "\x08You got the \x05\x43Bronze Scale\x05\x40!\x01You learned how\x01to swim on surface!"), ] KEYSANITY_MESSAGES: list[tuple[int, str]] = [ @@ -508,12 +520,7 @@ (0x0033, ("\x08\x13\x09You got \x05\x41Bombchus\x05\x40!", 0x23)), (0x0034, ("\x08\x13\x01You got a \x05\x41Deku Nut\x05\x40!", 0x23)), (0x0037, ("\x08\x13\x00You got a \x05\x41Deku Stick\x05\x40!", 0x23)), - (0x003C, ("\x08\x13\x67You received the \x05\x41Fire\x01Medallion\x05\x40!\x01Darunia awakens as a Sage and\x01adds his power to yours!", 0x23)), - (0x003D, ("\x08\x13\x68You received the \x05\x43Water\x01Medallion\x05\x40!\x01Ruto awakens as a Sage and\x01adds her power to yours!", 0x23)), - (0x003E, ("\x08\x13\x66You received the \x05\x42Forest\x01Medallion\x05\x40!\x01Saria awakens as a Sage and\x01adds her power to yours!", 0x23)), - (0x003F, ("\x08\x13\x69You received the \x05\x46Spirit\x01Medallion\x05\x40!\x01Nabooru awakens as a Sage and\x01adds her power to yours!", 0x23)), - (0x0040, ("\x08\x13\x6BYou received the \x05\x44Light\x01Medallion\x05\x40!\x01Rauru the Sage adds his power\x01to yours!", 0x23)), - (0x0041, ("\x08\x13\x6AYou received the \x05\x45Shadow\x01Medallion\x05\x40!\x01Impa awakens as a Sage and\x01adds her power to yours!", 0x23)), + (0x003B, ("\x08You cast Farore's Wind!\x01\x1C\x05\x42Return to \xF3\x01Dispel the Warp Point\x01Exit\x05\x40", 0x23)), (0x0043, ("\x08\x13\x15You got a \x05\x41Red Potion\x05\x40!\x01It will restore your health", 0x23)), (0x0044, ("\x08\x13\x16You got a \x05\x42Green Potion\x05\x40!\x01It will restore your magic.", 0x23)), (0x0045, ("\x08\x13\x17You got a \x05\x43Blue Potion\x05\x40!\x01It will recover your health\x01and magic.", 0x23)), @@ -526,9 +533,6 @@ (0x0055, ("\x08You got a \x05\x45Recovery Heart\x05\x40!\x01Your life energy is recovered!", 0x23)), (0x005D, ("\x08\x13\x1CYou put a \x05\x44Blue Fire\x05\x40\x01into the bottle!\x01This is a cool flame you can\x01use on red ice.", 0x23)), (0x007A, ("\x08\x13\x1DYou put a \x05\x41Bug \x05\x40in the bottle!\x01This kind of bug prefers to\x01live in small holes in the ground.", 0x23)), - (0x0080, ("\x08\x13\x6CYou got the \x05\x42Kokiri's Emerald\x05\x40!\x01This is the Spiritual Stone of \x01Forest passed down by the\x01Great Deku Tree.", 0x23)), - (0x0081, ("\x08\x13\x6DYou obtained the \x05\x41Goron's Ruby\x05\x40!\x01This is the Spiritual Stone of \x01Fire passed down by the Gorons!", 0x23)), - (0x0082, ("\x08\x13\x6EYou obtained \x05\x43Zora's Sapphire\x05\x40!\x01This is the Spiritual Stone of\x01Water passed down by the\x01Zoras!", 0x23)), (0x0097, ("\x08\x13\x20You caught a \x05\x41Poe \x05\x40in a bottle!\x01Something good might happen!", 0x23)), (0x00DC, ("\x08\x13\x58You got \x05\x41Deku Seeds\x05\x40!\x01Use these as bullets\x01for your Slingshot.", 0x23)), (0x00E6, ("\x08You got a \x05\x46bundle of arrows\x05\x40!", 0x23)), @@ -555,6 +559,7 @@ (0x045A, ("\x12\x68\x7AMweep\x07\x04\x5B", 0x23)), (0x045B, ("\x12\x68\x7AMweep", 0x23)), (0x045C, ("Come back when you have\x01your own bow and you'll get the\x01\x05\x41real prize\x05\x40!\x0E\x78", 0x00)), + (0x045D, ("\x12\x68\x5F\x05\x44This game seems shady. Maybe\x01the \x05\x41eye of truth\x05\x44 will show the\x01way forward?\x0E\x78", 0x00)), (0x6013, ("Hey, newcomer!\x04Want me to throw you in jail?\x01\x01\x1B\x05\x42No\x01Yes\x05\x40", 0x00)), ] diff --git a/Music.py b/Music.py index 65a564f873..4d20d52b4f 100644 --- a/Music.py +++ b/Music.py @@ -1,5 +1,6 @@ # Much of this is heavily inspired from and/or based on az64's / Deathbasket's MM randomizer from __future__ import annotations +from enum import Enum import io import itertools import os @@ -7,8 +8,11 @@ import zipfile from collections.abc import Iterable from typing import TYPE_CHECKING, Optional, Any +from Audiobank import * +from MusicHelpers import process_sequence_mmr_zseq, process_sequence_mmrs, process_sequence_ootrs from Rom import Rom +from Sequence import Sequence, SequenceGame from Utils import compare_version, data_path if TYPE_CHECKING: @@ -117,60 +121,6 @@ ("File Select", 0x57), ) - -class Bank: - def __init__(self, index: int, meta: bytearray, data: bytes) -> None: - self.index: int = index - self.meta: bytearray = meta - self.data: bytes = data - self.zsounds: dict[int, dict[str, Any]] = {} - - def add_zsound(self, tempaddr: int, zsound: dict[str, Any]) -> None: - self.zsounds[tempaddr] = zsound - - def get_entry(self, offset: int) -> bytes: - bank_entry = offset.to_bytes(4, 'big') - bank_entry += len(self.data).to_bytes(4, 'big') - bank_entry += self.meta - return bank_entry - - def update_zsound_pointers(self) -> None: - for zsound_tempaddr in self.zsounds.keys(): - self.data = self.data.replace(zsound_tempaddr.to_bytes(4, byteorder='big'), self.zsounds[zsound_tempaddr]['offset'].to_bytes(4, byteorder='big')) - - -# Represents the information associated with a sequence, aside from the sequence data itself -class Sequence: - def __init__(self, name: str, cosmetic_name: str, type: int = 0x0202, instrument_set: int | str = 0x03, - replaces: int = -1, vanilla_id: int = -1, seq_file: Optional[str] = None, new_instrument_set: bool = False, - zsounds: Optional[list[dict[str, str]]] = None) -> None: - self.name: str = name - self.seq_file = seq_file - self.cosmetic_name: str = cosmetic_name - self.replaces: int = replaces - self.vanilla_id: int = vanilla_id - self.type: int = type - self.new_instrument_set: bool = new_instrument_set - self.zsounds: Optional[list[dict[str, str]]] = zsounds - self.zbank_file: Optional[str] = None - self.bankmeta: Optional[str] = None - - self.instrument_set: int = 0x0 - if isinstance(instrument_set, str): - if instrument_set == '-': - self.new_instrument_set = True - else: - self.instrument_set = int(instrument_set, 16) - else: - self.instrument_set = instrument_set - - def copy(self) -> Sequence: - copy = Sequence(self.name, self.cosmetic_name, self.type, self.instrument_set, self.replaces, self.vanilla_id, self.seq_file, self.new_instrument_set, self.zsounds) - copy.zbank_file = self.zbank_file - copy.bankmeta = self.bankmeta - return copy - - # Represents actual sequence data, along with metadata for the sequence data block class SequenceData: def __init__(self) -> None: @@ -182,7 +132,8 @@ def __init__(self) -> None: def process_sequences(rom: Rom, ids: Iterable[tuple[str, int]], seq_type: str = 'bgm', disabled_source_sequences: Optional[list[str]] = None, disabled_target_sequences: Optional[dict[str, tuple[str, int]]] = None, include_custom: bool = True, sequences: Optional[dict[str, Sequence]] = None, target_sequences: Optional[dict[str, Sequence]] = None, - groups: Optional[dict[str, list[str]]] = None, include_custom_audiobanks: bool = False) -> tuple[dict[str, Sequence], dict[str, Sequence], dict[str, list[str]]]: + groups: Optional[dict[str, list[str]]] = None, include_custom_audiobanks: bool = False, + log: CosmeticsLog = None) -> tuple[dict[str, Sequence], dict[str, Sequence], dict[str, list[str]]]: disabled_source_sequences = [] if disabled_source_sequences is None else disabled_source_sequences disabled_target_sequences = {} if disabled_target_sequences is None else disabled_target_sequences sequences = {} if sequences is None else sequences @@ -199,8 +150,8 @@ def process_sequences(rom: Rom, ids: Iterable[tuple[str, int]], seq_type: str = id = bgm[1] # Create new sequences - seq = Sequence(name, cosmetic_name, type, instrument_set, vanilla_id = id) - target = Sequence(name, cosmetic_name, type, instrument_set, replaces = id) + seq = Sequence(name, cosmetic_name, seq_type, type, instrument_set, vanilla_id = id) + target = Sequence(name, cosmetic_name, seq_type, type, instrument_set, replaces = id) # Special handling for file select/fairy fountain if seq.vanilla_id != 0x57 and cosmetic_name not in disabled_source_sequences: @@ -233,89 +184,21 @@ def process_sequences(rom: Rom, ids: Iterable[tuple[str, int]], seq_type: str = if fname in seq_exclusion_list: continue - # Find .ootrs zip files - if fname.endswith('.ootrs'): - skip = False - # Open zip file - filepath = os.path.join(dirpath, fname) - with zipfile.ZipFile(filepath) as zip: - # Make sure meta file and seq file exists - meta_file = None - seq_file = None - zbank_file = None - bankmeta_file = None - for f in zip.namelist(): - if f.endswith(".meta"): - meta_file = f - continue - if f.endswith(".seq"): - seq_file = f - continue - if f.endswith(".zbank"): - if not include_custom_audiobanks: # Check if we are excluding sequences with custom banks - skip = True - break - zbank_file = f - continue - if f.endswith(".bankmeta"): - bankmeta_file = f - continue - - if skip: - continue - - if not meta_file: - raise FileNotFoundError(f'No .meta file in: "{fname}". This should never happen') - if not seq_file: - raise FileNotFoundError(f'No .seq file in: "{fname}". This should never happen') - if zbank_file and not bankmeta_file: - raise FileNotFoundError(f'Custom track "{fname}" contains .zbank but no .bankmeta') - - # Read meta info - try: - with zip.open(meta_file, 'r') as stream: - lines = io.TextIOWrapper(stream).readlines() # Use TextIOWrapper in order to get text instead of binary from the seq. - # Strip newline(s) - lines = [line.rstrip() for line in lines] - except Exception as ex: - raise FileNotFoundError(f'Error reading meta file for: "{fname}". This should never happen') - - # Create new sequence, checking third line for correct type - if (len(lines) > 2 and (lines[2].lower() == seq_type.lower() or lines[2] == '')) or (len(lines) <= 2 and seq_type == 'bgm'): - seq = Sequence(filepath, lines[0], seq_file = seq_file, instrument_set = lines[1]) - if zbank_file: - seq.zbank_file = zbank_file - seq.bankmeta = bankmeta_file - seq.zsounds = [] - if seq.instrument_set < 0x00 or seq.instrument_set > 0x25: - raise Exception(f'{seq.name}: Sequence instrument must be in range [0x00, 0x25]') - if seq.cosmetic_name == "None": - raise Exception(f'{seq.name}: Sequences should not be named "None" as that is used for disabled music.') - if seq.cosmetic_name in sequences: - raise Exception(f'{seq.name} Sequence names should be unique. Duplicate sequence name: {seq.cosmetic_name}') - - if seq.cosmetic_name not in disabled_source_sequences: - sequences[seq.cosmetic_name] = seq - - if len(lines) >= 4: - seq_groups = lines[3].split(',') - for group in seq_groups: - group = group.strip() - if group not in groups: - groups[group] = [] - groups[group].append(seq.cosmetic_name) - - # Process ZSOUND lines. Make these lines in the format of ZSOUND:file_path:temp_addr - for line in lines: - tokens = line.split(":") - if tokens[0] == "ZSOUND": - zsound_file = tokens[1] - zsound_tempaddr = tokens[2] - zsound = { - "file": tokens[1], - "tempaddr": tokens[2] - } - seq.zsounds.append(zsound) + filepath = os.path.join(dirpath, fname) + seq = None + try: + if fname.lower().endswith('.ootrs'): + seq = process_sequence_ootrs(filepath, fname, seq_type, include_custom_audiobanks, groups) + elif fname.lower().endswith('.zseq'): + seq = process_sequence_mmr_zseq(filepath, fname, seq_type, include_custom_audiobanks, groups) + elif fname.lower().endswith('.mmrs'): + seq = process_sequence_mmrs(filepath, fname, seq_type, include_custom_audiobanks, groups) + if seq: + sequences[seq.cosmetic_name] = seq + except Exception as e: + if log: + log.errors.append(f"Error processing custom sequence {fname} - {e}") + continue return sequences, target_sequences, groups @@ -394,7 +277,7 @@ def rebuild_sequences(rom: Rom, sequences: list[Sequence], log: CosmeticsLog, sy old_sequences.append(entry) # List of sequences containing the new sequence data - new_sequences = [] + new_sequences: list[SequenceData] = [] address = 0 # Byte array to hold the data for the whole audio sequence new_audio_sequence = [] @@ -417,10 +300,19 @@ def rebuild_sequences(rom: Rom, sequences: list[Sequence], log: CosmeticsLog, sy else: # Read sequence info try: - with zipfile.ZipFile(seq.name) as zip: - with zip.open(seq.seq_file, 'r') as stream: + if seq.name.endswith('.zseq'): + with open(seq.name, 'rb') as stream: new_entry.data = bytearray(stream.read()) new_entry.size = len(new_entry.data) + else: + with zipfile.ZipFile(seq.name) as zip: + with zip.open(seq.seq_file, 'r') as stream: + new_entry.data = bytearray(stream.read()) + new_entry.size = len(new_entry.data) + # Align sequences to 0x10 + if new_entry.size % 0x10 != 0: + new_entry.data.extend(bytearray(0x10 - (new_entry.size % 0x10))) + new_entry.size += 0x10 - (new_entry.size % 0x10) if new_entry.size <= 0x10: raise Exception(f'Invalid sequence file "{seq.name}.seq"') new_entry.data[1] = 0x20 @@ -430,14 +322,17 @@ def rebuild_sequences(rom: Rom, sequences: list[Sequence], log: CosmeticsLog, sy new_entry.size = old_sequences[i].size new_entry.data = old_sequences[i].data + # Check if we have already added this sequence. This happens if we have less available sequences than total sequences + for new_seq in new_sequences: + if (new_entry.size == new_seq.size) and (new_entry.data == new_seq.data): + new_entry.address = new_seq.address # Use the address of the sequence that has already been added + new_entry.data = [] # Clear the data so it doesn't get added again. + break + new_sequences.append(new_entry) # Concatenate the full audio sequence and the new sequence data if new_entry.data != [] and new_entry.size > 0: - # Align sequences to 0x10 - if new_entry.size % 0x10 != 0: - new_entry.data.extend(bytearray(0x10 - (new_entry.size % 0x10))) - new_entry.size += 0x10 - (new_entry.size % 0x10) new_audio_sequence.extend(new_entry.data) # Increment the current address by the size of the new sequence address += new_entry.size @@ -510,8 +405,8 @@ def rebuild_sequences(rom: Rom, sequences: list[Sequence], log: CosmeticsLog, sy rom.write_bytes(bank_index_base + 0x270 + 0x10 * i, bank_entry) # Write the new entry at the end of the bank table. rom.write_byte(bank_index_base + 0x01, 0x4C) # Updates AudioBank Index Header if no custom banks are present as this would be 0x26 which would crash the game if a fanfare was played - added_banks = [] # Store copies of all the banks we've added - added_instruments = [] # Store copies of all the instruments we've added + added_banks: list[AudioBank] = [] # Store copies of all the banks we've added + added_samples: list[Sample] = [] # Store copies of all the samples we've added new_bank_index = 0x4C instr_data = bytearray(0) # Store all the new instrument data that will be added to the end of audiotable @@ -522,58 +417,198 @@ def rebuild_sequences(rom: Rom, sequences: list[Sequence], log: CosmeticsLog, sy instr_offset_in_file = audiotable_size bank_table_base = 0 + + # Load OOT Audiobin + AUDIOBANK_INDEX_ADDR = 0x00B896A0 + AUDIOBANK_ADDR = 0xD390 + AUDIOTABLE_INDEX_ADDR = 0xB8A1C0 + AUDIOTABLE_ADDR = 0x79470 + + audiobank_index = rom.read_bytes(AUDIOBANK_INDEX_ADDR, 0x2A0) + audiobank = rom.read_bytes(AUDIOBANK_ADDR, 0x1CA50) + audiotable_index = rom.read_bytes(AUDIOTABLE_INDEX_ADDR, 0x80) # Read audiotable index into bytearray + audiotable = rom.read_bytes(AUDIOTABLE_ADDR, 0x460AD0) # Read audiotable (samples) into bytearray + + oot_audiobin: Audiobin = Audiobin(audiobank, audiobank_index, audiotable, audiotable_index) + + # Load MM Audiobin if needed + mm_audiobin: Audiobin = None + for i in range(0x6E): # Loop through all the replacement sequences + j = replacement_dict.get(i if new_sequences[i].size else new_sequences[i].address, None) + if j and j.game == SequenceGame.MM: # we have at least one MM sequence so load the audiobin + with zipfile.ZipFile(os.path.join(data_path(), 'Music', 'MM.audiobin')) as mm_audiobin_zip: + mm_audiobank = bytearray(mm_audiobin_zip.read("Audiobank")) + mm_audiobank_index = bytearray(mm_audiobin_zip.read("Audiobank_index")) + mm_audiotable = bytearray(mm_audiobin_zip.read("Audiotable")) + mm_audiotable_index = bytearray(mm_audiobin_zip.read("Audiotable_index")) + mm_audiobin = Audiobin(mm_audiobank, mm_audiobank_index, mm_audiotable, mm_audiotable_index) + break + for i in range(0x6E): bank_table_base = (rom.read_int32(symbols['CFG_AUDIOBANK_TABLE_EXTENDED_ADDR']) - 0x80400000) + 0x3480000 seq_bank_base = 0xB89911 + 0xDD + (i * 2) j = replacement_dict.get(i if new_sequences[i].size else new_sequences[i].address, None) if j is not None and j.new_instrument_set: - # Open the .ootrs file - with zipfile.ZipFile(j.name) as zip: - - # Load the .zbank file - with zip.open(j.zbank_file, 'r') as stream: - bankdata = stream.read() - bank = None - - # Check if we have already added this bank - for added_bank in added_banks: - if added_bank.data == bankdata: - bank = added_bank - - if not bank: - bank_meta = bytearray(zip.open(j.bankmeta, 'r').read()) - bank = Bank(new_bank_index, bank_meta, bankdata) - - # Handle any new instruments - for zsound in j.zsounds: - instrument = None - tempaddr = int(zsound["tempaddr"], 16) - curr_instrument_data = zip.open(zsound["file"], 'r').read() - already_added = False - for added_instrument in added_instruments: - if added_instrument['data'] == curr_instrument_data: - # Already added this instrument. Just add it to the bank - instrument = added_instrument - bank.add_zsound(tempaddr, instrument) - already_added = True - if not already_added: - instrument = {'offset': instr_offset_in_file, 'data': curr_instrument_data, - 'size': len(curr_instrument_data), 'name': zsound["file"]} - instr_data += curr_instrument_data - - # Align instrument data to 0x10 - if len(instr_data) % 0x10 != 0: - padding_length = 0x10 - (len(instr_data) % 0x10) - instr_data += (bytearray(padding_length)) - instrument['size'] += padding_length - bank.add_zsound(tempaddr, instrument) - added_instruments.append(instrument) - instr_offset_in_file += instrument['size'] - added_banks.append(bank) - new_bank_index += 1 - - # Update the sequence's bank (instrument set) - rom.write_byte(seq_bank_base, bank.index) + # Open the .ootrs/.mmrs file + newbank: AudioBank = None + vanilla_mm_bank: AudioBank = None + bankdata = None + bank_entry = None + audiobin = oot_audiobin if j.game == SequenceGame.OOT else mm_audiobin # Load the correct audiobin + + # Handle MMR .zseq files. These use vanilla MM banks so just build the bank using the data from the MM audiobin. We'll update it with OOT data later + if j.name.lower().endswith('.zseq'): + # Get the entry from Audiobank_index + offset = 0x10 + j.instrument_set*0x10 + bank_entry = audiobin.Audiobank_index[offset:offset+0x10] + # Get the bank + vanilla_mm_bank = AudioBank(bank_entry, audiobin.Audiobank, audiobin.Audiotable, audiobin.Audiotable_index) + vanilla_mm_bank.table_entry[0x0A] = 1 + bankdata = vanilla_mm_bank.bank_data + else: # MMRS or OOTRs with custom banks + with zipfile.ZipFile(j.name) as zip: + # Check if we have a zbank file because MMR sequences might not. + if j.zbank_file: + bankdata = bytearray(zip.read(j.zbank_file)) # Load the .zbank file + bank_meta = bytearray(zip.open(j.bankmeta, 'r').read()) + bank_entry = bytearray(4) + len(bankdata).to_bytes(4, 'big') + bank_meta + elif j.game == SequenceGame.MM: # MM sequence without a zbank: + offset = 0x10 + j.instrument_set*0x10 + bank_entry = audiobin.Audiobank_index[offset:offset+0x10] + # Get the bank + vanilla_mm_bank = AudioBank(bank_entry, audiobin.Audiobank, audiobin.Audiotable, audiobin.Audiotable_index) + vanilla_mm_bank.table_entry[0x0A] = 1 + bankdata = vanilla_mm_bank.bank_data + else: # Probably should never get here + raise Exception("No bank data available for custom music: " + j.cosmetic_name) + + # Update the bank's cache type based on bgm/fanfare + bank_entry[9] = 1 if j.seq_type == 'fanfare' else 2 + # Check if we have already added this bank + for added_bank in added_banks: + if added_bank.original_data == bankdata: + newbank = added_bank + if added_bank.table_entry[8:16] != bank_entry[8:16]: # We've already added this bank but it has different metadata + found: bool = False + for bank in added_bank.duplicate_banks: + if bank.table_entry[8:16] == bank_entry[8:16]: + found = True + newbank = bank + break + if not found: + dupe_bank = AudioBank(bank_entry, bytearray(0), None, None) + dupe_bank.bank_index = new_bank_index + new_bank_index += 1 + newbank.duplicate_banks.append(dupe_bank) # Make a new bank with just the meta and add it as a duplicate so it can be added separately but point to the same data. + newbank = dupe_bank + break + + if not newbank: + if vanilla_mm_bank: + newbank = vanilla_mm_bank + else: + newbank = AudioBank(bank_entry, bankdata, audiobin.Audiotable, audiobin.Audiotable_index) + newbank.bank_index = new_bank_index + + zsound_samples: list[Sample] = [] + # Handle new zsounds + tempbank = AudioBank(bank_entry, bankdata, None, None) + if j.name.lower().endswith('.ootrs') or j.name.lower().endswith('.mmrs'): + with zipfile.ZipFile(j.name) as zip: + for zsound in j.zsounds: + if zsound['tempaddr']: # Old style/MMR zsound that uses the stupid temp address thing + for sample in tempbank.get_all_samples(): + if sample.addr == zsound['tempaddr']: + parent = sample.parent + if type(parent) == Instrument: + if parent.highNoteSample and parent.highNoteSample.addr == sample.addr: + sample = newbank.instruments[parent.inst_id].highNoteSample + elif parent.normalNoteSample and parent.normalNoteSample.addr == sample.addr: + sample = newbank.instruments[parent.inst_id].normalNoteSample + elif parent.lowNoteSample and parent.lowNoteSample.addr == sample.addr: + sample = newbank.instruments[parent.inst_id].lowNoteSample + if type(parent) == Drum: + sample = newbank.drums[parent.drum_id].sample + if type(parent) == SFX: + sample = newbank.SFX[parent.sfx_id].sample + sample.data = zip.read(zsound['file']) + sample.addr = -1 # Set the sample address to -1 so that we know it's from a zsound + zsound_samples.append(sample) + break + pass + else: + curr_sample_data = zip.read(zsound['file']) + already_added = False + sample: Sample = None + + # Get the sample reference from the new bank + if zsound['type'] == 'DRUM': + sample = newbank.drums[zsound['index']].sample + if zsound['type'] == 'SFX': + sample = newbank.SFX[zsound['index']].sample + if zsound['type'] == 'INST': + if zsound['alt'] == 'LOW': + sample = newbank.instruments[zsound['index']].lowNoteSample + elif zsound['alt'] == 'NORM': + sample = newbank.instruments[zsound['index']].normalNoteSample + elif zsound['alt'] == 'HIGH': + sample = newbank.instruments[zsound['index']].highNoteSample + sample.data = curr_sample_data + sample.addr = -1 # Set the sample address to -1 so that we know it's from a zsound + zsound_samples.append(sample) + + # For MM, update the bank's samples with OOT addresses if they exist: + mm_samples_to_add: list[Sample] = [] + # Cross reference MM instrument data against OOT and update accordingly + if j.game == SequenceGame.MM: + all_samples = newbank.get_all_samples() + all_samples = [sample for sample in all_samples if sample.addr != -1] # Skip samples that are new ZSOUNDS because we'll handle them later + for sample in all_samples: + match = oot_audiobin.find_sample_in_audiobanks(sample.data) + if match: # Found a matching sample in OOT. Just update the bank with the corresponding sample address + # Update the sample's offset in the new bank + newbank.bank_data[sample.bank_offset+4:sample.bank_offset+8] = match.audiotable_addr.to_bytes(4, 'big') + else: # Didn't find a matching sample, Will have to add it later + mm_samples_to_add.append(sample) + i = 0 + while i < len(zsound_samples): + match = oot_audiobin.find_sample_in_audiobanks(zsound_samples[i].data) + if match: # Found a matching sample in OOT. Just update the bank with the corresponding sample address and remove if from zsound list + # Update the sample's offset in the new bank + newbank.bank_data[zsound_samples[i].bank_offset+4:zsound_samples[i].bank_offset+8] = match.audiotable_addr.to_bytes(4, 'big') + zsound_samples.pop(i) + continue + i += 1 + + # Create a list of all samples that need to be added. + # This includes new samples, and samples from MM that don't exist in OOT + for sample_to_add in zsound_samples + mm_samples_to_add: + # Check if we've already added this sample's data + already_added = False + for added_sample in added_samples: + if sample_to_add.data == added_sample.data: + # Already added this sample, just update the bank + newbank.bank_data[sample_to_add.bank_offset+4:sample_to_add.bank_offset+8] = added_sample.audiotable_addr.to_bytes(4, 'big') + already_added = True + break + if not already_added: + instr_data += sample_to_add.data + # Pad instrument data to 0x10 + sample_to_add.audiotable_addr = instr_offset_in_file + instr_offset_in_file += len(sample_to_add.data) + if len(instr_data) % 0x10 != 0: + padding_length = 0x10 - (len(instr_data) % 0x10) + instr_data += (bytearray(padding_length)) + instr_offset_in_file += padding_length + # Update the sample address in the bank data + newbank.bank_data[sample_to_add.bank_offset+4:sample_to_add.bank_offset+8] = sample_to_add.audiotable_addr.to_bytes(4, 'big') + added_samples.append(sample_to_add) + + added_banks.append(newbank) + new_bank_index += 1 + + # Update the sequence's bank (instrument set) + rom.write_byte(seq_bank_base, newbank.bank_index) # Patch the new instrument data into the ROM in a new file. @@ -599,13 +634,18 @@ def rebuild_sequences(rom: Rom, sequences: list[Sequence], log: CosmeticsLog, sy audiobank_data = rom.read_bytes(audiobank_start, audiobank_size) new_bank_offset = len(audiobank_data) for bank in added_banks: - bank.update_zsound_pointers() + # Sample pointers should already be correct now + # bank.update_zsound_pointers() bank.offset = new_bank_offset #absolute_offset = new_audio_banks_addr + new_bank_offset - bank_entry = bank.get_entry(new_bank_offset) - rom.write_bytes(bank_table_base + 0x10 + bank.index * 0x10, bank_entry) - new_bank_data += bank.data - new_bank_offset += len(bank.data) + bank_entry = bank.build_entry(new_bank_offset) + rom.write_bytes(bank_table_base + 0x10 + bank.bank_index * 0x10, bank_entry) + for dupe_bank in bank.duplicate_banks: + bank_entry = bytearray(dupe_bank.build_entry(new_bank_offset)) + bank_entry[4:8] = bank.size.to_bytes(4, 'big') + rom.write_bytes(bank_table_base + 0x10 + dupe_bank.bank_index * 0x10, bank_entry) + new_bank_data += bank.bank_data + new_bank_offset += len(bank.bank_data) # If there is any audiobank data to add, move the entire audiobank file to a new place in ROM. Update the existing dmadata record if len(new_bank_data) > 0: @@ -719,20 +759,20 @@ def randomize_music(rom: Rom, settings: Settings, log: CosmeticsLog, symbols: di # Grab our lists of sequences. if settings.background_music in ['random', 'random_custom_only'] or bgm_mapped: - sequences, target_sequences, bgm_groups = process_sequences(rom, bgm_ids.values(), 'bgm', disabled_source_sequences, disabled_target_sequences, custom_sequences_enabled, include_custom_audiobanks=custom_audiobanks_enabled) + sequences, target_sequences, bgm_groups = process_sequences(rom, bgm_ids.values(), 'bgm', disabled_source_sequences, disabled_target_sequences, custom_sequences_enabled, include_custom_audiobanks=custom_audiobanks_enabled, log=log) if settings.background_music == 'random_custom_only': sequences = {name: seq for name, seq in sequences.items() if name not in bgm_ids or name in music_mapping.values()} if available_sequences: for sequence_name in available_sequences.get("bgm", []): - sequences[sequence_name] = Sequence(sequence_name, sequence_name) + sequences[sequence_name] = Sequence(sequence_name, sequence_name, 'bgm') if settings.fanfares in ['random', 'random_custom_only'] or ff_mapped or ocarina_mapped: - fanfare_sequences, target_fanfare_sequences, fanfare_groups = process_sequences(rom, ff_ids.values(), 'fanfare', disabled_source_sequences, disabled_target_sequences, custom_sequences_enabled, include_custom_audiobanks=custom_audiobanks_enabled) + fanfare_sequences, target_fanfare_sequences, fanfare_groups = process_sequences(rom, ff_ids.values(), 'fanfare', disabled_source_sequences, disabled_target_sequences, custom_sequences_enabled, include_custom_audiobanks=custom_audiobanks_enabled, log=log) if settings.fanfares == 'random_custom_only': fanfare_sequences = {name: seq for name, seq in fanfare_sequences.items() if name not in ff_ids or name in music_mapping.values()} if available_sequences: for sequence_name in available_sequences.get("fanfare", []): - fanfare_sequences[sequence_name] = Sequence(sequence_name, sequence_name) + fanfare_sequences[sequence_name] = Sequence(sequence_name, sequence_name, 'fanfare') # Handle groups. plando_groups = {n: s for n, s in log.src_dict.get('bgm_groups', {}).get('groups', {}).items()} diff --git a/MusicHelpers.py b/MusicHelpers.py new file mode 100644 index 0000000000..f4b3e9aa8c --- /dev/null +++ b/MusicHelpers.py @@ -0,0 +1,214 @@ +# Sequence Processing Functions in the form: +# def process_sequence_func(file_name: str, seq_type: str, include_custom_audiobanks: bool) +# return a Sequence object if it matches seq_type + include_custom_audiobank rule, return None otherwise + +import io +import os +import zipfile +from Sequence import Sequence, SequenceGame +from Utils import data_path + +def process_sequence_mmr_zseq(filepath: str, file_name: str, seq_type: str, include_custom_audiobanks: bool, groups) -> Sequence: + split = file_name.split('.zseq') + base = split[0] + split = base.split('_') + + if len(split) != 3: + raise Exception("Error while processing MMR .zseq " + file_name + ": Not enough parameters in the file name") + + cosmetic_name = split[0] + instrument_set = split[1] + categories = split[2] + + type_match = False + mmrs_categories = categories.split('-') + if seq_type.lower() == 'fanfare' and ('8' in mmrs_categories or '9' in mmrs_categories or '10' in mmrs_categories): + type_match = True + elif seq_type.lower() == 'bgm' and not ('8' in mmrs_categories or '9' in mmrs_categories or '10' in mmrs_categories): + type_match = True + + if not type_match: + return None + + seq_file = filepath + seq = Sequence(filepath, cosmetic_name, seq_type=seq_type, seq_file = seq_file, instrument_set = instrument_set) + seq.game = SequenceGame.MM + seq.new_instrument_set = True + return seq + +def process_sequence_mmrs(filepath: str, file_name: str, seq_type: str, include_custom_audiobanks: bool, groups) -> Sequence: + if not include_custom_audiobanks: + return None + + with zipfile.ZipFile(filepath) as zip: + seq_file = None + zbank_file = None + bankmeta_file = None + for f in zip.namelist(): + # Uncomment if MMR ever decides to wisen up and use a common format + #if f.endswith(".meta"): + # meta_file = f + # continue + if f.endswith(".zseq") or f.endswith(".seq"): + seq_file = f + continue + if f.endswith(".zbank"): + zbank_file = f + continue + if f.endswith(".bankmeta"): + bankmeta_file = f + continue + + if not seq_file: + raise FileNotFoundError(f'No .seq file in: "{file_name}". This should never happen') + if zbank_file and not bankmeta_file: + raise FileNotFoundError(f'Custom track "{file_name}" contains .zbank but no .bankmeta') + type_match = False + if 'categories.txt' in zip.namelist(): + mmrs_categories_txt = zip.read('categories.txt').decode() + delimitingChar: str = ',' + if '-' in mmrs_categories_txt: # MMR is ridiculous... + delimitingChar = '-' + elif '\n' in mmrs_categories_txt: + delimitingChar = '\n' + mmrs_categories = mmrs_categories_txt.split(delimitingChar) + if seq_type.lower() == 'fanfare' and ('8' in mmrs_categories or '9' in mmrs_categories or '10' in mmrs_categories): + type_match = True + elif seq_type.lower() == 'bgm' and not ('8' in mmrs_categories or '9' in mmrs_categories or '10' in mmrs_categories): + type_match = True + else: + raise Exception("OWL LIED TO ME") + + if type_match: + if zbank_file: + instrument_set = '-' + else: + instrument_set = int(seq_file.split(".zseq")[0], 16) # Get the instrument set from the .zseq file name + cosmetic_name, _ext = os.path.splitext(file_name) + # Create new sequence + seq = Sequence(filepath, cosmetic_name, seq_type=seq_type, seq_file = seq_file, instrument_set = instrument_set) + if zbank_file: + seq.zbank_file = zbank_file + seq.bankmeta = bankmeta_file + seq.zsounds = [] + + seq.game = SequenceGame.MM + seq.new_instrument_set = True # MM sequences always require new instrument set. + # Make sure we have the MM audio binaries + if not os.path.exists(os.path.join(data_path(), 'Music', 'MM.audiobin')): + # Raise error. Maybe just skip and log a warning? + raise FileNotFoundError(".MMRS sequence found but missing MM.audiobin") + + for f in zip.namelist(): + if f.lower().endswith(".zsound"): + split: str = f.split('.zsound') + split = split[0].split('_') + zsound = { + 'type': None, + 'index': None, + 'alt': None, + 'file': f, + 'tempaddr': int(split[1], 16) + } + seq.zsounds.append(zsound) + return seq + return None + +def process_sequence_ootrs(filepath: str, file_name: str, seq_type: str, include_custom_audiobanks: bool, groups) -> Sequence: + with zipfile.ZipFile(filepath) as zip: + # Make sure meta file and seq file exists + meta_file = None + seq_file = None + zbank_file = None + bankmeta_file = None + for f in zip.namelist(): + if '/' in f: # Only read files in the root of the archive + continue + if f.endswith(".meta"): + meta_file = f + continue + if f.endswith(".seq") or f.endswith(".zseq"): + seq_file = f + continue + if f.endswith(".zbank"): + if not include_custom_audiobanks: # Check if we are excluding sequences with custom banks + return None + zbank_file = f + continue + if f.endswith(".bankmeta"): + bankmeta_file = f + continue + + if not meta_file: + raise FileNotFoundError(f'No .meta file in: "{file_name}". This should never happen') + if not seq_file: + raise FileNotFoundError(f'No .seq file in: "{file_name}". This should never happen') + if zbank_file and not bankmeta_file: + raise FileNotFoundError(f'Custom track "{file_name}" contains .zbank but no .bankmeta') + + instrument_set = '-' + cosmetic_name = filepath + type_match = False + + # Read meta info + with zip.open(meta_file, 'r') as stream: + lines = io.TextIOWrapper(stream).readlines() # Use TextIOWrapper in order to get text instead of binary from the seq. + # Strip newline(s) + lines = [line.rstrip() for line in lines] + cosmetic_name = lines[0] + instrument_set = lines[1] + if len(lines) < 3 and seq_type == 'bgm': + type_match = True + elif len(lines) >= 3 and lines[2].lower() == seq_type.lower(): + type_match = True + + if len(lines) >= 4: + seq_groups = lines[3].split(',') + for group in seq_groups: + group = group.strip() + if group not in groups: + groups[group] = [] + groups[group].append(cosmetic_name) + + if type_match: + # Create new sequence + seq = Sequence(filepath, cosmetic_name, seq_type=seq_type, seq_file = seq_file, instrument_set = instrument_set) + if zbank_file: + seq.zbank_file = zbank_file + seq.bankmeta = bankmeta_file + seq.zsounds = [] + + if seq.instrument_set < 0x00 or seq.instrument_set > 0x25: + raise Exception(f'{seq.name}: OOT Sequence instrument set must be in range [0x00, 0x25]') + if seq.cosmetic_name == "None": + raise Exception(f'{seq.name}: Sequences should not be named "None" as that is used for disabled music.') + + try: + # Process ZSOUND lines. Make these lines in the format of ZSOUND:file_path:temp_addr + for line in lines: + tokens = line.split(":") + if tokens[0] == "ZSOUND": + zsound = { + 'type': tokens[1], + 'index': int(tokens[2]), + 'alt': tokens[3], + 'file': tokens[4], + 'tempaddr': None + } + seq.zsounds.append(zsound) + except: + seq.zsounds.clear() + # Error occurred using the new way, try the old way + for line in lines: + tokens = line.split(":") + if tokens[0] == "ZSOUND": + zsound = { + 'type': None, + 'index': None, + 'alt': None, + 'file': tokens[1], + 'tempaddr': int(tokens[2], 16) + } + seq.zsounds.append(zsound) + return seq + return None diff --git a/Notes/auto-tracker-ctx.md b/Notes/auto-tracker-ctx.md index ae2195a480..08c38ff1e0 100644 --- a/Notes/auto-tracker-ctx.md +++ b/Notes/auto-tracker-ctx.md @@ -1,6 +1,6 @@ The **auto-tracker context** is a region of memory where a portion of the randomizer's configuration variables are stored in a versioned layout defined below. Its intent is to give some symbols added by the randomizer well-defined addresses so that auto-trackers can read them reliably without needing the symbols.json for the specific randomizer version that was used to generate the seed. -The starting address of the auto-tracker context is listed at address `0x8040_000C` (randomizer context + `0xC`). On versions of the randomizer before this feature was added, the starting address is given as zero. At that address, a 4-byte integer can be found. This is the version number of the auto-tracker context and defines the layout of the remainder of the context according to the sections below. The current version is 4. +The starting address of the auto-tracker context is listed at address `0x8040_000C` (randomizer context + `0xC`). On versions of the randomizer before this feature was added, the starting address is given as zero. At that address, a 4-byte integer can be found. This is the version number of the auto-tracker context and defines the layout of the remainder of the context according to the sections below. The current version is 5. # Versions 1–2 @@ -27,24 +27,26 @@ The starting address of the auto-tracker context is listed at address `0x8040_00 Special care needs to be taken when working with version 3 of the auto-tracker context, since a breaking change was made in version 6.2.181 of the randomizer without an accompanying change to the auto-tracker context version. Versions 6.2.180 of the randomizer and earlier use the same layout as version 2 described above (with the addition of the `CFG_DUNGEON_REWARD_AREAS` field), while versions 6.2.181 and later use the same layout as version 4 described below. The version number at addresses 0x35–0x37 of the ROM header may be used to check for the randomizer version, but this may not be accurate for forks of the randomizer if they merged the change early. -# Version 4 +# Versions 4–5 |Offset|Name|Min version|Size|Description| |--:|---|--:|--:|---| -|`0x04`|`CFG_DUNGEON_INFO_ENABLE`|4|`0x04`|Defines how information about dungeons will be displayed on the inventory screen on the pause menu. `0` = disabled, `1` = a single menu shown when holding A, `2` = separate menus shown when holding D-pad buttons in addition to the summary menu on A.| -|`0x08`|`CFG_DUNGEON_INFO_MQ_ENABLE`|1|`0x04`|`1` if the dungeon info in the pause menu should include info about which dungeons are in Master Quest mode.| -|`0x0C`|`CFG_DUNGEON_INFO_MQ_NEED_MAP`|1|`0x04`|`1` if the Master Quest info should only be displayed for dungeons whose maps have been obtained or which don't have maps.| -|`0x10`|`CFG_DUNGEON_INFO_REWARD_ENABLE`|1|`0x04`|`1` if the dungeon info in the pause menu should include info about which medallions and stones are in which dungeon.| -|`0x14`|`CFG_DUNGEON_INFO_REWARD_NEED_COMPASS`|1|`0x04`|Defines which item is required to display the location of a dungeon reward in the pause menu. `0` = no item required, `1` = the compass of the dungeon in which the reward is found, `2` = the compass of the reward's vanilla dungeon. For example, if the Kokiri Emerald is in the Fire Temple, `1` means the Fire Temple compass is required and `2` means the Deku Tree compass is required.| -|`0x18`|`CFG_DUNGEON_INFO_REWARD_NEED_ALTAR`|1|`0x04`|`1` if the reward info should only be displayed for rewards whose Temple of Time altar text boxes have been read.| -|`0x1C`|`CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE`|4|`0x04`|`1` if the summary menu shown when holding A should display dungeon reward locations.| -|`0x20`|`CFG_DUNGEON_REWARDS`|4|`0x0E`|A byte representing the medallion or stone for each dungeon. Dungeons without rewards are listed as `0xFF`, and one reward is chosen arbitrarily if the dungeon has multiple rewards. For more complete data, use `CFG_DUNGEON_REWARD_AREAS` instead.| -|`0x2E`|`CFG_DUNGEON_IS_MQ`|4|`0x0E`|A byte set to `1` for each dungeon in Master Quest mode.| -|`0x3C`|`RAINBOW_BRIDGE_CONDITION`|4|`0x04`|The condition for spawning the rainbow bridge. `0` = open, `1` = medallions, `2` = dungeon rewards, `3` = stones, `4` = vanilla, `5` = tokens, `6` = hearts.| -|`0x40`|`LACS_CONDITION`|4|`0x04`|The condition for triggering the light arrow cutscene. `0` = vanilla, `1` = medallions, `2` = dungeons, `3` = stones, `4` = tokens, `5` = hearts.| -|`0x44`|`RAINBOW_BRIDGE_COUNT`|4|`0x02`|The number of items (of the kind defined in `RAINBOW_BRIDGE_CONDITION`) required to spawn the rainbow bridge.| -|`0x46`|`LACS_CONDITION_COUNT`|4|`0x02`|The number of items (of the kind defined in `LACS_CONDITION`) required to trigger the light arrow cutscene.| -|`0x48`|`TRIFORCE_HUNT_ENABLED`|4|`0x02`|`1` if Triforce hunt is enabled.| -|`0x4A`|`TRIFORCE_PIECES_REQUIRED`|4|`0x02`|In Triforce hunt, the total number of Triforce pieces (across all worlds) required to win the game.| -|`0x4C`|`SPECIAL_DEAL_COUNTS`|4|`0x08`|A byte representing the number of special deal slots in each shop, in the following order: KF Shop, Market Bazaar, Market Potion Shop, Market Bombchu Shop, Kak Bazaar, Kak Potion Shop, GC Shop, ZD Shop.| -|`0x54`|`CFG_DUNGEON_REWARD_AREAS`|4|`0xCF`|For each dungeon reward in the order of Emerald, Ruby, Sapphire, Light, Forest, Fire, Water, Shadow, and Spirit, a null-terminated `0x16`-byte (`0x17` including the null terminator) ASCII string containing the hint area of that reward, padded with spaces on the right.| +|`0x0004`|`CFG_DUNGEON_INFO_ENABLE`|4|`0x04`|Defines how information about dungeons will be displayed on the inventory screen on the pause menu. `0` = disabled, `1` = a single menu shown when holding A, `2` = separate menus shown when holding D-pad buttons in addition to the summary menu on A.| +|`0x0008`|`CFG_DUNGEON_INFO_MQ_ENABLE`|1|`0x04`|`1` if the dungeon info in the pause menu should include info about which dungeons are in Master Quest mode.| +|`0x000C`|`CFG_DUNGEON_INFO_MQ_NEED_MAP`|1|`0x04`|`1` if the Master Quest info should only be displayed for dungeons whose maps have been obtained or which don't have maps.| +|`0x0010`|`CFG_DUNGEON_INFO_REWARD_ENABLE`|1|`0x04`|`1` if the dungeon info in the pause menu should include info about which medallions and stones are in which dungeon.| +|`0x0014`|`CFG_DUNGEON_INFO_REWARD_NEED_COMPASS`|1|`0x04`|Defines which item is required to display the location of a dungeon reward in the pause menu. `0` = no item required, `1` = the compass of the dungeon in which the reward is found, `2` = the compass of the reward's vanilla dungeon. For example, if the Kokiri Emerald is in the Fire Temple, `1` means the Fire Temple compass is required and `2` means the Deku Tree compass is required.| +|`0x0018`|`CFG_DUNGEON_INFO_REWARD_NEED_ALTAR`|1|`0x04`|`1` if the reward info should only be displayed for rewards whose Temple of Time altar text boxes have been read.| +|`0x001C`|`CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE`|4|`0x04`|`1` if the summary menu shown when holding A should display dungeon reward locations.| +|`0x0020`|`CFG_DUNGEON_REWARDS`|4|`0x0E`|A byte representing the medallion or stone for each dungeon. Dungeons without rewards are listed as `0xFF`, and one reward is chosen arbitrarily if the dungeon has multiple rewards. For more complete data, use `CFG_DUNGEON_REWARD_AREAS` instead.| +|`0x002E`|`CFG_DUNGEON_IS_MQ`|4|`0x0E`|A byte set to `1` for each dungeon in Master Quest mode.| +|`0x003C`|`RAINBOW_BRIDGE_CONDITION`|4|`0x04`|The condition for spawning the rainbow bridge. `0` = open, `1` = medallions, `2` = dungeon rewards, `3` = stones, `4` = vanilla, `5` = tokens, `6` = hearts.| +|`0x0040`|`LACS_CONDITION`|4|`0x04`|The condition for triggering the light arrow cutscene. `0` = vanilla, `1` = medallions, `2` = dungeons, `3` = stones, `4` = tokens, `5` = hearts.| +|`0x0044`|`RAINBOW_BRIDGE_COUNT`|4|`0x02`|The number of items (of the kind defined in `RAINBOW_BRIDGE_CONDITION`) required to spawn the rainbow bridge.| +|`0x0046`|`LACS_CONDITION_COUNT`|4|`0x02`|The number of items (of the kind defined in `LACS_CONDITION`) required to trigger the light arrow cutscene.| +|`0x0048`|`TRIFORCE_HUNT_ENABLED`|4|`0x02`|`1` if Triforce hunt is enabled.| +|`0x004A`|`TRIFORCE_PIECES_REQUIRED`|4|`0x02`|In Triforce hunt, the total number of Triforce pieces (across all worlds) required to win the game.| +|`0x004C`|`SPECIAL_DEAL_COUNTS`|4|`0x08`|A byte representing the number of special deal slots in each shop, in the following order: KF Shop, Market Bazaar, Market Potion Shop, Market Bombchu Shop, Kak Bazaar, Kak Potion Shop, GC Shop, ZD Shop.| +|`0x0054`|`CFG_DUNGEON_REWARD_AREAS`|4|`0xCF`|For each dungeon reward in the order of Emerald, Ruby, Sapphire, Light, Forest, Fire, Water, Shadow, and Spirit, a null-terminated `0x16`-byte (`0x17` including the null terminator) ASCII string containing the hint area of that reward, padded with spaces on the right.| +|`0x0123`|`CFG_ADULT_TRADE_SHUFFLE`|5|`0x01`|`1` if the item-cycling functionality for the adult trade inventory slot is enabled.| +|`0x0124`|`CFG_CHILD_TRADE_SHUFFLE`|5|`0x01`|`1` if the item-cycling functionality for the child trade inventory slot is enabled.| diff --git a/Notes/coop-ctx.md b/Notes/coop-ctx.md index 970c492d98..c00ce451d6 100644 --- a/Notes/coop-ctx.md +++ b/Notes/coop-ctx.md @@ -1,6 +1,6 @@ The **co-op context** is a region of memory where a portion of the randomizer's configuration variables are stored in a versioned layout defined below. It is the interface used by emulator plugins to implement [Multiworld](https://wiki.ootrandomizer.com/index.php?title=Multiworld). -The starting address of the co-op context is listed at address `0x8040_0000` (at the start of the randomizer context). On versions of the randomizer before this feature was added, the starting address is given as zero. At that address, a 4-byte integer can be found. This is the version number of the co-op context and defines the layout of the remainder of the context according to the sections below. The current version is 6. +The starting address of the co-op context is listed at address `0x8040_0000` (at the start of the randomizer context). On versions of the randomizer before this feature was added, the starting address is given as zero. At that address, a 4-byte integer can be found. This is the version number of the co-op context and defines the layout of the remainder of the context according to the sections below. The current version is 7. # Version 1 @@ -30,3 +30,20 @@ The starting address of the co-op context is listed at address `0x8040_0000` (at |`0x0014`|`PLAYER_NAMES`|2|`0x0800`|An array of 256 player names, each 8 bytes long, that must be populated by the multiworld plugin. `PLAYER_NAME_ID` is used as an index into this array, and index 0 is unused.| |`0x0814`|`CFG_FILE_SELECT_HASH`|4|`0x0005`|The 5 icons displayed at the top of the file select screen, represented as indices into the `HASH_ICONS` list in Spoiler.py.| |`0x081C`|`MW_PROGRESSIVE_ITEMS_STATE`|5|`0x0400`|The multiworld plugin can store data representing the state of progressive items of all players here. If `MW_PROGRESSIVE_ITEMS_ENABLE` is set to `1`, the game will use this to render outgoing progressive items instead of basing them on the sender's inventory. The data is an array of 256 bitfields, each 4 bytes long, with the entry at index 0 unused. For documentation of the bitflags, see `mw_progressive_items_state_t` in `item_upgrades.c`. Note that the `chu_bag` flag only has any effect in versions 6+ of the co-op context.| + +# Version 7 + +|Offset|Name|Min version|Size|Description| +|--:|---|--:|--:|---| +|`0x0004`|`PLAYER_ID`|1|`0x0001`|The world number of this world, 1-indexed.| +|`0x0005`|`PLAYER_NAME_ID`|1|`0x0001`|The world number of the player whose item is being picked up, used as an index into `PLAYER_NAMES` to render that player's name in the text box. `0` if no item is being picked up. This should usually not be read or modified by the multiworld plugin; use `OUTGOING_PLAYER` instead.| +|`0x0006`|`INCOMING_PLAYER`|2|`0x0002`|The world number from which the `INCOMING_ITEM` came, or `0` if there is no incoming item.| +|`0x0008`|`INCOMING_ITEM`|2|`0x0002`|The ID (as in `Item.index`) of the next item to receive from the network, or `0` if there is none.| +|`0x000a`|`MW_SEND_OWN_ITEMS`|3|`0x0001`|The multiworld plugin can set this to `1` to make the game set `OUTGOING_KEY`, `OUTGOING_ITEM`, and `OUTGOING_PLAYER` even when finding an item for its own world. Defaults to `0`, meaning these fields are only set for Triforce pieces (which affect all worlds) and other players' items.| +|`0x000b`|`MW_PROGRESSIVE_ITEMS_ENABLE`|5|`0x0001`|The multiworld plugin can set this to `1` to indicate that it will keep `MW_PROGRESSIVE_ITEMS_STATE` up to date. Defaults to `0`, meaning the appearance of outgoing progressive items will be based on the sender's inventory.| +|`0x0010`|`OUTGOING_ITEM`|2|`0x0002`|The ID (as in `Item.index`) of the outgoing item, or `0` if no item is being sent. The multiworld plugin should set this to `0` after handling an outgoing item.| +|`0x0012`|`OUTGOING_PLAYER`|2|`0x0002`|The world number of the outgoing item's recipient, or `0` if no item is being sent. The multiworld plugin should set this to `0` after handling an outgoing item.| +|`0x0014`|`PLAYER_NAMES`|2|`0x0800`|An array of 256 player names, each 8 bytes long, that must be populated by the multiworld plugin. `PLAYER_NAME_ID` is used as an index into this array, and index 0 is unused.| +|`0x0814`|`CFG_FILE_SELECT_HASH`|4|`0x0005`|The 5 icons displayed at the top of the file select screen, represented as indices into the `HASH_ICONS` list in Spoiler.py.| +|`0x081c`|`MW_PROGRESSIVE_ITEMS_STATE`|5|`0x0400`|The multiworld plugin can store data representing the state of progressive items of all players here. If `MW_PROGRESSIVE_ITEMS_ENABLE` is set to `1`, the game will use this to render outgoing progressive items instead of basing them on the sender's inventory. The data is an array of 256 bitfields, each 4 bytes long, with the entry at index 0 unused. For documentation of the bitflags, see `mw_progressive_items_state_t` in `item_upgrades.c`. Note that the `chu_bag` flag only has any effect in versions 6+ of the co-op context.| +|`0x0c1c`|`OUTGOING_KEY`|7|`0x0008`|A unique ID (see `get_override_entry` in Patches.py and `override_key_t` in override.h for details) for the source location of the outgoing item, or `0` if no item is being sent. The multiworld plugin should set this to `0` after handling an outgoing item.| diff --git a/Notes/new scene flags.txt b/Notes/new scene flags.txt new file mode 100644 index 0000000000..881f4f4907 --- /dev/null +++ b/Notes/new scene flags.txt @@ -0,0 +1,34 @@ +scene ID: index into scene table which will contain an offset into the setup table + +setup ID: index into a list contained at the offset calculated ^. The list contains offsets into the room table for that setup. + +room ID: index into a list contained at the offset calculated ^. The list contains offsets into the flag_offset table for that room + +actor_id = bit to check in the bitmap. + +sub_id: For actors that need to have a sub-ID such rupee towers, this is the additional bit offset added to the bit index for the actor_id. + +Data for each room as follows: + +uint8_t room_flags[255] + +each index in the array corresponds to an actor index. each value contains the starting bit position for that actor. Actors can have multiple bits assigned based on sub_id. + +Ex. Goron city child room 3 (main room w/ spinning pot) + +actors 0 - 40 are not shuffled, so store as 0 +actor 41 is the goron pot. Has 9 sub_ids. +actor 42 - 46 are the regular breakable pots, each with only a single sub_id (0) + +so the array will look like: +{0, 0, 0, .... 40x ...., 0, 9, 10, 11, 12, 13, + +differential coding +{ 0, 0, ... 41x, 9, 1,1,1,1,1 } + +RLC +{ 0, 41, 9, 1, 1, 5 } + +bitmap for this room: + Goron Pot Pots +|000000000|00000| \ No newline at end of file diff --git a/Notes/scene_flag_system.txt b/Notes/scene_flag_system.txt index 47c8949910..bacd81f46e 100644 --- a/Notes/scene_flag_system.txt +++ b/Notes/scene_flag_system.txt @@ -1,52 +1,62 @@ For pot/crate/freestanding shuffle settings, a custom flag system is used to determine how to shuffle a collectible item, and keep track of collection. -For scene-spawned actors, after the actor is spawned and initialized, the new flag -is stored in one of the actor's initial/home rotation fields which is unused once the actor spawns. +These flags, called xflags, contain the following information about an actor (see xflag_t struct typedef in get_items.h): + scene + scene setup + room + flag - primarily the actor spawn index (position of the actor within the actor list) + subflag - used for actors that spawn multiple items like rupee towers or goron pot -The flag consists of the room number within the scene, and the position of the actor within the room's actor list as follows: - 15 14 13 8 7 0 -| Unused | Room | Actor # | +Every actor has been hacked to include additional memory to store this flag. -See Actor_UpdateAll_Hook +For room-spawned actors, after the actor is spawned and initialized, the new flag +is stored during a hook at the end of Actor_UpdateAll (the function that spawns the actors in a room) see Actor_After_UpdateAll_Hack -This flag is combined with the current scene setup ID, which is calculated when a scene loads and is stored in curr_scene_setup. The entire flag is: - - 15 14 13 8 7 0 -| Scene setup | Room | Actor # | - -For collectible items that are dropped (as opposed to spawned in the scene), the flag is set in the variable drop_collectible_override_flag from the actor dropping the item (pot/crate/etc.) -Item_DropCollectible retrieves this flag and passes it into the initial y rotation of the call to ActorSpawn for the Item00 collectible. +For collectible items that are dropped (as opposed to spawned in the scene), the flag is stored in the global variable drop_collectible_override_flag +from the actor dropping the item (pot/crate/etc.) +During Item00 actor initialization, this flag is retrieved and stored into the actor. --------------------------------------- Flag tables --------------------------------------- -Flags for overridden collectible items are stored in the table: +The flags for overridden collectible items are stored as individual bits in the bit map: collectible_override_flags -Flags are stored in these tables for each scene/room/setup, in variable length chunks depending on how many flags are used in a particular scene/room/setup. - -The entry point in the table for a particular scene/room/setup is defined in collectible_scene_flags_table -which are dynamically generated by the randomizer depending upon the settings chosen. - -The format collectible_scene_flags_table is as follows: -Byte # | Description - 0 | Number of scenes - 1* | Scene ID - 2* | # of rooms/setups in the scene containing shuffled items - 3** | Room/Setup - 4-5** | Offset into collectible_override_flags for the start of the flags for room/setup - -* - Repeated for each scene -** - Repeated for each room/setup in the scene - -The function get_collectible_flag_offset will iterate through collectible_scene_flags_table and return the offset into collectible_override_flags for a particular scene/room/setup - -Flags within collectible_override_flags are retrieved as follows: -collectible_override_flags[table_offset + collectible_flag / 8] & (1 << (collectible_flag % 8)); - -where: -table_offset - returned from get_collectible_flag_offset -collectible_flag - the position of the actor in the actor list. +To determine the bit offset in this bit map for a particular flag, the following lookup tables are used: +xflag_scene_table - contains offsets into xflag_room_table for the current scene. This is indexed directly by scene_id. Scenes that do not have any flags are stored as 0xFFFF +xflag_room_table - starting at the offset obtained from xflag_scene_table, contains a list of offsets into xflag_room_blob for all of room/setup combinations in the scene that contain flags we are interested in +xflag_room_blob - starting at the offset obtained from xflag_room_table, contains the bitmap offset for this scene/room/setup, followed by a compressed table of actor bit map offsets. + +The data in xflag_room_blob is a compressed table whose indices represent the actor index for every actor in a given scene. +The value stored at each index is the bitmap offset for that actor from the start of the bitmap for the current scene/room/setup + +Here's an example of what this table looks like for the child scene setup for goron city: +This setup contains the following actors of interest: +| ID | Actor | +| 41 | Spinning Pot | The goron city pot is special because it uses "sub flags". This is because this actor can spawn 8 overridden collectible items so it needs to be able to reserve 8 flags +| 42 | Pot | +| 43 | Pot | +| 44 | Pot | +| 45 | Pot | +| 46 | Pot | + +The table would contain the following +[0] = 0 +... +[40] = 0 +[41] = 0 this is the first actually used entry representing the spinning pot. It contains 0 because this actor's flag will be stored at the start of the bitmap for this room/setup. +[42] = 8 As stated above the spining pot reserves 8 bits of the bitmap because it has 8 sub flags for the items that it can drop +[43] = 9 +[44] = 10 +[45] = 11 +[46] = 12 This is the last actually interesting piece of data in the table. +[47] = 12 +... +[255] = 12 Maximum of 255 entries in the table. + +This data is compressed by differential encoding + run-length coding and stored in the blob + +The function get_xflag_bit_offset will iterate through the tables described above, retrieve the actor table for the room, and return the bit offset into collectible_override_flags for a given actor's flag -------------------- Alternative overrides @@ -59,5 +69,5 @@ typedef struct { override_key_t primary; } alt_override_t; -In get_override_search_key when creating the override key for EnItem00 (type 0x15) actors, the alt_table is searched for the key. -If the table contains the key, it uses the "primary" entry as the correct key. \ No newline at end of file +When determining an override search key for an xflag, the alt_table is searched for the key. +If the table contains the key, it uses the "primary" entry as the correct key. diff --git a/Patches.py b/Patches.py index e0b6d081bf..fca6eeccfe 100644 --- a/Patches.py +++ b/Patches.py @@ -9,29 +9,31 @@ from collections.abc import Callable, Iterable from typing import Optional, Any -from Cutscenes import patch_cutscenes +from Cutscenes import patch_cutscenes, patch_wondertalk2 from Entrance import Entrance from HintList import get_hint from Hints import GossipText, HintArea, write_gossip_stone_hints, build_altar_hints, \ build_ganon_text, build_misc_item_hints, build_misc_location_hints, get_simple_hint_no_prefix, get_item_generic_name from Item import Item -from ItemPool import song_list, trade_items, child_trade_items +from ItemList import REWARD_COLORS +from ItemPool import reward_list, song_list, trade_items, child_trade_items from Location import Location, DisableType from LocationList import business_scrubs from Messages import read_messages, update_message_by_id, read_shop_items, update_warp_song_text, \ write_shop_items, remove_unused_messages, make_player_message, \ add_item_messages, repack_messages, shuffle_messages, \ - get_message_by_id, TextCode, new_messages + get_message_by_id, TextCode, new_messages, COLOR_MAP from OcarinaSongs import patch_songs from MQ import patch_files, File, update_dmadata, insert_space, add_relocations from Rom import Rom from SaveContext import SaveContext, Scenes, FlagType -from SceneFlags import get_alt_list_bytes, get_collectible_flag_table, get_collectible_flag_table_bytes +from SceneFlags import build_xflag_tables, build_xflags_from_world, get_alt_list_bytes from Sounds import move_audiobank_table from Spoiler import Spoiler +from TextBox import line_wrap from Utils import data_path from World import World -from TextBox import line_wrap +from ntype import BigStream from texture_util import ci4_rgba16patch_to_ci8, rgba16_patch from version import __version__ @@ -88,6 +90,7 @@ def patch_rom(spoiler: Spoiler, world: World, rom: Rom) -> Rom: ('object_gi_abutton', data_path('items/A_Button.zobj'), 0x1A8), # A button ('object_gi_cbutton', data_path('items/C_Button_Horizontal.zobj'), 0x1A9), # C button Horizontal ('object_gi_cbutton', data_path('items/C_Button_Vertical.zobj'), 0x1AA), # C button Vertical + ('object_gi_magic_meter', data_path('items/MagicScroll.zobj'), 0x1B4), # Magic Scroll ) if world.settings.key_appearance_match_dungeon: @@ -131,6 +134,94 @@ def patch_rom(spoiler: Spoiler, world: World, rom: Rom) -> Rom: add_to_extended_object_table(rom, object_id, start_address, end_address) start_address = end_address + # Make new model files by splitting existing ones to fit into the get item memory slot + zobj_splits = ( + ('object_gi_jewel_emerald', 0x0145A000, 0x0145D680, (0x1240, 0x10E0), 0x1AB), # Kokiri Emerald + ('object_gi_jewel_ruby', 0x0145A000, 0x0145D680, (0x20A0, 0x1FB0), 0x1AC), # Goron Ruby + ('object_gi_jewel_sapphire', 0x0145A000, 0x0145D680, (0x3530, 0x3370), 0x1AD), # Zora Sapphire + ('object_gi_medal_light', 0x014BB000, 0x014C0370, (0x5220, 0x0E18), 0x1AE), # Light Medallion + ('object_gi_medal_forest', 0x014BB000, 0x014C0370, (0x0CB0, 0x0E18), 0x1AF), # Forest Medallion + ('object_gi_medal_fire', 0x014BB000, 0x014C0370, (0x1AF0, 0x0E18), 0x1B0), # Fire Medallion + ('object_gi_medal_water', 0x014BB000, 0x014C0370, (0x2830, 0x0E18), 0x1B1), # Water Medallion + ('object_gi_medal_shadow', 0x014BB000, 0x014C0370, (0x4330, 0x0E18), 0x1B2), # Shadow Medallion + ('object_gi_medal_spirit', 0x014BB000, 0x014C0370, (0x3610, 0x0E18), 0x1B3), # Spirit Medallion + ) + for name, start, end, offsets, object_id in zobj_splits: + obj_file = File(name, start, end) + seen = {} + out = [] + out_size = 0 + for offset in offsets: + i = offset + while True: + data = rom.read_int32(obj_file.start + i) + op = data >> 24 + i += 8 + if op == 0xdf: + size = i - offset + break + segment = BigStream(rom.read_bytes(obj_file.start + offset, size)) + + def copy(addr, size): + nonlocal seen + nonlocal out_size + + seg = addr >> 24 + if seg != 0x06: + return addr + addr &= 0xffffff + seenAddr = seen.get(addr) + if seenAddr is not None: + return seenAddr + newAddr = out_size | 0x0600_0000 + out_size += size + out.extend(rom.read_bytes(obj_file.start + addr, size)) + seen[addr] = newAddr + return newAddr + + for i in range(0, size, 8): + data = segment.read_int32(i) + op = data >> 24 + if op == 0x01: # Vertices + count = (data >> 12) & 0xff + addr = segment.read_int32(i + 4) + newAddr = copy(addr, count * 0x10) + segment.write_int32(i + 4, newAddr) + elif op == 0xfd: # Texture or palette + data2 = segment.read_int32(i + 8 * 1) + op2 = data2 >> 24 + if op2 == 0xf5: # Texture + fmt = (data >> 16) & 0xff + if fmt in (0x50, 0x90): + bpp = 4 + elif fmt == 0x10: + bpp = 16 + else: + raise ValueError(f'Unknown texture format 0x{fmt:02x}') + data3 = segment.read_int32(i + 8 * 6 + 4) + w = (((data3 >> 12) & 0xfff) / 4) + 1 + h = (((data3 >> 0) & 0xfff) / 4) + 1 + addr = segment.read_int32(i + 4) + newAddr = copy(addr, int((w * h * bpp) / 8)) + segment.write_int32(i + 4, newAddr) + elif op2 == 0xe8: # Palette + addr = segment.read_int32(i + 4) + newAddr = copy(addr, 32) + segment.write_int32(i + 4, newAddr) + out_size += size + out.extend(segment.buffer) + if out_size % 16: + extra_size = 16 - (out_size % 16) + extra_buf = [0] * extra_size + out_size += extra_size + out.extend(extra_buf) + + rom.write_bytes(start_address, out) + # Add it to the extended object table + end_address = ((start_address + len(out) + 0x0F) >> 4) << 4 + add_to_extended_object_table(rom, object_id, start_address, end_address) + start_address = end_address + # Add the extended objects data to the DMA table. rom.update_dmadata_record_by_key(None, extended_objects_start, end_address) @@ -189,6 +280,8 @@ def patch_rom(spoiler: Spoiler, world: World, rom: Rom) -> Rom: # Add the extended texture data to the DMA table. rom.update_dmadata_record_by_key(None, extended_textures_start, end_address) + save_context = SaveContext() + # Create an option so that recovery hearts no longer drop by changing the code which checks Link's health when an item is spawned. if world.settings.no_collectible_hearts: symbol = rom.sym('NO_COLLECTIBLE_HEARTS') @@ -274,12 +367,18 @@ def make_bytes(txt: str, size: int) -> list[int]: if world.settings.world_count > 1: world_str = f"{world.id + 1} of {world.settings.world_count}" else: - world_str = "" + world_str = '' rom.write_bytes(rom.sym('WORLD_STRING_TXT'), make_bytes(world_str, 12)) time_str = datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%d %H:%M") + " UTC" rom.write_bytes(rom.sym('TIME_STRING_TXT'), make_bytes(time_str, 25)) + if world.settings.web_id > 0: + web_id_str = f'{world.settings.web_id:10}' + else: + web_id_str = '' + rom.write_bytes(rom.sym('WEB_ID_STRING_TXT'), make_bytes(web_id_str, 12)) + if world.settings.show_seed_info: rom.write_byte(rom.sym('CFG_SHOW_SETTING_INFO'), 0x01) else: @@ -335,22 +434,28 @@ def make_bytes(txt: str, size: int) -> list[int]: rom.write_bytes(0xCD5E76, [0x0E, 0xDC]) rom.write_bytes(0xCD5E12, [0x0E, 0xDC]) - # songs as items flag + # Some types of locations (boss rewards, songs, and the fairy ocarina) have special behavior, + # but need to use the normal Get Item mechanism if shuffled into the main item pool. + rewards_as_items = ( + world.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward') + or world.distribution.rewards_as_items + or any(name in reward_list and record.count for name, record in world.settings.starting_items.items()) + ) + if rewards_as_items: + rom.write_byte(rom.sym('REWARDS_AS_ITEMS'), 1) songs_as_items = ( world.settings.shuffle_song_items != 'song' - or world.distribution.song_as_items + or world.distribution.songs_as_items or any(name in song_list and record.count for name, record in world.settings.starting_items.items()) or world.settings.shuffle_individual_ocarina_notes ) - if songs_as_items: rom.write_byte(rom.sym('SONGS_AS_ITEMS'), 1) - - patch_cutscenes(rom, songs_as_items) - if world.settings.shuffle_ocarinas: - symbol = rom.sym('OCARINAS_SHUFFLED') - rom.write_byte(symbol, 0x01) + rom.write_byte(rom.sym('OCARINAS_SHUFFLED'), 0x01) + + patch_cutscenes(rom, songs_as_items, world.settings) + patch_wondertalk2(rom, world.settings) # Speed Pushing of All Pushable Objects (other than armos statues, which are handled in ASM) rom.write_bytes(0xDD2B86, [0x40, 0x80]) # block speed @@ -469,12 +574,6 @@ def make_bytes(txt: str, size: int) -> list[int]: if world.settings.open_forest != 'closed': rom.write_bytes(0xE5401C, [0x14, 0x0B]) - # Fix Shadow Temple to check for different rewards for scene - rom.write_bytes(0xCA3F32, [0x00, 0x00, 0x25, 0x4A, 0x00, 0x10]) - - # Fix Spirit Temple to check for different rewards for scene - rom.write_bytes(0xCA3EA2, [0x00, 0x00, 0x25, 0x4A, 0x00, 0x08]) - # Remove the check on the number of days that passed for claim check. rom.write_bytes(0xED4470, [0x00, 0x00, 0x00, 0x00]) rom.write_bytes(0xED4498, [0x00, 0x00, 0x00, 0x00]) @@ -503,9 +602,6 @@ def make_bytes(txt: str, size: int) -> list[int]: # Fix "...???" textbox outside Child Colossus Fairy to use the right flag and disappear once the wall is destroyed rom.write_byte(0x21A026F, 0xDD) - # Remove the "...???" textbox outside the Crater Fairy (change it to an actor that does nothing) - rom.write_int16s(0x225E7DC, [0x00B5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF]) - # Forbid Sun's Song from a bunch of cutscenes Suns_scenes = [0x2016FC9, 0x2017219, 0x20173D9, 0x20174C9, 0x2017679, 0x20C1539, 0x20C15D9, 0x21A0719, 0x21A07F9, 0x2E90129, 0x2E901B9, 0x2E90249, 0x225E829, 0x225E939, 0x306D009] for address in Suns_scenes: @@ -516,13 +612,6 @@ def make_bytes(txt: str, size: int) -> list[int]: rom.write_int32(0xC7BAEC, 0x00000000) rom.write_int32(0xc7BCA4, 0x00000000) - # Remove disruptive text from Gerudo Training Ground and early Shadow Temple (vanilla) - wonder_text = [0x27C00BC, 0x27C00CC, 0x27C00DC, 0x27C00EC, 0x27C00FC, 0x27C010C, 0x27C011C, 0x27C012C, 0x27CE080, - 0x27CE090, 0x2887070, 0x2887080, 0x2887090, 0x2897070, 0x28C7134, 0x28D91BC, 0x28A60F4, 0x28AE084, - 0x28B9174, 0x28BF168, 0x28BF178, 0x28BF188, 0x28A1144, 0x28A6104, 0x28D0094] - for address in wonder_text: - rom.write_byte(address, 0xFB) - # Speed dig text for Dampe rom.write_bytes(0x9532F8, [0x08, 0x08, 0x08, 0x59]) @@ -600,19 +689,15 @@ def add_scene_exits(scene_start: int, offset: int = 0) -> None: rom.write_int32(0xBC6160, 0x24180000) # li t8, 0 rom.write_int32(0xBC6168, 0xAD380000) # sw t8, 0(t1) - # Credit to engineer124 - # Update the Jabu-Jabu Boss Exit to actually useful coordinates (and to load the correct room) - rom.write_int16(0x273E08E, 0xF7F4) # Z coordinate of Jabu Boss Door Spawn - rom.write_byte(0x273E27B, 0x05) # Set Spawn Room to be correct + # Credit to engineer124 + # Update the Jabu-Jabu Boss Exit to actually useful coordinates (and to load the correct room) + rom.write_int16(0x273E08E, 0xF7F4) # Z coordinate of Jabu Boss Door Spawn + rom.write_byte(0x273E27B, 0x05) # Set Spawn Room to be correct # Update the Water Temple Boss Exit to load the correct room rom.write_byte(0x25B82E3, 0x0B) def set_entrance_updates(entrances: Iterable[Entrance]) -> None: - if world.settings.shuffle_bosses != 'off': - # Connect lake hylia fill exit to revisit exit - rom.write_int16(0xAC995A, 0x060C) - for entrance in entrances: if entrance.data is None or entrance.replaces is None or entrance.replaces.data is None: continue @@ -680,10 +765,10 @@ def set_entrance_updates(entrances: Iterable[Entrance]) -> None: rom.write_int16s(0xB6D460, [0x0030, 0x0035, 0x0036]) # Change trade items revert table to prevent all reverts if world.settings.adult_trade_shuffle or world.settings.item_pool_value in ('plentiful', 'ludicrous'): - rom.write_int16(rom.sym('CFG_ADULT_TRADE_SHUFFLE'), 0x0001) + rom.write_byte(rom.sym('CFG_ADULT_TRADE_SHUFFLE'), 0x01) move_fado_in_lost_woods(rom) if world.settings.shuffle_child_trade or world.settings.logic_rules == 'glitched': - rom.write_int16(rom.sym('CFG_CHILD_TRADE_SHUFFLE'), 0x0001) + rom.write_byte(rom.sym('CFG_CHILD_TRADE_SHUFFLE'), 0x01) if world.settings.shuffle_overworld_entrances: rom.write_byte(rom.sym('OVERWORLD_SHUFFLED'), 1) @@ -709,13 +794,12 @@ def set_entrance_updates(entrances: Iterable[Entrance]) -> None: if world.settings.shuffle_hideout_entrances: rom.write_byte(rom.sym('HIDEOUT_SHUFFLED'), 1) + if world.settings.shuffle_gerudo_fortress_heart_piece == 'remove': + save_context.write_permanent_flag(Scenes.GERUDO_FORTRESS, FlagType.COLLECT, 0x3, 0x02) if world.shuffle_dungeon_entrances: rom.write_byte(rom.sym('DUNGEONS_SHUFFLED'), 1) - # Connect lake hylia fill exit to revisit exit - rom.write_int16(0xAC995A, 0x060C) - # Make the Adult well blocking stone dissappear if the well has been drained by # checking the well drain event flag instead of links age. This actor doesn't need a # code check for links age as the stone is absent for child via the scene alternate @@ -757,8 +841,7 @@ def set_entrance_updates(entrances: Iterable[Entrance]) -> None: configure_dungeon_info(rom, world) rom.write_bytes(rom.sym('CFG_FILE_SELECT_HASH'), spoiler.file_hash) - - save_context = SaveContext() + rom.write_bytes(rom.sym('PASSWORD'), spoiler.password) # Initial Save Data if not world.settings.useful_cutscenes and 'Forest Temple' not in world.settings.dungeon_shortcuts: @@ -858,7 +941,8 @@ def set_entrance_updates(entrances: Iterable[Entrance]) -> None: save_context.write_bits(0x0ED6, 0x10) # "Spoke to Mido After Deku Tree's Death" save_context.write_bits(0x0EDA, 0x08) # "Began Nabooru Battle" save_context.write_bits(0x0EDC, 0x80) # "Entered the Master Sword Chamber" - save_context.write_bits(0x0EDD, 0x20) # "Pulled Master Sword from Pedestal" + if world.settings.skip_reward_from_rauru: + save_context.write_bits(0x0EDD, 0x20) # "Pulled Master Sword from Pedestal" save_context.write_bits(0x0EE0, 0x80) # "Spoke to Kaepora Gaebora by Lost Woods" save_context.write_bits(0x0EE7, 0x20) # "Nabooru Captured by Twinrova" save_context.write_bits(0x0EE7, 0x10) # "Spoke to Nabooru in Spirit Temple" @@ -928,24 +1012,11 @@ def set_entrance_updates(entrances: Iterable[Entrance]) -> None: rom.write_int16(0x00E1F3CA, 0x5036) rom.write_int16(0x00E1F3CC, 0x5036) - # Make the Kakariko Gate not open with the MS - if world.settings.open_kakariko != 'open': - rom.write_int32(0xDD3538, 0x34190000) # li t9, 0 - if world.settings.open_kakariko != 'closed': + if world.settings.open_kakariko == 'open': + rom.write_byte(rom.sym('OPEN_KAKARIKO'), 2) + elif world.settings.open_kakariko != 'closed': rom.write_byte(rom.sym('OPEN_KAKARIKO'), 1) - # Mark starting trade items as owned - # The effective starting item seen in the player inventory will be the - # latest shuffled item in the trade sequence, calculated in - # Plandomizer.WorldDistribution.configure_effective_starting_items. - owned_flags = 0 - for item_name in world.distribution.starting_items.keys(): - if item_name in child_trade_items: - owned_flags += 0x1 << (child_trade_items.index(item_name)) - if item_name in trade_items: - owned_flags += 0x1 << (trade_items.index(item_name) + 11) - save_context.write_permanent_flags(Scenes.DEATH_MOUNTAIN_TRAIL, FlagType.UNK00, owned_flags) - # Mark unreachable trade-ins as traded. Only applicable with trade quest shuffle off, # and only practically affects the Blue Potion purchase from Granny's Potion Shop. if not world.settings.adult_trade_shuffle and len(world.settings.adult_trade_start) > 0: @@ -985,7 +1056,7 @@ def calculate_traded_flags(world): save_context.write_bits(0x0EDD, 0x01) # "Obtained Zelda's Letter" save_context.write_bits(0x0EDE, 0x02) # "Learned Zelda's Lullaby" save_context.write_bits(0x00D4 + 0x5F * 0x1C + 0x04 + 0x3, 0x10) # "Moved crates to access the courtyard" - if world.skip_child_zelda or "Zeldas Letter" in world.distribution.starting_items.keys(): + if 'Zeldas Letter' in world.distribution.starting_items: if world.settings.open_kakariko != 'closed': save_context.write_bits(0x0F07, 0x40) # "Spoke to Gate Guard About Mask Shop" if world.settings.complete_mask_quest: @@ -1287,12 +1358,14 @@ def calculate_traded_flags(world): remove_unused_messages(messages) shop_items = read_shop_items(rom, shop_item_file.start + 0x1DEC) + # Less misleading dialog from Biggoron after turning in eyedrops + update_message_by_id(messages, 0x305C, "Brrrring me the Claim Check...\x01to rrreceive anotherrrrrr item...") + # Set Big Poe count to get reward from buyer poe_points = world.settings.big_poe_count * 100 rom.write_int16(0xEE69CE, poe_points) # update dialogue - new_message = "\x08Hey, young man. What's happening \x01today? If you have a \x05\x41Poe\x05\x40, I will \x01buy it.\x04\x1AIf you earn \x05\x41%d points\x05\x40, you'll\x01be a happy man! Heh heh.\x04\x08Your card now has \x05\x45\x1E\x01 \x05\x40points.\x01Come back again!\x01Heh heh heh!\x02" % poe_points - update_message_by_id(messages, 0x70F5, new_message) + # 0x70F5 is done in build_misc_location_hints if world.settings.big_poe_count != 10: new_message = "\x1AOh, you brought a Poe today!\x04\x1AHmmmm!\x04\x1AVery interesting!\x01This is a \x05\x41Big Poe\x05\x40!\x04\x1AI'll buy it for \x05\x4150 Rupees\x05\x40.\x04On top of that, I'll put \x05\x41100\x01points \x05\x40on your card.\x04\x1AIf you earn \x05\x41%d points\x05\x40, you'll\x01be a happy man! Heh heh." % poe_points update_message_by_id(messages, 0x70f7, new_message) @@ -1303,102 +1376,25 @@ def calculate_traded_flags(world): new_message = "\x08What should I do!?\x01My \x05\x41Cuccos\x05\x40 have all flown away!\x04You, little boy, please!\x01Please gather at least \x05\x41%d Cuccos\x05\x40\x01for me.\x02" % world.settings.chicken_count update_message_by_id(messages, 0x5036, new_message) - # Find an item location behind the Jabu boss door by searching regions breadth-first without going back into Jabu proper - if world.settings.logic_rules == 'glitched': - location = world.get_location('Barinade') - else: - jabu_reward_regions = {world.get_entrance('Jabu Jabus Belly Before Boss -> Barinade Boss Room').connected_region} - already_checked = set() - location = None - while jabu_reward_regions: - locations = [ - loc - for region in jabu_reward_regions - if region is not None and region.locations is not None - for loc in region.locations - if not loc.locked - and loc.has_item() - and not loc.item.event - and (loc.type != "Shop" or loc.name in world.shop_prices) # ignore regular shop items (but keep special deals) - ] - if locations: - # Location types later in the list will be preferred over earlier ones or ones not in the list. - # This ensures that if the region behind the boss door is a boss arena, the medallion or stone will be used. - priority_types = ( - "Freestanding", - "ActorOverride", - "RupeeTower", - "Pot", - "Crate", - "FlyingPot", - "SmallCrate", - "Beehive", - "SilverRupee", - "GS Token", - "GrottoScrub", - "Scrub", - "Shop", - "MaskShop", - "NPC", - "Collectable", - "Chest", - "Cutscene", - "Song", - "BossHeart", - "Boss", - ) - best_type = max((location.type for location in locations), key=lambda type: priority_types.index(type) if type in priority_types else -1) - location = random.choice(list(filter(lambda loc: loc.type == best_type, locations))) - break - already_checked |= jabu_reward_regions - jabu_reward_regions = { - exit.connected_region - for region in jabu_reward_regions - if region is not None - for exit in region.exits - if exit.connected_region is not None and exit.connected_region.dungeon != 'Jabu Jabus Belly' and exit.connected_region.name not in already_checked - } - - if location is None or location.item is None: + # Update "Princess Ruto got the Spiritual Stone!" text before the midboss in Jabu + location = world.bigocto_location() + if location is None or location.item is None or location.item.name == 'Nothing': jabu_item = None - reward_text = None + new_message = f"\x08Princess Ruto got \x01\x05\x43nothing\x05\x40!\x01Well, that's disappointing...\x02" elif location.item.looks_like_item is not None: jabu_item = location.item.looks_like_item - reward_text = create_fake_name(get_hint(get_item_generic_name(location.item.looks_like_item), True).text) + new_message = "\x08Princess Ruto is a \x05\x43FOOL\x05\x40!\x01But why Princess Ruto?\x02" else: jabu_item = location.item reward_text = get_hint(get_item_generic_name(location.item), True).text - - # Update "Princess Ruto got the Spiritual Stone!" text before the midboss in Jabu - if reward_text is None or location is None or location.item is None: - new_message = f"\x08Princess Ruto got \x01\x05\x43nothing\x05\x40!\x01Well, that's disappointing...\x02" - else: - reward_texts = { - 'Kokiri Emerald': "the \x05\x42Kokiri Emerald\x05\x40", - 'Goron Ruby': "the \x05\x41Goron Ruby\x05\x40", - 'Zora Sapphire': "the \x05\x43Zora Sapphire\x05\x40", - 'Forest Medallion': "the \x05\x42Forest Medallion\x05\x40", - 'Fire Medallion': "the \x05\x41Fire Medallion\x05\x40", - 'Water Medallion': "the \x05\x43Water Medallion\x05\x40", - 'Spirit Medallion': "the \x05\x46Spirit Medallion\x05\x40", - 'Shadow Medallion': "the \x05\x45Shadow Medallion\x05\x40", - 'Light Medallion': "the \x05\x44Light Medallion\x05\x40", - } - reward_text = reward_texts.get(location.item.name, f'\x05\x43{reward_text}\x05\x40') - new_message = f"\x08Princess Ruto got \x01{reward_text}!\x01But why Princess Ruto?\x02" + reward_color = REWARD_COLORS.get(location.item.name, 'Blue') + new_message = f"\x08Princess Ruto got \x01\x05{COLOR_MAP[reward_color]}{reward_text}\x05\x40!\x01But why Princess Ruto?\x02" update_message_by_id(messages, 0x4050, new_message) # Set Dungeon Reward Actor in Jabu Jabu to be accurate if location is not None and location.item is not None: # TODO make actor invisible if no item? - jabu_item = location.item - jabu_actor_type = jabu_item.special.get('actor_type', 0x15) #TODO handle non-dungeon-reward items - set_jabu_stone_actors(rom, jabu_actor_type) - # Also set the right object for the actor, since medallions and stones require different objects - # MQ is handled separately, as we include both objects in the object list in mqu.json (Scene 2, Room 6) - if not world.dungeon_mq['Jabu Jabus Belly']: - jabu_stone_object = jabu_item.special.get('object_id', 0x00AD) #TODO handle non-dungeon-reward items - rom.write_int16(0x277D068, jabu_stone_object) - rom.write_int16(0x277D168, jabu_stone_object) + scene, type, default, _, _, _ = get_override_entry(location) + rom.write_bytes(rom.sym('CFG_BIGOCTO_OVERRIDE_KEY'), override_key_struct.pack(scene, type, default)) # use faster jabu elevator if not world.dungeon_mq['Jabu Jabus Belly'] and world.settings.shuffle_scrubs == 'off': @@ -1457,8 +1453,6 @@ def calculate_traded_flags(world): for location in actor_override_locations: patch_actor_override(location, rom) - for location in rupeetower_locations: - patch_rupee_tower(location, rom) if world.shuffle_silver_rupees: rom.write_byte(rom.sym('SHUFFLE_SILVER_RUPEES'), 1) @@ -1471,25 +1465,39 @@ def calculate_traded_flags(world): if world.dungeon_mq['Spirit Temple']: # Patch Spirit MQ Lobby front right chest to use permanent switch flag 0x1F rom.write_byte(0x2b08ce4 + 13, 0x1F) + if not world.dungeon_mq['Bottom of the Well']: + # Collecting the final BotW basement silver rupee and activating the cutscene of the door unlocking while on the ladder causes a softlock. + # Move slightly the X coordinate of this actor so that it cannot be collected while climbing. + # This is a vanilla bug tracked at https://github.com/OoTRandomizer/OoT-Randomizer/issues/2004 + # If and when that bug is fixed in rando, this displacement can be removed. + rom.write_int16(0x32E92C6, 0xFD78) + # Write flag table data - collectible_flag_table, alt_list = get_collectible_flag_table(world) - collectible_flag_table_bytes, num_collectible_flags = get_collectible_flag_table_bytes(collectible_flag_table) + xflags_tables, alt_list = build_xflags_from_world(world) + xflag_scene_table, xflag_room_table, xflag_room_blob, max_bit = build_xflag_tables(xflags_tables) + rom.write_bytes(rom.sym('xflag_scene_table'), xflag_scene_table) + if len(xflag_room_table) > rom.sym_length('xflag_room_table'): + raise RuntimeError(f'Exceeded xflag room table size: {len(xflag_room_table)}') + if len(xflag_room_blob) > rom.sym_length('xflag_room_blob'): + raise RuntimeError(f'Exceed xflag blob table size: {len(xflag_room_blob)}') + rom.write_bytes(rom.sym('xflag_room_table'), xflag_room_table) + rom.write_bytes(rom.sym('xflag_room_blob'), xflag_room_blob) + num_collectible_flag_bytes = int(max_bit / 8) + 1 + num_collectible_flag_bytes += num_collectible_flag_bytes % 8 + rom.write_bytes(rom.sym('num_override_flags'), num_collectible_flag_bytes.to_bytes(2, 'big')) + alt_list_bytes = get_alt_list_bytes(alt_list) - if(len(collectible_flag_table_bytes) > 1000): - raise(RuntimeError(f'Exceeded collectible override table size: {len(collectible_flag_table_bytes)}')) - rom.write_bytes(rom.sym('collectible_scene_flags_table'), collectible_flag_table_bytes) - num_collectible_flags += num_collectible_flags % 8 - rom.write_bytes(rom.sym('num_override_flags'), num_collectible_flags.to_bytes(2, 'big')) - if len(alt_list) >= 90: + if len(alt_list_bytes) > rom.sym_length('alt_overrides'): raise RuntimeError(f'Exceeded alt override table size: {len(alt_list)}') rom.write_bytes(rom.sym('alt_overrides'), alt_list_bytes) # Write item overrides check_location_dupes(world) override_table = get_override_table(world) - if len(override_table) >= 2200: - raise(RuntimeError("Exceeded override table size: " + str(len(override_table)))) - rom.write_bytes(rom.sym('cfg_item_overrides'), get_override_table_bytes(override_table)) + override_table_bytes = get_override_table_bytes(override_table) + if len(override_table_bytes) >= rom.sym_length('cfg_item_overrides'): + raise RuntimeError("Exceeded override table size: " + str(len(override_table))) + rom.write_bytes(rom.sym('cfg_item_overrides'), override_table_bytes) rom.write_byte(rom.sym('PLAYER_ID'), world.id + 1) # Write player ID # Revert Song Get Override Injection @@ -1531,14 +1539,14 @@ def calculate_traded_flags(world): if world.settings.deadly_bonks == 'ohko': rom.write_int16(rom.sym('CFG_BONK_DAMAGE'), 0xFFFE) - # Patch songs and boss rewards + # Patch songs for location in world.get_filled_locations(): - item = location.item - special = item.special - locationaddress = location.address - secondaryaddress = location.address2 - if location.type == 'Song' and not songs_as_items: + item = location.item + special = item.special + locationaddress = location.address + secondaryaddress = location.address2 + bit_mask_pointer = 0x8C34 + ((special['item_id'] - 0x65) * 4) rom.write_byte(locationaddress, special['song_id']) next_song_id = special['song_id'] + 0x0D @@ -1576,17 +1584,6 @@ def calculate_traded_flags(world): rom.write_byte(0x2000FED, special['text_id']) # Fix text box elif location.name == 'Sheik at Colossus': rom.write_byte(0x218C589, special['text_id']) # Fix text box - elif location.type == 'Boss' and location.name != 'Links Pocket': - rom.write_byte(locationaddress, special['item_id']) - rom.write_byte(secondaryaddress, special['addr2_data']) - bit_mask_hi = special['bit_mask'] >> 16 - bit_mask_lo = special['bit_mask'] & 0xFFFF - if location.name == 'Bongo Bongo': - rom.write_int16(0xCA3F32, bit_mask_hi) - rom.write_int16(0xCA3F36, bit_mask_lo) - elif location.name == 'Twinrova': - rom.write_int16(0xCA3EA2, bit_mask_hi) - rom.write_int16(0xCA3EA6, bit_mask_lo) # add a cheaper bombchu pack to the bombchu shop # describe @@ -1846,6 +1843,9 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p update_message_by_id(messages, 0x6E, "Wait, that room was off limits!\x02") update_message_by_id(messages, 0x704C, "I hope you like it!\x02") + if world.settings.tcg_requires_lens: + rom.write_byte(rom.sym('TCG_REQUIRES_LENS'), 0x01) + if world.settings.shuffle_pots != 'off': # Update the first BK door in ganon's castle to use a separate flag so it can be unlocked to get to the pots patch_ganons_tower_bk_door(rom, 0x15) # Using flag 0x15 for the door. GBK doors normally use 0x14. locked_doors = get_doors_to_unlock(rom, world) @@ -1976,66 +1976,51 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p # give dungeon items the correct messages add_item_messages(messages, shop_items, world) - if world.settings.enhance_map_compass: - reward_list = { - 'Kokiri Emerald': "\x05\x42Kokiri Emerald\x05\x40", - 'Goron Ruby': "\x05\x41Goron Ruby\x05\x40", - 'Zora Sapphire': "\x05\x43Zora Sapphire\x05\x40", - 'Forest Medallion': "\x05\x42Forest Medallion\x05\x40", - 'Fire Medallion': "\x05\x41Fire Medallion\x05\x40", - 'Water Medallion': "\x05\x43Water Medallion\x05\x40", - 'Spirit Medallion': "\x05\x46Spirit Medallion\x05\x40", - 'Shadow Medallion': "\x05\x45Shadow Medallion\x05\x40", - 'Light Medallion': "\x05\x44Light Medallion\x05\x40", - } + if world.settings.enhance_map_compass and world.settings.shuffle_mapcompass != 'remove' and world.settings.world_count == 1: dungeon_list = { - # dungeon name boss name compass map - 'Deku Tree': ("the \x05\x42Deku Tree", 'Queen Gohma', 0x62, 0x88), - 'Dodongos Cavern': ("\x05\x41Dodongo\'s Cavern", 'King Dodongo', 0x63, 0x89), - 'Jabu Jabus Belly': ("\x05\x43Jabu Jabu\'s Belly", 'Barinade', 0x64, 0x8a), - 'Forest Temple': ("the \x05\x42Forest Temple", 'Phantom Ganon', 0x65, 0x8b), - 'Fire Temple': ("the \x05\x41Fire Temple", 'Volvagia', 0x7c, 0x8c), - 'Water Temple': ("the \x05\x43Water Temple", 'Morpha', 0x7d, 0x8e), - 'Spirit Temple': ("the \x05\x46Spirit Temple", 'Twinrova', 0x7e, 0x8f), - 'Ice Cavern': ("the \x05\x44Ice Cavern", None, 0x87, 0x92), - 'Bottom of the Well': ("the \x05\x45Bottom of the Well", None, 0xa2, 0xa5), - 'Shadow Temple': ("the \x05\x45Shadow Temple", 'Bongo Bongo', 0x7f, 0xa3), + # dungeon name compass map + 'Deku Tree': ("the \x05\x42Deku Tree", 0x62, 0x88), + 'Dodongos Cavern': ("\x05\x41Dodongo\'s Cavern", 0x63, 0x89), + 'Jabu Jabus Belly': ("\x05\x43Jabu Jabu\'s Belly", 0x64, 0x8a), + 'Forest Temple': ("the \x05\x42Forest Temple", 0x65, 0x8b), + 'Fire Temple': ("the \x05\x41Fire Temple", 0x7c, 0x8c), + 'Water Temple': ("the \x05\x43Water Temple", 0x7d, 0x8e), + 'Spirit Temple': ("the \x05\x46Spirit Temple", 0x7e, 0x8f), + 'Ice Cavern': ("the \x05\x44Ice Cavern", 0x87, 0x92), + 'Bottom of the Well': ("the \x05\x45Bottom of the Well", 0xa2, 0xa5), + 'Shadow Temple': ("the \x05\x45Shadow Temple", 0x7f, 0xa3), } - for dungeon in world.dungeon_mq: - if dungeon in ('Gerudo Training Ground', 'Ganons Castle'): + for dungeon in world.dungeons: + if dungeon.name in ('Gerudo Training Ground', 'Ganons Castle'): pass - elif dungeon in ('Bottom of the Well', 'Ice Cavern'): - dungeon_name, boss_name, compass_id, map_id = dungeon_list[dungeon] - if world.settings.world_count > 1: - map_message = "\x13\x76\x08\x05\x42\x0F\x05\x40 found the \x05\x41Dungeon Map\x05\x40\x01for %s\x05\x40!\x09" % dungeon_name - else: - map_message = "\x13\x76\x08You found the \x05\x41Dungeon Map\x05\x40\x01for %s\x05\x40!\x01It\'s %s!\x09" % (dungeon_name, "masterful" if world.dungeon_mq[dungeon] else "ordinary") + elif dungeon.name in ('Bottom of the Well', 'Ice Cavern'): + dungeon_name, compass_id, map_id = dungeon_list[dungeon.name] + map_message = f"\x13\x76\x08You found the \x05\x41Dungeon Map\x05\x40\x01for {dungeon_name}\x05\x40!\x01It\'s {'masterful' if world.dungeon_mq[dungeon.name] else 'ordinary'}!\x09" if world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12: update_message_by_id(messages, map_id, map_message, allow_duplicates=True) else: - dungeon_name, boss_name, compass_id, map_id = dungeon_list[dungeon] - if world.settings.world_count > 1: - compass_message = "\x13\x75\x08\x05\x42\x0F\x05\x40 found the \x05\x41Compass\x05\x40\x01for %s\x05\x40!\x09" % (dungeon_name) - elif world.mixed_pools_bosses: #TODO also enable if boss reward shuffle is on - vanilla_reward = world.get_location(boss_name).vanilla_item + dungeon_name, compass_id, map_id = dungeon_list[dungeon.name] + if world.entrance_rando_reward_hints: + vanilla_reward = world.get_location(dungeon.vanilla_boss_name).vanilla_item vanilla_reward_location = world.hinted_dungeon_reward_locations[vanilla_reward] - area = HintArea.at(vanilla_reward_location) - area = GossipText(area.text(world.settings.clearer_hints, preposition=True), [area.color], prefix='') - compass_message = "\x13\x75\x08You found the \x05\x41Compass\x05\x40\x01for %s\x05\x40!\x01The %s can be found\x01%s!\x09" % (dungeon_name, vanilla_reward, area) #TODO figure out why the player name isn't being displayed + if vanilla_reward_location is None: + area = HintArea.ROOT + else: + area = HintArea.at(vanilla_reward_location) + area = GossipText(area.text(world.settings.clearer_hints, preposition=True, use_2nd_person=True), [area.color], prefix='', capitalize=False) + compass_message = f"\x13\x75\x08You found the \x05\x41Compass\x05\x40\x01for {dungeon_name}\x05\x40!\x01The {vanilla_reward} can be found\x01{area}!\x09" else: if world.settings.logic_rules == 'glitched': - boss_location = world.get_location(boss_name) + boss_location = world.get_location(dungeon.vanilla_boss_name) else: - boss_location = next(filter(lambda loc: loc.type == 'Boss', world.get_entrance(f'{dungeon} Before Boss -> {boss_name} Boss Room').connected_region.locations)) - dungeon_reward = reward_list[boss_location.item.name] - compass_message = "\x13\x75\x08You found the \x05\x41Compass\x05\x40\x01for %s\x05\x40!\x01It holds the %s!\x09" % (dungeon_name, dungeon_reward) - update_message_by_id(messages, compass_id, compass_message, allow_duplicates=True) + boss_location = next(filter(lambda loc: loc.type == 'Boss', world.get_entrance(f'{dungeon} Before Boss -> {dungeon.vanilla_boss_name} Boss Room').connected_region.locations)) + dungeon_reward = boss_location.item.name + compass_message = f"\x13\x75\x08You found the \x05\x41Compass\x05\x40\x01for {dungeon_name}\x05\x40!\x01It holds the \x05{COLOR_MAP[REWARD_COLORS[dungeon_reward]]}{dungeon_reward}\x05\x40!\x09" + if world.settings.shuffle_dungeon_rewards != 'dungeon': + update_message_by_id(messages, compass_id, compass_message, allow_duplicates=True) if world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12: - if world.settings.world_count > 1: - map_message = "\x13\x76\x08\x05\x42\x0F\x05\x40 found the \x05\x41Dungeon Map\x05\x40\x01for %s\x05\x40!\x09" % dungeon_name - else: - map_message = "\x13\x76\x08You found the \x05\x41Dungeon Map\x05\x40\x01for %s\x05\x40!\x01It\'s %s!\x09" % (dungeon_name, "masterful" if world.dungeon_mq[dungeon] else "ordinary") + map_message = f"\x13\x76\x08You found the \x05\x41Dungeon Map\x05\x40\x01for {dungeon_name}\x05\x40!\x01It\'s {'masterful' if world.dungeon_mq[dungeon.name] else 'ordinary'}!\x09" update_message_by_id(messages, map_id, map_message, allow_duplicates=True) # Set hints on the altar inside ToT @@ -2153,8 +2138,8 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p rom.write_byte(symbol, 0x01) # Autocollect incoming_item_id for magic jars are swapped in vanilla code - rom.write_int16(0xA88066, 0x0044) # Change GI_MAGIC_SMALL to GI_MAGIC_LARGE - rom.write_int16(0xA88072, 0x0043) # Change GI_MAGIC_LARGE to GI_MAGIC_SMALL + rom.write_int16(0xA88066, 0x0044) # Change GI_MAGIC_JAR_SMALL to GI_MAGIC_JAR_LARGE + rom.write_int16(0xA88072, 0x0043) # Change GI_MAGIC_JAR_LARGE to GI_MAGIC_JAR_SMALL else: # Remove deku shield drop from spirit pot because it's "vanilla behavior" # Replace actor parameters in scene 06, room 27 actor list @@ -2232,6 +2217,11 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p # Meg respawns after 30 frames instead of 100 frames after getting hit rom.write_byte(0xCDA723, 0x1E) + # Boss doors side range (1.0 value is 0x46) + # This was reduced to 0x32 in 1.1, either to fix the Phantom Ganon door bug or just to match better visually the door textures. + # See https://github.com/OoTRandomizer/OoT-Randomizer/pull/2331 for more information. + rom.write_byte(0xC57AE2, 0x32) + # actually write the save table to rom world.distribution.give_items(world, save_context) if world.settings.starting_age == 'adult': @@ -2274,6 +2264,8 @@ def update_scrub_text(message: bytearray, text_replacement: list[str], default_p def add_to_extended_object_table(rom: Rom, object_id: int, start_address: int, end_address: int) -> None: extended_id = object_id - NUM_VANILLA_OBJECTS - 1 extended_object_table = rom.sym('EXTENDED_OBJECT_TABLE') + if (extended_id + 1) * 8 > rom.sym_length('EXTENDED_OBJECT_TABLE'): + raise RuntimeError(f'Exceeded EXTENDED_OBJECT_TABLE size: {extended_id}') rom.write_int32s(extended_object_table + extended_id * 8, [start_address, end_address]) @@ -2319,9 +2311,8 @@ def write_rom_texture(rom: Rom, texture_id: int, texture: dict[str, Any]) -> Non def get_override_table(world: World): return list(filter(lambda val: val is not None, map(get_override_entry, world.get_filled_locations()))) - -override_struct = struct.Struct('>BBHxxxxHBxHxx') # match override_t in get_items.h - +override_key_struct = struct.Struct('>BBxxI') # match override_key_t in get_items.h +override_struct = struct.Struct('>BBxxIHBxHxx') # match override_t in get_items.h def get_override_table_bytes(override_table): return b''.join(sorted(itertools.starmap(override_struct.pack, override_table))) @@ -2335,7 +2326,7 @@ def get_override_entry(location: Location) -> Optional[OverrideEntry]: return None # Don't add freestanding items, pots/crates, beehives to the override table if they're disabled. We use this check to determine how to draw and interact with them - if location.type in ["ActorOverride", "Freestanding", "RupeeTower", "Pot", "Crate", "FlyingPot", "SmallCrate", "Beehive", "Wonderitem"] and location.disabled != DisableType.ENABLED: + if location.type in ('ActorOverride', 'Freestanding', 'RupeeTower', 'Pot', 'Crate', 'FlyingPot', 'SmallCrate', 'Beehive', 'Wonderitem') and location.disabled != DisableType.ENABLED: return None player_id = location.item.world.id + 1 @@ -2349,14 +2340,23 @@ def get_override_entry(location: Location) -> Optional[OverrideEntry]: elif location.type == 'Chest': type = 1 default &= 0x1F - elif location.type in ['Freestanding', 'Pot', 'Crate', 'FlyingPot', 'SmallCrate', 'RupeeTower', 'Beehive', 'SilverRupee', 'Wonderitem']: + elif location.type in ('Freestanding', 'Pot', 'Crate', 'FlyingPot', 'SmallCrate', 'RupeeTower', 'Beehive', 'SilverRupee', 'Wonderitem'): type = 6 if not (isinstance(location.default, list) or isinstance(location.default, tuple)): raise Exception("Not right") if isinstance(location.default, list): default = location.default[0] - room, scene_setup, flag = default - default = (room << 8) + (scene_setup << 14) + flag + + if len(default) == 3: + room, scene_setup, flag = default + subflag = 0 + elif len(default) == 4: + room, scene_setup, flag, subflag = default + + if location.scene == 0x3E: # handle grottos separately... + default = ((scene_setup & 0x1F) << 19) + ((room & 0x0F) << 15) + ((flag & 0x7F) << 8) + ((subflag & 0xFF)) #scene_setup = grotto_id + else: + default = (scene_setup << 22) + (room << 16) + (flag << 8) + (subflag) elif location.type in ('Collectable', 'ActorOverride'): type = 2 elif location.type == 'GS Token': @@ -2367,7 +2367,7 @@ def get_override_entry(location: Location) -> Optional[OverrideEntry]: type = 0 elif location.type == 'GrottoScrub' and location.item.type != 'Shop': type = 4 - elif location.type in ('Song', 'Cutscene'): + elif location.type in ('Song', 'Cutscene', 'Boss'): type = 5 else: return None @@ -2651,7 +2651,7 @@ def create_fake_name(name: str) -> str: # keeping the game E... new_name = ''.join(list_name) censor = ['cum', 'cunt', 'dike', 'penis', 'puss', 'rape', 'shit'] - new_name_az = re.sub(r'[^a-zA-Z]', '', new_name.lower(), re.UNICODE) + new_name_az = re.sub(r'[^a-zA-Z]', '', new_name.lower()) for cuss in censor: if cuss in new_name_az: return create_fake_name(name) @@ -2784,25 +2784,35 @@ def configure_dungeon_info(rom: Rom, world: World) -> None: dungeon_rewards = [0xff] * 14 dungeon_reward_areas = bytearray() - for reward in ('Kokiri Emerald', 'Goron Ruby', 'Zora Sapphire', 'Light Medallion', 'Forest Medallion', 'Fire Medallion', 'Water Medallion', 'Shadow Medallion', 'Spirit Medallion'): - location = next(filter(lambda loc: loc.item.name == reward, world.get_filled_locations())) - area = HintArea.at(location) - dungeon_reward_areas += area.short_name.encode('ascii').ljust(0x16) + b'\0' - if area.is_dungeon: - dungeon_rewards[codes.index(area.dungeon_name)] = boss_reward_index(location.item) + dungeon_reward_worlds = [] + if world.dungeon_rewards_hinted: + for reward in REWARD_COLORS: + location = world.hinted_dungeon_reward_locations[reward] + if location is None: + area = HintArea.ROOT + else: + area = HintArea.at(location) + dungeon_reward_areas += area.short_name.encode('ascii').ljust(0x16) + b'\0' + dungeon_reward_worlds.append((world.id if location is None else location.world.id) + 1) + if location is not None and location.world.id == world.id and area.is_dungeon: + dungeon_rewards[codes.index(area.dungeon_name)] = boss_reward_index(location.item) dungeon_is_mq = [1 if world.dungeon_mq.get(c) else 0 for c in codes] + dungeon_precompleted = [1 if world.empty_dungeons[c].empty else 0 for c in codes] rom.write_int32(rom.sym('CFG_DUNGEON_INFO_ENABLE'), 2) rom.write_int32(rom.sym('CFG_DUNGEON_INFO_MQ_ENABLE'), int(mq_enable)) rom.write_int32(rom.sym('CFG_DUNGEON_INFO_MQ_NEED_MAP'), int(enhance_map_compass)) rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_ENABLE'), int('altar' in world.settings.misc_hints or enhance_map_compass)) - rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_COMPASS'), (2 if world.mixed_pools_bosses else 1) if enhance_map_compass else 0) #TODO also set to 2 if boss reward shuffle is on - rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_ALTAR'), int(not enhance_map_compass)) - rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE'), int(not world.mixed_pools_bosses)) #TODO also set to 0 if boss reward shuffle is on + rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_COMPASS'), (2 if world.entrance_rando_reward_hints else 1) if enhance_map_compass and world.settings.shuffle_dungeon_rewards != 'dungeon' else 0) + rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_NEED_ALTAR'), int(not enhance_map_compass and world.settings.shuffle_dungeon_rewards != 'dungeon')) + rom.write_int32(rom.sym('CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE'), int(not world.entrance_rando_reward_hints)) rom.write_bytes(rom.sym('CFG_DUNGEON_REWARDS'), dungeon_rewards) rom.write_bytes(rom.sym('CFG_DUNGEON_IS_MQ'), dungeon_is_mq) rom.write_bytes(rom.sym('CFG_DUNGEON_REWARD_AREAS'), dungeon_reward_areas) + rom.write_byte(rom.sym('CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE'), int(world.settings.world_count > 1 and world.settings.shuffle_dungeon_rewards in ('regional', 'overworld', 'any_dungeon', 'anywhere'))) + rom.write_bytes(rom.sym('CFG_DUNGEON_REWARD_WORLDS'), dungeon_reward_worlds) + rom.write_bytes(rom.sym('CFG_DUNGEON_PRECOMPLETED'), dungeon_precompleted) # Overwrite an actor in rom w/ the actor data from LocationList @@ -2824,7 +2834,7 @@ def patch_rupee_tower(location: Location, rom: Rom) -> None: else: raise Exception(f"Location does not have compatible data for patch_rupee_tower: {location.name}") - flag = flag + (room << 8) + flag = flag | (room << 8) | (scene_setup << 14) if location.address: for address in location.address: rom.write_bytes(address + 12, flag.to_bytes(2, byteorder='big')) diff --git a/Plandomizer.py b/Plandomizer.py index 6aaa0a5ce3..ffb14686a7 100644 --- a/Plandomizer.py +++ b/Plandomizer.py @@ -20,8 +20,8 @@ from Location import Location, LocationIterator, LocationFactory from LocationList import location_groups, location_table from Search import Search -from SettingsList import build_close_match, validate_settings -from Spoiler import Spoiler, HASH_ICONS +from SettingsList import build_close_match, validate_settings, settings_versioning +from Spoiler import Spoiler, HASH_ICONS, PASSWORD_NOTES from version import __version__ if TYPE_CHECKING: @@ -278,7 +278,8 @@ def __init__(self, distribution: Distribution, id: int, src_dict: Optional[dict[ self.id: int = id self.base_pool: list[str] = [] self.major_group: list[str] = [] - self.song_as_items: bool = False + self.rewards_as_items: bool = False + self.songs_as_items: bool = False self.skipped_locations: list[Location] = [] self.effective_starting_items: dict[str, StarterRecord] = {} @@ -607,8 +608,10 @@ def alter_pool(self, world: World, pool: list[str]) -> list[str]: self.pool_remove_item([pool], item_name, record.count) except KeyError: pass + if item_name in item_groups["DungeonReward"]: + self.rewards_as_items = True if item_name in item_groups["Song"]: - self.song_as_items = True + self.songs_as_items = True junk_to_add = pool_size - len(pool) if junk_to_add > 0: @@ -886,9 +889,6 @@ def fill(self, worlds: list[World], location_pools: list[list[Location]], item_p player_id = self.id if record.player is None else record.player - 1 - if record.item in item_groups['DungeonReward']: - raise RuntimeError('Cannot place dungeon reward %s in world %d in location %s.' % (record.item, self.id + 1, location_name)) - if record.item == '#Junk' and location.type == 'Song' and world.settings.shuffle_song_items == 'song' and not any(name in song_list and r.count for name, r in world.settings.starting_items.items()): record.item = '#JunkSong' @@ -910,8 +910,10 @@ def fill(self, worlds: list[World], location_pools: list[list[Location]], item_p item = self.get_item(ignore_pools, item_pools, location, player_id, record, worlds) + if location.type == 'Boss' and location.name != 'ToT Reward from Rauru' and item.type != 'DungeonReward': + self.rewards_as_items = True if location.type == 'Song' and item.type != 'Song': - self.song_as_items = True + self.songs_as_items = True location.world.push_item(location, item, True) if item.advancement: @@ -1076,60 +1078,49 @@ def configure_effective_starting_items(self, worlds: list[World], world: World) add_starting_item_with_ammo(items, 'Deku Sticks', 99) add_starting_item_with_ammo(items, 'Deku Nuts', 99) - skipped_locations = ['Links Pocket'] - if world.skip_child_zelda: - skipped_locations += ['HC Zeldas Letter', 'Song from Impa'] - if world.settings.gerudo_fortress == 'open' and not world.settings.shuffle_gerudo_card: - skipped_locations.append('Hideout Gerudo Membership Card') - if world.settings.empty_dungeons_mode != 'none': - skipped_locations_from_dungeons = [] - if True: #TODO dungeon rewards not shuffled - skipped_locations_from_dungeons += location_groups['Boss'] - if world.settings.shuffle_song_items == 'song': - skipped_locations_from_dungeons += location_groups['Song'] - elif world.settings.shuffle_song_items == 'dungeon': - skipped_locations_from_dungeons += location_groups['BossHeart'] - for location_name in skipped_locations_from_dungeons: - location = world.get_location(location_name) - hint_area = HintArea.at(location) - if hint_area.is_dungeon and world.empty_dungeons[hint_area.dungeon_name].empty: - skipped_locations.append(location.name) - world.item_added_hint_types['barren'].append(location.item.name) for iter_world in worlds: + skipped_locations: list[Location] = [] + if iter_world.settings.skip_reward_from_rauru: + skipped_locations.append(iter_world.get_location('ToT Reward from Rauru')) + if iter_world.skip_child_zelda: + skipped_locations += [iter_world.get_location('HC Zeldas Letter'), iter_world.get_location('Song from Impa')] + if iter_world.settings.gerudo_fortress == 'open' and not iter_world.settings.shuffle_gerudo_card: + skipped_locations.append(iter_world.get_location('Hideout Gerudo Membership Card')) + if iter_world.settings.empty_dungeons_mode != 'none': + skipped_locations_from_dungeons: list[Location] = [] + if iter_world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward'): + skipped_locations_from_dungeons += [iter_world.get_location(loc_name) for loc_name in location_groups['Boss'] if loc_name != 'ToT Reward from Rauru'] + elif iter_world.settings.shuffle_dungeon_rewards == 'dungeon': + skipped_locations_from_dungeons += [location for location in iter_world.get_filled_locations() if location.item.type == 'DungeonReward'] + if iter_world.settings.shuffle_song_items == 'song': + skipped_locations_from_dungeons += [iter_world.get_location(loc_name) for loc_name in location_groups['Song']] + elif iter_world.settings.shuffle_song_items == 'dungeon': + skipped_locations_from_dungeons += [iter_world.get_location(loc_name) for loc_name in location_groups['BossHeart']] + for location in skipped_locations_from_dungeons: + if location.item is not None and world.id == location.item.world.id: + hint_area = HintArea.at(location) + if hint_area.is_dungeon and iter_world.empty_dungeons[hint_area.dungeon_name].empty: + skipped_locations.append(location) + world.item_added_hint_types['barren'].append(location.item.name) for location in skipped_locations: - loc = iter_world.get_location(location) if iter_world.id == world.id: - self.skipped_locations.append(loc) - if loc.item is not None and world.id == loc.item.world.id: - add_starting_item_with_ammo(items, loc.item.name) + self.skipped_locations.append(location) + if location.item is not None and world.id == location.item.world.id: + add_starting_item_with_ammo(items, location.item.name) effective_adult_trade_item_index = -1 - effective_child_trade_item_index = -1 - effective_adult_trade_item = None - effective_child_trade_item = None - trade_starting_items = list(items.keys()) - for item_name in trade_starting_items: + for item_name in items: if item_name in trade_items: if item_name in world.settings.adult_trade_start: if trade_items.index(item_name) > effective_adult_trade_item_index: effective_adult_trade_item_index = trade_items.index(item_name) - effective_adult_trade_item = items[item_name] else: raise RuntimeError(f'An unshuffled trade item was included as a starting item. Please either remove {item_name} from starting items or add it to Adult Trade Sequence Items.') - del items[item_name] if item_name in child_trade_items: - if item_name in world.settings.shuffle_child_trade or item_name == 'Zeldas Letter': - if child_trade_items.index(item_name) > effective_child_trade_item_index: - effective_child_trade_item_index = child_trade_items.index(item_name) - effective_child_trade_item = items[item_name] - else: + if item_name not in world.settings.shuffle_child_trade and item_name != 'Zeldas Letter': raise RuntimeError(f'An unshuffled trade item was included as a starting item. Please either remove {item_name} from starting items or add it to Shuffled Child Trade Sequence Items.') - del items[item_name] - if effective_child_trade_item_index >= 0: - items[child_trade_items[effective_child_trade_item_index]] = effective_child_trade_item if effective_adult_trade_item_index >= 0: - items[trade_items[effective_adult_trade_item_index]] = effective_adult_trade_item world.adult_trade_starting_inventory = trade_items[effective_adult_trade_item_index] self.effective_starting_items = items @@ -1138,6 +1129,7 @@ def configure_effective_starting_items(self, worlds: list[World], world: World) class Distribution: def __init__(self, settings: Settings, src_dict: Optional[dict[str, Any]] = None) -> None: self.file_hash: Optional[list[str]] = None + self.password: Optional[list[str]] = None self.playthrough: Optional[dict[str, dict[str, LocationRecord]]] = None self.entrance_playthrough: Optional[dict[str, dict[str, EntranceRecord]]] = None @@ -1157,6 +1149,7 @@ def __init__(self, settings: Settings, src_dict: Optional[dict[str, Any]] = None # One-time init update_dict = { 'file_hash': (self.src_dict.get('file_hash', []) + [None, None, None, None, None])[0:5], + 'password': (self.src_dict.get('password', []) + [None, None, None, None, None, None])[0:6], 'playthrough': None, 'entrance_playthrough': None, '_settings': self.src_dict.get('settings', {}), @@ -1170,6 +1163,10 @@ def __init__(self, settings: Settings, src_dict: Optional[dict[str, Any]] = None self.settings.update(update_dict['_settings']) if 'settings' in self.src_dict: + for setting in self.src_dict['settings']: + for setting_version in settings_versioning: + if setting == setting_version.old_name: + self.src_dict['settings'][setting_version.new_name] = self.src_dict['settings'].pop(setting_version.old_name) validate_settings(self.src_dict['settings']) self.src_dict['_settings'] = self.src_dict['settings'] del self.src_dict['settings'] @@ -1293,12 +1290,16 @@ def to_json(self, include_output: bool = True, spoiler: bool = True) -> dict[str self_dict = { ':version': __version__, 'file_hash': CollapseList(self.file_hash), + 'password': CollapseList(self.password), ':seed': self.settings.seed, ':settings_string': self.settings.settings_string, ':enable_distribution_file': self.settings.enable_distribution_file, 'settings': self.settings.to_json(), } + if not self.settings.password_lock or not spoiler: + self_dict.pop('password') + if spoiler: world_dist_dicts = [world_dist.to_json() for world_dist in self.world_dists] if self.settings.world_count > 1: @@ -1338,6 +1339,7 @@ def __str__(self) -> str: def update_spoiler(self, spoiler: Spoiler, output_spoiler: bool) -> None: self.file_hash = [HASH_ICONS[icon] for icon in spoiler.file_hash] + self.password = [PASSWORD_NOTES[note - 1] for note in spoiler.password] if not output_spoiler: return diff --git a/ProcessActors.py b/ProcessActors.py new file mode 100644 index 0000000000..779fd9a764 --- /dev/null +++ b/ProcessActors.py @@ -0,0 +1,374 @@ +from Rom import * + +def get_actor_list(rom, actor_func): + actors = {} + #scene_table = 0x00B71440 + scene_table = 0x00BA0BB0 # for MQ + for scene in range(0x00, 0x65): + scene_data = rom.read_int32(scene_table + (scene * 0x14)) + actors.update(scene_get_actors(rom, actor_func, scene_data, scene)) + return actors + +def scene_get_actors(rom, actor_func, scene_data, scene, alternate=None, setup_num=0): + actors = {} + scene_start = alternate if alternate else scene_data + command = 0 + while command != 0x14: # 0x14 = end header + command = rom.read_byte(scene_data) + if command == 0x04: #room list + room_count = rom.read_byte(scene_data + 1) + room_list = scene_start + (rom.read_int32(scene_data + 4) & 0x00FFFFFF) + for room_id in range(0, room_count): + room_data = rom.read_int32(room_list) + actors.update(room_get_actors(rom, actor_func, room_data, scene, room_id, setup_num)) + room_list = room_list + 8 + if command == 0x18: # Alternate header list + header_list = scene_start + (rom.read_int32(scene_data + 4) & 0x00FFFFFF) + for alt_id in range(0, 3): + alt_header_addr = rom.read_int32(header_list) & 0x00FFFFFF + if alt_header_addr != 0 and not alternate: + header_data = scene_start + alt_header_addr + actors.update(scene_get_actors(rom, actor_func, header_data, scene, scene_start, alt_id+1)) + header_list = header_list + 4 + + scene_data = scene_data + 8 + return actors + +def room_get_actors(rom, actor_func, room_data, scene, room_id, setup_num, alternate=None): + actors = {} + room_start = alternate if alternate else room_data + command = 0 + while command != 0x14: # 0x14 = end header + command = rom.read_byte(room_data) + if command == 0x01: # actor list + actor_count = rom.read_byte(room_data + 1) + actor_list = room_start + (rom.read_int32(room_data + 4) & 0x00FFFFFF) + for _ in range(0, actor_count): + actor_id = rom.read_int16(actor_list) + entry = actor_func(rom, actor_id, actor_list, scene, room_id, setup_num, _) + if entry: + actors[actor_list] = entry + actor_list = actor_list + 16 + if command == 0x18: # Alternate header list + header_list = room_start + (rom.read_int32(room_data + 4) & 0x00FFFFFF) + for alt_id in range(0, 3): + alt_header_addr = rom.read_int32(header_list) & 0x00FFFFFF + if alt_header_addr != 0 and not alternate and setup_num == alt_id + 1: + header_data = room_start + alt_header_addr + actors.update(room_get_actors(rom, actor_func, header_data, scene,room_id, alt_id+1, room_start)) + header_list = header_list + 4 + room_data = room_data + 8 + return actors + +def get_wonderitems(rom): + def get_wonderitems_func(rom, actor_id, actor, scene, room_id, setup_num, actor_num): + if actor_id == 0x112: + return scene, room_id, setup_num, actor_num, scenes[scene], process_wonderitem(rom.read_bytes(actor, 16)) + + return get_actor_list(rom, get_wonderitems_func) + +def get_pots(rom): + def get_pot_func(rom, actor_id, actor, scene, room_id, setup_num, actor_num): + if actor_id == 0x111: + return scene, room_id, setup_num, actor_num, scenes[scene], process_pot(rom.read_bytes(actor, 16)) + return get_actor_list(rom, get_pot_func) + +def get_crates(rom): + def get_crate_func(rom, actor_id, actor, scene, room_id, setup_num, actor_num): + if actor_id == 0x01A0: + return scene, room_id, setup_num, actor_num, scenes[scene], process_crate(rom.read_bytes(actor, 16)) + return get_actor_list(rom, get_crate_func) + +def get_small_crates(rom): + def get_smallcrate_func(rom, actor_id, actor, scene, room_id, setup_num, actor_num): + if actor_id == 0x0110: + return scene, room_id, setup_num, actor_num, scenes[scene], process_small_crate(rom.read_bytes(actor, 16)) + return get_actor_list(rom, get_smallcrate_func) + +def get_flying_pots(rom): + def get_flyingpot_func(rom, actor_id, actor,scene,room_id,setup_num,actor_num): + if actor_id == 0x11D: + pot = (scene, room_id, setup_num, actor_num, scenes[scene], process_flying_pot(rom.read_bytes(actor, 16))) + return pot + return get_actor_list(rom, get_flyingpot_func) + +def get_empty_and_fairy_pots(rom): + def get_pot_func(rom, actor_id, actor, scene, room_id, setup_num, actor_num): + if actor_id == 0x111: + pot = (scene, room_id, setup_num, actor_num, scenes[scene], process_pot(rom.read_bytes(actor, 16))) + if pot[5]['item_id'] == "Empty" or pot[5]['item_id'] == "Flexible (Fairy)": + return pot + return get_actor_list(rom, get_pot_func) + +wondertypes = [ + 'MULTITAG_FREE', + 'TAG_POINT_FREE', + 'PROXIMITY_DROP', + 'INTERACT_SWITCH', + 'UNUSED', + 'MULTITAG_ORDERED', + 'TAG_POINT_ORDERED', + 'PROXIMITY_SWITCH', + 'BOMB_SOLDIER', + 'ROLL_DROP', +] + +scenes = [ + "Inside the Deku Tree", + "Dodongo's Cavern", + "Inside Jabu-Jabu's Belly", + "Forest Temple", + "Fire Temple", + "Water Temple", + "Spirit Temple", + "Shadow Temple", + "Bottom of the Well", + "Ice Cavern", + "Ganon's Tower", + "Gerudo Training Ground", + "Thieves' Hideout", + "Inside Ganon's Castle", + "Ganon's Tower (Collapsing)", + "Inside Ganon's Castle (Collapsing)", + "Treasure Box Shop", + "Gohma's Lair", + "King Dodongo's Lair", + "Barinade's Lair", + "Phantom Ganon's Lair", + "Volvagia's Lair", + "Morpha's Lair", + "Twinrova's Lair & Nabooru's Mini-Boss Room", + "Bongo Bongo's Lair", + "Ganondorf's Lair", + "Tower Collapse Exterior", + "Market Entrance (Child - Day)", + "Market Entrance (Child - Night)", + "Market Entrance (Ruins)", + "Back Alley (Child - Day)", + "Back Alley (Child - Night)", + "Market (Child - Day)", + "Market (Child - Night)", + "Market (Ruins)", + "Temple of Time Exterior (Child - Day)", + "Temple of Time Exterior (Child - Night)", + "Temple of Time Exterior (Ruins)", + "Know-It-All Brothers' House", + "House of Twins", + "Mido's House", + "Saria's House", + "Carpenter Boss's House", + "Back Alley House (Man in Green)", + "Bazaar", + "Kokiri Shop", + "Goron Shop", + "Zora Shop", + "Kakariko Potion Shop", + "Market Potion Shop", + "Bombchu Shop", + "Happy Mask Shop", + "Link's House", + "Back Alley House (Dog Lady)", + "Stable", + "Impa's House", + "Lakeside Laboratory", + "Carpenters' Tent", + "Gravekeeper's Hut", + "Great Fairy's Fountain (Upgrades)", + "Fairy's Fountain", + "Great Fairy's Fountain (Spells)", + "Grottos", + "Grave (Redead)", + "Grave (Fairy's Fountain)", + "Royal Family's Tomb", + "Shooting Gallery", + "Temple of Time", + "Chamber of the Sages", + "Castle Hedge Maze (Day)", + "Castle Hedge Maze (Night)", + "Cutscene Map", + "Dampé's Grave & Windmill", + "Fishing Pond", + "Castle Courtyard", + "Bombchu Bowling Alley", + "Ranch House & Silo", + "Guard House", + "Granny's Potion Shop", + "Ganon's Tower Collapse & Battle Arena", + "House of Skulltula", + "Spot 00 - Hyrule Field", + "Spot 01 - Kakariko Village", + "Spot 02 - Graveyard", + "Spot 03 - Zora's River", + "Spot 04 - Kokiri Forest", + "Spot 05 - Sacred Forest Meadow", + "Spot 06 - Lake Hylia", + "Spot 07 - Zora's Domain", + "Spot 08 - Zora's Fountain", + "Spot 09 - Gerudo Valley", + "Spot 10 - Lost Woods", + "Spot 11 - Desert Colossus", + "Spot 12 - Gerudo's Fortress", + "Spot 13 - Haunted Wasteland", + "Spot 15 - Hyrule Castle", + "Spot 16 - Death Mountain Trail", + "Spot 17 - Death Mountain Crater", + "Spot 18 - Goron City", + "Spot 20 - Lon Lon Ranch", + "Ganon's Castle Exterior", + +] + +dropTable = [ + 'NUTS', 'HEART_PIECE', 'MAGIC_LARGE', 'MAGIC_SMALL', + 'HEART', 'ARROWS_SMALL', 'ARROWS_MEDIUM', 'ARROWS_LARGE', + 'RUPEE_GREEN', 'RUPEE_BLUE', 'RUPEE_RED', 'FLEXIBLE', +] + +def process_wonderitem(actor_bytes): + variable = (actor_bytes[14] << 8) + actor_bytes[15] + type = (variable >> 0xB) & 0x1F + drop = ((variable >> 6) & 0x1F) + if drop < 12: + drop = dropTable[drop] + else: + drop = f'Random {drop}' + + damage_type = None + if type == 3: # Interact Switch, get damage type + damage_type = (actor_bytes[12] << 8) + actor_bytes[13] + return { + 'type':type, + 'type_string':wondertypes[type], + 'drop': drop, + 'damage_type': damage_type, + } + +def process_flying_pot(actor_bytes): + variable = (actor_bytes[14] << 8) + actor_bytes[15] + drop = (variable & 0xFF00) >> 8 + flag = (variable & 0x003F) + return { + 'variable': hex(variable), + 'drop': hex(drop), + 'flag': hex(flag), + } + +def process_small_crate(actor_bytes): + variable = (actor_bytes[14] << 8) + actor_bytes[15] + item_id = variable & 0x1F + item_dict = { + 0x00: "Green Rupee", + 0x01: "Blue Rupee", + 0x02: "Red Rupee", + 0x03: "Recovery Heart", + 0x04: "Bombs (5)", + 0x05: "Arrows (1)", + 0x08: "Arrows (5)", + 0x09: "Arrows (10)", + 0x0A: "Arrows (30)", + 0x0B: "Bombs (5)", + 0x0C: "Deku Nuts (5)", + 0x0D: "Deku Sticks (1)", + 0x0E: "Magic Jar (Small)", + 0x0F: "Magic Jar (Large)", + 0x10: "Deku Seeds (5)", + 0x11: "Small Key", + 0x12: "Flexible (Fairy)", + 0x13: "Huge Rupee", + 0x14: "Purple Rupee", + 0x15: "Deku Shield", + 0x1F: "Empty", + } + if item_id not in item_dict.keys(): + item_id = None + return { + 'variable': hex(variable), + 'item_id': item_dict[item_id], + } +def process_crate(actor_bytes): + variable = (actor_bytes[14] << 8) + actor_bytes[15] + rx = (actor_bytes[8] << 8) + actor_bytes[9] + # for crates, item dropped iz in Rx + item_id = (rx & 0xFF) + item_dict = { + 0x00: "Green Rupee", + 0x01: "Blue Rupee", + 0x02: "Red Rupee", + 0x03: "Recovery Heart", + 0x04: "Bombs (5)", + 0x05: "Arrows (1)", + 0x08: "Arrows (5)", + 0x09: "Arrows (10)", + 0x0A: "Arrows (30)", + 0x0B: "Bombs (5)", + 0x0C: "Deku Nuts (5)", + 0x0D: "Deku Sticks (1)", + 0x0E: "Magic Jar (Small)", + 0x0F: "Magic Jar (Large)", + 0x10: "Deku Seeds (5)", + 0x11: "Small Key", + 0x12: "Flexible (Fairy)", + 0x13: "Huge Rupee", + 0x14: "Purple Rupee", + 0x15: "Deku Shield", + 0x1F: "Empty", + 0xFF: "Empty", + } + if item_id not in item_dict.keys(): + item_id = None + + actor_dict = { + 'variable': hex(variable), + 'rx': hex(rx), + 'item_id': item_dict[item_id], + 'skulltula': (variable & 0x8000) == 0, + } + if actor_dict['skulltula']: + actor_dict['skulltula_flag'] = variable & 0xFF + return actor_dict + +def process_pot(actor_bytes): + variable = (actor_bytes[14] << 8) + actor_bytes[15] + item_id = variable & 0x1F + item_dict = { + 0x00: "Green Rupee", + 0x01: "Blue Rupee", + 0x02: "Red Rupee", + 0x03: "Recovery Heart", + 0x04: "Bombs (5)", + 0x05: "Arrows (1)", + 0x08: "Arrows (5)", + 0x09: "Arrows (10)", + 0x0A: "Arrows (30)", + 0x0B: "Bombs (5)", + 0x0C: "Deku Nuts (5)", + 0x0D: "Deku Sticks (1)", + 0x0E: "Magic Jar (Small)", + 0x0F: "Magic Jar (Large)", + 0x10: "Deku Seeds (5)", + 0x11: "Small Key", + 0x12: "Flexible (Fairy)", + 0x13: "Huge Rupee", + 0x14: "Purple Rupee", + 0x15: "Deku Shield", + 0x1F: "Empty", + } + if item_id not in item_dict.keys(): + item_id = None + return { + 'variable': hex(variable), + 'item_id': item_dict[item_id], + } + +#rom = Rom('ZOOTDEC.z64') +rom = Rom('zeloot_mqdebug.z64') +pots = get_crates(rom) + +for pot in pots: + print(f'{pot}: {pots[pot]}') + +#rom = Rom('../zeloot_mqdebug.z64') +#wonderitems = get_wonderitems(rom) + +#for wonderitem in wonderitems: + #print(f'{wonderitem}: {wonderitems[wonderitem]}') diff --git a/README.md b/README.md index 71858dc725..541d7bdb06 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ This is a randomizer for _The Legend of Zelda: Ocarina of Time_ for the Nintendo * [Settings](#settings) * [Known Issues](#known-issues) * [Changelog](#changelog) + * [8.2](#82) * [8.1](#81) * [8.0](#80) * [7.1](#71) @@ -28,7 +29,7 @@ https://ootrandomizer.com If you wish to run the script raw, clone this repository and either run ```Gui.py``` for a graphical interface or ```OoTRandomizer.py``` for the command line version. They both require Python 3.8+. -To use the GUI, [NodeJS](https://nodejs.org/download/release/v20.11.1/) (v20 LTS, with npm) will additionally need to be installed. NodeJS v14.14.0 and earlier are no longer supported. +To use the GUI, [NodeJS](https://nodejs.org/download/release/v20.17.0/) (v20 LTS, with npm) will additionally need to be installed. NodeJS v14.14.0 and earlier are no longer supported. The first time ```Gui.py``` is run it will need to install necessary components, which could take a few minutes. Subsequent instances will run much quicker. Supported output formats are .z64 (N64/Emulator), .wad (Wii VC, channel IDs NICE/NRKE recommended), Uncompressed ROM (for developmental purposes, offline build only) and .zpf/.zpfz (patch files, for sharing seeds with others). @@ -111,14 +112,69 @@ issue. You should always Hard Reset to avoid this issue entirely. ### Dev -#### New Features +#### New Settings and Options +* New options `Custom (count)` and `Custom (%)` for the `Ice Traps` setting. +* New hidden `plandomized_locations` setting to allow presets to place specific items at specific locations. +* New setting to speed up the boat ride in the Shadow Temple. +* New `Require Lens of Truth for Treasure Chest Game` setting. +* New option `Market Big Poes` for the `Misc. Hints` setting. +* New setting `Shuffle Ganon's Tower Entrance` to allow shuffling the boss entrance to Ganon himself. +* New setting to control the behavior of the child-only heart piece in Gerudo Fortress when Thieves' Hideout entrances are shuffled. + +#### Bug fixes +* Ocarina buttons required to play the Song of Time are now part of the `path of time` goal. +* The `Frogs Ocarina Game` misc. hint text box has been moved slightly so it no longer requires reloading the area to reread. +* Fix key rings being hinted as small keys when keys are in their own dungeons. +* Fix a crash when pressing down on the D-pad on the inventory screen in some settings combinations. +* Fix a possible void out at the Forest Temple boss door. +* Fix importing settings from older versions on web. +* Fix a Mac-specific issue when loading track .meta files. +* Fix an error in the easy bite fishing hack. +* The randomizer no longer ignores errors when decompressing the base rom or compressing the randomized rom. +* Trade quest items from skipped locations are no longer lost when another trade item is found. +* Fix a crash when dungeon rewards are directly selected as starting items. +* Fix an error with pre-completed dungeon rewards in multiworld. + +#### New Speedups +* The first text box from each carpenter in the Thieves' Hideout is skipped. +* The cutscene that plays when Morpha is defeated has been shortened from around 30 seconds to around 5 seconds. +* The cutscene introducing the arena where Ganon is fought is shortened by 5 seconds and the camera angle after it is improved. + +#### Other Changes +* Now supports custom music written for the Majora's Mask Randomizer. +* New Magic Meter item model to allow magic drops to be shuffled in the future. +* Seeds rolled on ootrandomizer.com display their ID in the top left corner of the file select screen. +* The `Other` tab of the generator has been rearranged for better grouping of settings, and the `One Major Item per Dungeon` setting has been moved there since it was causing frequent failures with `Randomize Main Rule Settings`. +* Biggoron's text after turning in the Eyedrops has been changed to avoid potential confusion. +* Clarified the hint text for `HF Inside Fence Grotto`. +* Farore's Wind now displays which dungeon it will warp Link to. +* Reversed the order of the hints in the `Spirit Temple Adult Lower` dual hint. +* Add adult and child trade items to the auto-tracker context. +* Improve Debug menu with new options and menus. + +### 8.2 + +#### New Settings and Options * New cosmetic option `Input Viewer` for showing control stick values and pressed buttons at the bottom of the screen. +* Add new options for chest/pot/etc. textures, including `Stone of Agony Unlocks Chest Textures` which gives new functionality to the Stone of Agony. +* The name of the currently playing custom music will now be displayed. Can be disabled using a new cosmetic setting. +* New setting to control how dungeon rewards are shuffled. +* The `Links Pocket` location is renamed to `ToT Reward from Rauru`, and a new setting has been added that controls whether it is skipped. +* New option `Specific Rewards` for the `Pre-completed Dungeons Mode` setting, allowing the user to set dungeons to be precompleted depending on which medallion or stone they have. Not compatible with shuffled dungeon rewards. +* New settings to `Include Empty Pots` and `Include Empty Crates` when pots and crates are shuffled respectively. +* New settings preset for the No Logic Weekly. +* New plando-only `password_lock` setting to require a password to start the seed. The password is a sequence of 6 button presses (A and C) shown near the top of the spoiler log. + +#### Other New Features * A text box has been added when completing the adult shooting gallery without a bow to warn the player that they haven't received the real reward. * Settings presets can have aliases. Command-line users may use an alias instead of the name to specify the preset. * The plando-only `item_hints` setting can now include special items such as songs or keys. -* Add new options for chest/pot/etc. textures, including `Stone of Agony Unlocks Chest Textures` which gives new functionality to the Stone of Agony. * A boss key icon will now be displayed near the small key icon in dungeons where it has been obtained. -* The name of the currently playing custom music will now be displayed. +* Fairy pots are now included in `Shuffle Pots`. +* A message is shown the first time a seed with No Logic is generated, to warn the user that the seed may be unbeatable. +* New hint distribution field `excluded_goal_categories` to disable specific goal categories. +* Pre-completed dungeons are crossed out in the dungeon overview menus (A or D-left on the inventory screen). +* New hint distribution field `one_hint_per_goal` can be set to `true` or `false` to override the automatic settings-based behavior of how goal hints are selected. #### Bug Fixes * Goal hints can now hint items required to defeat Ganon even if they're not required for the rainbow bridge, Ganon's boss key, or the trials. These items will be hinted as being on the "path of the hero". @@ -129,18 +185,32 @@ issue. You should always Hard Reset to avoid this issue entirely. * Fix seeds with Plentiful item pool and no adult trade items selected failing to generate. * Fix castle courtyard exiting to incorrect area in Ganon's Castle Dungeon ER. * Fix heart piece count getting zeroed out incorrectly in certain circumstances. +* Business scrubs now take their payment before giving the item. +* The softlock which occurs when collecting a shuffled silver rupee on the ladder in the Bottom of the Well is now fixed by moving the item location so it can't be collected from the ladder instead of disallowing silver rupees on this location. +* Fix inverted cursor in the pause menu when pausing while in first person with the `Uninvert Y-Axis in First Person Camera` cosmetic setting enabled. +* Fix some inconsistent tags for wonderitem locations in the `Exclude Locations` list. +* Fix swapped `Hideout Kitchen Wonderitem` and `Hideout Kitchen Stove Wonderitem` locations. +* Fix a bug where a foolish hint could be generated for an area despite not having any shuffled item locations. +* Fix a bug where spoiler logs' `randomized_settings` fields could be incomplete. +* Prevent setting names from overlapping with scrollbars in the GUI. +* Add missing Wonderitems in MQ Jabu Jabu's falling Like Like room. #### New Speedups * Meg will now take less time before respawning after getting hurt. * The cutscenes for stealing Epona by jumping over a fence are now sped up. Previously, only the cutscene for jumping over the front gate was shortened. * The cutscenes for pulling and dropping the Master Sword are now sped up. -* The cutscenes changing the water level in Lake Hylia and the Kakariko well are now even faster. +* The cutscene changing the water level of the Kakariko well is now even faster. +* The cutscenes playing when a blue warp is taken for the first time have been removed. #### Other Changes * Clarified the error message shown when an unshuffled trade quest item is used as a starting item. * Locations in pre-completed dungeons will no longer be hinted. * Treasure Chest Game key and silver rupee options are now included in `Randomize Main Rule Settings`. * Pause menu has been modified so that equip swap will work again. +* Major items from pots, crates, etc now display above Link's head while the text box is open. +* Gameplay is no longer interrupted if you receive a junk item from another player in multiworld. +* Removed the potentially confusing Master Sword icon from the Rainbow Bridge page of the adult Temple of Time altar text. +* Blue warps now set time of day each time they're taken, fixing a potential softlock. ### 8.1 diff --git a/Region.py b/Region.py index 13fb4fd753..799b76928b 100644 --- a/Region.py +++ b/Region.py @@ -2,6 +2,8 @@ from enum import Enum, unique from typing import TYPE_CHECKING, Optional, Any +from ItemList import REWARD_COLORS + if TYPE_CHECKING: from Dungeon import Dungeon from Entrance import Entrance @@ -107,27 +109,34 @@ def can_fill(self, item: Item, manual: bool = False) -> bool: is_dungeon_restricted = False is_overworld_restricted = False - if item.type in ('Map', 'Compass', 'SmallKey', 'HideoutSmallKey', 'TCGSmallKey', 'BossKey', 'GanonBossKey', 'SilverRupee'): + if item.type in ('Map', 'Compass', 'SmallKey', 'HideoutSmallKey', 'TCGSmallKey', 'SmallKeyRing', 'HideoutSmallKeyRing', 'TCGSmallKeyRing', 'BossKey', 'GanonBossKey', 'SilverRupee', 'DungeonReward'): shuffle_setting = ( self.world.settings.shuffle_mapcompass if item.type in ('Map', 'Compass') else - self.world.settings.shuffle_smallkeys if item.type == 'SmallKey' else - self.world.settings.shuffle_hideoutkeys if item.type == 'HideoutSmallKey' else - self.world.settings.shuffle_tcgkeys if item.type == 'TCGSmallKey' else + self.world.settings.shuffle_smallkeys if item.type in ('SmallKey', 'SmallKeyRing') else + self.world.settings.shuffle_hideoutkeys if item.type in ('HideoutSmallKey', 'HideoutSmallKeyRing') else + self.world.settings.shuffle_tcgkeys if item.type in ('TCGSmallKey', 'TCGSmallKeyRing') else self.world.settings.shuffle_bosskeys if item.type == 'BossKey' else self.world.settings.shuffle_ganon_bosskey if item.type == 'GanonBossKey' else self.world.settings.shuffle_silver_rupees if item.type == 'SilverRupee' else + self.world.settings.shuffle_dungeon_rewards if item.type == 'DungeonReward' else None ) - is_self_dungeon_restricted = shuffle_setting in ('dungeon', 'vanilla') and item.type not in ('HideoutSmallKey', 'TCGSmallKey') + is_self_dungeon_restricted = (shuffle_setting == 'dungeon' or (shuffle_setting == 'vanilla' and item.type != 'DungeonReward')) and item.type not in ('HideoutSmallKey', 'TCGSmallKey', 'HideoutSmallKeyRing', 'TCGSmallKeyRing') is_self_region_restricted = [HintArea.GERUDO_FORTRESS, HintArea.THIEVES_HIDEOUT] if shuffle_setting == 'fortress' else None - is_hint_color_restricted = [HintArea.for_dungeon(item.name).color] if shuffle_setting == 'regional' else None + if item.name in REWARD_COLORS: + is_hint_color_restricted = [REWARD_COLORS[item.name]] if shuffle_setting == 'regional' else None + else: + is_hint_color_restricted = [HintArea.for_dungeon(item.name).color] if shuffle_setting == 'regional' else None is_dungeon_restricted = shuffle_setting == 'any_dungeon' is_overworld_restricted = shuffle_setting == 'overworld' if is_self_dungeon_restricted and not manual: hint_area = HintArea.at(self) - return hint_area.is_dungeon and hint_area.is_dungeon_item(item) and item.world.id == self.world.id + if item.name == 'Light Medallion': + return hint_area in (HintArea.ROOT, HintArea.TEMPLE_OF_TIME) and item.world.id == self.world.id + else: + return hint_area.is_dungeon and hint_area.is_dungeon_item(item) and item.world.id == self.world.id if is_self_region_restricted and not manual: return HintArea.at(self) in is_self_region_restricted and item.world.id == self.world.id diff --git a/Rom.py b/Rom.py index 0ba3419e85..1699910cce 100644 --- a/Rom.py +++ b/Rom.py @@ -26,6 +26,10 @@ def __init__(self, file: Optional[str] = None) -> None: self.force_patch: list[int] = [] self.dma: DMAIterator = DMAIterator(self, DMADATA_START) + with open(data_path('generated/symbols.json'), 'r') as stream: + symbols = json.load(stream) + self.symbols: dict[str, int] = {name: {'address': int(sym['address'], 16), 'length': sym['length']} for name, sym in symbols.items()} + if file is None: return @@ -33,10 +37,6 @@ def __init__(self, file: Optional[str] = None) -> None: os.chdir(local_path()) - with open(data_path('generated/symbols.json'), 'r') as stream: - symbols = json.load(stream) - self.symbols: dict[str, int] = {name: int(addr, 16) for name, addr in symbols.items()} - if os.path.isfile(decompressed_file): # Try to read from previously decompressed rom if one exists. try: @@ -126,7 +126,7 @@ def decompress_rom(self, input_file: str, output_file: str, verify_crc: bool = T else: raise RuntimeError('Unsupported operating system for decompression. Please supply an already decompressed ROM.') - subprocess.call(subcall, **subprocess_args()) + subprocess.check_call(subcall, **subprocess_args()) self.read_rom(output_file, verify_crc=verify_crc) def write_byte(self, address: int, value: int) -> None: @@ -158,7 +158,10 @@ def restore(self) -> None: self.write_version_bytes() def sym(self, symbol_name: str) -> int: - return self.symbols[symbol_name] + return self.symbols[symbol_name]['address'] + + def sym_length(self, symbol_name: str) -> int: + return self.symbols[symbol_name]['length'] def write_to_file(self, file: str) -> None: self.verify_dmadata() diff --git a/Rules.py b/Rules.py index 0f7a597409..f6a736bff2 100644 --- a/Rules.py +++ b/Rules.py @@ -29,7 +29,7 @@ def set_rules(world: World) -> None: if location.type == 'Song': # allow junk items, but songs must still have matching world add_item_rule(location, lambda location, item: - ((location.world.distribution.song_as_items or any(name in song_list and record.count for name, record in world.settings.starting_items.items())) + ((location.world.distribution.songs_as_items or any(name in song_list and record.count for name, record in world.settings.starting_items.items())) and item.type != 'Song') or (item.type == 'Song' and item.world.id == location.world.id)) else: @@ -58,13 +58,6 @@ def set_rules(world: World) -> None: else: add_item_rule(location, lambda location, item: item.type != 'Shop') - if world.shuffle_silver_rupees and location.name == 'Bottom of the Well Basement Silver Rupee Ladders Middle': - # Collecting the final BotW basement silver rupee and activating the cutscene of the door unlocking while on the ladder causes a softlock. - # This is a vanilla bug tracked at https://github.com/OoTRandomizer/OoT-Randomizer/issues/2004 - # If and when that bug is fixed in rando, this item restriction can be removed. - forbid_item(location, 'Silver Rupee (Bottom of the Well Basement)') - forbid_item(location, 'Silver Rupee Pouch (Bottom of the Well Basement)') - if world.skip_child_zelda and location.name == 'Song from Impa': if world.settings.triforce_hunt and world.total_starting_triforce_count >= world.triforce_goal - world.settings.world_count: # We have enough starting Triforce pieces that putting a piece on every world's Song from Impa would hit the goal count diff --git a/SaveContext.py b/SaveContext.py index eaf780bb7e..fc8589ec34 100644 --- a/SaveContext.py +++ b/SaveContext.py @@ -4,8 +4,6 @@ from enum import IntEnum from typing import TYPE_CHECKING, Optional, Any -from ItemPool import IGNORE_LOCATION - if sys.version_info >= (3, 10): from typing import TypeAlias else: @@ -29,7 +27,7 @@ class Scenes(IntEnum): WATER_TEMPLE = 0x05 SPIRIT_TEMPLE = 0x06 SHADOW_TEMPLE = 0x07 - # Bean patch scenes + # Various overworld scenes GRAVEYARD = 0x53 ZORAS_RIVER = 0x54 KOKIRI_FOREST = 0x55 @@ -37,6 +35,7 @@ class Scenes(IntEnum): GERUDO_VALLEY = 0x5A LOST_WOODS = 0x5B DESERT_COLOSSUS = 0x5C + GERUDO_FORTRESS = 0x5D DEATH_MOUNTAIN_TRAIL = 0x60 DEATH_MOUNTAIN_CRATER = 0x61 GORON_CITY = 0x62 @@ -295,14 +294,12 @@ def give_item(self, world: World, item: str, count: int = 1) -> None: if item in SaveContext.bottle_types: self.give_bottle(item, count) - elif item in ["Piece of Heart", "Piece of Heart (Treasure Chest Game)"]: + elif item in ("Piece of Heart", "Piece of Heart (Treasure Chest Game)"): self.give_health(count / 4) elif item == "Heart Container": self.give_health(count) elif item == "Bombchu Item": self.give_bombchu_item(world) - elif item == IGNORE_LOCATION: - pass # used to disable some skipped and inaccessible locations elif item in SaveContext.save_writes_table: if item.startswith('Silver Rupee (') or item.startswith('Silver Rupee Pouch ('): puzzle = item[:-1].split(' (', 1)[1] @@ -861,11 +858,37 @@ def get_save_context_addresses() -> AddressesDict: }, 'triforce_pieces' : Address(0xD4 + 0x1C * 0x48 + 0x10, size=4), # Unused word in scene x48 'pending_freezes' : Address(0xD4 + 0x1C * 0x49 + 0x10, size=4), # Unused word in scene x49 - 'Ocarina_A_Button' : Address(0xD4 + 0x1C * 0x50 + 0x10, mask=0x01), # Unused word in scene x50 - 'Ocarina_C_up_Button' : Address(0xD4 + 0x1C * 0x50 + 0x10, mask=0x02), # Unused word in scene x50 - 'Ocarina_C_down_Button' : Address(0xD4 + 0x1C * 0x50 + 0x10, mask=0x04), # Unused word in scene x50 - 'Ocarina_C_left_Button' : Address(0xD4 + 0x1C * 0x50 + 0x10, mask=0x08), # Unused word in scene x50 - 'Ocarina_C_right_Button' : Address(0xD4 + 0x1C * 0x50 + 0x10, mask=0x10), # Unused word in scene x50 + 'ocarina_buttons' : { # Unused word in scene x50 + 'a' : Address(0xD4 + 0x1C * 0x50 + 0x10, size=4, mask=0x00000001), + 'c_up' : Address(0xD4 + 0x1C * 0x50 + 0x10, size=4, mask=0x00000002), + 'c_down' : Address(0xD4 + 0x1C * 0x50 + 0x10, size=4, mask=0x00000004), + 'c_left' : Address(0xD4 + 0x1C * 0x50 + 0x10, size=4, mask=0x00000008), + 'c_right' : Address(0xD4 + 0x1C * 0x50 + 0x10, size=4, mask=0x00000010), + }, + 'owned_trade_items' : { # Unused word in scene x60 + 'weird_egg' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000001), + 'chicken' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000002), + 'zeldas_letter' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000004), + 'keaton_mask' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000008), + 'skull_mask' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000010), + 'spooky_mask' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000020), + 'bunny_hood' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000040), + 'goron_mask' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000080), + 'zora_mask' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000100), + 'gerudo_mask' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000200), + 'mask_of_truth' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000400), + 'pocket_egg' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00000800), + 'pocket_cucco' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00001000), + 'cojiro' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00002000), + 'odd_mushroom' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00004000), + 'odd_potion' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00008000), + 'poachers_saw' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00010000), + 'broken_sword' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00020000), + 'prescription' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00040000), + 'eyeball_frog' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00080000), + 'eyedrops' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00100000), + 'claim_check' : Address(0xD4 + 0x1C * 0x60 + 0x10, size=4, mask=0x00200000), + }, # begin extended save data items 'silver_rupee_counts' : { @@ -892,6 +915,7 @@ def get_save_context_addresses() -> AddressesDict: 'trials_water': Address(extended=True, size=1), 'trials_forest': Address(extended=True, size=1), }, + 'password' : Address(extended=True, size=6), 'extented_scale' : { 'medal': Address(extended=True, size=1), }, @@ -1065,6 +1089,9 @@ def get_save_context_addresses() -> AddressesDict: } save_writes_table: dict[str, dict[str, Any]] = { + "Nothing" : {}, + "Recovery Heart" : {}, + "Fairy Drop" : {}, "Deku Stick Capacity": { 'item_slot.stick' : 'stick', 'upgrades.stick_upgrade' : [2, 3], @@ -1130,28 +1157,94 @@ def get_save_context_addresses() -> AddressesDict: "Boomerang" : {'item_slot.boomerang' : 'boomerang'}, "Lens of Truth" : {'item_slot.lens' : 'lens'}, "Megaton Hammer" : {'item_slot.hammer' : 'hammer'}, - "Pocket Egg" : {'item_slot.adult_trade' : 'pocket_egg'}, - "Pocket Cucco" : {'item_slot.adult_trade' : 'pocket_cucco'}, - "Cojiro" : {'item_slot.adult_trade' : 'cojiro'}, - "Odd Mushroom" : {'item_slot.adult_trade' : 'odd_mushroom'}, - "Odd Potion" : {'item_slot.adult_trade' : 'odd_potion'}, - "Poachers Saw" : {'item_slot.adult_trade' : 'poachers_saw'}, - "Broken Sword" : {'item_slot.adult_trade' : 'broken_sword'}, - "Prescription" : {'item_slot.adult_trade' : 'prescription'}, - "Eyeball Frog" : {'item_slot.adult_trade' : 'eyeball_frog'}, - "Eyedrops" : {'item_slot.adult_trade' : 'eye_drops'}, - "Claim Check" : {'item_slot.adult_trade' : 'claim_check'}, - "Weird Egg" : {'item_slot.child_trade' : 'weird_egg'}, - "Chicken" : {'item_slot.child_trade' : 'chicken'}, - "Zeldas Letter" : {'item_slot.child_trade' : 'zeldas_letter'}, - "Keaton Mask" : {'item_slot.child_trade' : 'keaton_mask'}, - "Skull Mask" : {'item_slot.child_trade' : 'skull_mask'}, - "Spooky Mask" : {'item_slot.child_trade' : 'spooky_mask'}, - "Bunny Hood" : {'item_slot.child_trade' : 'bunny_hood'}, - "Goron Mask" : {'item_slot.child_trade' : 'goron_mask'}, - "Zora Mask" : {'item_slot.child_trade' : 'zora_mask'}, - "Gerudo Mask" : {'item_slot.child_trade' : 'gerudo_mask'}, - "Mask of Truth" : {'item_slot.child_trade' : 'mask_of_truth'}, + "Pocket Egg" : { + 'item_slot.adult_trade' : 'pocket_egg', + 'owned_trade_items.pocket_egg' : True, + }, + "Pocket Cucco" : { + 'item_slot.adult_trade' : 'pocket_cucco', + 'owned_trade_items.pocket_cucco' : True, + }, + "Cojiro" : { + 'item_slot.adult_trade' : 'cojiro', + 'owned_trade_items.cojiro' : True, + }, + "Odd Mushroom" : { + 'item_slot.adult_trade' : 'odd_mushroom', + 'owned_trade_items.odd_mushroom' : True, + }, + "Odd Potion" : { + 'item_slot.adult_trade' : 'odd_potion', + 'owned_trade_items.odd_potion' : True, + }, + "Poachers Saw" : { + 'item_slot.adult_trade' : 'poachers_saw', + 'owned_trade_items.poachers_saw' : True, + }, + "Broken Sword" : { + 'item_slot.adult_trade' : 'broken_sword', + 'owned_trade_items.broken_sword' : True, + }, + "Prescription" : { + 'item_slot.adult_trade' : 'prescription', + 'owned_trade_items.prescription' : True, + }, + "Eyeball Frog" : { + 'item_slot.adult_trade' : 'eyeball_frog', + 'owned_trade_items.eyeball_frog' : True, + }, + "Eyedrops" : { + 'item_slot.adult_trade' : 'eye_drops', + 'owned_trade_items.eye_drops' : True, + }, + "Claim Check" : { + 'item_slot.adult_trade' : 'claim_check', + 'owned_trade_items.claim_check' : True, + }, + "Weird Egg" : { + 'item_slot.child_trade' : 'weird_egg', + 'owned_trade_items.weird_egg' : True, + }, + "Chicken" : { + 'item_slot.child_trade' : 'chicken', + 'owned_trade_items.chicken' : True, + }, + "Zeldas Letter" : { + 'item_slot.child_trade' : 'zeldas_letter', + 'owned_trade_items.zeldas_letter' : True, + }, + "Keaton Mask" : { + 'item_slot.child_trade' : 'keaton_mask', + 'owned_trade_items.keaton_mask' : True, + }, + "Skull Mask" : { + 'item_slot.child_trade' : 'skull_mask', + 'owned_trade_items.skull_mask' : True, + }, + "Spooky Mask" : { + 'item_slot.child_trade' : 'spooky_mask', + 'owned_trade_items.spooky_mask' : True, + }, + "Bunny Hood" : { + 'item_slot.child_trade' : 'bunny_hood', + 'owned_trade_items.bunny_hood' : True, + }, + "Goron Mask" : { + 'item_slot.child_trade' : 'goron_mask', + 'owned_trade_items.goron_mask' : True, + }, + "Zora Mask" : { + 'item_slot.child_trade' : 'zora_mask', + 'owned_trade_items.zora_mask' : True, + }, + "Gerudo Mask" : { + 'item_slot.child_trade' : 'gerudo_mask', + 'owned_trade_items.gerudo_mask' : True, + }, + "Mask of Truth" : { + 'item_slot.child_trade' : 'mask_of_truth', + 'owned_trade_items.mask_of_truth' : True, + }, "Goron Tunic" : {'equip_items.goron_tunic' : True}, "Zora Tunic" : {'equip_items.zora_tunic' : True}, "Iron Boots" : {'equip_items.iron_boots' : True}, @@ -1220,11 +1313,11 @@ def get_save_context_addresses() -> AddressesDict: }, "Ice Trap" : {'pending_freezes': None}, "Triforce Piece" : {'triforce_pieces': None}, - "Ocarina A Button" : {'Ocarina_A_Button': True}, - "Ocarina C up Button" : {'Ocarina_C_up_Button': True}, - "Ocarina C down Button" : {'Ocarina_C_down_Button': True}, - "Ocarina C left Button" : {'Ocarina_C_left_Button': True}, - "Ocarina C right Button" : {'Ocarina_C_right_Button': True}, + "Ocarina A Button" : {'ocarina_buttons.a': True}, + "Ocarina C up Button" : {'ocarina_buttons.c_up': True}, + "Ocarina C down Button" : {'ocarina_buttons.c_down': True}, + "Ocarina C left Button" : {'ocarina_buttons.c_left': True}, + "Ocarina C right Button" : {'ocarina_buttons.c_right': True}, "Boss Key (Forest Temple)" : {'dungeon_items.forest.boss_key': True}, "Boss Key (Fire Temple)" : {'dungeon_items.fire.boss_key': True}, "Boss Key (Water Temple)" : {'dungeon_items.water.boss_key': True}, diff --git a/SceneFlags.py b/SceneFlags.py index 7f7527b254..5f57e6abdc 100644 --- a/SceneFlags.py +++ b/SceneFlags.py @@ -6,16 +6,8 @@ from Location import Location from World import World - -# Create a dict of dicts of the format: -# { -# scene_number_n : { -# room_setup_number: max_flags -# } -# } -# where room_setup_number defines the room + scene setup as ((setup << 6) + room) for scene n -# and max_flags is the highest used enemy flag for that setup/room -def get_collectible_flag_table(world: World) -> tuple[dict[int, dict[int, int]], list[tuple[Location, tuple[int, int, int], tuple[int, int, int]]]]: +# Loop through all of the locations in the world. Extract ones that use our flag system to start building our xflag tables +def build_xflags_from_world(world: World) -> tuple[dict[int, dict[tuple[int, int], list[tuple[int, int]]]], list[tuple[Location, tuple[int, int, int, int], tuple[int, int, int, int]]]]: scene_flags = {} alt_list = [] for i in range(0, 101): @@ -25,22 +17,98 @@ def get_collectible_flag_table(world: World) -> tuple[dict[int, dict[int, int]], default = location.default if isinstance(default, list): # List of alternative room/setup/flag to use primary_tuple = default[0] + if len(primary_tuple) == 3: + room, setup, flag = primary_tuple + subflag = 0 + primary_tuple = (room, setup, flag, subflag) for c in range(1, len(default)): - alt_list.append((location, default[c], primary_tuple)) + alt = default[c] + if len(alt) == 3: + room, setup, flag = alt + subflag = 0 + alt = (room, setup, flag, subflag) + alt_list.append((location, alt, primary_tuple)) default = primary_tuple # Use the first tuple as the primary tuple if isinstance(default, tuple): - room, setup, flag = default - room_setup = room + (setup << 6) - if room_setup in scene_flags[i].keys(): - curr_room_max_flag = scene_flags[i][room_setup] - if flag > curr_room_max_flag: - scene_flags[i][room_setup] = flag - else: - scene_flags[i][room_setup] = flag + if len(default) == 3: + room, setup, flag = default + subflag = 0 + elif len(default) == 4: + room, setup, flag, subflag = default + room_setup = (setup, room) + if not room_setup in scene_flags[i].keys(): + scene_flags[i][room_setup] = [] + scene_flags[i][room_setup].append((flag, subflag)) + if len(scene_flags[i].keys()) == 0: del scene_flags[i] return scene_flags, alt_list +# Take the data from build_xflags_from_world and create the actual tables that will be stored in the ROM +def build_xflag_tables(xflags: dict[int, dict[tuple[int,int], list[tuple[int,int]]]]) -> tuple[bytearray, bytearray, bytearray, int]: + scene_table = bytearray([0xFF] * 202) + room_table = bytearray(0) + room_blob = bytearray(0) + bits = 0 + for scene in xflags.keys(): + num_room_setups = len(xflags[scene].keys()) + room_table_offset = len(room_table) + scene_table[scene*2] = (room_table_offset & 0xFF00) >> 8 + scene_table[scene*2 + 1] = (room_table_offset & 0x00FF) + room_table.append(num_room_setups) + for setup, room in xflags[scene].keys(): + if scene == 0x3E: + room_setup = bytearray([setup, room]) + else: + room_setup = bytearray([(setup << 6) + room]) + if scene == 98: + pass + room_xflags, room_bits = build_room_xflags(xflags[scene][(setup,room)]) + diff_flags, rlc_flags = encode_room_xflags(room_xflags) + room_table.extend(room_setup) + room_blob_offset = len(room_blob) + room_table.append((room_blob_offset & 0xFF00) >> 8) + room_table.append(room_blob_offset & 0x00FF) + room_blob.append((bits & 0xFF00) >> 8) + room_blob.append(bits & 0x00FF) + room_blob.append(len(rlc_flags)) + room_blob.extend(bytearray(rlc_flags)) + bits += room_bits + return scene_table, room_table, room_blob, bits + +# Create a 256 byte array representing each actor in the room. Each value in the array is the bit index that will be used for that actor, accounting for sub_ids +# room_locations - list of location (actor_id, sub_id) in the room +def build_room_xflags(room_locations): + # Loop through every shuffled location in the room + room_xflags = [0] * 256 + for actor_id, subflag in room_locations: + if subflag >= room_xflags[actor_id]: + room_xflags[actor_id] = subflag + 1 + bits = 0 + room_xflags2 = [0] * 256 + last = 1 + for i in range(0, 256): + if(room_xflags[i] != 0): + room_xflags2[i] = last + last = room_xflags[i] + bits += room_xflags[i] + return room_xflags2, bits + +def encode_room_xflags(xflags): + # Run length coding + rlc_flags = [] + curr_token = xflags[0] + curr_token_count = 1 + for i in range(1, 256): + if xflags[i] == curr_token: + curr_token_count += 1 + else: + rlc_flags.append(curr_token) + rlc_flags.append(curr_token_count) + curr_token = xflags[i] + curr_token_count = 1 + + return xflags, rlc_flags # Create a byte array from the scene flag table created by get_collectible_flag_table def get_collectible_flag_table_bytes(scene_flag_table: dict[int, dict[int, int]]) -> tuple[bytearray, int]: @@ -60,24 +128,36 @@ def get_collectible_flag_table_bytes(scene_flag_table: dict[int, dict[int, int]] return bytes, num_flag_bytes - +# Build a list of alternative overrides for alternate scene setups def get_alt_list_bytes(alt_list: list[tuple[Location, tuple[int, int, int], tuple[int, int, int]]]) -> bytearray: bytes = bytearray() for entry in alt_list: location, alt, primary = entry - room, scene_setup, flag = alt + room, scene_setup, flag, subflag = alt + if location.scene is None: continue + alt_scene = location.scene + if location.scene == 0x0A: + alt_scene = 0x19 - alt_override = (room << 8) + (scene_setup << 14) + flag - room, scene_setup, flag = primary - primary_override = (room << 8) + (scene_setup << 14) + flag - bytes.append(location.scene) + alt_override = (scene_setup << 22) | (room << 16) | (flag << 8) | (subflag) + room, scene_setup, flag, subflag = primary + primary_override = (scene_setup << 22) | (room << 16) | (flag << 8) | (subflag) + bytes.append(alt_scene) bytes.append(0x06) - bytes.append((alt_override & 0xFF00) >> 8) - bytes.append(alt_override & 0xFF) + bytes.append(0x00) + bytes.append(0x00) + bytes.append((alt_override & 0xFF000000) >> 24) + bytes.append((alt_override & 0x00FF0000) >> 16) + bytes.append((alt_override & 0x0000FF00) >> 8) + bytes.append((alt_override & 0x000000FF)) bytes.append(location.scene) bytes.append(0x06) - bytes.append((primary_override & 0xFF00) >> 8) - bytes.append(primary_override & 0xFF) + bytes.append(0x00) + bytes.append(0x00) + bytes.append((primary_override & 0xFF000000) >> 24) + bytes.append((primary_override & 0x00FF0000) >> 16) + bytes.append((primary_override & 0x0000FF00) >> 8) + bytes.append((primary_override & 0x000000FF)) return bytes diff --git a/Sequence.py b/Sequence.py new file mode 100644 index 0000000000..2f22269311 --- /dev/null +++ b/Sequence.py @@ -0,0 +1,42 @@ +from __future__ import annotations +from enum import Enum +from typing import TYPE_CHECKING, Optional, Any + + +class SequenceGame(Enum): + OOT = 1 + MM = 2 + +# Represents the information associated with a sequence, aside from the sequence data itself +class Sequence: + def __init__(self, name: str, cosmetic_name: str, seq_type: str, type: int = 0x0202, instrument_set: int | str = 0x03, + replaces: int = -1, vanilla_id: int = -1, seq_file: Optional[str] = None, new_instrument_set: bool = False, + zsounds: Optional[list[dict[str, str]]] = None) -> None: + self.name: str = name + self.seq_file = seq_file + self.cosmetic_name: str = cosmetic_name + self.replaces: int = replaces + self.vanilla_id: int = vanilla_id + self.seq_type = seq_type + self.type: int = type + self.new_instrument_set: bool = new_instrument_set + self.zsounds: Optional[list[dict[str, str]]] = zsounds + self.zbank_file: Optional[str] = None + self.bankmeta: Optional[str] = None + self.game: Optional[SequenceGame] = SequenceGame.OOT + + self.instrument_set: int = 0x0 + if isinstance(instrument_set, str): + if instrument_set == '-': + self.new_instrument_set = True + else: + self.instrument_set = int(instrument_set, 16) + else: + self.instrument_set = instrument_set + + def copy(self) -> Sequence: + copy = Sequence(self.name, self.cosmetic_name, self.seq_type, self.type, self.instrument_set, self.replaces, self.vanilla_id, self.seq_file, self.new_instrument_set, self.zsounds) + copy.zbank_file = self.zbank_file + copy.bankmeta = self.bankmeta + copy.game = self.game + return copy diff --git a/Settings.py b/Settings.py index 17fa9701d9..1753d9c91d 100644 --- a/Settings.py +++ b/Settings.py @@ -16,7 +16,7 @@ import StartingItems from version import __version__ from Utils import local_path, data_path -from SettingsList import SettingInfos, validate_settings +from SettingsList import SettingInfos, validate_settings, settings_versioning from Plandomizer import Distribution LEGACY_STARTING_ITEM_SETTINGS: dict[str, dict[str, StartingItems.Entry]] = { @@ -76,6 +76,10 @@ class Settings(SettingInfos): def __init__(self, settings_dict: dict[str, Any], strict: bool = False) -> None: super().__init__() self.numeric_seed: Optional[int] = None + for setting in settings_dict: + for setting_version in settings_versioning: + if setting == setting_version.old_name: + settings_dict[setting_version.new_name] = settings_dict.pop(setting_version.old_name) if settings_dict.get('compress_rom', None): # Old compress_rom setting is set, so set the individual output settings using it. settings_dict['create_patch_file'] = settings_dict['compress_rom'] == 'Patch' or settings_dict.get('create_patch_file', False) @@ -243,7 +247,7 @@ def get_numeric_seed(self) -> int: def sanitize_seed(self) -> None: # leave only alphanumeric and some punctuation - self.seed = re.sub(r'[^a-zA-Z0-9_-]', '', self.seed, re.UNICODE) + self.seed = re.sub(r'[^a-zA-Z0-9_-]', '', self.seed) def update_seed(self, seed: str) -> None: if seed is None or seed == '': @@ -281,6 +285,9 @@ def reset_distribution(self) -> None: for location in self.disabled_locations: self.distribution.add_location(location, '#Junk') + for location in self.plandomized_locations: + self.distribution.add_location(location, self.plandomized_locations[location]) + def check_dependency(self, setting_name: str, check_random: bool = True) -> bool: return self.get_dependency(setting_name, check_random) is None diff --git a/SettingsList.py b/SettingsList.py index 430ba1f035..6c9f55f5b2 100644 --- a/SettingsList.py +++ b/SettingsList.py @@ -21,6 +21,18 @@ if TYPE_CHECKING: from Entrance import Entrance +# Old/New name of a setting +class Setting_Info_Versioning: + def __init__(self, old_name, new_name): + self.old_name = old_name # old name of the setting + self.new_name = new_name # new name of the setting + +settings_versioning = [ + Setting_Info_Versioning( + old_name = '', + new_name = '', + ), +] class SettingInfos: # Internal & Non-GUI Settings @@ -356,6 +368,15 @@ class SettingInfos: }, ) + web_id = Numberinput( + gui_text = "Web Seed ID", + shared = False, + default = 0, + gui_params = { + 'optional': True, + }, + ) + user_message = Textinput( gui_text = "User-Configurable Message", shared = True, @@ -571,6 +592,18 @@ class SettingInfos: ''', ) + password_lock = Checkbutton( + gui_text = "Lock Seed Behind Password", + gui_tooltip = '''\ + Starting the seed will be locked behind a password provided in the spoiler log. + The password is a sequence of 6 button presses (A and C). + ''', + shared = True, + gui_params = { + 'optional': True, + }, + ) + # Main Rules (and "Guarantee Reachable Locations") randomize_settings = Checkbutton( @@ -594,7 +627,7 @@ class SettingInfos: 'settings': [ 'open_forest', 'open_kakariko', 'open_door_of_time', 'zora_fountain', 'gerudo_fortress', 'dungeon_shortcuts_choice', 'dungeon_shortcuts', 'trials_random', 'trials', - 'starting_age', 'shuffle_interior_entrances', 'shuffle_hideout_entrances', + 'starting_age', 'shuffle_interior_entrances', 'shuffle_hideout_entrances', 'shuffle_gerudo_fortress_heart_piece', 'shuffle_grotto_entrances', 'shuffle_dungeon_entrances', 'shuffle_bosses', 'shuffle_overworld_entrances', 'shuffle_gerudo_valley_river_exit', 'owl_drops', 'warp_songs', 'spawn_positions', 'triforce_hunt', 'triforce_count_per_world', 'triforce_goal_per_world', 'free_bombchu_drops', 'one_item_per_dungeon', @@ -631,10 +664,10 @@ class SettingInfos: ''', disable = { 'glitchless': {'settings': ['tricks_list_msg']}, - 'glitched': {'settings': ['allowed_tricks', 'shuffle_interior_entrances', 'shuffle_hideout_entrances', 'shuffle_grotto_entrances', + 'glitched': {'settings': ['allowed_tricks', 'shuffle_interior_entrances', 'shuffle_hideout_entrances', 'shuffle_gerudo_fortress_heart_piece', 'shuffle_grotto_entrances', 'shuffle_dungeon_entrances', 'shuffle_overworld_entrances', 'shuffle_gerudo_valley_river_exit', 'owl_drops', 'warp_songs', 'spawn_positions', 'mq_dungeons_mode', 'mq_dungeons_specific', - 'mq_dungeons_count', 'shuffle_bosses', 'dungeon_shortcuts', 'deadly_bonks', + 'mq_dungeons_count', 'shuffle_bosses', 'shuffle_ganon_tower', 'dungeon_shortcuts', 'deadly_bonks', 'shuffle_freestanding_items', 'shuffle_pots', 'shuffle_crates', 'shuffle_beehives', 'shuffle_silver_rupees', 'shuffle_wonderitems']}, 'none': {'settings': ['allowed_tricks', 'logic_no_night_tokens_without_suns_song', 'reachable_locations']}, }, @@ -663,7 +696,7 @@ class SettingInfos: 'Required Only': Only items and locations required to beat the game will be guaranteed reachable. ''', - gui_params={ + gui_params = { "hide_when_disabled": True, }, shared = True, @@ -738,7 +771,7 @@ class SettingInfos: 'vanilla': "Vanilla", 'stones': "Stones", 'medallions': "Medallions", - 'dungeons': "Dungeons", + 'dungeons': "Dungeon Rewards", 'tokens': "Tokens", 'hearts': "Hearts", }, @@ -749,7 +782,7 @@ class SettingInfos: 'Vanilla': Shadow and Spirit Medallions. 'Stones': A configurable amount of Spiritual Stones. 'Medallions': A configurable amount of Medallions. - 'Dungeons': A configurable amount of Dungeon Rewards. + 'Dungeon Rewards': A configurable amount of Dungeon Rewards. 'Tokens': A configurable amount of Gold Skulltula Tokens. 'Hearts': A configurable amount of hearts. ''', @@ -868,7 +901,7 @@ class SettingInfos: 'vanilla': 'Vanilla Requirements', 'stones': 'Spiritual Stones', 'medallions': 'Medallions', - 'dungeons': 'Dungeons', + 'dungeons': 'Dungeon Rewards', 'tokens': 'Gold Skulltula Tokens', 'hearts': 'Hearts', 'random': 'Random' @@ -878,7 +911,7 @@ class SettingInfos: 'Vanilla Requirements': Spirit/Shadow Medallions and Light Arrows. 'Spiritual Stones': A configurable amount of Spiritual Stones. 'Medallions': A configurable amount of Medallions. - 'Dungeons': A configurable amount of Dungeon Rewards. + 'Dungeon Rewards': A configurable amount of Dungeon Rewards. 'Gold Skulltula Tokens': A configurable amount of Gold Skulltula Tokens. 'Hearts': A configurable amount of hearts. 'Random': A random Rainbow Bridge requirement excluding Gold Skulltula Tokens. @@ -1033,7 +1066,7 @@ class SettingInfos: 'on_lacs': "Light Arrow Cutscene", 'stones': "Stones", 'medallions': "Medallions", - 'dungeons': "Dungeons", + 'dungeons': "Dungeon Rewards", 'tokens': "Tokens", 'hearts': "Hearts", }, @@ -1069,7 +1102,7 @@ class SettingInfos: 'Medallions': Ganon's Castle Boss Key will be awarded when reaching the target number of Medallions. - 'Dungeons': Ganon's Castle Boss Key will be awarded + 'Dungeon Rewards': Ganon's Castle Boss Key will be awarded when reaching the target number of Dungeon Rewards. 'Tokens': Ganon's Castle Boss Key will be awarded @@ -1184,197 +1217,115 @@ class SettingInfos: }, ) - shuffle_bosskeys = Combobox( - gui_text = 'Boss Keys', - default = 'dungeon', + open_forest = Combobox( + gui_text = 'Forest', + default = 'closed', choices = { - 'remove': 'Remove (Keysy)', - 'vanilla': 'Vanilla Locations', - 'dungeon': 'Own Dungeon', - 'regional': 'Regional', - 'overworld': 'Overworld Only', - 'any_dungeon': 'Any Dungeon', - 'keysanity': 'Anywhere (Keysanity)', - }, + 'open': 'Open Forest', + 'closed_deku': 'Closed Deku', + 'closed': 'Closed Forest', + }, gui_tooltip = '''\ - 'Remove': Boss Keys are removed. All locked - doors in dungeons will be unlocked. An easier - mode. - - 'Vanilla': Boss Keys will appear in their - vanilla locations. - - 'Own Dungeon': Boss Keys can only appear in their - respective dungeon. - - 'Regional': Boss Keys can only appear in regions - near the original dungeon (including the dungeon - itself or other dungeons in the region). - The Wiki has a list of corresponding regions here. - - 'Overworld Only': Boss Keys can only appear outside - of dungeons. You may need to enter a dungeon without - the boss key to get items required to find the key - in the overworld. - - 'Any Dungeon': Boss Keys can only appear inside - of any dungeon, but won't necessarily be in the - dungeon that the key is for. A difficult mode since - it is more likely to need to enter a dungeon - multiple times. - - 'Anywhere': Boss Keys can appear - anywhere in the world. A difficult mode since - it is more likely to need to enter a dungeon - multiple times. + 'Open Forest': Mido no longer blocks the path to the + Deku Tree, and the Kokiri boy no longer blocks the path + out of the forest. - Try different combinations out, such as: - 'Small Keys: Dungeon' + 'Boss Keys: Anywhere' - for a milder Keysanity experience. + 'Closed Deku': The Kokiri boy no longer blocks the path + out of the forest, but Mido still blocks the path to the + Deku Tree, requiring Kokiri Sword and Deku Shield to access + the Deku Tree. - Regardless of the selected option, boss keys from - pre-completed dungeons won't be placed outside their - respective dungeons and boss keys from other dungeons - won't be placed inside pre-completed dungeons. + 'Closed Forest': Beating Deku Tree is logically required + to leave the forest area (Kokiri Forest/Lost Woods/Sacred Forest + Meadow/Deku Tree), while the Kokiri Sword and a Deku Shield are + required to access the Deku Tree. Items needed for this will be + guaranteed inside the forest area. This setting is incompatible + with starting as adult, and so Starting Age will be locked to Child. + With either "Shuffle Interior Entrances" set to "All", "Shuffle + Overworld Entrances" on, "Randomize Warp Song Destinations" on + or "Randomize Overworld Spawns" on, Closed Forest will instead + be treated as Closed Deku with starting age Child and WILL NOT + guarantee that these items are available in the forest area. ''', shared = True, + disable = { + 'closed': {'settings': ['starting_age']} + }, gui_params = { 'randomize_key': 'randomize_settings', + 'distribution': [ + ('open', 1), + ('closed_deku', 1), + ('closed', 1), + ], }, ) - shuffle_smallkeys = Combobox( - gui_text = 'Small Keys', - default = 'dungeon', + open_kakariko = Combobox( + gui_text = 'Kakariko Gate', + default = 'closed', choices = { - 'remove': 'Remove (Keysy)', - 'vanilla': 'Vanilla Locations', - 'dungeon': 'Own Dungeon', - 'regional': 'Regional', - 'overworld': 'Overworld Only', - 'any_dungeon': 'Any Dungeon', - 'keysanity': 'Anywhere (Keysanity)', - }, + 'open': 'Open Gate', + 'zelda': "Zelda's Letter Opens Gate", + 'closed': 'Closed Gate', + }, gui_tooltip = '''\ - 'Remove': Small Keys are removed. All locked doors in dungeons - will be unlocked. An easier mode. - - 'Vanilla': Small Keys will appear in their vanilla locations. You start - with 3 keys in Spirit Temple MQ because the vanilla key layout is - not beatable in logic. You start with 2 keys in Vanilla/MQ Shadow - Temple with its dungeon shortcut enabled to prevent softlocks. - - 'Own Dungeon': Small Keys can only appear in their respective - dungeon. If Fire Temple is not a Master Quest dungeon, the door to - the Boss Key chest will be unlocked. - - 'Regional': Small Keys can only appear - in regions near the original dungeon (including - the dungeon itself or other dungeons in the region). - The Wiki has a list of corresponding regions here. - - 'Overworld Only': Small Keys can only appear outside - of dungeons. You may need to enter a dungeon multiple - times to gain items to access the overworld locations - with the keys required to finish a dungeon. - - 'Any Dungeon': Small Keys can only appear inside of any dungeon, but - won't necessarily be in the dungeon that the key is for. A difficult mode - since it is more likely to need to enter a dungeon multiple times. + This changes the behavior of the Kakariko Gate to + Death Mountain Trail as child. The gate is always + open as adult. - 'Anywhere': Small Keys can appear anywhere in the world. A difficult - mode since it is more likely to need to enter a dungeon multiple times. + "Open Gate": The gate is always open instead of + needing Zelda's Letter. The Happy Mask Shop opens + upon obtaining Zelda's Letter without needing to + show it to the guard. - Try different combination out, such as: - 'Small Keys: Dungeon' + 'Boss Keys: Anywhere' - for a milder Keysanity experience. + "Zelda's Letter Opens Gate": The gate is closed at + the start, but opens automatically along with the + Happy Mask Shop upon obtaining Zelda's Letter. - Regardless of the selected option, small keys from pre-completed dungeons - won't be placed outside their respective dungeons and small keys from - other dungeons won't be placed inside pre-completed dungeons. + "Closed": The gate and the Happy Mask Shop both remain closed + until showing Zelda's Letter to the guard in Kakariko. ''', - disable = { - 'any_dungeon': {'settings': ['one_item_per_dungeon']} - }, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - shuffle_hideoutkeys = Combobox( - gui_text = "Thieves' Hideout Keys", - default = 'vanilla', - disabled_default = 'remove', - choices = { - 'vanilla': "Vanilla Locations", - 'fortress': "Gerudo Fortress Region", - 'regional': "Regional", - 'overworld': "Overworld Only", - 'any_dungeon': "Any Dungeon", - 'keysanity': "Anywhere (Keysanity)", - }, + open_door_of_time = Checkbutton( + gui_text = 'Open Door of Time', gui_tooltip = '''\ - "Vanilla": Thieves' Hideout Keys will appear in their - vanilla location, dropping from fighting Gerudo guards - that attack when trying to free the jailed carpenters. - - "Gerudo Fortress Region": Thieves' Hideout Keys can only - appear in Gerudo Fortress or Thieves' Hideout. - - "Regional": Thieves' Hideout Keys can only appear in - Gerudo Valley, Gerudo Fortress, Thieves' Hideout, Gerudo - Training Ground, Haunted Wasteland, Desert Colossus, or - Spirit Temple. - - "Overworld Only": Thieves' Hideout Keys can only appear - outside of dungeons. - - "Any Dungeon": Thieves' Hideout Keys can only appear - inside of dungeons. - - "Anywhere": Thieves' Hideout Keys can appear anywhere - in the world. + The Door of Time starts opened instead of needing to + play the Song of Time. If this is not set, only + an Ocarina and Song of Time must be found to open + the Door of Time. ''', shared = True, gui_params = { 'randomize_key': 'randomize_settings', - 'option_remove': ['fortress'], }, ) - shuffle_tcgkeys = Combobox( - gui_text = 'Treasure Chest Game Keys', - default = 'vanilla', + zora_fountain = Combobox( + gui_text = "Zora's Fountain", + default = 'closed', choices = { - 'remove': "Remove (Keysy)", - 'vanilla': "Vanilla Locations", - 'regional': "Regional", - 'overworld': "Overworld Only", - 'any_dungeon': "Any Dungeon", - 'keysanity': "Anywhere (Keysanity)", + 'closed': 'Default Behavior (Closed)', + 'adult': 'Open For Adult', + 'open': 'Always Open', }, gui_tooltip = '''\ - 'Remove': All Treasure Chest Game keys will be removed - and all doors will remained unlocked. - - 'Vanilla': Treasure Chest Game keys will have vanilla - behavior (one random per room). The minigame will - also have vanilla behavior. - - 'Regional': Treasure Chest Game keys can only appear - in Hyrule Field, Lon Lon Ranch, the Market, the Temple - of Time, Hyrule Castle, outside Ganon's Castle, or - inside Ganon's Castle. - - 'Overworld Only': Treasure Chest Game keys can only appear - outside of dungeons. + 'Default Behavior': King Zora obstructs the way to + Zora's Fountain. Ruto's Letter must be shown as + child in order to move him for both eras. - 'Any Dungeon': Treasure Chest Game keys can only appear - inside of dungeons. + 'Open For Adult': King Zora is always moved in + the adult era. This means Ruto's Letter is only + required to access Zora's Fountain as child. - 'Anywhere': Treasure Chest Game keys can appear anywhere - in the world. + 'Always Open': King Zora starts as moved in + both the child and adult eras. This also removes + Ruto's Letter from the pool since it can't be used. ''', shared = True, gui_params = { @@ -1382,844 +1333,1004 @@ class SettingInfos: }, ) - key_rings_choice = Combobox( - gui_text = 'Key Rings Mode', - default = 'off', + gerudo_fortress = Combobox( + gui_text = "Gerudo's Fortress", + default = 'normal', choices = { - 'off': 'Off', - 'choice': 'Choose Dungeons', - 'all': 'All Dungeons', - 'random': 'Random Selection' + 'normal': 'Default Behavior', + 'fast': 'Rescue One Carpenter', + 'open': "Open Gerudo's Fortress", }, - gui_tooltip = '''\ - Selected dungeons will have all of their keys found - at once in a ring rather than individually. + gui_tooltip = '''\ + 'Rescue One Carpenter': Only the bottom left carpenter, + in the cell with a single torch, must be rescued. + This cell can be savewarped to from any room in the hideout. + All but one of the Thieves' Hideout Keys are removed. - For example, instead of shuffling 5 Forest Temple - small keys into the pool, you will find a single - key ring which will give you all 5 keys at once. + 'Open Gerudo's Fortress': The carpenters are rescued from + the start of the game, and if 'Shuffle Gerudo Card' is disabled, + the player starts with the Gerudo Card in the inventory + allowing access to Gerudo Training Ground. + ''', + shared = True, + disable = { + 'open': {'settings': ['shuffle_hideoutkeys']} + }, + gui_params = { + 'randomize_key': 'randomize_settings', + }, + ) - Selecting key ring for dungeons will have no effect - if Small Keys are set to Remove or Vanilla. + dungeon_shortcuts_choice = Combobox( + gui_text = 'Dungeon Boss Shortcuts Mode', + default = 'off', + choices = { + 'off': 'Off', + 'choice': 'Specific Dungeons', + 'all': 'All Dungeons', + 'random': 'Random Dungeons' + }, + gui_tooltip = '''\ + Shortcuts to dungeon bosses are available + without any requirements. + Incompatible with glitched logic. - Selecting key ring for Thieves' Hideout will have - no effect if Thieves' Hideout keys are in vanilla - locations or Gerudo's Fortress is set to Rescue - One Carpenter. + Changes include (vanilla shown, MQ similar): + Deku Tree: webs burned, block in the + basement moved, 231 scrubs defeated + Dodongo's Cavern: mud wall bombed, + mouth opened and boss lobby floor bombed + Jabu Jabu: pathway lowered + Forest Temple: elevator raised and + basement gates open + Fire Temple: pillar knocked down + Water Temple: no change, but see the + note on "Shuffle Boss Entrances" below + Shadow Temple: Truthspinner solved, boat + block moved, and statue bridge moved. You start + with 2 small keys if Shuffle Small Keys is set + to Vanilla. + Spirit Temple: lobby elevator activated, + shortcut silver blocks moved, central room + platform lowered, and statue face melted - Similarly, selecting Treasure Chest Game will have - no effect if the keys aren't shuffled. Treasure Chest - Game will be considered when selecting 'All dungeons' - or 'Random selection'. + With "Shuffle Boss Entrances", the floor above + King Dodongo's arena is opened based on the + shortcut setting for the dungeon that contains + the entrance to King Dodongo's boss room, not + necessarily Dodongo's Cavern. + + Choose: Select dungeons with shortcuts + All: Enable all dungeons shortcuts + Random: Random dungeon shortcuts ''', shared = True, - disable={ - 'off': {'settings': ['key_rings', 'keyring_give_bk']}, - 'all': {'settings': ['key_rings']}, - 'random': {'settings': ['key_rings']}, + disable = { + '!choice': {'settings': ['dungeon_shortcuts']}, }, ) - key_rings = MultipleSelect( - gui_text = 'Key Rings', + dungeon_shortcuts = MultipleSelect( + gui_text = 'Dungeon Boss Shortcuts', choices = { - 'Thieves Hideout': "Thieves' Hideout", - 'Treasure Chest Game': "Treasure Chest Game", - 'Forest Temple': "Forest Temple", - 'Fire Temple': "Fire Temple", - 'Water Temple': "Water Temple", - 'Shadow Temple': "Shadow Temple", - 'Spirit Temple': "Spirit Temple", - 'Bottom of the Well': "Bottom of the Well", - 'Gerudo Training Ground': "Gerudo Training Ground", - 'Ganons Castle': "Ganon's Castle" + 'Deku Tree': "Deku Tree", + 'Dodongos Cavern': "Dodongo's Cavern", + 'Jabu Jabus Belly': "Jabu Jabu's Belly", + 'Forest Temple': "Forest Temple", + 'Fire Temple': "Fire Temple", + 'Water Temple': "Water Temple", # affects King Dodongo if he's in Water + 'Shadow Temple': "Shadow Temple", + 'Spirit Temple': "Spirit Temple", }, - default = [], + default = [], gui_params = { "hide_when_disabled": True, }, gui_tooltip = '''\ - Select areas with keyring instead of multiple keys + Select dungeons with shortcuts ''', shared = True, ) - keyring_give_bk = Checkbutton( - gui_text = 'Key Rings give Boss Keys', + starting_age = Combobox( + gui_text = 'Starting Age', + default = 'child', + choices = { + 'child': 'Child', + 'adult': 'Adult', + 'random': 'Random', + }, gui_tooltip = '''\ - Boss Keys will be included in the Key Ring for the specific dungeon. - This does not apply to the Ganon's Castle Boss Key. + Choose which age Link will start as. + + Starting as adult means you start with + the master sword in your inventory. + + Only the child option is compatible with + Closed Forest. ''', - default = False, shared = True, gui_params = { - "hide_when_disabled": True, + 'randomize_key': 'randomize_settings', + 'distribution': [ + ('random', 1), + ], }, ) - shuffle_silver_rupees = Combobox( - gui_text = 'Shuffle Silver Rupees', + mq_dungeons_mode = Combobox( + gui_text = 'MQ Dungeon Mode', default = 'vanilla', choices = { - 'remove': 'Remove', - 'vanilla': 'Vanilla Locations', - 'dungeon': 'Own Dungeon', - 'regional': 'Regional', - 'overworld': 'Overworld Only', - 'any_dungeon': 'Any Dungeon', - 'anywhere': 'Anywhere', + 'vanilla': "Vanilla", + 'mq': "Master Quest", + 'specific': "Specific Dungeons", + 'count': "Count", + 'random': "Completely Random", }, gui_tooltip = '''\ - Enabling this shuffles the Silver Rupee puzzles into to the - item pool. - - Silver Rupees are grouped into sets of 5 (except for some - Master Quest dungeons, which have sets of other amounts), each - of which permanently unlocks something in a dungeon once all - the rupees in that set are collected. Hints will only tell you - the dungeon a Silver Rupee corresponds to, but upon collecting - it, you will be told the exact room. - The vanilla locations of Silver Rupees hold shuffled items. - - 'Remove': Silver Rupees are removed and the puzzles are - solved. This will add a small amount of money and - refill items to the pool. - - 'Vanilla': Silver Rupees will appear in their vanilla - locations. You will have to collect all of a set in one go to - to solve a puzzle. - - 'Own Dungeon': Silver Rupees can only appear - in their respective dungeon. - - 'Regional': Silver Rupees can only appear in regions - near the original dungeon (including the dungeon - itself or other dungeons in the region). - The Wiki has a list of corresponding regions here. - - 'Overworld Only': Silver Rupees can only appear - outside of dungeons. - - 'Any Dungeon': Silver Rupees can only appear in a - dungeon, but not necessarily the dungeon they are for. - - 'Anywhere': Silver Rupees can appear - anywhere in the world. + 'Vanilla': All dungeons will be the original versions. + 'Master Quest': All dungeons will be the MQ versions. + 'Specific Dungeons': Choose which specific dungeons will be MQ versions. + 'Count': Choose how many MQ dungeons will be randomly chosen. + 'Completely Random': Each dungeon will vanilla or MQ at random. ''', shared = True, disable = { - 'remove': {'settings': ['silver_rupee_pouches_choice', 'silver_rupee_pouches']}, - 'vanilla': {'settings': ['silver_rupee_pouches_choice', 'silver_rupee_pouches']}, + '!specific': {'settings': ['mq_dungeons_specific']}, + '!count': {'settings': ['mq_dungeons_count']}, }, gui_params = { - 'randomize_key': 'randomize_settings', + 'distribution': [ + ('random', 1), + ], }, ) - silver_rupee_pouches_choice = Combobox( - gui_text = 'Silver Rupee Pouches Mode', - default = 'off', - choices = { - 'off': 'Off', - 'choice': 'Choose Puzzles', - 'all': 'All Puzzles', - 'random': 'Random Puzzles' + mq_dungeons_specific = MultipleSelect( + gui_text = 'MQ Dungeons', + choices = { + 'Deku Tree': "Deku Tree", + 'Dodongos Cavern': "Dodongo's Cavern", + 'Jabu Jabus Belly': "Jabu Jabu's Belly", + 'Forest Temple': "Forest Temple", + 'Fire Temple': "Fire Temple", + 'Water Temple': "Water Temple", + 'Shadow Temple': "Shadow Temple", + 'Spirit Temple': "Spirit Temple", + 'Bottom of the Well': "Bottom of the Well", + 'Ice Cavern': "Ice Cavern", + 'Gerudo Training Ground': "Gerudo Training Ground", + 'Ganons Castle': "Ganon's Castle", }, + default = [], gui_tooltip = '''\ - Selected silver rupee puzzles will have all of - their silver rupees found at once in a pouch - rather than individually. + Select the specific dungeons you would + like the Master Quest version of. + The unselected dungeons will be + the original version. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) - For example, instead of shuffling 5 silver - rupees for the Fire Trial in Ganon's Castle - into the pool, you will find a single pouch - which will give you all 5 of them at once. + mq_dungeons_count = Scale( + gui_text = "MQ Dungeon Count", + default = 0, + minimum = 0, + maximum = 12, + gui_tooltip = '''\ + Specify the number of Master Quest + dungeons to appear in the game. ''', shared = True, - disable = { - 'off': {'settings' : ['silver_rupee_pouches']}, - 'all': {'settings' : ['silver_rupee_pouches']}, - 'random': {'settings' : ['silver_rupee_pouches']}, - }, gui_params = { "hide_when_disabled": True, }, ) - silver_rupee_pouches = MultipleSelect( - gui_text = 'Silver Rupee Pouches', - choices = { - 'Dodongos Cavern Staircase': "Dodongo's Cavern Staircase", - 'Ice Cavern Spinning Scythe': "Ice Cavern Spinning Scythe", - 'Ice Cavern Push Block': "Ice Cavern Push Block", - 'Bottom of the Well Basement': "Bottom of the Well Basement", - 'Shadow Temple Scythe Shortcut': "Shadow Temple Scythe Shortcut", - 'Shadow Temple Invisible Blades': "Shadow Temple Invisible Blades", - 'Shadow Temple Huge Pit': "Shadow Temple Huge Pit", - 'Shadow Temple Invisible Spikes': "Shadow Temple Invisible Spikes", - 'Gerudo Training Ground Slopes': "Gerudo Training Ground Slopes", - 'Gerudo Training Ground Lava': "Gerudo Training Ground Lava", - 'Gerudo Training Ground Water': "Gerudo Training Ground Water", - 'Spirit Temple Child Early Torches': "Spirit Temple Child Early Torches", - 'Spirit Temple Adult Boulders': "Spirit Temple Adult Boulders", - 'Spirit Temple Lobby and Lower Adult': "Spirit Temple Lobby and Lower Adult", - 'Spirit Temple Sun Block': "Spirit Temple Sun Block", - 'Spirit Temple Adult Climb': "Spirit Temple Adult Climb", - 'Ganons Castle Spirit Trial': "Ganon's Castle Spirit Trial", - 'Ganons Castle Light Trial': "Ganon's Castle Light Trial", - 'Ganons Castle Fire Trial': "Ganon's Castle Fire Trial", - 'Ganons Castle Shadow Trial': "Ganon's Castle Shadow Trial", - 'Ganons Castle Water Trial': "Ganon's Castle Water Trial", - 'Ganons Castle Forest Trial': "Ganon's Castle Forest Trial", - }, - gui_tooltip = '''\ - Select puzzles with silver rupee pouches - instead of individual silver rupees. - ''', - default = [], - gui_params = { - "hide_when_disabled": True, - }, - shared = True, - ) - - shuffle_mapcompass = Combobox( - gui_text = 'Maps & Compasses', - default = 'dungeon', + empty_dungeons_mode = Combobox( + gui_text = 'Pre-completed Dungeons Mode', + default = 'none', choices = { - 'remove': 'Remove', - 'startwith': 'Start With', - 'vanilla': 'Vanilla Locations', - 'dungeon': 'Own Dungeon', - 'regional': 'Regional', - 'overworld': 'Overworld Only', - 'any_dungeon': 'Any Dungeon', - 'keysanity': 'Anywhere', + 'none': 'Off', + 'specific': 'Specific Dungeons', + 'rewards': 'Specific Rewards', + 'count': 'Count', }, gui_tooltip = '''\ - 'Remove': Maps and Compasses are removed. - This will add a small amount of money and refill items to the pool. - - 'Start With': Maps and Compasses are given to you from the start. - This will add a small amount of money and refill items to the pool. + Pre-completed dungeons are dungeons guaranteed to be barren and whose + dungeon rewards are given for free to the player before the beginning + of the game. This setting only applies to dungeons with dungeon rewards + (blue warps). - 'Vanilla': Maps and Compasses will appear in their vanilla locations. + - 'None': No dungeon will be pre-completed. Some dungeons may still be + randomly rolled with no major items, but their dungeon rewards won't + be given for free. + - 'Specific Dungeons': Choose which specific dungeons will be pre-completed. + - 'Specific Rewards': Choose which specific dungeon rewards will be in pre-completed dungeons. Not compatible with shuffled dungeon rewards. + - 'Count': Choose how many pre-completed dungeons will be randomly chosen. - 'Own Dungeon': Maps and Compasses can only appear in their respective - dungeon. + A same dungeon won't be both MQ and pre-completed unless it has been + explicitly specified as such or unless it is the only way to fulfill both MQ and + pre-completed selected settings. - 'Regional': Maps and Compasses can only appear in regions near the - original dungeon (including the dungeon itself or other dungeons in - the region). The Wiki has a list of corresponding regions here. + Pre-completed dungeons won't contain major items even if "Dungeons Have + One Major Item" is on. - 'Overworld Only': Maps and Compasses can only appear - outside of dungeons. + Regardless of "Shuffle Dungeon Items" settings, dungeon items from + pre-completed dungeons won't be placed outside their respective dungeons + and dungeon items from other dungeons won't be placed inside pre-completed + dungeons. - 'Any Dungeon': Maps and Compasses can only appear in a dungeon, but - not necessarily the dungeon they are for. + If "Shuffle Songs" is set to "Dungeon rewards", then songs that would have + been placed in pre-completed dungeons are given for free along with the + free dungeon rewards. + ''', + shared = True, + disable = { + '!specific': {'settings': ['empty_dungeons_specific']}, + '!rewards': {'settings': ['empty_dungeons_rewards']}, + '!count': {'settings': ['empty_dungeons_count']}, + 'rewards': {'settings': ['shuffle_dungeon_rewards']}, + }, + gui_params = { + 'distribution': [ + ('none', 1) + ], + }, + ) - 'Anywhere': Maps and Compasses can appear anywhere in the world. + empty_dungeons_specific = MultipleSelect( + gui_text = 'Pre-completed Dungeons', + choices = { + 'Deku Tree': "Deku Tree", + 'Dodongos Cavern': "Dodongo's Cavern", + 'Jabu Jabus Belly': "Jabu Jabu's Belly", + 'Forest Temple': "Forest Temple", + 'Fire Temple': "Fire Temple", + 'Water Temple': "Water Temple", + 'Shadow Temple': "Shadow Temple", + 'Spirit Temple': "Spirit Temple" + }, + default = [], + gui_tooltip = '''\ + Select the specific dungeons you would + like to be pre-completed. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) - Setting 'Remove', 'Start With', 'Overworld', or 'Anywhere' will add 2 - more possible locations to each Dungeons. This makes dungeons more - profitable, especially Ice Cavern, Water Temple, and Jabu Jabu's Belly. + empty_dungeons_rewards = MultipleSelect( + gui_text = 'Pre-completed Dungeon Rewards', + choices = { + 'Kokiri Emerald': "Kokiri Emerald", + 'Goron Ruby': "Goron Ruby", + 'Zora Sapphire': "Zora Sapphire", + 'Light Medallion': "Light Medallion", + 'Forest Medallion': "Forest Medallion", + 'Fire Medallion': "Fire Medallion", + 'Water Medallion': "Water Medallion", + 'Shadow Medallion': "Shadow Medallion", + 'Spirit Medallion': "Spirit Medallion", + }, + default = [], + gui_tooltip = '''\ + Select the specific dungeons rewards whose + dungeons you would like to be pre-completed. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) - Regardless of the selected option, maps and compasses from pre-completed - dungeons won't be placed outside their respective dungeons and maps and - compasses from other dungeons won't be placed inside pre-completed dungeons. + empty_dungeons_count = Scale( + gui_text = "Pre-completed Dungeon Count", + default = 2, + minimum = 1, + maximum = 8, + gui_tooltip = '''\ + Specify the number of pre-completed + dungeons to appear in the game. ''', shared = True, gui_params = { - 'randomize_key': 'randomize_settings', + "hide_when_disabled": True, }, ) - enhance_map_compass = Checkbutton( - gui_text = 'Maps and Compasses Give Information', + shuffle_interior_entrances = Combobox( + gui_text = 'Shuffle Interior Entrances', + default = 'off', + choices = { + 'off': 'Off', + 'simple': 'Simple Interiors', + 'all': 'All Interiors', + }, gui_tooltip = '''\ - Gives the Map and Compass extra functionality. - Map will tell if a dungeon is vanilla or Master Quest. - Compass will tell what medallion or stone is within. - The Temple of Time Altar will no longer provide - information on the location of medallions and stones. + 'Simple Interiors': + Shuffle the pool of interior entrances which contains most Houses + and all Great Fairies. - 'Maps/Compasses: Remove': The dungeon information is - not available anywhere in the game. + 'All Interiors': + Extended version of 'Simple Interiors' with some extra places: + Windmill, Link's House, Temple of Time and Kakariko Potion Shop. - 'Maps/Compasses: Start With': The dungeon information - is available immediately from the dungeon menu. + When shuffling any interior entrances, trade quest timers are disabled + and items never revert, even when dying or loading a save. ''', - default = False, shared = True, + disable = { + 'off': {'settings': ['shuffle_hideout_entrances', 'shuffle_gerudo_fortress_heart_piece']}, + }, gui_params = { 'randomize_key': 'randomize_settings', + 'distribution': [ + ('off', 2), + ('simple', 1), + ('all', 1), + ], }, ) - open_forest = Combobox( - gui_text = 'Forest', - default = 'closed', - choices = { - 'open': 'Open Forest', - 'closed_deku': 'Closed Deku', - 'closed': 'Closed Forest', - }, + shuffle_hideout_entrances = Checkbutton( + gui_text = "Shuffle Thieves' Hideout Entrances", gui_tooltip = '''\ - 'Open Forest': Mido no longer blocks the path to the - Deku Tree, and the Kokiri boy no longer blocks the path - out of the forest. - - 'Closed Deku': The Kokiri boy no longer blocks the path - out of the forest, but Mido still blocks the path to the - Deku Tree, requiring Kokiri Sword and Deku Shield to access - the Deku Tree. + Shuffle the pool of entrances to Thieves' Hideout + into the pool of interior entrances. - 'Closed Forest': Beating Deku Tree is logically required - to leave the forest area (Kokiri Forest/Lost Woods/Sacred Forest - Meadow/Deku Tree), while the Kokiri Sword and a Deku Shield are - required to access the Deku Tree. Items needed for this will be - guaranteed inside the forest area. This setting is incompatible - with starting as adult, and so Starting Age will be locked to Child. - With either "Shuffle Interior Entrances" set to "All", "Shuffle - Overworld Entrances" on, "Randomize Warp Song Destinations" on - or "Randomize Overworld Spawns" on, Closed Forest will instead - be treated as Closed Deku with starting age Child and WILL NOT - guarantee that these items are available in the forest area. + Note that savewarping in any room of Thieves' Hideout + always takes you to the first room (with 1 torch). ''', + default = False, shared = True, disable = { - 'closed': {'settings': ['starting_age']} + False: {'settings': ['shuffle_gerudo_fortress_heart_piece']}, }, gui_params = { 'randomize_key': 'randomize_settings', - 'distribution': [ - ('open', 1), - ('closed_deku', 1), - ('closed', 1), - ], }, ) - open_kakariko = Combobox( - gui_text = 'Kakariko Gate', - default = 'closed', + shuffle_gerudo_fortress_heart_piece = Combobox( + gui_text = 'Shuffle Gerudo Fortress Heart Piece', + default = 'remove', choices = { - 'open': 'Open Gate', - 'zelda': "Zelda's Letter Opens Gate", - 'closed': 'Closed Gate', - }, + 'remove': 'Remove', + 'vanilla': 'Vanilla', + 'shuffle': 'Shuffle', + }, gui_tooltip = '''\ - This changes the behavior of the Kakariko Gate to - Death Mountain Trail as child. The gate is always - open as adult. + There is an extra heart piece on the balcony above the jail in + Gerudo's Fortress if accessed as child. Normally, this is not + reachable without glitches, so it's not shuffled and not + considered in logic. With the Thieves' Hideout entrances + shuffled, it becomes reachable, so use this setting to decide + how to handle that. - "Open Gate": The gate is always open instead of - needing Zelda's Letter. The Happy Mask Shop opens - upon obtaining Zelda's Letter without needing to - show it to the guard. + 'Remove': + The heart piece is completely removed from the game. There is + no freestanding item to collect above the jail. - "Zelda's Letter Opens Gate": The gate is closed at - the start, but opens automatically along with the - Happy Mask Shop upon obtaining Zelda's Letter. + 'Vanilla': + The heart piece exists as an unshuffled heart piece. It is + considered in logic for the purpose of heart win conditions. - "Closed": The gate and the Happy Mask Shop both remain closed - until showing Zelda's Letter to the guard in Kakariko. + 'Shuffle': + There is a shuffled item above the jail and the extra heart + piece is shuffled into the item pool. Both are considered in + logic. ''', shared = True, gui_params = { - 'randomize_key': 'randomize_settings', + "hide_when_disabled": True, }, ) - open_door_of_time = Checkbutton( - gui_text = 'Open Door of Time', + shuffle_grotto_entrances = Checkbutton( + gui_text = 'Shuffle Grotto Entrances', gui_tooltip = '''\ - The Door of Time starts opened instead of needing to - play the Song of Time. If this is not set, only - an Ocarina and Song of Time must be found to open - the Door of Time. + Shuffle the pool of grotto entrances, including all graves, + small Fairy Fountains and the Lost Woods Stage. ''', + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - zora_fountain = Combobox( - gui_text = "Zora's Fountain", - default = 'closed', + shuffle_dungeon_entrances = Combobox( + gui_text = 'Shuffle Dungeon Entrances', + default = 'off', choices = { - 'closed': 'Default Behavior (Closed)', - 'adult': 'Open For Adult', - 'open': 'Always Open', + 'off': 'Off', + 'simple': 'Dungeon', + 'all': 'Dungeon and Ganon', }, gui_tooltip = '''\ - 'Default Behavior': King Zora obstructs the way to - Zora's Fountain. Ruto's Letter must be shown as - child in order to move him for both eras. + Shuffle the pool of dungeon entrances, including Bottom + of the Well, Ice Cavern, and Gerudo Training Ground. - 'Open For Adult': King Zora is always moved in - the adult era. This means Ruto's Letter is only - required to access Zora's Fountain as child. + Additionally, the entrances of Deku Tree, Fire Temple and + Bottom of the Well are opened for both adult and child. - 'Always Open': King Zora starts as moved in - both the child and adult eras. This also removes - Ruto's Letter from the pool since it can't be used. + With Dungeon and Ganon selected, all dungeons including Ganon's + castle will be shuffled. + + Thieves' Hideout is controlled by a separate setting. ''', shared = True, gui_params = { 'randomize_key': 'randomize_settings', + 'distribution': [ + ('off', 2), + ('simple', 1), + ('all', 1), + ], }, ) - gerudo_fortress = Combobox( - gui_text = "Gerudo's Fortress", - default = 'normal', - choices = { - 'normal': 'Default Behavior', - 'fast': 'Rescue One Carpenter', - 'open': "Open Gerudo's Fortress", - }, + shuffle_bosses = Combobox( + gui_text = 'Shuffle Boss Entrances', gui_tooltip = '''\ - 'Rescue One Carpenter': Only the bottom left carpenter, - in the cell with a single torch, must be rescued. - This cell can be savewarped to from any room in the hideout. - All but one of the Thieves' Hideout Keys are removed. + Shuffle dungeon boss rooms. This affects the boss rooms of all stone and medallion dungeons. - 'Open Gerudo's Fortress': The carpenters are rescued from - the start of the game, and if 'Shuffle Gerudo Card' is disabled, - the player starts with the Gerudo Card in the inventory - allowing access to Gerudo Training Ground. + 'Age-Restricted': + Shuffle the locations of child boss rooms and adult boss rooms separately. + + 'Full': + Shuffle the locations of all boss rooms together. Child may be expected to defeat Phantom Ganon and/or Bongo Bongo. ''', - shared = True, + default = 'off', + choices = { + 'off': 'Off', + 'limited': 'Age-Restricted', + 'full': 'Full', + }, disable = { - 'open': {'settings': ['shuffle_hideoutkeys']} + 'off' : {'settings': ['shuffle_ganon_tower']}, }, + shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - dungeon_shortcuts_choice = Combobox( - gui_text = 'Dungeon Boss Shortcuts Mode', - default = 'off', - choices = { - 'off': 'Off', - 'choice': 'Specific Dungeons', - 'all': 'All Dungeons', - 'random': 'Random Dungeons' - }, + shuffle_ganon_tower = Checkbutton( + gui_text = "Shuffle Ganon's Tower Entrance", gui_tooltip = '''\ - Shortcuts to dungeon bosses are available - without any requirements. - Incompatible with glitched logic. - - Changes include (vanilla shown, MQ similar): - Deku Tree: webs burned, block in the - basement moved, 231 scrubs defeated - Dodongo's Cavern: mud wall bombed, - mouth opened and boss lobby floor bombed - Jabu Jabu: pathway lowered - Forest Temple: elevator raised and - basement gates open - Fire Temple: pillar knocked down - Water Temple: no change, but see the - note on "Shuffle Boss Entrances" below - Shadow Temple: Truthspinner solved, boat - block moved, and statue bridge moved. You start - with 2 small keys if Shuffle Small Keys is set - to Vanilla. - Spirit Temple: lobby elevator activated, - shortcut silver blocks moved, central room - platform lowered, and statue face melted - - With "Shuffle Boss Entrances", the floor above - King Dodongo's arena is opened based on the - shortcut setting for the dungeon that contains - the entrance to King Dodongo's boss room, not - necessarily Dodongo's Cavern. + Shuffle the entrance from Ganon's Castle to + Ganon's Tower, just behind the trials barrier, + into the adult boss entrance pool if "Shuffle + Boss Entrances" is set to "Age-Restricted", or + the boss entrance pool if it's set to "Full". - Choose: Select dungeons with shortcuts - All: Enable all dungeons shortcuts - Random: Random dungeon shortcuts + The entrance from Ganon's Tower to Ganondorf's + boss room is never shuffled. ''', + default = False, shared = True, - disable = { - '!choice': {'settings': ['dungeon_shortcuts']}, - }, - ) - - dungeon_shortcuts = MultipleSelect( - gui_text = 'Dungeon Boss Shortcuts', - choices = { - 'Deku Tree': "Deku Tree", - 'Dodongos Cavern': "Dodongo's Cavern", - 'Jabu Jabus Belly': "Jabu Jabu's Belly", - 'Forest Temple': "Forest Temple", - 'Fire Temple': "Fire Temple", - 'Water Temple': "Water Temple", # affects King Dodongo if he's in Water - 'Shadow Temple': "Shadow Temple", - 'Spirit Temple': "Spirit Temple", - }, - default = [], gui_params = { - "hide_when_disabled": True, + 'randomize_key': 'randomize_settings', }, - gui_tooltip = '''\ - Select dungeons with shortcuts - ''', - shared = True, ) - starting_age = Combobox( - gui_text = 'Starting Age', - default = 'child', - choices = { - 'child': 'Child', - 'adult': 'Adult', - 'random': 'Random', - }, + shuffle_overworld_entrances = Checkbutton( + gui_text = 'Shuffle Overworld Entrances', gui_tooltip = '''\ - Choose which age Link will start as. + Shuffle the pool of Overworld entrances, which corresponds + to almost all loading zones between Overworld areas. - Starting as adult means you start with - the master sword in your inventory. + Some entrances are kept unshuffled to avoid issues: + - Hyrule Castle Courtyard and Garden entrances + - Both Market Back Alley entrances - Only the child option is compatible with - Closed Forest. + The entrance from Gerudo Valley to Lake Hylia is a one-way + entrance and has its own setting below. + + Just like when shuffling interior entrances, shuffling overworld + entrances disables trade timers and trade items never revert, + even when dying or loading a save. ''', + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', - 'distribution': [ - ('random', 1), - ], }, ) - mq_dungeons_mode = Combobox( - gui_text = 'MQ Dungeon Mode', - default = 'vanilla', - choices = { - 'vanilla': "Vanilla", - 'mq': "Master Quest", - 'specific': "Specific Dungeons", - 'count': "Count", - 'random': "Completely Random", - }, + shuffle_gerudo_valley_river_exit = Checkbutton( + gui_text = 'Shuffle Gerudo Valley River Exit', gui_tooltip = '''\ - 'Vanilla': All dungeons will be the original versions. - 'Master Quest': All dungeons will be the MQ versions. - 'Specific Dungeons': Choose which specific dungeons will be MQ versions. - 'Count': Choose how many MQ dungeons will be randomly chosen. - 'Completely Random': Each dungeon will vanilla or MQ at random. + Randomize where the the one-way entrance + down the river in Gerudo Valley leads to. ''', + default = False, shared = True, - disable = { - '!specific': {'settings': ['mq_dungeons_specific']}, - '!count': {'settings': ['mq_dungeons_count']}, - }, gui_params = { - 'distribution': [ - ('random', 1), - ], + 'randomize_key': 'randomize_settings', }, ) - mq_dungeons_specific = MultipleSelect( - gui_text = 'MQ Dungeons', - choices = { - 'Deku Tree': "Deku Tree", - 'Dodongos Cavern': "Dodongo's Cavern", - 'Jabu Jabus Belly': "Jabu Jabu's Belly", - 'Forest Temple': "Forest Temple", - 'Fire Temple': "Fire Temple", - 'Water Temple': "Water Temple", - 'Shadow Temple': "Shadow Temple", - 'Spirit Temple': "Spirit Temple", - 'Bottom of the Well': "Bottom of the Well", - 'Ice Cavern': "Ice Cavern", - 'Gerudo Training Ground': "Gerudo Training Ground", - 'Ganons Castle': "Ganon's Castle", - }, - default = [], - gui_tooltip = '''\ - Select the specific dungeons you would - like the Master Quest version of. - The unselected dungeons will be - the original version. + owl_drops = Checkbutton( + gui_text = 'Randomize Owl Drops', + gui_tooltip = '''\ + Randomize where Kaepora Gaebora (the Owl) drops you at + when you talk to him at Lake Hylia or at the top of + Death Mountain Trail. ''', - shared = True, + default = False, + shared = True, gui_params = { - "hide_when_disabled": True, + 'randomize_key': 'randomize_settings', }, ) - mq_dungeons_count = Scale( - gui_text = "MQ Dungeon Count", - default = 0, - minimum = 0, - maximum = 12, + warp_songs = Checkbutton( + gui_text = 'Randomize Warp Song Destinations', gui_tooltip = '''\ - Specify the number of Master Quest - dungeons to appear in the game. + Randomize where each of the 6 warp songs leads to. ''', + default = False, shared = True, gui_params = { - "hide_when_disabled": True, + 'randomize_key': 'randomize_settings', }, ) - empty_dungeons_mode = Combobox( - gui_text = 'Pre-completed Dungeons Mode', - default = 'none', - choices = { - 'none': 'Off', - 'specific': 'Specific Dungeons', - 'count': 'Count', + spawn_positions = MultipleSelect( + gui_text = 'Randomize Overworld Spawns', + choices = { + 'child': 'Child', + 'adult': 'Adult', }, gui_tooltip = '''\ - Pre-completed dungeons are dungeons guaranteed to be barren and whose - dungeon rewards are given for free to the player before the beginning - of the game. This setting only applies to dungeons with dungeon rewards - (blue warps). + Randomize where you start when loading + a save in the Overworld. This means you may not necessarily + spawn inside Link's House or Temple of Time. - - 'None': No dungeon will be pre-completed. Some dungeons may still be - randomly rolled with no major items, but their dungeon rewards won't - be given for free. - - 'Specific Dungeons': Choose which specific dungeons will be pre-completed. - - 'Count': Choose how many pre-completed dungeons will be randomly chosen. + 'Child': Child overworld spawn will be randomized. - A same dungeon won't be both MQ and pre-completed unless it has been - explicitly specified as such or unless it is the only way to fulfill both MQ and - pre-completed selected settings. - - Pre-completed dungeons won't contain major items even if "Dungeons Have - One Major Item" is on. + 'Adult': Adult overworld spawn will be randomized. - Regardless of "Shuffle Dungeon Items" settings, dungeon items from - pre-completed dungeons won't be placed outside their respective dungeons - and dungeon items from other dungeons won't be placed inside pre-completed - dungeons. + Selecting both options will randomize both spawns. - If "Shuffle Songs" is set to "Dungeon rewards", then songs that would have - been placed in pre-completed dungeons are given for free along with the - free dungeon rewards. + This stays consistent after saving and loading the game again. ''', + default = [], shared = True, - disable = { - '!specific': {'settings': ['empty_dungeons_specific']}, - '!count': {'settings': ['empty_dungeons_count']} - }, - gui_params = { - 'distribution': [ - ('none', 1) - ], - }, - ) - - empty_dungeons_specific = MultipleSelect( - gui_text = 'Pre-completed Dungeons', - choices = { - 'Deku Tree': "Deku Tree", - 'Dodongos Cavern': "Dodongo's Cavern", - 'Jabu Jabus Belly': "Jabu Jabu's Belly", - 'Forest Temple': "Forest Temple", - 'Fire Temple': "Fire Temple", - 'Water Temple': "Water Temple", - 'Shadow Temple': "Shadow Temple", - 'Spirit Temple': "Spirit Temple" - }, - default = [], - gui_tooltip = '''\ - Select the specific dungeons you would - like to be pre-completed. - ''', - shared = True, gui_params = { - "hide_when_disabled": True, + 'randomize_key': 'randomize_settings', }, ) - empty_dungeons_count = Scale( - gui_text = "Pre-completed Dungeon Count", - default = 2, - minimum = 1, - maximum = 8, + free_bombchu_drops = Checkbutton( + gui_text = 'Add Bombchu Bag and Drops', gui_tooltip = '''\ - Specify the number of pre-completed - dungeons to appear in the game. + Bombchus are properly considered in logic. + + The first Bombchu pack will always be a + Bombchu Bag giving the same amount of Bombchus + as would have been given by the item normally. + For example, finding the Bombchus (5) item + first will give the Bombchu Bag with 5 + Bombchus inside. + + Bombchu refills will drop from grass, pots, + crates, and enemies after finding the bag. + + Bombchus can be purchased for 60/99/180 + rupees once the bag has been found. + + The Wasteland carpet merchant will not sell + unshuffled Bombchus without finding a Bombchu + Bag. If he is shuffled, he will sell his item + without a Bombchu Bag. + + Bombchu Bowling opens with either Bomb Bag or + Bombchu Bag. The Bombchu and Bomb prizes (3rd + and 4th respectively) will change to a Purple + Rupee if the corresponding bag has not yet been + found. ''', + default = True, shared = True, gui_params = { - "hide_when_disabled": True, + 'randomize_key': 'randomize_settings', }, ) - shuffle_interior_entrances = Combobox( - gui_text = 'Shuffle Interior Entrances', - default = 'off', + shuffle_song_items = Combobox( + gui_text = 'Shuffle Songs', + default = 'song', choices = { - 'off': 'Off', - 'simple': 'Simple Interiors', - 'all': 'All Interiors', - }, + 'song': 'Song Locations', + 'dungeon': 'Dungeon Rewards', + 'any': 'Anywhere', + }, gui_tooltip = '''\ - 'Simple Interiors': - Shuffle the pool of interior entrances which contains most Houses - and all Great Fairies. + This restricts where song items can appear. - 'All Interiors': - Extended version of 'Simple Interiors' with some extra places: - Windmill, Link's House, Temple of Time and Kakariko Potion Shop. + 'Song Locations': Song will only appear at locations that + normally teach songs. In Multiworld, songs will only + appear in their own world. - When shuffling any interior entrances, trade quest timers are disabled - and items never revert, even when dying or loading a save. + 'Dungeon Rewards': Songs appear at the end of dungeons. + For major dungeons, they will be at the boss heart + container location. The remaining 4 songs are placed at: + + - Zelda's Lullaby Location + - Ice Cavern's Serenade of Water Location + - Bottom of the Well's Lens of Truth Location + - Gerudo Training Ground's Ice Arrow Location + + If some dungeons are pre-completed, songs that would have + been located inside these dungeons are given for free along + with the free dungeon rewards. + + 'Anywhere': Songs can appear in any location. ''', - shared = True, - disable = { - 'off': {'settings': ['shuffle_hideout_entrances']}, - }, gui_params = { 'randomize_key': 'randomize_settings', 'distribution': [ - ('off', 2), - ('simple', 1), - ('all', 1), + ('song', 2), + ('dungeon', 1), + ('any', 1), ], }, + shared = True, ) - shuffle_hideout_entrances = Checkbutton( - gui_text = "Shuffle Thieves' Hideout Entrances", + shopsanity = Combobox( + gui_text = 'Shopsanity', + default = 'off', + choices = { + 'off': 'Off', + '0': '0 Items Per Shop', + '1': '1 Item Per Shop', + '2': '2 Items Per Shop', + '3': '3 Items Per Shop', + '4': '4 Items Per Shop', + 'random': 'Random # of Items Per Shop', + }, + disable = { + 'off': {'settings': ['shopsanity_prices']}, + '0': {'settings': ['shopsanity_prices']}, + }, gui_tooltip = '''\ - Shuffle the pool of entrances to Thieves' Hideout - into the pool of interior entrances. + Randomizes Shop contents. - Note that savewarping in any room of Thieves' Hideout - always takes you to the first room (with 1 torch). + 'X Items Per Shop': Each shop will have the + specified number of items randomized and they + will always appear on the left side + (identified by the Special Deal! text). + Remaining items will be shuffled between shops. - There is an extra heart piece on the balcony above the jail in - Gerudo's Fortress if accessed as child. This is not shuffled - and not considered in logic. + 'Random # of Items Per Shop': Each shop will + have 0 to 4 Special Deals. + + The randomized items have no requirements + except money, while the remaining items retain + normal requirements. Tunics that aren't a + Special Deal! will still require you to be an + adult to purchase for example. + + Bombchu Special Deals will unlock the Bombchu + slot in your inventory and allow purchase of + Bombchu Refills if "Bombchus are considered in + logic" is enabled. Otherwise, the Bomb Bag is + required to purchase Bombchu Refills. ''', - default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', + 'distribution': [ + ('off', 6), + ('0', 1), + ('1', 1), + ('2', 1), + ('3', 1), + ('4', 1), + ('random', 1), + ], }, ) - shuffle_grotto_entrances = Checkbutton( - gui_text = 'Shuffle Grotto Entrances', - gui_tooltip = '''\ - Shuffle the pool of grotto entrances, including all graves, - small Fairy Fountains and the Lost Woods Stage. + shopsanity_prices = Combobox( + gui_text = 'Shopsanity Prices', + default = 'random', + choices = { + 'random': "Random", + 'random_starting': "Starting Wallet", + 'random_adult': "Adult's Wallet", + 'random_giant': "Giant's Wallet", + 'random_tycoon': "Tycoon's Wallet", + 'affordable': "Affordable", + }, + gui_tooltip = '''\ + Controls the randomization of prices for shopsanity items. + For more control, utilize the plandomizer. + + 'Random': The default randomization. Shop prices for + shopsanity items will range between 0 to 300 rupees, + with a bias towards values slightly below the middle of the + range, in multiples of 5. + + 'X Wallet': Shop prices for shopsanity items will range + between 0 and the specified wallet's maximum capacity, + in multiples of 5. + + 'Affordable': Shop prices for shopsanity items will be + fixed to 10 rupees. ''', - default = False, - shared = True, - gui_params = { - 'randomize_key': 'randomize_settings', + disabled_default = 'random', + shared = True, + gui_params = { + "hide_when_disabled": True, }, ) - shuffle_dungeon_entrances = Combobox( - gui_text = 'Shuffle Dungeon Entrances', + tokensanity = Combobox( + gui_text = 'Tokensanity', default = 'off', choices = { 'off': 'Off', - 'simple': 'Dungeon', - 'all': 'Dungeon and Ganon', - }, + 'dungeons': 'Dungeons Only', + 'overworld': 'Overworld Only', + 'all': 'All Tokens', + }, gui_tooltip = '''\ - Shuffle the pool of dungeon entrances, including Bottom - of the Well, Ice Cavern, and Gerudo Training Ground. + Token reward from Gold Skulltulas are + shuffled into the pool. - Additionally, the entrances of Deku Tree, Fire Temple and - Bottom of the Well are opened for both adult and child. + 'Dungeons Only': This only shuffles + the GS locations that are within + dungeons, increasing the value of + most dungeons and making internal + dungeon exploration more diverse. - With Dungeon and Ganon selected, all dungeons including Ganon's - castle will be shuffled. + 'Overworld Only': This only shuffles + the GS locations that are outside + of dungeons. - Thieves' Hideout is controlled by a separate setting. + 'All Tokens': Effectively adds 100 + new locations for items to appear. ''', shared = True, gui_params = { 'randomize_key': 'randomize_settings', - 'distribution': [ - ('off', 2), - ('simple', 1), - ('all', 1), + }, + ) + + shuffle_scrubs = Combobox( + gui_text = 'Scrub Shuffle', + default = 'off', + choices = { + 'off': 'Off', + 'low': 'On (Affordable)', + 'regular': 'On (Expensive)', + 'random': 'On (Random Prices)', + }, + gui_tooltip = '''\ + 'Off': Only the 3 Scrubs that give one-time + items in the vanilla game (PoH, Deku Nut + capacity, and Deku Stick capacity) will + have random items. + + 'Affordable': All Scrub prices will be + reduced to 10 rupees each. + + 'Expensive': All Scrub prices will be + their vanilla prices. This will require + spending over 1000 rupees on Scrubs. + + 'Random Prices': All Scrub prices will be + between 0-99 rupees. This will on average + be very, very expensive overall. + ''', + shared = True, + gui_params = { + 'randomize_key': 'randomize_settings', + 'distribution': [ + ('off', 1), + ('low', 1), ], }, ) - shuffle_bosses = Combobox( - gui_text = 'Shuffle Boss Entrances', + shuffle_child_trade = MultipleSelect( + gui_text = 'Shuffle Child Trade Sequence Items', + default = [], + choices = { + 'Weird Egg': 'Weird Egg', + 'Chicken': 'Chicken', + 'Zeldas Letter': "Zelda's Letter", + 'Keaton Mask': 'Keaton Mask', + 'Skull Mask': 'Skull Mask', + 'Spooky Mask': 'Spooky Mask', + 'Bunny Hood': 'Bunny Hood', + 'Goron Mask': 'Goron Mask', + 'Zora Mask': 'Zora Mask', + 'Gerudo Mask': 'Gerudo Mask', + 'Mask of Truth': 'Mask of Truth', + }, gui_tooltip = '''\ - Shuffle dungeon boss rooms. This affects the boss rooms of all stone and medallion dungeons. + Select the items to shuffle in the child trade sequence. - 'Age-Restricted': - Shuffle the locations of child boss rooms and adult boss rooms separately. + To skip Child Zelda, do not shuffle Zelda's Letter and + add it as a starting item. + ''', + shared = True, + ) - 'Full': - Shuffle the locations of all boss rooms together. Child may be expected to defeat Phantom Ganon and/or Bongo Bongo. + adult_trade_shuffle = Checkbutton( + gui_text = 'Shuffle All Selected Adult Trade Items', + gui_tooltip = '''\ + Enable to shuffle every selected Adult Trade Item. + + If disabled and at least one of "Shuffle Adult Trade + Sequence Items" is selected, Anju will always give + a shuffled item even if Pocket Egg has not been shuffled. + ''', + shared = True, + default = False, + ) + + adult_trade_start = MultipleSelect( + gui_text = 'Shuffle Adult Trade Sequence Items', + default = ['Pocket Egg', 'Pocket Cucco', 'Cojiro', 'Odd Mushroom', 'Odd Potion', 'Poachers Saw', + 'Broken Sword', 'Prescription', 'Eyeball Frog', 'Eyedrops', 'Claim Check'], + choices = { + 'Pocket Egg': 'Pocket Egg', + 'Pocket Cucco': 'Pocket Cucco', + 'Cojiro': 'Cojiro', + 'Odd Mushroom': 'Odd Mushroom', + 'Odd Potion': 'Odd Potion', + 'Poachers Saw': "Poacher's Saw", + 'Broken Sword': 'Broken Sword', + 'Prescription': 'Prescription', + 'Eyeball Frog': 'Eyeball Frog', + 'Eyedrops': 'Eyedrops', + 'Claim Check': 'Claim Check', + }, + gui_tooltip = '''\ + Select the Adult Trade Sequence items to shuffle. + + If "Shuffle All Selected Adult Trade Items" is + enabled, every selected item will be shuffled. + + If "Shuffle All Selected Adult Trade Items" is + disabled, only one of the selected items will be + shuffled. If the Odd Mushroom, Eyeball Frog, or + Eyedrops is removed from the player's inventory due + to an expired timer or game reset, that item can + be reacquired from its non-shuffled location. ''', + shared = True, + ) + + shuffle_freestanding_items = Combobox( + gui_text = 'Shuffle Rupees & Hearts', default = 'off', choices = { 'off': 'Off', - 'limited': 'Age-Restricted', - 'full': 'Full', + 'all': 'All', + 'overworld': 'Overworld Only', + 'dungeons': 'Dungeons Only', + }, + gui_tooltip = '''\ + Shuffles freestanding rupees and recovery hearts, also shuffles: + Shadow Temple Spinning Pot Drop + All Goron Pot faces + + Off: No freestanding rupees/recovery hearts are shuffled. + All: All Visible freestanding rupees/recovery hearts are shuffled. + Overworld Only: Freestanding rupees/recovery hearts in the overworld are shuffled. + Dungeons Only: Freestanding rupees/recovery hearts in dungeons are shuffled. + ''', + gui_params = { + 'randomize_key': 'randomize_settings', }, shared = True, + ) + + shuffle_pots = Combobox( + gui_text = 'Shuffle Pots', + default = 'off', + choices = { + 'off': 'Off', + 'all': 'All', + 'overworld': 'Overworld Only', + 'dungeons': 'Dungeons Only', + }, + gui_tooltip = '''\ + Shuffles pots, flying pots into the location pool. + + Off: Not shuffled. + All: All pots/flying pots are shuffled. + Overworld Only: Only overworld pots/flying pots are shuffled. + Dungeons Only: Only dungeon pots/flying pots are shuffled. + + When this setting is enabled, the pots in Ganon's Tower will be + accessible without Ganon's Boss Key. Proceeding up the tower out + of the room with the pots will require Ganon's Boss Key. + ''', gui_params = { 'randomize_key': 'randomize_settings', }, + shared = True, + disable = { + 'off': {'settings': ['shuffle_empty_pots']}, + } ) - shuffle_overworld_entrances = Checkbutton( - gui_text = 'Shuffle Overworld Entrances', + shuffle_empty_pots = Checkbutton( + gui_text = 'Include Empty Pots', + default = False, gui_tooltip = '''\ - Shuffle the pool of Overworld entrances, which corresponds - to almost all loading zones between Overworld areas. + Enabling this will include empty pots into the location + pool based on the Shuffle Pots setting chosen. + ''', + gui_params = { + "hide_when_disabled": True, + }, + shared = True + ) - Some entrances are kept unshuffled to avoid issues: - - Hyrule Castle Courtyard and Garden entrances - - Both Market Back Alley entrances + shuffle_crates = Combobox( + gui_text = 'Shuffle Crates', + default = 'off', + choices = { + 'off': 'Off', + 'all': 'All', + 'overworld': 'Overworld Only', + 'dungeons': 'Dungeons Only', + }, + gui_tooltip = '''\ + Shuffles large and small crates into the location pool. - The entrance from Gerudo Valley to Lake Hylia is a one-way - entrance and has its own setting below. + Off: Not shuffled. + All: crates are shuffled. + Overworld Only: Only overworld crates are shuffled. + Dungeons Only: Only dungeon crates are shuffled. - Just like when shuffling interior entrances, shuffling overworld - entrances disables trade timers and trade items never revert, - even when dying or loading a save. + Note: Only crates which normally drop an item are shuffled. Empty crates are not included. ''', - default = False, - shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, + shared = True, + disable = { + 'off': {'settings': ['shuffle_empty_crates']}, + } ) - shuffle_gerudo_valley_river_exit = Checkbutton( - gui_text = 'Shuffle Gerudo Valley River Exit', + shuffle_empty_crates = Checkbutton( + gui_text = 'Include Empty Crates', + default = False, gui_tooltip = '''\ - Randomize where the the one-way entrance - down the river in Gerudo Valley leads to. + Enabling this will include empty crates into the location + pool based on the Shuffle Crates setting chosen. ''', - default = False, - shared = True, gui_params = { - 'randomize_key': 'randomize_settings', + "hide_when_disabled": True, }, + shared = True ) - owl_drops = Checkbutton( - gui_text = 'Randomize Owl Drops', + shuffle_cows = Checkbutton( + gui_text = 'Shuffle Cows', gui_tooltip = '''\ - Randomize where Kaepora Gaebora (the Owl) drops you at - when you talk to him at Lake Hylia or at the top of - Death Mountain Trail. + Enabling this will let cows give you items + upon performing Epona's song in front of them. + There are 9 cows, and an extra in MQ Jabu. ''', default = False, shared = True, @@ -2228,10 +2339,16 @@ class SettingInfos: }, ) - warp_songs = Checkbutton( - gui_text = 'Randomize Warp Song Destinations', + shuffle_beehives = Checkbutton( + gui_text = 'Shuffle Beehives', gui_tooltip = '''\ - Randomize where each of the 6 warp songs leads to. + Enabling this will let beehives drop items. + There are 32 Beehives located in: + Generic Grottos (x2 per grotto) + 2 Scrub Grottos (x1 per grotto) + 3 Scrub Grottos (x1 per grotto) + DMT Cow Grotto (x1) + Zora's Domain (x3 child only) ''', default = False, shared = True, @@ -2240,60 +2357,43 @@ class SettingInfos: }, ) - spawn_positions = MultipleSelect( - gui_text = 'Randomize Overworld Spawns', - choices = { - 'child': 'Child', - 'adult': 'Adult', - }, + shuffle_wonderitems = Checkbutton( + gui_text = 'Shuffle Wonderitems', gui_tooltip = '''\ - Randomize where you start when loading - a save in the Overworld. This means you may not necessarily - spawn inside Link's House or Temple of Time. + Enabling will shuffle drops from wonderitems. - 'Child': Child overworld spawn will be randomized. + Wonderitems are invisible items in the game that will drop an + item under a certain condition. These items will be marked in the game with a + sparkle effect when shuffled so they can be easily found. There + are 4 kinds of shuffled wonderitems. - 'Adult': Adult overworld spawn will be randomized. + Proximity Drop (Yellow): Gives an item when Link touches it. - Selecting both options will randomize both spawns. + Interact Switch (Red): Drops an item when hit with a certain damage type. + (Sword, bow, slingshot, or hookshot) - This stays consistent after saving and loading the game again. + Free Multitag (Blue): Gives an item when a certain set of tag points + are touched. The only free multitag is the stepping stones + in Kokiri Forest. + + Ordered Multitag (Cyan): Gives an item when a set of tag points are touched + in a specific order. The only ordered multitag is the + grass stepping stones in Kokiri Forest. ''', - default = [], + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - free_bombchu_drops = Checkbutton( - gui_text = 'Add Bombchu Bag and Drops', + shuffle_kokiri_sword = Checkbutton( + gui_text = 'Shuffle Kokiri Sword', gui_tooltip = '''\ - Bombchus are properly considered in logic. - - The first Bombchu pack will always be a - Bombchu Bag giving the same amount of Bombchus - as would have been given by the item normally. - For example, finding the Bombchus (5) item - first will give the Bombchu Bag with 5 - Bombchus inside. + Enabling this shuffles the Kokiri Sword into the pool. - Bombchu refills will drop from grass, pots, - crates, and enemies after finding the bag. - - Bombchus can be purchased for 60/99/180 - rupees once the bag has been found. - - The Wasteland carpet merchant will not sell - unshuffled Bombchus without finding a Bombchu - Bag. If he is shuffled, he will sell his item - without a Bombchu Bag. - - Bombchu Bowling opens with either Bomb Bag or - Bombchu Bag. The Bombchu and Bomb prizes (3rd - and 4th respectively) will change to a Purple - Rupee if the corresponding bag has not yet been - found. + This will require extensive use of sticks until the + sword is found. ''', default = True, shared = True, @@ -2302,358 +2402,124 @@ class SettingInfos: }, ) - one_item_per_dungeon = Checkbutton( - gui_text = 'Dungeons Have One Major Item', + shuffle_ocarinas = Checkbutton( + gui_text = 'Shuffle Ocarinas', gui_tooltip = '''\ - Dungeons have exactly one major item. - This naturally makes each dungeon similar in value - rather than vary based on shuffled locations. - - Spirit Temple Colossus hands count as part - of the dungeon. Spirit Temple has TWO items - to match vanilla distribution. - - Boss Keys and Fortress Keys only count as - major items if they are shuffled Anywhere - (Keysanity) or in Any Dungeon, and Small - Keys only count as major items if they are - shuffled Anywhere (Keysanity). This setting - is disabled if Small Keys are shuffled in - Any Dungeon. - - GS Tokens only count as major items if the - bridge or Ganon Boss Key requirements are - set to "GS Tokens". - - Heart Containers and Pieces of Heart only - count as major items if the bridge or Ganon - Boss Key requirements are set to "Hearts". - - Bombchus only count as major items if they - are considered in logic. - - Pre-completed dungeons (if any) won't have - a major item. + Enabling this shuffles the Fairy Ocarina and the Ocarina + of Time into the pool. - This setting has potential to conflict with - other randomizer settings. Should seeds continuously - fail to generate, consider turning this option off. + This will require finding an Ocarina before being able + to play songs. ''', + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - shuffle_song_items = Combobox( - gui_text = 'Shuffle Songs', - default = 'song', - choices = { - 'song': 'Song Locations', - 'dungeon': 'Dungeon Rewards', - 'any': 'Anywhere', - }, + shuffle_gerudo_card = Checkbutton( + gui_text = "Shuffle Gerudo Card", gui_tooltip = '''\ - This restricts where song items can appear. - - 'Song Locations': Song will only appear at locations that - normally teach songs. In Multiworld, songs will only - appear in their own world. - - 'Dungeon Rewards': Songs appear at the end of dungeons. - For major dungeons, they will be at the boss heart - container location. The remaining 4 songs are placed at: - - - Zelda's Lullaby Location - - Ice Cavern's Serenade of Water Location - - Bottom of the Well's Lens of Truth Location - - Gerudo Training Ground's Ice Arrow Location - - If some dungeons are pre-completed, songs that would have - been located inside these dungeons are given for free along - with the free dungeon rewards. + Enabling this shuffles the Gerudo Card into the item pool. - 'Anywhere': Songs can appear in any location. + The Gerudo Card is required to enter the Gerudo Training Ground + and prevents the guards from throwing you in jail. ''', + shared = True, gui_params = { 'randomize_key': 'randomize_settings', - 'distribution': [ - ('song', 2), - ('dungeon', 1), - ('any', 1), - ], }, - shared = True, ) - shopsanity = Combobox( - gui_text = 'Shopsanity', - default = 'off', - choices = { - 'off': 'Off', - '0': '0 Items Per Shop', - '1': '1 Item Per Shop', - '2': '2 Items Per Shop', - '3': '3 Items Per Shop', - '4': '4 Items Per Shop', - 'random': 'Random # of Items Per Shop', - }, - disable = { - 'off': {'settings': ['shopsanity_prices']}, - '0': {'settings': ['shopsanity_prices']}, - }, + shuffle_beans = Checkbutton( + gui_text = 'Shuffle Magic Beans', gui_tooltip = '''\ - Randomizes Shop contents. - - 'X Items Per Shop': Each shop will have the - specified number of items randomized and they - will always appear on the left side - (identified by the Special Deal! text). - Remaining items will be shuffled between shops. - - 'Random # of Items Per Shop': Each shop will - have 0 to 4 Special Deals. - - The randomized items have no requirements - except money, while the remaining items retain - normal requirements. Tunics that aren't a - Special Deal! will still require you to be an - adult to purchase for example. - - Bombchu Special Deals will unlock the Bombchu - slot in your inventory and allow purchase of - Bombchu Refills if "Bombchus are considered in - logic" is enabled. Otherwise, the Bomb Bag is - required to purchase Bombchu Refills. + Enabling this adds a pack of 10 beans to the item pool + and changes the Magic Bean Salesman to sell a random + item once at the price of 60 Rupees. ''', + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', - 'distribution': [ - ('off', 6), - ('0', 1), - ('1', 1), - ('2', 1), - ('3', 1), - ('4', 1), - ('random', 1), - ], - }, - ) - - shopsanity_prices = Combobox( - gui_text = 'Shopsanity Prices', - default = 'random', - choices = { - 'random': "Random", - 'random_starting': "Starting Wallet", - 'random_adult': "Adult's Wallet", - 'random_giant': "Giant's Wallet", - 'random_tycoon': "Tycoon's Wallet", - 'affordable': "Affordable", - }, - gui_tooltip = '''\ - Controls the randomization of prices for shopsanity items. - For more control, utilize the plandomizer. - - 'Random': The default randomization. Shop prices for - shopsanity items will range between 0 to 300 rupees, - with a bias towards values slightly below the middle of the - range, in multiples of 5. - - 'X Wallet': Shop prices for shopsanity items will range - between 0 and the specified wallet's maximum capacity, - in multiples of 5. - - 'Affordable': Shop prices for shopsanity items will be - fixed to 10 rupees. - ''', - disabled_default = 'random', - shared = True, - gui_params = { - "hide_when_disabled": True, }, ) - tokensanity = Combobox( - gui_text = 'Tokensanity', - default = 'off', - choices = { - 'off': 'Off', - 'dungeons': 'Dungeons Only', - 'overworld': 'Overworld Only', - 'all': 'All Tokens', - }, + shuffle_expensive_merchants = Checkbutton( + gui_text = 'Shuffle Expensive Merchants', gui_tooltip = '''\ - Token reward from Gold Skulltulas are - shuffled into the pool. - - 'Dungeons Only': This only shuffles - the GS locations that are within - dungeons, increasing the value of - most dungeons and making internal - dungeon exploration more diverse. - - 'Overworld Only': This only shuffles - the GS locations that are outside - of dungeons. - - 'All Tokens': Effectively adds 100 - new locations for items to appear. + Enabling this adds a Giant's Knife and a pack of Bombchus + to the item pool and changes Medigoron, Granny's Potion Shop, + and the Haunted Wasteland Carpet Salesman to sell a random + item once at the same price as their vanilla items. ''', + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - shuffle_scrubs = Combobox( - gui_text = 'Scrub Shuffle', - default = 'off', - choices = { - 'off': 'Off', - 'low': 'On (Affordable)', - 'regular': 'On (Expensive)', - 'random': 'On (Random Prices)', - }, + shuffle_frog_song_rupees = Checkbutton( + gui_text = 'Shuffle Frog Song Rupees', gui_tooltip = '''\ - 'Off': Only the 3 Scrubs that give one-time - items in the vanilla game (PoH, Deku Nut - capacity, and Deku Stick capacity) will - have random items. - - 'Affordable': All Scrub prices will be - reduced to 10 rupees each. - - 'Expensive': All Scrub prices will be - their vanilla prices. This will require - spending over 1000 rupees on Scrubs. - - 'Random Prices': All Scrub prices will be - between 0-99 rupees. This will on average - be very, very expensive overall. + Enabling this adds 5 Purple Rupees to the item pool + and shuffles the rewards from playing Zelda's Lullaby, + Epona's Song, Saria's Song, Sun's Song, and Song of Time + to the frogs in Zora's River. ''', + default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', - 'distribution': [ - ('off', 1), - ('low', 1), - ], }, ) - shuffle_child_trade = MultipleSelect( - gui_text = 'Shuffled Child Trade Sequence Items', - default = [], - choices = { - 'Weird Egg': 'Weird Egg', - 'Chicken': 'Chicken', - 'Zeldas Letter': "Zelda's Letter", - 'Keaton Mask': 'Keaton Mask', - 'Skull Mask': 'Skull Mask', - 'Spooky Mask': 'Spooky Mask', - 'Bunny Hood': 'Bunny Hood', - 'Goron Mask': 'Goron Mask', - 'Zora Mask': 'Zora Mask', - 'Gerudo Mask': 'Gerudo Mask', - 'Mask of Truth': 'Mask of Truth', - }, + shuffle_loach_reward = Combobox( + gui_text = 'Shuffle Hyrule Loach Reward', gui_tooltip = '''\ - Select the items to shuffle in the child trade sequence. - - To skip Child Zelda, do not shuffle Zelda's Letter and - add it as a starting item. - ''', - shared = True, - ) + Enabling this shuffles the reward for catching the + Hyrule Loach at the fishing pond into the item pool - shuffle_freestanding_items = Combobox( - gui_text = 'Shuffle Rupees & Hearts', - default = 'off', - choices = { - 'off': 'Off', - 'all': 'All', - 'overworld': 'Overworld Only', - 'dungeons': 'Dungeons Only', - }, - gui_tooltip = '''\ - Shuffles freestanding rupees and recovery hearts, also shuffles: - Shadow Temple Spinning Pot Drop - All Goron Pot faces + Vanilla Behavior shuffles the reward for catching the loach + but otherwise keeps all behavior the same as in + the vanilla game. The loach will spawn every fourth play + of the fishing minigame and the sinking lure will + become available only after obtaining the fishing prize + for link's current age. - Off: No freestanding rupees/recovery hearts are shuffled. - All: All Visible freestanding rupees/recovery hearts are shuffled. - Overworld Only: Freestanding rupees/recovery hearts in the overworld are shuffled. - Dungeons Only: Freestanding rupees/recovery hearts in dungeons are shuffled. + Easier Behavior shuffles the loach reward but also modifies + some behavior in order to make the loach easier to catch. + When enabled the loach will always spawn at the + fishing pond, the sinking lure will be available + immediately at all four possible positions, and + the child/adult fishing prizes are still obtainable + if you use the sinking lure. ''', - gui_params = { - 'randomize_key': 'randomize_settings', - }, - shared = True, - ) - - shuffle_pots = Combobox( - gui_text = 'Shuffle Pots', default = 'off', choices = { - 'off': 'Off', - 'all': 'All', - 'overworld': 'Overworld Only', - 'dungeons': 'Dungeons Only', - }, - gui_tooltip = '''\ - Shuffles pots, flying pots into the location pool. - - Off: Not shuffled. - All: All pots/flying pots are shuffled. - Overworld Only: Only overworld pots/flying pots are shuffled. - Dungeons Only: Only dungeon pots/flying pots are shuffled. - - Note: Only pots which normally drop an item are shuffled. - Empty pots are not shuffled. Pots containing fairies are not shuffled. - - When this setting is enabled, the pots in Ganon's Tower will be - accessible without Ganon's Boss Key. Proceeding up the tower out - of the room with the pots will require Ganon's Boss Key. - ''', - gui_params = { - 'randomize_key': 'randomize_settings', + 'off': 'Off', + 'vanilla': 'Vanilla Behavior', + 'easy': 'Easier Behavior', }, shared = True, - ) - - shuffle_crates = Combobox( - gui_text = 'Shuffle Crates', - default = 'off', - choices = { - 'off': 'Off', - 'all': 'All', - 'overworld': 'Overworld Only', - 'dungeons': 'Dungeons Only', - }, - gui_tooltip = '''\ - Shuffles large and small crates into the location pool. - - Off: Not shuffled. - All: crates are shuffled. - Overworld Only: Only overworld crates are shuffled. - Dungeons Only: Only dungeon crates are shuffled. - - Note: Only crates which normally drop an item are shuffled. Empty crates are not included. - ''', gui_params = { 'randomize_key': 'randomize_settings', + 'distribution': [ + ('off', 1), + ('vanilla', 1), + ('easy', 1), + ], }, - shared = True, ) - shuffle_cows = Checkbutton( - gui_text = 'Shuffle Cows', + shuffle_individual_ocarina_notes = Checkbutton( + gui_text = 'Shuffle Individual Ocarina Notes', gui_tooltip = '''\ - Enabling this will let cows give you items - upon performing Epona's song in front of them. - There are 9 cows, and an extra in MQ Jabu. + Enabling this locks all Ocarina inputs, and adds 5 + new items to find that each unlock one of the 5 + Ocarina notes. ''', default = False, shared = True, @@ -2662,16 +2528,14 @@ class SettingInfos: }, ) - shuffle_beehives = Checkbutton( - gui_text = 'Shuffle Beehives', + add_bronze_scale = Checkbutton( + gui_text = 'Add Bronze Scale', gui_tooltip = '''\ - Enabling this will let beehives drop items. - There are 32 Beehives located in: - Generic Grottos (x2 per grotto) - 2 Scrub Grottos (x1 per grotto) - 3 Scrub Grottos (x1 per grotto) - DMT Cow Grotto (x1) - Zora's Domain (x3 child only) + Adds a new item : the Bronze Scale. + Until finding this item, Link won't be able to float + at all in water, and will void out and respawn at a nearby shore. + Exception for the Water Temple entrance small pool + to avoid softlocks. ''', default = False, shared = True, @@ -2680,185 +2544,531 @@ class SettingInfos: }, ) - shuffle_wonderitems = Checkbutton( - gui_text = 'Shuffle Wonderitems', + shuffle_dungeon_rewards = Combobox( + gui_text = 'Shuffle Dungeon Rewards', + default = 'reward', + choices = { + 'vanilla': 'Vanilla Locations', + 'reward': 'Dungeon Reward Locations', + 'dungeon': 'Own Dungeon', + 'regional': 'Regional', + 'overworld': 'Overworld Only', + 'any_dungeon': 'Any Dungeon', + 'anywhere': 'Anywhere', + }, gui_tooltip = '''\ - Enabling will shuffle drops from wonderitems. + This controls where Medallions and Spiritual Stones can + appear. - Wonderitems are invisible items in the game that will drop an - item under a certain condition. These items will be marked in the game with a - sparkle effect when shuffled so they can be easily found. There - are 4 kinds of shuffled wonderitems. + 'Vanilla Locations': Medallions and Spiritual Stones will + appear in their vanilla locations. - Proximity Drop (Yellow): Gives an item when Link touches it. + 'Dungeon Reward Locations': Medallions and Spiritual + Stones will be awarded when stepping into the blue warps + of boss rooms, but not necessarily the boss's vanilla + reward. In Multiworld, dungeon rewards will only appear + in their own world. - Interact Switch (Red): Drops an item when hit with a certain damage type. - (Sword, bow, slingshot, or hookshot) + If you use one of the following options, note that after + receiving the last required medallion for the Burning + Kakariko cutscene while already in Kakariko, the cutscene + doesn't play until you leave and reenter Kakariko (or enter + and exit a building). - Free Multitag (Blue): Gives an item when a certain set of tag points - are touched. The only free multitag is the stepping stones - in Kokiri Forest. + 'Own Dungeon': Each dungeon reward appears in its respective + dungeon, but not necessarily on the boss. If boss entrances + are mixed, boss rooms that aren't in a dungeon can't have + dungeon rewards. The Light Medallion appears in the Temple + of Time, or may be a starting item if the "Free Reward from + Rauru" setting is enabled. - Ordered Multitag (Cyan): Gives an item when a set of tag points are touched - in a specific order. The only ordered multitag is the - grass stepping stones in Kokiri Forest. - ''', - default = False, - shared = True, - gui_params = { - 'randomize_key': 'randomize_settings', - }, - ) + 'Regional': Dungeon rewards can only appear in regions + near the original dungeon (including the dungeon + itself or other dungeons in the region). + The Wiki has a list of corresponding regions here. - shuffle_kokiri_sword = Checkbutton( - gui_text = 'Shuffle Kokiri Sword', - gui_tooltip = '''\ - Enabling this shuffles the Kokiri Sword into the pool. + 'Overworld Only': Dungeon rewards can only appear + outside of dungeons. - This will require extensive use of sticks until the - sword is found. + 'Any Dungeon': Dungeon rewards can only appear + inside of dungeons. + + 'Anywhere': Dungeon rewards can appear anywhere + in the world. ''', - default = True, - shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, + shared = True, ) - shuffle_ocarinas = Checkbutton( - gui_text = 'Shuffle Ocarinas', + shuffle_mapcompass = Combobox( + gui_text = 'Maps & Compasses', + default = 'dungeon', + choices = { + 'remove': 'Remove', + 'startwith': 'Start With', + 'vanilla': 'Vanilla Locations', + 'dungeon': 'Own Dungeon', + 'regional': 'Regional', + 'overworld': 'Overworld Only', + 'any_dungeon': 'Any Dungeon', + 'keysanity': 'Anywhere', + }, gui_tooltip = '''\ - Enabling this shuffles the Fairy Ocarina and the Ocarina - of Time into the pool. + 'Remove': Maps and Compasses are removed. + This will add a small amount of money and refill items to the pool. - This will require finding an Ocarina before being able - to play songs. - ''', - default = False, - shared = True, - gui_params = { - 'randomize_key': 'randomize_settings', - }, - ) + 'Start With': Maps and Compasses are given to you from the start. + This will add a small amount of money and refill items to the pool. - shuffle_gerudo_card = Checkbutton( - gui_text = "Shuffle Gerudo Card", - gui_tooltip = '''\ - Enabling this shuffles the Gerudo Card into the item pool. + 'Vanilla': Maps and Compasses will appear in their vanilla locations. - The Gerudo Card is required to enter the Gerudo Training Ground - and prevents the guards from throwing you in jail. - ''', - shared = True, - gui_params = { - 'randomize_key': 'randomize_settings', - }, - ) + 'Own Dungeon': Maps and Compasses can only appear in their respective + dungeon. - shuffle_beans = Checkbutton( - gui_text = 'Shuffle Magic Beans', - gui_tooltip = '''\ - Enabling this adds a pack of 10 beans to the item pool - and changes the Magic Bean Salesman to sell a random - item once at the price of 60 Rupees. + 'Regional': Maps and Compasses can only appear in regions near the + original dungeon (including the dungeon itself or other dungeons in + the region). The Wiki has a list of corresponding regions here. + + 'Overworld Only': Maps and Compasses can only appear + outside of dungeons. + + 'Any Dungeon': Maps and Compasses can only appear in a dungeon, but + not necessarily the dungeon they are for. + + 'Anywhere': Maps and Compasses can appear anywhere in the world. + + Setting 'Remove', 'Start With', 'Overworld', or 'Anywhere' will add 2 + more possible locations to each Dungeons. This makes dungeons more + profitable, especially Ice Cavern, Water Temple, and Jabu Jabu's Belly. + + Regardless of the selected option, maps and compasses from pre-completed + dungeons won't be placed outside their respective dungeons and maps and + compasses from other dungeons won't be placed inside pre-completed dungeons. ''', - default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - shuffle_expensive_merchants = Checkbutton( - gui_text = 'Shuffle Expensive Merchants', - gui_tooltip = '''\ - Enabling this adds a Giant's Knife and a pack of Bombchus - to the item pool and changes Medigoron, Granny's Potion Shop, - and the Haunted Wasteland Carpet Salesman to sell a random - item once at the same price as their vanilla items. + shuffle_smallkeys = Combobox( + gui_text = 'Small Keys', + default = 'dungeon', + choices = { + 'remove': 'Remove (Keysy)', + 'vanilla': 'Vanilla Locations', + 'dungeon': 'Own Dungeon', + 'regional': 'Regional', + 'overworld': 'Overworld Only', + 'any_dungeon': 'Any Dungeon', + 'keysanity': 'Anywhere (Keysanity)', + }, + gui_tooltip = '''\ + 'Remove': Small Keys are removed. All locked doors in dungeons + will be unlocked. An easier mode. + + 'Vanilla': Small Keys will appear in their vanilla locations. You start + with 3 keys in Spirit Temple MQ because the vanilla key layout is + not beatable in logic. You start with 2 keys in Vanilla/MQ Shadow + Temple with its dungeon shortcut enabled to prevent softlocks. + + 'Own Dungeon': Small Keys can only appear in their respective + dungeon. If Fire Temple is not a Master Quest dungeon, the door to + the Boss Key chest will be unlocked. + + 'Regional': Small Keys can only appear + in regions near the original dungeon (including + the dungeon itself or other dungeons in the region). + The Wiki has a list of corresponding regions here. + + 'Overworld Only': Small Keys can only appear outside + of dungeons. You may need to enter a dungeon multiple + times to gain items to access the overworld locations + with the keys required to finish a dungeon. + + 'Any Dungeon': Small Keys can only appear inside of any dungeon, but + won't necessarily be in the dungeon that the key is for. A difficult mode + since it is more likely to need to enter a dungeon multiple times. + + 'Anywhere': Small Keys can appear anywhere in the world. A difficult + mode since it is more likely to need to enter a dungeon multiple times. + + Try different combination out, such as: + 'Small Keys: Dungeon' + 'Boss Keys: Anywhere' + for a milder Keysanity experience. + + Regardless of the selected option, small keys from pre-completed dungeons + won't be placed outside their respective dungeons and small keys from + other dungeons won't be placed inside pre-completed dungeons. ''', - default = False, + disable = { + 'any_dungeon': {'settings': ['one_item_per_dungeon']} + }, shared = True, gui_params = { 'randomize_key': 'randomize_settings', }, ) - shuffle_frog_song_rupees = Checkbutton( - gui_text = 'Shuffle Frog Song Rupees', + shuffle_hideoutkeys = Combobox( + gui_text = "Thieves' Hideout Keys", + default = 'vanilla', + disabled_default = 'remove', + choices = { + 'vanilla': "Vanilla Locations", + 'fortress': "Gerudo Fortress Region", + 'regional': "Regional", + 'overworld': "Overworld Only", + 'any_dungeon': "Any Dungeon", + 'keysanity': "Anywhere (Keysanity)", + }, gui_tooltip = '''\ - Enabling this adds 5 Purple Rupees to the item pool - and shuffles the rewards from playing Zelda's Lullaby, - Epona's Song, Saria's Song, Sun's Song, and Song of Time - to the frogs in Zora's River. + "Vanilla": Thieves' Hideout Keys will appear in their + vanilla location, dropping from fighting Gerudo guards + that attack when trying to free the jailed carpenters. + + "Gerudo Fortress Region": Thieves' Hideout Keys can only + appear in Gerudo Fortress or Thieves' Hideout. + + "Regional": Thieves' Hideout Keys can only appear in + Gerudo Valley, Gerudo Fortress, Thieves' Hideout, Gerudo + Training Ground, Haunted Wasteland, Desert Colossus, or + Spirit Temple. + + "Overworld Only": Thieves' Hideout Keys can only appear + outside of dungeons. + + "Any Dungeon": Thieves' Hideout Keys can only appear + inside of dungeons. + + "Anywhere": Thieves' Hideout Keys can appear anywhere + in the world. ''', - default = False, shared = True, gui_params = { 'randomize_key': 'randomize_settings', + 'option_remove': ['fortress'], }, ) - shuffle_individual_ocarina_notes = Checkbutton( - gui_text = 'Shuffle Individual Ocarina Notes', + shuffle_tcgkeys = Combobox( + gui_text = 'Treasure Chest Game Keys', + default = 'vanilla', + choices = { + 'remove': "Remove (Keysy)", + 'vanilla': "Vanilla Locations", + 'regional': "Regional", + 'overworld': "Overworld Only", + 'any_dungeon': "Any Dungeon", + 'keysanity': "Anywhere (Keysanity)", + }, gui_tooltip = '''\ - Enabling this locks all Ocarina inputs, and adds 5 - new items to find that each unlock one of the 5 - Ocarina notes. + 'Remove': All Treasure Chest Game keys will be removed + and all doors will remained unlocked. + + 'Vanilla': Treasure Chest Game keys will have vanilla + behavior (one random per room). The minigame will + also have vanilla behavior. + + 'Regional': Treasure Chest Game keys can only appear + in Hyrule Field, Lon Lon Ranch, the Market, the Temple + of Time, Hyrule Castle, outside Ganon's Castle, or + inside Ganon's Castle. + + 'Overworld Only': Treasure Chest Game keys can only appear + outside of dungeons. + + 'Any Dungeon': Treasure Chest Game keys can only appear + inside of dungeons. + + 'Anywhere': Treasure Chest Game keys can appear anywhere + in the world. + ''', + disable = { + '!vanilla': {'settings': ['tcg_requires_lens']} + }, + shared = True, + gui_params = { + 'randomize_key': 'randomize_settings', + }, + ) + + key_rings_choice = Combobox( + gui_text = 'Key Rings Mode', + default = 'off', + choices = { + 'off': 'Off', + 'choice': 'Choose Dungeons', + 'all': 'All Dungeons', + 'random': 'Random Selection' + }, + gui_tooltip = '''\ + Selected dungeons will have all of their keys found + at once in a ring rather than individually. + + For example, instead of shuffling 5 Forest Temple + small keys into the pool, you will find a single + key ring which will give you all 5 keys at once. + + Selecting key ring for dungeons will have no effect + if Small Keys are set to Remove or Vanilla. + + Selecting key ring for Thieves' Hideout will have + no effect if Thieves' Hideout keys are in vanilla + locations or Gerudo's Fortress is set to Rescue + One Carpenter. + + Similarly, selecting Treasure Chest Game will have + no effect if the keys aren't shuffled. Treasure Chest + Game will be considered when selecting 'All dungeons' + or 'Random selection'. + ''', + shared = True, + disable={ + 'off': {'settings': ['key_rings', 'keyring_give_bk']}, + 'all': {'settings': ['key_rings']}, + 'random': {'settings': ['key_rings']}, + }, + ) + + key_rings = MultipleSelect( + gui_text = 'Key Rings', + choices = { + 'Thieves Hideout': "Thieves' Hideout", + 'Treasure Chest Game': "Treasure Chest Game", + 'Forest Temple': "Forest Temple", + 'Fire Temple': "Fire Temple", + 'Water Temple': "Water Temple", + 'Shadow Temple': "Shadow Temple", + 'Spirit Temple': "Spirit Temple", + 'Bottom of the Well': "Bottom of the Well", + 'Gerudo Training Ground': "Gerudo Training Ground", + 'Ganons Castle': "Ganon's Castle" + }, + default = [], + gui_params = { + "hide_when_disabled": True, + }, + gui_tooltip = '''\ + Select areas with keyring instead of multiple keys + ''', + shared = True, + ) + + keyring_give_bk = Checkbutton( + gui_text = 'Key Rings give Boss Keys', + gui_tooltip = '''\ + Boss Keys will be included in the Key Ring for the specific dungeon. + This does not apply to the Ganon's Castle Boss Key. ''', default = False, shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) + + shuffle_bosskeys = Combobox( + gui_text = 'Boss Keys', + default = 'dungeon', + choices = { + 'remove': 'Remove (Keysy)', + 'vanilla': 'Vanilla Locations', + 'dungeon': 'Own Dungeon', + 'regional': 'Regional', + 'overworld': 'Overworld Only', + 'any_dungeon': 'Any Dungeon', + 'keysanity': 'Anywhere (Keysanity)', + }, + gui_tooltip = '''\ + 'Remove': Boss Keys are removed. All locked + doors in dungeons will be unlocked. An easier + mode. + + 'Vanilla': Boss Keys will appear in their + vanilla locations. + + 'Own Dungeon': Boss Keys can only appear in their + respective dungeon. + + 'Regional': Boss Keys can only appear in regions + near the original dungeon (including the dungeon + itself or other dungeons in the region). + The Wiki has a list of corresponding regions here. + + 'Overworld Only': Boss Keys can only appear outside + of dungeons. You may need to enter a dungeon without + the boss key to get items required to find the key + in the overworld. + + 'Any Dungeon': Boss Keys can only appear inside + of any dungeon, but won't necessarily be in the + dungeon that the key is for. A difficult mode since + it is more likely to need to enter a dungeon + multiple times. + + 'Anywhere': Boss Keys can appear + anywhere in the world. A difficult mode since + it is more likely to need to enter a dungeon + multiple times. + + Try different combinations out, such as: + 'Small Keys: Dungeon' + 'Boss Keys: Anywhere' + for a milder Keysanity experience. + + Regardless of the selected option, boss keys from + pre-completed dungeons won't be placed outside their + respective dungeons and boss keys from other dungeons + won't be placed inside pre-completed dungeons. + ''', + shared = True, + gui_params = { + 'randomize_key': 'randomize_settings', + }, + ) + + shuffle_silver_rupees = Combobox( + gui_text = 'Shuffle Silver Rupees', + default = 'vanilla', + choices = { + 'remove': 'Remove', + 'vanilla': 'Vanilla Locations', + 'dungeon': 'Own Dungeon', + 'regional': 'Regional', + 'overworld': 'Overworld Only', + 'any_dungeon': 'Any Dungeon', + 'anywhere': 'Anywhere', + }, + gui_tooltip = '''\ + Enabling this shuffles the Silver Rupee puzzles into to the + item pool. + + Silver Rupees are grouped into sets of 5 (except for some + Master Quest dungeons, which have sets of other amounts), each + of which permanently unlocks something in a dungeon once all + the rupees in that set are collected. Hints will only tell you + the dungeon a Silver Rupee corresponds to, but upon collecting + it, you will be told the exact room. + The vanilla locations of Silver Rupees hold shuffled items. + + 'Remove': Silver Rupees are removed and the puzzles are + solved. This will add a small amount of money and + refill items to the pool. + + 'Vanilla': Silver Rupees will appear in their vanilla + locations. You will have to collect all of a set in one go to + to solve a puzzle. + + 'Own Dungeon': Silver Rupees can only appear + in their respective dungeon. + + 'Regional': Silver Rupees can only appear in regions + near the original dungeon (including the dungeon + itself or other dungeons in the region). + The Wiki has a list of corresponding regions here. + + 'Overworld Only': Silver Rupees can only appear + outside of dungeons. + + 'Any Dungeon': Silver Rupees can only appear in a + dungeon, but not necessarily the dungeon they are for. + + 'Anywhere': Silver Rupees can appear + anywhere in the world. + ''', + shared = True, + disable = { + 'remove': {'settings': ['silver_rupee_pouches_choice', 'silver_rupee_pouches']}, + 'vanilla': {'settings': ['silver_rupee_pouches_choice', 'silver_rupee_pouches']}, + }, gui_params = { 'randomize_key': 'randomize_settings', }, - ) - - shuffle_loach_reward = Combobox( - gui_text = 'Shuffle Hyrule Loach Reward', + ) + + silver_rupee_pouches_choice = Combobox( + gui_text = 'Silver Rupee Pouches Mode', + default = 'off', + choices = { + 'off': 'Off', + 'choice': 'Choose Puzzles', + 'all': 'All Puzzles', + 'random': 'Random Puzzles' + }, + gui_tooltip = '''\ + Selected silver rupee puzzles will have all of + their silver rupees found at once in a pouch + rather than individually. + + For example, instead of shuffling 5 silver + rupees for the Fire Trial in Ganon's Castle + into the pool, you will find a single pouch + which will give you all 5 of them at once. + ''', + shared = True, + disable = { + 'off': {'settings': ['silver_rupee_pouches']}, + 'all': {'settings': ['silver_rupee_pouches']}, + 'random': {'settings': ['silver_rupee_pouches']}, + }, + gui_params = { + "hide_when_disabled": True, + }, + ) + + silver_rupee_pouches = MultipleSelect( + gui_text = 'Silver Rupee Pouches', + choices = { + 'Dodongos Cavern Staircase': "Dodongo's Cavern Staircase", + 'Ice Cavern Spinning Scythe': "Ice Cavern Spinning Scythe", + 'Ice Cavern Push Block': "Ice Cavern Push Block", + 'Bottom of the Well Basement': "Bottom of the Well Basement", + 'Shadow Temple Scythe Shortcut': "Shadow Temple Scythe Shortcut", + 'Shadow Temple Invisible Blades': "Shadow Temple Invisible Blades", + 'Shadow Temple Huge Pit': "Shadow Temple Huge Pit", + 'Shadow Temple Invisible Spikes': "Shadow Temple Invisible Spikes", + 'Gerudo Training Ground Slopes': "Gerudo Training Ground Slopes", + 'Gerudo Training Ground Lava': "Gerudo Training Ground Lava", + 'Gerudo Training Ground Water': "Gerudo Training Ground Water", + 'Spirit Temple Child Early Torches': "Spirit Temple Child Early Torches", + 'Spirit Temple Adult Boulders': "Spirit Temple Adult Boulders", + 'Spirit Temple Lobby and Lower Adult': "Spirit Temple Lobby and Lower Adult", + 'Spirit Temple Sun Block': "Spirit Temple Sun Block", + 'Spirit Temple Adult Climb': "Spirit Temple Adult Climb", + 'Ganons Castle Spirit Trial': "Ganon's Castle Spirit Trial", + 'Ganons Castle Light Trial': "Ganon's Castle Light Trial", + 'Ganons Castle Fire Trial': "Ganon's Castle Fire Trial", + 'Ganons Castle Shadow Trial': "Ganon's Castle Shadow Trial", + 'Ganons Castle Water Trial': "Ganon's Castle Water Trial", + 'Ganons Castle Forest Trial': "Ganon's Castle Forest Trial", + }, gui_tooltip = '''\ - Enabling this shuffles the reward for catching the - Hyrule Loach at the fishing pond into the item pool - - Vanilla Behavior shuffles the reward for catching the loach - but otherwise keeps all behavior the same as in - the vanilla game. The loach will spawn every fourth play - of the fishing minigame and the sinking lure will - become available only after obtaining the fishing prize - for link's current age. - - Easier Behavior shuffles the loach reward but also modifies - some behavior in order to make the loach easier to catch. - When enabled the loach will always spawn at the - fishing pond, the sinking lure will be available - immediately at all four possible positions, and - the child/adult fishing prizes are still obtainable - if you use the sinking lure. + Select puzzles with silver rupee pouches + instead of individual silver rupees. ''', - default = 'off', - choices = { - 'off': 'Off', - 'vanilla': 'Vanilla Behavior', - 'easy': 'Easier Behavior', - }, - shared = True, + default = [], gui_params = { - 'randomize_key': 'randomize_settings', - 'distribution': [ - ('off', 1), - ('vanilla', 1), - ('easy', 1), - ], + "hide_when_disabled": True, }, + shared = True, ) - add_bronze_scale = Checkbutton( - gui_text = 'Add Bronze Scale', + enhance_map_compass = Checkbutton( + gui_text = 'Maps and Compasses Give Information', gui_tooltip = '''\ - Adds a new item : the Bronze Scale. - Until finding this item, Link won't be able to float - at all in water, and will void out and respawn at a nearby shore. - Exception for the Water Temple entrance small pool - to avoid softlocks. + Gives the Map and Compass extra functionality. + Map will tell if a dungeon is vanilla or Master Quest. + Compass will tell what medallion or stone is within. + The Temple of Time Altar will no longer provide + information on the location of medallions and stones. + + 'Maps/Compasses: Remove': The dungeon information is + not available anywhere in the game. + + 'Maps/Compasses: Start With': The dungeon information + is available immediately from the dungeon menu. ''', default = False, shared = True, @@ -2944,18 +3154,6 @@ class SettingInfos: ''', ) - starting_songs = SearchBox( - gui_text = "Starting Songs", - shared = True, - choices = { - key: value.gui_text for key, value in StartingItems.songs.items() - }, - default = [], - gui_tooltip = '''\ - Begin the game with the selected songs already learnt. - ''', - ) - starting_inventory = SearchBox( gui_text = "Starting Items", shared = True, @@ -2973,6 +3171,18 @@ class SettingInfos: ''', ) + starting_songs = SearchBox( + gui_text = "Starting Songs", + shared = True, + choices = { + key: value.gui_text for key, value in StartingItems.songs.items() + }, + default = [], + gui_tooltip = '''\ + Begin the game with the selected songs already learnt. + ''', + ) + start_with_consumables = Checkbutton( gui_text = 'Start with Consumables', gui_tooltip = '''\ @@ -3006,6 +3216,16 @@ class SettingInfos: # Other + skip_reward_from_rauru = Checkbutton( + gui_text = 'Free Reward from Rauru', + gui_tooltip = '''\ + The item given by Rauru beyond the Door of Time + (the Light Medallion in the vanilla game) is + given as a starting item instead. + ''', + shared = True, + ) + no_escape_sequence = Checkbutton( gui_text = 'Skip Tower Escape Sequence', gui_tooltip = '''\ @@ -3125,58 +3345,6 @@ class SettingInfos: shared = True, ) - chicken_count_random = Checkbutton( - gui_text = 'Random Cucco Count', - gui_tooltip = '''\ - Anju will give a reward for collecting a random - number of Cuccos. - ''', - disable = { - True: {'settings' : ['chicken_count']}, - }, - shared = True, - ) - - chicken_count = Scale( - gui_text = 'Cucco Count', - default = 7, - minimum = 0, - maximum = 7, - gui_tooltip = '''\ - Anju will give a reward for turning - in the chosen number of Cuccos. - ''', - shared = True, - gui_params = { - 'no_line_break': True, - }, - ) - - big_poe_count_random = Checkbutton( - gui_text = 'Random Big Poe Target Count', - gui_tooltip = '''\ - The Poe buyer will give a reward for turning - in a random number of Big Poes. - ''', - disable = { - True: {'settings' : ['big_poe_count']}, - }, - shared = True, - ) - - big_poe_count = Scale( - gui_text = "Big Poe Target Count", - default = 10, - minimum = 1, - maximum = 10, - gui_tooltip = '''\ - The Poe buyer will give a reward for turning - in the chosen number of Big Poes. - ''', - disabled_default = 1, - shared = True, - ) - easier_fire_arrow_entry = Checkbutton( gui_text = 'Easier Fire Arrow Entry', gui_tooltip = '''\ @@ -3205,220 +3373,89 @@ class SettingInfos: minimum = 1, maximum = 23, gui_tooltip = '''\ - The entrance to Shadow Temple will open - after the chosen number of torches are lit. - ''', - shared = True, - gui_params = { - "hide_when_disabled": True, - }, - ) - - ruto_already_f1_jabu = Checkbutton( - gui_text = 'Ruto Already at F1', - gui_tooltip = '''\ - Ruto in Jabu Jabu's Belly will already be at the top floor. - Only applied in the original version of the dungeon, since - in Master Quest you don't need to bring Ruto up. - ''', - default = False, - shared = True, - ) - - ocarina_songs = Combobox( - gui_text = 'Randomize Ocarina Melodies', - default = 'off', - choices = { - 'off': 'Off', - 'frog': 'Frog Songs Only', - 'warp': 'Warp Songs Only', - 'all': 'All Songs', - }, - gui_tooltip = '''\ - Will need to memorize a new set of songs. - Can be silly, but difficult. All songs are - generally sensible, but warp songs are - typically more difficult than frog songs. - ''', - shared = True, - ) - - correct_chest_appearances = Combobox( - gui_text = 'Chest Appearance Matches Contents', - default = 'off', - choices = { - 'off': 'Off', - 'textures': 'Texture', - 'both': 'Both Size and Texture', - 'classic': 'Classic' - }, - gui_tooltip = '''\ - If "Texture" is enabled, chest texture will reflect its contents - regardless of size. Fancy chests will contain keys, - Gilded chests will contain major items, shuffled - tokens will be in Webbed chests, and Wooden chests - will contain the rest. - This allows skipping chests if they are wooden. - However, skipping wooden chests will mean having - low health, ammo, and rupees, so doing so is a risk. - - "Size and Texture" will change chests with major - items and boss keys into big chests, and everything - else into small chests. - - "Classic" is the behavior of CSMC in previous versions of the randomizer. - This will change chests with major items and boss keys into big chests. - Boss keys will remain in their fancy chest, while small key will be in a - smaller version of the fancy chest. - ''', - shared = True, - disable = { - 'off': {'settings': ['minor_items_as_major_chest', 'chest_textures_specific']}, - 'classic': {'settings': ['chest_textures_specific']}, - '!textures': {'settings': ['soa_unlocks_chest_texture']}, - }, - ) - - chest_textures_specific = MultipleSelect( - gui_text = 'Chest Textures', - choices = { - 'major': "Major items", - 'bosskeys': "Boss keys", - 'keys': "Small keys", - 'tokens': "Gold Skulltula tokens", - 'hearts': "Hearts", - }, - default = ['major', 'bosskeys','keys', 'tokens', 'hearts'], - gui_tooltip = '''\ - Select specific chest textures. - Any unchecked option will make all items in the category - appear in brown chests. - ''', - shared = True, - gui_params = { - "hide_when_disabled": True, - }, - ) - - soa_unlocks_chest_texture = Checkbutton( - gui_text = 'Stone of Agony Unlocks Chest Textures', - gui_tooltip = '''\ - Textures for chests will only be correct - when Stone of Agony is found. - ''', - shared = True, - gui_params = { - "hide_when_disabled": True, - }, - ) - - minor_items_as_major_chest = MultipleSelect( - gui_text = 'Minor Items in Big/Gold chests', - choices = { - 'bombchus': 'Bombchus', - 'shields': 'Deku & Hylian Shields', - 'capacity': 'Deku Stick & Nut Capacity', - }, - gui_tooltip = '''\ - Chests with Hylian or Deku Shields, Deku Stick - or Nut Capacity, or Bombchus will appear in Big - and/or Gold chests, depending on the Chest - Appearance Matches Contents setting. Bombchus - are always in big chests if Add Bombchu Bag and - Drops is on. + The entrance to Shadow Temple will open + after the chosen number of torches are lit. ''', shared = True, - default = [], gui_params = { - "hide_when_disabled" : True, + "hide_when_disabled": True, }, ) - invisible_chests = Checkbutton( - gui_text = 'Invisible Chests', + ruto_already_f1_jabu = Checkbutton( + gui_text = 'Ruto Already at F1', gui_tooltip = '''\ - Chests will be only be visible with - the Lens of Truth. Lens is not logically - required for normally visible chests. + Ruto in Jabu Jabu's Belly will already be at the top floor. + Only applied in the original version of the dungeon, since + in Master Quest you don't need to bring Ruto up. ''', + default = False, shared = True, ) - correct_potcrate_appearances = Combobox( - gui_text = 'Pot, Crate, & Beehive Appearance Matches Contents', - default = 'textures_unchecked', - choices = { - 'off': 'Off', - 'textures_content': 'Texture (Match Content)', - 'textures_unchecked': 'Texture (Unchecked)', - }, + fast_shadow_boat = Checkbutton( + gui_text = 'Fast Shadow Boat', gui_tooltip = '''\ - If enabled, pot/crate textures, and beehive wiggling will reflect its contents. - - Off - Pots, crates, and beehives will appear as vanilla. - - Texture (Match Content) - Pot and crate textures will reflect the contents. - Golden Pots/crates will contain major items. - Pots/crates with keys on them will contain small keys. - Pots/crates containing boss keys will use a variation of the boss key chest texture. - Pots/crates with a spider web on them contain Gold Skulltula tokens. - All other items will use the original texture. - The texture will revert to the original texture once the item is collected. - Beehives containing non-junk items will wiggle until collected. - - Texture (Unchecked) - All pots/crates containing shuffled items - will appear with a golden texture. The texture will revert to the - original texture once the item is collected. - Beehives will wiggle until their item is collected. + The boat sequence in Shadow Temple will be massively sped up. + The two Stalfos will still fall on the boat, but you + won't have time to fight them. ''', + default = False, shared = True, - disable = { - '!textures_content': {'settings': ['potcrate_textures_specific', 'soa_unlocks_potcrate_texture']}, - }, ) - potcrate_textures_specific = MultipleSelect( - gui_text = 'Pot and Crate Textures', - choices = { - 'major': "Major items", - 'bosskeys': "Boss keys", - 'keys': "Small keys", - 'tokens': "Gold Skulltula tokens", - 'hearts': "Hearts", - }, - default = ['major', 'bosskeys', 'keys', 'tokens', 'hearts'], - gui_tooltip = '''\ - Select specific pots and crates textures. - Any unchecked option will make all items in the category - appear in regular pots/crates. + chicken_count_random = Checkbutton( + gui_text = 'Random Cucco Count', + gui_tooltip = '''\ + Anju will give a reward for collecting a random + number of Cuccos. ''', - shared = True, - gui_params = { - "hide_when_disabled": True, + disable = { + True: {'settings': ['chicken_count']}, }, + shared = True, ) - soa_unlocks_potcrate_texture = Checkbutton( - gui_text = 'Stone of Agony Unlocks Pot and Crate Textures', + chicken_count = Scale( + gui_text = 'Cucco Count', + default = 7, + minimum = 0, + maximum = 7, gui_tooltip = '''\ - Textures for pots and crates will only be correct - when Stone of Agony is found. + Anju will give a reward for turning + in the chosen number of Cuccos. ''', shared = True, gui_params = { - "hide_when_disabled": True, + 'no_line_break': True, }, ) - key_appearance_match_dungeon = Checkbutton( - gui_text = 'Key Appearance Matches Dungeon', + big_poe_count_random = Checkbutton( + gui_text = 'Random Big Poe Target Count', gui_tooltip = '''\ - Small keys and boss keys (not key rings) - will use custom models to match their dungeon. + The Poe buyer will give a reward for turning + in a random number of Big Poes. ''', + disable = { + True: {'settings': ['big_poe_count']}, + }, shared = True, ) + big_poe_count = Scale( + gui_text = "Big Poe Target Count", + default = 10, + minimum = 1, + maximum = 10, + gui_tooltip = '''\ + The Poe buyer will give a reward for turning + in the chosen number of Big Poes. + ''', + disabled_default = 1, + shared = True, + ) + clearer_hints = Checkbutton( gui_text = 'Clearer Hints', gui_tooltip = '''\ @@ -3466,7 +3503,7 @@ class SettingInfos: }, shared = True, disable = { - '!bingo' : {'settings' : ['bingosync_url']}, + '!bingo' : {'settings': ['bingosync_url']}, }, ) @@ -3504,6 +3541,7 @@ class SettingInfos: ) hint_dist_user = SettingInfoDict(None, None, True, {}) + plandomized_locations = SettingInfoDict("Plandomized Locations", None, True, {}) misc_hints = MultipleSelect( gui_text = 'Misc. Hints', @@ -3520,6 +3558,7 @@ class SettingInfos: 'frogs2': 'Frogs Ocarina Game', 'mask_shop': 'Shuffled Mask Shop', 'unique_merchants': 'Unique Merchants', + 'big_poes': 'Market Big Poes', }, gui_tooltip = '''\ This setting adds some hints at locations @@ -3562,20 +3601,217 @@ class SettingInfos: tell you what the reward is for playing all six non warp songs. - If shuffled, right side items in the mask - shop will be visible but not obtainable - before completing the child trade quest. - Mask of Truth's shelf slot is always visible. + If shuffled, right side items in the mask + shop will be visible but not obtainable + before completing the child trade quest. + Mask of Truth's shelf slot is always visible. + + If Shuffle Expensive Merchants is enabled, the + three characters that sell a new item will tell + what the reward is for buying their item. + If Shuffle Magic Beans is enabled, the Magic bean + salesman will tell what the reward is for buying + the 60 Rupees item. + + The Poe collector will tell the reward for selling + him Big Poes. + ''', + shared = True, + default = ['altar', 'ganondorf', 'warp_songs_and_owls'], + ) + + correct_chest_appearances = Combobox( + gui_text = 'Chest Appearance Matches Contents', + default = 'off', + choices = { + 'off': 'Off', + 'textures': 'Texture', + 'both': 'Both Size and Texture', + 'classic': 'Classic' + }, + gui_tooltip = '''\ + If "Texture" is enabled, chest texture will reflect its contents + regardless of size. Fancy chests will contain keys, + Gilded chests will contain major items, shuffled + tokens will be in Webbed chests, and Wooden chests + will contain the rest. + This allows skipping chests if they are wooden. + However, skipping wooden chests will mean having + low health, ammo, and rupees, so doing so is a risk. + + "Size and Texture" will change chests with major + items and boss keys into big chests, and everything + else into small chests. + + "Classic" is the behavior of CSMC in previous versions of the randomizer. + This will change chests with major items and boss keys into big chests. + Boss keys will remain in their fancy chest, while small key will be in a + smaller version of the fancy chest. + ''', + shared = True, + disable = { + 'off': {'settings': ['minor_items_as_major_chest', 'chest_textures_specific']}, + 'classic': {'settings': ['chest_textures_specific']}, + '!textures': {'settings': ['soa_unlocks_chest_texture']}, + }, + ) + + chest_textures_specific = MultipleSelect( + gui_text = 'Chest Textures', + choices = { + 'major': "Major items", + 'bosskeys': "Boss keys", + 'keys': "Small keys", + 'tokens': "Gold Skulltula tokens", + 'hearts': "Hearts", + }, + default = ['major', 'bosskeys','keys', 'tokens', 'hearts'], + gui_tooltip = '''\ + Select specific chest textures. + Any unchecked option will make all items in the category + appear in brown chests. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) + + soa_unlocks_chest_texture = Checkbutton( + gui_text = 'Stone of Agony Unlocks Chest Textures', + gui_tooltip = '''\ + Textures for chests will only be correct + when Stone of Agony is found. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) + + minor_items_as_major_chest = MultipleSelect( + gui_text = 'Minor Items in Big/Gold chests', + choices = { + 'bombchus': 'Bombchus', + 'shields': 'Deku & Hylian Shields', + 'capacity': 'Deku Stick & Nut Capacity', + }, + gui_tooltip = '''\ + Chests with Hylian or Deku Shields, Deku Stick + or Nut Capacity, or Bombchus will appear in Big + and/or Gold chests, depending on the Chest + Appearance Matches Contents setting. Bombchus + are always in big chests if Add Bombchu Bag and + Drops is on. + ''', + shared = True, + default = [], + gui_params = { + "hide_when_disabled": True, + }, + ) + + invisible_chests = Checkbutton( + gui_text = 'Invisible Chests', + gui_tooltip = '''\ + Chests will only be visible with the + Lens of Truth. Lens is not logically + required for normally visible chests. + ''', + shared = True, + ) + + correct_potcrate_appearances = Combobox( + gui_text = 'Pot, Crate, & Beehive Appearance Matches Contents', + default = 'textures_unchecked', + choices = { + 'off': 'Off', + 'textures_content': 'Texture (Match Content)', + 'textures_unchecked': 'Texture (Unchecked)', + }, + gui_tooltip = '''\ + If enabled, pot/crate textures, and beehive wiggling will reflect its contents. + + Off - Pots, crates, and beehives will appear as vanilla. + + Texture (Match Content) - Pot and crate textures will reflect the contents. + Golden Pots/crates will contain major items. + Pots/crates with keys on them will contain small keys. + Pots/crates containing boss keys will use a variation of the boss key chest texture. + Pots/crates with a spider web on them contain Gold Skulltula tokens. + All other items will use the original texture. + The texture will revert to the original texture once the item is collected. + Beehives containing non-junk items will wiggle until collected. + + Texture (Unchecked) - All pots/crates containing shuffled items + will appear with a golden texture. The texture will revert to the + original texture once the item is collected. + Beehives will wiggle until their item is collected. + ''', + shared = True, + disable = { + '!textures_content': {'settings': ['potcrate_textures_specific', 'soa_unlocks_potcrate_texture']}, + }, + ) + + key_appearance_match_dungeon = Checkbutton( + gui_text = 'Key Appearance Matches Dungeon', + gui_tooltip = '''\ + Small keys and boss keys (not key rings) + will use custom models to match their dungeon. + ''', + shared = True, + ) - If Shuffle Expensive Merchants is enabled, the - three characters that sell a new item will tell - what the reward is for buying their item. - If Shuffle Magic Beans is enabled, the Magic bean - salesman will tell what the reward is for buying - the 60 Rupees item. + potcrate_textures_specific = MultipleSelect( + gui_text = 'Pot and Crate Textures', + choices = { + 'major': "Major items", + 'bosskeys': "Boss keys", + 'keys': "Small keys", + 'tokens': "Gold Skulltula tokens", + 'hearts': "Hearts", + }, + default = ['major', 'bosskeys', 'keys', 'tokens', 'hearts'], + gui_tooltip = '''\ + Select specific pots and crates textures. + Any unchecked option will make all items in the category + appear in regular pots/crates. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) + + soa_unlocks_potcrate_texture = Checkbutton( + gui_text = 'Stone of Agony Unlocks Pot and Crate Textures', + gui_tooltip = '''\ + Textures for pots and crates will only be correct + when Stone of Agony is found. ''', shared = True, - default = ['altar', 'ganondorf', 'warp_songs_and_owls'], + gui_params = { + "hide_when_disabled": True, + }, + ) + + ocarina_songs = Combobox( + gui_text = 'Randomize Ocarina Melodies', + default = 'off', + choices = { + 'off': 'Off', + 'frog': 'Frog Songs Only', + 'warp': 'Warp Songs Only', + 'all': 'All Songs', + }, + gui_tooltip = '''\ + Will need to memorize a new set of songs. + Can be silly, but difficult. All songs are + generally sensible, but warp songs are + typically more difficult than frog songs. + ''', + shared = True, ) text_shuffle = Combobox( @@ -3636,18 +3872,6 @@ class SettingInfos: shared = True, ) - no_collectible_hearts = Checkbutton( - gui_text = 'Hero Mode', - gui_tooltip = '''\ - No recovery hearts will drop from - enemies or objects. - (You might still find some freestanding - or in chests depending on other settings.) - ''', - default = False, - shared = True, - ) - starting_tod = Combobox( gui_text = 'Starting Time of Day', default = 'default', @@ -3697,6 +3921,73 @@ class SettingInfos: shared = True, ) + tcg_requires_lens = Checkbutton( + gui_text = 'Require Lens of Truth for Treasure Chest Game', + gui_tooltip = '''\ + Force the player to always lose the + treasure chest game in the first room + unless they have the Lens of Truth. + Does not function if Treasure Chest Game + small keys are shuffled. + ''', + shared = True, + ) + + no_collectible_hearts = Checkbutton( + gui_text = 'Hero Mode', + gui_tooltip = '''\ + No recovery hearts will drop from + enemies or objects. + (You might still find some freestanding + or in chests depending on other settings.) + ''', + default = False, + shared = True, + ) + + one_item_per_dungeon = Checkbutton( + gui_text = 'Dungeons Have One Major Item', + gui_tooltip = '''\ + Dungeons have exactly one major item. + This naturally makes each dungeon similar in value + rather than vary based on shuffled locations. + + Spirit Temple Colossus hands count as part + of the dungeon. Spirit Temple has TWO items + to match vanilla distribution. + + Boss Keys and Fortress Keys only count as + major items if they are shuffled Anywhere + (Keysanity) or in Any Dungeon, and Small + Keys only count as major items if they are + shuffled Anywhere (Keysanity). This setting + is disabled if Small Keys are shuffled in + Any Dungeon. + + GS Tokens only count as major items if the + bridge or Ganon Boss Key requirements are + set to "GS Tokens". + + Heart Containers and Pieces of Heart only + count as major items if the bridge or Ganon + Boss Key requirements are set to "Hearts". + + Bombchus only count as major items if the + "Add Bombchu Bag and Drops" setting is enabled. + + Pre-completed dungeons (if any) won't have + a major item. + + This setting has potential to conflict with + other randomizer settings. Should seeds continuously + fail to generate, consider turning this option off. + ''', + shared = True, + gui_params = { + 'randomize_key': 'randomize_settings', + }, + ) + item_pool_value = Combobox( gui_text = 'Item Pool', default = 'balanced', @@ -3737,11 +4028,13 @@ class SettingInfos: gui_text = 'Ice Traps', default = 'normal', choices = { - 'off': 'No Ice Traps', - 'normal': 'Normal Ice Traps', - 'on': 'Extra Ice Traps', - 'mayhem': 'Ice Trap Mayhem', - 'onslaught': 'Ice Trap Onslaught', + 'off': 'No Ice Traps', + 'normal': 'Normal Ice Traps', + 'on': 'Extra Ice Traps', + 'mayhem': 'Ice Trap Mayhem', + 'onslaught': 'Ice Trap Onslaught', + 'custom_count': 'Custom (count)', + 'custom_percent': 'Custom (%)', }, gui_tooltip = '''\ 'Off': All Ice Traps are removed. @@ -3758,8 +4051,54 @@ class SettingInfos: 'Ice Trap Onslaught': All junk items will be replaced by Ice Traps, even those in the base pool. + + 'Custom (count)': Allows specifying a specific number of + "Junk items" to be converted to Ice Traps in the pool. + + 'Custom (%)': Allows specifiying a percentage of + "Junk" items to be converted to Ice Traps in the pool. + ''', + shared = True, + disable = { + 'off' : {'settings': ['custom_ice_trap_percent', 'custom_ice_trap_count']}, + 'normal' : {'settings': ['custom_ice_trap_percent', 'custom_ice_trap_count']}, + 'on' : {'settings': ['custom_ice_trap_percent', 'custom_ice_trap_count']}, + 'mayhem' : {'settings': ['custom_ice_trap_percent', 'custom_ice_trap_count']}, + 'onslaught' : {'settings': ['custom_ice_trap_percent', 'custom_ice_trap_count']}, + 'custom_percent' : {'settings': ['custom_ice_trap_count']}, + 'custom_count' : {'settings': ['custom_ice_trap_percent']}, + }, + ) + + custom_ice_trap_percent = Scale( + gui_text = 'Custom Ice Trap Percent', + default = 50, + minimum = 0, + maximum = 100, + gui_tooltip = '''\ + Percentage of junk items that will be replaced + with Ice Traps when using 'Custom' Ice Traps setting. + ''', + shared = True, + gui_params = { + "hide_when_disabled": True, + }, + ) + + custom_ice_trap_count = Scale( + gui_text = 'Custom Ice Trap Count', + default = 100, + minimum = 0, + maximum = 2000, + gui_tooltip = '''\ + Number of junk items that will be replaced + with Ice Traps when using 'Custom' Ice Traps setting. ''', shared = True, + gui_params = { + "hide_when_disabled": True, + "size": "medium", + }, ) ice_trap_appearance = Combobox( @@ -3786,40 +4125,6 @@ class SettingInfos: shared = True, ) - adult_trade_shuffle = Checkbutton( - gui_text = 'Shuffle All Adult Trade Items', - gui_tooltip = '''\ - Shuffle all adult trade sequence items. If disabled, - a random item will be selected, and Anju will always - give an item even if Pocket Egg is not shuffled. - ''', - shared = True, - default = False, - ) - - adult_trade_start = MultipleSelect( - gui_text = 'Adult Trade Sequence Items', - default = ['Pocket Egg', 'Pocket Cucco', 'Cojiro', 'Odd Mushroom', 'Odd Potion', 'Poachers Saw', - 'Broken Sword', 'Prescription', 'Eyeball Frog', 'Eyedrops', 'Claim Check'], - choices = { - 'Pocket Egg': 'Pocket Egg', - 'Pocket Cucco': 'Pocket Cucco', - 'Cojiro': 'Cojiro', - 'Odd Mushroom': 'Odd Mushroom', - 'Odd Potion': 'Odd Potion', - 'Poachers Saw': "Poacher's Saw", - 'Broken Sword': 'Broken Sword', - 'Prescription': 'Prescription', - 'Eyeball Frog': 'Eyeball Frog', - 'Eyedrops': 'Eyedrops', - 'Claim Check': 'Claim Check', - }, - gui_tooltip = '''\ - Select the items to shuffle in the adult trade sequence. - ''', - shared = True, - ) - # Cosmetics default_targeting = Combobox( @@ -4618,6 +4923,40 @@ class SettingInfos: default = False, ) + slowdown_music_when_lowhp = Checkbutton( + gui_text = 'Slow Down Music When Low HP', + shared = False, + cosmetic = True, + gui_tooltip = '''\ + The music will slow down slightly when being low on HP. + Does not apply on the standard battle enemy music. + ''', + default = False, + ) + + custom_music_directorypicker = Directoryinput( + gui_text = "Custom Music", + shared = False, + cosmetic = True, + gui_tooltip = '''\ + Upload custom music files in OoTR's dedicated .ootrs format. + You can upload individual files or directories consisting of multiple + custom sequences. Implementation into the seed is controlled by + the background_music setting. + Note: Multiple directories at once can only be uploaded by dragging them + onto the text field. + ''', + gui_params = { + "file_types": [ + { + "name": "OoTR Sequence Files", + "extensions": ["ootrs"] + } + ], + "hide_when_disabled": True, + }, + ) + background_music = Combobox( gui_text = 'Background Music', shared = False, @@ -4713,29 +5052,6 @@ class SettingInfos: default = False, ) - custom_music_directorypicker = Directoryinput( - gui_text = "Custom Music", - shared = False, - cosmetic = True, - gui_tooltip = '''\ - Upload custom music files in OoTR's dedicated .ootrs format. - You can upload individual files or directories consisting of multiple - custom sequences. Implementation into the seed is controlled by - the background_music setting. - Note: Multiple directories at once can only be uploaded by dragging them - onto the text field. - ''', - gui_params = { - "file_types": [ - { - "name": "OoTR Sequence Files", - "extensions": ["ootrs"] - } - ], - "hide_when_disabled": True, - }, - ) - credits_music = Checkbutton( gui_text = 'Credits music as BGM', shared = False, @@ -5121,17 +5437,6 @@ class SettingInfos: } ) - slowdown_music_when_lowhp = Checkbutton( - gui_text = 'Slow Down Music When Low HP', - shared = False, - cosmetic = True, - gui_tooltip = '''\ - The music will slow down slightly when being low on HP. - Does not apply on the standard battle enemy music. - ''', - default = False, - ) - sfx_silver_rupee = Combobox( gui_text = 'Silver Rupee Jingle', shared = False, diff --git a/Spoiler.py b/Spoiler.py index 90764b00d6..09f381eec2 100644 --- a/Spoiler.py +++ b/Spoiler.py @@ -54,6 +54,13 @@ 'Big Magic', ] +PASSWORD_NOTES: list[str] = [ + 'A', + 'C down', + 'C right', + 'C left', + 'C up', +] class Spoiler: def __init__(self, worlds: list[World]) -> None: @@ -70,12 +77,23 @@ def __init__(self, worlds: list[World]) -> None: self.goal_categories: dict[int, dict[str, GoalCategory]] = {} self.hints: dict[int, dict[int, GossipText]] = {world.id: {} for world in worlds} self.file_hash: list[int] = [] + self.password: list[int] = [] def build_file_hash(self) -> None: dist_file_hash = self.settings.distribution.file_hash for i in range(5): self.file_hash.append(random.randint(0, 31) if dist_file_hash[i] is None else HASH_ICONS.index(dist_file_hash[i])) + def build_password(self, password: bool = False) -> None: + dist_password = self.settings.distribution.password + if password and None in dist_password and not self.settings.create_spoiler: + raise Exception('You must enable spoiler log or use plandomizer to define one to use the password feature.') + for i in range(6): + if password: + self.password.append(random.randint(1, 5) if dist_password[i] is None else PASSWORD_NOTES.index(dist_password[i]) + 1) + else: + self.password.append(0) + def parse_data(self) -> None: for (sphere_nr, sphere) in self.playthrough.items(): sorted_sphere = [location for location in sphere] @@ -100,6 +118,7 @@ def parse_data(self) -> None: "Dungeon": 5, "ChildBoss": 6, "AdultBoss": 6, + "SpecialBoss": 6, "Hideout": 7, "SpecialInterior": 7, "Interior": 7, @@ -282,7 +301,7 @@ def create_playthrough(self) -> None: for w, sw in zip(worlds, self.worlds): # But the actual location saved here may be in a different world for item_name, item_location in w.hinted_dungeon_reward_locations.items(): - sw.hinted_dungeon_reward_locations[item_name] = self.worlds[item_location.world.id].get_location(item_location.name) + sw.hinted_dungeon_reward_locations[item_name] = None if item_location is None else self.worlds[item_location.world.id].get_location(item_location.name) for hint_type, item_location in w.misc_hint_item_locations.items(): sw.misc_hint_item_locations[hint_type] = self.worlds[item_location.world.id].get_location(item_location.name) @@ -309,7 +328,7 @@ def copy(self) -> list[World]: self.worlds[id(world)] = world.copy() for dungeon in world.dungeons: self.dungeons[id(dungeon)] = dungeon.copy() - for item in chain(dungeon.boss_key, dungeon.small_keys, dungeon.dungeon_items, dungeon.silver_rupees): + for item in chain(dungeon.boss_key, dungeon.small_keys, dungeon.dungeon_items, dungeon.silver_rupees, dungeon.reward): if id(item) in self.items: continue self.items[id(item)] = item.copy() @@ -343,6 +362,7 @@ def copy(self) -> list[World]: dungeon.small_keys = [self.items.get(id(item), item) for item in dungeon.small_keys] dungeon.dungeon_items = [self.items.get(id(item), item) for item in dungeon.dungeon_items] dungeon.silver_rupees = [self.items.get(id(item), item) for item in dungeon.silver_rupees] + dungeon.reward = [self.items.get(id(item), item) for item in dungeon.reward] for region in self.regions.values(): region.world = self.worlds.get(id(region.world), region.world) diff --git a/State.py b/State.py index 1b0534d6d1..52b17328b8 100644 --- a/State.py +++ b/State.py @@ -65,11 +65,8 @@ def has_all_of(self, items: Iterable[int]) -> bool: return False return True - def count_of(self, items: Iterable[int]) -> int: - s = 0 - for i in items: - s += self.solv_items[i] - return s + def count_distinct(self, items: Iterable[int]) -> int: + return sum(1 for i in items if self.solv_items[i] > 0) def item_count(self, item: int) -> int: return self.solv_items[item] @@ -93,17 +90,17 @@ def heart_count(self) -> int: ) def has_medallions(self, count: int) -> bool: - return self.count_of(ItemInfo.medallion_ids) >= count + return self.count_distinct(ItemInfo.medallion_ids) >= count def has_stones(self, count: int) -> bool: - return self.count_of(ItemInfo.stone_ids) >= count + return self.count_distinct(ItemInfo.stone_ids) >= count def has_dungeon_rewards(self, count: int) -> bool: - return (self.count_of(ItemInfo.medallion_ids) + self.count_of(ItemInfo.stone_ids)) >= count + return self.count_distinct(ItemInfo.medallion_ids) + self.count_distinct(ItemInfo.stone_ids) >= count def has_ocarina_buttons(self, count: int) -> bool: - return (self.count_of(ItemInfo.ocarina_buttons_ids)) >= count + return self.count_distinct(ItemInfo.ocarina_buttons_ids) >= count # TODO: Store the item's solver id in the goal def has_item_goal(self, item_goal: dict[str, Any]) -> bool: diff --git a/Unittest.py b/Unittest.py index 764295a156..d23d80c46f 100644 --- a/Unittest.py +++ b/Unittest.py @@ -3,6 +3,7 @@ # See `python -m unittest -h` or `pytest -h` for more options. from __future__ import annotations +import io import json import logging import os @@ -23,6 +24,7 @@ from Settings import Settings, get_preset_files from Spoiler import Spoiler from Rom import Rom +from Audiobank import * test_dir = os.path.join(os.path.dirname(__file__), 'tests') output_dir = os.path.join(test_dir, 'Output') @@ -233,6 +235,9 @@ def test_ice_traps(self): "plando-new-placed-ice-traps", "plando-placed-and-added-ice-traps", "non-standard-visible-ice-traps", + "custom-ice-traps-percent-triforce-hunt", + "custom-ice-traps-count", + "custom-ice-traps-percent", ] for filename in filenames: with self.subTest(filename): @@ -258,6 +263,19 @@ def test_ice_traps(self): with self.subTest("ice trap models in non-standard visible locations"): for location in distribution_file['locations']: self.assertIn('model', spoiler['locations'][location]) + if filename == "custom-ice-traps-count": + self.assertEqual(spoiler['item_pool']['Ice Trap'], 50) + if filename in ["custom-ice-traps-percent", "custom-ice-traps-percent-triforce-hunt"]: + # Count up all the junk that is left + from ItemPool import junk_pool_base + junk = [item for item, weight in junk_pool_base] + ['Rupee (1)', 'Recovery Heart', 'Bombs (20)', 'Arrows (30)'] + junk_count = 0 + for item in spoiler['item_pool'].keys(): + if item in junk: + junk_count += spoiler['item_pool'][item] + ice_trap_count = spoiler['item_pool']['Ice Trap'] + # Check that 75% of the junk is ice traps, per the plando + self.assertEqual(int((junk_count + ice_trap_count) * .75), ice_trap_count) def test_should_not_throw_exception(self): filenames = [ @@ -861,3 +879,54 @@ def test_text_shuffle(self): messages = read_messages(rom) shuffle_messages(messages) shuffle_messages(messages, False) + +class TestSceneFlags(unittest.TestCase): + def test_build_room_xflags(self): + from SceneFlags import build_room_xflags, encode_room_xflags + # Using Goron city child room 3 (main room with the goron pot) + room_locations = [ + (41, 1), # Goron Pot Drop 1 + (41, 2), # Goron Pot Drop 2 + (41, 3), # Goron Pot Drop 3 + (41, 4), # Goron Pot Drop 4 + (41, 5), # Goron Pot Drop 5 + (41, 6), # Goron Pot Drop 6 + (41, 7), # Goron Pot Drop 7 + (41, 8), # Goron Pot Drop 8 + (42, 0), # Pot 1 + (43, 0), # Pot 2 + (44, 0), # Pot 3 + (45, 0), # Pot 4 + (46, 0), # Pot 5 + ] + test_encoded = [0, 41, 1, 1, 9, 1, 1, 4] + + flags, bits = build_room_xflags(room_locations) + diff, encoded = encode_room_xflags(flags) + self.assertListEqual(test_encoded, encoded) + +class TestCustomAudio(unittest.TestCase): + def test_audiobank(self): + AUDIOBANK_POINTER_TABLE = 0x00B896A0 + AUDIOBANK_ADDR = 0xD390 + AUDIOTABLE_INDEX_ADDR = 0xB8A1C0 + AUDIOTABLE_ADDR = 0x79470 + + if not os.path.isfile('./ZOOTDEC.z64'): + self.skipTest("Base ROM file not available.") + + rom: Rom = Rom("ZOOTDEC.z64") + audiobank_file = rom.read_bytes(AUDIOBANK_ADDR, 0x1CA50) + audiotable_index = rom.read_bytes(AUDIOTABLE_INDEX_ADDR, 0x80) # Read audiotable index into bytearray + audiotable_file = rom.read_bytes(AUDIOTABLE_ADDR, 0x460AD0) # Read audiotable (samples) into bytearray + rom_bytes: bytearray = rom.buffer + audiobank_table_header = rom.read_bytes(AUDIOBANK_POINTER_TABLE, 0x10) + num_banks = int.from_bytes(audiobank_table_header[0:2], 'big') + audiobanks: list[AudioBank] = [] + for i in range(0, num_banks): + curr_entry = rom.read_bytes(AUDIOBANK_POINTER_TABLE + 0x10 + (0x10 * i), 0x10) + audiobank: AudioBank = AudioBank(curr_entry, audiobank_file, audiotable_file, audiotable_index) + audiobanks.append(audiobank) + self.assertEqual(num_banks, 0x26) + self.assertEqual(audiobanks[0x25].bank_offset, 0x19110) + self.assertEqual(audiobanks[0x25].size, 0x3940) diff --git a/Utils.py b/Utils.py index d8296b15da..148cdf9825 100644 --- a/Utils.py +++ b/Utils.py @@ -125,10 +125,10 @@ class VersionError(Exception): def check_version(checked_version: str) -> None: if not hasattr(check_version, "base_regex"): - check_version.base_regex = re.compile("""^[ \t]*__version__ = ['"](.+)['"]""", re.MULTILINE) - check_version.supplementary_regex = re.compile(r"^[ \t]*supplementary_version = (\d+)$", re.MULTILINE) - check_version.full_regex = re.compile("""^[ \t]*__version__ = f['"]*(.+)['"]""", re.MULTILINE) - check_version.url_regex = re.compile("""^[ \t]*branch_url = ['"](.+)['"]""", re.MULTILINE) + check_version.base_regex = re.compile("""^[ \t]*__version__ = ['"](.+)['"]""", flags=re.MULTILINE) + check_version.supplementary_regex = re.compile(r"^[ \t]*supplementary_version = (\d+)$", flags=re.MULTILINE) + check_version.full_regex = re.compile("""^[ \t]*__version__ = f['"]*(.+)['"]""", flags=re.MULTILINE) + check_version.url_regex = re.compile("""^[ \t]*branch_url = ['"](.+)['"]""", flags=re.MULTILINE) if compare_version(checked_version, __version__) < 0: try: @@ -199,23 +199,20 @@ def subprocess_args(include_stdout: bool = True) -> dict[str, Any]: return ret -def run_process(logger: logging.Logger, args: Sequence[str], stdin: Optional[AnyStr] = None) -> None: +def run_process(logger: logging.Logger, args: Sequence[str], stdin: Optional[AnyStr] = None, *, check: bool = False) -> None: process = subprocess.Popen(args, bufsize=1, stdout=subprocess.PIPE, stdin=subprocess.PIPE) - filecount = None if stdin is not None: process.communicate(input=stdin) else: while True: line = process.stdout.readline() if line != b'': - find_index = line.find(b'files remaining') - if find_index > -1: - files = int(line[:find_index].strip()) - if filecount is None: - filecount = files logger.info(line.decode('utf-8').strip('\n')) else: break + process.communicate() + if check and process.returncode != 0: + raise subprocess.CalledProcessError(process.returncode, args) # https://stackoverflow.com/a/23146126 diff --git a/World.py b/World.py index 441c06d788..759c30de46 100644 --- a/World.py +++ b/World.py @@ -14,8 +14,10 @@ from HintList import get_required_hints, misc_item_hint_table, misc_location_hint_table from Hints import HintArea, hint_dist_keys, hint_dist_files from Item import Item, ItemFactory, ItemInfo, make_event_item +from ItemList import REWARD_COLORS +from ItemPool import reward_list from Location import Location, LocationFactory -from LocationList import business_scrubs, location_groups +from LocationList import business_scrubs, location_groups, location_table from OcarinaSongs import generate_song_list, Song from Plandomizer import WorldDistribution, InvalidFileException from Region import Region, TimeOfDay @@ -40,7 +42,12 @@ def __init__(self, world_id: int, settings: Settings, resolve_randomized_setting self.shop_prices: dict[str, int] = {} self.scrub_prices: dict[int, int] = {} self.maximum_wallets: int = 0 - self.hinted_dungeon_reward_locations: dict[str, Location] = {} + self.hinted_dungeon_reward_locations: dict[str, Optional[Location]] = { + name: None + for name, count in settings.starting_items.items() + if name in REWARD_COLORS + and count.count > 0 + } self.misc_hint_item_locations: dict[str, Location] = {} self.misc_hint_location_items: dict[str, Item] = {} self.triforce_count: int = 0 @@ -49,10 +56,11 @@ def __init__(self, world_id: int, settings: Settings, resolve_randomized_setting self.barren_dungeon: int = 0 self.woth_dungeon: int = 0 self.randomized_list: list[str] = [] + self.cached_bigocto_location: Optional[Location] = None self.parser: Rule_AST_Transformer = Rule_AST_Transformer(self) self.event_items: set[str] = set() - self.settings: Settings = settings + self.settings: Settings = settings.copy() self.distribution: WorldDistribution = settings.distribution.world_dists[world_id] # rename a few attributes... @@ -73,6 +81,8 @@ def __init__(self, world_id: int, settings: Settings, resolve_randomized_setting ) self.mixed_pools_bosses = False # this setting is still in active development at https://github.com/Roman971/OoT-Randomizer + # in these settings, there's not necessarily one dungeon reward in each main dungeon, so compasses and the pause menu switch to a different behavior + self.entrance_rando_reward_hints = self.mixed_pools_bosses or self.settings.shuffle_ganon_tower or self.settings.shuffle_dungeon_rewards not in ('vanilla', 'reward') self.ensure_tod_access: bool = bool(self.shuffle_interior_entrances or settings.shuffle_overworld_entrances or settings.spawn_positions) self.disable_trade_revert: bool = self.shuffle_interior_entrances or settings.shuffle_overworld_entrances or settings.adult_trade_shuffle @@ -250,7 +260,7 @@ def __missing__(self, dungeon_name: str) -> EmptyDungeonInfo: self.always_hints: list[str] = [hint.name for hint in get_required_hints(self)] - self.dungeon_rewards_hinted: bool = 'altar' in settings.misc_hints or settings.enhance_map_compass + self.dungeon_rewards_hinted: bool = settings.shuffle_mapcompass != 'remove' if settings.enhance_map_compass else 'altar' in settings.misc_hints self.misc_hint_items: dict[str, str] = {hint_type: self.hint_dist_user.get('misc_hint_items', {}).get(hint_type, data['default_item']) for hint_type, data in misc_item_hint_table.items()} self.misc_hint_locations: dict[str, str] = {hint_type: self.hint_dist_user.get('misc_hint_locations', {}).get(hint_type, data['item_location']) for hint_type, data in misc_location_hint_table.items()} @@ -300,6 +310,11 @@ def __missing__(self, dungeon_name: str) -> EmptyDungeonInfo: self.goal_categories: dict[str, GoalCategory] = OrderedDict() if self.hint_dist_user['use_default_goals']: self.set_goals() + for cat in self.hint_dist_user.get('excluded_goal_categories', []): + try: + del self.goal_categories[cat] + except KeyError: + pass # don't crash when a hint distro doesn't exist due to selected settings # import goals from hint plando if 'custom_goals' in self.hint_dist_user: @@ -336,6 +351,9 @@ def __missing__(self, dungeon_name: str) -> EmptyDungeonInfo: if goal_list1 != [goal.name for goal in category.goals] and category.name not in minor_goal_categories: self.one_hint_per_goal = False + if 'one_hint_per_goal' in self.hint_dist_user: + self.one_hint_per_goal = self.hint_dist_user['one_hint_per_goal'] + # initialize category check for first rounds of goal hints self.hinted_categories = [] @@ -657,7 +675,7 @@ def initialize_items(self, items: Optional[list[Item]] = None) -> None: item_dict = defaultdict(list) for item in items: item_dict[item.name].append(item) - if (self.settings.shuffle_hideoutkeys in ('fortress', 'regional') and item.type == 'HideoutSmallKey') or (self.settings.shuffle_tcgkeys == 'regional' and item.type == 'TCGSmallKey'): + if (self.settings.shuffle_hideoutkeys in ('fortress', 'regional') and item.type in ('HideoutSmallKey', 'HideoutSmallKeyRing')) or (self.settings.shuffle_tcgkeys == 'regional' and item.type in ('TCGSmallKey', 'TCGSmallKeyRing')): item.priority = True for dungeon in self.dungeons: @@ -677,6 +695,9 @@ def initialize_items(self, items: Optional[list[Item]] = None) -> None: elif item.type == 'SilverRupee': dungeon_collection = dungeon.silver_rupees shuffle_setting = self.settings.shuffle_silver_rupees + elif item.type == 'DungeonReward': + dungeon_collection = dungeon.reward + shuffle_setting = self.settings.shuffle_dungeon_rewards if dungeon_collection is not None and item not in dungeon_collection: dungeon_collection.append(item) @@ -735,20 +756,8 @@ def set_scrub_prices(self) -> None: if location.item is not None: location.item.price = price - rewardlist = ( - 'Kokiri Emerald', - 'Goron Ruby', - 'Zora Sapphire', - 'Forest Medallion', - 'Fire Medallion', - 'Water Medallion', - 'Spirit Medallion', - 'Shadow Medallion', - 'Light Medallion' - ) - def fill_bosses(self, boss_count: int = 9) -> None: - boss_rewards = ItemFactory(self.rewardlist, self) + boss_rewards = ItemFactory(reward_list, self) boss_locations = [self.get_location(loc) for loc in location_groups['Boss']] placed_prizes = [loc.item.name for loc in boss_locations if loc.item is not None] @@ -763,10 +772,21 @@ def fill_bosses(self, boss_count: int = 9) -> None: boss_count -= 1 random.shuffle(prizepool) random.shuffle(prize_locs) - item = prizepool.pop() loc = prize_locs.pop() + if self.settings.shuffle_dungeon_rewards == 'vanilla': + item = next(item for item in prizepool if item.name == location_table[loc.name][4]) + elif self.settings.shuffle_dungeon_rewards == 'reward': + item = prizepool.pop() self.push_item(loc, item) + def set_empty_dungeon_rewards(self, empty_rewards: list[str] = []) -> None: + empty_dungeon_bosses = list(map(lambda reward: self.find_items(reward)[0].name, empty_rewards)) + for boss in empty_dungeon_bosses: + for dungeon_item in self.empty_dungeons.items(): + if dungeon_item[1].boss_name == boss: + dungeon_item[1].empty = True + self.hint_type_overrides['barren'].append(dungeon_item[1].hint_name) + def set_goals(self) -> None: # Default goals are divided into 3 primary categories: # Bridge, Ganon's Boss Key, and Trials @@ -829,31 +849,43 @@ def set_goals(self) -> None: dot_items.append({'name': 'Song of Time', 'quantity': 2 if self.settings.shuffle_song_items == 'any' and self.settings.item_pool_value == 'plentiful' else 1, 'minimum': 1, 'hintable': True}) if self.settings.shuffle_ocarinas: dot_items.append({'name': 'Ocarina', 'quantity': 3 if self.settings.item_pool_value == 'plentiful' else 2, 'minimum': 1, 'hintable': True}) - dot.add_goal(Goal(self, 'Door of Time', 'path of time', 'Light Blue', items=dot_items)) + if self.settings.shuffle_individual_ocarina_notes: + notes = str(self.song_notes['Song of Time']) + if 'A' in notes: + dot_items.append({'name': 'Ocarina A Button', 'quantity': 2 if self.settings.item_pool_value == 'plentiful' else 1, 'minimum': 1, 'hintable': True}) + if 'v' in notes: + dot_items.append({'name': 'Ocarina C down Button', 'quantity': 2 if self.settings.item_pool_value == 'plentiful' else 1, 'minimum': 1, 'hintable': True}) + if '>' in notes: + dot_items.append({'name': 'Ocarina C right Button', 'quantity': 2 if self.settings.item_pool_value == 'plentiful' else 1, 'minimum': 1, 'hintable': True}) + if '<' in notes: + dot_items.append({'name': 'Ocarina C left Button', 'quantity': 2 if self.settings.item_pool_value == 'plentiful' else 1, 'minimum': 1, 'hintable': True}) + if '^' in notes: + dot_items.append({'name': 'Ocarina C up Button', 'quantity': 2 if self.settings.item_pool_value == 'plentiful' else 1, 'minimum': 1, 'hintable': True}) + dot.add_goal(Goal(self, 'Door of Time', 'path of #time#', 'Light Blue', items=dot_items)) self.goal_categories[dot.name] = dot # Bridge goals will always be defined as they have the most immediate priority - if self.settings.bridge != 'open' and not self.shuffle_special_dungeon_entrances: + if self.settings.bridge != 'open' and not self.shuffle_special_dungeon_entrances and not self.settings.shuffle_ganon_tower: # "Replace" hint text dictionaries are used to reference the # dungeon boss holding the specified reward. Only boss names/paths # are defined for this feature, and it is not extendable via plando. # Goal hint text colors are based on the dungeon reward, not the boss. if (self.settings.bridge_stones > 0 and self.settings.bridge == 'stones') or (self.settings.bridge_rewards > 0 and self.settings.bridge == 'dungeons'): - b.add_goal(Goal(self, 'Kokiri Emerald', { 'replace': 'Kokiri Emerald' }, 'Light Blue', items=[{'name': 'Kokiri Emerald', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Goron Ruby', { 'replace': 'Goron Ruby' }, 'Light Blue', items=[{'name': 'Goron Ruby', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Zora Sapphire', { 'replace': 'Zora Sapphire' }, 'Light Blue', items=[{'name': 'Zora Sapphire', 'quantity': 1, 'minimum': 1, 'hintable': True}])) + b.add_goal(Goal(self, 'Kokiri Emerald', { 'replace': 'Kokiri Emerald' }, 'Green', items=[{'name': 'Kokiri Emerald', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Goron Ruby', { 'replace': 'Goron Ruby' }, 'Red', items=[{'name': 'Goron Ruby', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Zora Sapphire', { 'replace': 'Zora Sapphire' }, 'Blue', items=[{'name': 'Zora Sapphire', 'quantity': 1, 'minimum': 1, 'hintable': False}])) b.minimum_goals = self.settings.bridge_stones if self.settings.bridge == 'stones' else self.settings.bridge_rewards if (self.settings.bridge_medallions > 0 and self.settings.bridge == 'medallions') or (self.settings.bridge_rewards > 0 and self.settings.bridge == 'dungeons'): - b.add_goal(Goal(self, 'Forest Medallion', { 'replace': 'Forest Medallion' }, 'Green', items=[{'name': 'Forest Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Fire Medallion', { 'replace': 'Fire Medallion' }, 'Red', items=[{'name': 'Fire Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Water Medallion', { 'replace': 'Water Medallion' }, 'Blue', items=[{'name': 'Water Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Light Medallion', { 'replace': 'Light Medallion' }, 'Light Blue', items=[{'name': 'Light Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) + b.add_goal(Goal(self, 'Forest Medallion', { 'replace': 'Forest Medallion' }, 'Green', items=[{'name': 'Forest Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Fire Medallion', { 'replace': 'Fire Medallion' }, 'Red', items=[{'name': 'Fire Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Water Medallion', { 'replace': 'Water Medallion' }, 'Blue', items=[{'name': 'Water Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Light Medallion', { 'replace': 'Light Medallion' }, 'Light Blue', items=[{'name': 'Light Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) b.minimum_goals = self.settings.bridge_medallions if self.settings.bridge == 'medallions' else self.settings.bridge_rewards if self.settings.bridge == 'vanilla': - b.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - b.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) + b.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + b.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) min_goals = 2 # With plentiful item pool, multiple copies of Light Arrows are available, # but both are not guaranteed reachable. Setting a goal quantity of the @@ -904,67 +936,67 @@ def set_goals(self) -> None: # the GBK category is redundant and not used for hint selection. if ((self.settings.ganon_bosskey_stones > 0 and self.settings.shuffle_ganon_bosskey == 'stones' - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_stones > self.settings.bridge_stones or self.settings.bridge != 'stones')) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_stones > self.settings.bridge_stones or self.settings.bridge != 'stones')) or (self.settings.lacs_stones > 0 and self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'stones' - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_stones > self.settings.bridge_stones or self.settings.bridge != 'stones')) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_stones > self.settings.bridge_stones or self.settings.bridge != 'stones')) or (self.settings.ganon_bosskey_rewards > 0 and self.settings.shuffle_ganon_bosskey == 'dungeons' - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > 2 or self.settings.bridge != 'vanilla')) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > 2 or self.settings.bridge != 'vanilla')) or (self.settings.lacs_rewards > 0 and self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'dungeons' - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > 2 or self.settings.bridge != 'vanilla'))): - gbk.add_goal(Goal(self, 'Kokiri Emerald', { 'replace': 'Kokiri Emerald' }, 'Yellow', items=[{'name': 'Kokiri Emerald', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Goron Ruby', { 'replace': 'Goron Ruby' }, 'Yellow', items=[{'name': 'Goron Ruby', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Zora Sapphire', { 'replace': 'Zora Sapphire' }, 'Yellow', items=[{'name': 'Zora Sapphire', 'quantity': 1, 'minimum': 1, 'hintable': True}])) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > 2 or self.settings.bridge != 'vanilla'))): + gbk.add_goal(Goal(self, 'Kokiri Emerald', { 'replace': 'Kokiri Emerald' }, 'Green', items=[{'name': 'Kokiri Emerald', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Goron Ruby', { 'replace': 'Goron Ruby' }, 'Red', items=[{'name': 'Goron Ruby', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Zora Sapphire', { 'replace': 'Zora Sapphire' }, 'Blue', items=[{'name': 'Zora Sapphire', 'quantity': 1, 'minimum': 1, 'hintable': False}])) gbk.minimum_goals = (self.settings.ganon_bosskey_stones if self.settings.shuffle_ganon_bosskey == 'stones' else self.settings.lacs_stones if self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'stones' else self.settings.ganon_bosskey_rewards if self.settings.shuffle_ganon_bosskey == 'dungeons' else self.settings.lacs_rewards) if ((self.settings.ganon_bosskey_medallions > 0 and self.settings.shuffle_ganon_bosskey == 'medallions' - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_medallions > self.settings.bridge_medallions or self.settings.bridge != 'medallions') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_medallions > 2 or self.settings.bridge != 'vanilla')) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_medallions > self.settings.bridge_medallions or self.settings.bridge != 'medallions') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_medallions > 2 or self.settings.bridge != 'vanilla')) or (self.settings.lacs_medallions > 0 and self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'medallions' - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_medallions > self.settings.bridge_medallions or self.settings.bridge != 'medallions') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_medallions > 2 or self.settings.bridge != 'vanilla')) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_medallions > self.settings.bridge_medallions or self.settings.bridge != 'medallions') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_medallions > 2 or self.settings.bridge != 'vanilla')) or (self.settings.ganon_bosskey_rewards > 0 and self.settings.shuffle_ganon_bosskey == 'dungeons' - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') - and (self.shuffle_special_dungeon_entrances or self.settings.ganon_bosskey_rewards > 2 or self.settings.bridge != 'vanilla')) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.ganon_bosskey_rewards > 2 or self.settings.bridge != 'vanilla')) or (self.settings.lacs_rewards > 0 and self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'dungeons' - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') - and (self.shuffle_special_dungeon_entrances or self.settings.lacs_rewards > 2 or self.settings.bridge != 'vanilla'))): - gbk.add_goal(Goal(self, 'Forest Medallion', { 'replace': 'Forest Medallion' }, 'Green', items=[{'name': 'Forest Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Fire Medallion', { 'replace': 'Fire Medallion' }, 'Red', items=[{'name': 'Fire Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Water Medallion', { 'replace': 'Water Medallion' }, 'Blue', items=[{'name': 'Water Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Light Medallion', { 'replace': 'Light Medallion' }, 'Light Blue', items=[{'name': 'Light Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > self.settings.bridge_medallions or self.settings.bridge != 'medallions') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > self.settings.bridge_stones or self.settings.bridge != 'stones') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > self.settings.bridge_rewards or self.settings.bridge != 'dungeons') + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.lacs_rewards > 2 or self.settings.bridge != 'vanilla'))): + gbk.add_goal(Goal(self, 'Forest Medallion', { 'replace': 'Forest Medallion' }, 'Green', items=[{'name': 'Forest Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Fire Medallion', { 'replace': 'Fire Medallion' }, 'Red', items=[{'name': 'Fire Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Water Medallion', { 'replace': 'Water Medallion' }, 'Blue', items=[{'name': 'Water Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Light Medallion', { 'replace': 'Light Medallion' }, 'Light Blue', items=[{'name': 'Light Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) gbk.minimum_goals = (self.settings.ganon_bosskey_medallions if self.settings.shuffle_ganon_bosskey == 'medallions' else self.settings.lacs_medallions if self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'medallions' else self.settings.ganon_bosskey_rewards if self.settings.shuffle_ganon_bosskey == 'dungeons' else self.settings.lacs_rewards) if self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'vanilla': - gbk.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) - gbk.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': True}])) + gbk.add_goal(Goal(self, 'Shadow Medallion', { 'replace': 'Shadow Medallion' }, 'Pink', items=[{'name': 'Shadow Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) + gbk.add_goal(Goal(self, 'Spirit Medallion', { 'replace': 'Spirit Medallion' }, 'Yellow', items=[{'name': 'Spirit Medallion', 'quantity': 1, 'minimum': 1, 'hintable': False}])) gbk.minimum_goals = 2 gbk.goal_count = len(gbk.goals) if (self.settings.ganon_bosskey_tokens > 0 and self.settings.shuffle_ganon_bosskey == 'tokens' - and (self.shuffle_special_dungeon_entrances + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.bridge != 'tokens' or self.settings.bridge_tokens < self.settings.ganon_bosskey_tokens)): gbk.add_goal(Goal(self, 'Skulls', 'path of #Skulls#', 'Pink', items=[{'name': 'Gold Skulltula Token', 'quantity': 100, 'minimum': self.settings.ganon_bosskey_tokens, 'hintable': False}])) @@ -972,7 +1004,7 @@ def set_goals(self) -> None: gbk.minimum_goals = 1 if (self.settings.lacs_tokens > 0 and self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'tokens' - and (self.shuffle_special_dungeon_entrances + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.bridge != 'tokens' or self.settings.bridge_tokens < self.settings.lacs_tokens)): gbk.add_goal(Goal(self, 'Skulls', 'path of #Skulls#', 'Pink', items=[{'name': 'Gold Skulltula Token', 'quantity': 100, 'minimum': self.settings.lacs_tokens, 'hintable': False}])) @@ -980,7 +1012,7 @@ def set_goals(self) -> None: gbk.minimum_goals = 1 if (self.settings.ganon_bosskey_hearts > self.settings.starting_hearts and self.settings.shuffle_ganon_bosskey == 'hearts' - and (self.shuffle_special_dungeon_entrances + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.bridge != 'hearts' or self.settings.bridge_hearts < self.settings.ganon_bosskey_hearts)): gbk.add_goal(Goal(self, 'hearts', 'path of #hearts#', 'Red', items=[{'name': 'Piece of Heart', 'quantity': (20 - self.settings.starting_hearts) * 4, 'minimum': (self.settings.ganon_bosskey_hearts - self.settings.starting_hearts) * 4, 'hintable': False}])) @@ -988,7 +1020,7 @@ def set_goals(self) -> None: gbk.minimum_goals = 1 if (self.settings.lacs_hearts > self.settings.starting_hearts and self.settings.shuffle_ganon_bosskey == 'on_lacs' and self.settings.lacs_condition == 'hearts' - and (self.shuffle_special_dungeon_entrances + and (self.shuffle_special_dungeon_entrances or self.settings.shuffle_ganon_tower or self.settings.bridge != 'hearts' or self.settings.bridge_hearts < self.settings.lacs_hearts)): gbk.add_goal(Goal(self, 'hearts', 'path of #hearts#', 'Red', items=[{'name': 'Piece of Heart', 'quantity': (20 - self.settings.starting_hearts) * 4, 'minimum': (self.settings.lacs_hearts - self.settings.starting_hearts) * 4, 'hintable': False}])) @@ -1113,6 +1145,68 @@ def silver_rupee_puzzles(self) -> list[str]: + (['Ganons Castle Shadow Trial', 'Ganons Castle Water Trial'] if self.dungeon_mq['Ganons Castle'] else ['Ganons Castle Spirit Trial', 'Ganons Castle Light Trial', 'Ganons Castle Forest Trial']) ) + def bigocto_location(self) -> Optional[Location]: + if self.cached_bigocto_location is not None: + return self.cached_bigocto_location + # Find an item location behind the Jabu boss door by searching regions breadth-first without going back into Jabu proper + if self.settings.logic_rules == 'glitched': + location = self.get_location('Barinade') + else: + jabu_reward_regions = {self.get_entrance('Jabu Jabus Belly Before Boss -> Barinade Boss Room').connected_region} + already_checked = set() + location = None + while jabu_reward_regions: + locations = [ + loc + for region in jabu_reward_regions + if region is not None and region.locations is not None + for loc in region.locations + if not loc.locked + and loc.has_item() + and not loc.item.event + and (loc.type != "Shop" or loc.name in self.shop_prices) # ignore regular shop items (but keep special deals) + ] + if locations: + # Location types later in the list will be preferred over earlier ones or ones not in the list. + # This ensures that if the region behind the boss door is a boss arena, the medallion or stone will be used. + priority_types = ( + "Wonderitem", + "Freestanding", + "ActorOverride", + "RupeeTower", + "Pot", + "Crate", + "FlyingPot", + "SmallCrate", + "Beehive", + "SilverRupee", + "GS Token", + "GrottoScrub", + "Scrub", + "Shop", + "MaskShop", + "NPC", + "Collectable", + "Chest", + "Cutscene", + "Song", + "BossHeart", + "Boss", + ) + best_type = max((location.type for location in locations), key=lambda type: priority_types.index(type) if type in priority_types else -1) + location = random.choice(list(filter(lambda loc: loc.type == best_type, locations))) + break + already_checked |= jabu_reward_regions + jabu_reward_regions = { + exit.connected_region + for region in jabu_reward_regions + if region is not None + for exit in region.exits + if exit.connected_region is not None and exit.connected_region.dungeon != 'Jabu Jabus Belly' and exit.connected_region.name not in already_checked + } + self.cached_bigocto_location = location + return location + def find_items(self, item: str) -> list[Location]: return [location for location in self.get_locations() if location.item is not None and location.item.name == item] @@ -1120,16 +1214,12 @@ def push_item(self, location: str | Location, item: Item, manual: bool = False) if not isinstance(location, Location): location = self.get_location(location) - # This check should never be false normally, but is here as a sanity check - if location.can_fill_fast(item, manual) and item.world: - location.item = item - item.location = location - item.price = location.price if location.price is not None else item.price - location.price = item.price + location.item = item + item.location = location + item.price = location.price if location.price is not None else item.price + location.price = item.price - logging.getLogger('').debug('Placed %s [World %d] at %s [World %d]', item, item.world.id if hasattr(item, 'world') else -1, location, location.world.id if hasattr(location, 'world') else -1) - else: - raise RuntimeError('Cannot assign item %s to location %s.' % (item, location)) + logging.getLogger('').debug('Placed %s [World %d] at %s [World %d]', item, item.world.id if hasattr(item, 'world') else -1, location, location.world.id if hasattr(location, 'world') else -1) def get_locations(self) -> list[Location]: if not self._cached_locations: @@ -1210,7 +1300,8 @@ def update_useless_areas(self, spoiler: Spoiler) -> None: or location.locked or location.name in self.hint_exclusions or location.item is None - or location.item.type in ('Event', 'DungeonReward') + or location.item.type == 'Event' + or (location.item.type == 'DungeonReward' and location.item.world.settings.shuffle_dungeon_rewards in ('vanilla', 'reward', 'dungeon')) ): continue @@ -1295,6 +1386,11 @@ def update_useless_areas(self, spoiler: Spoiler) -> None: # MQ Ganon small keys only lock pots, freestanding recovery hearts, silver rupees, and trial completion exclude_item_list.append('Small Key (Ganons Castle)') exclude_item_list.append('Small Key Ring (Ganons Castle)') + if not any(setting in ('medallions', 'dungeons') for setting in (self.settings.bridge, self.settings.shuffle_ganon_bosskey, self.settings.lacs_condition)): + exclude_item_list.append('Light Medallion') + if 'vanilla' not in (self.settings.bridge, self.settings.lacs_condition): + exclude_item_list.append('Shadow Medallion') + exclude_item_list.append('Spirit Medallion') for i in self.item_hint_type_overrides['barren']: if i in exclude_item_list: diff --git a/data/Glitched World/Overworld.json b/data/Glitched World/Overworld.json index 357aa29bfb..2eb841b403 100644 --- a/data/Glitched World/Overworld.json +++ b/data/Glitched World/Overworld.json @@ -3,12 +3,12 @@ "region_name": "Root", "hint": "ROOT", "locations": { - "Links Pocket": "True", "Gift from Sages": "can_receive_ganon_bosskey" }, "exits": { "Root Exits": "is_starting_age or Time_Travel", - "HC Garden Locations": "skip_child_zelda" + "HC Garden Skippable Locations": "skip_child_zelda", + "Beyond Door of Time Skippable Locations": "skip_reward_from_rauru" } }, { @@ -171,7 +171,7 @@ "region_name": "Sacred Forest Meadow", "hint": "SACRED_FOREST_MEADOW", "locations": { - "Song from Saria": "is_child and at('HC Garden Locations', is_child)", + "Song from Saria": "is_child and at('HC Garden Skippable Locations', is_child)", "Sheik in Forest": "is_adult", "SFM GS": "(can_use(Hookshot) or can_hover) and at_night and is_adult", "SFM Maze Gossip Stone (Lower)": "True", @@ -336,6 +336,7 @@ "GF Chest": "(is_child and can_mega) or (is_adult and can_use(Hover_Boots) or can_use(Scarecrow) or can_use(Longshot) or can_mega)", #// known softlock if child opens this chest, so only put it in logic for adult + "GF Freestanding PoH": "is_child and can_hover", "GF HBA 1000 Points": " Gerudo_Membership_Card and can_ride_epona and Bow and is_adult", "GF HBA 1500 Points": " @@ -447,7 +448,16 @@ "Sheik at Temple": "Forest_Medallion and is_adult" }, "exits": { - "Temple of Time": "True" + "Temple of Time": "True", + "Beyond Door of Time Skippable Locations": "True" + } + }, + { + # Directly reachable from Root in "Skip Reward from Rauru" + "region_name": "Beyond Door of Time Skippable Locations", + "hint": "TEMPLE_OF_TIME", + "locations": { + "ToT Reward from Rauru": "True" } }, { @@ -472,13 +482,13 @@ "region_name": "HC Garden", "hint": "HYRULE_CASTLE", "exits": { - "HC Garden Locations": "True", + "HC Garden Skippable Locations": "True", "Hyrule Castle Grounds": "True" } }, { - # Directly reachable from Root in "Free Zelda" - "region_name": "HC Garden Locations", + # Directly reachable from Root in Skip Child Zelda + "region_name": "HC Garden Skippable Locations", "hint": "HYRULE_CASTLE", "locations": { "HC Zeldas Letter": "True", @@ -518,6 +528,7 @@ "Market 10 Big Poes": " is_adult and (Big_Poe or (Bottle_with_Big_Poe, big_poe_count))", + "Market 10 Big Poes Hint": "is_adult", "Market GS Guard House": "is_child" } }, @@ -537,7 +548,7 @@ { "region_name": "Market Mask Shop Storefront", "events": { - "Mask Shop Open": "at('HC Garden Locations', is_child) and 'Kakariko Village Gate Open'", + "Mask Shop Open": "at('HC Garden Skippable Locations', is_child) and 'Kakariko Village Gate Open'", "Mask of Truth Access": " 'Mask Shop Open' and (complete_mask_quest or diff --git a/data/Hints/important_checks.json b/data/Hints/important_checks.json index a89b0cf34f..7abbf39c45 100644 --- a/data/Hints/important_checks.json +++ b/data/Hints/important_checks.json @@ -29,7 +29,5 @@ "dungeon": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, "junk": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, "woth": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0} - }, - "groups": [], - "disabled": [] + } } diff --git a/data/Hints/league.json b/data/Hints/league.json index 06d9454b4f..2e761b6590 100644 --- a/data/Hints/league.json +++ b/data/Hints/league.json @@ -1,10 +1,11 @@ { "name": "league", "gui_name": "League", - "description": "Hint Distribution for the S6 of League. 5 Always, 5 Path, 4 Barren at ToT, 5 Sometimes, 2 Dual Hints, HC Storms & HF Cow Hints Junked, 30/40/50 skull hints in house of skulltula", + "description": "Hint Distribution for the S7 of League. 6 Always, 6 Path, 3 Barren, 3 Sometimes, 2 Dual Hints, 30/40/50 skull hints in house of skulltula", "add_locations": [ { "location": "Deku Theater Skull Mask", "types": ["always"] }, - { "location": "Sheik in Kakariko", "types": ["always"] } + { "location": "Sheik in Kakariko", "types": ["always"] }, + { "location": "DMC Deku Scrub", "types": ["always"] } ], "remove_locations": [ { "location": "Sheik in Crater", "types": ["sometimes"] }, @@ -42,7 +43,8 @@ { "location": "Spirit Temple Adult Lower", "types": ["dual"] }, { "location": "Shadow Temple Invisible Blades Chests", "types": ["dual"] }, { "location": "Shadow Temple Spike Walls Room", "types": ["dual"] }, - { "location": "Ganons Castle Spirit Trial Chests", "types": ["dual"] } + { "location": "Ganons Castle Spirit Trial Chests", "types": ["dual"] }, + { "location": "Dodongos Cavern Upper Business Scrubs", "types": ["dual"] } ], "add_items": [], "remove_items": [ @@ -57,41 +59,13 @@ "distribution": { "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 2}, "entrance_always": {"order": 2, "weight": 0.0, "fixed": 0, "copies": 2}, - "always": {"order": 3, "weight": 0.0, "fixed": 0, "copies": 2, "remove_stones": [ - "ToT (Left)", - "ToT (Left-Center)", - "ToT (Right-Center)", - "ToT (Right)", - "HF (Cow Grotto)", - "HC (Storms Grotto)" - ]}, - "goal": {"order": 4, "weight": 0.0, "fixed": 5, "copies": 2, "remove_stones": [ - "ToT (Left)", - "ToT (Left-Center)", - "ToT (Right-Center)", - "ToT (Right)", - "HF (Cow Grotto)", - "HC (Storms Grotto)" - ]}, - "barren": {"order": 5, "weight": 0.0, "fixed": 4, "copies": 1, "priority_stones": [ - "ToT (Left)", - "ToT (Left-Center)", - "ToT (Right-Center)", - "ToT (Right)" - ]}, + "always": {"order": 3, "weight": 0.0, "fixed": 0, "copies": 2}, + "goal": {"order": 4, "weight": 0.0, "fixed": 6, "copies": 2}, + "barren": {"order": 5, "weight": 0.0, "fixed": 3, "copies": 2}, "entrance": {"order": 6, "weight": 0.0, "fixed": 0, "copies": 2}, - "dual": {"order": 7, "weight": 0.0, "fixed": 2, "copies": 2, "remove_stones": [ - "HF (Cow Grotto)", - "HC (Storms Grotto)" - ]}, - "sometimes": {"order": 8, "weight": 1.0, "fixed": 5, "copies": 2, "remove_stones": [ - "HF (Cow Grotto)", - "HC (Storms Grotto)" - ]}, - "junk": {"order": 9, "weight": 0.0, "fixed": 2, "copies": 1, "priority_stones": [ - "HF (Cow Grotto)", - "HC (Storms Grotto)" - ]}, + "dual": {"order": 7, "weight": 0.0, "fixed": 2, "copies": 2}, + "sometimes": {"order": 8, "weight": 1.0, "fixed": 3, "copies": 2}, + "junk": {"order": 9, "weight": 0.0, "fixed": 0, "copies": 2}, "random": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, "item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, "song": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, diff --git a/data/Hints/scrubs.json b/data/Hints/scrubs.json index 07ad7367fe..e6a11e121e 100644 --- a/data/Hints/scrubs.json +++ b/data/Hints/scrubs.json @@ -1,18 +1,30 @@ { "name": "scrubs", "gui_name": "Scrubs", - "description": "Tournament hints used for Scrubs Races. Duplicates of each hint, HBA 1000, Ice Cavern Iron Boots and OGC Great Fairy are always hints, 5 WotH, 3 Foolish (no Dungeons), 7 sometimes.", + "description": "Tournament hints used for Scrubs Races. Duplicates of each hint except foolish and item which are placed at ToT. Skull Mask, Ice Cavern Final Room and Castle Great Fairies are always hinted, 4 Path, 3 Foolish (no Dungeons), 1 Item, 9 sometimes, HC(Storms) & HF(Cow Grotto) junked.", "add_locations": [ - { "location": "GF HBA 1000 Points", "types": ["always"] }, + { "location": "Castle Fairy Checks", "types": ["dual_always"] }, + { "location": "Ice Cavern Final Room", "types": ["dual_always"] }, + { "location": "Deku Theater Skull Mask", "types": ["always"] } + ], + "remove_locations": [ + { "location": "Hyrule Castle", "types": ["barren"] }, { "location": "OGC Great Fairy Reward", "types": ["always"] }, - { "location": "Ice Cavern Iron Boots Chest", "types": ["always"] }, - { "location": "Deku Theater Skull Mask", "types": ["always"] }, - { "location": "Deku Theater Mask of Truth", "types": ["always"] } + { "location": "Sheik at Temple", "types": ["always", "sometimes"] }, + { "location": "ZR Frogs Rewards", "types": ["dual_always", "dual"] }, + { "location": "Sheik in Forest", "types": ["sometimes"] }, + { "location": "Sheik in Crater", "types": ["sometimes"] }, + { "location": "Sheik in Kakariko", "types": ["always", "sometimes"] }, + { "location": "Sheik in Ice Cavern", "types": ["sometimes"] }, + { "location": "Sheik at Colossus", "types": ["sometimes"] }, + { "location": "Song from Royal Familys Tomb", "types": ["sometimes"] }, + { "location": "Song from Ocarina of Time", "types": ["always", "sometimes"] }, + { "location": "Deku Theater Rewards", "types": ["dual_always"] } ], - "remove_locations": [], "add_items": [], "remove_items": [ - { "item": "Zeldas Lullaby", "types": ["woth"] } + { "item": "Zeldas Lullaby", "types": ["woth", "goal"] }, + { "item": "Nocturne of Shadow", "types": ["woth", "goal"] } ], "dungeons_woth_limit": 2, "dungeons_barren_limit": 0, @@ -20,25 +32,81 @@ "vague_named_items": false, "use_default_goals": true, "distribution": { - "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 2}, - "entrance_always": {"order": 2, "weight": 0.0, "fixed": 0, "copies": 2}, - "always": {"order": 3, "weight": 0.0, "fixed": 0, "copies": 2}, - "woth": {"order": 4, "weight": 0.0, "fixed": 5, "copies": 2}, - "barren": {"order": 5, "weight": 0.0, "fixed": 3, "copies": 2}, - "entrance": {"order": 6, "weight": 0.0, "fixed": 3, "copies": 2}, - "sometimes": {"order": 7, "weight": 0.0, "fixed": 100, "copies": 2}, - "random": {"order": 8, "weight": 9.0, "fixed": 0, "copies": 2}, - "named-item": {"order": 9, "weight": 0.0, "fixed": 0, "copies": 2}, - "item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, + "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)", + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "always": {"order": 2, "weight": 0.0, "fixed": 0, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)", + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "dual_always": {"order": 3, "weight": 0.0, "fixed": 0, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)", + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "barren": {"order": 4, "weight": 0.0, "fixed": 3, "copies": 1, "priority_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)" + ]}, + "goal": {"order": 5, "weight": 0.0, "fixed": 4, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)", + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "woth": {"order": 6, "weight": 0.0, "fixed": 0, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)", + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "item": {"order": 7, "weight": 0.0, "fixed": 1, "copies": 1, "priority_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)" + ]}, + "junk": {"order": 8, "weight": 0.0, "fixed": 1, "copies": 2, "priority_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "sometimes": {"order": 9, "weight": 0.0, "fixed": 100, "copies": 2, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "entrance": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right)", + "ToT (Right-Center)", + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "random": {"order": 0, "weight": 9.0, "fixed": 0, "copies": 2}, "song": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, "overworld": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, "dungeon": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "junk": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "goal": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 1}, - "dual_always": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, "dual": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, + "named-item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, + "entrance_always": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, "important_check": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0} - }, - "groups": [], - "disabled": [] + } } diff --git a/data/Hints/tournament.json b/data/Hints/tournament.json index 634ac55cf0..c17dc6f776 100644 --- a/data/Hints/tournament.json +++ b/data/Hints/tournament.json @@ -1,46 +1,69 @@ { "name": "tournament", "gui_name": "Tournament", - "description": "Hint Distribution for the S7 Tournament. 5 Goal hints, 3 Barren hints, 7 Sometimes hints (6 w/ scrub shuffle), 5 Always hints (6 w/ scrub shuffle).", + "description": "Hint Distribution for the S8 Tournament: 5 Always, 5 Goal, 3 Barren (ToT), 1 Song (ToT), 2 Dual, 6 Sometimes; House of Skulltula (30/40/50).", "add_locations": [ - { "location": "Deku Theater Skull Mask", "types": ["always"] }, { "location": "Sheik in Kakariko", "types": ["always"] }, - { "location": "DMC Deku Scrub", "types": ["always"] } + { "location": "Deku Theater Skull Mask", "types": ["always"] } ], "remove_locations": [ - { "location": "Ganons Castle Shadow Trial Golden Gauntlets Chest", "types": ["sometimes"] }, + { "location": "Song from Royal Familys Tomb", "types": ["sometimes"] }, { "location": "Sheik in Forest", "types": ["sometimes"] }, { "location": "Sheik at Temple", "types": ["sometimes"] }, { "location": "Sheik in Crater", "types": ["sometimes"] }, + { "location": "Sheik in Ice Cavern", "types": ["sometimes"] }, { "location": "Sheik at Colossus", "types": ["sometimes"] }, - { "location": "Song from Royal Familys Tomb", "types": ["sometimes"] } + { "location": "GF HBA 1500 Points", "types": ["sometimes"] }, + { "location": "GC Maze Left Chest", "types": ["sometimes"] }, + { "location": "GV Chest", "types": ["sometimes"] }, + { "location": "HC Great Fairy Reward", "types": ["sometimes"] }, + { "location": "OGC Great Fairy Reward", "types": ["sometimes"] }, + { "location": "Water Temple River Chest", "types": ["sometimes"] }, + { "location": "Gerudo Training Ground Maze Path Final Chest", "types": ["sometimes"] }, + { "location": "Spirit Temple Silver Gauntlets Chest", "types": ["sometimes"] }, + { "location": "Spirit Temple Mirror Shield Chest", "types": ["sometimes"] }, + { "location": "Graveyard Dampe Race Rewards", "types": ["dual"] }, + { "location": "Graveyard Royal Family Tomb Contents", "types": ["dual"] }, + { "location": "Ice Cavern Final Room", "types": ["dual"] } ], "add_items": [], "remove_items": [ { "item": "Zeldas Lullaby", "types": ["goal"] } ], "dungeons_barren_limit": 1, + "one_hint_per_goal": true, "named_items_required": true, "vague_named_items": false, "use_default_goals": true, "distribution": { - "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 2}, - "entrance_always": {"order": 2, "weight": 0.0, "fixed": 0, "copies": 2}, - "always": {"order": 3, "weight": 0.0, "fixed": 0, "copies": 2}, - "goal": {"order": 4, "weight": 0.0, "fixed": 5, "copies": 2}, - "barren": {"order": 5, "weight": 0.0, "fixed": 3, "copies": 2}, - "entrance": {"order": 6, "weight": 1.0, "fixed": 0, "copies": 2}, - "sometimes": {"order": 7, "weight": 1.0, "fixed": 0, "copies": 2}, - "random": {"order": 8, "weight": 0.0, "fixed": 0, "copies": 2}, - "item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "song": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "overworld": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "dungeon": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "junk": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "named-item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "woth": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "dual_always": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, - "dual": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, - "important_check": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0} + "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 0, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "always": {"order": 2, "weight": 0.0, "fixed": 5, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "goal": {"order": 3, "weight": 0.0, "fixed": 5, "copies": 2, "remove_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "barren": {"order": 4, "weight": 0.0, "fixed": 3, "copies": 1, "priority_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)" + ]}, + "song": {"order": 5, "weight": 0.0, "fixed": 1, "copies": 1, "priority_stones": [ + "ToT (Right)" + ]}, + "dual": {"order": 6, "weight": 0.0, "fixed": 2, "copies": 2}, + "sometimes": {"order": 7, "weight": 0.0, "fixed": 6, "copies": 2}, + "junk": {"order": 8, "weight": 1.0, "fixed": 0, "copies": 1} } } diff --git a/data/Hints/weekly.json b/data/Hints/weekly.json index c8a62b1b67..ed9b83fca4 100644 --- a/data/Hints/weekly.json +++ b/data/Hints/weekly.json @@ -1,46 +1,114 @@ { "name": "weekly", "gui_name": "Weekly", - "description": "Hint distribution for weekly races. 5 Goal hints, 3 Barren hints, 6 Entrance/Sometimes hints, 6 Always hints (including Skull Mask and Sheik in Kakariko).", + "description": "Hint distribution for the weekly races: 5 Always, 5 WOTH, 3 Barren (ToT), 1 Song (ToT), 2 Dual, 5 Sometimes; HCstorms & HFcow junked; House of Skulltula (30/40/50).", "add_locations": [ - { "location": "Deku Theater Skull Mask", "types": ["always"] }, { "location": "Sheik in Kakariko", "types": ["always"] }, - { "location": "DMC Deku Scrub", "types": ["always"] } + { "location": "Deku Theater Skull Mask", "types": ["always"] } ], "remove_locations": [ - { "location": "Ganons Castle Shadow Trial Golden Gauntlets Chest", "types": ["sometimes"] }, + { "location": "Song from Royal Familys Tomb", "types": ["sometimes"] }, { "location": "Sheik in Forest", "types": ["sometimes"] }, { "location": "Sheik at Temple", "types": ["sometimes"] }, { "location": "Sheik in Crater", "types": ["sometimes"] }, + { "location": "Sheik in Ice Cavern", "types": ["sometimes"] }, { "location": "Sheik at Colossus", "types": ["sometimes"] }, - { "location": "Song from Royal Familys Tomb", "types": ["sometimes"] } + { "location": "GF HBA 1500 Points", "types": ["sometimes"] }, + { "location": "GC Maze Left Chest", "types": ["sometimes"] }, + { "location": "GV Chest", "types": ["sometimes"] }, + { "location": "HC Great Fairy Reward", "types": ["sometimes"] }, + { "location": "OGC Great Fairy Reward", "types": ["sometimes"] }, + { "location": "Water Temple River Chest", "types": ["sometimes"] }, + { "location": "Gerudo Training Ground Maze Path Final Chest", "types": ["sometimes"] }, + { "location": "Spirit Temple Silver Gauntlets Chest", "types": ["sometimes"] }, + { "location": "Spirit Temple Mirror Shield Chest", "types": ["sometimes"] }, + { "location": "Graveyard Dampe Race Rewards", "types": ["dual"] }, + { "location": "Graveyard Royal Family Tomb Contents", "types": ["dual"] }, + { "location": "Ice Cavern Final Room", "types": ["dual"] } ], "add_items": [], "remove_items": [ - { "item": "Zeldas Lullaby", "types": ["goal"] } + { "item": "Zeldas Lullaby", "types": ["woth"] } ], + "dungeons_woth_limit": 2, "dungeons_barren_limit": 1, "named_items_required": true, "vague_named_items": false, "use_default_goals": true, "distribution": { - "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 2}, - "entrance_always": {"order": 2, "weight": 0.0, "fixed": 0, "copies": 2}, - "always": {"order": 3, "weight": 0.0, "fixed": 0, "copies": 2}, - "goal": {"order": 4, "weight": 0.0, "fixed": 5, "copies": 2}, - "barren": {"order": 5, "weight": 0.0, "fixed": 3, "copies": 2}, - "entrance": {"order": 6, "weight": 9.0, "fixed": 0, "copies": 2}, - "sometimes": {"order": 7, "weight": 9.0, "fixed": 0, "copies": 2}, - "random": {"order": 8, "weight": 0.0, "fixed": 0, "copies": 2}, - "named-item": {"order": 9, "weight": 0.0, "fixed": 0, "copies": 2}, - "item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "song": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "overworld": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "dungeon": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "junk": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, - "woth": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 2}, + "trial": {"order": 1, "weight": 0.0, "fixed": 0, "copies": 0, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)", + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "always": {"order": 2, "weight": 0.0, "fixed": 5, "copies": 2, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)", + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "named-item": {"order": 3, "weight": 0.0, "fixed": 1, "copies": 2, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)", + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "goal": {"order": 4, "weight": 0.0, "fixed": 0, "copies": 0, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)", + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "woth": {"order": 5, "weight": 0.0, "fixed": 5, "copies": 2, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)", + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)", + "ToT (Right)" + ]}, + "barren": {"order": 6, "weight": 0.0, "fixed": 3, "copies": 1, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ], "priority_stones": [ + "ToT (Left)", + "ToT (Left-Center)", + "ToT (Right-Center)" + ]}, + "song": {"order": 7, "weight": 0.0, "fixed": 1, "copies": 1, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ], "priority_stones": [ + "ToT (Right)" + ]}, + "dual": {"order": 8, "weight": 0.0, "fixed": 2, "copies": 2, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "sometimes": {"order": 9, "weight": 0.0, "fixed": 5, "copies": 2, "remove_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "junk": {"order": 10, "weight": 1.0, "fixed": 0, "copies": 1, "priority_stones": [ + "HC (Storms Grotto)", + "HF (Cow Grotto)" + ]}, + "entrance_always": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, + "entrance": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, + "random": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, + "item": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, + "overworld": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, + "dungeon": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, "dual_always": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, - "dual": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0}, "important_check": {"order": 0, "weight": 0.0, "fixed": 0, "copies": 0} } } diff --git a/data/Music/update_ootrs_v2.py b/data/Music/update_ootrs_v2.py new file mode 100644 index 0000000000..b426522573 --- /dev/null +++ b/data/Music/update_ootrs_v2.py @@ -0,0 +1,308 @@ +import io +import shutil +from zipfile import * +import os +from io import FileIO + +# Container for storing Audiotable, Audiobank, Audiotable_index, Audiobank_index +class Audiobin: + def __init__(self, _Audiobank: bytearray, _Audiobank_index: bytearray, _Audiotable: bytearray, _Audiotable_index: bytearray): + self.Audiobank: bytearray = _Audiobank + self.Audiobank_index: bytearray = _Audiobank_index + self.Audiotable: bytearray = _Audiotable + self.Audiotable_index: bytearray = _Audiotable_index + + num_banks = int.from_bytes(self.Audiobank_index[0:2]) + self.audiobanks: list[AudioBank] = [] + for i in range(0, num_banks): + index = 0x10 + (0x10*i) + curr_entry = self.Audiobank_index[index:index+0x10] + audiobank: AudioBank = AudioBank(curr_entry, self.Audiobank, self.Audiotable, self.Audiotable_index) + self.audiobanks.append(audiobank) + + def find_sample_in_audiobanks(self, sample_data: bytearray): + for audiobank in self.audiobanks: + for drum in audiobank.drums: + if drum and drum.sample: + if drum.sample.data == sample_data: + return drum.sample + for instrument in audiobank.instruments: + if instrument: + if instrument.highNoteSample and instrument.highNoteSample.data == sample_data: + return instrument.highNoteSample + if instrument.lowNoteSample and instrument.lowNoteSample.data == sample_data: + return instrument.lowNoteSample + if instrument.normalNoteSample and instrument.normalNoteSample.data == sample_data: + return instrument.normalNoteSample + for sfx in audiobank.SFX: + if sfx and sfx.sample: + if sfx.sample.data == sample_data: + return sfx.sample + return None + +class Sample: + def __init__(self, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, sample_offset: int, audiotable_id: int, parent): + # Process the sample + self.parent = parent + self.bank_offset = sample_offset + self.sample_header = bankdata[sample_offset:sample_offset + 0x10] + self.codec = (self.sample_header[0] & 0xF0) >> 4 + self.medium = (self.sample_header[0] & 0x0C) >> 2 + self.size = int.from_bytes(self.sample_header[1:4]) + self.addr = int.from_bytes(self.sample_header[4:8]) + + if audiotable_file and self.addr > len(audiotable_file): # The offset is higher than the total size of audiotable so we'll assume it doesn't actually exist. # We'll need to get the sample data from ZSOUND files in the archive. + self.data = None + self.addr = -1 + return + # Read the audiotable pointer table entry + if audiotable_file and audiotable_index: + audiotable_index_offset = 0x10 + (audiotable_id * 0x10) + audiotable_entry = audiotable_index[audiotable_index_offset:audiotable_index_offset + 0x10] + audiotable_offset = int.from_bytes(audiotable_entry[0:4]) + sample_address = audiotable_offset + self.addr + self.audiotable_addr = sample_address + # Read the sample data + self.data = audiotable_file[sample_address:sample_address+self.size] + else: + self.audiotable_addr = -1 + self.data = None + +# Loads an audiobank and it's corresponding instrument/drum/sfxs +class AudioBank: + + # Constructor: + # table_entry - 0x10 byte audiobank entry which contains info like the bank offset, size, number of instruments, etc. + # audiobank_file - the Audiobank file as a byte array + # audiotable_file - the Audiotable file as a byte array + # audiotable_index - the Audiotable index (pointer table) which provides an offsets into the Audiotable file where a bank's instrument samples offsets are calculated from. + def __init__(self, table_entry: bytearray, audiobank_file: bytearray, audiotable_file: bytearray, audiotable_index: bytearray) -> None: + + # Process bank entry + self.bank_offset: int = int.from_bytes(table_entry[0:4]) # Offset of the bank in the Audiobank file + self.size: int = int.from_bytes(table_entry[4:8]) # Size of the bank, in bytes + self.load_location: int = table_entry[8] # ROM/RAM/DISK + self.type: int = table_entry[9] + self.audiotable_id: int = table_entry[10] # Read audiotable id from the table entry. Instrument data offsets are in relation to this + self.unk: int = table_entry[11] # 0xFF + self.num_instruments: int = table_entry[12] + self.num_drums: int = table_entry[13] + self.num_sfx: int = int.from_bytes(table_entry[14:16]) + self.bank_data = audiobank_file[self.bank_offset:self.bank_offset + self.size] + self.original_data = self.bank_data.copy() + self.table_entry = table_entry + # Process the bank + + # Read drums + self.drums: list[Drum] = [] + drum_offset = int.from_bytes(self.bank_data[0:4]) # Get the drum pointer. This is the first uint32 in the bank. Points to a list of drum offsets of length num_drums + for i in range(0, self.num_drums): # Read each drum + offset = drum_offset + 4*i + offset = int.from_bytes(self.bank_data[offset:offset+4]) + drum = Drum(i, self.bank_data, audiotable_file, audiotable_index, offset, self.audiotable_id) if offset != 0 else None + self.drums.append(drum) + + # Read SFX + self.SFX: list[SFX] = [] + sfx_offset = int.from_bytes(self.bank_data[4:8]) # Get the SFX pointer. this is the second uint32 in the bank. Points to a list of Sound objects which are 8 bytes each (Sample offsets + tuning) + for i in range(0, self.num_sfx): # Read each SFX + offset = sfx_offset + 8*i + sfx = SFX(i, self.bank_data, audiotable_file, audiotable_index, offset, self.audiotable_id) if offset != 0 else None + self.SFX.append(sfx) + + self.instruments: list[Instrument] = [] + # Read the instruments + for i in range(0, self.num_instruments): + offset = 0x08 + 4*i + instr_offset = int.from_bytes(self.bank_data[offset:offset+4]) + instrument: Instrument = Instrument(i, self.bank_data, audiotable_file, audiotable_index, instr_offset, self.audiotable_id) if instr_offset != 0 else None + self.instruments.append(instrument) + + + def __str__(self): + return "Offset: " + hex(self.bank_offset) + ", " + "Len:" + hex(self.size) + + def get_all_samples(self) -> list[Sample]: + all_sounds = self.drums + self.instruments + self.SFX + all_samples: list[Sample] = [] + for sound in all_sounds: + if type(sound) == Instrument: + instrument: Instrument = sound + if instrument.highNoteSample: + all_samples.append(instrument.highNoteSample) + if instrument.lowNoteSample: + all_samples.append(instrument.lowNoteSample) + if instrument.normalNoteSample: + all_samples.append(instrument.normalNoteSample) + + elif type(sound) == Drum: + drum: Drum = sound + if drum.sample: + all_samples.append(drum.sample) + elif type(sound) == SFX: + sfx: SFX = sound + if sfx.sample: + all_samples.append(sfx.sample) + return all_samples + + def build_entry(self, offset: int) -> bytes: + bank_entry: bytes = offset.to_bytes(4, 'big') + bank_entry += len(self.bank_data).to_bytes(4, 'big') + bank_entry += self.table_entry[8:16] + return bank_entry + +class Drum: + def __init__(self, drum_id: int, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, drum_offset: int, audiotable_id: int) -> None: + self.drum_id = drum_id + self.releaseRate = bankdata[drum_offset] + self.pan = bankdata[drum_offset + 1] + self.sampleOffset = int.from_bytes(bankdata[drum_offset + 4:drum_offset+8]) + self.sampleTuning = int.from_bytes(bankdata[drum_offset + 8:drum_offset+12]) + self.envelopePointOffset = int.from_bytes(bankdata[drum_offset+12:drum_offset+16]) + self.sample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.sampleOffset, audiotable_id, self) + +class SFX: + def __init__(self, sfx_id: int, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, sfx_offset: int, audiotable_id: int) -> None: + self.sfx_id = sfx_id + self.sampleOffset = int.from_bytes(bankdata[sfx_offset:sfx_offset+4]) + self.sampleTuning = int.from_bytes(bankdata[sfx_offset+4:sfx_offset+8]) + self.sample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.sampleOffset, audiotable_id, self) + + +class Instrument: + def __init__(self, inst_id: int, bankdata: bytearray, audiotable_file: bytearray, audiotable_index: bytearray, instr_offset: int, audiotable_id: int) -> None: + self.inst_id = inst_id + self.normalRangeLo = bankdata[instr_offset + 1] + self.normalRangeHi = bankdata[instr_offset + 2] + self.releaseRate = bankdata[instr_offset + 3] + self.AdsrEnvelopePointOffset = int.from_bytes(bankdata[instr_offset + 4:instr_offset+8]) + self.lowNoteSampleOffset = int.from_bytes(bankdata[instr_offset + 8:instr_offset+12]) + self.lowNoteTuning = int.from_bytes(bankdata[instr_offset + 12: instr_offset + 16]) + self.normalNoteSampleOffset = int.from_bytes(bankdata[instr_offset + 16:instr_offset+20]) + self.normalNoteTuning = int.from_bytes(bankdata[instr_offset + 20:instr_offset + 24]) + self.highNoteSampleOffset = int.from_bytes(bankdata[instr_offset + 24:instr_offset+28]) + self.highNoteSampleTuning = int.from_bytes(bankdata[instr_offset + 28:instr_offset+32]) + self.lowNoteSample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.lowNoteSampleOffset, audiotable_id, self) if self.lowNoteSampleOffset != 0 else None + self.normalNoteSample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.normalNoteSampleOffset, audiotable_id, self) if self.normalNoteSampleOffset != 0 else None + self.highNoteSample: Sample = Sample(bankdata, audiotable_file, audiotable_index, self.highNoteSampleOffset, audiotable_id, self) if self.highNoteSampleOffset != 0 else None + +def update_ootrs_v2(filename: str, outfilename: str): + with ZipFile(filename, 'r') as zip: + # Look for zbank and meta + zbank = None + meta_lines: list[str] = [] + bankmeta = None + zbank_name = None + meta_name = None + for file in zip.namelist(): + if file.endswith(".zbank"): + zbank_name = file + zbank = bytearray(zip.read(file)) + if file.endswith(".meta"): + meta_name = file + with zip.open(file, 'r') as stream: + meta_lines = io.TextIOWrapper(stream).readlines() # Use TextIOWrapper in order to get text instead of binary from the seq. + # Strip newline(s) + meta_lines = [line.rstrip() for line in meta_lines] + if file.endswith(".bankmeta"): + bankmeta = zip.read(file) + if zbank: + + zsounds = [] + for line in meta_lines: + if line.startswith("ZSOUND"): + tokens = line.split(':') + zsound = { + 'file':tokens[1], + 'addr':int(tokens[2], 16) + } + zsounds.append(zsound) + tableentry = bytearray(4) + len(zbank).to_bytes(4, 'big') + bankmeta + bank = AudioBank(tableentry, zbank, None, None) + for zsound in zsounds: + for sample in bank.get_all_samples(): + if sample.addr == zsound['addr']: # Found the right sample + # Update the zbank addr to 0xFFFFFFFF + offset = sample.bank_offset + bank.bank_data[offset+4:offset+8] = (0xFFFFFFFF).to_bytes(4, 'big') + if type(sample.parent) == Instrument: + zsound['type'] = "INST" + zsound['id'] = sample.parent.inst_id + if sample == sample.parent.highNoteSample: + zsound['alt'] = 'HIGH' + elif sample == sample.parent.normalNoteSample: + zsound['alt'] = 'NORM' + elif sample == sample.parent.lowNoteSample: + zsound['alt'] = 'LOW' + elif type(sample.parent) == Drum: + zsound['type'] = "DRUM" + zsound['id'] = sample.parent.drum_id + zsound['alt'] = '' + elif type(sample.parent) == SFX: + zsound['type'] = "SFX" + zsound['id'] = sample.parent.sfx_id + zsound['alt'] = '' + break + if len(zsounds) > 0: + # Create new file + newzip = ZipFile(outfilename, 'w', compression=ZIP_DEFLATED, compresslevel=1) + for file in zip.namelist(): + # Don't copy the .zbank or .meta + if file.endswith(".zbank") or file.endswith(".meta"): + continue + buffer = zip.read(file) + newzip.writestr(file, buffer) + # Write the new zbank + newzip.writestr(zbank_name, bank.bank_data) + # Build new meta file + new_meta = "" + zsound_index = 0 + for line in meta_lines: + if not line.startswith("ZSOUND"): + new_meta += line + "\r\n" + else: + zsound_line = "ZSOUND:" + zsounds[zsound_index]['type'] + ":" + str(zsounds[zsound_index]['id']) + ":" + zsounds[zsound_index]['alt'] + ":" + zsounds[zsound_index]['file'] + new_meta += zsound_line + "\r\n" + zsound_index += 1 + newzip.writestr(meta_name, new_meta) + newzip.close() + return 1 + # If we got here, then we didn't update it, so just copy instead + shutil.copy2(filename, outfilename) + return 0 + +def update_all(): + directory = os.getcwd() + fixed_directory = os.path.join(directory, "fixed") + if not os.path.exists(fixed_directory): + os.mkdir(fixed_directory) + num_fixed = 0 + num_copied = 0 + for dirpath, _, filenames in os.walk(directory, followlinks=True): + relative_path = os.path.relpath(dirpath, directory) + new_dir_path = os.path.join(fixed_directory, relative_path) + # Create the corresponding subdirectory in the destination directory if it doesn't exist + if not os.path.exists(new_dir_path): + os.makedirs(new_dir_path) + for fname in filenames: + if fname.endswith(".ootrs"): + print("Fixing " + fname + "... ", end='') + filepath = os.path.join(dirpath, fname) + newpath = os.path.join(new_dir_path, fname) + try: + res = update_ootrs_v2(filepath, newpath) + if res == 1: + print("FIXED!") + num_fixed += 1 + elif res == 0: + print("COPIED") + num_copied += 1 + else: + print("UH OH") + except Exception as e: + if os.path.exists(newpath): + os.remove(newpath) + print(e) + print("Complete! Fixed: " + str(num_fixed) + ", Copied: " + str(num_copied)) + +update_all() \ No newline at end of file diff --git a/data/World/Bosses.json b/data/World/Bosses.json index 8526f2546f..f21134d43f 100644 --- a/data/World/Bosses.json +++ b/data/World/Bosses.json @@ -148,20 +148,23 @@ }, { "region_name": "Ganons Castle Tower", - "dungeon": "Ganons Castle", + "scene": "Ganons Castle Tower", + "is_boss_room": true, "locations": { "Ganons Tower Boss Key Chest": "is_adult or Kokiri_Sword" }, "exits": { + "Ganons Castle Main": "True", "Ganons Castle Tower Below Boss": " (is_adult or Kokiri_Sword) and - (Boss_Key_Ganons_Castle or (shuffle_pots != 'off'))" + (Boss_Key_Ganons_Castle or (shuffle_pots != 'off'))", + "Farores Wind Warp": "can_use(Farores_Wind)" } }, { "region_name": "Ganons Castle Tower Below Boss", - "dungeon": "Ganons Castle", - "hint": "INSIDE_GANONS_CASTLE", + "scene": "Ganons Castle Tower", + "is_boss_room": true, "alt_hint": "GANONDORFS_CHAMBER", "locations": { "Ganons Tower Pot 1": "True", @@ -177,7 +180,11 @@ "Ganons Tower Pot 11": "True", "Ganons Tower Pot 12": "True", "Ganons Tower Pot 13": "True", - "Ganons Tower Pot 14": "True" + "Ganons Tower Pot 14": "True", + "Ganons Tower Pot 15": "True", + "Ganons Tower Pot 16": "True", + "Ganons Tower Pot 17": "True", + "Ganons Tower Pot 18": "True" }, "exits": { "Ganondorf Boss Room": "Boss_Key_Ganons_Castle" @@ -185,9 +192,8 @@ }, { "region_name": "Ganondorf Boss Room", - "dungeon": "Ganons Castle", - "hint": "INSIDE_GANONS_CASTLE", - "alt_hint": "GANONDORFS_CHAMBER", + "scene": "Ganons Castle Tower", + "is_boss_room": true, "locations": { "Ganondorf Hint": "True", "Ganon": "can_use(Light_Arrows)" diff --git a/data/World/Bottom of the Well MQ.json b/data/World/Bottom of the Well MQ.json index 11ce6510b7..e1afa4b7ca 100644 --- a/data/World/Bottom of the Well MQ.json +++ b/data/World/Bottom of the Well MQ.json @@ -36,6 +36,7 @@ "Bottom of the Well MQ Main Area Right Slingshot Wonderitem 2": "Slingshot", "Bottom of the Well MQ Main Area Right Slingshot Wonderitem 3": "Slingshot", "Bottom of the Well MQ Main Area Right Slingshot Wonderitem 4": "Slingshot", + "Bottom of the Well MQ Perimeter Behind Gate Pot": "has_explosives and Slingshot", "Wall Fairy": "has_bottle and Slingshot" # The fairy pot is obsolete }, "exits": { diff --git a/data/World/Dodongos Cavern MQ.json b/data/World/Dodongos Cavern MQ.json index 5ed34ad9bf..9000e16c27 100644 --- a/data/World/Dodongos Cavern MQ.json +++ b/data/World/Dodongos Cavern MQ.json @@ -233,7 +233,8 @@ "region_name": "Dodongos Cavern Before Boss", "dungeon": "Dodongos Cavern", "locations": { - "Dodongos Cavern MQ Armos Army Room Upper Pot": "True", + "Dodongos Cavern MQ Armos Army Room Upper Pot 1": "True", + "Dodongos Cavern MQ Armos Army Room Upper Pot 2": "True", "Fairy Pot": "has_bottle" }, "exits": { diff --git a/data/World/Dodongos Cavern.json b/data/World/Dodongos Cavern.json index 4cf204cf25..82b82308dd 100644 --- a/data/World/Dodongos Cavern.json +++ b/data/World/Dodongos Cavern.json @@ -171,6 +171,7 @@ "Dodongos Cavern Last Block Pot 1": "True", "Dodongos Cavern Last Block Pot 2": "True", "Dodongos Cavern Last Block Pot 3": "True", + "Dodongos Cavern Last Block Pot 4": "True", "Fairy Pot": "has_bottle" }, "exits": { diff --git a/data/World/Fire Temple MQ.json b/data/World/Fire Temple MQ.json index e7077c7fe3..d6895278b3 100644 --- a/data/World/Fire Temple MQ.json +++ b/data/World/Fire Temple MQ.json @@ -70,6 +70,10 @@ "Fire Temple MQ Iron Knuckle Room Pot 2": "True", "Fire Temple MQ Iron Knuckle Room Pot 3": "True", "Fire Temple MQ Iron Knuckle Room Pot 4": "True", + "Fire Temple MQ Iron Knuckle Room Pot 5": "True", + "Fire Temple MQ Iron Knuckle Room Pot 6": "True", + "Fire Temple MQ Iron Knuckle Room Pot 7": "True", + "Fire Temple MQ Iron Knuckle Room Pot 8": "True", "Fairy Pot": "has_bottle" } }, @@ -84,7 +88,9 @@ "Fire Temple MQ Big Lava Room Left Pot": "True", "Fire Temple MQ Big Lava Room Right Pot": "Hookshot or logic_fire_mq_blocked_chest", "Fire Temple MQ Big Lava Room Alcove Pot": "True", - "Fire Temple MQ Boss Key Chest Room Pot": " + "Fire Temple MQ Boss Key Chest Room Pot 1": " + has_fire_source and (Bow or logic_fire_mq_bk_chest) and Hookshot", + "Fire Temple MQ Boss Key Chest Room Pot 2": " has_fire_source and (Bow or logic_fire_mq_bk_chest) and Hookshot", "Fire Temple MQ GS Big Lava Room Open Door": "True", "Fire Temple MQ Boss Key Hookshot Wonderitem": "has_fire_source and (Bow or logic_fire_mq_bk_chest) and Hookshot", @@ -139,7 +145,9 @@ "Fire Temple MQ Lizalfos Maze Upper Chest": "True", "Fire Temple MQ Upper Lizalfos Maze Crate 1": "True", "Fire Temple MQ Upper Lizalfos Maze Crate 2": "True", - "Fire Temple MQ Upper Lizalfos Maze Crate 3": "True" + "Fire Temple MQ Upper Lizalfos Maze Crate 3": "True", + "Fire Temple MQ Upper Lizalfos Maze Small Wooden Crate 1": "True", + "Fire Temple MQ Upper Lizalfos Maze Small Wooden Crate 2": "True" }, "exits": { "Fire Temple Shortcut": "has_explosives", @@ -185,6 +193,7 @@ "locations": { "Fire Temple MQ Narrow Path Room Pot 1": "True", "Fire Temple MQ Narrow Path Room Pot 2": "True", + "Fire Temple MQ Narrow Path Room Pot 3": "True", "Fairy Pot": "has_bottle" } }, @@ -199,6 +208,11 @@ "Fire Temple MQ Shoot Torch On Wall Room Center Crate": "True", "Fire Temple MQ Shoot Torch On Wall Room Left Crate 1": "True", "Fire Temple MQ Shoot Torch On Wall Room Left Crate 2": "True", + "Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 1": "True", + "Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 2": "True", + "Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 3": "True", + "Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 4": "True", + "Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 5": "True", "Fire Temple MQ Shoot Torch on Wall Room Hookshot Wonderitem": "can_use(Hookshot)" }, "exits": { @@ -211,6 +225,7 @@ "dungeon": "Fire Temple", "locations": { "Fire Temple MQ Flame Maze Left Pot 1": "True", + "Fire Temple MQ Flame Maze Left Pot 2": "True", "Fire Temple MQ GS Flame Maze Center": "has_explosives", "Fire Temple MQ GS Above Flame Maze": " (Hookshot and (Small_Key_Fire_Temple, 5)) or diff --git a/data/World/Fire Temple.json b/data/World/Fire Temple.json index 92bd1322d5..9f861eaf46 100644 --- a/data/World/Fire Temple.json +++ b/data/World/Fire Temple.json @@ -20,6 +20,8 @@ "Fire Temple Near Boss Chest": "True", "Fire Temple Near Boss Pot 1": "is_adult and (Hover_Boots or Hookshot)", "Fire Temple Near Boss Pot 2": "is_adult and (Hover_Boots or Hookshot)", + "Fire Temple Near Boss Pot 3": "is_adult and (Hover_Boots or Hookshot)", + "Fire Temple Near Boss Pot 4": "is_adult and (Hover_Boots or Hookshot)", "Fairy Pot": "is_adult and has_bottle and (Hover_Boots or Hookshot)" }, "exits": { @@ -148,7 +150,10 @@ "Fire Temple Flame Maze Right Side Pot 1": "True", "Fire Temple Flame Maze Right Side Pot 2": "True", "Fire Temple Flame Maze Right Side Pot 3": "True", - "Fire Temple Flame Maze Right Side Pot 4": "True" + "Fire Temple Flame Maze Right Side Pot 4": "True", + "Fire Temple Hammer Staircase Small Wooden Crate 1": "Megaton_Hammer", + "Fire Temple Hammer Staircase Small Wooden Crate 2": "Megaton_Hammer" + }, "exits": { "Fire Temple Before Boss": " diff --git a/data/World/Forest Temple MQ.json b/data/World/Forest Temple MQ.json index 261f4961b9..f710a9343b 100644 --- a/data/World/Forest Temple MQ.json +++ b/data/World/Forest Temple MQ.json @@ -29,7 +29,8 @@ "Forest Temple MQ Center Room Left Pot 1": "True", "Forest Temple MQ Center Room Left Pot 2": "True", "Forest Temple MQ Center Room Left Pot 3": "True", - "Forest Temple MQ Wolfos Room Pot": "(can_play(Song_of_Time) or is_child)", + "Forest Temple MQ Wolfos Room Pot 1": "(can_play(Song_of_Time) or is_child)", + "Forest Temple MQ Wolfos Room Pot 2": "(can_play(Song_of_Time) or is_child)", "Fairy Pot": "has_bottle and (can_play(Song_of_Time) or is_child)" }, "exits": { diff --git a/data/World/Forest Temple.json b/data/World/Forest Temple.json index 08bd25c4e3..2c4634ad3d 100644 --- a/data/World/Forest Temple.json +++ b/data/World/Forest Temple.json @@ -25,7 +25,8 @@ "Forest Temple Center Room Left Pot 1": "True", "Forest Temple Center Room Left Pot 2": "True", "Forest Temple Center Room Left Pot 3": "True", - "Forest Temple Lower Stalfos Pot": "True", + "Forest Temple Lower Stalfos Pot 1": "True", + "Forest Temple Lower Stalfos Pot 2": "True", "Forest Temple GS Lobby": "can_use(Hookshot) or can_use(Boomerang)", "Fairy Pot": "has_bottle" }, diff --git a/data/World/Ganons Castle MQ.json b/data/World/Ganons Castle MQ.json index 1c227e2bec..5ad9642dcb 100644 --- a/data/World/Ganons Castle MQ.json +++ b/data/World/Ganons Castle MQ.json @@ -14,6 +14,7 @@ { "region_name": "Ganons Castle Main", "dungeon": "Ganons Castle", + "savewarp": "Ganons Castle Grounds -> Ganons Castle Lobby", "exits": { "Ganons Castle Forest Trial": "here(is_adult or Kokiri_Sword)", "Ganons Castle Water Trial": "True", @@ -61,7 +62,7 @@ "Ganons Castle MQ Water Trial Chest": "Blue_Fire", "Ganons Castle MQ Water Trial Recovery Heart": " Blue_Fire or (logic_boomerang_boulders and can_use(Boomerang))", - "Blue Fire": "has_bottle" + "Blue Fire": "has_bottle and (can_jumpslash or has_explosives)" }, "exits": { "Ganons Castle Water Trial Push Block Room": "Blue_Fire and (Small_Key_Ganons_Castle, 3)" @@ -244,11 +245,11 @@ "region_name": "Ganons Castle Deku Scrubs", "dungeon": "Ganons Castle", "locations": { - "Ganons Castle MQ Deku Scrub Center-Left": "True", - "Ganons Castle MQ Deku Scrub Center": "True", - "Ganons Castle MQ Deku Scrub Center-Right": "True", - "Ganons Castle MQ Deku Scrub Left": "True", - "Ganons Castle MQ Deku Scrub Right": "True", + "Ganons Castle MQ Deku Scrub Center-Left": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Center": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Center-Right": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Left": "can_stun_deku", + "Ganons Castle MQ Deku Scrub Right": "can_stun_deku", "Free Fairies": "has_bottle" } } diff --git a/data/World/Ganons Castle.json b/data/World/Ganons Castle.json index 7139199633..8c6d5f0e39 100644 --- a/data/World/Ganons Castle.json +++ b/data/World/Ganons Castle.json @@ -4,6 +4,15 @@ "dungeon": "Ganons Castle", "exits": { "Castle Grounds From Ganons Castle": "True", + "Ganons Castle Main": "True", + "Farores Wind Warp": "can_use(Farores_Wind)" + } + }, + { + "region_name": "Ganons Castle Main", + "dungeon": "Ganons Castle", + "savewarp": "Ganons Castle Grounds -> Ganons Castle Lobby", + "exits": { "Ganons Castle Forest Trial": "True", "Ganons Castle Water Trial": "True", "Ganons Castle Shadow Trial": "True", @@ -17,8 +26,7 @@ (skipped_trials[Water] or 'Water Trial Clear') and (skipped_trials[Shadow] or 'Shadow Trial Clear') and (skipped_trials[Spirit] or 'Spirit Trial Clear') and - (skipped_trials[Light] or 'Light Trial Clear')", - "Farores Wind Warp": "can_use(Farores_Wind)" + (skipped_trials[Light] or 'Light Trial Clear')" } }, { @@ -65,6 +73,7 @@ "Ganons Castle Water Trial Left Chest": "True", "Ganons Castle Water Trial Right Chest": "True", "Blue Fire": "has_bottle and (is_adult or Sticks or Kokiri_Sword or has_explosives)", + "Ganons Castle Water Trial Fairy Pot Drop": " Blue_Fire and (is_adult or has_explosives or can_use(Dins_Fire))", "Fairy Pot": "Blue_Fire and (is_adult or has_explosives or can_use(Dins_Fire))" }, "exits": { diff --git a/data/World/Ice Cavern MQ.json b/data/World/Ice Cavern MQ.json index 219d52975a..61c98cfd0b 100644 --- a/data/World/Ice Cavern MQ.json +++ b/data/World/Ice Cavern MQ.json @@ -9,6 +9,8 @@ # The crystal switch in the tektite room can be hit with the pot in the first hall. "Ice Cavern MQ Center Room Pot 1": "True", "Ice Cavern MQ Center Room Pot 2": "True", + "Ice Cavern MQ Center Room Pot 3": "True", + "Ice Cavern MQ Center Room Pot 4": "True", "Fairy Pot": "has_bottle" }, "exits": { @@ -48,7 +50,8 @@ "locations": { "Ice Cavern MQ Iron Boots Chest": "is_adult", "Sheik in Ice Cavern": "is_adult", - "Ice Cavern MQ Near End Pot": "is_adult", + "Ice Cavern MQ Near End Pot 1": "is_adult", + "Ice Cavern MQ Near End Pot 2": "is_adult", "Ice Cavern MQ GS Ice Block": "is_adult or can_child_attack", "Ice Cavern MQ GS Scarecrow": " can_use(Scarecrow) or (Hover_Boots and can_use(Longshot)) or diff --git a/data/World/Jabu Jabus Belly MQ.json b/data/World/Jabu Jabus Belly MQ.json index 3d29f57617..9d15e7ac6e 100644 --- a/data/World/Jabu Jabus Belly MQ.json +++ b/data/World/Jabu Jabus Belly MQ.json @@ -95,7 +95,12 @@ "Jabu Jabus Belly MQ Falling Like-Like Room Right Cow Wonderitem 3": "True", "Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 1": "True", "Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 2": "True", - "Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 3": "True" + "Jabu Jabus Belly MQ Falling Like-Like Room Left Cow Wonderitem 3": "True", + "Jabu Jabus Belly MQ Falling Like-Like Room Explosives Wonderitem 1": "has_explosives", + "Jabu Jabus Belly MQ Falling Like-Like Room Explosives Wonderitem 2": "has_explosives", + "Jabu Jabus Belly MQ Falling Like-Like Room Explosives Wonderitem 3": "has_explosives", + "Jabu Jabus Belly MQ Hallway Small Crate 1": "True", + "Jabu Jabus Belly MQ Hallway Small Crate 2": "True" }, "exits": { "Jabu Jabus Belly Past Big Octo": "Sticks or (can_use(Dins_Fire) and Kokiri_Sword)" @@ -110,7 +115,9 @@ "locations": { "Jabu Jabus Belly MQ Cow": "can_play(Eponas_Song)", "Jabu Jabus Belly MQ After Big Octo Cow Wonderitem": "True", - "Jabu Jabus Belly MQ Wiggler Platforms Cow Wonderitem": "True" + "Jabu Jabus Belly MQ Wiggler Platforms Cow Wonderitem": "True", + "Jabu Jabus Belly MQ Small Crate Near Cow 1": "True", + "Jabu Jabus Belly MQ Small Crate Near Cow 2": "True" } }, { @@ -135,6 +142,7 @@ "Jabu Jabus Belly MQ Before Boss Right Cow Wonderitem 1": "can_use(Slingshot)", "Jabu Jabus Belly MQ Before Boss Right Cow Wonderitem 2": "can_use(Slingshot)", "Jabu Jabus Belly MQ Before Boss Left Cow Wonderitem": "can_use(Slingshot)", + "Jabu Jabus Belly MQ Near Boss Pot": "True", "Fairy Pot": "has_bottle" }, "exits": { diff --git a/data/World/Jabu Jabus Belly.json b/data/World/Jabu Jabus Belly.json index 6b264c31a8..1b13ac2417 100644 --- a/data/World/Jabu Jabus Belly.json +++ b/data/World/Jabu Jabus Belly.json @@ -16,13 +16,16 @@ "Jabu Jabus Belly Deku Scrub": " can_stun_deku and can_swim and (can_dive or is_child or logic_jabu_alcove_jump_dive or can_use(Iron_Boots))", - "Jabu Jabus Belly Small Wooden Crate": "True", + "Jabu Jabus Belly Small Wooden Crate 1": "True", + "Jabu Jabus Belly Small Wooden Crate 2": "True", "Jabu Jabus Belly Basement 2 Octoroks Pot 1": "can_use(Boomerang) or can_use(Hover_Boots)", "Jabu Jabus Belly Basement 2 Octoroks Pot 2": "can_use(Boomerang) or can_use(Hover_Boots)", "Jabu Jabus Belly Basement 2 Octoroks Pot 3": "can_use(Boomerang) or can_use(Hover_Boots)", "Jabu Jabus Belly Basement 2 Octoroks Pot 4": "can_use(Boomerang) or can_use(Hover_Boots)", + "Jabu Jabus Belly Basement 2 Octoroks Pot 5": "can_use(Boomerang) or can_use(Hover_Boots)", "Jabu Jabus Belly Basement Switch Room Pot 1": "can_swim or can_use(Hover_Boots)", "Jabu Jabus Belly Basement Switch Room Pot 2": "can_swim or can_use(Hover_Boots)", + "Jabu Jabus Belly Basement Switch Room Pot 3": "can_swim or can_use(Hover_Boots)", "Jabu Jabus Belly GS Water Switch Room": "can_swim or can_use(Hover_Boots) or can_use(Boomerang)", "Jabu Jabus Belly GS Lobby Basement Lower": "can_use(Boomerang) or can_use(Hookshot)", "Jabu Jabus Belly GS Lobby Basement Upper": "can_use(Boomerang) or can_use(Hookshot)", @@ -55,6 +58,7 @@ "locations": { "Jabu Jabus Belly Above Big Octo Pot 1": "True", "Jabu Jabus Belly Above Big Octo Pot 2": "True", + "Jabu Jabus Belly Above Big Octo Pot 3": "True", "Nut Pot": "True" } }, diff --git a/data/World/Overworld.json b/data/World/Overworld.json index 34ea351650..03fe4be0fb 100644 --- a/data/World/Overworld.json +++ b/data/World/Overworld.json @@ -6,12 +6,14 @@ "Kakariko Village Gate Open": "open_kakariko == 'open' or (open_kakariko == 'zelda' and Zeldas_Letter)" }, "locations": { - "Links Pocket": "True", "Gift from Sages": "can_receive_ganon_bosskey" }, "exits": { "Root Exits": "is_starting_age or Time_Travel", - "HC Garden Locations": "skip_child_zelda" + "HC Garden Skippable Locations": "skip_child_zelda", + "Beyond Door of Time Skippable Locations": "skip_reward_from_rauru", + # Hack to make ALR work if hideout entrances are unshuffled + "GF Above Jail Child Locations": "shuffle_gerudo_fortress_heart_piece == 'remove' or not shuffle_hideout_entrances" } }, { @@ -108,6 +110,12 @@ "Ganons Castle Lobby": " (is_child and at('Ganons Castle Lobby', is_child)) or (is_adult and at('Ganons Castle Lobby', is_adult))", + "Ganons Castle Main": " + (is_child and at('Ganons Castle Main', is_child)) or + (is_adult and at('Ganons Castle Main', is_adult))", + "Ganons Castle Tower": " + (is_child and at('Ganons Castle Tower', is_child)) or + (is_adult and at('Ganons Castle Tower', is_adult))", "Gerudo Training Ground Lobby": " (is_child and at('Gerudo Training Ground Lobby', is_child)) or (is_adult and at('Gerudo Training Ground Lobby', is_adult))", @@ -422,7 +430,7 @@ "scene": "Sacred Forest Meadow", "hint": "SACRED_FOREST_MEADOW", "locations": { - "Song from Saria": "is_child and at('HC Garden Locations', is_child)", + "Song from Saria": "is_child and at('HC Garden Skippable Locations', is_child)", "Sheik in Forest": "is_adult", "SFM Maze Wonderitem 1": "True", "SFM Maze Wonderitem 2": "True", @@ -724,6 +732,25 @@ Gerudo_Membership_Card and can_ride_epona and Bow and at_day", "GF Sign Wonderitem Near Entrance": "can_use(Hookshot)", "GF Sign Wonderitem Near HBA": "Gerudo_Membership_Card and can_use(Hookshot)", + "GF Crate 1": "can_break_crate", + "GF Crate 2": "can_break_crate", + "GF Crate 3": "can_break_crate", + "GF Crate 4": "can_break_crate", + "GF Crate 5": "can_break_crate", + "GF Crate 6": "can_break_crate", + "GF HBA Crate 1": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 2": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 3": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 4": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 5": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 6": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 7": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 8": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 9": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 10": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 11": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 12": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", + "GF HBA Crate 13": "((is_adult and Gerudo_Membership_Card) or is_child) and can_break_crate", "GF GS Archery Range": " can_use(Hookshot) and Gerudo_Membership_Card and at_night" }, @@ -829,7 +856,16 @@ "Hideout Hall to Balcony": "True", "Gerudo Fortress": "True", "GF Chest Roof": "can_use(Longshot)", - "GF Break Room Entrance": "damage_multiplier != 'ohko' or can_use(Nayrus_Love)" + "GF Break Room Entrance": "damage_multiplier != 'ohko' or can_use(Nayrus_Love)", + "GF Above Jail Child Locations": "is_child" + } + }, + { + "region_name": "GF Above Jail Child Locations", + "scene": "Gerudo Fortress", + "hint": "GERUDO_FORTRESS", + "locations": { + "GF Freestanding PoH": "True" } }, { @@ -1078,6 +1114,7 @@ "Wasteland Near GS Pot 1": "True", "Wasteland Near GS Pot 2": "True", "Wasteland Near GS Pot 3": "True", + "Wasteland Near GS Pot 4": "True", "Wasteland Crate After Quicksand 1": "can_break_crate", "Wasteland Crate After Quicksand 2": "can_break_crate", "Wasteland Crate After Quicksand 3": "can_break_crate", @@ -1198,6 +1235,18 @@ "Market Night Green Rupee Crate 3": " is_child and at_night and (deadly_bonks != 'ohko' or Fairy or (can_use(Nayrus_Love) and shuffle_overworld_entrances == 'off'))", + "Market Day Crate 1": " + is_child and at_day and + (deadly_bonks != 'ohko' or Fairy or (can_use(Nayrus_Love) and shuffle_overworld_entrances == 'off'))", + "Market Day Crate 2": " + is_child and at_day and + (deadly_bonks != 'ohko' or Fairy or (can_use(Nayrus_Love) and shuffle_overworld_entrances == 'off'))", + "Market Day Crate 3": " + is_child and at_day and + (deadly_bonks != 'ohko' or Fairy or (can_use(Nayrus_Love) and shuffle_overworld_entrances == 'off'))", + "Market Day Crate 4": " + is_child and at_day and + (deadly_bonks != 'ohko' or Fairy or (can_use(Nayrus_Love) and shuffle_overworld_entrances == 'off'))", "Market Daytime Balcony Wonderitem 1": "is_child and at_day", "Market Daytime Balcony Wonderitem 2": "is_child and at_day", "Market Daytime Balcony Wonderitem 3": "is_child and at_day", @@ -1275,7 +1324,16 @@ "Master Sword Pedestal": "True" }, "exits": { - "Temple of Time": "True" + "Temple of Time": "True", + "Beyond Door of Time Skippable Locations": "True" + } + }, + { + # Directly reachable from Root in "Skip Reward from Rauru" + "region_name": "Beyond Door of Time Skippable Locations", + "hint": "TEMPLE_OF_TIME", + "locations": { + "ToT Reward from Rauru": "True" } }, { @@ -1329,13 +1387,13 @@ "HC Zeldas Courtyard Mario Wonderitem": "can_use(Slingshot)" }, "exits": { - "HC Garden Locations": "True", + "HC Garden Skippable Locations": "True", "Hyrule Castle Grounds": "True" } }, { - # Directly reachable from Root in "Free Zelda" - "region_name": "HC Garden Locations", + # Directly reachable from Root in Skip Child Zelda + "region_name": "HC Garden Skippable Locations", "scene": "Castle Grounds", "hint": "HYRULE_CASTLE", "locations": { @@ -1395,7 +1453,11 @@ "locations": { "Market 10 Big Poes": " is_adult and (Big_Poe or (Bottle_with_Big_Poe, big_poe_count))", - "Market Guard House Child Crate": "is_child and can_break_crate", + "Market 10 Big Poes Hint": "is_adult", + "Market Guard House Child Crate 1": "is_child and can_break_crate", + "Market Guard House Child Crate 2": "is_child and can_break_crate", + "Market Guard House Child Crate 3": "is_child and can_break_crate", + "Market Guard House Child Crate 4": "is_child and can_break_crate", "Market Guard House Child Pot 1": "is_child", "Market Guard House Child Pot 2": "is_child", "Market Guard House Child Pot 3": "is_child", @@ -1447,6 +1509,10 @@ "Market Guard House Adult Pot 5": "is_adult", "Market Guard House Adult Pot 6": "is_adult", "Market Guard House Adult Pot 7": "is_adult", + "Market Guard House Adult Pot 8": "is_adult", + "Market Guard House Adult Pot 9": "is_adult", + "Market Guard House Adult Pot 10": "is_adult", + "Market Guard House Adult Pot 11": "is_adult", "Market GS Guard House": "is_child and can_break_crate" }, "exits": { @@ -1645,6 +1711,19 @@ "Kak Near Impas House Pot 2": "is_child", "Kak Near Impas House Pot 3": "is_child", "Kak Adult Arrows Crate": "is_adult and can_break_crate", + "Kak Adult Crate 1": "is_adult and can_break_crate", + "Kak Adult Crate 2": "is_adult and can_break_crate", + "Kak Adult Crate 3": "is_adult and can_break_crate", + "Kak Adult Crate 4": "is_adult and can_break_crate", + "Kak Adult Crate 5": "is_adult and can_break_crate", + "Kak Adult Crate 6": "is_adult and can_break_crate", + "Kak Adult Crate 7": "is_adult and can_break_crate", + "Kak Adult Crate 8": "is_adult and can_break_crate", + "Kak Child Crate 1": "is_child and can_break_crate", + "Kak Child Crate 2": "is_child and can_break_crate", + "Kak Child Crate 3": "is_child and can_break_crate", + "Kak Child Crate 4": "is_child and can_break_crate", + "Kak Child Crate 5": "is_child and can_break_crate", "Kak Child Construction Wonderitem": "is_child", "Kak GS House Under Construction": "is_child and at_night", "Kak GS Skulltula House": "is_child and at_night", @@ -1720,7 +1799,10 @@ "locations": { "Kak Near Odd Medicine Building Pot 1": "is_child", "Kak Near Odd Medicine Building Pot 2": "is_child", - "Kak Adult Red Rupee Crate": "is_adult and can_break_crate" + "Kak Adult Red Rupee Crate": "is_adult and can_break_crate", + "Kak Adult Backyard Crate 1": "is_adult and can_break_crate", + "Kak Adult Backyard Crate 2": "is_adult and can_break_crate", + "Kak Adult Backyard Crate 3": "is_adult and can_break_crate" }, "exits": { "Kakariko Village": "True", @@ -1885,6 +1967,7 @@ "Graveyard Freestanding PoH": " (is_adult and can_break_crate and (here(can_plant_bean) or Longshot)) or (logic_graveyard_poh and can_use(Boomerang))", + "Graveyard Freestanding PoH Crate": "(is_adult and can_break_crate and (here(can_plant_bean) or Longshot))", "Graveyard Dampe Gravedigging Tour": "is_child and at_dampe_time", "Graveyard GS Wall": "can_use(Boomerang) and at_night", "Graveyard GS Bean Patch": "can_plant_bugs and can_child_attack", @@ -2294,10 +2377,10 @@ "scene": "Death Mountain Crater", "hint": "DEATH_MOUNTAIN_CRATER", "locations": { - "DMC Near GC Pot 1": "is_adult", - "DMC Near GC Pot 2": "is_adult", - "DMC Near GC Pot 3": "is_adult", - "DMC Near GC Pot 4": "is_adult" + "DMC Near GC Pot 1": "is_adult or shuffle_empty_pots", + "DMC Near GC Pot 2": "is_adult or shuffle_empty_pots", + "DMC Near GC Pot 3": "is_adult or shuffle_empty_pots", + "DMC Near GC Pot 4": "is_adult or shuffle_empty_pots" }, "exits": { "DMC Lower Local": "can_use(Goron_Tunic)", diff --git a/data/World/Shadow Temple.json b/data/World/Shadow Temple.json index a1d6c2c2e5..d766530b9a 100644 --- a/data/World/Shadow Temple.json +++ b/data/World/Shadow Temple.json @@ -161,7 +161,8 @@ "Shadow Temple Invisible Floormaster Chest": "True", "Shadow Temple Spike Walls Left Chest": "can_use(Dins_Fire)", "Shadow Temple Boss Key Chest": "can_use(Dins_Fire)", - "Shadow Temple After Boat Pot": "True", + "Shadow Temple After Boat Pot 1": "True", + "Shadow Temple After Boat Pot 2": "True", "Shadow Temple Invisible Floormaster Pot 1": "True", "Shadow Temple Invisible Floormaster Pot 2": "True", "Shadow Temple Spike Walls Pot": "True", diff --git a/data/World/Spirit Temple MQ.json b/data/World/Spirit Temple MQ.json index f1a52494c8..e8a739a380 100644 --- a/data/World/Spirit Temple MQ.json +++ b/data/World/Spirit Temple MQ.json @@ -53,6 +53,8 @@ (Sticks or Kokiri_Sword) and has_bombchus and Slingshot", "Spirit Temple MQ Child Stalfos Fight Pot 3": " (Sticks or Kokiri_Sword) and has_bombchus and Slingshot", + "Spirit Temple MQ Child Stalfos Fight Pot 4": " + (Sticks or Kokiri_Sword) and has_bombchus and Slingshot", "Fairy Pot": " has_bottle and (Sticks or Kokiri_Sword) and has_bombchus and Slingshot" }, @@ -104,6 +106,11 @@ "Spirit Temple MQ Central Chamber Floor Pot 1": "True", "Spirit Temple MQ Central Chamber Floor Pot 2": "True", "Spirit Temple MQ Central Chamber Floor Pot 3": "True", + "Spirit Temple MQ Central Chamber Flying Pot Floor": "True", + "Spirit Temple MQ Central Chamber Flying Pot Stairs": "True", + "Spirit Temple MQ Central Chamber Flying Pot Top Left": " + (is_adult and (Hover_Boots or logic_spirit_lobby_jump)) or + can_play(Song_of_Time)", "Spirit Temple MQ Central Chamber Top Left Pot (Left)": " (is_adult and (Hover_Boots or logic_spirit_lobby_jump)) or can_play(Song_of_Time)", @@ -120,6 +127,7 @@ is_adult", "Spirit Temple MQ Central Chamber Crate 1": "can_break_crate", "Spirit Temple MQ Central Chamber Crate 2": "can_break_crate", + "Spirit Temple MQ Central Chamber Small Wooden Crate": "True", "Spirit Temple MQ GS Sun Block Room": " (logic_spirit_mq_sun_block_gs and Boomerang and (can_play(Song_of_Time) or logic_spirit_mq_sun_block_sot)) or @@ -160,7 +168,8 @@ "region_name": "Spirit Temple Beamos Room", "dungeon": "Spirit Temple", "locations": { - "Spirit Temple MQ Beamos Room Chest": "has_explosives" + "Spirit Temple MQ Beamos Room Chest": "has_explosives", + "Spirit Temple MQ Beamos Room Small Wooden Crate": "can_play(Song_of_Time) and (has_explosives or Nuts)" }, "exits": { "Spirit Temple Beyond Beamos Room": "can_play(Song_of_Time) and (has_explosives or Nuts)", diff --git a/data/World/Spirit Temple.json b/data/World/Spirit Temple.json index 1606c1f355..a5e942a036 100644 --- a/data/World/Spirit Temple.json +++ b/data/World/Spirit Temple.json @@ -29,8 +29,12 @@ "locations": { "Spirit Temple Child Bridge Chest": "True", "Spirit Temple Child Early Torches Chest": "Sticks or can_use(Dins_Fire)", - "Spirit Temple Child Bridge Flying Pot": "True", - "Spirit Temple Child Anubis Pot": "True", + "Spirit Temple Child Bridge Flying Pot 1": "True", + "Spirit Temple Child Bridge Flying Pot 2": "True", + "Spirit Temple Child Anubis Pot 1": "True", + "Spirit Temple Child Anubis Pot 2": "True", + "Spirit Temple Child Anubis Pot 3": "True", + "Spirit Temple Child Anubis Pot 4": "True", "Spirit Temple Child Early Torches Silver Rupee Top Right": "True", "Spirit Temple Child Early Torches Silver Rupee Bottom Right": "True", "Spirit Temple Child Early Torches Silver Rupee Bottom Left": "True", @@ -152,6 +156,24 @@ "Spirit Temple Silver Gauntlets Chest": " (Small_Key_Spirit_Temple, 5) or (has_explosives and Longshot and (Small_Key_Spirit_Temple, 3))", + "Spirit Temple Central Chamber Pot 1": " + (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or + has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", + "Spirit Temple Central Chamber Pot 2": " + (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or + has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", + "Spirit Temple Central Chamber Pot 3": " + (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or + has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", + "Spirit Temple Central Chamber Pot 4": " + (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or + has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", + "Spirit Temple Central Chamber Pot 5": " + (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or + has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", + "Spirit Temple Central Chamber Pot 6": " + (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or + has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", "Spirit Temple Central Chamber Flying Pot 1": " (Small_Key_Spirit_Temple, 3) or spirit_temple_shortcuts or has_explosives or ((Small_Key_Spirit_Temple, 2) and free_bombchu_drops)", diff --git a/data/World/Water Temple MQ.json b/data/World/Water Temple MQ.json index ddbed62c97..d795bdf649 100644 --- a/data/World/Water Temple MQ.json +++ b/data/World/Water Temple MQ.json @@ -110,7 +110,11 @@ "Water Temple MQ Storage Room Crate 4": "can_break_crate", "Water Temple MQ Storage Room Crate 5": "can_break_crate", "Water Temple MQ Storage Room Crate 6": "can_break_crate", - "Water Temple MQ Storage Room Crate 7": "can_break_crate" + "Water Temple MQ Storage Room Crate 7": "can_break_crate", + "Water Temple MQ Storage Room Small Wooden Crate 1": "True", + "Water Temple MQ Storage Room Small Wooden Crate 2": "True", + "Water Temple MQ Storage Room Small Wooden Crate 3": "True", + "Water Temple MQ Storage Room Small Wooden Crate 4": "True" } }, { @@ -144,8 +148,10 @@ "Water Temple MQ Before Upper Water Switch Lower Crate 4": "can_break_crate", "Water Temple MQ Before Upper Water Switch Lower Crate 5": "can_break_crate", "Water Temple MQ Before Upper Water Switch Lower Crate 6": "can_break_crate", + "Water Temple MQ Before Upper Water Switch Lower Small Crate": "True", "Water Temple MQ Before Upper Water Switch Upper Crate 1": "Longshot and can_break_crate", "Water Temple MQ Before Upper Water Switch Upper Crate 2": "Longshot and can_break_crate", + "Water Temple MQ Before Upper Water Switch Upper Small Crate": "Longshot", "Water Temple MQ GS Before Upper Water Switch": "Longshot", "Water Temple MQ Upper Water Switch Hookshot Wonderitem": "Hookshot" } @@ -154,11 +160,15 @@ "region_name": "Water Temple Dark Link Region", "dungeon": "Water Temple", "locations": { - "Water Temple MQ Before Dark Link Lower Pot": "True", + "Water Temple MQ Before Dark Link Lower Pot 1": "True", + "Water Temple MQ Before Dark Link Lower Pot 2": "True", + "Water Temple MQ Before Dark Link Lower Pot 3": "True", "Water Temple MQ Before Dark Link Top Pot 1": "True", "Water Temple MQ Before Dark Link Top Pot 2": "True", - "Water Temple MQ Room After Dark Link Pot": "True", - "Water Temple MQ River Pot": "True", + "Water Temple MQ Room After Dark Link Pot 1": "True", + "Water Temple MQ Room After Dark Link Pot 2": "True", + "Water Temple MQ River Pot 1": "True", + "Water Temple MQ River Pot 2": "True", "Water Temple MQ Dragon Statue Near Door Crate 1": "can_break_crate", "Water Temple MQ Dragon Statue Near Door Crate 2": "can_break_crate", "Water Temple MQ GS River": "True", @@ -186,6 +196,9 @@ "locations": { "Water Temple MQ Dragon Statue By Torches Crate 1": "can_break_crate", "Water Temple MQ Dragon Statue By Torches Crate 2": "can_break_crate", + "Water Temple MQ Dragon Statue By Torches Small Wooden Crate 1": "True", + "Water Temple MQ Dragon Statue By Torches Small Wooden Crate 2": "True", + "Water Temple MQ Dragon Statue By Torches Small Wooden Crate 3": "True", "Water Temple MQ Dragon Statue Submerged Crate 1": " can_swim and (Iron_Boots and can_bonk) or (has_bombchus and (can_dive or Iron_Boots))", "Water Temple MQ Dragon Statue Submerged Crate 2": " @@ -271,7 +284,8 @@ "dungeon": "Water Temple", "locations": { "Water Temple MQ Freestanding Key": "can_break_crate", - "Water Temple MQ Freestanding Key Room Pot": "True", + "Water Temple MQ Freestanding Key Room Pot 1": "True", + "Water Temple MQ Freestanding Key Room Pot 2": "True", "Water Temple MQ Freestanding Key Room Crate 1": "can_break_crate", "Water Temple MQ Freestanding Key Room Crate 2": "can_break_crate", "Water Temple MQ Freestanding Key Room Crate 3": "can_break_crate", diff --git a/data/World/Water Temple.json b/data/World/Water Temple.json index 677d996820..ff02531fda 100644 --- a/data/World/Water Temple.json +++ b/data/World/Water Temple.json @@ -38,6 +38,8 @@ "dungeon": "Water Temple", "savewarp": "Lake Hylia -> Water Temple Lobby", "locations": { + "Water Temple Near Boss Pot 1": "can_use(Longshot)", + "Water Temple Near Boss Pot 2": "can_use(Longshot)", "Fairy Pot": "has_bottle" }, "exits": { @@ -165,6 +167,8 @@ "dungeon": "Water Temple", "locations": { "Water Temple Boss Key Chest": "True", + "Water Temple Boss Key Pot 1": "True", + "Water Temple Boss Key Pot 2": "True", "Fairy Pot": "has_bottle" } }, @@ -203,6 +207,7 @@ "Water Temple River Recovery Heart 3": "True", "Water Temple River Recovery Heart 4": "True", "Water Temple River Pot 1": "True", + "Water Temple River Pot 2": "True", "Water Temple GS River": " (Iron_Boots and (Zora_Tunic or logic_fewer_tunic_requirements)) or (logic_water_river_gs and Longshot and (Bow or has_bombchus))", diff --git a/data/generated/rom_patch.txt b/data/generated/rom_patch.txt index ec6aa2253a..948d00d71d 100644 --- a/data/generated/rom_patch.txt +++ b/data/generated/rom_patch.txt @@ -1,7 +1,7 @@ -10,10737f3a -14,b5f738a9 +10,106b1b3a +14,c6c3a824 d1b0,3480000 -d1b4,34fa950 +d1b4,350bb40 d1b8,3480000 d1c0,0 d1c4,0 @@ -186,7 +186,9 @@ d288,0 89ebe8,0 89ebec,0 89ebf0,0 -a87af8,c104460 +a87aac,8103f33 +a87ab0,0 +a87af8,c105079 a87afc,2002025 a87b00,14400180 a87b04,8fbf001c @@ -195,64 +197,64 @@ a87b0c,0 a87b10,0 a87b14,0 a87b18,0 -a87dc8,c10721d -a87e24,c10721d -a87e80,c10721d +a87dc8,c1081fb +a87e24,c1081fb +a87e80,c1081fb a8801c,34050096 -a880d4,c10723b -a88490,c100863 +a880d4,c108219 +a88490,c100889 a88494,0 a88498,8602001c a8849c,24010003 a884a4,0 -a88b74,c101b9a +a88898,8103f4a +a8889c,0 +a88b74,c101bc2 a88b78,0 a88b7c,14400016 a88b80,3c0e0001 a88b84,1000000f a88b88,0 -a88c0c,810086f +a88c0c,810088f a88c10,2003025 -a88c20,810086f +a88c20,810088f a88c24,2003025 -a88c34,810086f +a88c34,810088f a88c38,2003025 -a88c48,810086f +a88c48,810088f a88c4c,2003025 -a88c70,810086f +a88c70,810088f a88c74,2003025 -a88c7c,810086f +a88c7c,810088f a88c80,2003025 -a88c88,810086f +a88c88,810088f a88c8c,2003025 -a88cb0,810086f +a88cb0,810088f a88cb4,2003025 -a88cc4,810086f +a88cc4,810088f a88cc8,2003025 a88ccc,34050096 -a88cd8,810086f +a88cd8,810088f a88cdc,2003025 -a88cec,810086f +a88cec,810088f a88cf0,2003025 -a88d00,810086f +a88d00,810088f a88d04,2003025 -a88d14,810086f +a88d14,810088f a88d18,2003025 -a88d44,810086f +a88d44,810088f a88d48,2003025 -a88d50,810086f +a88d50,810088f a88d54,2003025 -a88f64,c1008a0 -a88f78,c106caa -a88f9c,c1008c7 -a88fa0,0 -a89048,c106cc3 -a89268,c100e1a +a88f18,8103f7e +a88f1c,0 +a88f78,c107c7d +a89048,c107c96 +a89268,c100de2 a8926c,3c0d8012 -a89490,81044c5 +a89490,8105119 a89494,0 -a8972c,c10444b -a897c0,c10084a +a897c0,c100870 a897c4,0 a897c8,0 a897cc,0 @@ -262,23 +264,27 @@ a897d8,0 a897dc,0 a897e0,0 a897e4,0 -a897f8,8100853 +a897f8,8100879 a897fc,8fbf003c -a89958,c10444b -a899cc,810085b +a899cc,8100881 a899d0,8fbf003c -a96e5c,8101a59 -a98c30,c100839 -a99c98,c101d3c -a99d48,c101a60 -a9aaf0,c100fea +a98c30,c10085f +a99c98,c101dff +a99d48,c101a7c +a9aaf0,c100fb2 a9aaf4,0 -a9ab0c,c100fcc +a9ab0c,c100f94 a9ab10,0 -a9adac,c104436 -a9b524,8101cf9 +a9adac,c105062 +a9b070,8101e2d +a9b074,0 +a9b208,c101a9f +a9b22c,c101aac +a9b230,0 +a9b524,8101dbc a9b528,0 -a9e838,8100d15 +a9b670,2604fff0 +a9e838,8100cdb aa3148,0 aa3170,34180000 aa3198,1040000c @@ -286,23 +292,23 @@ aa31a8,55c00008 aa6248,0 aa624c,0 aa6250,0 -abdd10,c101b53 +abdd10,c101b48 abdd14,0 -ac7ad4,c1007b9 +ac7ad4,c1007df ac8608,902025 ac860c,848e00a4 ac8610,34010043 ac8614,0 ac8618,0 ac91b4,0 -ac9abc,c100925 +ac9abc,c1008f4 ac9ac0,0 -accd34,c1009da +accd34,c1009a9 accd38,8e190000 -accde0,c10467f -accdfc,c101c01 +accde0,c1052ca +accdfc,c101c32 acce00,0 -acce18,c100ea7 +acce18,c100e6f acce1c,8e0200a4 acce20,1060001e acce24,0 @@ -311,13 +317,13 @@ acce2c,0 acce34,0 acce38,0 acce3c,0 -acce88,c1041c5 +acce88,c104d15 acce8c,34040001 acce90,0 acce94,0 acce98,0 acd024,afbf0014 -acd028,c105c33 +acd028,c106b17 acd02c,0 acd030,8fbf0014 acd034,3e00008 @@ -335,18 +341,18 @@ adaa78,0 adaba8,0 adabcc,0 adabe4,0 -ae5764,8100c3b +ae5764,8100c01 ae5768,0 -ae59e0,8100c57 -ae5df8,c10091d +ae59e0,8100c1d +ae5df8,c1008ec ae5e04,0 -ae72d0,c1018fe +ae72d0,c1018ce ae72d4,0 ae72d8,1460001c ae72dc,0 ae72e0,0 ae74d8,340e0000 -ae795c,c1018f7 +ae795c,c1018c7 ae7960,0 ae7964,8fbf0014 ae7968,27bd0018 @@ -354,46 +360,46 @@ ae796c,3e00008 ae7970,0 ae807c,6010007 ae8080,84b80030 -ae8084,c101170 +ae8084,c101138 ae8088,0 ae8090,0 ae8094,0 ae8098,0 -ae986c,8101150 +ae986c,8101118 ae9870,3c01800f ae9ed8,35ee0000 -aeb67c,c100fb0 +aeb67c,c100f78 aeb680,0 aeb764,26380008 aeb768,ae9802b0 -aeb76c,c104aed +aeb76c,c10577f aeb778,400821 -aeb8ac,c101bb6 +aeb8ac,c101be7 aeb8b0,240f001a -aeb998,c101bbf +aeb998,c101bf0 aeb99c,2412002a aeffd0,3c198040 -aeffd4,27390c97 +aeffd4,27390c9f af1398,92020852 af13ac,92020852 -af1814,c1017e5 +af1814,c1017b6 af1818,0 af74f8,afbf0044 -af74fc,c101080 +af74fc,c101048 af7500,0 af7504,8fbf0044 af7650,afbf0034 -af7654,c10108e +af7654,c101056 af7658,0 af765c,8fbf0034 af76b8,afbf000c -af76bc,c101075 +af76bc,c10103d af76c4,8fbf000c -b06248,c1019e2 +b06248,c1019b2 b0624c,0 b06400,820f0ede b0640c,31f80002 -b06424,c101970 +b06424,c101940 b06428,0 b0642c,0 b06430,0 @@ -406,14 +412,17 @@ b06448,0 b0644c,0 b06450,0 b06454,0 -b06534,81074d2 -b06680,8107557 +b06534,810862c +b06538,2825 +b06680,81086b5 b06684,0 b06bb8,34190000 -b06c2c,c100d5d +b06c2c,c100d23 b06c30,a2280020 -b06ce4,c107776 -b06f30,81076e5 +b06ce4,c1088fa +b06e18,81088a7 +b06e1c,0 +b06f30,8108833 b06f34,0 b10218,afa40020 b1021c,30a8fffe @@ -465,33 +474,33 @@ b10320,242983fc b10324,242a82c4 b10328,242b83e4 b1032c,242c83d8 -b10cc0,c1009c2 +b10cc0,c100991 b10cc4,3c010001 -b12a34,c100bf4 +b12a34,c100bba b12a38,0 -b12a60,81064cf -b12e30,c1064fa -b12e44,8106509 +b12a60,81073ce +b12e30,c1073f3 +b12e44,8107402 b17bb4,afbf001c b17bb8,afa40140 b17bbc,3c048040 -b17bc0,3c060008 -b17bc4,24c6a950 +b17bc0,3c060009 +b17bc4,24c6bb40 b17bc8,c00037c b17bcc,3c050348 -b17bd0,c1007ac +b17bd0,c1007d2 b17bd4,0 b294a0,3c038040 -b294a4,246354d0 +b294a4,246353f0 b294a8,3c028040 -b294ac,24425570 +b294ac,24425490 b294b4,906e0000 b294c0,a0600000 b29a18,3c0f8040 -b29a1c,25ef54d0 +b29a1c,25ef53f0 b29e60,3c0b8040 -b29e6c,256b54d0 -b2b488,c101561 +b29e6c,256b53f0 +b2b488,c101529 b2b48c,0 b2b490,0 b2b494,0 @@ -500,7 +509,7 @@ b2b49c,0 b2b4f0,3c048013 b2b4f4,24848a50 b2b4f8,3c058040 -b2b4fc,24a54aa8 +b2b4fc,24a549c8 b2b500,c015c0c b2b504,34060018 b2b508,3c048013 @@ -517,41 +526,43 @@ b2b534,0 b2b538,0 b2b53c,0 b2cdec,3c0e8040 -b2cdf4,91ce54d0 +b2cdf4,91ce53f0 b2ce14,3c0f8040 -b2ce1c,91ef54d0 +b2ce1c,91ef53f0 b2cf40,3c0e8040 -b2cf44,25ce54d0 +b2cf44,25ce53f0 b2cf4c,904f0000 b2cf5c,a0450000 -b2d98c,c10155c +b2d98c,c101524 b2d990,3c058012 b2d994,0 b2d998,91cf0000 b2e230,3c0f8040 -b2e274,91ef54d0 +b2e274,91ef53f0 b2e7e8,3c0a8040 -b2e7f8,254a4ad0 +b2e7f8,254a49f0 b2e82c,3c058001 b2e830,8ca5b188 b2e840,3c058001 b2e844,8ca5b178 b2e854,3c058001 b2e858,8ca5b198 -b37eb0,c101bd2 +b37eb0,c101c03 b37eb4,0 b3dd3c,3c018040 -b3dd40,8c244ac0 +b3dd40,8c2449e0 b3dd44,c02e195 -b3dd48,8c254ac4 +b3dd48,8c2549e4 b3dd4c,8fbf0014 b3dd54,27bd0018 -b4c980,8101af5 +b4c980,8101ae5 b4c984,0 -b524c8,8101b03 +b502ac,8101b1f +b502b0,0 +b524c8,8101af3 b524cc,0 b5293c,10000018 -b52ac0,c101ae9 +b52ac0,c101ad9 b52ac4,0 b52ad0,0 b52ad4,0 @@ -559,13 +570,13 @@ b52ad8,0 b52adc,0 b52b64,0 b52b68,0 -b54b38,c100d04 -b54e5c,c100cf1 +b54b38,c100cca +b54e5c,c100cb7 b55428,a42063ed -b55a64,c100d42 +b55a64,c100d08 b575c8,acae0000 b58320,afbf0000 -b58324,c10103a +b58324,c101002 b58328,0 b5832c,8fbf0000 b58330,0 @@ -593,31 +604,33 @@ b71e64,4010 b71e68,60080000 b7bd24,80011d88 b7ec4c,8009a3ac -ba16ac,c101659 +b9e140,c100adc +b9e144,920b01e1 +ba16ac,c101621 ba16b0,a42fca2a -ba16e0,c101664 +ba16e0,c10162c ba16e4,a439ca2a ba18c4,340c00c8 ba1980,340800c8 ba19dc,0 -ba1c68,c10166f +ba1c68,c101637 ba1c6c,a42dca2a ba1c70,850e4a38 -ba1cd0,c10167a +ba1cd0,c101642 ba1cd4,a439ca2a -ba1d04,c101685 +ba1d04,c10164d ba1d08,0 ba1e20,340d00c8 -ba32cc,c101690 +ba32cc,c101658 ba32d0,a439ca2a -ba3300,c10169b +ba3300,c101663 ba3304,a42bca2a ba34dc,341800c8 ba3654,0 ba39d0,340d00c8 -baa168,c101643 +baa168,c10160b baa16c,a42eca2a -baa198,c10164e +baa198,c101616 baa19c,a42dca2a baa3ac,a07025 bac064,7821 @@ -626,12 +639,21 @@ bac3ec,c821 bac94c,c821 bae5a4,a46b4a6c bae5c8,0 +bae6d8,0 +bae6e8,24090003 +bae6f0,0 +bae71c,0 +bae734,256c0000 +bae76c,0 +bae788,25f80000 bae864,0 baed6c,0 -baf4f4,c1016a6 +baf4f4,c10166e baf4f8,2002025 +baf518,c101674 +baf51c,84c24a30 baf738,102825 -baf73c,c103ec4 +baf73c,c104a0b baf740,330400ff baf744,8fb00018 baf748,8fbf001c @@ -663,70 +685,70 @@ bb6134,0 bb6138,0 bb61e0,0 bb61e4,0 -bb6688,c100bfd +bb6688,c100bc3 bb668c,0 bb66dc,a6c0025e -bb67c4,c100bfd +bb67c4,c100bc3 bb67c8,1826021 -bb6cf0,c100c2c +bb6cf0,c100bf2 bb6cf4,0 -bb7670,810612b +bb7670,810702a bb7674,0 -bc088c,c100c0a +bc088c,c100bd0 bc0890,0 -bc5120,c101b30 +bc5120,c101b25 bc5124,0 bc780c,9000009 -bcdbd8,c1016b8 -bcecbc,81007ea +bcdbd8,c101689 +bcecbc,8100810 bcecc0,0 bcecc4,0 bcecc8,0 bceccc,0 bcecd0,0 bcf73c,afbf0000 -bcf740,c100d86 +bcf740,c100d4c bcf744,0 bcf748,8fbf0000 -bcf8cc,c101841 -bcf914,c100d7e +bcf8cc,c101812 +bcf914,c100d44 bcf918,0 -bd200c,c1011f1 +bd200c,c1011b9 bd2010,0 -bd4c58,c10125b +bd4c58,c101223 bd4c5c,270821 -bd5c58,c100ae4 +bd5c58,c100ab3 bd5c5c,301c825 -bd6958,c10106b +bd6958,c101033 bd695c,0 -bd6cd0,c1018dc -bd9a04,c10101b +bd6cd0,c1018ac +bd9a04,c100fe3 bd9a08,0 -bda0a0,c1007bd -bda0d8,c1007da +bda0a0,c1007e3 +bda0d8,c100800 bda0e4,0 -bda264,c1007dd +bda264,c100803 bda270,0 -bda2e8,c1007f8 +bda2e8,c10081e bda2ec,812a0002 bda2f0,5600018 bda2f4,0 -be0234,810118c -be035c,c10119a +be0234,8101154 +be035c,c101162 be0360,0 -be1bc8,c100af5 +be1bc8,c100ac4 be1bcc,afa50034 be1c98,3c014218 -be28ec,c101b3b +be28ec,c101b30 be3798,0 -be4a14,c101793 -be4a40,c1017ad -be4a60,81017c5 +be4a14,c101764 +be4a40,c10177e +be4a60,8101796 be4a64,0 -be5328,c1011a5 +be5328,c10116d be532c,0 be55e4,0 -be5d8c,c1017ef +be5d8c,c1017c0 be5d90,0 be6538,92190852 be6564,27bdfff0 @@ -762,60 +784,60 @@ be65d8,0 be65dc,0 be65e0,0 be65e4,0 -be9ac0,c100814 -be9ad8,c10081f +be9ac0,c10083a +be9ad8,c100845 be9adc,8fa20024 be9ae4,8fa40028 be9bdc,24018383 -bea044,c10099e +bea044,c10096d bea048,0 bf2c14,0 -c004ec,8100b1f +c004ec,8100ae5 c0067c,28610064 c0082c,340e0018 c00830,8c4f00a0 c00ff4,27bdffe8 c00ff8,afbf0014 -c00ffc,c107d02 +c00ffc,c108e1f c01000,0 c01004,8fbf0014 c01008,3e00008 c0100c,27bd0018 c01010,0 c01014,0 -c01078,c100de4 +c01078,c100dac c0107c,0 c01080,0 c01084,0 c01088,0 c0108c,0 -c018a0,c100b34 -c01cd8,c100bcf +c018a0,c100afa +c01cd8,c100b95 c01cec,c02825 -c0226c,c100b9e -c06198,c100fba +c0226c,c100b64 +c06198,c100f82 c064bc,920201ec c06e5c,920201ec c07230,920201ec c07494,920201ec -c0754c,8102021 +c0754c,810219b c07550,0 c0796c,1f0 -c0e77c,c100d57 +c0e77c,c100d1d c0e780,ac400428 -c3dc04,c1011e4 +c3dc04,c1011ac c3dc08,0 -c48bd4,c101b4f +c48bd4,c101b44 c48bd8,0 -c5a9f0,c10163e -c6c7a8,c100b44 -c6c920,c100b5b +c5a9f0,c101606 +c6c7a8,c100b0a +c6c920,c100b21 c6cedc,340b0001 -c6d7ec,8107c68 +c6d7ec,8108d85 c6d7f0,27bd0018 c6ed84,946f00a2 c6ed88,31f80018 -c6f5dc,c100be1 +c6f5dc,c100ba7 c6f5e0,0 c6f5f8,24010002 c6f600,920d0242 @@ -825,7 +847,7 @@ c6ff38,4600848d c6ff3c,44069000 c6ff44,27bdffe8 c6ff48,afbf0004 -c6ff4c,c101046 +c6ff4c,c10100e c6ff50,0 c6ff54,8fbf0004 c6ff58,27bd0018 @@ -836,8 +858,8 @@ c6ff68,0 c6ff6c,0 c6ff70,0 c6ff74,0 -c70704,8107c13 -c72c64,c101299 +c70704,8108d30 +c72c64,c101261 c72c68,2002021 c72c70,15e00006 c72c74,0 @@ -851,41 +873,78 @@ c7bd08,0 c82550,0 c892dc,340e0001 c8931c,340a0001 -c89744,c1008f1 +c89744,c1008c0 c89868,920e1d28 c898a4,92191d29 c898c8,920a1d2a -c8b24c,c100a27 +c8b24c,c1009f6 c8b250,2002025 c97c68,24c8f000 -c97d68,c101bc8 +c97d68,c101bf9 c97d6c,0 -c97e20,c101bcd +c97e20,c101bfe c97e24,0 -ca6dc0,8106d03 +ca2f38,c101f56 +ca30d8,c101fb3 +ca30e8,240a047a +ca30f4,340b0000 +ca3158,c101fb1 +ca3168,240d0457 +ca3174,340e0000 +ca3404,c101f56 +ca36f0,c101fb5 +ca3710,340d0000 +ca3a10,c101f56 +ca3d18,c101fb7 +ca3d30,240b05e8 +ca3da4,c101fb9 +ca3dbc,24190564 +ca3dc8,34090000 +ca3e30,c101fc0 +ca3e48,240f04e6 +ca3ea0,0 +ca3ea4,c101fab +ca3ea8,0 +ca3eac,406825 +ca3eb0,2002025 +ca3eb4,24050069 +ca3ec0,c101fc6 +ca3ed8,240e0610 +ca3f30,0 +ca3f34,c101fae +ca3f38,0 +ca3f3c,406025 +ca3f40,2002025 +ca3f44,2405006a +ca3f50,c101fc8 +ca3f68,240d0580 +ca5d4c,0 +ca5d7c,0 +ca5e08,0 +ca6dc0,8107cb7 ca6dc4,0 cb1288,2202025 -cb128c,c102033 +cb128c,c1021ad cb1290,2402825 cb1294,10400077 cb1298,0 cb129c,0 cb12a0,10000009 cb12a4,3c19db06 -cb1374,c102061 +cb1374,c1021db cb1378,0 cb137c,1000000e cb1380,0 -cb1430,c10207e +cb1430,c1021f8 cb1434,0 cb1438,1000000e cb143c,0 -cb6874,c100c35 -cc0038,c10097e +cb6874,c100bfb +cc0038,c10094d cc003c,8fa40018 cc3fa8,a20101f8 cc4024,0 -cc4038,c100f9f +cc4038,c100f67 cc403c,240c0004 cc453c,806 cc5de8,0 @@ -894,22 +953,23 @@ cc5f14,3c054040 cc5f18,3c063f80 cc5f70,0 cc604c,0 -cc8594,c100b08 -cc8598,24180006 -cc85b8,c101778 +cc85b8,c101749 cc85bc,afa50064 -cce9a4,c101837 +ccbb68,8102d18 +ccbb6c,0 +ccd90c,1c0 +cce9a4,c101808 cce9a8,8e04011c cd5e30,0 cd5e7c,10000003 cdf3ec,0 cdf404,0 -cdf420,c100ad8 -cdf638,c100aec +cdf420,c100aa7 +cdf638,c100abb cdf63c,e7a40034 cdf790,2405001e ce1600,0 -cea41c,c101bae +cea41c,c101bdf cea420,0 cf1ab8,0 cf1abc,8f09b4a8 @@ -917,23 +977,24 @@ cf1ac0,31280040 cf1ac4,35390040 cf1ac8,af19b4a8 cf1acc,34090006 -cf73c8,c101273 +cf73c8,c10123b cf73cc,3c010001 -cf7ad4,c100ad2 +cf7ad4,c100aa1 cf7ad8,afa50044 d12f78,340f0000 -d1b894,c10193b -d30fdc,c101a11 +d1b894,c10190b +d30fdc,c1019da d30fe0,2c02025 -d357d4,c10115e +d31008,c108268 +d357d4,c101126 d35efc,0 d35f54,10000008 -d36164,c101b24 +d36164,c101b14 d36168,0 -d4bcb0,c101753 +d4bcb0,c101724 d4bcb4,8619001c -d4be6c,c100f83 -d52698,c1009f9 +d4be6c,c100f4b +d52698,c1009c8 d5269c,8e190024 d55998,0 d5599c,0 @@ -946,40 +1007,38 @@ d55a88,0 d55a8c,0 d55a90,0 d55a94,0 -d5b264,c1010eb +d5b264,c1010b3 d5b53c,240e0000 d5b5fc,3c063fe6 -d5b660,81010ee +d5b660,81010b6 d5b664,0 d5b940,0 -d5ff94,c10182d +d5ff94,c1017fe d5ff98,44d9f800 -d62100,c1015e0 +d62100,c1015a8 d62110,3c014248 d62128,0 d6215c,0 -d621cc,c1015ee +d621cc,c1015b6 d621dc,3c014248 d6221c,0 -d68d68,c101598 +d68d68,c101560 d68d6c,afb20044 d68d70,3c098040 -d68d74,25295658 +d68d74,25295578 d68d78,81290000 d68d7c,11200186 d68d80,8fbf004c -d68d84,c1015ac +d68d84,c101574 d68d88,f7b80030 -d69c80,c1015b4 -d6cc18,c101636 +d69c80,c10157c +d6cc18,c1015fe d6cc1c,0 -d6cdd4,c10163a +d6cdd4,c101602 d6cdd8,0 d73118,0 d73128,0 d74964,1000000a -d7c864,944b0edc -d7c868,316c0200 d7e140,340e0001 d7e144,806f0ede d7e160,3c04801d @@ -1042,45 +1101,45 @@ d7e8d4,340e0001 d7e8d8,804f0ede d7e8e0,5700000f d7eb4c,0 -d7eb70,c1016d5 +d7eb70,c1016a6 d7eb74,acc80004 d7ebbc,0 -d7ebc8,c1016dd +d7ebc8,c1016ae d7ebf0,27bdffe8 d7ebf4,afbf0014 -d7ebf8,c1016e8 +d7ebf8,c1016b9 d7ebfc,8ca21c44 d7ec04,0 -d7ec10,c1016ec +d7ec10,c1016bd d7ec14,971804c6 d7ec2c,0 -d7ec34,c101703 +d7ec34,c1016d4 d7ec40,0 d7ec54,0 -d7ec60,81016f5 -d7ec70,810171b +d7ec60,81016c6 +d7ec70,81016ec da1d60,28c10221 da1f94,24190221 db1338,24490065 db13d0,24090076 -db3244,8101008 -db32c8,c1019a3 -db532c,c10094e -db53e8,8106d35 +db3244,8100fd0 +db32c8,c101973 +db532c,c10091d +db53e8,8107ce9 db53ec,0 -db9e14,c101ae0 +db9e14,c101ad0 dbec80,34020000 -dbf428,c100d70 +dbf428,c100d36 dbf434,44989000 dbf438,e652019c dbf484,0 dbf4a8,0 -dc689c,c100daf +dc689c,c100d77 dc68a0,8e180134 -dc6af0,c100daf +dc6af0,c100d77 dc6af4,8e180134 dc6afc,ae090004 -dc7090,c100d90 +dc7090,c100d56 dc7094,c60a0198 dc87a0,0 dc87bc,0 @@ -1090,20 +1149,12 @@ dcbea8,3c014248 dcbf24,3c014248 dcbf30,3c014230 dcbf9c,3c014230 -dcc138,c100d99 -dcc7e4,c100da3 +dcc138,c100d61 +dcc7e4,c100d6b dcc7e8,908a34db -dd366c,3c0140d0 -dd367c,3c064000 -dd3684,3c074000 -dd3688,0 -dd368c,0 -dd3744,3c0140d0 -dd3754,3c064000 -dd375c,3c074000 -dd3760,0 -dd3764,0 -de1018,c106d4e +dd3534,c101c48 +dd3538,0 +de1018,c107d02 de101c,0 de1020,0 de1024,0 @@ -1113,50 +1164,54 @@ de1030,0 de1034,0 de1038,0 de103c,0 -de1050,8106d4e +de1050,8107d02 de1054,0 -de6f60,810714b +de6f60,81080d0 de6f64,0 -de7ac8,81070de +de7ac8,8108063 de7acc,0 de7b0c,19c -de7c60,810739a +de7c60,810842e de7c64,0 -de89fc,8107380 +de89fc,8108414 de8a00,0 de8a5c,1a0 -de8c94,8103705 +de8c94,8103fdd de8c98,0 -de8e54,c1037b2 +de8e54,c104093 de8e58,0 de8e5c,0 de8e60,0 de8e64,0 -de9198,c101a81 +de9198,c101a1c de919c,0 de9250,0 de9254,0 de9258,0 de925c,0 -de9408,c101aa8 +de9408,c101a43 de940c,0 -de9630,c101ad0 +de9630,c101a6b de9634,0 de96f8,1d0 -def73c,c10186f +def73c,c10183f def740,0 -df141c,c101949 +df141c,c101919 df1424,8fbf001c df142c,27bd0020 df2644,76 -df3fc0,8107387 +df3fc0,810841b df3fc4,0 df7a90,340e0018 df7a94,8c4f00a0 -df7cb0,c100bb9 -dfa520,81073b4 +df7cb0,c100b7f +df8174,c101c3b +df8178,0 +df824c,0 +df8298,0 +dfa520,8108465 dfa524,0 -dfafc4,8107393 +dfafc4,8108427 dfafc8,0 dfb038,1ac dfec3c,3c188012 @@ -1165,8 +1220,8 @@ dfec48,33190010 dfec4c,0 e09f68,806f0ede e09f74,31f80004 -e09fb0,c100940 -e0ec50,c101586 +e09fb0,c10090f +e0ec50,c10154e e0ec54,2202825 e0ff64,0 e10794,1 @@ -1186,44 +1241,44 @@ e11ebc,0 e11ec0,0 e11ec4,0 e11ec8,0 -e11f90,c100a04 +e11f90,c1009d3 e11f94,0 -e1216c,c1019aa +e1216c,c10197a e12170,0 -e12a04,c1017cc +e12a04,c10179d e12a20,ac8302a4 -e1e9a0,c10190a -e1e9dc,c101917 -e1ecd4,c101924 +e1e9a0,c1018da +e1e9dc,c1018e7 +e1ecd4,c1018f4 e1ecdc,0 -e1ed64,c10192f +e1ed64,c1018ff e1ed68,0 e1f72c,27bdffe8 e1f730,afbf0014 -e1f734,c101811 +e1f734,c1017e2 e1f738,0 e1f73c,8fbf0014 e1f740,27bd0018 e1f744,28410005 e1f748,14200012 e1f74c,24010005 -e1feac,c101823 +e1feac,c1017f4 e1feb0,3c0743cf -e20410,c101201 +e20410,c1011c9 e20414,0 -e206dc,c10120f +e206dc,c1011d7 e206e0,0 -e2076c,c10121f +e2076c,c1011e7 e20770,afa40020 -e20798,c101217 +e20798,c1011df e2079c,0 -e20bc8,c101860 -e24e7c,c1009d1 +e20bc8,c101830 +e24e7c,c1009a0 e24e80,0 -e29388,810095c -e2a044,c100965 -e2b0b4,c10096d -e2b434,c100e23 +e29388,810092b +e2a044,c100934 +e2b0b4,c10093c +e2b434,c100deb e2b438,0 e2b43c,0 e2b440,0 @@ -1235,103 +1290,96 @@ e2b454,0 e2b458,0 e2b45c,0 e2b460,0 -e2bddc,c100f78 -e2be10,c100f6c +e2bddc,c100f40 +e2be10,c100f34 e2be14,0 -e2c03c,c100f50 +e2c03c,c100f18 e2c040,2442a5d0 e2cc1c,3c058012 e2cc20,24a5a5d0 e2cc24,86080270 e2cc28,15000009 e2cc2c,90b9008a -e2d714,c100dc6 +e2d714,c100d8e e2d71c,340900bf e2d720,0 -e2d890,c100dd5 +e2d890,c100d9d e2d894,0 -e2e070,c101e50 +e2e070,c101fca e2e074,96040232 e2e078,401825 e2e07c,10000018 e2e080,a7a3004e -e2edd4,c101eb4 +e2edd4,c10202e e2edd8,84c4014a e2eddc,0 e2ede4,0 e2f090,34 -e429dc,c100a7c +e429dc,c100a4b e429e0,0 e429e4,10000053 e429e8,0 -e42b5c,c100a62 +e42b5c,c100a31 e42b64,1000000d e42b68,0 -e42c00,c100a5a -e42c44,c100ac3 +e42c00,c100a29 +e42c44,c100a92 e42c48,860e008a e42c4c,15400045 -e435b4,c101b7f -e437a8,c101b92 +e435b4,c101b74 +e437a8,c101b87 e437ac,0 -e43874,c101b89 +e43874,c101b7e e43878,803025 -e47c08,b825 -e47c0c,c101a1a -e47c10,2802025 -e47c18,34060004 +e43964,c101b8f +e43968,0 +e43a0c,c101ba3 +e43a10,0 +e47c08,2002025 +e47c0c,b825 +e47c14,c1082af +e47c18,2e03025 e47c20,177040 e47c34,26f70001 -e47c38,56f1fff4 +e47c38,56f1fff5 +e47c3c,2002025 e47c5c,b825 -e47c60,c101a23 -e47c74,0 +e47c68,2002025 +e47c70,c1082f2 +e47c74,2e03025 e47c7c,17c840 e47c90,26f70001 -e47c94,56f1fff2 -e47d6c,c101a2f -e47d70,0 -e47d74,0 -e47d78,0 -e47d7c,0 -e47d80,0 -e47d84,0 -e47d88,0 -e47d8c,0 -e47d90,0 -e47d94,0 -e47d98,0 -e47d9c,0 -e47da0,0 -e47da4,0 -e47da8,8fbf0034 -e47db0,0 -e50888,c101963 +e47c94,56f1fff5 +e47c98,2002025 +e47d6c,2002025 +e47d74,c108334 +e47d80,2002025 +e47d94,c108334 +e50888,c101933 e535e4,a60a010e e538c4,1f5825 -e538c8,c10184f +e538c8,c10181f e538d4,bf825 e55c4c,340c0000 -e5621c,c10157f +e5621c,c101547 e56220,a60f010e e56290,0 e56294,340b401f e56298,0 -e565d0,c101569 +e565d0,c101531 e565d4,0 e565d8,2002025 -e56b38,c101578 -e56b60,c101578 +e56b60,c101540 e56b64,34010035 -e56b98,c101583 +e56b98,c10154b e56b9c,a4a001d0 -e571d0,3c038043 -e571d4,906d10b8 +e571d0,3c038044 +e571d4,906d20a8 e571d8,340c0001 e571dc,11ac0004 e571e0,0 -e57208,3c038043 -e5720c,906d10b8 +e57208,3c038044 +e5720c,906d20a8 e57210,340c0002 e57214,11ac000d e57218,0 @@ -1346,17 +1394,17 @@ e57238,0 e5723c,0 e59cd4,0 e59cd8,0 -e59e68,8106e02 +e59e68,8107dc2 e59e6c,0 -e59ecc,8106e52 +e59ecc,8107e13 e59ed0,0 -e5b2f4,c1017fa +e5b2f4,c1017cb e5b2f8,afa5001c -e5b538,c101806 +e5b538,c1017d7 e5b53c,3c07461c -e5b5c8,c100df7 -e5b5dc,c100e05 -e60d00,c101956 +e5b5c8,c100dbf +e5b5dc,c100dcd +e60d00,c101926 e62630,a48001f8 e62634,2463a5d0 e62638,94790ed4 @@ -1411,18 +1459,18 @@ e6befc,0 e6bf4c,340d0000 e6bf50,0 e7cc90,240e000c -e7d19c,c1016ac +e7d19c,c10167d e7d1a0,3c050600 e7d1a4,10a80003 e7d1a8,3025 e81128,35cf0080 -e9474c,c101b6f +e9474c,c101b64 e94750,0 -e94760,c101b77 +e94760,c101b6c e94764,0 -e94774,c101b62 +e94774,c101b57 e94778,afab0014 -e94b30,c101b58 +e94b30,c101b4d e94b34,a6180204 e94b38,afaa0010 e94b9c,240b908b @@ -1443,24 +1491,24 @@ e9f5b0,3e00008 e9f5b4,0 e9f5b8,0 e9f5bc,0 -e9f678,c100a04 +e9f678,c1009d3 e9f67c,0 -e9f7a8,c100a04 +e9f7a8,c1009d3 e9f7ac,0 ea2664,25299003 eb8e4c,0 eb8e6c,240f0000 eb8ed8,3c0541a0 eb8edc,3c0641a0 -ebb85c,c100ba4 +ebb85c,c100b6a ebb864,14400012 ebb86c,10000014 -ec1120,c100a04 +ec1120,c1009d3 ec1124,0 ec68bc,8fad002c ec68c0,340c000a ec68c4,a5ac0110 -ec68c8,c104649 +ec68c8,c105292 ec68cc,2002021 ec68d0,0 ec68d4,0 @@ -1470,59 +1518,59 @@ ec68e0,0 ec69ac,8fad002c ec69b0,340c000a ec69b4,a5ac0110 -ec69b8,c104649 +ec69b8,c105292 ec69bc,2002021 ec69c0,0 ec69c4,0 ec69c8,0 ec69cc,0 ec69d0,0 -ec6b04,8106d1c +ec6b04,8107cd0 ec6b08,0 -ec746c,8101a52 +ec746c,8101a16 ec7470,0 ec7474,0 ec7478,0 ec747c,0 ec7484,0 ec748c,0 -ec764c,8107076 +ec764c,8108028 ec7650,0 ec783c,1b4 -ec8264,8107164 +ec8264,8108108 ec8268,0 ec832c,1e0c025 -ec8528,81071ac +ec8528,8108143 ec852c,0 ec856c,1b8 ec8d20,24050001 ec9ce4,2419007a -ed0aec,c1019fe -ed0af0,0 -ed0b48,c101a08 -ed0b4c,c648002c +ed0ae8,c1019ce +ed0af8,c1081b4 +ed0b3c,c1019ce +ed0b50,c1081b4 ed2858,20180008 ed2fac,806e0f18 ed2fec,340a0000 ed3170,240d3036 ed31b8,24193036 ed3298,7025 -ed337c,c1018c4 -ed43e4,c1018c4 +ed337c,c101894 +ed43e4,c101894 ed43ec,1300000f -ed4860,c10188f +ed4860,c10185f ed4864,0 -ed5784,c10189f +ed5784,c10186f ed5788,0 ed5a28,340e0018 ed5a2c,8ccf00a0 -ed5c04,c101881 -ed645c,c100dc2 +ed5c04,c101851 +ed645c,c100d8a ed6460,0 ed6574,0 ed665c,a6000582 ed6670,0 -ee7b84,c100f26 +ee7b84,c100eee ee7b8c,0 ee7b90,0 ee7b94,0 @@ -1530,18 +1578,18 @@ ee7b98,0 ee7b9c,0 ee7ba0,0 ee7ba4,0 -ee7e4c,c1010d1 -ef32b8,c1010c6 +ee7e4c,c101099 +ef32b8,c10108e ef32bc,0 ef32c0,8fbf003c -ef36e4,c10109c +ef36e4,c101064 ef36e8,0 -ef373c,c1010ae -ef4f98,c100d35 +ef373c,c101076 +ef4f98,c100cfb ef4f9c,0 ef502c,0 efa318,29e10001 -efe9b4,c101983 +efe9b4,c101953 efe9b8,0 efe9bc,1440002a efe9c0,920301f8 @@ -1586,10 +1634,10 @@ fec1fc,9000000 18b6a4c,98250 26c10e0,38ff 3480000,80400020 -3480004,80400c3c -3480008,80423c30 -348000c,80401d8c -3480020,6 +3480004,80400c44 +3480008,804293e4 +348000c,80401e20 +3480020,7 3480034,dfdfdfdf 3480038,dfdfdfdf 348003c,dfdfdfdf @@ -2102,34710 +2150,40003 @@ fec1fc,9000000 3480828,dfdfdfdf 348082c,dfdfdfdf 3480830,dfdfdfdf -3480c3c,1f073fe2 -3480c40,c8 -3480c44,ff -3480c48,460032 -3480c4c,5a005a -3480c50,ff0000 -3480c54,960000 -3480c58,ff00a0 -3480c60,5000c8 -3480c64,50 -3480c68,ff0050 -3480c6c,9600ff -3480c70,ff00ff -3480c74,32ffff -3480c78,64ffff64 -3480c7c,fa0000fa -3480c80,100 -3480c90,10000 -3480ca0,80404ad0 -3481d68,1 -3481d80,1010101 -3481d84,1010101 -3481d88,1010000 -3481d8c,4 -3481da8,1 -3481dac,ffffffff -3481db0,ffffffff -3481db4,ffffffff -3481db8,ffff0000 -3481dd0,640000 -3481dd4,ffff -3481de0,20202020 -3481de4,20202020 -3481de8,20202020 -3481dec,20202020 -3481df0,20202020 -3481df4,20202020 -3481df8,20202020 -3481dfc,20202020 -3481e00,20202020 -3481e04,20202020 -3481e08,20202020 -3481e0c,20202020 -3481e10,20202020 -3481e14,20202020 -3481e18,20202020 -3481e1c,20202020 -3481e20,20202020 -3481e24,20202020 -3481e28,20202020 -3481e2c,20202020 -3481e30,20202020 -3481e34,20202020 -3481e38,20202020 -3481e3c,20202020 -3481e40,20202020 -3481e44,20202020 -3481e48,20202020 -3481e4c,20202020 -3481e50,20202020 -3481e54,20202020 -3481e58,20202020 -3481e5c,20202020 -3481e60,20202020 -3481e64,20202020 -3481e68,20202020 -3481e6c,20202020 -3481e70,20202020 -3481e74,20202020 -3481e78,20202020 -3481e7c,20202020 -3481e80,20202020 -3481e84,20202020 -3481e88,20202020 -3481e8c,20202020 -3481e90,20202020 -3481e94,20202020 -3481e98,20202020 -3481e9c,20202020 -3481ea0,20202020 -3481ea4,20202020 -3481ea8,20202020 -3481eac,20202000 -3481eb0,27bdffe8 -3481eb4,afbf0010 -3481eb8,c1064a7 -3481ec0,3c028012 -3481ec4,2442d2a0 -3481ec8,240e0140 -3481ecc,3c018010 -3481ed0,ac2ee500 -3481ed4,240f00f0 -3481ed8,8fbf0010 -3481edc,3e00008 -3481ee0,27bd0018 -3481ee4,3c088040 -3481ee8,ac4815d4 -3481eec,3e00008 -3481ef0,340215c0 -3481ef4,308400ff -3481ef8,3c088012 -3481efc,2508a5d0 -3481f00,3401008c -3481f04,10810016 -3481f08,91020075 -3481f0c,3401008d -3481f10,10810013 -3481f14,91020075 -3481f18,10800011 -3481f1c,91020074 -3481f20,3401008a -3481f24,1081000e -3481f28,91020074 -3481f2c,3401008b -3481f30,1081000b -3481f34,91020074 -3481f38,34010058 -3481f3c,10810008 -3481f40,34020000 -3481f44,34010078 -3481f48,10810005 -3481f4c,34020000 -3481f50,34010079 -3481f54,10810002 -3481f58,34020000 -3481f5c,340200ff -3481f60,3e00008 -3481f68,8fa60030 -3481f6c,81007e0 -3481f70,84c50004 -3481f74,8fb9002c -3481f78,81007e0 -3481f7c,87250004 -3481f80,3c0a8043 -3481f84,254a85fc -3481f88,8d4a0000 -3481f8c,11400004 -3481f94,3c058043 -3481f98,24a585f0 -3481f9c,8ca50000 -3481fa0,3e00008 -3481fa8,3c088043 -3481fac,250885fc -3481fb0,8d080000 -3481fb4,11000004 -3481fbc,3c038043 -3481fc0,246385ec -3481fc4,8c630000 -3481fc8,30fc3 -3481fcc,614026 -3481fd0,1014023 -3481fd4,a0880852 -3481fd8,3e00008 -3481fe0,3c088040 -3481fe4,25081d6b -3481fe8,91080000 -3481fec,1500000c -3481ff0,240bffff -3481ff4,3c088043 -3481ff8,250885fc -3481ffc,8d080000 -3482000,11000007 -3482004,1405821 -3482008,3c088043 -348200c,250885e8 -3482010,8d080000 -3482014,15000002 -3482018,240bffff -348201c,340b0001 -3482020,5600009 -3482028,27bdffe8 -348202c,afab0010 -3482030,afbf0014 -3482034,c01c508 -348203c,8fab0010 -3482040,8fbf0014 -3482044,27bd0018 -3482048,3e00008 -3482050,90450003 -3482054,3c088043 -3482058,250885fc -348205c,8d080000 -3482060,11000004 -3482068,3c058043 -348206c,24a585f4 -3482070,8ca50000 -3482074,3e00008 -348207c,27bdffe8 -3482080,afb00010 -3482084,afbf0014 -3482088,3c088043 -348208c,25088600 -3482090,8d080000 -3482094,31080001 -3482098,1500000b -348209c,34100041 -34820a0,3c048043 -34820a4,248485fc -34820a8,8c840000 -34820ac,10800006 -34820b0,90500000 -34820b4,3c088043 -34820b8,250885f8 -34820bc,8d100000 -34820c0,c105ee7 -34820c8,c10421a -34820d0,2002821 -34820d4,8fb00010 +3480c44,1f073fe2 +3480c48,c8 +3480c4c,ff +3480c50,460032 +3480c54,5a005a +3480c58,ff0000 +3480c5c,960000 +3480c60,ff00a0 +3480c68,5000c8 +3480c6c,50 +3480c70,ff0050 +3480c74,9600ff +3480c78,ff00ff +3480c7c,32ffff +3480c80,64ffff64 +3480c84,fa0000fa +3480c88,100 +3480c98,10000 +3480ca8,804049f0 +3481dd0,1 +3481de8,1010101 +3481dec,1010101 +3481df0,1010000 +3481e20,5 +3481e3c,1 +3481e40,ffffffff +3481e44,ffffffff +3481e48,ffffffff +3481e4c,ffff0000 +3481e64,640000 +3481e68,ffff +3481f48,27bdffe8 +3481f4c,afbf0010 +3481f50,c1073a6 +3481f58,3c028012 +3481f5c,2442d2a0 +3481f60,240e0140 +3481f64,3c018010 +3481f68,ac2ee500 +3481f6c,240f00f0 +3481f70,8fbf0010 +3481f74,3e00008 +3481f78,27bd0018 +3481f7c,3c088040 +3481f80,ac4815d4 +3481f84,3e00008 +3481f88,340215c0 +3481f8c,308400ff +3481f90,3c088012 +3481f94,2508a5d0 +3481f98,3401008c +3481f9c,10810016 +3481fa0,91020075 +3481fa4,3401008d +3481fa8,10810013 +3481fac,91020075 +3481fb0,10800011 +3481fb4,91020074 +3481fb8,3401008a +3481fbc,1081000e +3481fc0,91020074 +3481fc4,3401008b +3481fc8,1081000b +3481fcc,91020074 +3481fd0,34010058 +3481fd4,10810008 +3481fd8,34020000 +3481fdc,34010078 +3481fe0,10810005 +3481fe4,34020000 +3481fe8,34010079 +3481fec,10810002 +3481ff0,34020000 +3481ff4,340200ff +3481ff8,3e00008 +3482000,8fa60030 +3482004,8100806 +3482008,84c50004 +348200c,8fb9002c +3482010,8100806 +3482014,87250004 +3482018,3c0a8043 +348201c,254af580 +3482020,8d4a0000 +3482024,11400004 +348202c,3c058043 +3482030,24a5f574 +3482034,8ca50000 +3482038,3e00008 +3482040,3c088043 +3482044,2508f580 +3482048,8d080000 +348204c,11000004 +3482054,3c038043 +3482058,2463f570 +348205c,8c630000 +3482060,30fc3 +3482064,614026 +3482068,1014023 +348206c,a0880852 +3482070,3e00008 +3482078,3c088040 +348207c,25081dd3 +3482080,91080000 +3482084,1500000c +3482088,240bffff +348208c,3c088043 +3482090,2508f580 +3482094,8d080000 +3482098,11000007 +348209c,1405821 +34820a0,3c088043 +34820a4,2508f56c +34820a8,8d080000 +34820ac,15000002 +34820b0,240bffff +34820b4,340b0001 +34820b8,5600009 +34820c0,27bdffe8 +34820c4,afab0010 +34820c8,afbf0014 +34820cc,c01c508 +34820d4,8fab0010 34820d8,8fbf0014 -34820dc,3e00008 -34820e0,27bd0018 -34820e4,27bdffd8 -34820e8,afa70010 -34820ec,afa20014 -34820f0,afa30018 -34820f4,afbf001c -34820f8,afa50020 -34820fc,afa40024 -3482100,c1042e5 -3482104,e02821 -3482108,8fa70010 -348210c,8fa20014 -3482110,8fa30018 -3482114,8fbf001c -3482118,8fa50020 -348211c,8fa40024 -3482120,3e00008 -3482124,27bd0028 -3482128,27bdffe0 -348212c,afa40010 -3482130,afbf0014 -3482134,c10441d -3482138,122025 -348213c,8fa40010 -3482140,8fbf0014 -3482144,3e00008 -3482148,27bd0020 -348214c,3c108043 -3482150,26108614 -3482154,ae000000 -3482158,8fb00030 -348215c,8fb10034 -3482160,8fb20038 -3482164,3e00008 -3482168,27bd0058 -348216c,3c108043 -3482170,26108614 -3482174,ae000000 -3482178,8fb00030 -348217c,8fb10034 -3482180,8fb20038 -3482184,3e00008 -3482188,27bd0050 -348218c,860e014a -3482190,5c00002 -3482194,25ce0001 -3482198,a60e014a -348219c,3e00008 -34821a4,3c088043 -34821a8,25088614 -34821ac,85090000 -34821b0,a5000000 -34821b4,3e00008 -34821b8,afa9001c -34821bc,27bdff80 -34821c0,afbf0010 -34821c4,afa20014 -34821c8,afa30018 -34821cc,afa4001c -34821d0,afa50020 -34821d4,afa60024 -34821d8,afa70028 -34821dc,afb0002c -34821e0,afb10030 -34821e4,afa10034 -34821e8,602025 -34821ec,2402825 -34821f0,c1045a2 -34821f8,1c40000e -3482200,8fbf0010 -3482204,8fa20014 -3482208,8fa30018 -348220c,8fa4001c -3482210,8fa50020 -3482214,8fa60024 -3482218,8fa70028 -348221c,8fb0002c -3482220,8fb10030 -3482224,8fa10034 -3482228,8fa8003c -348222c,8004b8a -3482230,27bd0080 -3482234,24030003 -3482238,8fbf0010 -348223c,8fa4001c -3482240,8fa50020 -3482244,8fa60024 -3482248,8fa70028 -348224c,8fb0002c -3482250,8fb10030 -3482254,8fa10034 -3482258,10430005 -3482260,8fa20014 -3482264,8fa30018 -3482268,8004be9 -348226c,27bd0080 -3482270,8fa20014 -3482274,8fa30018 -3482278,8004bd6 -348227c,27bd0080 -3482280,27bdff80 -3482284,afbf0010 -3482288,afa20014 -348228c,afa30018 -3482290,afa4001c -3482294,afa50020 -3482298,afa60024 -348229c,afa70028 -34822a0,afb0002c -34822a4,afb10030 -34822a8,afa10034 -34822ac,c106c7a -34822b4,1c40000d -34822bc,8fbf0010 -34822c0,8fa20014 -34822c4,8fa30018 -34822c8,8fa4001c -34822cc,8fa50020 -34822d0,8fa60024 -34822d4,8fa70028 -34822d8,8fb0002c -34822dc,8fb10030 -34822e0,8fa10034 -34822e4,c004c54 -34822ec,8fbf0010 +34820dc,27bd0018 +34820e0,3e00008 +34820e8,90450003 +34820ec,3c088043 +34820f0,2508f580 +34820f4,8d080000 +34820f8,11000004 +3482100,3c058043 +3482104,24a5f578 +3482108,8ca50000 +348210c,3e00008 +3482114,27bdffe8 +3482118,afb00010 +348211c,afbf0014 +3482120,3c088043 +3482124,2508f584 +3482128,8d080000 +348212c,31080001 +3482130,1500000b +3482134,34100041 +3482138,3c048043 +348213c,2484f580 +3482140,8c840000 +3482144,10800006 +3482148,90500000 +348214c,3c088043 +3482150,2508f57c +3482154,8d100000 +3482158,c106ded +3482160,c104d7a +3482168,2002821 +348216c,8fb00010 +3482170,8fbf0014 +3482174,3e00008 +3482178,27bd0018 +348217c,27bdffd8 +3482180,afa70010 +3482184,afa20014 +3482188,afa30018 +348218c,afbf001c +3482190,afa50020 +3482194,afa40024 +3482198,c104e8c +348219c,e02821 +34821a0,8fa70010 +34821a4,8fa20014 +34821a8,8fa30018 +34821ac,8fbf001c +34821b0,8fa50020 +34821b4,8fa40024 +34821b8,3e00008 +34821bc,27bd0028 +34821c0,27bdffe0 +34821c4,afa40010 +34821c8,afbf0014 +34821cc,c105045 +34821d0,122025 +34821d4,8fa40010 +34821d8,8fbf0014 +34821dc,3e00008 +34821e0,27bd0020 +34821e4,3c108043 +34821e8,2610f59c +34821ec,ae000000 +34821f0,8fb00030 +34821f4,8fb10034 +34821f8,8fb20038 +34821fc,3e00008 +3482200,27bd0058 +3482204,3c108043 +3482208,2610f59c +348220c,ae000000 +3482210,8fb00030 +3482214,8fb10034 +3482218,8fb20038 +348221c,3e00008 +3482220,27bd0050 +3482224,860e014a +3482228,5c00002 +348222c,25ce0001 +3482230,a60e014a +3482234,3e00008 +348223c,27bdff80 +3482240,afbf0010 +3482244,afa20014 +3482248,afa30018 +348224c,afa4001c +3482250,afa50020 +3482254,afa60024 +3482258,afa70028 +348225c,afb0002c +3482260,afb10030 +3482264,afa10034 +3482268,602025 +348226c,2402825 +3482270,c1051e0 +3482278,1c40000e +3482280,8fbf0010 +3482284,8fa20014 +3482288,8fa30018 +348228c,8fa4001c +3482290,8fa50020 +3482294,8fa60024 +3482298,8fa70028 +348229c,8fb0002c +34822a0,8fb10030 +34822a4,8fa10034 +34822a8,8fa8003c +34822ac,8004b8a +34822b0,27bd0080 +34822b4,24030003 +34822b8,8fbf0010 +34822bc,8fa4001c +34822c0,8fa50020 +34822c4,8fa60024 +34822c8,8fa70028 +34822cc,8fb0002c +34822d0,8fb10030 +34822d4,8fa10034 +34822d8,10430005 +34822e0,8fa20014 +34822e4,8fa30018 +34822e8,8004be9 +34822ec,27bd0080 34822f0,8fa20014 34822f4,8fa30018 -34822f8,8fa4001c -34822fc,8fa50020 -3482300,8fa60024 -3482304,8fa70028 -3482308,8fb0002c -348230c,8fb10030 -3482310,8fa10034 -3482314,3e00008 -3482318,27bd0080 -348231c,27bdff80 -3482320,afbf0010 -3482324,afa20014 -3482328,afa30018 -348232c,afa4001c -3482330,afa50020 -3482334,afa60024 -3482338,afa70028 -348233c,afb0002c -3482340,afb10030 -3482344,afa10034 -3482348,c106c7a -3482350,1040000e -3482358,8fbf0010 -348235c,8fa20014 -3482360,8fa30018 -3482364,8fa4001c -3482368,8fa50020 -348236c,8fa60024 -3482370,8fa70028 -3482374,8fb0002c -3482378,8fb10030 -348237c,8fa10034 -3482380,27bd0080 -3482384,8004c2c -348238c,8fbf0010 -3482390,8fa20014 -3482394,8fa30018 -3482398,8fa4001c -348239c,8fa50020 -34823a0,8fa60024 -34823a4,8fa70028 -34823a8,8fb0002c -34823ac,8fb10030 -34823b0,8fa10034 -34823b4,27bd0080 -34823b8,84c2014a -34823bc,3e00008 -34823c0,2401ffff -34823c4,27bdffe8 -34823c8,afbf0010 -34823cc,8c881d2c -34823d0,34090001 -34823d4,94e00 -34823d8,1091024 -34823dc,10400021 -34823e4,94ca02dc -34823e8,3c0b8012 -34823ec,256ba5d0 -34823f0,948c00a4 -34823f4,3401003d -34823f8,1181000a -3482400,8a6021 -3482404,918d1d28 -3482408,15a00014 -3482410,340d0001 -3482414,a18d1d28 -3482418,254a0013 -348241c,1000000a -3482424,340c0001 -3482428,14c6004 -348242c,916d0ef2 -3482430,1ac7024 -3482434,15c00009 -348243c,1ac7025 -3482440,a16e0ef2 -3482444,254a0010 -3482448,1294827 -348244c,1094024 -3482450,ac881d2c -3482454,c1041c5 -3482458,1402021 -348245c,c107459 -3482464,8fbf0010 -3482468,34020000 +34822f8,8004bd6 +34822fc,27bd0080 +3482300,27bdffe8 +3482304,afbf0010 +3482308,8c881d2c +348230c,34090001 +3482310,94e00 +3482314,1091024 +3482318,10400021 +3482320,94ca02dc +3482324,3c0b8012 +3482328,256ba5d0 +348232c,948c00a4 +3482330,3401003d +3482334,1181000a +348233c,8a6021 +3482340,918d1d28 +3482344,15a00014 +348234c,340d0001 +3482350,a18d1d28 +3482354,254a0013 +3482358,1000000a +3482360,340c0001 +3482364,14c6004 +3482368,916d0ef2 +348236c,1ac7024 +3482370,15c00009 +3482378,1ac7025 +348237c,a16e0ef2 +3482380,254a0010 +3482384,1294827 +3482388,1094024 +348238c,ac881d2c +3482390,c104d15 +3482394,1402021 +3482398,c10852a +34823a0,8fbf0010 +34823a4,34020000 +34823a8,3e00008 +34823ac,27bd0018 +34823b0,27bdffe8 +34823b4,afbf0010 +34823b8,c104d15 +34823bc,20e4ffc6 +34823c0,340200ff +34823c4,8fbf0010 +34823c8,3e00008 +34823cc,27bd0018 +34823d0,27bdffe0 +34823d4,afa10010 +34823d8,afa30014 +34823dc,afbf0018 +34823e0,c104d15 +34823e4,34040023 +34823e8,8fa10010 +34823ec,8fa30014 +34823f0,8fbf0018 +34823f4,3e00008 +34823f8,27bd0020 +34823fc,27bdffe0 +3482400,afa60010 +3482404,afa70014 +3482408,afbf0018 +348240c,3c018012 +3482410,2421a5d0 +3482414,80280ede +3482418,35080001 +348241c,a0280ede +3482420,c104d15 +3482424,34040027 +3482428,8fa60010 +348242c,8fa70014 +3482430,8fbf0018 +3482434,3e00008 +3482438,27bd0020 +348243c,27bdffe8 +3482440,afa30010 +3482444,afbf0014 +3482448,3c018012 +348244c,2421a5d0 +3482450,80280ede +3482454,35080004 +3482458,a0280ede +348245c,c104d15 +3482460,34040029 +3482464,8fa30010 +3482468,8fbf0014 348246c,3e00008 3482470,27bd0018 -3482474,27bdffe8 -3482478,afbf0010 -348247c,c1041c5 -3482480,20e4ffc6 -3482484,340200ff -3482488,8fbf0010 -348248c,3e00008 -3482490,27bd0018 -3482494,27bdffe0 -3482498,afa10010 -348249c,afa30014 -34824a0,afbf0018 -34824a4,c1041c5 -34824a8,34040023 -34824ac,8fa10010 -34824b0,8fa30014 -34824b4,8fbf0018 -34824b8,3e00008 -34824bc,27bd0020 -34824c0,27bdffe0 -34824c4,afa60010 -34824c8,afa70014 -34824cc,afbf0018 -34824d0,3c018012 -34824d4,2421a5d0 -34824d8,80280ede -34824dc,35080001 -34824e0,a0280ede -34824e4,c1041c5 -34824e8,34040027 -34824ec,8fa60010 -34824f0,8fa70014 -34824f4,8fbf0018 -34824f8,3e00008 -34824fc,27bd0020 -3482500,27bdffe8 -3482504,afa30010 -3482508,afbf0014 -348250c,3c018012 -3482510,2421a5d0 -3482514,80280ede -3482518,35080004 -348251c,a0280ede -3482520,c1041c5 -3482524,34040029 -3482528,8fa30010 -348252c,8fbf0014 -3482530,3e00008 -3482534,27bd0018 -3482538,27bdffd8 -348253c,afa40010 -3482540,afa20014 -3482544,afaf0018 -3482548,afbf0020 -348254c,c1041c5 -3482550,3404002a -3482554,34050003 -3482558,8fa40010 -348255c,8fa20014 -3482560,8faf0018 -3482564,8fbf0020 -3482568,3e00008 -348256c,27bd0028 -3482570,607821 -3482574,81ec0edf -3482578,318e0080 -348257c,11c00003 -3482580,34030005 -3482584,3e00008 -3482588,34020002 -348258c,3e00008 -3482590,601021 -3482594,85c200a4 -3482598,3c088012 -348259c,2508a5d0 -34825a0,81090edf -34825a4,35290080 -34825a8,a1090edf -34825ac,3e00008 -34825b4,27bdfff0 -34825b8,afbf0004 -34825bc,c035886 -34825c4,3c0c8012 -34825c8,258ca5d0 -34825cc,858d0f2e -34825d0,8d980004 -34825d4,13000002 -34825d8,340e0001 -34825dc,340e0002 -34825e0,1ae6825 -34825e4,a58d0f2e -34825e8,8fbf0004 -34825ec,27bd0010 -34825f0,3e00008 -34825f8,24090041 -34825fc,27bdffe0 -3482600,afa80004 -3482604,afa90008 -3482608,afaa000c -348260c,afac0010 -3482610,3c0affff -3482614,a5403 -3482618,3c08801d -348261c,850c894c -3482620,118a0002 -3482628,a500894c -348262c,3c08801e -3482630,810a887c -3482634,11400009 -348263c,3c090036 -3482640,94c03 -3482644,a109887c -3482648,3c090002 -348264c,94c03 -3482650,a109895f -3482654,3c08801f -3482658,a1008d38 -348265c,8fac0010 -3482660,8faa000c -3482664,8fa90008 -3482668,8fa80004 -348266c,3e00008 -3482670,27bd0020 -3482678,3c0a8010 -348267c,254ae49c -3482680,8d4a0000 -3482684,1140001e -348268c,3c08801d -3482690,250884a0 -3482694,3c0b0001 -3482698,356b04c4 -348269c,10b4020 -34826a0,85090000 -34826a4,3c0b0002 -34826a8,356b26cc -34826ac,14b5020 -34826b0,94840 -34826b4,12a5021 -34826b8,85490000 -34826bc,a5091956 -34826c0,3c0c801e -34826c4,258c84a0 -34826c8,34090003 -34826cc,a1891e5e -34826d0,34090014 -34826d4,a1091951 -34826d8,34090001 -34826dc,3c018040 -34826e0,a0292674 -34826e4,3c088012 -34826e8,2508a5d0 -34826ec,850913d2 -34826f0,11200003 -34826f8,34090001 -34826fc,a50913d4 -3482700,3e00008 -3482708,3421241c -348270c,3c0d8040 -3482710,25ad2674 -3482714,81a90000 -3482718,11200008 -348271c,862a00a4 -3482720,340b005e -3482724,114b0005 -3482728,3c0c801e -348272c,258c84a0 -3482730,34090003 -3482734,a1891e5e -3482738,a1a00000 -348273c,3e00008 -3482744,3c02801d -3482748,244284a0 -348274c,3c010001 -3482750,411020 -3482754,3401047e -3482758,a4411e1a -348275c,34010014 -3482760,3e00008 -3482764,a0411e15 -3482768,27bdffe8 -348276c,afbf0014 -3482770,afa40018 -3482774,8e190004 -3482778,17200015 -348277c,8e190000 -3482780,3c018010 -3482784,24219c90 -3482788,19c880 -348278c,3210820 -3482790,90210000 -3482794,34190052 -3482798,1721000d -348279c,8e190000 -34827a0,960200a6 -34827a4,304c0007 -34827a8,398c0007 -34827ac,15800008 -34827b0,240400aa -34827b4,c00a22d -34827bc,14400004 -34827c0,8e190000 -34827c4,341900db -34827c8,10000002 -34827cc,ae190000 -34827d0,340101e1 -34827d4,8fbf0014 -34827d8,8fa40018 -34827dc,3e00008 -34827e0,27bd0018 -34827e4,3c088040 -34827e8,81081d73 -34827ec,11000005 -34827f0,3c018012 -34827f4,2421a5d0 -34827f8,80280ed6 -34827fc,35080001 -3482800,a0280ed6 -3482804,34080000 -3482808,3e00008 -348280c,adf90000 -3482810,3c0b801d -3482814,256b84a0 -3482818,856b00a4 -348281c,340c000c -3482820,116c0005 -3482824,340c005a -3482828,156c000b -348282c,340b01a5 -3482830,a42b1e1a -3482834,10000016 -3482838,3c0b8040 -348283c,816b1d74 -3482840,11600005 -3482844,3c0c8012 -3482848,258ca5d0 -348284c,8d8b0000 -3482850,a42b1e1a -3482854,1000000e -3482858,3c0c8012 -348285c,258ca5d0 -3482860,8d8c0004 -3482864,15800008 -3482868,3c0b8040 -348286c,816b1d73 -3482870,11600007 -3482874,842b1e1a -3482878,340c01a5 -348287c,116c0002 -3482884,10000002 -3482888,340b0129 -348288c,a42b1e1a -3482890,3e00008 -348289c,2202825 -34828a0,3c0a801e -34828a4,254aaa30 -34828a8,c544002c -34828ac,3c0bc43c -34828b0,256b8000 -34828b4,448b3000 -34828b8,4606203c -34828c0,45000026 -34828c8,c5440024 -34828cc,3c0bc28a -34828d0,448b3000 -34828d4,4606203c -34828dc,4501001f -34828e4,3c0b41c8 -34828e8,448b3000 -34828ec,4606203c -34828f4,45000019 -34828fc,3c098040 -3482900,25292898 -3482904,814b0424 -3482908,1160000e -348290c,812e0000 -3482910,340c007e -3482914,116c000b -348291c,15c00009 -3482920,340c0001 -3482924,a12c0000 -3482928,3c0dc1a0 -348292c,ad4d0024 -3482930,3c0d4120 -3482934,ad4d0028 -3482938,3c0dc446 -348293c,25ad8000 -3482940,ad4d002c -3482944,11c00005 -348294c,15600003 -3482950,340d8000 -3482954,a54d00b6 -3482958,a1200000 -348295c,3e00008 -3482968,3c0a801e -348296c,254aaa30 -3482970,8d4b066c -3482974,3c0cd000 -3482978,258cffff -348297c,16c5824 -3482980,3e00008 -3482984,ad4b066c -3482988,27bdffe0 -348298c,afbf0014 -3482990,afa40018 -3482994,1c17825 -3482998,ac4f0680 -348299c,34040001 -34829a0,c01b638 -34829a8,3c088040 -34829ac,81081d6d -34829b0,15000007 -34829b8,3c04801d -34829bc,248484a0 -34829c0,3c058040 -34829c4,80a51d6e -34829c8,c037500 -34829d0,8fa40018 -34829d4,8c880138 -34829d8,8d090010 -34829dc,252a03d4 -34829e0,ac8a029c -34829e4,8fbf0014 -34829e8,3e00008 -34829ec,27bd0020 -34829f0,27bdffe0 -34829f4,afbf0014 -34829f8,afa40018 -34829fc,3c088040 -3482a00,81081d6d -3482a04,1500001a -3482a0c,3c09801e -3482a10,2529887c -3482a14,81280000 -3482a18,340b0036 -3482a1c,150b001e -3482a24,3c088040 -3482a28,81082964 -3482a2c,1500001a -3482a34,34080001 -3482a38,3c018040 -3482a3c,a0282964 -3482a40,3c04801d -3482a44,248484a0 -3482a48,3c058040 -3482a4c,90a51d6f -3482a50,34060000 -3482a54,c037385 -3482a5c,34044802 -3482a60,c0191bc -3482a68,10000025 -3482a70,3c04801d -3482a74,248484a0 -3482a78,34050065 -3482a7c,c01bf73 -3482a84,34040032 -3482a88,c01b638 -3482a90,1000000c -3482a98,8fa40018 -3482a9c,3c05801d -3482aa0,24a584a0 -3482aa4,c008ab4 -3482aac,10400014 -3482ab4,3c088040 -3482ab8,81082964 -3482abc,11000010 -3482ac4,8fa40018 -3482ac8,8c880138 -3482acc,8d090010 -3482ad0,252a035c -3482ad4,ac8a029c -3482ad8,3c028012 -3482adc,2442a5d0 -3482ae0,94490ee0 -3482ae4,352a0020 -3482ae8,a44a0ee0 -3482aec,8c880004 -3482af0,3c09ffff -3482af4,2529ffff -3482af8,1094024 -3482afc,ac880004 -3482b00,8fbf0014 -3482b04,3e00008 -3482b08,27bd0020 -3482b0c,860f00b6 -3482b10,9739b4ae -3482b14,3c09801e -3482b18,2529aa30 -3482b1c,8d2a0428 -3482b20,11400005 -3482b28,812a0424 -3482b2c,3409007e -3482b30,15490003 -3482b38,3e00008 -3482b3c,340a0000 -3482b40,3e00008 -3482b44,340a0001 -3482b48,8c8e0134 -3482b4c,15c00002 -3482b50,3c0e4480 -3482b54,ac8e0024 -3482b58,3e00008 -3482b5c,8fae0044 -3482b60,260501a4 -3482b64,27bdffe0 -3482b68,afbf0014 -3482b6c,afa50018 -3482b70,8625001c -3482b74,52a03 -3482b78,c008134 -3482b7c,30a5003f -3482b80,8fa50018 -3482b84,8fbf0014 +3482474,27bdffd8 +3482478,afa40010 +348247c,afa20014 +3482480,afaf0018 +3482484,afbf0020 +3482488,c104d15 +348248c,3404002a +3482490,34050003 +3482494,8fa40010 +3482498,8fa20014 +348249c,8faf0018 +34824a0,8fbf0020 +34824a4,3e00008 +34824a8,27bd0028 +34824ac,607821 +34824b0,81ec0edf +34824b4,318e0080 +34824b8,11c00003 +34824bc,34030005 +34824c0,3e00008 +34824c4,34020002 +34824c8,3e00008 +34824cc,601021 +34824d0,85c200a4 +34824d4,3c088012 +34824d8,2508a5d0 +34824dc,81090edf +34824e0,35290080 +34824e4,a1090edf +34824e8,3e00008 +34824f0,27bdfff0 +34824f4,afbf0004 +34824f8,c035886 +3482500,3c0c8012 +3482504,258ca5d0 +3482508,858d0f2e +348250c,8d980004 +3482510,13000002 +3482514,340e0001 +3482518,340e0002 +348251c,1ae6825 +3482520,a58d0f2e +3482524,8fbf0004 +3482528,27bd0010 +348252c,3e00008 +3482534,24090041 +3482538,27bdffe0 +348253c,afa80004 +3482540,afa90008 +3482544,afaa000c +3482548,afac0010 +348254c,3c0affff +3482550,a5403 +3482554,3c08801d +3482558,850c894c +348255c,118a0002 +3482564,a500894c +3482568,3c08801e +348256c,810a887c +3482570,11400009 +3482578,3c090036 +348257c,94c03 +3482580,a109887c +3482584,3c090002 +3482588,94c03 +348258c,a109895f +3482590,3c08801f +3482594,a1008d38 +3482598,8fac0010 +348259c,8faa000c +34825a0,8fa90008 +34825a4,8fa80004 +34825a8,3e00008 +34825ac,27bd0020 +34825b4,3c0a8010 +34825b8,254ae49c +34825bc,8d4a0000 +34825c0,1140001e +34825c8,3c08801d +34825cc,250884a0 +34825d0,3c0b0001 +34825d4,356b04c4 +34825d8,10b4020 +34825dc,85090000 +34825e0,3c0b0002 +34825e4,356b26cc +34825e8,14b5020 +34825ec,94840 +34825f0,12a5021 +34825f4,85490000 +34825f8,a5091956 +34825fc,3c0c801e +3482600,258c84a0 +3482604,34090003 +3482608,a1891e5e +348260c,34090014 +3482610,a1091951 +3482614,34090001 +3482618,3c018040 +348261c,a02925b0 +3482620,3c088012 +3482624,2508a5d0 +3482628,850913d2 +348262c,11200003 +3482634,34090001 +3482638,a50913d4 +348263c,3e00008 +3482644,3421241c +3482648,3c0d8040 +348264c,25ad25b0 +3482650,81a90000 +3482654,11200008 +3482658,862a00a4 +348265c,340b005e +3482660,114b0005 +3482664,3c0c801e +3482668,258c84a0 +348266c,34090003 +3482670,a1891e5e +3482674,a1a00000 +3482678,3e00008 +3482680,3c02801d +3482684,244284a0 +3482688,3c010001 +348268c,411020 +3482690,3401047e +3482694,a4411e1a +3482698,34010014 +348269c,3e00008 +34826a0,a0411e15 +34826a4,27bdffe8 +34826a8,afbf0014 +34826ac,afa40018 +34826b0,8e190004 +34826b4,17200015 +34826b8,8e190000 +34826bc,3c018010 +34826c0,24219c90 +34826c4,19c880 +34826c8,3210820 +34826cc,90210000 +34826d0,34190052 +34826d4,1721000d +34826d8,8e190000 +34826dc,960200a6 +34826e0,304c0007 +34826e4,398c0007 +34826e8,15800008 +34826ec,240400aa +34826f0,c00a22d +34826f8,14400004 +34826fc,8e190000 +3482700,341900db +3482704,10000002 +3482708,ae190000 +348270c,340101e1 +3482710,8fbf0014 +3482714,8fa40018 +3482718,3e00008 +348271c,27bd0018 +3482720,3c088040 +3482724,81081ddb +3482728,11000005 +348272c,3c018012 +3482730,2421a5d0 +3482734,80280ed6 +3482738,35080001 +348273c,a0280ed6 +3482740,34080000 +3482744,3e00008 +3482748,adf90000 +348274c,3c0b801d +3482750,256b84a0 +3482754,856b00a4 +3482758,340c000c +348275c,116c0005 +3482760,340c005a +3482764,156c000b +3482768,340b01a5 +348276c,a42b1e1a +3482770,10000016 +3482774,3c0b8040 +3482778,816b1ddc +348277c,11600005 +3482780,3c0c8012 +3482784,258ca5d0 +3482788,8d8b0000 +348278c,a42b1e1a +3482790,1000000e +3482794,3c0c8012 +3482798,258ca5d0 +348279c,8d8c0004 +34827a0,15800008 +34827a4,3c0b8040 +34827a8,816b1ddb +34827ac,11600007 +34827b0,842b1e1a +34827b4,340c01a5 +34827b8,116c0002 +34827c0,10000002 +34827c4,340b0129 +34827c8,a42b1e1a +34827cc,3e00008 +34827d8,2202825 +34827dc,3c0a801e +34827e0,254aaa30 +34827e4,c544002c +34827e8,3c0bc43c +34827ec,256b8000 +34827f0,448b3000 +34827f4,4606203c +34827fc,45000026 +3482804,c5440024 +3482808,3c0bc28a +348280c,448b3000 +3482810,4606203c +3482818,4501001f +3482820,3c0b41c8 +3482824,448b3000 +3482828,4606203c +3482830,45000019 +3482838,3c098040 +348283c,252927d4 +3482840,814b0424 +3482844,1160000e +3482848,812e0000 +348284c,340c007e +3482850,116c000b +3482858,15c00009 +348285c,340c0001 +3482860,a12c0000 +3482864,3c0dc1a0 +3482868,ad4d0024 +348286c,3c0d4120 +3482870,ad4d0028 +3482874,3c0dc446 +3482878,25ad8000 +348287c,ad4d002c +3482880,11c00005 +3482888,15600003 +348288c,340d8000 +3482890,a54d00b6 +3482894,a1200000 +3482898,3e00008 +34828a4,3c0a801e +34828a8,254aaa30 +34828ac,8d4b066c +34828b0,3c0cd000 +34828b4,258cffff +34828b8,16c5824 +34828bc,3e00008 +34828c0,ad4b066c +34828c4,27bdffe0 +34828c8,afbf0014 +34828cc,afa40018 +34828d0,1c17825 +34828d4,ac4f0680 +34828d8,34040001 +34828dc,c01b638 +34828e4,3c088040 +34828e8,81081dd5 +34828ec,15000007 +34828f4,3c04801d +34828f8,248484a0 +34828fc,3c058040 +3482900,80a51dd6 +3482904,c037500 +348290c,8fa40018 +3482910,8c880138 +3482914,8d090010 +3482918,252a03d4 +348291c,ac8a029c +3482920,8fbf0014 +3482924,3e00008 +3482928,27bd0020 +348292c,27bdffe0 +3482930,afbf0014 +3482934,afa40018 +3482938,3c088040 +348293c,81081dd5 +3482940,1500001a +3482948,3c09801e +348294c,2529887c +3482950,81280000 +3482954,340b0036 +3482958,150b001e +3482960,3c088040 +3482964,810828a0 +3482968,1500001a +3482970,34080001 +3482974,3c018040 +3482978,a02828a0 +348297c,3c04801d +3482980,248484a0 +3482984,3c058040 +3482988,90a51dd7 +348298c,34060000 +3482990,c037385 +3482998,34044802 +348299c,c0191bc +34829a4,10000025 +34829ac,3c04801d +34829b0,248484a0 +34829b4,34050065 +34829b8,c01bf73 +34829c0,34040032 +34829c4,c01b638 +34829cc,1000000c +34829d4,8fa40018 +34829d8,3c05801d +34829dc,24a584a0 +34829e0,c008ab4 +34829e8,10400014 +34829f0,3c088040 +34829f4,810828a0 +34829f8,11000010 +3482a00,8fa40018 +3482a04,8c880138 +3482a08,8d090010 +3482a0c,252a035c +3482a10,ac8a029c +3482a14,3c028012 +3482a18,2442a5d0 +3482a1c,94490ee0 +3482a20,352a0020 +3482a24,a44a0ee0 +3482a28,8c880004 +3482a2c,3c09ffff +3482a30,2529ffff +3482a34,1094024 +3482a38,ac880004 +3482a3c,8fbf0014 +3482a40,3e00008 +3482a44,27bd0020 +3482a48,860f00b6 +3482a4c,9739b4ae +3482a50,3c09801e +3482a54,2529aa30 +3482a58,8d2a0428 +3482a5c,11400005 +3482a64,812a0424 +3482a68,3409007e +3482a6c,15490003 +3482a74,3e00008 +3482a78,340a0000 +3482a7c,3e00008 +3482a80,340a0001 +3482a84,8c8e0134 +3482a88,15c00002 +3482a8c,3c0e4480 +3482a90,ac8e0024 +3482a94,3e00008 +3482a98,8fae0044 +3482a9c,260501a4 +3482aa0,27bdffe0 +3482aa4,afbf0014 +3482aa8,afa50018 +3482aac,8625001c +3482ab0,52a03 +3482ab4,c008134 +3482ab8,30a5003f +3482abc,8fa50018 +3482ac0,8fbf0014 +3482ac4,3e00008 +3482ac8,27bd0020 +3482acc,ae19066c +3482ad0,8e0a0428 +3482ad4,3c09801e +3482ad8,2529aa30 +3482adc,854b00b6 +3482ae0,216b8000 +3482ae4,3e00008 +3482ae8,a52b00b6 +3482aec,3c08801e +3482af0,2508aa30 +3482af4,810a0434 +3482af8,340b0008 +3482afc,154b0002 +3482b00,34090007 +3482b04,a1090434 +3482b08,3e00008 +3482b0c,c606000c +3482b10,3c08801e +3482b14,2508aa30 +3482b18,8d0901ac +3482b1c,3c0a0400 +3482b20,254a2f98 +3482b24,152a000b +3482b28,8d0b01bc +3482b2c,3c0c42cf +3482b30,156c0003 +3482b34,3c0d4364 +3482b38,10000006 +3482b3c,ad0d01bc +3482b40,3c0c4379 +3482b44,156c0003 +3482b48,3c09803b +3482b4c,2529967c +3482b50,ad090664 +3482b54,3e00008 +3482b58,260501a4 +3482b5c,27bdff88 +3482b60,afb30040 +3482b64,c00008 +3482b70,3c028012 +3482b74,3c0c8040 +3482b78,818c2b6c +3482b7c,11800002 +3482b84,340b0001 3482b88,3e00008 -3482b8c,27bd0020 -3482b90,ae19066c -3482b94,8e0a0428 -3482b98,3c09801e -3482b9c,2529aa30 -3482ba0,854b00b6 -3482ba4,216b8000 -3482ba8,3e00008 -3482bac,a52b00b6 -3482bb0,3c08801e -3482bb4,2508aa30 -3482bb8,810a0434 -3482bbc,340b0008 -3482bc0,154b0002 -3482bc4,34090007 -3482bc8,a1090434 -3482bcc,3e00008 -3482bd0,c606000c -3482bd4,3c08801e -3482bd8,2508aa30 -3482bdc,8d0901ac -3482be0,3c0a0400 -3482be4,254a2f98 -3482be8,152a000b -3482bec,8d0b01bc -3482bf0,3c0c42cf -3482bf4,156c0003 -3482bf8,3c0d4364 -3482bfc,10000006 -3482c00,ad0d01bc -3482c04,3c0c4379 -3482c08,156c0003 -3482c0c,3c09803b -3482c10,2529967c -3482c14,ad090664 -3482c18,3e00008 -3482c1c,260501a4 -3482c20,a498017c -3482c24,3c08801d -3482c28,250884a0 -3482c2c,850900a4 -3482c30,340a0002 -3482c34,152a000e -3482c38,8c890138 -3482c3c,8d290010 -3482c40,252a3398 -3482c44,ac8a0184 -3482c48,340b0001 -3482c4c,a48b017c -3482c50,27bdffe8 -3482c54,afbf0014 -3482c58,3c053dcd -3482c5c,24a5cccd -3482c60,c0083e2 -3482c68,8fbf0014 -3482c6c,27bd0018 -3482c70,3e00008 -3482c7c,948e001c -3482c80,21cdffce -3482c84,5a00010 -3482c88,34020000 -3482c8c,31a90007 -3482c90,340a0001 -3482c94,12a5004 -3482c98,d48c2 -3482c9c,3c0c8012 -3482ca0,258ca5d0 -3482ca4,1896020 -3482ca8,918b05b4 -3482cac,16a5824 -3482cb0,34020000 -3482cb4,11600004 -3482cbc,340d0026 -3482cc0,a48d001c -3482cc4,34020001 -3482cc8,3e00008 -3482cd0,94ae001c -3482cd4,21cdffce -3482cd8,5a0000b -3482cdc,34020000 -3482ce0,31a90007 -3482ce4,340a0001 -3482ce8,12a5004 -3482cec,d48c2 -3482cf0,3c0c8012 -3482cf4,258ca5d0 -3482cf8,1896020 -3482cfc,918b05b4 -3482d00,16a5825 -3482d04,a18b05b4 -3482d08,3e00008 -3482d10,27bdffe0 -3482d14,afa50010 -3482d18,afa60014 -3482d1c,afa70018 -3482d20,afbf001c -3482d24,28810032 -3482d28,10200005 -3482d2c,801021 -3482d30,320f809 -3482d38,10000006 -3482d40,2802825 -3482d44,2403025 -3482d48,2c03825 -3482d4c,c100b72 -3482d54,8fa50010 -3482d58,8fa60014 -3482d5c,8fa70018 -3482d60,8fbf001c -3482d64,3e00008 -3482d68,27bd0020 -3482d6c,27bdffe0 -3482d70,afa50010 -3482d74,afa60014 -3482d78,afa70018 -3482d7c,afbf001c -3482d80,28810032 -3482d84,10200005 -3482d88,801021 -3482d8c,320f809 -3482d94,10000006 -3482d9c,2602825 -3482da0,2203025 -3482da4,2a03825 -3482da8,c100b72 -3482db0,8fa50010 -3482db4,8fa60014 -3482db8,8fa70018 -3482dbc,8fbf001c -3482dc0,3e00008 -3482dc4,27bd0020 -3482dc8,27bdffe0 -3482dcc,afa40018 -3482dd0,afbf001c -3482dd4,84ac001c -3482dd8,2401000a -3482ddc,15810022 -3482de0,801021 -3482de4,24010004 -3482de8,10c10011 -3482dec,24010005 -3482df0,10c1000d -3482df4,24010006 -3482df8,10c1000f -3482dfc,24010007 -3482e00,10c1000f -3482e04,24010002 -3482e08,10c10007 -3482e10,3c018040 -3482e14,8c212c78 -3482e18,14200003 -3482e20,10000008 -3482e24,34040023 -3482e28,1000000f -3482e2c,801021 -3482e30,10000004 -3482e34,34040020 -3482e38,10000002 -3482e3c,34040021 -3482e40,3404001f -3482e44,47080 -3482e48,ee7821 -3482e4c,8df90000 -3482e50,320f809 -3482e58,4400003 -3482e60,8fa40018 -3482e64,801021 -3482e68,8fa40018 -3482e6c,8fbf001c -3482e70,3e00008 -3482e74,27bd0020 -3482e78,8fa40018 -3482e7c,c106c40 -3482e80,8fa5001c -3482e84,8fbf0014 -3482e88,3e00008 -3482e8c,27bd0018 -3482e90,3c08801d -3482e94,250884a0 -3482e98,3c098012 -3482e9c,2529a5d0 -3482ea0,950a00a4 -3482ea4,3401003e -3482ea8,15410002 -3482eac,912b1397 -3482eb0,216aff2a -3482eb4,960b001c -3482eb8,216b0001 -3482ebc,340c0001 -3482ec0,16c6004 -3482ec4,3401001c -3482ec8,1410018 -3482ecc,6812 -3482ed0,12d7020 -3482ed4,8dcf00e4 -3482ed8,18f1024 -3482edc,3e00008 -3482ee4,3c08801d -3482ee8,250884a0 -3482eec,3c098012 -3482ef0,2529a5d0 -3482ef4,950a00a4 -3482ef8,3401003e -3482efc,15410002 -3482f00,912b1397 -3482f04,216aff2a -3482f08,848b001c -3482f0c,216b0001 -3482f10,340c0001 -3482f14,16c6004 -3482f18,3401001c -3482f1c,1410018 -3482f20,6812 -3482f24,12d7020 -3482f28,8dcf00e4 -3482f2c,18f7825 -3482f30,adcf00e4 -3482f34,3e00008 -3482f3c,27bdffe0 -3482f40,afa40010 -3482f44,afa30014 -3482f48,afbf0018 -3482f4c,3c028040 -3482f50,84426136 -3482f54,10400006 -3482f5c,c107a42 -3482f60,3202025 -3482f64,10400002 -3482f68,7825 -3482f6c,3207825 -3482f70,8fa40010 -3482f74,8fa30014 -3482f78,8fbf0018 -3482f7c,3e00008 -3482f80,27bd0020 -3482f84,27bdffe0 -3482f88,afa90010 -3482f8c,afa50014 -3482f90,afbf001c -3482f94,3c028040 -3482f98,84426136 -3482f9c,10400005 -3482fa4,95080 -3482fa8,20a5821 -3482fac,c100b34 -3482fb0,8d6501f0 -3482fb4,8fa90010 -3482fb8,95080 -3482fbc,20a5821 -3482fc0,8fa50014 -3482fc4,8fbf001c -3482fc8,3e00008 -3482fcc,27bd0020 -3482fd0,27bdffe8 -3482fd4,afbf0010 -3482fd8,c1064ba -3482fe0,8fbf0010 -3482fe4,27bd0018 -3482fe8,8fae0018 -3482fec,3e00008 -3482ff0,3c018010 -3482ff4,27bdffe8 -3482ff8,afa20010 -3482ffc,afbf0014 -3483000,c100c21 -3483008,14400002 -348300c,91830000 -3483010,340300ff -3483014,8fa20010 -3483018,8fbf0014 -348301c,27bd0018 -3483020,3e00008 -3483024,34010009 -3483028,27bdffe8 -348302c,afa20010 -3483030,afbf0014 -3483034,960201e8 -3483038,34010003 -348303c,14410007 -3483044,c100c21 -348304c,14400007 -3483054,10000005 -3483058,3403007a -348305c,3401017a -3483060,14610002 -3483068,3403007a -348306c,36280 -3483070,18d2821 -3483074,8fa20010 -3483078,8fbf0014 -348307c,3e00008 -3483080,27bd0018 -3483084,27bdfff0 -3483088,afbf0000 -348308c,afa30004 -3483090,afa40008 -3483094,c10651c -348309c,8fbf0000 -34830a0,8fa30004 -34830a4,8fa40008 -34830a8,3e00008 -34830ac,27bd0010 -34830b0,6d7024 -34830b4,15c00002 -34830b8,91ec0000 -34830bc,27ff003c -34830c0,3e00008 -34830d4,3c088012 -34830d8,2508a5d0 -34830dc,8509009c -34830e0,352a0002 -34830e4,3e00008 -34830e8,a50a009c -34830ec,3c058012 -34830f0,24a5a5d0 -34830f4,3c088040 -34830f8,250830c8 -34830fc,8ca90068 -3483100,ad090000 -3483104,8ca9006c -3483108,ad090004 -348310c,94a90070 -3483110,a5090008 -3483114,94a9009c -3483118,a509000a -348311c,340807ac -3483120,1054021 -3483124,34090e64 -3483128,1254821 -348312c,340a000a -3483130,8d0b0000 -3483134,8d2c0000 -3483138,ad2b0000 -348313c,ad0c0000 -3483140,2508001c -3483144,25290004 -3483148,254affff -348314c,1d40fff8 -3483154,801be03 -348315c,27bdffe0 -3483160,afb00010 -3483164,afb10014 -3483168,afbf0018 -348316c,3c108012 -3483170,2610a5d0 -3483174,3c118040 -3483178,263130c8 -348317c,8e080004 -3483180,11000005 -3483188,c100c81 -3483190,10000009 -3483198,c100c94 -34831a0,c100c74 -34831a4,34040000 -34831a8,c100c74 -34831ac,34040001 -34831b0,c100c74 -34831b4,34040002 -34831b8,8fb00010 -34831bc,8fb10014 -34831c0,8fbf0018 -34831c4,27bd0020 -34831c8,3e00008 -34831d0,2044021 -34831d4,9109006c -34831d8,340100ff -34831dc,11210007 -34831e4,2094821 -34831e8,91290074 -34831ec,3401002c -34831f0,11210002 -34831f8,a1090069 -34831fc,3e00008 -3483204,27bdffe8 -3483208,afbf0010 -348320c,8e280000 -3483210,ae080040 -3483214,8e280004 -3483218,ae080044 -348321c,96280008 -3483220,a6080048 -3483224,a2000f33 -3483228,9208004a +3482b94,948e001c +3482b98,21cdffce +3482b9c,5a00010 +3482ba0,34020000 +3482ba4,31a90007 +3482ba8,340a0001 +3482bac,12a5004 +3482bb0,d48c2 +3482bb4,3c0c8012 +3482bb8,258ca5d0 +3482bbc,1896020 +3482bc0,918b05b4 +3482bc4,16a5824 +3482bc8,34020000 +3482bcc,11600004 +3482bd4,340d0026 +3482bd8,a48d001c +3482bdc,34020001 +3482be0,3e00008 +3482be8,94ae001c +3482bec,21cdffce +3482bf0,5a0000b +3482bf4,34020000 +3482bf8,31a90007 +3482bfc,340a0001 +3482c00,12a5004 +3482c04,d48c2 +3482c08,3c0c8012 +3482c0c,258ca5d0 +3482c10,1896020 +3482c14,918b05b4 +3482c18,16a5825 +3482c1c,a18b05b4 +3482c20,3e00008 +3482c28,27bdffe0 +3482c2c,afa50010 +3482c30,afa60014 +3482c34,afa70018 +3482c38,afbf001c +3482c3c,28810032 +3482c40,10200005 +3482c44,801021 +3482c48,320f809 +3482c50,10000006 +3482c58,2802825 +3482c5c,2403025 +3482c60,2c03825 +3482c64,c100b38 +3482c6c,8fa50010 +3482c70,8fa60014 +3482c74,8fa70018 +3482c78,8fbf001c +3482c7c,3e00008 +3482c80,27bd0020 +3482c84,27bdffe0 +3482c88,afa50010 +3482c8c,afa60014 +3482c90,afa70018 +3482c94,afbf001c +3482c98,28810032 +3482c9c,10200005 +3482ca0,801021 +3482ca4,320f809 +3482cac,10000006 +3482cb4,2602825 +3482cb8,2203025 +3482cbc,2a03825 +3482cc0,c100b38 +3482cc8,8fa50010 +3482ccc,8fa60014 +3482cd0,8fa70018 +3482cd4,8fbf001c +3482cd8,3e00008 +3482cdc,27bd0020 +3482ce0,27bdffe0 +3482ce4,afa40018 +3482ce8,afbf001c +3482cec,84ac001c +3482cf0,2401000a +3482cf4,15810022 +3482cf8,801021 +3482cfc,24010004 +3482d00,10c10011 +3482d04,24010005 +3482d08,10c1000d +3482d0c,24010006 +3482d10,10c1000f +3482d14,24010007 +3482d18,10c1000f +3482d1c,24010002 +3482d20,10c10007 +3482d28,3c018040 +3482d2c,8c212b90 +3482d30,14200003 +3482d38,10000008 +3482d3c,34040023 +3482d40,1000000f +3482d44,801021 +3482d48,10000004 +3482d4c,34040020 +3482d50,10000002 +3482d54,34040021 +3482d58,3404001f +3482d5c,47080 +3482d60,ee7821 +3482d64,8df90000 +3482d68,320f809 +3482d70,4400003 +3482d78,8fa40018 +3482d7c,801021 +3482d80,8fa40018 +3482d84,8fbf001c +3482d88,3e00008 +3482d8c,27bd0020 +3482d90,8fa40018 +3482d94,c107c40 +3482d98,8fa5001c +3482d9c,8fbf0014 +3482da0,3e00008 +3482da4,27bd0018 +3482da8,3c08801d +3482dac,250884a0 +3482db0,3c098012 +3482db4,2529a5d0 +3482db8,950a00a4 +3482dbc,3401003e +3482dc0,15410002 +3482dc4,912b1397 +3482dc8,216aff2a +3482dcc,960b001c +3482dd0,216b0001 +3482dd4,340c0001 +3482dd8,16c6004 +3482ddc,3401001c +3482de0,1410018 +3482de4,6812 +3482de8,12d7020 +3482dec,8dcf00e4 +3482df0,18f1024 +3482df4,3e00008 +3482dfc,3c08801d +3482e00,250884a0 +3482e04,3c098012 +3482e08,2529a5d0 +3482e0c,950a00a4 +3482e10,3401003e +3482e14,15410002 +3482e18,912b1397 +3482e1c,216aff2a +3482e20,848b001c +3482e24,216b0001 +3482e28,340c0001 +3482e2c,16c6004 +3482e30,3401001c +3482e34,1410018 +3482e38,6812 +3482e3c,12d7020 +3482e40,8dcf00e4 +3482e44,18f7825 +3482e48,adcf00e4 +3482e4c,3e00008 +3482e54,27bdffe0 +3482e58,afa40010 +3482e5c,afa30014 +3482e60,afbf0018 +3482e64,3c028040 +3482e68,90421f44 +3482e6c,10400006 +3482e74,c108b5f +3482e78,3202025 +3482e7c,10400002 +3482e80,7825 +3482e84,3207825 +3482e88,8fa40010 +3482e8c,8fa30014 +3482e90,8fbf0018 +3482e94,3e00008 +3482e98,27bd0020 +3482e9c,27bdffe0 +3482ea0,afa90010 +3482ea4,afa50014 +3482ea8,afbf001c +3482eac,3c028040 +3482eb0,90421f44 +3482eb4,10400005 +3482ebc,95080 +3482ec0,20a5821 +3482ec4,c100afa +3482ec8,8d6501f0 +3482ecc,8fa90010 +3482ed0,95080 +3482ed4,20a5821 +3482ed8,8fa50014 +3482edc,8fbf001c +3482ee0,3e00008 +3482ee4,27bd0020 +3482ee8,27bdffe8 +3482eec,afbf0010 +3482ef0,c1073b7 +3482ef8,8fbf0010 +3482efc,27bd0018 +3482f00,8fae0018 +3482f04,3e00008 +3482f08,3c018010 +3482f0c,27bdffe8 +3482f10,afa20010 +3482f14,afbf0014 +3482f18,c100be7 +3482f20,14400002 +3482f24,91830000 +3482f28,340300ff +3482f2c,8fa20010 +3482f30,8fbf0014 +3482f34,27bd0018 +3482f38,3e00008 +3482f3c,34010009 +3482f40,27bdffe8 +3482f44,afa20010 +3482f48,afbf0014 +3482f4c,960201e8 +3482f50,34010003 +3482f54,14410007 +3482f5c,c100be7 +3482f64,14400007 +3482f6c,10000005 +3482f70,3403007a +3482f74,3401017a +3482f78,14610002 +3482f80,3403007a +3482f84,36280 +3482f88,18d2821 +3482f8c,8fa20010 +3482f90,8fbf0014 +3482f94,3e00008 +3482f98,27bd0018 +3482f9c,27bdfff0 +3482fa0,afbf0000 +3482fa4,afa30004 +3482fa8,afa40008 +3482fac,c107415 +3482fb4,8fbf0000 +3482fb8,8fa30004 +3482fbc,8fa40008 +3482fc0,3e00008 +3482fc4,27bd0010 +3482fc8,6d7024 +3482fcc,15c00002 +3482fd0,91ec0000 +3482fd4,27ff003c +3482fd8,3e00008 +3482fec,3c088012 +3482ff0,2508a5d0 +3482ff4,8509009c +3482ff8,352a0002 +3482ffc,3e00008 +3483000,a50a009c +3483004,3c058012 +3483008,24a5a5d0 +348300c,3c088040 +3483010,25082fe0 +3483014,8ca90068 +3483018,ad090000 +348301c,8ca9006c +3483020,ad090004 +3483024,94a90070 +3483028,a5090008 +348302c,94a9009c +3483030,a509000a +3483034,340807ac +3483038,1054021 +348303c,34090e64 +3483040,1254821 +3483044,340a000a +3483048,8d0b0000 +348304c,8d2c0000 +3483050,ad2b0000 +3483054,ad0c0000 +3483058,2508001c +348305c,25290004 +3483060,254affff +3483064,1d40fff8 +348306c,801be03 +3483074,27bdffe0 +3483078,afb00010 +348307c,afb10014 +3483080,afbf0018 +3483084,3c108012 +3483088,2610a5d0 +348308c,3c118040 +3483090,26312fe0 +3483094,8e080004 +3483098,11000005 +34830a0,c100c47 +34830a8,10000009 +34830b0,c100c5a +34830b8,c100c3a +34830bc,34040000 +34830c0,c100c3a +34830c4,34040001 +34830c8,c100c3a +34830cc,34040002 +34830d0,8fb00010 +34830d4,8fb10014 +34830d8,8fbf0018 +34830dc,27bd0020 +34830e0,3e00008 +34830e8,2044021 +34830ec,9109006c +34830f0,340100ff +34830f4,11210007 +34830fc,2094821 +3483100,91290074 +3483104,3401002c +3483108,11210002 +3483110,a1090069 +3483114,3e00008 +348311c,27bdffe8 +3483120,afbf0010 +3483124,8e280000 +3483128,ae080040 +348312c,8e280004 +3483130,ae080044 +3483134,96280008 +3483138,a6080048 +348313c,a2000f33 +3483140,9208004a +3483144,340100ff +3483148,15010003 +3483150,c100c6d +3483158,8fbf0010 +348315c,27bd0018 +3483160,3e00008 +3483168,8e080040 +348316c,ae080068 +3483170,8e080044 +3483174,ae08006c +3483178,96080048 +348317c,9209009d +3483180,31290020 +3483184,15200002 +348318c,3108ffdf +3483190,a6080070 +3483194,92080068 +3483198,340100ff +348319c,15010003 +34831a4,34080001 +34831a8,a2080f33 +34831ac,3e00008 +34831b4,27bdffe8 +34831b8,afbf0010 +34831bc,9608009c +34831c0,31080040 +34831c4,11000005 +34831cc,96080070 +34831d0,3108ff0f +34831d4,35080030 +34831d8,a6080070 +34831dc,92280001 +34831e0,a2080069 +34831e4,96280002 +34831e8,a608006a +34831ec,8e280004 +34831f0,ae08006c +34831f4,c100c87 +34831f8,34040000 +34831fc,c100c87 +3483200,34040001 +3483204,c100c87 +3483208,34040002 +348320c,8fbf0010 +3483210,27bd0018 +3483214,3e00008 +348321c,2044021 +3483220,3c098040 +3483224,252932c4 +3483228,910a006c 348322c,340100ff -3483230,15010003 -3483238,c100ca7 -3483240,8fbf0010 -3483244,27bd0018 -3483248,3e00008 -3483250,8e080040 -3483254,ae080068 -3483258,8e080044 -348325c,ae08006c -3483260,96080048 -3483264,9209009d -3483268,31290020 -348326c,15200002 -3483274,3108ffdf -3483278,a6080070 -348327c,92080068 -3483280,340100ff -3483284,15010003 -348328c,34080001 -3483290,a2080f33 -3483294,3e00008 -348329c,27bdffe8 -34832a0,afbf0010 -34832a4,9608009c -34832a8,31080040 -34832ac,11000005 -34832b4,96080070 -34832b8,3108ff0f -34832bc,35080030 -34832c0,a6080070 -34832c4,92280001 -34832c8,a2080069 -34832cc,96280002 -34832d0,a608006a -34832d4,8e280004 -34832d8,ae08006c -34832dc,c100cc1 -34832e0,34040000 -34832e4,c100cc1 -34832e8,34040001 -34832ec,c100cc1 -34832f0,34040002 -34832f4,8fbf0010 -34832f8,27bd0018 -34832fc,3e00008 -3483304,2044021 -3483308,3c098040 -348330c,252933ac -3483310,910a006c -3483314,340100ff -3483318,11410005 -3483320,12a4821 -3483324,91290000 -3483328,1520001c -3483330,3c098040 -3483334,252933a3 -3483338,25290001 -348333c,912a0000 -3483340,11400013 -3483348,20a5821 -348334c,916b0074 -3483350,340100ff -3483354,1161fff8 -348335c,920c006c -3483360,118afff5 -3483368,920c006d -348336c,118afff2 -3483374,920c006e -3483378,118affef -3483380,a10b0069 -3483384,a10a006c -3483388,10000004 -3483390,340900ff -3483394,a1090069 -3483398,a109006c -348339c,3e00008 -34833a4,90f0203 -34833a8,10d0b00 -34833ac,10101 -34833b0,1010001 -34833b4,1010101 -34833b8,10001 -34833bc,1010101 -34833c0,1010100 -34833c4,330821 -34833c8,200f0047 -34833cc,15ea000e -34833d0,3c028012 -34833d4,8c42a5d4 -34833d8,8e6f00a4 -34833dc,f7a03 -34833e0,14400005 -34833e4,34024830 -34833e8,15e20007 -34833f0,24190003 -34833f4,10000004 -34833f8,34026311 -34833fc,15e20002 -3483404,24190003 +3483230,11410005 +3483238,12a4821 +348323c,91290000 +3483240,1520001c +3483248,3c098040 +348324c,252932bb +3483250,25290001 +3483254,912a0000 +3483258,11400013 +3483260,20a5821 +3483264,916b0074 +3483268,340100ff +348326c,1161fff8 +3483274,920c006c +3483278,118afff5 +3483280,920c006d +3483284,118afff2 +348328c,920c006e +3483290,118affef +3483298,a10b0069 +348329c,a10a006c +34832a0,10000004 +34832a8,340900ff +34832ac,a1090069 +34832b0,a109006c +34832b4,3e00008 +34832bc,90f0203 +34832c0,10d0b00 +34832c4,10101 +34832c8,1010001 +34832cc,1010101 +34832d0,10001 +34832d4,1010101 +34832d8,1010100 +34832dc,330821 +34832e0,200f0047 +34832e4,15ea000e +34832e8,3c028012 +34832ec,8c42a5d4 +34832f0,8e6f00a4 +34832f4,f7a03 +34832f8,14400005 +34832fc,34024830 +3483300,15e20007 +3483308,24190003 +348330c,10000004 +3483310,34026311 +3483314,15e20002 +348331c,24190003 +3483320,3e00008 +3483328,330821 +348332c,3c028012 +3483330,8c42a5d4 +3483334,8e6f00a4 +3483338,f7a03 +348333c,14400005 +3483340,34024830 +3483344,15e20007 +348334c,24190003 +3483350,10000004 +3483354,34026311 +3483358,15e20002 +3483360,24190003 +3483364,3e00008 +348336c,27bdffe8 +3483370,afbf0014 +3483374,34010018 +3483378,14810019 +3483380,14400017 +3483388,3c0a8012 +348338c,254aa5d0 +3483390,814800a6 +3483394,31080020 +3483398,11000011 +348339c,34020000 +34833a0,c108257 +34833a8,1040000d +34833ac,34020000 +34833b0,8148007b +34833b4,34090007 +34833b8,11090005 +34833bc,34090008 +34833c0,11090003 +34833c8,8100cf8 +34833cc,34020000 +34833d0,81480ed6 +34833d4,35080001 +34833d8,a1480ed6 +34833dc,34020001 +34833e0,8fbf0014 +34833e4,3e00008 +34833e8,27bd0018 +34833ec,3c018040 +34833f0,8c211dcc +34833f4,10200006 +34833fc,94480670 +3483400,31010800 +3483404,34080800 3483408,3e00008 -3483410,330821 -3483414,3c028012 -3483418,8c42a5d4 -348341c,8e6f00a4 -3483420,f7a03 -3483424,14400005 -3483428,34024830 -348342c,15e20007 -3483434,24190003 -3483438,10000004 -348343c,34026311 -3483440,15e20002 -3483448,24190003 -348344c,3e00008 -3483454,27bdffe8 -3483458,afbf0014 -348345c,34010018 -3483460,14810019 -3483468,14400017 -3483470,3c0a8012 -3483474,254aa5d0 -3483478,814800a6 -348347c,31080020 -3483480,11000011 -3483484,34020000 -3483488,c107279 -3483490,1040000d -3483494,34020000 -3483498,8148007b -348349c,34090007 -34834a0,11090005 -34834a4,34090008 -34834a8,11090003 -34834b0,8100d32 -34834b4,34020000 -34834b8,81480ed6 -34834bc,35080001 -34834c0,a1480ed6 -34834c4,34020001 -34834c8,8fbf0014 -34834cc,3e00008 -34834d0,27bd0018 -34834d4,3c018040 -34834d8,8c211d64 -34834dc,10200006 -34834e4,94480670 -34834e8,31010800 -34834ec,34080800 -34834f0,3e00008 -34834f8,950804c6 -34834fc,3401000b -3483500,3e00008 -3483508,27bdffe8 -348350c,afa50000 -3483510,afa60004 -3483514,afa70008 -3483518,afbf0010 -348351c,80a80000 -3483520,25090001 -3483524,15200005 -348352c,52025 -3483530,24a50008 -3483534,c015c0c -3483538,24c6fff8 -348353c,c1077a4 -3483544,8fbf0010 -3483548,8fa70008 -348354c,8fa60004 -3483550,8fa50000 -3483554,8015c0c -3483558,27bd0018 -348355c,ac4d066c -3483560,a0400141 -3483564,a0400144 -3483568,340e00fe -348356c,3e00008 -3483570,a04e0142 -3483574,a2250021 -3483578,3c108040 -348357c,26101798 -3483580,26100004 -3483584,8e0a0000 -3483588,1140000b -3483590,a7c02 -3483594,1f17820 -3483598,3158ff00 -348359c,18c202 -34835a0,17000003 -34835a4,315900ff -34835a8,81ea0000 -34835ac,32ac825 -34835b0,8100d60 -34835b4,a1f90000 -34835b8,3e00008 -34835c0,3c0a8012 -34835c4,8d4aa5d4 -34835c8,15400006 -34835cc,31780001 -34835d0,17000007 -34835d4,3c184230 -34835d8,3c184250 -34835dc,3e00008 -34835e4,17000002 -34835e8,3c184210 -34835ec,3c184238 -34835f0,3e00008 -34835f8,906e13e2 -34835fc,90620068 -3483600,34010059 -3483604,10410002 -3483608,34010fff -348360c,340100ff -3483610,3e00008 -3483618,3c048012 -348361c,2484a5d0 -3483620,908e13e2 -3483624,90820068 -3483628,34010059 -348362c,10410002 -3483630,34010fff -3483634,340100ff -3483638,3e00008 -3483640,3c08801f -3483644,25085de0 -3483648,8d01009c -348364c,14200003 -3483650,46025102 -3483654,3c083f80 -3483658,44882000 +3483410,950804c6 +3483414,3401000b +3483418,3e00008 +3483420,27bdffe8 +3483424,afa50000 +3483428,afa60004 +348342c,afa70008 +3483430,afbf0010 +3483434,80a80000 +3483438,25090001 +348343c,15200005 +3483444,52025 +3483448,24a50008 +348344c,c015c0c +3483450,24c6fff8 +3483454,c108928 +348345c,8fbf0010 +3483460,8fa70008 +3483464,8fa60004 +3483468,8fa50000 +348346c,8015c0c +3483470,27bd0018 +3483474,ac4d066c +3483478,a0400141 +348347c,a0400144 +3483480,340e00fe +3483484,3e00008 +3483488,a04e0142 +348348c,a2250021 +3483490,3c108040 +3483494,261017b0 +3483498,26100004 +348349c,8e0a0000 +34834a0,1140000b +34834a8,a7c02 +34834ac,1f17820 +34834b0,3158ff00 +34834b4,18c202 +34834b8,17000003 +34834bc,315900ff +34834c0,81ea0000 +34834c4,32ac825 +34834c8,8100d26 +34834cc,a1f90000 +34834d0,3e00008 +34834d8,3c0a8012 +34834dc,8d4aa5d4 +34834e0,15400006 +34834e4,31780001 +34834e8,17000007 +34834ec,3c184230 +34834f0,3c184250 +34834f4,3e00008 +34834fc,17000002 +3483500,3c184210 +3483504,3c184238 +3483508,3e00008 +3483510,906e13e2 +3483514,90620068 +3483518,34010059 +348351c,10410002 +3483520,34010fff +3483524,340100ff +3483528,3e00008 +3483530,3c048012 +3483534,2484a5d0 +3483538,908e13e2 +348353c,90820068 +3483540,34010059 +3483544,10410002 +3483548,34010fff +348354c,340100ff +3483550,3e00008 +3483558,27bdffe8 +348355c,afbf0014 +3483560,c105aad +3483568,10400003 +348356c,46025102 +3483570,3c083f80 +3483574,44882000 +3483578,8fbf0014 +348357c,3e00008 +3483580,27bd0018 +3483584,3c018012 +3483588,2421a5d0 +348358c,8c230ec0 +3483590,306c8000 +3483594,2d990001 +3483598,27390055 +348359c,34638000 +34835a0,ac230ec0 +34835a4,3e00008 +34835a8,44809000 +34835ac,11400007 +34835b4,24630001 +34835b8,240a0004 +34835bc,143502b +34835c0,a5040 +34835c4,1431806 +34835c8,a0830000 +34835cc,35080 +34835d0,1435023 +34835d4,3e00008 +34835d8,a5040 +34835dc,27bdffec +34835e0,afbf0010 +34835e4,93097ae6 +34835e8,24010002 +34835ec,15210009 +34835f0,2401fffe +34835f4,93097ae7 +34835f8,11200006 +34835fc,2401fffe +3483600,2002025 +3483604,2709b288 +3483608,120f809 +348360c,26250014 +3483610,2401ffff +3483614,8e090004 +3483618,1214824 +348361c,8fbf0010 +3483620,3e00008 +3483624,27bd0014 +3483628,ac800118 +348362c,27ff0030 +3483630,3e00008 +3483634,ac8e0180 +3483638,3c018040 +348363c,8c211dc4 +3483640,10200008 +3483648,81e1a64c +348364c,34180009 +3483650,14380004 +3483658,34180001 348365c,3e00008 -3483664,3c018012 -3483668,2421a5d0 -348366c,8c230ec0 -3483670,306c8000 -3483674,2d990001 -3483678,27390055 -348367c,34638000 -3483680,ac230ec0 -3483684,3e00008 -3483688,44809000 -348368c,11400007 -3483694,24630001 -3483698,240a0004 -348369c,143502b -34836a0,a5040 -34836a4,1431806 -34836a8,a0830000 -34836ac,35080 -34836b0,1435023 -34836b4,3e00008 -34836b8,a5040 -34836bc,27bdffec -34836c0,afbf0010 -34836c4,93097ae6 -34836c8,24010002 -34836cc,15210009 -34836d0,2401fffe -34836d4,93097ae7 -34836d8,11200006 -34836dc,2401fffe -34836e0,2002025 -34836e4,2709b288 -34836e8,120f809 -34836ec,26250014 -34836f0,2401ffff -34836f4,8e090004 -34836f8,1214824 -34836fc,8fbf0010 -3483700,3e00008 -3483704,27bd0014 -3483708,ac800118 -348370c,27ff0030 -3483710,3e00008 -3483714,ac8e0180 +3483664,8defa670 +3483668,31f80018 +348366c,3e00008 +3483674,3c018040 +3483678,8c211dc4 +348367c,10200008 +3483684,8161a64c +3483688,340c0009 +348368c,142c0004 +3483694,340c0001 +3483698,3e00008 +34836a0,8d6ba670 +34836a4,316c0018 +34836a8,3e00008 +34836b0,3c018040 +34836b4,8c211dc4 +34836b8,10200008 +34836c0,3c098012 +34836c4,812aa64c +34836c8,340b0009 +34836cc,114b0009 +34836d0,34020000 +34836d4,3e00008 +34836d8,34020002 +34836dc,3c098012 +34836e0,812aa673 +34836e4,314a0038 +34836e8,15400002 +34836ec,34020000 +34836f0,34020002 +34836f4,3e00008 +34836fc,3c088040 +3483700,81085f28 +3483704,81cfa64c +3483708,15000008 +348370c,85cea604 +3483710,1de00006 3483718,3c018040 -348371c,8c211d5c -3483720,10200008 -3483728,81e1a64c -348372c,34180009 -3483730,14380004 -3483738,34180001 -348373c,3e00008 -3483744,8defa670 -3483748,31f80018 -348374c,3e00008 +348371c,8c211dc4 +3483720,10200002 +3483728,340e0000 +348372c,3e00008 +3483734,27bdffe8 +3483738,afbf0014 +348373c,3c088040 +3483740,81085f28 +3483744,1500000b +348374c,1de00009 3483754,3c018040 -3483758,8c211d5c -348375c,10200008 -3483764,8161a64c -3483768,340c0009 -348376c,142c0004 -3483774,340c0001 -3483778,3e00008 -3483780,8d6ba670 -3483784,316c0018 -3483788,3e00008 -3483790,3c018040 -3483794,8c211d5c -3483798,10200008 -34837a0,3c098012 -34837a4,812aa64c -34837a8,340b0009 -34837ac,114b0009 -34837b0,34020000 -34837b4,3e00008 -34837b8,34020002 -34837bc,3c098012 -34837c0,812aa673 -34837c4,314a0038 -34837c8,15400002 -34837cc,34020000 -34837d0,34020002 -34837d4,3e00008 -34837dc,3c088040 -34837e0,81085fe4 -34837e4,81cfa64c -34837e8,15000008 -34837ec,85cea604 -34837f0,1de00006 -34837f8,3c018040 -34837fc,8c211d5c -3483800,10200002 -3483808,340e0000 -348380c,3e00008 -3483814,27bdffe8 -3483818,afbf0014 -348381c,3c088040 -3483820,81085fe4 -3483824,1500000b -348382c,1de00009 -3483834,3c018040 -3483838,8c211d5c -348383c,10200005 -3483844,c0373a0 -3483848,2405901a -348384c,10000003 -3483854,c0373a0 -3483858,24056075 -348385c,8fbf0014 -3483860,3e00008 -3483864,27bd0018 -3483868,8fa30038 -348386c,8463001c -3483870,34080005 -3483874,14680003 -348387c,3c050404 -3483880,24a5fd80 -3483884,3e00008 -3483888,3c0100ff -348388c,3c0a8040 -3483890,8d4a1dc8 -3483894,1140000c -3483898,34010001 -348389c,1141000d -34838a0,34010002 -34838a4,11410028 -34838a8,34010003 -34838ac,11410053 -34838b0,34010004 -34838b4,1141006e -34838b8,34010005 -34838bc,11410063 -34838c0,34010006 -34838c4,11410064 -34838c8,34010000 -34838cc,3e00008 -34838d0,340a0000 -34838d4,3401003f -34838d8,415024 -34838dc,340f0000 -34838e0,31580001 -34838e4,13000002 -34838ec,25ef0001 -34838f0,31580002 +3483758,8c211dc4 +348375c,10200005 +3483764,c0373a0 +3483768,2405901a +348376c,10000003 +3483774,c0373a0 +3483778,24056075 +348377c,8fbf0014 +3483780,3e00008 +3483784,27bd0018 +3483788,8fa30038 +348378c,8463001c +3483790,34080005 +3483794,14680003 +348379c,3c050404 +34837a0,24a5fd80 +34837a4,3e00008 +34837a8,3c0100ff +34837ac,3c0a8040 +34837b0,8d4a1e5c +34837b4,1140000c +34837b8,34010001 +34837bc,1141000d +34837c0,34010002 +34837c4,11410028 +34837c8,34010003 +34837cc,11410053 +34837d0,34010004 +34837d4,1141006e +34837d8,34010005 +34837dc,11410063 +34837e0,34010006 +34837e4,11410064 +34837e8,34010000 +34837ec,3e00008 +34837f0,340a0000 +34837f4,3401003f +34837f8,415024 +34837fc,340f0000 +3483800,31580001 +3483804,13000002 +348380c,25ef0001 +3483810,31580002 +3483814,13000002 +348381c,25ef0001 +3483820,31580004 +3483824,13000002 +348382c,25ef0001 +3483830,31580008 +3483834,13000002 +348383c,25ef0001 +3483840,31580010 +3483844,13000002 +348384c,25ef0001 +3483850,31580020 +3483854,13000002 +348385c,25ef0001 +3483860,10000046 +3483868,3c01001c +348386c,2421003f +3483870,415024 +3483874,340f0000 +3483878,31580001 +348387c,13000002 +3483884,25ef0001 +3483888,31580002 +348388c,13000002 +3483894,25ef0001 +3483898,31580004 +348389c,13000002 +34838a4,25ef0001 +34838a8,31580008 +34838ac,13000002 +34838b4,25ef0001 +34838b8,31580010 +34838bc,13000002 +34838c4,25ef0001 +34838c8,31580020 +34838cc,13000002 +34838d4,25ef0001 +34838d8,3c180004 +34838dc,158c024 +34838e0,13000002 +34838e8,25ef0001 +34838ec,3c180008 +34838f0,158c024 34838f4,13000002 34838fc,25ef0001 -3483900,31580004 -3483904,13000002 -348390c,25ef0001 -3483910,31580008 -3483914,13000002 -348391c,25ef0001 -3483920,31580010 -3483924,13000002 -348392c,25ef0001 -3483930,31580020 -3483934,13000002 -348393c,25ef0001 -3483940,10000046 -3483948,3c01001c -348394c,2421003f -3483950,415024 -3483954,340f0000 -3483958,31580001 -348395c,13000002 -3483964,25ef0001 -3483968,31580002 -348396c,13000002 -3483974,25ef0001 -3483978,31580004 -348397c,13000002 -3483984,25ef0001 -3483988,31580008 -348398c,13000002 -3483994,25ef0001 -3483998,31580010 -348399c,13000002 -34839a4,25ef0001 -34839a8,31580020 -34839ac,13000002 -34839b4,25ef0001 -34839b8,3c180004 -34839bc,158c024 -34839c0,13000002 -34839c8,25ef0001 -34839cc,3c180008 -34839d0,158c024 -34839d4,13000002 -34839dc,25ef0001 -34839e0,3c180010 -34839e4,158c024 -34839e8,13000002 -34839f0,25ef0001 -34839f4,10000019 -34839fc,3c01001c -3483a00,415024 -3483a04,340f0000 -3483a08,3c180004 -3483a0c,158c024 -3483a10,13000002 -3483a18,25ef0001 -3483a1c,3c180008 -3483a20,158c024 -3483a24,13000002 -3483a2c,25ef0001 -3483a30,3c180010 -3483a34,158c024 -3483a38,13000002 -3483a40,25ef0001 -3483a44,10000005 -3483a4c,84ef00d0 -3483a50,10000002 -3483a58,84ef002e -3483a5c,34010000 -3483a60,3c188040 -3483a64,87181dd0 -3483a68,3e00008 -3483a6c,1f8502a -3483a70,34010018 -3483a74,415024 -3483a78,15410006 -3483a80,90ef0084 -3483a84,340a0012 -3483a88,114f0002 -3483a90,2401ffff -3483a94,3e00008 -3483a98,415024 -3483a9c,3c098040 -3483aa0,8d291dcc -3483aa4,340a0001 -3483aa8,112a0010 -3483aac,340a0002 -3483ab0,112a002b -3483ab4,340a0003 -3483ab8,112a0056 -3483abc,340a0004 -3483ac0,112a0068 -3483ac4,340a0005 -3483ac8,112a0069 -3483ad0,340b0018 -3483ad4,4b5024 -3483ad8,156a0002 -3483adc,34030000 -3483ae0,34030001 -3483ae4,3e00008 -3483aec,3401003f -3483af0,415024 -3483af4,340c0000 -3483af8,314b0001 -3483afc,11600002 -3483b04,258c0001 -3483b08,314b0002 +3483900,3c180010 +3483904,158c024 +3483908,13000002 +3483910,25ef0001 +3483914,10000019 +348391c,3c01001c +3483920,415024 +3483924,340f0000 +3483928,3c180004 +348392c,158c024 +3483930,13000002 +3483938,25ef0001 +348393c,3c180008 +3483940,158c024 +3483944,13000002 +348394c,25ef0001 +3483950,3c180010 +3483954,158c024 +3483958,13000002 +3483960,25ef0001 +3483964,10000005 +348396c,84ef00d0 +3483970,10000002 +3483978,84ef002e +348397c,34010000 +3483980,3c188040 +3483984,87181e64 +3483988,3e00008 +348398c,1f8502a +3483990,34010018 +3483994,415024 +3483998,15410006 +34839a0,90ef0084 +34839a4,340a0012 +34839a8,114f0002 +34839b0,2401ffff +34839b4,3e00008 +34839b8,415024 +34839bc,3c098040 +34839c0,8d291e60 +34839c4,340a0001 +34839c8,112a0010 +34839cc,340a0002 +34839d0,112a002b +34839d4,340a0003 +34839d8,112a0056 +34839dc,340a0004 +34839e0,112a0068 +34839e4,340a0005 +34839e8,112a0069 +34839f0,340b0018 +34839f4,4b5024 +34839f8,156a0002 +34839fc,34030000 +3483a00,34030001 +3483a04,3e00008 +3483a0c,3401003f +3483a10,415024 +3483a14,340c0000 +3483a18,314b0001 +3483a1c,11600002 +3483a24,258c0001 +3483a28,314b0002 +3483a2c,11600002 +3483a34,258c0001 +3483a38,314b0004 +3483a3c,11600002 +3483a44,258c0001 +3483a48,314b0008 +3483a4c,11600002 +3483a54,258c0001 +3483a58,314b0010 +3483a5c,11600002 +3483a64,258c0001 +3483a68,314b0020 +3483a6c,11600002 +3483a74,258c0001 +3483a78,10000046 +3483a80,3c01001c +3483a84,2421003f +3483a88,415024 +3483a8c,340c0000 +3483a90,314b0001 +3483a94,11600002 +3483a9c,258c0001 +3483aa0,314b0002 +3483aa4,11600002 +3483aac,258c0001 +3483ab0,314b0004 +3483ab4,11600002 +3483abc,258c0001 +3483ac0,314b0008 +3483ac4,11600002 +3483acc,258c0001 +3483ad0,314b0010 +3483ad4,11600002 +3483adc,258c0001 +3483ae0,314b0020 +3483ae4,11600002 +3483aec,258c0001 +3483af0,3c0b0004 +3483af4,14b5824 +3483af8,11600002 +3483b00,258c0001 +3483b04,3c0b0008 +3483b08,14b5824 3483b0c,11600002 3483b14,258c0001 -3483b18,314b0004 -3483b1c,11600002 -3483b24,258c0001 -3483b28,314b0008 -3483b2c,11600002 -3483b34,258c0001 -3483b38,314b0010 -3483b3c,11600002 -3483b44,258c0001 -3483b48,314b0020 -3483b4c,11600002 -3483b54,258c0001 -3483b58,10000046 -3483b60,3c01001c -3483b64,2421003f -3483b68,415024 -3483b6c,340c0000 -3483b70,314b0001 -3483b74,11600002 -3483b7c,258c0001 -3483b80,314b0002 -3483b84,11600002 -3483b8c,258c0001 -3483b90,314b0004 -3483b94,11600002 -3483b9c,258c0001 -3483ba0,314b0008 -3483ba4,11600002 -3483bac,258c0001 -3483bb0,314b0010 -3483bb4,11600002 -3483bbc,258c0001 -3483bc0,314b0020 -3483bc4,11600002 -3483bcc,258c0001 -3483bd0,3c0b0004 -3483bd4,14b5824 -3483bd8,11600002 -3483be0,258c0001 -3483be4,3c0b0008 -3483be8,14b5824 -3483bec,11600002 -3483bf4,258c0001 -3483bf8,3c0b0010 -3483bfc,14b5824 -3483c00,11600002 -3483c08,258c0001 -3483c0c,10000019 -3483c14,3c01001c -3483c18,415024 -3483c1c,340c0000 -3483c20,3c0b0004 -3483c24,14b5824 -3483c28,11600002 -3483c30,258c0001 -3483c34,3c0b0008 -3483c38,14b5824 -3483c3c,11600002 -3483c44,258c0001 -3483c48,3c0b0010 -3483c4c,14b5824 -3483c50,11600002 -3483c58,258c0001 -3483c5c,10000005 -3483c64,860c00d0 -3483c68,10000002 -3483c70,860c002e -3483c74,34010000 -3483c78,3c0b8040 -3483c7c,856b1dd2 -3483c80,18b602a -3483c84,15800002 -3483c88,34030000 -3483c8c,34030001 -3483c90,3e00008 -3483c98,27bdffe4 -3483c9c,afb10014 -3483ca0,afbf0018 -3483ca4,3c038012 -3483ca8,2463a5d0 -3483cac,860f001c -3483cb0,31f800ff -3483cb4,340100ff -3483cb8,17010004 -3483cbc,27110400 -3483cc0,90781397 -3483cc4,3318001f -3483cc8,27110430 -3483ccc,31e18000 -3483cd0,14200015 -3483cd8,3c088040 -3483cdc,8d081d60 -3483ce0,1100000b -3483ce4,34010001 -3483ce8,11010003 -3483cf0,1000000d -3483cf8,806100a5 -3483cfc,30210020 -3483d00,10200008 -3483d08,10000007 -3483d10,c01e6d1 -3483d18,34010008 -3483d1c,10410002 -3483d24,34112053 -3483d28,a611010e -3483d2c,8fbf0018 -3483d30,8fb10014 -3483d34,3e00008 -3483d38,27bd001c -3483d40,27bdffe0 -3483d44,afa20008 -3483d48,afb0000c -3483d4c,afa30010 -3483d50,afa40014 -3483d54,afa50018 -3483d58,afbf001c -3483d5c,c107a8b -3483d60,34040030 -3483d64,3c038040 -3483d68,80633d3c -3483d6c,10600007 -3483d70,3c038012 -3483d74,2463a5d0 -3483d78,8c63096c -3483d7c,30630001 -3483d80,10600002 -3483d88,34020000 -3483d8c,40c825 -3483d90,8fa20008 -3483d94,8fb0000c -3483d98,8fa30010 -3483d9c,8fa40014 -3483da0,8fa50018 -3483da4,8fbf001c -3483da8,3e00008 -3483dac,27bd0020 -3483db0,afa50024 -3483db4,8fa50024 -3483db8,3c038040 -3483dbc,80633d3c -3483dc0,10600005 -3483dc4,3c038012 -3483dc8,2463a5d0 -3483dcc,8c62096c -3483dd0,34420001 -3483dd4,ac62096c +3483b18,3c0b0010 +3483b1c,14b5824 +3483b20,11600002 +3483b28,258c0001 +3483b2c,10000019 +3483b34,3c01001c +3483b38,415024 +3483b3c,340c0000 +3483b40,3c0b0004 +3483b44,14b5824 +3483b48,11600002 +3483b50,258c0001 +3483b54,3c0b0008 +3483b58,14b5824 +3483b5c,11600002 +3483b64,258c0001 +3483b68,3c0b0010 +3483b6c,14b5824 +3483b70,11600002 +3483b78,258c0001 +3483b7c,10000005 +3483b84,860c00d0 +3483b88,10000002 +3483b90,860c002e +3483b94,34010000 +3483b98,3c0b8040 +3483b9c,856b1e66 +3483ba0,18b602a +3483ba4,15800002 +3483ba8,34030000 +3483bac,34030001 +3483bb0,3e00008 +3483bb8,27bdffe4 +3483bbc,afb10014 +3483bc0,afbf0018 +3483bc4,3c038012 +3483bc8,2463a5d0 +3483bcc,860f001c +3483bd0,31f800ff +3483bd4,340100ff +3483bd8,17010004 +3483bdc,27110400 +3483be0,90781397 +3483be4,3318001f +3483be8,27110430 +3483bec,31e18000 +3483bf0,14200015 +3483bf8,3c088040 +3483bfc,8d081dc8 +3483c00,1100000b +3483c04,34010001 +3483c08,11010003 +3483c10,1000000d +3483c18,806100a5 +3483c1c,30210020 +3483c20,10200008 +3483c28,10000007 +3483c30,c01e6d1 +3483c38,34010008 +3483c3c,10410002 +3483c44,34112053 +3483c48,a611010e +3483c4c,8fbf0018 +3483c50,8fb10014 +3483c54,3e00008 +3483c58,27bd001c +3483c60,27bdffe0 +3483c64,afa20008 +3483c68,afb0000c +3483c6c,afa30010 +3483c70,afa40014 +3483c74,afa50018 +3483c78,afbf001c +3483c7c,c108ba8 +3483c80,34040030 +3483c84,3c038040 +3483c88,80633c5c +3483c8c,10600007 +3483c90,3c038012 +3483c94,2463a5d0 +3483c98,8c63096c +3483c9c,30630001 +3483ca0,10600002 +3483ca8,34020000 +3483cac,40c825 +3483cb0,8fa20008 +3483cb4,8fb0000c +3483cb8,8fa30010 +3483cbc,8fa40014 +3483cc0,8fa50018 +3483cc4,8fbf001c +3483cc8,3e00008 +3483ccc,27bd0020 +3483cd0,afa50024 +3483cd4,8fa50024 +3483cd8,3c038040 +3483cdc,80633c5c +3483ce0,10600005 +3483ce4,3c038012 +3483ce8,2463a5d0 +3483cec,8c62096c +3483cf0,34420001 +3483cf4,ac62096c +3483cf8,3e00008 +3483d00,27bdffe0 +3483d04,afbf001c +3483d08,3c028040 +3483d0c,80423c5c +3483d10,14400003 +3483d18,c01c6a5 +3483d20,8fbf001c +3483d24,3e00008 +3483d28,27bd0020 +3483d2c,27bdfff0 +3483d30,afa80000 +3483d34,e7a20004 +3483d38,e7a40008 +3483d3c,3c088040 +3483d40,25081dd0 +3483d44,91080000 +3483d48,1100000f +3483d4c,340d0200 +3483d50,3c08801e +3483d54,2508aa30 +3483d58,c5020028 +3483d5c,3c08c496 +3483d60,44882000 +3483d68,4604103c +3483d70,45010004 +3483d78,340d0200 +3483d7c,10000002 +3483d84,340d00c0 +3483d88,c7a40008 +3483d8c,c7a20004 +3483d90,8fa80000 +3483d94,3e00008 +3483d98,27bd0010 +3483d9c,8e2a1d44 +3483da0,314a0100 +3483da4,1540000a +3483dac,8e2a1d48 +3483db0,314a0100 +3483db4,15400007 +3483dbc,8e211d48 +3483dc0,342a0100 +3483dc4,ae2a1d48 +3483dc8,10000003 +3483dcc,5024 +3483dd0,240c0000 +3483dd4,340a0001 3483dd8,3e00008 -3483de0,27bdffe0 -3483de4,afbf001c -3483de8,3c028040 -3483dec,80423d3c -3483df0,14400003 -3483df8,c01c6a5 -3483e00,8fbf001c -3483e04,3e00008 -3483e08,27bd0020 -3483e0c,27bdfff0 -3483e10,afa80000 -3483e14,e7a20004 -3483e18,e7a40008 -3483e1c,3c088040 -3483e20,25081d68 -3483e24,91080000 -3483e28,1100000f -3483e2c,340d0200 -3483e30,3c08801e -3483e34,2508aa30 -3483e38,c5020028 -3483e3c,3c08c496 -3483e40,44882000 -3483e48,4604103c -3483e50,45010004 -3483e58,340d0200 -3483e5c,10000002 -3483e64,340d00c0 -3483e68,c7a40008 -3483e6c,c7a20004 -3483e70,8fa80000 -3483e74,3e00008 -3483e78,27bd0010 -3483e7c,8e2a1d44 -3483e80,314a0100 -3483e84,1540000a -3483e8c,8e2a1d48 -3483e90,314a0100 -3483e94,15400007 -3483e9c,8e211d48 -3483ea0,342a0100 -3483ea4,ae2a1d48 -3483ea8,10000003 -3483eac,5024 -3483eb0,240c0000 -3483eb4,340a0001 +3483de0,27bdfff0 +3483de4,afbf0000 +3483de8,c102f23 +3483df0,8ece1c44 +3483df4,3c18db06 +3483df8,8fbf0000 +3483dfc,3e00008 +3483e00,27bd0010 +3483e08,a21901e9 +3483e0c,27bdffe0 +3483e10,afbf0004 +3483e14,afa40008 +3483e18,afa5000c +3483e1c,afa80010 +3483e20,e7aa0014 +3483e24,e7b00018 +3483e28,c102039 +3483e2c,2002021 +3483e30,8fbf0004 +3483e34,8fa40008 +3483e38,8fa5000c +3483e3c,8fa80010 +3483e40,c7aa0014 +3483e44,c7b00018 +3483e48,3e00008 +3483e4c,27bd0020 +3483e50,12c880 +3483e54,2f94021 +3483e58,3c0a8040 +3483e5c,8d4a3e04 +3483e60,11400017 +3483e68,862a00a4 +3483e6c,34090010 +3483e70,11490013 +3483e78,860a0000 +3483e7c,3409000a +3483e80,1549000f +3483e88,8e0a0004 +3483e8c,31490080 +3483e90,1120000b +3483e98,2344821 +3483e9c,912a1cc1 +3483ea0,11400007 +3483ea8,922a1c27 +3483eac,15400004 +3483eb4,300d0000 3483eb8,3e00008 -3483ec0,27bdfff0 -3483ec4,afbf0000 -3483ec8,c102819 -3483ed0,8ece1c44 -3483ed4,3c18db06 -3483ed8,8fbf0000 -3483edc,3e00008 -3483ee0,27bd0010 -3483ee8,a21901e9 -3483eec,27bdffe0 -3483ef0,afbf0004 -3483ef4,afa40008 -3483ef8,afa5000c -3483efc,afa80010 -3483f00,e7aa0014 -3483f04,e7b00018 -3483f08,c101ebf -3483f0c,2002021 -3483f10,8fbf0004 -3483f14,8fa40008 -3483f18,8fa5000c -3483f1c,8fa80010 -3483f20,c7aa0014 -3483f24,c7b00018 -3483f28,3e00008 -3483f2c,27bd0020 -3483f30,12c880 -3483f34,2f94021 -3483f38,3c0a8040 -3483f3c,8d4a3ee4 -3483f40,11400017 -3483f48,862a00a4 -3483f4c,34090010 -3483f50,11490013 -3483f58,860a0000 -3483f5c,3409000a -3483f60,1549000f -3483f68,8e0a0004 -3483f6c,31490080 -3483f70,1120000b -3483f78,2344821 -3483f7c,912a1cc1 -3483f80,11400007 -3483f88,922a1c27 -3483f8c,15400004 -3483f94,300d0000 -3483f98,3e00008 -3483fa0,3e00008 -3483fa8,8e020004 -3483fac,304b0060 -3483fb0,3c0a8040 -3483fb4,8d4a3ee4 -3483fb8,11400017 -3483fc0,860a0000 -3483fc4,3409000a -3483fc8,15490013 -3483fd0,8e0a0004 -3483fd4,31490080 -3483fd8,1120000f -3483fe0,2344821 -3483fe4,912a1cc1 -3483fe8,1140000b -3483ff0,922a1c27 -3483ff4,11400008 -3483ffc,862a00a4 -3484000,34090010 -3484004,11490004 -348400c,30020000 -3484010,3e00008 -3484018,3e00008 -3484020,3c088042 -3484024,8d087dd4 -3484028,3c098042 -348402c,8d297dd0 -3484030,1095825 -3484034,3c0a8042 -3484038,8d4a7dcc -348403c,16a5825 -3484040,11600007 -3484044,340f00ff -3484048,9488001c -348404c,31080700 -3484050,34010300 -3484054,11010002 -348405c,340f007f -3484060,3e00008 -3484064,a48f01f0 -3484068,3f800000 -348406c,34080004 -3484070,3c09801d -3484074,252984a0 -3484078,8d291c44 -348407c,11200016 -3484084,3c018040 -3484088,c4364068 -3484090,46166302 -3484094,9127014f -3484098,1507000f -348409c,448f2000 -34840a0,3c07803a -34840a4,24e78bc0 -34840a8,8d280664 -34840ac,1507000a -34840b4,3c088040 -34840b8,25081d75 -34840bc,91080000 -34840c0,11000005 -34840c8,3c083fc0 -34840cc,4488b000 -34840d4,46166302 -34840dc,44056000 -34840e0,3e00008 -34840e8,3c188040 -34840ec,97180c40 -34840f0,a5d80794 -34840f4,3c188040 -34840f8,97180c42 -34840fc,a5d80796 -3484100,3c188040 -3484104,97180c44 -3484108,a5d80798 -348410c,ec021 -3484110,3e00008 -3484118,27bdffe8 -348411c,afbf0004 -3484120,afb00008 -3484124,808021 -3484128,3c048040 -348412c,94840c64 -3484130,c101060 -3484138,ae02022c -348413c,3c048040 -3484140,94840c66 -3484144,c101060 -348414c,ae020230 -3484150,3c048040 -3484154,94840c68 -3484158,c101060 -3484160,ae020234 -3484164,c101060 -3484168,340400ff -348416c,ae020238 -3484170,8fbf0004 -3484174,8fb00008 -3484178,3e00008 -348417c,27bd0018 -3484180,28810020 -3484184,14200005 -3484188,288100e0 -348418c,10200003 -3484194,10000002 -3484198,861023 -348419c,851023 -34841a0,3e00008 -34841a4,304200ff -34841ac,2b010192 -34841b0,10200004 -34841b8,3c088010 -34841bc,3e00008 -34841c0,25088ff8 -34841c4,3c088040 -34841c8,25081c9c -34841cc,3e00008 -34841d0,2718fe6d -34841d4,8e1821 -34841d8,28c10192 -34841dc,10200004 -34841e4,3c198010 -34841e8,3e00008 -34841ec,27398ff8 -34841f0,3c198040 -34841f4,27391c9c -34841f8,3e00008 -34841fc,24c6fe6d -3484200,86190000 -3484204,8e050004 -3484208,26040008 -348420c,194023 -3484210,29010192 -3484214,10200004 -348421c,3c138010 -3484220,3e00008 -3484224,26738ff8 -3484228,3c138040 -348422c,26731c9c +3483ec0,3e00008 +3483ec8,8e020004 +3483ecc,304b0060 +3483ed0,3c0a8040 +3483ed4,8d4a3e04 +3483ed8,11400017 +3483ee0,860a0000 +3483ee4,3409000a +3483ee8,15490013 +3483ef0,8e0a0004 +3483ef4,31490080 +3483ef8,1120000f +3483f00,2344821 +3483f04,912a1cc1 +3483f08,1140000b +3483f10,922a1c27 +3483f14,11400008 +3483f1c,862a00a4 +3483f20,34090010 +3483f24,11490004 +3483f2c,30020000 +3483f30,3e00008 +3483f38,3e00008 +3483f40,3c088043 +3483f44,8d08d744 +3483f48,3c098043 +3483f4c,8d29d740 +3483f50,1095825 +3483f54,3c0a8043 +3483f58,8d4ad73c +3483f5c,16a5825 +3483f60,11600007 +3483f64,340f00ff +3483f68,9488001c +3483f6c,31080700 +3483f70,34010300 +3483f74,11010002 +3483f7c,340f007f +3483f80,3e00008 +3483f84,a48f01f0 +3483f88,3f800000 +3483f8c,34080004 +3483f90,3c09801d +3483f94,252984a0 +3483f98,8d291c44 +3483f9c,11200016 +3483fa4,3c018040 +3483fa8,c4363f88 +3483fb0,46166302 +3483fb4,9127014f +3483fb8,1507000f +3483fbc,448f2000 +3483fc0,3c07803a +3483fc4,24e78bc0 +3483fc8,8d280664 +3483fcc,1507000a +3483fd4,3c088040 +3483fd8,25081ddd +3483fdc,91080000 +3483fe0,11000005 +3483fe8,3c083fc0 +3483fec,4488b000 +3483ff4,46166302 +3483ffc,44056000 +3484000,3e00008 +3484008,3c188040 +348400c,97180c48 +3484010,a5d80794 +3484014,3c188040 +3484018,97180c4a +348401c,a5d80796 +3484020,3c188040 +3484024,97180c4c +3484028,a5d80798 +348402c,ec021 +3484030,3e00008 +3484038,27bdffe8 +348403c,afbf0004 +3484040,afb00008 +3484044,808021 +3484048,3c048040 +348404c,94840c6c +3484050,c101028 +3484058,ae02022c +348405c,3c048040 +3484060,94840c6e +3484064,c101028 +348406c,ae020230 +3484070,3c048040 +3484074,94840c70 +3484078,c101028 +3484080,ae020234 +3484084,c101028 +3484088,340400ff +348408c,ae020238 +3484090,8fbf0004 +3484094,8fb00008 +3484098,3e00008 +348409c,27bd0018 +34840a0,28810020 +34840a4,14200005 +34840a8,288100e0 +34840ac,10200003 +34840b4,10000002 +34840b8,861023 +34840bc,851023 +34840c0,3e00008 +34840c4,304200ff +34840cc,2b010192 +34840d0,10200004 +34840d8,3c088010 +34840dc,3e00008 +34840e0,25088ff8 +34840e4,3c088040 +34840e8,25081cb4 +34840ec,3e00008 +34840f0,2718fe6d +34840f4,8e1821 +34840f8,28c10192 +34840fc,10200004 +3484104,3c198010 +3484108,3e00008 +348410c,27398ff8 +3484110,3c198040 +3484114,27391cb4 +3484118,3e00008 +348411c,24c6fe6d +3484120,86190000 +3484124,8e050004 +3484128,26040008 +348412c,194023 +3484130,29010192 +3484134,10200004 +348413c,3c138010 +3484140,3e00008 +3484144,26738ff8 +3484148,3c138040 +348414c,26731cb4 +3484150,3e00008 +3484154,2508fe6d +3484158,8e040010 +348415c,28610192 +3484160,10200004 +3484168,3c138010 +348416c,8101060 +3484170,26738ff8 +3484174,3c138040 +3484178,26731cb4 +348417c,2463fe6d +3484180,378c0 +3484184,26f1021 +3484188,3e00008 +348418c,8c450000 +3484190,8fa40020 +3484194,3c088040 +3484198,81081dd4 +348419c,24060050 +34841a0,1100000b +34841a8,84860014 +34841ac,50c00008 +34841b0,24060050 +34841b4,80a81d44 +34841b8,c85824 +34841bc,55600004 +34841c0,24060050 +34841c4,1064025 +34841c8,a0a81d44 +34841cc,24c60014 +34841d0,3e00008 +34841d8,27bdfff0 +34841dc,afbf0004 +34841e0,afa80008 +34841e4,afa9000c +34841e8,3c088040 +34841ec,81081dd4 +34841f0,11000009 +34841f8,86080014 +34841fc,11000006 +3484204,82291d44 +3484208,1094024 +348420c,24020001 +3484210,11000003 +3484218,c01c6a5 +3484220,8fbf0004 +3484224,8fa80008 +3484228,8fa9000c +348422c,27bd0010 3484230,3e00008 -3484234,2508fe6d -3484238,8e040010 -348423c,28610192 -3484240,10200004 -3484248,3c138010 -348424c,8101098 -3484250,26738ff8 -3484254,3c138040 -3484258,26731c9c -348425c,2463fe6d -3484260,378c0 -3484264,26f1021 -3484268,3e00008 -348426c,8c450000 -3484270,8fa40020 -3484274,3c088040 -3484278,81081d6c -348427c,24060050 -3484280,1100000b -3484288,84860014 -348428c,50c00008 -3484290,24060050 -3484294,80a81d44 -3484298,c85824 -348429c,55600004 -34842a0,24060050 -34842a4,1064025 -34842a8,a0a81d44 -34842ac,24c60014 -34842b0,3e00008 -34842b8,27bdfff0 -34842bc,afbf0004 -34842c0,afa80008 -34842c4,afa9000c -34842c8,3c088040 -34842cc,81081d6c -34842d0,11000009 -34842d8,86080014 -34842dc,11000006 -34842e4,82291d44 -34842e8,1094024 -34842ec,24020001 -34842f0,11000003 -34842f8,c01c6a5 -3484300,8fbf0004 -3484304,8fa80008 -3484308,8fa9000c -348430c,27bd0010 -3484310,3e00008 -3484318,8fb00034 -348431c,848800b4 -3484320,11000002 -3484328,a48000b0 -348432c,3e00008 -3484334,1b9fcd5 -3484338,fb251ad2 -348433c,f2dc -3484340,8022 -3484344,23bdffec -3484348,afbf0010 -348434c,9608001c -3484350,31088000 -3484354,1100000f -348435c,3c038012 -3484360,2463a5d0 -3484364,946d0edc -3484368,31ad0400 -348436c,11a0000b -3484374,8c6e0004 -3484378,15c00008 -3484380,948d1d2a -3484384,35ae0001 -3484388,a48e1d2a -348438c,10000003 -3484394,c037385 -348439c,8fbf0010 -34843a0,23bd0014 -34843a4,3e00008 -34843ac,8c6e0004 -34843b0,3e00008 -34843b8,8488001c -34843bc,34010002 -34843c0,15010015 -34843c8,3c028012 -34843cc,2442a5d0 -34843d0,8c4b0004 -34843d4,15600012 -34843dc,3c098040 -34843e0,25294428 -34843e4,ac890154 -34843e8,27bdffe0 -34843ec,afbf0010 -34843f0,afa50014 -34843f4,8fa60014 -34843f8,3c058040 -34843fc,24a54334 -3484400,c009571 -3484404,24c41c24 -3484408,8fbf0010 -348440c,27bd0020 -3484410,10000003 -3484418,afa40000 -348441c,afa50004 -3484420,3e00008 -3484428,27bdffd8 -348442c,afb00020 -3484430,afbf0024 -3484434,afa5002c -3484438,808025 -348443c,c600015c -3484440,3c01c4a4 -3484444,24212000 -3484448,44811000 -348444c,3c028012 -3484450,2442a5d0 -3484454,944b0edc -3484458,316c0400 -348445c,944b0ee0 -3484460,11800032 -3484468,240ffba7 -348446c,94ad1d2a -3484470,31ae0001 -3484474,11c00006 -348447c,31adfffe -3484480,a4ad1d2a -3484484,34010200 -3484488,1615826 -348448c,a44b0ee0 -3484490,316c0200 -3484494,1180000b -348449c,34010000 -34844a0,44812000 -34844a4,3c064080 -34844a8,44863000 -34844b0,46060200 -34844b4,4604403c -34844bc,1000000a -34844c4,3c01c42a -34844c8,44812000 -34844cc,3c06c080 -34844d0,44863000 -34844d8,46060200 -34844dc,4608203c -34844e4,240ffb57 -34844e8,45000005 -34844f0,46004106 -34844f4,c008c42 -34844f8,3405205e -34844fc,2002025 -3484500,e604015c -3484504,46022100 -3484508,e6040028 -348450c,4600240d -3484510,44098000 -3484514,8fa2002c -3484518,8c5807c0 -348451c,8f190028 -3484520,a72f0012 -3484524,a7290022 -3484528,a7290032 -348452c,8fbf0024 -3484530,8fb00020 -3484534,27bd0028 -3484538,3e00008 -3484540,ac20753c -3484544,3c018040 -3484548,90211d71 -348454c,10200008 -3484550,3c01801d -3484554,242184a0 -3484558,94211d2c -348455c,302100c0 -3484560,14200003 -3484568,801ce4c -3484570,801ce45 -3484578,3c088012 -348457c,2508a5d0 -3484580,8d0a0004 -3484584,11400006 -3484588,8d090000 -348458c,3401003b -3484590,15210008 -3484598,3c0bc47a -348459c,ac8b0028 -34845a0,3401016d -34845a4,15210003 -34845ac,3c0bc47a -34845b0,ac8b0028 -34845b4,3e00008 -34845b8,340e0001 -34845c0,3c0f8040 -34845c4,25ef45bc -34845c8,81ef0000 -34845cc,3c188040 -34845d0,271845bd -34845d4,83180000 -34845d8,1f87820 -34845dc,5e00008 -34845e0,34010003 -34845e4,1e1082a -34845e8,10200003 -34845f0,10000005 -34845f4,1f08004 -34845f8,10000009 -34845fc,a4a00030 -3484600,f7822 -3484604,1f08007 -3484608,90af003d -348460c,11e00004 -3484614,108043 -3484618,108400 -348461c,108403 -3484620,3e00008 -3484630,27bdffe8 -3484634,afbf0010 -3484638,3c088040 -348463c,8d084628 -3484640,11000003 -3484648,c1011b9 -3484650,8fbf0010 -3484654,27bd0018 -3484658,8fb00020 -348465c,27bd0050 -3484660,3e00008 -3484668,2002025 -348466c,240500ff -3484670,3c088040 -3484674,8d084628 -3484678,11000004 -3484680,92080682 -3484684,35090010 -3484688,a2090682 -348468c,3e00008 -3484694,27bdffe8 -3484698,afbf0010 -348469c,24010002 -34846a0,3c098012 -34846a4,3c188040 -34846a8,8f184628 -34846ac,1300000a -34846b4,92180682 -34846b8,330b0010 -34846bc,11600006 -34846c4,860b0840 -34846c8,15600003 -34846d0,c1011b9 -34846d8,8fbf0010 +3484238,8fb00034 +348423c,848800b4 +3484240,11000002 +3484248,a48000b0 +348424c,3e00008 +3484254,1b9fcd5 +3484258,fb251ad2 +348425c,f2dc +3484260,8022 +3484264,23bdffec +3484268,afbf0010 +348426c,9608001c +3484270,31088000 +3484274,1100000f +348427c,3c038012 +3484280,2463a5d0 +3484284,946d0edc +3484288,31ad0400 +348428c,11a0000b +3484294,8c6e0004 +3484298,15c00008 +34842a0,948d1d2a +34842a4,35ae0001 +34842a8,a48e1d2a +34842ac,10000003 +34842b4,c037385 +34842bc,8fbf0010 +34842c0,23bd0014 +34842c4,3e00008 +34842cc,8c6e0004 +34842d0,3e00008 +34842d8,8488001c +34842dc,34010002 +34842e0,15010015 +34842e8,3c028012 +34842ec,2442a5d0 +34842f0,8c4b0004 +34842f4,15600012 +34842fc,3c098040 +3484300,25294348 +3484304,ac890154 +3484308,27bdffe0 +348430c,afbf0010 +3484310,afa50014 +3484314,8fa60014 +3484318,3c058040 +348431c,24a54254 +3484320,c009571 +3484324,24c41c24 +3484328,8fbf0010 +348432c,27bd0020 +3484330,10000003 +3484338,afa40000 +348433c,afa50004 +3484340,3e00008 +3484348,27bdffd8 +348434c,afb00020 +3484350,afbf0024 +3484354,afa5002c +3484358,808025 +348435c,c600015c +3484360,3c01c4a4 +3484364,24212000 +3484368,44811000 +348436c,3c028012 +3484370,2442a5d0 +3484374,944b0edc +3484378,316c0400 +348437c,944b0ee0 +3484380,11800032 +3484388,240ffba7 +348438c,94ad1d2a +3484390,31ae0001 +3484394,11c00006 +348439c,31adfffe +34843a0,a4ad1d2a +34843a4,34010200 +34843a8,1615826 +34843ac,a44b0ee0 +34843b0,316c0200 +34843b4,1180000b +34843bc,34010000 +34843c0,44812000 +34843c4,3c064080 +34843c8,44863000 +34843d0,46060200 +34843d4,4604403c +34843dc,1000000a +34843e4,3c01c42a +34843e8,44812000 +34843ec,3c06c080 +34843f0,44863000 +34843f8,46060200 +34843fc,4608203c +3484404,240ffb57 +3484408,45000005 +3484410,46004106 +3484414,c008c42 +3484418,3405205e +348441c,2002025 +3484420,e604015c +3484424,46022100 +3484428,e6040028 +348442c,4600240d +3484430,44098000 +3484434,8fa2002c +3484438,8c5807c0 +348443c,8f190028 +3484440,a72f0012 +3484444,a7290022 +3484448,a7290032 +348444c,8fbf0024 +3484450,8fb00020 +3484454,27bd0028 +3484458,3e00008 +3484460,ac20753c +3484464,3c018040 +3484468,90211dd9 +348446c,10200008 +3484470,3c01801d +3484474,242184a0 +3484478,94211d2c +348447c,302100c0 +3484480,14200003 +3484488,801ce4c +3484490,801ce45 +3484498,3c088012 +348449c,2508a5d0 +34844a0,8d0a0004 +34844a4,11400006 +34844a8,8d090000 +34844ac,3401003b +34844b0,15210008 +34844b8,3c0bc47a +34844bc,ac8b0028 +34844c0,3401016d +34844c4,15210003 +34844cc,3c0bc47a +34844d0,ac8b0028 +34844d4,3e00008 +34844d8,340e0001 +34844e0,3c0f8040 +34844e4,25ef44dc +34844e8,81ef0000 +34844ec,3c188040 +34844f0,271844dd +34844f4,83180000 +34844f8,1f87820 +34844fc,5e00008 +3484500,34010003 +3484504,1e1082a +3484508,10200003 +3484510,10000005 +3484514,1f08004 +3484518,10000009 +348451c,a4a00030 +3484520,f7822 +3484524,1f08007 +3484528,90af003d +348452c,11e00004 +3484534,108043 +3484538,108400 +348453c,108403 +3484540,3e00008 +3484550,27bdffe8 +3484554,afbf0010 +3484558,3c088040 +348455c,8d084548 +3484560,11000003 +3484568,c101181 +3484570,8fbf0010 +3484574,27bd0018 +3484578,8fb00020 +348457c,27bd0050 +3484580,3e00008 +3484588,2002025 +348458c,240500ff +3484590,3c088040 +3484594,8d084548 +3484598,11000004 +34845a0,92080682 +34845a4,35090010 +34845a8,a2090682 +34845ac,3e00008 +34845b4,27bdffe8 +34845b8,afbf0010 +34845bc,24010002 +34845c0,3c098012 +34845c4,3c188040 +34845c8,8f184548 +34845cc,1300000a +34845d4,92180682 +34845d8,330b0010 +34845dc,11600006 +34845e4,860b0840 +34845e8,15600003 +34845f0,c101181 +34845f8,8fbf0010 +34845fc,3e00008 +3484600,27bd0018 +3484604,92180682 +3484608,330bffef +348460c,a20b0682 +3484610,3c188012 +3484614,2718a5d0 +3484618,870b13c8 +348461c,15600022 +3484624,3c0b8040 +3484628,856b454c +348462c,560000d +3484630,870c0030 +3484634,930f003d +3484638,11e00004 +3484640,b5843 +3484644,b5c00 +3484648,b5c03 +348464c,18b6022 +3484650,5800004 +3484658,a70c0030 +348465c,10000002 +3484664,a7000030 +3484668,870b0030 +348466c,1560000e +3484674,3c0f801d +3484678,25ef84a0 +348467c,85eb00a4 +3484680,340c0010 +3484684,156c0008 +348468c,3c0b8040 +3484690,816b6d30 +3484694,15600004 +348469c,ade01d2c +34846a0,ade01d38 +34846a4,a30000cc +34846a8,3e00008 +34846b0,3c088040 +34846b4,8508454c +34846b8,240afffe +34846bc,150a0005 +34846c4,86290198 +34846c8,11200002 +34846d0,a6200184 +34846d4,862a0032 +34846d8,44808000 34846dc,3e00008 -34846e0,27bd0018 -34846e4,92180682 -34846e8,330bffef -34846ec,a20b0682 -34846f0,3c188012 -34846f4,2718a5d0 -34846f8,870b13c8 -34846fc,15600022 -3484704,3c0b8040 -3484708,856b462c -348470c,560000d -3484710,870c0030 -3484714,930f003d -3484718,11e00004 -3484720,b5843 -3484724,b5c00 -3484728,b5c03 -348472c,18b6022 -3484730,5800004 -3484738,a70c0030 -348473c,10000002 -3484744,a7000030 -3484748,870b0030 -348474c,1560000e -3484754,3c0f801d -3484758,25ef84a0 -348475c,85eb00a4 -3484760,340c0010 -3484764,156c0008 -348476c,3c0b8040 -3484770,816b6d5c -3484774,15600004 -348477c,ade01d2c -3484780,ade01d38 -3484784,a30000cc -3484788,3e00008 -3484790,3c088040 -3484794,8508462c -3484798,240afffe -348479c,150a0005 -34847a4,86290198 -34847a8,11200002 -34847b0,a6200184 -34847b4,862a0032 -34847b8,44808000 +34846e4,23400 +34846e8,63403 +34846ec,3c010001 +34846f0,34211cbc +34846f4,817021 +34846f8,8dcf0008 +34846fc,91f80000 +3484700,340f0001 +3484704,15f80004 +348470c,8fbf0024 +3484710,8fb00020 +3484714,27bd0030 +3484718,3e00008 +3484724,4f1021 +3484728,3c098040 +348472c,81294720 +3484730,11200008 +3484734,8042a65c +3484738,3c0a801d +348473c,254a84a0 +3484740,8d491d44 +3484744,31210002 +3484748,14200002 +348474c,3402000a +3484750,34020000 +3484754,3e00008 +348475c,594021 +3484760,3c0a8040 +3484764,814a4720 +3484768,11400002 +348476c,8109008c +3484770,34090000 +3484774,3e00008 +348477c,1ee7821 +3484780,3c0a8040 +3484784,814a4720 +3484788,11400002 +348478c,81efa65c +3484790,340f0000 +3484794,3e00008 +348479c,3c098040 +34847a0,81294720 +34847a4,11200005 +34847a8,3c0a801d +34847ac,254a84a0 +34847b0,8d491d44 +34847b4,35290002 +34847b8,ad491d44 34847bc,3e00008 -34847c4,23400 -34847c8,63403 -34847cc,3c010001 -34847d0,34211cbc -34847d4,817021 -34847d8,8dcf0008 -34847dc,91f80000 -34847e0,340f0001 -34847e4,15f80004 -34847ec,8fbf0024 -34847f0,8fb00020 -34847f4,27bd0030 -34847f8,3e00008 -3484804,4f1021 -3484808,3c098040 -348480c,81294800 -3484810,11200008 -3484814,8042a65c -3484818,3c0a801d -348481c,254a84a0 -3484820,8d491d44 -3484824,31210002 -3484828,14200002 -348482c,3402000a -3484830,34020000 -3484834,3e00008 -348483c,594021 -3484840,3c0a8040 -3484844,814a4800 -3484848,11400002 -348484c,8109008c -3484850,34090000 -3484854,3e00008 -348485c,1ee7821 -3484860,3c0a8040 -3484864,814a4800 -3484868,11400002 -348486c,81efa65c -3484870,340f0000 -3484874,3e00008 -348487c,3c098040 -3484880,81294800 -3484884,11200005 -3484888,3c0a801d -348488c,254a84a0 -3484890,8d491d44 -3484894,35290002 -3484898,ad491d44 -348489c,3e00008 -34848a0,afa50024 -3484968,ff00 -348496c,3c0a8040 -3484970,254a496a -3484974,914b0000 -3484978,340c00ff -348497c,a14c0000 -3484980,34087fff -3484984,15c80006 -3484988,3c098040 -348498c,25294928 -3484990,116c000c -3484994,b5840 -3484998,12b4821 -348499c,952e0000 -34849a0,27bdfff0 -34849a4,afbf0004 -34849a8,afa40008 -34849ac,c101285 -34849b0,1c02021 -34849b4,407021 -34849b8,8fbf0004 -34849bc,8fa40008 -34849c0,27bd0010 -34849c4,3e00008 -34849c8,a42e1e1a -34849cc,9608001c -34849d0,84303 -34849d4,3108000f -34849d8,29090002 -34849dc,1520000b -34849e4,960d0018 -34849e8,27bdfff0 -34849ec,afbf0004 -34849f0,afa40008 -34849f4,c101285 -34849f8,1a02021 -34849fc,406821 -3484a00,8fbf0004 -3484a04,8fa40008 -3484a08,27bd0010 -3484a0c,3e00008 -3484a10,270821 -3484a14,34087ff9 -3484a18,884022 -3484a1c,501000f -3484a20,34081000 -3484a24,884022 -3484a28,500000c -3484a2c,3c098012 -3484a30,2529a5d0 -3484a34,3c0a8040 -3484a38,254a48a4 -3484a3c,3c0b8040 -3484a40,256b496a -3484a44,a1680000 -3484a48,84080 -3484a4c,1485021 -3484a50,95440000 -3484a54,91480002 -3484a58,a1281397 -3484a5c,3e00008 -3484a60,801021 -3484a64,8c6d0004 -3484a68,3c0e8040 -3484a6c,81ce1d72 -3484a70,1ae7825 -3484a74,11e0000a -3484a7c,11c00006 -3484a84,946e0ed4 -3484a88,31ce0010 -3484a8c,1cd7025 -3484a90,11c00003 -3484a98,3e00008 -3484a9c,340f0001 -3484aa0,3e00008 -3484aa4,340f0000 -3484aa8,1000 -3484aac,4800 -3484ab4,e000 -3484ab8,4800 -3484ac0,804310c0 -3484ac4,49890 -3485570,24a55630 -3485574,3c0e8040 -3485578,25ce54d0 -348557c,3e00008 -3485580,1c27021 -3485584,34191000 -3485588,340a4800 -348558c,340d0000 -3485590,340ce000 -3485594,340e4800 -3485598,3e00008 -348559c,34180000 -34855a4,3c088012 -34855a8,2508a5d0 -34855ac,95090eda -34855b0,31290008 -34855b4,15200008 -34855b8,8d090004 -34855bc,15200004 -34855c0,3c098040 -34855c4,812955a0 -34855c8,15200003 -34855d0,3e00008 -34855d4,34090000 -34855d8,3e00008 -34855dc,34090001 -34855e0,340400b4 -34855e4,80aa01f9 -34855e8,15400002 -34855f0,34190000 -34855f4,3e00008 -34855fc,a20001f8 -3485600,24180001 -3485604,3e00008 -3485608,a21801f9 -348560c,acaa0180 -3485610,3e00008 -3485614,a0a001f9 -3485618,3c08801d -348561c,25082578 -3485620,3409006c -3485624,8d0a6300 -3485628,112a0009 -348562c,340a0001 -3485630,340b0036 -3485634,ad0a6300 -3485638,a10b6304 -348563c,240cffff -3485640,810e63e7 -3485644,15cc0002 -3485648,340d0002 -348564c,a10d63e7 -3485650,3e00008 -3485654,24060022 -3485660,afb0003c -3485664,27bdffe0 -3485668,afbf0014 -348566c,3c098040 -3485670,25295658 -3485674,812a0000 -3485678,1540000a -3485680,8e4b0028 -3485684,3c0c4370 -3485688,16c082a -348568c,14200005 -3485690,340d0001 -3485694,a12d0000 -3485698,3404001b -348569c,c032a9c -34856a4,8fbf0014 -34856a8,3e00008 -34856ac,27bd0020 -34856b0,8e721c44 -34856b4,240e0003 -34856b8,a22e05b0 -34856bc,926f07af -34856c0,4406b000 -34856c4,4407a000 -34856c8,3e00008 -34856d0,90580000 -34856d4,27bdffd0 -34856d8,afbf0014 -34856dc,afa40018 -34856e0,afa5001c -34856e4,afa60020 -34856e8,afa70024 -34856ec,3c048040 -34856f0,80845658 -34856f4,1080001b -34856fc,3c048040 -3485700,8c84565c -3485704,2885001e -3485708,14a00016 -3485710,28850050 -3485714,10a0000c -348571c,3c043d4d -3485720,2484cccd -3485724,ae4404d0 -3485728,2402025 -348572c,248404c8 -3485730,3c05437f -3485734,3c063f80 -3485738,3c074120 -348573c,c0190a0 -3485744,10000007 -3485748,2402025 -348574c,248404c8 -3485750,34050000 -3485754,3c063f80 -3485758,3c074120 -348575c,c0190a0 -3485764,8fbf0014 -3485768,8fa40018 -348576c,8fa5001c -3485770,8fa60020 -3485774,8fa70024 -3485778,3e00008 -348577c,27bd0030 -3485780,860800b6 -3485784,25084000 -3485788,a60800b6 -348578c,34080001 -3485790,a20805e8 -3485794,a2000554 -3485798,8e090004 -348579c,240afffe -34857a0,1495824 -34857a4,ae0b0004 -34857a8,3c088040 -34857ac,250857f0 -34857b0,3e00008 -34857b4,ae08013c -34857b8,860800b6 -34857bc,2508c000 -34857c0,a60800b6 -34857c4,34080001 -34857c8,a20805e8 -34857cc,a2000554 -34857d0,8e090004 -34857d4,240afffe -34857d8,1495824 -34857dc,ae0b0004 -34857e0,3c088040 -34857e4,250857f0 -34857e8,3e00008 -34857ec,ae08013c -34857f0,27bdffd0 -34857f4,afbf0014 -34857f8,afa40018 -34857fc,afa5001c -3485800,34080001 -3485804,a0880554 -3485808,8488001c -348580c,11000006 -3485814,3c048040 -3485818,8c84565c -348581c,24850001 -3485820,3c018040 -3485824,ac25565c -3485828,3c048040 -348582c,8c84565c -3485830,34050003 -3485834,14850009 -348583c,8fa40018 -3485840,8488001c -3485844,34090001 -3485848,11090002 -348584c,240539b0 -3485850,240539b1 -3485854,c008bf4 -348585c,28850028 -3485860,14a0001a -3485868,8fa40018 -348586c,24840028 -3485870,3c0543c8 -3485874,3c063f80 -3485878,3c0740c0 -348587c,c0190a0 -3485884,8fa40018 -3485888,24840558 -348588c,c023270 -3485894,8fa40018 -3485898,c008bf4 -348589c,2405311f -34858a0,3c048040 -34858a4,8c84565c -34858a8,34080061 -34858ac,14880007 -34858b4,8fa40018 -34858b8,8fa5001c -34858bc,8c8b0138 -34858c0,8d6b0010 -34858c4,256913ec -34858c8,ac89013c -34858cc,8fbf0014 -34858d0,3e00008 -34858d4,27bd0030 -34858d8,3c01c416 -34858dc,44816000 -34858e0,3e00008 -34858e4,3025 -34858e8,3c014416 -34858ec,44816000 -34858f0,3e00008 -34858f4,3025 -34858f8,afa40018 -34858fc,3c08801e -3485900,2508aa30 -3485904,3e00008 -3485908,ad000678 -348590c,27bdffe8 -3485910,afaa0004 -3485914,846f4a2a -3485918,340a0002 -348591c,15ea0002 -3485920,340a0001 -3485924,a46a4a2a -3485928,846f4a2a -348592c,8faa0004 -3485930,3e00008 -3485934,27bd0018 -3485938,27bdffe8 -348593c,afaa0004 -3485940,846e4a2a -3485944,340a0002 -3485948,15ca0002 -348594c,340a0003 -3485950,a46a4a2a -3485954,846e4a2a -3485958,8faa0004 -348595c,3e00008 -3485960,27bd0018 -3485964,27bdffe8 -3485968,afaa0004 -348596c,85034a2a -3485970,340a0002 -3485974,146a0002 -3485978,340a0001 -348597c,a50a4a2a -3485980,85034a2a -3485984,8faa0004 -3485988,3e00008 -348598c,27bd0018 -3485990,27bdffe8 -3485994,afaa0004 -3485998,85034a2a -348599c,340a0002 -34859a0,146a0002 -34859a4,340a0003 -34859a8,a50a4a2a -34859ac,85034a2a -34859b0,8faa0004 -34859b4,3e00008 -34859b8,27bd0018 -34859bc,27bdffe8 -34859c0,afaa0004 -34859c4,85034a2a -34859c8,340a0002 -34859cc,146a0002 -34859d0,340a0001 -34859d4,a50a4a2a -34859d8,85034a2a -34859dc,8faa0004 -34859e0,3e00008 -34859e4,27bd0018 -34859e8,27bdffe8 -34859ec,afaa0004 -34859f0,85034a2a -34859f4,340a0002 -34859f8,146a0002 -34859fc,340a0003 -3485a00,a50a4a2a -3485a04,85034a2a -3485a08,8faa0004 -3485a0c,3e00008 -3485a10,27bd0018 -3485a14,27bdffe8 -3485a18,afaa0004 -3485a1c,a42bca2a -3485a20,340a0002 -3485a24,156a0002 -3485a28,340a0003 -3485a2c,a50a4a2a -3485a30,85034a2a -3485a34,8faa0004 -3485a38,3e00008 -3485a3c,27bd0018 -3485a40,27bdffe8 -3485a44,afaa0004 -3485a48,85034a2a -3485a4c,340a0002 -3485a50,146a0002 -3485a54,340a0001 -3485a58,a50a4a2a -3485a5c,85034a2a -3485a60,8faa0004 -3485a64,3e00008 -3485a68,27bd0018 -3485a6c,27bdffe8 -3485a70,afaa0004 -3485a74,85034a2a -3485a78,340a0002 -3485a7c,146a0002 -3485a80,340a0003 -3485a84,a50a4a2a -3485a88,85034a2a -3485a8c,8faa0004 +34847c0,afa50024 +3484888,ff00 +348488c,3c0a8040 +3484890,254a488a +3484894,914b0000 +3484898,340c00ff +348489c,a14c0000 +34848a0,34087fff +34848a4,15c80006 +34848a8,3c098040 +34848ac,25294848 +34848b0,116c000c +34848b4,b5840 +34848b8,12b4821 +34848bc,952e0000 +34848c0,27bdfff0 +34848c4,afbf0004 +34848c8,afa40008 +34848cc,c10124d +34848d0,1c02021 +34848d4,407021 +34848d8,8fbf0004 +34848dc,8fa40008 +34848e0,27bd0010 +34848e4,3e00008 +34848e8,a42e1e1a +34848ec,9608001c +34848f0,84303 +34848f4,3108000f +34848f8,29090002 +34848fc,1520000b +3484904,960d0018 +3484908,27bdfff0 +348490c,afbf0004 +3484910,afa40008 +3484914,c10124d +3484918,1a02021 +348491c,406821 +3484920,8fbf0004 +3484924,8fa40008 +3484928,27bd0010 +348492c,3e00008 +3484930,270821 +3484934,34087ff9 +3484938,884022 +348493c,501000f +3484940,34081000 +3484944,884022 +3484948,500000c +348494c,3c098012 +3484950,2529a5d0 +3484954,3c0a8040 +3484958,254a47c4 +348495c,3c0b8040 +3484960,256b488a +3484964,a1680000 +3484968,84080 +348496c,1485021 +3484970,95440000 +3484974,91480002 +3484978,a1281397 +348497c,3e00008 +3484980,801021 +3484984,8c6d0004 +3484988,3c0e8040 +348498c,81ce1dda +3484990,1ae7825 +3484994,11e0000a +348499c,11c00006 +34849a4,946e0ed4 +34849a8,31ce0010 +34849ac,1cd7025 +34849b0,11c00003 +34849b8,3e00008 +34849bc,340f0001 +34849c0,3e00008 +34849c4,340f0000 +34849c8,1000 +34849cc,4800 +34849d4,e000 +34849d8,4800 +34849e0,804422b0 +34849e4,49890 +3485490,24a55630 +3485494,3c0e8040 +3485498,25ce53f0 +348549c,3e00008 +34854a0,1c27021 +34854a4,34191000 +34854a8,340a4800 +34854ac,340d0000 +34854b0,340ce000 +34854b4,340e4800 +34854b8,3e00008 +34854bc,34180000 +34854c4,3c088012 +34854c8,2508a5d0 +34854cc,95090eda +34854d0,31290008 +34854d4,15200008 +34854d8,8d090004 +34854dc,15200004 +34854e0,3c098040 +34854e4,812954c0 +34854e8,15200003 +34854f0,3e00008 +34854f4,34090000 +34854f8,3e00008 +34854fc,34090001 +3485500,340400b4 +3485504,80aa01f9 +3485508,15400002 +3485510,34190000 +3485514,3e00008 +348551c,a20001f8 +3485520,24180001 +3485524,3e00008 +3485528,a21801f9 +348552c,acaa0180 +3485530,3e00008 +3485534,a0a001f9 +3485538,3c08801d +348553c,25082578 +3485540,3409006c +3485544,8d0a6300 +3485548,112a0009 +348554c,340a0001 +3485550,340b0036 +3485554,ad0a6300 +3485558,a10b6304 +348555c,240cffff +3485560,810e63e7 +3485564,15cc0002 +3485568,340d0002 +348556c,a10d63e7 +3485570,3e00008 +3485574,24060022 +3485580,afb0003c +3485584,27bdffe0 +3485588,afbf0014 +348558c,3c098040 +3485590,25295578 +3485594,812a0000 +3485598,1540000a +34855a0,8e4b0028 +34855a4,3c0c4370 +34855a8,16c082a +34855ac,14200005 +34855b0,340d0001 +34855b4,a12d0000 +34855b8,3404001b +34855bc,c032a9c +34855c4,8fbf0014 +34855c8,3e00008 +34855cc,27bd0020 +34855d0,8e721c44 +34855d4,240e0003 +34855d8,a22e05b0 +34855dc,926f07af +34855e0,4406b000 +34855e4,4407a000 +34855e8,3e00008 +34855f0,90580000 +34855f4,27bdffd0 +34855f8,afbf0014 +34855fc,afa40018 +3485600,afa5001c +3485604,afa60020 +3485608,afa70024 +348560c,3c048040 +3485610,80845578 +3485614,1080001b +348561c,3c048040 +3485620,8c84557c +3485624,2885001e +3485628,14a00016 +3485630,28850050 +3485634,10a0000c +348563c,3c043d4d +3485640,2484cccd +3485644,ae4404d0 +3485648,2402025 +348564c,248404c8 +3485650,3c05437f +3485654,3c063f80 +3485658,3c074120 +348565c,c0190a0 +3485664,10000007 +3485668,2402025 +348566c,248404c8 +3485670,34050000 +3485674,3c063f80 +3485678,3c074120 +348567c,c0190a0 +3485684,8fbf0014 +3485688,8fa40018 +348568c,8fa5001c +3485690,8fa60020 +3485694,8fa70024 +3485698,3e00008 +348569c,27bd0030 +34856a0,860800b6 +34856a4,25084000 +34856a8,a60800b6 +34856ac,34080001 +34856b0,a20805e8 +34856b4,a2000554 +34856b8,8e090004 +34856bc,240afffe +34856c0,1495824 +34856c4,ae0b0004 +34856c8,3c088040 +34856cc,25085710 +34856d0,3e00008 +34856d4,ae08013c +34856d8,860800b6 +34856dc,2508c000 +34856e0,a60800b6 +34856e4,34080001 +34856e8,a20805e8 +34856ec,a2000554 +34856f0,8e090004 +34856f4,240afffe +34856f8,1495824 +34856fc,ae0b0004 +3485700,3c088040 +3485704,25085710 +3485708,3e00008 +348570c,ae08013c +3485710,27bdffd0 +3485714,afbf0014 +3485718,afa40018 +348571c,afa5001c +3485720,34080001 +3485724,a0880554 +3485728,8488001c +348572c,11000006 +3485734,3c048040 +3485738,8c84557c +348573c,24850001 +3485740,3c018040 +3485744,ac25557c +3485748,3c048040 +348574c,8c84557c +3485750,34050003 +3485754,14850009 +348575c,8fa40018 +3485760,8488001c +3485764,34090001 +3485768,11090002 +348576c,240539b0 +3485770,240539b1 +3485774,c008bf4 +348577c,28850028 +3485780,14a0001a +3485788,8fa40018 +348578c,24840028 +3485790,3c0543c8 +3485794,3c063f80 +3485798,3c0740c0 +348579c,c0190a0 +34857a4,8fa40018 +34857a8,24840558 +34857ac,c023270 +34857b4,8fa40018 +34857b8,c008bf4 +34857bc,2405311f +34857c0,3c048040 +34857c4,8c84557c +34857c8,34080061 +34857cc,14880007 +34857d4,8fa40018 +34857d8,8fa5001c +34857dc,8c8b0138 +34857e0,8d6b0010 +34857e4,256913ec +34857e8,ac89013c +34857ec,8fbf0014 +34857f0,3e00008 +34857f4,27bd0030 +34857f8,3c01c416 +34857fc,44816000 +3485800,3e00008 +3485804,3025 +3485808,3c014416 +348580c,44816000 +3485810,3e00008 +3485814,3025 +3485818,afa40018 +348581c,3c08801e +3485820,2508aa30 +3485824,3e00008 +3485828,ad000678 +348582c,27bdffe8 +3485830,afaa0004 +3485834,846f4a2a +3485838,340a0002 +348583c,15ea0002 +3485840,340a0001 +3485844,a46a4a2a +3485848,846f4a2a +348584c,8faa0004 +3485850,3e00008 +3485854,27bd0018 +3485858,27bdffe8 +348585c,afaa0004 +3485860,846e4a2a +3485864,340a0002 +3485868,15ca0002 +348586c,340a0003 +3485870,a46a4a2a +3485874,846e4a2a +3485878,8faa0004 +348587c,3e00008 +3485880,27bd0018 +3485884,27bdffe8 +3485888,afaa0004 +348588c,85034a2a +3485890,340a0002 +3485894,146a0002 +3485898,340a0001 +348589c,a50a4a2a +34858a0,85034a2a +34858a4,8faa0004 +34858a8,3e00008 +34858ac,27bd0018 +34858b0,27bdffe8 +34858b4,afaa0004 +34858b8,85034a2a +34858bc,340a0002 +34858c0,146a0002 +34858c4,340a0003 +34858c8,a50a4a2a +34858cc,85034a2a +34858d0,8faa0004 +34858d4,3e00008 +34858d8,27bd0018 +34858dc,27bdffe8 +34858e0,afaa0004 +34858e4,85034a2a +34858e8,340a0002 +34858ec,146a0002 +34858f0,340a0001 +34858f4,a50a4a2a +34858f8,85034a2a +34858fc,8faa0004 +3485900,3e00008 +3485904,27bd0018 +3485908,27bdffe8 +348590c,afaa0004 +3485910,85034a2a +3485914,340a0002 +3485918,146a0002 +348591c,340a0003 +3485920,a50a4a2a +3485924,85034a2a +3485928,8faa0004 +348592c,3e00008 +3485930,27bd0018 +3485934,27bdffe8 +3485938,afaa0004 +348593c,a42bca2a +3485940,340a0002 +3485944,156a0002 +3485948,340a0003 +348594c,a50a4a2a +3485950,85034a2a +3485954,8faa0004 +3485958,3e00008 +348595c,27bd0018 +3485960,27bdffe8 +3485964,afaa0004 +3485968,85034a2a +348596c,340a0002 +3485970,146a0002 +3485974,340a0001 +3485978,a50a4a2a +348597c,85034a2a +3485980,8faa0004 +3485984,3e00008 +3485988,27bd0018 +348598c,27bdffe8 +3485990,afaa0004 +3485994,85034a2a +3485998,340a0002 +348599c,146a0002 +34859a0,340a0003 +34859a4,a50a4a2a +34859a8,85034a2a +34859ac,8faa0004 +34859b0,3e00008 +34859b4,27bd0018 +34859b8,3c08801e +34859bc,25084ee8 +34859c0,3409f000 +34859c4,a5090000 +34859c8,3e00008 +34859cc,84cb4a2e +34859d0,28410024 +34859d4,3c088040 +34859d8,25081e08 +34859dc,91080000 +34859e0,11000002 +34859e8,28410000 +34859ec,3e00008 +34859f4,24a56f04 +34859f8,8c880144 +34859fc,11050007 +3485a00,3c09801e +3485a04,2529aa30 +3485a08,3c0a446a +3485a0c,254ac000 +3485a10,3c0bc324 +3485a14,ad2a0024 +3485a18,ad2b002c +3485a1c,3e00008 +3485a24,27bdffd8 +3485a28,afbf0024 +3485a2c,afa40028 +3485a30,afa5002c +3485a34,afa60030 +3485a38,c022865 +3485a3c,8fa40030 +3485a40,44822000 +3485a44,44800000 +3485a48,240e0002 +3485a4c,468021a0 +3485a50,afae0018 +3485a54,8fa40028 +3485a58,8fa5002c +3485a5c,8fa60030 +3485a60,3c073f80 +3485a64,3c080400 +3485a68,250832b0 +3485a6c,14c80002 +3485a74,3c074040 +3485a78,e7a60014 +3485a7c,e7a00010 +3485a80,c023000 +3485a84,e7a0001c +3485a88,8fbf0024 +3485a8c,8fbf0024 3485a90,3e00008 -3485a94,27bd0018 -3485a98,3c08801e -3485a9c,25084ee8 -3485aa0,3409f000 -3485aa4,a5090000 -3485aa8,3e00008 -3485aac,84cb4a2e -3485ab0,24a56f04 -3485ab4,8c880144 -3485ab8,11050007 -3485abc,3c09801e -3485ac0,2529aa30 -3485ac4,3c0a446a -3485ac8,254ac000 -3485acc,3c0bc324 -3485ad0,ad2a0024 -3485ad4,ad2b002c -3485ad8,3e00008 -3485ae0,27bdffd8 -3485ae4,afbf0024 -3485ae8,afa40028 -3485aec,afa5002c -3485af0,afa60030 -3485af4,c022865 -3485af8,8fa40030 -3485afc,44822000 -3485b00,44800000 -3485b04,240e0002 -3485b08,468021a0 -3485b0c,afae0018 -3485b10,8fa40028 -3485b14,8fa5002c -3485b18,8fa60030 -3485b1c,3c073f80 -3485b20,3c080400 -3485b24,250832b0 -3485b28,14c80002 -3485b30,3c074040 -3485b34,e7a60014 -3485b38,e7a00010 -3485b3c,c023000 -3485b40,e7a0001c -3485b44,8fbf0024 -3485b48,8fbf0024 -3485b4c,3e00008 -3485b50,27bd0028 -3485b54,3c0a8040 -3485b58,814a1d6d -3485b5c,11400003 -3485b60,8ccb0138 -3485b64,8d6b0010 -3485b68,25690adc -3485b6c,3e00008 -3485b70,acc90180 -3485b74,27bdffe8 -3485b78,afbf0014 -3485b7c,3c0a8040 -3485b80,814a1d6d -3485b84,15400003 -3485b8c,c037500 -3485b94,8fbf0014 -3485b98,3e00008 -3485b9c,27bd0018 -3485ba0,3c010080 -3485ba4,3c180001 -3485ba8,3e00008 -3485bac,8c4e0670 -3485bb0,3c0a8040 -3485bb4,814a1d6d -3485bb8,11400002 -3485bc0,34180003 -3485bc4,3c078012 -3485bc8,24e7a5d0 -3485bcc,3e00008 -3485bd0,24010003 -3485bd4,3c0a8040 -3485bd8,814a1d6d -3485bdc,11400008 -3485be4,c100930 -3485bec,3c08801e -3485bf0,25088966 -3485bf4,34090004 -3485bf8,a5090000 -3485c00,8fbf0014 -3485c04,3e00008 -3485c08,27bd0018 -3485c0c,27bdffe0 -3485c10,afbf0014 -3485c14,afa10018 -3485c18,afa4001c -3485c1c,3c0a8040 -3485c20,814a1d6d -3485c24,1540000b -3485c2c,3c04801d -3485c30,248484a0 -3485c34,3c058040 -3485c38,90a51d70 -3485c3c,34060000 -3485c40,c037385 -3485c48,34044802 -3485c4c,c0191bc -3485c54,8fa4001c -3485c58,8fa10018 -3485c5c,8fbf0014 -3485c60,3e00008 -3485c64,27bd0020 -3485c6c,27bdffe0 -3485c70,afbf0014 -3485c74,afa40018 -3485c78,3c0d8040 -3485c7c,81ad5c68 -3485c80,15a0000c -3485c88,3c08801e -3485c8c,2508aa30 -3485c90,8d090670 -3485c94,340a4000 -3485c98,12a5824 -3485c9c,1160000d -3485ca4,34080001 -3485ca8,3c018040 -3485cac,a0285c68 -3485cb0,10000023 -3485cb4,3c08801e -3485cb8,2508aa30 -3485cbc,8d090670 -3485cc0,340a4000 -3485cc4,12a5824 -3485cc8,1160000c -3485cd0,1000001b -3485cd4,24a420d8 -3485cd8,c037519 -3485ce0,24010002 -3485ce4,14410016 -3485cec,3c08801e -3485cf0,25088966 -3485cf4,34090004 -3485cf8,a5090000 -3485cfc,3c0b8012 -3485d00,256ba5d0 -3485d04,816c0ede -3485d08,358c0001 -3485d0c,a16c0ede -3485d10,3c09801e -3485d14,2529a2ba -3485d18,340802ae -3485d1c,a5280000 -3485d20,3408002a -3485d24,3c09801e -3485d28,2529a2fe -3485d2c,a1280000 -3485d30,34080014 -3485d34,3c09801e -3485d38,2529a2b5 -3485d3c,a1280000 -3485d40,8fbf0014 -3485d44,3e00008 -3485d48,27bd0020 -3485d4c,27bdffd0 -3485d50,afbf0014 -3485d54,afa80018 -3485d58,afa9001c -3485d5c,afaa0020 -3485d60,afab0024 -3485d64,afac0028 -3485d68,afad002c -3485d6c,3c088012 -3485d70,2508a5d0 -3485d74,85090f20 -3485d78,31290040 -3485d7c,1120000e -3485d80,3c08801e -3485d84,2508aa30 -3485d88,8d09039c -3485d8c,1120000a -3485d90,340a00a1 -3485d94,852b0000 -3485d98,154b0007 -3485d9c,240cf7ff -3485da0,8d0d066c -3485da4,18d6824 -3485da8,ad0d066c -3485dac,ad00039c -3485db0,ad00011c -3485db4,ad200118 -3485db8,afad002c -3485dbc,afac0028 -3485dc0,afab0024 -3485dc4,afaa0020 -3485dc8,afa9001c -3485dcc,afa80018 -3485dd0,afbf0014 -3485dd4,860e001c -3485dd8,3e00008 -3485ddc,27bd0030 -3485de0,27bdffd0 -3485de4,afbf0014 -3485de8,afa80018 -3485dec,afa9001c -3485df0,afaa0020 -3485df4,84a800a4 -3485df8,34090002 -3485dfc,1509000c -3485e00,340a0006 -3485e04,80880003 -3485e08,150a0009 -3485e10,3c088012 -3485e14,2508a5d0 -3485e18,85090f20 -3485e1c,31290040 -3485e20,11200003 -3485e28,c0083ad -3485e30,8faa0020 -3485e34,8fa9001c -3485e38,8fa80018 -3485e3c,8fbf0014 -3485e40,8602001c -3485e44,3e00008 -3485e48,27bd0030 -3485e4c,27bdffd0 -3485e50,afbf001c -3485e54,afa40020 -3485e58,afa50024 -3485e5c,e7a00028 -3485e60,4602003c -3485e68,45010005 -3485e70,c101d6a -3485e78,10000003 -3485e80,c101d6c -3485e88,34060014 -3485e8c,3407000a -3485e90,44801000 -3485e94,c7a00028 -3485e98,8fa50024 -3485e9c,8fa40020 -3485ea0,8fbf001c -3485ea4,4602003c -3485ea8,27bd0030 -3485eac,3e00008 -3485eb4,27bdffd0 -3485eb8,afbf001c -3485ebc,afa40020 -3485ec0,afa50024 -3485ec4,e7a40028 -3485ec8,e7a6002c -3485ecc,4606203c -3485ed4,45000003 -3485edc,c101d77 -3485ee4,34060014 -3485ee8,3407000a -3485eec,44801000 -3485ef0,c7a6002c -3485ef4,c7a40028 -3485ef8,8fa50024 -3485efc,8fa40020 -3485f00,8fbf001c -3485f04,4606203c -3485f08,27bd0030 -3485f0c,3e00008 -3485f14,c101dda -3485f1c,8fbf001c -3485f20,27bd0020 -3485f24,3e00008 -3485f30,27bdffe8 -3485f34,afbf0014 -3485f38,c008ab4 -3485f40,8fbf0014 -3485f44,27bd0018 -3485f48,8fa40018 -3485f4c,8c8a0138 -3485f50,8d4a0010 -3485f54,25431618 -3485f58,3c088040 -3485f5c,81085f2c -3485f60,1100000a -3485f64,3c098012 -3485f68,2529a5d0 -3485f6c,95281406 -3485f70,290105dc -3485f74,14200005 -3485f78,9488029c -3485f7c,31080002 -3485f80,15000002 -3485f88,254314d0 -3485f8c,3e00008 -3485f94,3c188012 -3485f98,2718a5d0 -3485f9c,8f180004 -3485fa0,17000003 -3485fa8,3c0a8042 -3485fac,254a3f00 -3485fb0,24780008 -3485fb4,3e00008 -3485fb8,adf802c0 -3485fbc,3c0f8012 -3485fc0,25efa5d0 -3485fc4,8def0004 -3485fc8,15e00003 -3485fd0,3c0e8042 -3485fd4,25ce3f00 -3485fd8,ac4e0004 -3485fdc,3e00008 -3485fe0,820f013f -3485fe8,3c088040 -3485fec,81085fe4 -3485ff0,11000007 -3485ff4,3c09801d -3485ff8,252984a0 -3485ffc,8d281d44 -3486000,31080002 -3486004,11000002 -348600c,34069100 -3486010,3e00008 -3486014,afa60020 -3486018,3c088040 -348601c,81085fe4 -3486020,11000005 -3486024,3c09801d -3486028,252984a0 -348602c,8d281d44 -3486030,35080002 -3486034,ad281d44 -3486038,3e00008 -348603c,34e74000 -3486044,3c038012 -3486048,2463a5d0 -348604c,8c6e0004 -3486050,15c0000c -3486054,24020005 -3486058,24020011 -348605c,3c088040 -3486060,81086040 -3486064,11000007 -3486068,3c09801d -348606c,252984a0 -3486070,8d281d44 -3486074,31080002 -3486078,11000002 -348607c,34020001 -3486080,34020003 -3486084,3e00008 -3486088,3c048010 -348608c,3c088040 -3486090,81086040 -3486094,11000005 -3486098,3c09801d -348609c,252984a0 -34860a0,8d281d44 -34860a4,35080002 -34860a8,ad281d44 -34860ac,3e00008 -34860b0,34e78000 -34860b4,27bdffe8 -34860b8,afa20010 -34860bc,afbf0014 -34860c0,c1067c6 -34860c4,46000306 -34860c8,406821 -34860cc,8fa20010 -34860d0,8fbf0014 -34860d4,3e00008 -34860d8,27bd0018 -34860dc,ac800130 -34860e0,ac800134 -34860e4,3c018012 -34860e8,2421a5d0 -34860ec,80280edc -34860f0,35080008 -34860f4,a0280edc -34860f8,3c013f80 -34860fc,3e00008 -3486100,44813000 -3486104,3c038012 -3486108,910f014f -348610c,2463a5d0 -3486110,25ef0023 -3486114,9078008b -348611c,11f80003 -3486124,3e00008 -3486128,a100014f -348612c,3e00008 -348613c,27bdffe8 -3486140,afbf0014 -3486144,918d0074 -3486148,24010031 -348614c,c107a42 -3486150,34040031 -3486154,10400006 -3486158,340d0000 -348615c,c107a8b -3486160,34040031 -3486164,14400002 -3486168,340d0000 -348616c,340d0031 -3486170,1825 -3486174,8fbf0014 -3486178,3e00008 -348617c,27bd0018 -3486180,27bdffe8 -3486184,afbf0014 -3486188,956bb4c6 -348618c,c107a42 -3486190,3404002f -3486194,10400006 -3486198,340c0001 -348619c,c107a8b -34861a0,3404002f -34861a4,14400002 -34861a8,340c0001 -34861ac,6025 +3485a94,27bd0028 +3485a98,3c0a8040 +3485a9c,814a1dd5 +3485aa0,11400003 +3485aa4,8ccb0138 +3485aa8,8d6b0010 +3485aac,25690adc +3485ab0,3e00008 +3485ab4,acc90180 +3485ab8,27bdffe8 +3485abc,afbf0014 +3485ac0,3c0a8040 +3485ac4,814a1dd5 +3485ac8,15400003 +3485ad0,c037500 +3485ad8,8fbf0014 +3485adc,3e00008 +3485ae0,27bd0018 +3485ae4,3c010080 +3485ae8,3c180001 +3485aec,3e00008 +3485af0,8c4e0670 +3485af4,3c0a8040 +3485af8,814a1dd5 +3485afc,11400002 +3485b04,34180003 +3485b08,3c078012 +3485b0c,24e7a5d0 +3485b10,3e00008 +3485b14,24010003 +3485b18,3c0a8040 +3485b1c,814a1dd5 +3485b20,11400008 +3485b28,c1008ff +3485b30,3c08801e +3485b34,25088966 +3485b38,34090004 +3485b3c,a5090000 +3485b44,8fbf0014 +3485b48,3e00008 +3485b4c,27bd0018 +3485b50,27bdffe0 +3485b54,afbf0014 +3485b58,afa10018 +3485b5c,afa4001c +3485b60,3c0a8040 +3485b64,814a1dd5 +3485b68,1540000b +3485b70,3c04801d +3485b74,248484a0 +3485b78,3c058040 +3485b7c,90a51dd8 +3485b80,34060000 +3485b84,c037385 +3485b8c,34044802 +3485b90,c0191bc +3485b98,8fa4001c +3485b9c,8fa10018 +3485ba0,8fbf0014 +3485ba4,3e00008 +3485ba8,27bd0020 +3485bb0,27bdffe0 +3485bb4,afbf0014 +3485bb8,afa40018 +3485bbc,3c0d8040 +3485bc0,81ad5bac +3485bc4,15a0000c +3485bcc,3c08801e +3485bd0,2508aa30 +3485bd4,8d090670 +3485bd8,340a4000 +3485bdc,12a5824 +3485be0,1160000d +3485be8,34080001 +3485bec,3c018040 +3485bf0,a0285bac +3485bf4,10000023 +3485bf8,3c08801e +3485bfc,2508aa30 +3485c00,8d090670 +3485c04,340a4000 +3485c08,12a5824 +3485c0c,1160000c +3485c14,1000001b +3485c18,24a420d8 +3485c1c,c037519 +3485c24,24010002 +3485c28,14410016 +3485c30,3c08801e +3485c34,25088966 +3485c38,34090004 +3485c3c,a5090000 +3485c40,3c0b8012 +3485c44,256ba5d0 +3485c48,816c0ede +3485c4c,358c0001 +3485c50,a16c0ede +3485c54,3c09801e +3485c58,2529a2ba +3485c5c,340802ae +3485c60,a5280000 +3485c64,3408002a +3485c68,3c09801e +3485c6c,2529a2fe +3485c70,a1280000 +3485c74,34080014 +3485c78,3c09801e +3485c7c,2529a2b5 +3485c80,a1280000 +3485c84,8fbf0014 +3485c88,3e00008 +3485c8c,27bd0020 +3485c90,27bdffd0 +3485c94,afbf0014 +3485c98,afa80018 +3485c9c,afa9001c +3485ca0,afaa0020 +3485ca4,afab0024 +3485ca8,afac0028 +3485cac,afad002c +3485cb0,3c088012 +3485cb4,2508a5d0 +3485cb8,85090f20 +3485cbc,31290040 +3485cc0,1120000e +3485cc4,3c08801e +3485cc8,2508aa30 +3485ccc,8d09039c +3485cd0,1120000a +3485cd4,340a00a1 +3485cd8,852b0000 +3485cdc,154b0007 +3485ce0,240cf7ff +3485ce4,8d0d066c +3485ce8,18d6824 +3485cec,ad0d066c +3485cf0,ad00039c +3485cf4,ad00011c +3485cf8,ad200118 +3485cfc,afad002c +3485d00,afac0028 +3485d04,afab0024 +3485d08,afaa0020 +3485d0c,afa9001c +3485d10,afa80018 +3485d14,afbf0014 +3485d18,860e001c +3485d1c,3e00008 +3485d20,27bd0030 +3485d24,27bdffd0 +3485d28,afbf0014 +3485d2c,afa80018 +3485d30,afa9001c +3485d34,afaa0020 +3485d38,84a800a4 +3485d3c,34090002 +3485d40,1509000c +3485d44,340a0006 +3485d48,80880003 +3485d4c,150a0009 +3485d54,3c088012 +3485d58,2508a5d0 +3485d5c,85090f20 +3485d60,31290040 +3485d64,11200003 +3485d6c,c0083ad +3485d74,8faa0020 +3485d78,8fa9001c +3485d7c,8fa80018 +3485d80,8fbf0014 +3485d84,8602001c +3485d88,3e00008 +3485d8c,27bd0030 +3485d90,27bdffd0 +3485d94,afbf001c +3485d98,afa40020 +3485d9c,afa50024 +3485da0,e7a00028 +3485da4,4602003c +3485dac,45010005 +3485db4,c101e52 +3485dbc,10000003 +3485dc4,c101e54 +3485dcc,34060014 +3485dd0,3407000a +3485dd4,44801000 +3485dd8,c7a00028 +3485ddc,8fa50024 +3485de0,8fa40020 +3485de4,8fbf001c +3485de8,4602003c +3485dec,27bd0030 +3485df0,3e00008 +3485df8,27bdffd0 +3485dfc,afbf001c +3485e00,afa40020 +3485e04,afa50024 +3485e08,e7a40028 +3485e0c,e7a6002c +3485e10,4606203c +3485e18,45000003 +3485e20,c101e5f +3485e28,34060014 +3485e2c,3407000a +3485e30,44801000 +3485e34,c7a6002c +3485e38,c7a40028 +3485e3c,8fa50024 +3485e40,8fa40020 +3485e44,8fbf001c +3485e48,4606203c +3485e4c,27bd0030 +3485e50,3e00008 +3485e58,c101ec2 +3485e60,8fbf001c +3485e64,27bd0020 +3485e68,3e00008 +3485e74,27bdffe8 +3485e78,afbf0014 +3485e7c,c008ab4 +3485e84,8fbf0014 +3485e88,27bd0018 +3485e8c,8fa40018 +3485e90,8c8a0138 +3485e94,8d4a0010 +3485e98,25431618 +3485e9c,3c088040 +3485ea0,81085e70 +3485ea4,1100000a +3485ea8,3c098012 +3485eac,2529a5d0 +3485eb0,95281406 +3485eb4,290105dc +3485eb8,14200005 +3485ebc,9488029c +3485ec0,31080002 +3485ec4,15000002 +3485ecc,254314d0 +3485ed0,3e00008 +3485ed8,3c188012 +3485edc,2718a5d0 +3485ee0,8f180004 +3485ee4,17000003 +3485eec,3c0a8043 +3485ef0,254a9680 +3485ef4,24780008 +3485ef8,3e00008 +3485efc,adf802c0 +3485f00,3c0f8012 +3485f04,25efa5d0 +3485f08,8def0004 +3485f0c,15e00003 +3485f14,3c0e8043 +3485f18,25ce9680 +3485f1c,ac4e0004 +3485f20,3e00008 +3485f24,820f013f +3485f2c,3c088040 +3485f30,81085f28 +3485f34,11000007 +3485f38,3c09801d +3485f3c,252984a0 +3485f40,8d281d44 +3485f44,31080002 +3485f48,11000002 +3485f50,34069100 +3485f54,3e00008 +3485f58,afa60020 +3485f5c,3c088040 +3485f60,81085f28 +3485f64,11000005 +3485f68,3c09801d +3485f6c,252984a0 +3485f70,8d281d44 +3485f74,35080002 +3485f78,ad281d44 +3485f7c,3e00008 +3485f80,34e74000 +3485f88,3c038012 +3485f8c,2463a5d0 +3485f90,8c6e0004 +3485f94,15c0000c +3485f98,24020005 +3485f9c,24020011 +3485fa0,3c088040 +3485fa4,81085f84 +3485fa8,11000007 +3485fac,3c09801d +3485fb0,252984a0 +3485fb4,8d281d44 +3485fb8,31080002 +3485fbc,11000002 +3485fc0,34020001 +3485fc4,34020003 +3485fc8,3e00008 +3485fcc,3c048010 +3485fd0,3c088040 +3485fd4,81085f84 +3485fd8,11000005 +3485fdc,3c09801d +3485fe0,252984a0 +3485fe4,8d281d44 +3485fe8,35080002 +3485fec,ad281d44 +3485ff0,3e00008 +3485ff4,34e78000 +3485ff8,27bdffe8 +3485ffc,afa20010 +3486000,afbf0014 +3486004,c1077c7 +3486008,46000306 +348600c,406821 +3486010,8fa20010 +3486014,8fbf0014 +3486018,3e00008 +348601c,27bd0018 +3486020,ac800130 +3486024,ac800134 +3486028,3c018012 +348602c,2421a5d0 +3486030,80280edc +3486034,35080008 +3486038,a0280edc +348603c,3c013f80 +3486040,3e00008 +3486044,44813000 +3486048,3c038012 +348604c,910f014f +3486050,2463a5d0 +3486054,25ef0023 +3486058,9078008b +3486060,11f80003 +3486068,3e00008 +348606c,a100014f +3486070,3e00008 +348607c,27bdffe8 +3486080,afbf0014 +3486084,918d0074 +3486088,24010031 +348608c,c108b5f +3486090,34040031 +3486094,10400006 +3486098,340d0000 +348609c,c108ba8 +34860a0,34040031 +34860a4,14400002 +34860a8,340d0000 +34860ac,340d0031 +34860b0,1825 +34860b4,8fbf0014 +34860b8,3e00008 +34860bc,27bd0018 +34860c0,27bdffe8 +34860c4,afbf0014 +34860c8,956bb4c6 +34860cc,c108b5f +34860d0,3404002f +34860d4,10400006 +34860d8,340c0001 +34860dc,c108ba8 +34860e0,3404002f +34860e4,14400002 +34860e8,340c0001 +34860ec,6025 +34860f0,8fbf0014 +34860f4,3e00008 +34860f8,27bd0018 +34860fc,27bdffe0 +3486100,afa20008 +3486104,afb0000c +3486108,afa30010 +348610c,afa40014 +3486110,afa50018 +3486114,afbf001c +3486118,c108d13 +3486120,40c825 +3486124,8fa20008 +3486128,8fb0000c +348612c,8fa30010 +3486130,8fa40014 +3486134,8fa50018 +3486138,8fbf001c +348613c,3e00008 +3486140,27bd0020 +3486144,27bdffe8 +3486148,afbf0014 +348614c,3c028040 +3486150,90421f43 +3486154,10400005 +348615c,c101881 +3486164,10000002 +348616c,91820074 +3486170,8fbf0014 +3486174,3e00008 +3486178,27bd0018 +348617c,27bdffe8 +3486180,afbf0014 +3486184,3c028040 +3486188,90421f43 +348618c,10400005 +3486194,c101881 +348619c,10000004 +34861a4,3c028012 +34861a8,581021 +34861ac,9042a644 34861b0,8fbf0014 34861b4,3e00008 34861b8,27bd0018 -34861bc,27bdffe0 -34861c0,afa20008 -34861c4,afb0000c -34861c8,afa30010 -34861cc,afa40014 -34861d0,afa50018 -34861d4,afbf001c -34861d8,c107bf6 -34861e0,40c825 -34861e4,8fa20008 -34861e8,8fb0000c -34861ec,8fa30010 -34861f0,8fa40014 -34861f4,8fa50018 -34861f8,8fbf001c +34861bc,27bdffe8 +34861c0,afa70010 +34861c4,afbf0014 +34861c8,3c028040 +34861cc,90421f43 +34861d0,10400005 +34861d8,c101881 +34861e0,10000004 +34861e8,3c028012 +34861ec,4e1021 +34861f0,9042a644 +34861f4,8fa70010 +34861f8,8fbf0014 34861fc,3e00008 -3486200,27bd0020 -3486204,27bdffe8 -3486208,afbf0014 -348620c,3c028040 -3486210,84426134 -3486214,10400005 -348621c,c1018b1 -3486224,10000002 -348622c,91820074 -3486230,8fbf0014 -3486234,3e00008 -3486238,27bd0018 -348623c,27bdffe8 -3486240,afbf0014 -3486244,3c028040 -3486248,84426134 -348624c,10400005 -3486254,c1018b1 -348625c,10000004 -3486264,3c028012 -3486268,581021 -348626c,9042a644 -3486270,8fbf0014 -3486274,3e00008 -3486278,27bd0018 -348627c,27bdffe8 -3486280,afa70010 -3486284,afbf0014 -3486288,3c028040 -348628c,84426134 -3486290,10400005 -3486298,c1018b1 -34862a0,10000004 -34862a8,3c028012 -34862ac,4e1021 -34862b0,9042a644 -34862b4,8fa70010 -34862b8,8fbf0014 -34862bc,3e00008 -34862c0,27bd0018 -34862c4,27bdffe0 -34862c8,afb0000c -34862cc,afa30010 -34862d0,afa40014 -34862d4,afa50018 -34862d8,afbf001c -34862dc,3c018040 -34862e0,84216134 -34862e4,10200003 -34862ec,c107bdc -34862f4,8fb0000c -34862f8,8fa30010 -34862fc,8fa40014 -3486300,8fa50018 -3486304,8fbf001c -3486308,3e00008 -348630c,27bd0020 -3486310,27bdffe0 -3486314,afa30010 -3486318,afa40014 -348631c,afa50018 -3486320,afbf001c -3486324,c107b6f -348632c,40c025 -3486330,3c0b8012 -3486334,256ba5d0 -3486338,3c0a8010 -348633c,914a8f61 -3486340,24010037 -3486344,16a5821 -3486348,916c0074 -348634c,11810002 -3486354,c025 -3486358,8fa30010 -348635c,8fa40014 -3486360,8fa50018 -3486364,8fbf001c -3486368,3e00008 -348636c,27bd0020 -3486370,27bdffe0 -3486374,afab0010 -3486378,afb00014 -348637c,afa20018 -3486380,afbf001c -3486384,8e030684 -3486388,3c0b8040 -348638c,856b6134 -3486390,15600004 -3486394,3c0b8040 -3486398,856b6136 -348639c,11600009 -34863a4,82040144 -34863a8,c107b76 -34863ac,602825 -34863b0,401825 -34863b4,14600003 -34863bc,8fb00014 -34863c0,ae000684 -34863c4,8fab0010 -34863c8,8fb00014 -34863cc,8fa20018 -34863d0,8fbf001c -34863d4,3e00008 -34863d8,27bd0020 -34863dc,27bdffe8 -34863e0,afbf0014 -34863e4,c107b92 -34863ec,8fbf0014 -34863f0,3e00008 -34863f4,27bd0018 -34863f8,3c088012 -34863fc,2508a5d0 -3486400,10c1021 -3486404,90450074 -3486408,93b80037 -348640c,3401002c -3486410,17010003 -3486414,1825 -3486418,3c038040 -348641c,84636136 -3486420,3e00008 -3486428,27bdffe8 -348642c,afa1000c +3486200,27bd0018 +3486204,27bdffe0 +3486208,afb0000c +348620c,afa30010 +3486210,afa40014 +3486214,afa50018 +3486218,afbf001c +348621c,3c018040 +3486220,90211f43 +3486224,10200003 +348622c,c108cf9 +3486234,8fb0000c +3486238,8fa30010 +348623c,8fa40014 +3486240,8fa50018 +3486244,8fbf001c +3486248,3e00008 +348624c,27bd0020 +3486250,27bdffe0 +3486254,afa30010 +3486258,afa40014 +348625c,afa50018 +3486260,afbf001c +3486264,c108c8c +348626c,40c025 +3486270,3c0b8012 +3486274,256ba5d0 +3486278,3c0a8010 +348627c,914a8f61 +3486280,24010037 +3486284,16a5821 +3486288,916c0074 +348628c,11810002 +3486294,c025 +3486298,8fa30010 +348629c,8fa40014 +34862a0,8fa50018 +34862a4,8fbf001c +34862a8,3e00008 +34862ac,27bd0020 +34862b0,27bdffe0 +34862b4,afab0010 +34862b8,afb00014 +34862bc,afa20018 +34862c0,afbf001c +34862c4,8e030684 +34862c8,3c0b8040 +34862cc,916b1f43 +34862d0,15600004 +34862d4,3c0b8040 +34862d8,916b1f44 +34862dc,11600009 +34862e4,82040144 +34862e8,c108c93 +34862ec,602825 +34862f0,401825 +34862f4,14600003 +34862fc,8fb00014 +3486300,ae000684 +3486304,8fab0010 +3486308,8fb00014 +348630c,8fa20018 +3486310,8fbf001c +3486314,3e00008 +3486318,27bd0020 +348631c,27bdffe8 +3486320,afbf0014 +3486324,c108caf +348632c,8fbf0014 +3486330,3e00008 +3486334,27bd0018 +3486338,3c088012 +348633c,2508a5d0 +3486340,10c1021 +3486344,90450074 +3486348,93b80037 +348634c,3401002c +3486350,17010003 +3486354,1825 +3486358,3c038040 +348635c,90631f44 +3486360,3e00008 +3486368,27bdffe8 +348636c,afa1000c +3486370,afa20010 +3486374,afbf0014 +3486378,a60c0252 +348637c,34020001 +3486380,3c018040 +3486384,ac226078 +3486388,8fa1000c +348638c,8fa20010 +3486390,8fbf0014 +3486394,3e00008 +3486398,27bd0018 +348639c,27bdffe8 +34863a0,afa1000c +34863a4,afa20010 +34863a8,afbf0014 +34863ac,8609026a +34863b0,34020000 +34863b4,3c018040 +34863b8,ac226078 +34863bc,8fa1000c +34863c0,8fa20010 +34863c4,8fbf0014 +34863c8,3e00008 +34863cc,27bd0018 +34863d0,27bdffe8 +34863d4,afa1000c +34863d8,afa20010 +34863dc,afbf0014 +34863e0,3c198040 +34863e4,8f396078 +34863e8,8fa1000c +34863ec,8fa20010 +34863f0,8fbf0014 +34863f4,3e00008 +34863f8,27bd0018 +34863fc,27bdffe8 +3486400,afa1000c +3486404,afa20010 +3486408,afbf0014 +348640c,94430ef4 +3486410,3c0f8040 +3486414,8def6078 +3486418,8fa1000c +348641c,8fa20010 +3486420,8fbf0014 +3486424,3e00008 +3486428,27bd0018 +348642c,27bdffe0 3486430,afa20010 -3486434,afbf0014 -3486438,a60c0252 -348643c,34020001 -3486440,3c018040 -3486444,ac226138 -3486448,8fa1000c +3486434,afa30014 +3486438,afa40018 +348643c,afbf001c +3486440,c108b8b +3486444,34040024 +3486448,920902fa 348644c,8fa20010 -3486450,8fbf0014 -3486454,3e00008 -3486458,27bd0018 -348645c,27bdffe8 -3486460,afa1000c -3486464,afa20010 -3486468,afbf0014 -348646c,8609026a -3486470,34020000 -3486474,3c018040 -3486478,ac226138 -348647c,8fa1000c +3486450,8fa30014 +3486454,8fa40018 +3486458,8fbf001c +348645c,3e00008 +3486460,27bd0020 +3486464,27bdffe0 +3486468,afa20010 +348646c,afa30014 +3486470,afa40018 +3486474,afbf001c +3486478,c108b8b +348647c,34040025 3486480,8fa20010 -3486484,8fbf0014 -3486488,3e00008 -348648c,27bd0018 -3486490,27bdffe8 -3486494,afa1000c -3486498,afa20010 -348649c,afbf0014 -34864a0,3c198040 -34864a4,8f396138 -34864a8,8fa1000c -34864ac,8fa20010 -34864b0,8fbf0014 -34864b4,3e00008 -34864b8,27bd0018 -34864bc,27bdffe8 -34864c0,afa1000c -34864c4,afa20010 -34864c8,afbf0014 -34864cc,94430ef4 -34864d0,3c0f8040 -34864d4,8def6138 -34864d8,8fa1000c -34864dc,8fa20010 -34864e0,8fbf0014 -34864e4,3e00008 -34864e8,27bd0018 -34864ec,27bdffe0 -34864f0,afa20010 -34864f4,afa30014 -34864f8,afa40018 -34864fc,afbf001c -3486500,c107a6e -3486504,34040024 -3486508,920902fa -348650c,8fa20010 -3486510,8fa30014 -3486514,8fa40018 -3486518,8fbf001c -348651c,3e00008 -3486520,27bd0020 -3486524,27bdffe0 -3486528,afa20010 -348652c,afa30014 -3486530,afa40018 -3486534,afbf001c -3486538,c107a6e -348653c,34040025 -3486540,8fa20010 -3486544,8fa30014 -3486548,8fa40018 -348654c,8fbf001c -3486550,3e00008 -3486554,27bd0020 -3486558,27bdffe0 -348655c,afa20010 -3486560,afa30014 -3486564,afa40018 -3486568,afbf001c -348656c,c107a6e -3486570,34040026 -3486574,2404001e -3486578,8fa20010 -348657c,8fa30014 -3486580,8fbf001c -3486584,3e00008 -3486588,27bd0020 -348658c,27bdffe0 -3486590,afa20010 -3486594,afa30014 -3486598,afa40018 -348659c,afbf001c -34865a0,c107a6e -34865a4,34040027 -34865a8,340403e7 -34865ac,8fa20010 -34865b0,8fa30014 -34865b4,8fbf001c -34865b8,3e00008 -34865bc,27bd0020 -34865c0,3c028040 -34865c4,84426136 -34865c8,1440000e -34865d0,2196021 -34865d4,a1840074 -34865d8,24030001 -34865dc,24050023 -34865e0,2031021 -34865e4,904d0068 -34865e8,24630001 -34865ec,3063ffff -34865f0,14ad0002 -34865f4,28610004 -34865f8,a0440068 -34865fc,5420fff9 -3486600,2031021 -3486604,3e00008 -348660c,27bdffe0 -3486610,afa40018 +3486484,8fa30014 +3486488,8fa40018 +348648c,8fbf001c +3486490,3e00008 +3486494,27bd0020 +3486498,27bdffe0 +348649c,afa20010 +34864a0,afa30014 +34864a4,afa40018 +34864a8,afbf001c +34864ac,c108b8b +34864b0,34040026 +34864b4,2404001e +34864b8,8fa20010 +34864bc,8fa30014 +34864c0,8fbf001c +34864c4,3e00008 +34864c8,27bd0020 +34864cc,27bdffe0 +34864d0,afa20010 +34864d4,afa30014 +34864d8,afa40018 +34864dc,afbf001c +34864e0,c108b8b +34864e4,34040027 +34864e8,340403e7 +34864ec,8fa20010 +34864f0,8fa30014 +34864f4,8fbf001c +34864f8,3e00008 +34864fc,27bd0020 +3486500,3c028040 +3486504,90421f44 +3486508,1440000e +3486510,2196021 +3486514,a1840074 +3486518,24030001 +348651c,24050023 +3486520,2031021 +3486524,904d0068 +3486528,24630001 +348652c,3063ffff +3486530,14ad0002 +3486534,28610004 +3486538,a0440068 +348653c,5420fff9 +3486540,2031021 +3486544,3e00008 +348654c,27bdffe0 +3486550,afa40018 +3486554,afbf001c +3486558,c108ba8 +348655c,34040021 +3486560,14400009 +3486568,c108b8b +348656c,34040021 +3486570,2202825 +3486574,460e8380 +3486578,44079000 +348657c,2406000b +3486580,1000000e +3486584,1025 +3486588,3c010001 +348658c,310821 +3486590,24180004 +3486594,a03804bf +3486598,3c010001 +348659c,310821 +34865a0,24080036 +34865a4,a02803dc +34865a8,3c08801e +34865ac,a100887c +34865b0,a100895f +34865b4,3c08801f +34865b8,a1008d38 +34865bc,8fa40018 +34865c0,8fbf001c +34865c4,3e00008 +34865c8,27bd0020 +34865cc,24010016 +34865d0,17210003 +34865d4,24010004 +34865d8,3e00008 +34865dc,8479001c +34865e0,3e00008 +34865e4,240100f0 +34865e8,3c0e8040 +34865ec,25ce6600 +34865f0,afae0010 +34865f4,24066013 +34865f8,3e00008 +3486600,27bdffe0 +3486604,afb10018 +3486608,afb00014 +348660c,a08025 +3486610,808825 3486614,afbf001c -3486618,c107a8b -348661c,34040021 -3486620,14400009 -3486628,c107a6e -348662c,34040021 -3486630,2202825 -3486634,460e8380 -3486638,44079000 -348663c,2406000b -3486640,1000000e -3486644,1025 -3486648,3c010001 -348664c,310821 -3486650,24180004 -3486654,a03804bf -3486658,3c010001 -348665c,310821 -3486660,24080036 -3486664,a02803dc -3486668,3c08801e -348666c,a100887c -3486670,a100895f -3486674,3c08801f -3486678,a1008d38 -348667c,8fa40018 +3486618,962e029c +348661c,260420d8 +3486620,35cf0001 +3486624,c037519 +3486628,a62f029c +348662c,24010004 +3486630,54410021 +3486634,8fbf001c +3486638,c035844 +348663c,2002025 +3486640,5040001d +3486644,8fbf001c +3486648,c035886 +348664c,2002025 +3486650,3c020001 +3486654,501021 +3486658,904204bd +348665c,3c18800f +3486660,27188530 +3486664,8f182710 +3486668,24010001 +348666c,10400005 +3486674,1041000a +348667c,1000000e 3486680,8fbf001c -3486684,3e00008 -3486688,27bd0020 -348668c,24010016 -3486690,17210003 -3486694,24010004 -3486698,3e00008 -348669c,8479001c -34866a0,3e00008 -34866a4,240100f0 -34866a8,3c0e8040 -34866ac,25ce66c0 -34866b0,afae0010 -34866b4,24066013 -34866b8,3e00008 -34866c0,27bdffe0 -34866c4,afb10018 -34866c8,afb00014 -34866cc,a08025 -34866d0,808825 -34866d4,afbf001c -34866d8,962e029c -34866dc,260420d8 -34866e0,35cf0001 -34866e4,c037519 -34866e8,a62f029c -34866ec,24010004 -34866f0,54410021 -34866f4,8fbf001c -34866f8,c035844 -34866fc,2002025 -3486700,5040001d -3486704,8fbf001c -3486708,c035886 -348670c,2002025 -3486710,3c020001 -3486714,501021 -3486718,904204bd -348671c,3c18800f -3486720,27188530 -3486724,8f182710 -3486728,24010001 -348672c,10400005 -3486734,1041000a -348673c,1000000e -3486740,8fbf001c -3486744,2719071c -3486748,ae3902a4 -348674c,271903d0 -3486750,320f809 -3486754,2202025 -3486758,10000006 -3486760,2719074c -3486764,ae3902a4 -3486768,271903d0 -348676c,320f809 -3486770,2202025 -3486774,8fbf001c -3486778,8fb00014 -348677c,8fb10018 -3486780,3e00008 -3486784,27bd0020 -3486788,27bdffc0 -348678c,afbf0000 -3486790,afa20004 -3486794,afa30008 -3486798,afa4000c -348679c,afa50010 -34867a0,afa60014 -34867a4,afa70018 -34867a8,afb0001c -34867ac,afb10020 -34867b0,afa10024 -34867b4,8fa40060 -34867b8,c10749a -34867bc,8c840000 -34867c0,8fa20004 -34867c4,8fa30008 -34867c8,8fa4000c -34867cc,8fa50010 -34867d0,8fa60014 -34867d4,8fa70018 -34867d8,8fb0001c -34867dc,8fb10020 -34867e0,8fa10024 -34867e4,c015c0c -34867e8,3272821 -34867ec,8fbf0000 -34867f0,3e00008 -34867f4,27bd0040 -34867f8,86470018 -34867fc,10e00005 -3486804,f03820 -3486808,3c068043 -348680c,24c68614 -3486810,a4c70000 -3486814,24064000 -3486818,3e00008 -348681c,2c02825 -3486820,86470018 -3486824,10e00005 -348682c,f03820 -3486830,3c068043 -3486834,24c68614 -3486838,a4c70000 -348683c,3e00008 -3486840,24064002 -3486844,86870018 -3486848,10e00005 -3486850,f03820 -3486854,3c058043 -3486858,24a58614 -348685c,a4a70000 -3486860,3e00008 -3486864,27a5005c -3486868,86070018 -348686c,10e00005 -3486874,f73820 -3486878,3c058043 -348687c,24a58614 -3486880,a4a70000 -3486884,3e00008 -3486888,2602825 -348688c,86070018 -3486890,34060000 -3486894,10e00006 -348689c,f73820 -34868a0,24e70003 -34868a4,3c058043 -34868a8,24a58614 -34868ac,a4a70000 -34868b0,27b30044 -34868b4,3e00008 -34868b8,24110003 -34868bc,27bdffe0 -34868c0,afbf0010 -34868c4,2802025 -34868c8,24060002 -34868cc,86070018 -34868d0,10e00005 -34868d8,24e70006 -34868dc,3c058043 -34868e0,24a58614 -34868e4,a4a70000 -34868e8,c004d9e -34868ec,2602825 -34868f0,10400004 -34868f4,2802025 -34868f8,e4540060 -34868fc,864e0000 -3486900,a44e0032 -3486904,24060001 -3486908,86070018 -348690c,10e00004 -3486910,24e70007 -3486914,3c058043 -3486918,24a58614 -348691c,a4a70000 -3486920,c004d9e -3486924,2602825 -3486928,10400004 -348692c,2802025 -3486930,e4540060 -3486934,864e0004 -3486938,a44e0032 -348693c,8fbf0010 -3486940,3e00008 -3486944,27bd0020 -3486948,c02825 -348694c,c107033 -3486950,72025 -3486954,8fbf0014 -3486958,3e00008 -348695c,27bd0020 -3486964,27bdffe0 -3486968,afbf001c -348696c,c101c12 -3486974,8fbf001c -3486978,3e00008 -348697c,27bd0020 -3486980,27bdffb0 -3486984,afa80020 -3486988,afa90024 -348698c,afaa0028 -3486990,afa4002c -3486994,afa50030 -3486998,afa60034 -348699c,afb00038 -34869a0,afb1003c -34869a4,afbf0040 -34869a8,26100001 -34869ac,3c018040 -34869b0,a4306960 -34869b4,c009571 -34869bc,8fa50030 -34869c0,10400005 -34869c8,22025 -34869cc,8fa50034 -34869d0,c101ca6 -34869d8,8fa80020 -34869dc,8fa90024 -34869e0,8faa0028 -34869e4,8fa4002c -34869e8,8fa50030 -34869ec,8fa60034 -34869f0,8fb00038 -34869f4,8fb1003c -34869f8,8fbf0040 -34869fc,3e00008 -3486a00,27bd0050 -3486a04,27bdffa0 -3486a08,afa40010 -3486a0c,afa50014 -3486a10,afa60018 -3486a14,afa7001c -3486a18,afa10020 -3486a1c,afa20024 -3486a20,afa30028 -3486a24,afa8002c -3486a28,afa90030 -3486a2c,afaa0034 -3486a30,afab0038 -3486a34,afae003c -3486a38,afaf0040 -3486a3c,e7b00044 -3486a40,afbf0048 -3486a44,2003025 -3486a48,c1036dc -3486a4c,602825 -3486a50,8fa40010 -3486a54,8fa50014 -3486a58,8fa60018 -3486a5c,8fa7001c -3486a60,8fa10020 -3486a64,8fa20024 -3486a68,8fa30028 -3486a6c,8fa8002c -3486a70,8fa90030 -3486a74,8faa0034 -3486a78,8fab0038 -3486a7c,8fae003c -3486a80,8faf0040 -3486a84,c7b00044 -3486a88,650019 -3486a8c,c4c40024 -3486a90,c4c80028 -3486a94,8fbf0048 -3486a98,3e00008 -3486a9c,27bd0060 -3486aa0,27bdffa0 -3486aa4,afa40010 -3486aa8,afa50014 -3486aac,afa60018 -3486ab0,afa7001c -3486ab4,afa10020 -3486ab8,afa20024 -3486abc,afa30028 -3486ac0,afa8002c -3486ac4,afa90030 -3486ac8,afaa0034 -3486acc,afab0038 -3486ad0,afae003c -3486ad4,afaf0040 -3486ad8,e7b00044 -3486adc,afbf0048 -3486ae0,a02025 -3486ae4,c02825 -3486ae8,c1036dc -3486aec,2003025 -3486af0,8fa40010 -3486af4,8fa50014 -3486af8,8fa60018 -3486afc,8fa7001c -3486b00,8fa10020 -3486b04,8fa20024 -3486b08,8fa30028 -3486b0c,8fa8002c -3486b10,8fa90030 -3486b14,8faa0034 -3486b18,8fab0038 -3486b1c,8fae003c -3486b20,8faf0040 -3486b24,c7b00044 -3486b28,c90019 -3486b2c,c4640024 -3486b30,c4680028 -3486b34,8fbf0048 -3486b38,3e00008 -3486b3c,27bd0060 -3486b40,27bdffd0 -3486b44,afbf0010 -3486b48,afa40014 -3486b4c,afb00018 -3486b50,afa6001c -3486b54,c10378c -3486b58,2002025 -3486b5c,8fbf0010 -3486b60,8fa40014 -3486b64,8fb00018 -3486b68,8fa6001c -3486b6c,27bd0030 -3486b70,8e19013c -3486b74,2002025 -3486b78,3e00008 -3486b80,27bdffe0 -3486b84,afa40018 -3486b88,afbf001c -3486b8c,c107476 -3486b94,8fa40018 -3486b98,8fbf001c -3486b9c,3e00008 -3486ba0,27bd0020 -3486ba4,97a50046 -3486ba8,8fa40040 -3486bac,afa8002c -3486bb0,1f6025 -3486bb4,c035a7b -3486bbc,54602 -3486bc0,31080008 -3486bc4,2d0e0001 -3486bc8,cf825 -3486bcc,3e00008 -3486bd4,906e0002 -3486bd8,8c650004 -3486bdc,53602 -3486be0,63600 -3486be4,8c650004 -3486be8,24822200 -3486bec,a04e0008 -3486bf0,8c67000c -3486bf4,a67823 -3486bf8,24630008 -3486bfc,e5c023 -3486c00,ac4f0000 -3486c04,3e00008 -3486c08,ac580004 -3486c0c,24010001 -3486c10,14410004 -3486c14,87ae008c -3486c18,25cc0001 -3486c1c,80371f9 -3486c20,a7ac008c -3486c24,27bdffa0 -3486c28,afa40010 -3486c2c,afa50014 -3486c30,afa60018 -3486c34,afa2001c -3486c38,afa70020 -3486c3c,27bdffe0 -3486c40,afb50010 -3486c44,afb40014 -3486c48,22025 -3486c4c,27a50010 -3486c50,27a60014 -3486c54,c106617 -3486c5c,8fb50010 -3486c60,8fb40014 -3486c64,27bd0020 -3486c68,8fa40010 -3486c6c,8fa50014 -3486c70,8fa60018 -3486c74,8fa70020 -3486c78,10400003 -3486c7c,8fa2001c -3486c80,80371f9 -3486c84,27bd0060 -3486c88,8037160 -3486c8c,27bd0060 -3486c90,27bdffe0 -3486c94,afa40018 -3486c98,afbf001c -3486c9c,c10666a -3486ca4,8fa40018 -3486ca8,8fbf001c -3486cac,accc01ec -3486cb0,acc90118 -3486cb4,3e00008 -3486cb8,27bd0020 -3486cc0,3c098040 -3486cc4,81296cbc -3486cc8,11200005 -3486ccc,8e291c44 -3486cd0,912f014f -3486cd4,3c188012 -3486cd8,2718a5d0 -3486cdc,a30f003b -3486ce0,863800a4 -3486ce4,3e00008 -3486ce8,3c098012 -3486cec,3c088040 -3486cf0,81086cbc -3486cf4,11000007 -3486cf8,94a8001c -3486cfc,31080f00 -3486d00,84203 -3486d04,24090001 -3486d08,11090002 -3486d0c,9248003b -3486d10,a0a8014f -3486d14,3c088010 -3486d18,2508e49c -3486d1c,8d090000 -3486d20,3c0a8083 -3486d24,254a4000 -3486d28,8d0b000c -3486d2c,14b6023 -3486d30,1896821 -3486d34,1a00008 -3486d3c,a6000186 -3486d40,3c0540a0 -3486d44,3e00008 -3486d48,3c063f00 -3486d4c,24080001 -3486d50,ae08011c +3486684,2719071c +3486688,ae3902a4 +348668c,271903d0 +3486690,320f809 +3486694,2202025 +3486698,10000006 +34866a0,2719074c +34866a4,ae3902a4 +34866a8,271903d0 +34866ac,320f809 +34866b0,2202025 +34866b4,8fbf001c +34866b8,8fb00014 +34866bc,8fb10018 +34866c0,3e00008 +34866c4,27bd0020 +34866c8,27bdffc0 +34866cc,afbf0000 +34866d0,afa20004 +34866d4,afa30008 +34866d8,afa4000c +34866dc,afa50010 +34866e0,afa60014 +34866e4,afa70018 +34866e8,afb0001c +34866ec,afb10020 +34866f0,afa10024 +34866f4,8fa40060 +34866f8,c1085f4 +34866fc,8c840000 +3486700,8fa20004 +3486704,8fa30008 +3486708,8fa4000c +348670c,8fa50010 +3486710,8fa60014 +3486714,8fa70018 +3486718,8fb0001c +348671c,8fb10020 +3486720,8fa10024 +3486724,c015c0c +3486728,3272821 +348672c,8fbf0000 +3486730,3e00008 +3486734,27bd0040 +3486738,2402025 +348673c,3e00008 +3486740,2003825 +3486744,86470018 +3486748,10e00005 +3486750,f03820 +3486754,3c068043 +3486758,24c6f59c +348675c,a4c70000 +3486760,3e00008 +3486764,24064002 +3486768,27a5005c +348676c,2802025 +3486770,3e00008 +3486774,2003825 +3486778,86070018 +348677c,10e00005 +3486784,f73820 +3486788,3c058043 +348678c,24a5f59c +3486790,a4a70000 +3486794,3e00008 +3486798,2602825 +348679c,86070018 +34867a0,34060000 +34867a4,10e00006 +34867ac,f73820 +34867b0,24e70003 +34867b4,3c058043 +34867b8,24a5f59c +34867bc,a4a70000 +34867c0,27b30044 +34867c4,3e00008 +34867c8,24110003 +34867cc,27bdffe0 +34867d0,afbf0010 +34867d4,2802025 +34867d8,24060002 +34867dc,86070018 +34867e0,10e00005 +34867e8,24e70006 +34867ec,3c058043 +34867f0,24a5f59c +34867f4,a4a70000 +34867f8,c004d9e +34867fc,2602825 +3486800,10400004 +3486804,2802025 +3486808,e4540060 +348680c,864e0000 +3486810,a44e0032 +3486814,24060001 +3486818,86070018 +348681c,10e00004 +3486820,24e70007 +3486824,3c058043 +3486828,24a5f59c +348682c,a4a70000 +3486830,c004d9e +3486834,2602825 +3486838,10400004 +348683c,2802025 +3486840,e4540060 +3486844,864e0004 +3486848,a44e0032 +348684c,8fbf0010 +3486850,3e00008 +3486854,27bd0020 +3486858,c02825 +348685c,c107fed +3486860,72025 +3486864,8fbf0014 +3486868,3e00008 +348686c,27bd0020 +3486870,27bdffa0 +3486874,afa40010 +3486878,afa50014 +348687c,afa60018 +3486880,afa7001c +3486884,afa10020 +3486888,afa20024 +348688c,afa30028 +3486890,afa8002c +3486894,afa90030 +3486898,afaa0034 +348689c,afab0038 +34868a0,afae003c +34868a4,afaf0040 +34868a8,e7b00044 +34868ac,afbf0048 +34868b0,2003025 +34868b4,c103fb4 +34868b8,602825 +34868bc,8fa40010 +34868c0,8fa50014 +34868c4,8fa60018 +34868c8,8fa7001c +34868cc,8fa10020 +34868d0,8fa20024 +34868d4,8fa30028 +34868d8,8fa8002c +34868dc,8fa90030 +34868e0,8faa0034 +34868e4,8fab0038 +34868e8,8fae003c +34868ec,8faf0040 +34868f0,c7b00044 +34868f4,650019 +34868f8,c4c40024 +34868fc,c4c80028 +3486900,8fbf0048 +3486904,3e00008 +3486908,27bd0060 +348690c,27bdffa0 +3486910,afa40010 +3486914,afa50014 +3486918,afa60018 +348691c,afa7001c +3486920,afa10020 +3486924,afa20024 +3486928,afa30028 +348692c,afa8002c +3486930,afa90030 +3486934,afaa0034 +3486938,afab0038 +348693c,afae003c +3486940,afaf0040 +3486944,e7b00044 +3486948,afbf0048 +348694c,a02025 +3486950,c02825 +3486954,c103fb4 +3486958,2003025 +348695c,8fa40010 +3486960,8fa50014 +3486964,8fa60018 +3486968,8fa7001c +348696c,8fa10020 +3486970,8fa20024 +3486974,8fa30028 +3486978,8fa8002c +348697c,8fa90030 +3486980,8faa0034 +3486984,8fab0038 +3486988,8fae003c +348698c,8faf0040 +3486990,c7b00044 +3486994,c90019 +3486998,c4640024 +348699c,c4680028 +34869a0,8fbf0048 +34869a4,3e00008 +34869a8,27bd0060 +34869ac,27bdffd0 +34869b0,afbf0010 +34869b4,afa40014 +34869b8,afb00018 +34869bc,afa6001c +34869c0,c10406d +34869c4,2002025 +34869c8,8fbf0010 +34869cc,8fa40014 +34869d0,8fb00018 +34869d4,8fa6001c +34869d8,27bd0030 +34869dc,8e19013c +34869e0,2002025 +34869e4,3e00008 +34869f0,27bdffb0 +34869f4,afa80020 +34869f8,afa90024 +34869fc,afaa0028 +3486a00,afa4002c +3486a04,afa50030 +3486a08,afa60034 +3486a0c,afb00038 +3486a10,afb1003c +3486a14,afbf0040 +3486a18,26100001 +3486a1c,3c018040 +3486a20,a43069ec +3486a24,c009571 +3486a2c,8fa50030 +3486a30,10400005 +3486a38,22025 +3486a3c,8fa50034 +3486a40,c101d63 +3486a48,3c018040 +3486a4c,a42069ec +3486a50,8fa80020 +3486a54,8fa90024 +3486a58,8faa0028 +3486a5c,8fa4002c +3486a60,8fa50030 +3486a64,8fa60034 +3486a68,8fb00038 +3486a6c,8fb1003c +3486a70,8fbf0040 +3486a74,3e00008 +3486a78,27bd0050 +3486a7c,27bdffe0 +3486a80,afbf0010 +3486a84,afb00014 +3486a88,84700000 +3486a8c,12000002 +3486a94,24840010 +3486a98,c019b04 +3486aa0,8fb00014 +3486aa4,8fbf0010 +3486aa8,3e00008 +3486aac,27bd0020 +3486ab0,27bdffc0 +3486ab4,afb00010 +3486ab8,afa40014 +3486abc,afa50018 +3486ac0,afa6001c +3486ac4,afa70020 +3486ac8,afa10024 +3486acc,afa30028 +3486ad0,afa20030 +3486ad4,afbf0034 +3486ad8,8fb0008c +3486adc,86100000 +3486ae0,1200000e +3486ae8,402025 +3486aec,c000ba0 +3486af0,24050010 +3486af4,8fb00010 +3486af8,8fa40014 +3486afc,8fa50018 +3486b00,8fa6001c +3486b04,8fa70020 +3486b08,8fa10024 +3486b0c,8fa30028 +3486b10,8fa20030 +3486b14,24420010 +3486b18,403825 +3486b1c,8fb00010 +3486b20,8fbf0034 +3486b24,820a001e +3486b28,3c010001 +3486b2c,3e00008 +3486b30,27bd0040 +3486b34,27bdffa8 +3486b38,8009446 +3486b3c,afa60060 +3486b40,27bdffe0 +3486b44,afa40018 +3486b48,afbf001c +3486b4c,c108547 +3486b54,8fa40018 +3486b58,8fbf001c +3486b5c,3e00008 +3486b60,27bd0020 +3486b64,97a50046 +3486b68,8fa40040 +3486b6c,afa8002c +3486b70,1f6025 +3486b74,c035a7b +3486b7c,54602 +3486b80,31080008 +3486b84,2d0e0001 +3486b88,cf825 +3486b8c,3e00008 +3486b94,906e0002 +3486b98,8c650004 +3486b9c,53602 +3486ba0,63600 +3486ba4,8c650004 +3486ba8,24822200 +3486bac,a04e0008 +3486bb0,8c67000c +3486bb4,a67823 +3486bb8,24630008 +3486bbc,e5c023 +3486bc0,ac4f0000 +3486bc4,3e00008 +3486bc8,ac580004 +3486bcc,24010001 +3486bd0,14410004 +3486bd4,87ae008c +3486bd8,25cc0001 +3486bdc,80371f9 +3486be0,a7ac008c +3486be4,27bdffa0 +3486be8,afa40010 +3486bec,afa50014 +3486bf0,afa60018 +3486bf4,afa2001c +3486bf8,afa70020 +3486bfc,27bdffe0 +3486c00,afb50010 +3486c04,afb40014 +3486c08,22025 +3486c0c,27a50010 +3486c10,27a60014 +3486c14,c107510 +3486c1c,8fb50010 +3486c20,8fb40014 +3486c24,27bd0020 +3486c28,8fa40010 +3486c2c,8fa50014 +3486c30,8fa60018 +3486c34,8fa70020 +3486c38,10400003 +3486c3c,8fa2001c +3486c40,80371f9 +3486c44,27bd0060 +3486c48,8037160 +3486c4c,27bd0060 +3486c50,27bdffe0 +3486c54,afa40018 +3486c58,afbf001c +3486c5c,c107655 +3486c64,8fa40018 +3486c68,8fbf001c +3486c6c,accc01ec +3486c70,acc90118 +3486c74,3e00008 +3486c78,27bd0020 +3486c7c,a02004be +3486c80,a42004c0 +3486c84,94e704c0 +3486c88,80368d5 +3486c94,3c098040 +3486c98,81296c90 +3486c9c,11200005 +3486ca0,8e291c44 +3486ca4,912f014f +3486ca8,3c188012 +3486cac,2718a5d0 +3486cb0,a30f003b +3486cb4,863800a4 +3486cb8,3e00008 +3486cbc,3c098012 +3486cc0,3c088040 +3486cc4,81086c90 +3486cc8,11000007 +3486ccc,94a8001c +3486cd0,31080f00 +3486cd4,84203 +3486cd8,24090001 +3486cdc,11090002 +3486ce0,9248003b +3486ce4,a0a8014f +3486ce8,3c088010 +3486cec,2508e49c +3486cf0,8d090000 +3486cf4,3c0a8083 +3486cf8,254a4000 +3486cfc,8d0b000c +3486d00,14b6023 +3486d04,1896821 +3486d08,1a00008 +3486d10,a6000186 +3486d14,3c0540a0 +3486d18,3e00008 +3486d1c,3c063f00 +3486d20,24080001 +3486d24,ae08011c +3486d28,3e00008 +3486d2c,860a014c +3486d34,3c088040 +3486d38,81086d30 +3486d3c,11000005 +3486d40,3c09801d +3486d44,252984a0 +3486d48,8d281d44 +3486d4c,35080002 +3486d50,ad281d44 3486d54,3e00008 -3486d58,860a014c -3486d60,3c088040 -3486d64,81086d5c -3486d68,11000005 -3486d6c,3c09801d -3486d70,252984a0 -3486d74,8d281d44 -3486d78,35080002 -3486d7c,ad281d44 -3486d80,3e00008 -3486d84,ae000118 -3486d88,3c088040 -3486d8c,81086d5c -3486d90,11000008 -3486d94,3c09801d -3486d98,252984a0 -3486d9c,8d281d44 -3486da0,31080002 -3486da4,11000003 -3486dac,24180001 -3486db0,a6180204 -3486db4,3e00008 -3486db8,afaa0010 -3486dbc,94481402 -3486dc0,3c098040 -3486dc4,81296d5c -3486dc8,15200002 -3486dd0,af001d38 -3486dd4,3e00008 -3486ddc,260a0184 -3486de0,3c088040 -3486de4,81086d5c -3486de8,15000002 -3486df0,a13900bc -3486df4,3e00008 -3486dfc,44814000 -3486e00,3c098040 -3486e04,81296d5c -3486e08,11200004 -3486e10,44804000 -3486e14,340a0001 -3486e18,448a0000 -3486e1c,3e00008 -3486e24,3c088040 -3486e28,81086d5c -3486e2c,11000004 -3486e34,8fbf0014 -3486e38,3e00008 -3486e40,3e00008 -3486e44,a03825 -3486e48,3c098040 -3486e4c,81296d5c -3486e50,11600003 -3486e58,c825 -3486e5c,8fa4004c -3486e60,3e00008 -3486e64,8fa4004c -3486e68,27bdffd0 -3486e6c,afa40010 -3486e70,afa50014 -3486e74,afa60018 -3486e78,afb0001c -3486e7c,afb10020 -3486e80,afa30028 -3486e84,afbf002c -3486e88,2002025 -3486e8c,c103691 -3486e90,2202825 -3486e94,8fa40010 -3486e98,8fa50014 -3486e9c,8fa60018 -3486ea0,8fb0001c -3486ea4,8fb10020 -3486ea8,8fa30028 -3486eac,8fbf002c -3486eb0,3e00008 -3486eb4,27bd0030 -3486eb8,24060004 -3486ebc,30ae0002 -3486ec0,820f00af -3486ec4,55e00002 -3486ecc,240e0000 -3486ed0,3e00008 -3486ed8,241800be -3486edc,3c108042 -3486ee0,26107e44 -3486ee4,8e100000 -3486ee8,12000002 -3486ef0,25ef000e -3486ef4,3e00008 -3486efc,241800be -3486f00,3c108042 -3486f04,26107e44 -3486f08,8e100000 -3486f0c,12000002 -3486f14,2652000e -3486f18,3e00008 -3486f20,3c013f81 -3486f24,34213f19 -3486f28,44814000 -3486f2c,3e00008 -3486f34,3c013f81 -3486f38,34213f19 -3486f3c,44815000 -3486f40,3e00008 -3486f48,27bdffe0 -3486f4c,afa20010 -3486f50,afbf0014 -3486f54,3c088040 -3486f58,81081d7e -3486f5c,11000022 -3486f64,c107266 -3486f68,46000306 -3486f6c,406821 -3486f70,34030001 -3486f74,621824 -3486f78,10600003 -3486f7c,3c09ffff -3486f80,35297fff -3486f84,1e97824 -3486f88,34030002 -3486f8c,621824 -3486f90,10600003 -3486f94,3c09ffff -3486f98,3529fff7 -3486f9c,1e97824 -3486fa0,34030004 -3486fa4,621824 -3486fa8,10600003 -3486fac,3c09ffff -3486fb0,3529fffb -3486fb4,1e97824 -3486fb8,34030008 -3486fbc,621824 -3486fc0,10600003 -3486fc4,3c09ffff -3486fc8,3529fffd -3486fcc,1e97824 -3486fd0,34030010 -3486fd4,621824 -3486fd8,10600003 -3486fdc,3c09ffff -3486fe0,3529fffe -3486fe4,1e97824 -3486fe8,8fa20010 -3486fec,8fbf0014 -3486ff0,3c018012 -3486ff4,ac2f1f24 -3486ff8,27bd0020 -3486ffc,3e00008 -3487004,27bdffe0 -3487008,afa40018 -348700c,afbf001c -3487010,c10469b -3487018,8fa40018 -348701c,8fbf001c -3487020,3e00008 -3487024,27bd0020 -3487030,10a00003 -3487034,24020001 -3487038,a08201ac -348703c,ac800170 -3487040,3e00008 -3487048,84820000 -348704c,24030112 -3487050,10430012 -3487054,28430113 -3487058,10600008 -348705c,2403019e -3487060,24030015 -3487064,1043000d -3487068,240300bb -348706c,10430009 -3487074,3e00008 -348707c,10430005 -3487080,240301ab -3487084,10430003 -3487088,2403015c -348708c,14430004 -3487094,3e00008 -3487098,a4800034 -348709c,a4800032 -34870a0,3e00008 -34870a8,80820003 -34870ac,21200 -34870b0,c23025 -34870b4,84820000 -34870b8,2403011d -34870bc,10430016 -34870c0,30c6ffff -34870c4,2843011e -34870c8,1060000d -34870cc,2403019e -34870d0,28430112 -34870d4,50600006 -34870d8,24030112 -34870dc,28420110 -34870e0,1440000f -34870e8,3e00008 -34870ec,a4860018 -34870f0,50430001 -34870f4,a4860016 -34870f8,3e00008 -3487100,10430005 -3487104,240301a0 -3487108,5043fffb -348710c,a4860016 -3487110,3e00008 +3486d58,ae000118 +3486d5c,3c088040 +3486d60,81086d30 +3486d64,11000008 +3486d68,3c09801d +3486d6c,252984a0 +3486d70,8d281d44 +3486d74,31080002 +3486d78,11000003 +3486d80,24180001 +3486d84,a6180204 +3486d88,3e00008 +3486d8c,afaa0010 +3486d90,94481402 +3486d94,3c098040 +3486d98,81296d30 +3486d9c,15200002 +3486da4,af001d38 +3486da8,3e00008 +3486db0,260a0184 +3486db4,3c088040 +3486db8,81086d30 +3486dbc,15000002 +3486dc4,a13900bc +3486dc8,3e00008 +3486dd0,44814000 +3486dd4,3c098040 +3486dd8,81296d30 +3486ddc,11200004 +3486de4,44804000 +3486de8,340a0001 +3486dec,448a0000 +3486df0,3e00008 +3486df8,3c088040 +3486dfc,81086d30 +3486e00,11000004 +3486e08,8fbf0014 +3486e0c,3e00008 +3486e14,3e00008 +3486e18,a03825 +3486e1c,3c098040 +3486e20,81296d30 +3486e24,11600003 +3486e2c,c825 +3486e30,8fa4004c +3486e34,3e00008 +3486e38,8fa4004c +3486e3c,c4600024 +3486e40,c4620028 +3486e44,3c0f8040 +3486e48,81ef6d31 +3486e4c,11e0000d +3486e54,3c0f8040 +3486e58,81ef6d30 +3486e5c,15e00009 +3486e64,3c098012 +3486e68,812aa651 +3486e6c,340b000f +3486e70,114b0004 +3486e78,24080071 +3486e7c,8101bb7 +3486e84,3e00008 +3486e8c,c4400024 +3486e90,c4420028 +3486e94,3c0f8040 +3486e98,81ef6d31 +3486e9c,11e0000d +3486ea4,3c0f8040 +3486ea8,81ef6d30 +3486eac,15e00009 +3486eb4,3c098012 +3486eb8,812aa651 +3486ebc,340b000f +3486ec0,114b0004 +3486ec8,24030071 +3486ecc,8101bb7 +3486ed4,3e00008 +3486edc,27bdffe0 +3486ee0,afbf0014 +3486ee4,afa20018 +3486ee8,afa3001c +3486eec,c107666 +3486ef4,8fbf0014 +3486ef8,8fa20018 +3486efc,8fa3001c +3486f00,3e00008 +3486f04,27bd0020 +3486f08,27bdffd0 +3486f0c,afa40010 +3486f10,afa50014 +3486f14,afa60018 +3486f18,afb0001c +3486f1c,afb10020 +3486f20,afa30028 +3486f24,afbf002c +3486f28,2002025 +3486f2c,c103f11 +3486f30,2202825 +3486f34,8fa40010 +3486f38,8fa50014 +3486f3c,8fa60018 +3486f40,8fb0001c +3486f44,8fb10020 +3486f48,8fa30028 +3486f4c,8fbf002c +3486f50,3e00008 +3486f54,27bd0030 +3486f58,27bdffb8 +3486f5c,8004a50 +3486f60,afb10020 +3486f64,27bdffd8 +3486f68,8004bf0 +3486f6c,afbf0014 +3486f70,27bdffc0 +3486f74,80046d5 +3486f78,afb00018 +3486f7c,24060004 +3486f80,30ae0002 +3486f84,820f00af +3486f88,55e00002 +3486f90,240e0000 +3486f94,3e00008 +3486f9c,241800be +3486fa0,3c108043 +3486fa4,2610d7b4 +3486fa8,8e100000 +3486fac,12000002 +3486fb4,25ef000e +3486fb8,3e00008 +3486fc0,241800be +3486fc4,3c108043 +3486fc8,2610d7b4 +3486fcc,8e100000 +3486fd0,12000002 +3486fd8,2652000e +3486fdc,3e00008 +3486fe4,3c013f81 +3486fe8,34213f19 +3486fec,44814000 +3486ff0,3e00008 +3486ff8,3c013f81 +3486ffc,34213f19 +3487000,44815000 +3487004,3e00008 +348700c,27bdffe0 +3487010,afa20010 +3487014,afbf0014 +3487018,3c088040 +348701c,81081de6 +3487020,11000022 +3487028,c108244 +348702c,46000306 +3487030,406821 +3487034,34030001 +3487038,621824 +348703c,10600003 +3487040,3c09ffff +3487044,35297fff +3487048,1e97824 +348704c,34030002 +3487050,621824 +3487054,10600003 +3487058,3c09ffff +348705c,3529fff7 +3487060,1e97824 +3487064,34030004 +3487068,621824 +348706c,10600003 +3487070,3c09ffff +3487074,3529fffb +3487078,1e97824 +348707c,34030008 +3487080,621824 +3487084,10600003 +3487088,3c09ffff +348708c,3529fffd +3487090,1e97824 +3487094,34030010 +3487098,621824 +348709c,10600003 +34870a0,3c09ffff +34870a4,3529fffe +34870a8,1e97824 +34870ac,8fa20010 +34870b0,8fbf0014 +34870b4,3c018012 +34870b8,ac2f1f24 +34870bc,27bd0020 +34870c0,3e00008 +34870c8,27bdffe0 +34870cc,afa40018 +34870d0,afbf001c +34870d4,c1052e6 +34870dc,8fa40018 +34870e0,8fbf001c +34870e4,3e00008 +34870e8,27bd0020 +34870ec,27bdffe0 +34870f0,afbf0010 +34870f4,8fa50038 +34870f8,a02025 +34870fc,8ca502b0 +3487100,8ca5000c +3487104,a0f809 +348710c,c035886 +3487110,8fa4003c +3487114,8fbf0010 3487118,3e00008 -348711c,a4860018 -3487120,3e00008 -3487128,27bdffd0 -348712c,afbf002c -3487130,afb20028 -3487134,afb10024 -3487138,afb00020 -348713c,808025 -3487140,84820000 -3487144,24030111 -3487148,14430009 -348714c,a03025 -3487150,802825 -3487154,c10728a -3487158,27a40010 -348715c,8fa40010 -3487160,97b20018 -3487164,97b1001c -3487168,10000043 -348716c,2610018d -3487170,2403011d -3487174,14430009 -3487178,240301a0 -348717c,802825 -3487180,c1072b7 -3487184,27a40010 -3487188,8fa40010 -348718c,97b20018 -3487190,97b1001c -3487194,10000038 -3487198,2610019c -348719c,14430009 -34871a0,24030110 -34871a4,802825 -34871a8,c10717f -34871ac,27a40010 -34871b0,8fa40010 -34871b4,97b20018 -34871b8,97b1001c -34871bc,1000002e -34871c0,261001a6 -34871c4,14430009 -34871c8,2403019e -34871cc,802825 -34871d0,c1070b1 -34871d4,27a40010 -34871d8,8fa40010 -34871dc,97b20018 -34871e0,97b1001c -34871e4,10000024 -34871e8,2610018c -34871ec,14430025 -34871f0,8fbf002c -34871f4,802825 -34871f8,c106ff8 -34871fc,27a40010 -3487200,8fa40010 -3487204,97b20018 -3487208,97b1001c -348720c,1000001a -3487210,261001a4 -3487214,90421d79 -3487218,24030002 -348721c,14430004 -3487220,24030001 -3487224,2402000c -3487228,10000015 -348722c,a2020000 -3487230,54430013 -3487234,a2000000 -3487238,afa40010 -348723c,a7b20018 -3487240,a7b1001c -3487244,8fa50014 -3487248,8fa60018 -348724c,c105ed3 -3487250,8fa7001c -3487254,c105eb8 -3487258,2202025 -348725c,54400004 -3487260,90420007 -3487264,c105eb8 -3487268,2402025 -348726c,90420007 -3487270,10000003 -3487274,a2020000 -3487278,1480ffe6 -348727c,3c028040 -3487280,8fbf002c -3487284,8fb20028 -3487288,8fb10024 -348728c,8fb00020 -3487290,3e00008 -3487294,27bd0030 -3487298,27bdffe0 -348729c,afbf001c -34872a0,afb20018 -34872a4,afb10014 -34872a8,afb00010 -34872ac,808025 -34872b0,a08825 -34872b4,3c128040 -34872b8,c101c2a -34872bc,96466960 -34872c0,2202825 -34872c4,c101c4a -34872c8,2002025 -34872cc,2202825 -34872d0,c1036b3 -34872d4,2002025 -34872d8,a6406960 -34872dc,8fbf001c -34872e0,8fb20018 -34872e4,8fb10014 -34872e8,8fb00010 -34872ec,3e00008 -34872f0,27bd0020 -34872f4,a0c00000 -34872f8,3c028040 -34872fc,90431d7b -3487300,10600036 -3487304,24020001 -3487308,27bdfe20 -348730c,afbf01dc -3487310,afb101d8 -3487314,afb001d4 -3487318,808825 -348731c,c08025 -3487320,24020015 -3487324,a7a20010 -3487328,3c020001 -348732c,a21021 -3487330,80421cbc -3487334,21200 -3487338,3c038040 -348733c,94636960 -3487340,431021 -3487344,a7a20026 -3487348,a7a0002c -348734c,9483000e -3487350,31b02 -3487354,24040001 -3487358,1464001b -348735c,24020001 -3487360,3825 -3487364,90a600a5 -3487368,27a50010 -348736c,c1040bf -3487370,27a401c0 -3487374,8fa301c0 -3487378,10600013 -348737c,1025 -3487380,afa301ac -3487384,8fa201c4 -3487388,afa201b0 -348738c,8fa201c8 -3487390,afa201b4 -3487394,8fa201cc -3487398,afa201b8 -348739c,c1043c7 -34873a0,27a40010 -34873a4,401825 -34873a8,14600007 -34873ac,1025 -34873b0,a620000e -34873b4,24020015 -34873b8,a6220000 -34873bc,24020001 -34873c0,a2020000 -34873c4,24020001 -34873c8,8fbf01dc -34873cc,8fb101d8 -34873d0,8fb001d4 -34873d4,3e00008 -34873d8,27bd01e0 -34873dc,3e00008 -34873e4,27bdffb8 -34873e8,afbf0044 -34873ec,afb30040 -34873f0,afb2003c -34873f4,afb10038 -34873f8,afb00034 -34873fc,809025 -3487400,a08025 -3487404,c08825 -3487408,a3a00028 -348740c,94a30000 -3487410,24020117 -3487414,14620008 -3487418,9825 -348741c,27a60028 -3487420,2202825 -3487424,c101cbd -3487428,2002025 -348742c,10400027 -3487430,3c138040 -3487434,26737030 -3487438,86070002 -348743c,9602000e -3487440,afa20024 -3487444,9602000c -3487448,afa20020 -348744c,9602000a -3487450,afa2001c -3487454,96020008 -3487458,afa20018 -348745c,86020006 -3487460,44820000 -3487468,46800020 -348746c,e7a00014 -3487470,86020004 -3487474,44820000 -348747c,46800020 -3487480,e7a00010 -3487484,44870000 -348748c,46800020 -3487490,44070000 -3487494,96060000 -3487498,2202825 -348749c,3c028002 -34874a0,24425110 -34874a4,40f809 -34874a8,2402025 -34874ac,10400008 -34874b0,408025 -34874b4,12600006 -34874b8,93a50028 -34874bc,260f809 -34874c0,402025 -34874c4,10000003 -34874c8,2001025 -34874cc,8025 -34874d0,2001025 -34874d4,8fbf0044 -34874d8,8fb30040 -34874dc,8fb2003c -34874e0,8fb10038 -34874e4,8fb00034 -34874e8,3e00008 -34874ec,27bd0048 -34874f0,27bdffd0 -34874f4,afbf002c -34874f8,a01025 -34874fc,c02825 -3487500,3c038011 -3487504,3463a5d0 -3487508,8c660000 -348750c,24030423 -3487510,54c30007 -3487514,84470002 -3487518,240303e8 -348751c,a4430004 -3487520,2403f858 -3487524,a4430006 -3487528,a440000a -348752c,84470002 -3487530,9443000e -3487534,afa30024 -3487538,9443000c -348753c,afa30020 -3487540,9443000a -3487544,afa3001c -3487548,94430008 -348754c,afa30018 -3487550,84430006 -3487554,44830000 -348755c,46800020 -3487560,e7a00014 -3487564,84430004 -3487568,44830000 -3487570,46800020 -3487574,e7a00010 -3487578,44870000 -3487580,46800020 -3487584,44070000 -3487588,94460000 -348758c,3c028002 -3487590,24425110 -3487594,40f809 -348759c,8fbf002c -34875a0,3e00008 -34875a4,27bd0030 -34875a8,3e00008 -34875b0,3c028042 -34875b4,8c4330c8 -34875b8,3c028042 -34875bc,2442fd0a -34875c0,14620004 -34875c4,3c038042 -34875c8,3c028042 -34875cc,2442fd0c -34875d0,ac6230c8 -34875d4,3e00008 -34875dc,3c028042 -34875e0,8c4330c8 -34875e4,3c028042 -34875e8,2442fcf0 -34875ec,10620003 -34875f0,3c028042 -34875f4,10000003 -34875f8,2442fd10 -34875fc,3c028042 -3487600,2442fcf2 -3487604,3c038042 -3487608,3e00008 -348760c,ac6230c8 -3487610,27bdffc8 -3487614,afbf0034 -3487618,afb40030 -348761c,afb3002c -3487620,afb20028 -3487624,afb10024 -3487628,afb00020 -348762c,809025 -3487630,3c02801c -3487634,344284a0 -3487638,3c030001 -348763c,431021 -3487640,90420743 -3487644,240300aa -3487648,14430002 -348764c,a08825 -3487650,240200ff -3487654,3c03801c -3487658,346384a0 -348765c,8c700000 -3487660,8e0302b0 -3487664,24640008 -3487668,ae0402b0 -348766c,3c04de00 -3487670,ac640000 -3487674,3c048042 -3487678,24843f08 -348767c,ac640004 -3487680,8e0302b0 -3487684,24640008 -3487688,ae0402b0 -348768c,3c04e700 -3487690,ac640000 -3487694,ac600004 -3487698,8e0302b0 -348769c,24640008 -34876a0,ae0402b0 -34876a4,3c04fc11 -34876a8,34849623 -34876ac,ac640000 -34876b0,3c04ff2f -34876b4,3484ffff -34876b8,ac640004 -34876bc,8e0402b0 -34876c0,24830008 -34876c4,ae0302b0 -34876c8,3c03fa00 -34876cc,ac830000 -34876d0,401825 -34876d4,c2102b -34876d8,10400002 -34876dc,261302a8 -34876e0,c01825 -34876e4,2402ff00 -34876e8,621825 -34876ec,ac830004 -34876f0,24070001 -34876f4,24060009 -34876f8,3c148042 -34876fc,26853ec0 -3487700,c1046ee -3487704,2602025 -3487708,24020010 -348770c,afa20018 -3487710,afa20014 -3487714,263100bd -3487718,afb10010 -348771c,2647001b -3487720,3025 -3487724,26853ec0 -3487728,c10493a -348772c,2602025 -3487730,8e0202b0 -3487734,24430008 -3487738,ae0302b0 -348773c,3c03e700 -3487740,ac430000 -3487744,ac400004 -3487748,8fbf0034 -348774c,8fb40030 -3487750,8fb3002c -3487754,8fb20028 -3487758,8fb10024 -348775c,8fb00020 -3487760,3e00008 -3487764,27bd0038 -3487768,3c028042 -348776c,8c4330c8 -3487770,3c028042 -3487774,2442fcf0 -3487778,1062006f -3487780,27bdffd0 -3487784,afbf002c -3487788,90660000 -348778c,90620001 -3487790,22600 -3487794,42603 -3487798,42183 -348779c,3042003f -34877a0,21040 -34877a4,3c038042 -34877a8,2463fcf0 -34877ac,621021 -34877b0,3c038042 -34877b4,ac6230c8 -34877b8,3c02801c -34877bc,344284a0 -34877c0,944c00a4 -34877c4,29820011 -34877c8,1040000c -34877cc,2825 -34877d0,3c028011 -34877d4,3442a5d0 -34877d8,4c1021 -34877dc,804200bc -34877e0,4410006 -34877e4,2405ffef -34877e8,3c028042 -34877ec,90427e44 -34877f0,10400002 -34877f4,2825 -34877f8,2405ffef -34877fc,3c028040 -3487800,90421d7c -3487804,10400047 -3487808,3c028042 -348780c,8c433c00 -3487810,18600044 -3487814,3c02801c -3487818,344284a0 -348781c,3c070001 -3487820,471021 -3487824,804f1cbc -3487828,3c028042 -348782c,24423acc -3487830,35040 -3487834,1435021 -3487838,a5080 -348783c,1435023 -3487840,a5040 -3487844,1425021 -3487848,3c188040 -348784c,27181dba -3487850,240e00ff -3487854,3c0d8042 -3487858,25ad54cc -348785c,90430000 -3487860,546c002e -3487864,24420016 -3487868,88430000 -348786c,98430003 -3487870,884b0004 -3487874,984b0007 -3487878,88490008 -348787c,9849000b -3487880,8848000c -3487884,9848000f -3487888,88470010 -348788c,98470013 -3487890,afa30010 -3487894,afab0014 -3487898,afa90018 -348789c,afa8001c -34878a0,afa70020 -34878a4,90470014 -34878a8,a3a70024 -34878ac,90470015 -34878b0,a3a70025 -34878b4,31e02 -34878b8,781821 -34878bc,90630000 -34878c0,14600002 -34878c4,27ab0022 -34878c8,27ab001e -34878cc,1603825 -34878d0,256b0004 -34878d4,34840 -34878d8,1234821 -34878dc,94840 -34878e0,90e80000 -34878e4,110e000c -34878e8,81840 -34878ec,681821 -34878f0,31880 -34878f4,1231821 -34878f8,1a31821 -34878fc,90630005 -3487900,546f0003 -3487904,24e70001 -3487908,10000003 -348790c,24a5ffef -3487910,5567fff4 -3487914,90e80000 -3487918,24420016 -348791c,544affd0 -3487920,90430000 -3487924,c101d84 -348792c,8fbf002c -3487930,3e00008 -3487934,27bd0030 -3487938,3e00008 -3487940,24030001 -3487944,831804 -3487948,3c058011 -348794c,34a5a5d0 -3487950,8ca50918 -3487954,651824 -3487958,54600031 -348795c,3c028042 -3487960,3083ffff -3487964,2c630005 -3487968,10600057 -348796c,41880 -3487970,3c028042 -3487974,2442fd18 -3487978,431021 -348797c,8c420000 -3487980,400008 -3487988,3e00008 -348798c,801025 -3487990,3e00008 -3487994,801025 -3487998,3c028042 -348799c,8c427dc8 -34879a0,14400041 -34879a4,240300ff -34879a8,3c028011 -34879ac,3442a5d0 -34879b0,9045007c -34879b4,14a30044 -34879b8,801025 -34879bc,3c028040 -34879c0,8c421d5c -34879c4,1040003a -34879cc,3c028011 -34879d0,3442a5d0 -34879d4,8c4200a0 -34879d8,30420038 -34879dc,2c420001 -34879e0,3e00008 -34879e4,24420003 -34879e8,3c028042 -34879ec,8c427dc8 -34879f0,14400031 -34879f8,3c028011 -34879fc,3442a5d0 -3487a00,8c4300a0 -3487a04,30630038 -3487a08,1460002f -3487a0c,801025 -3487a10,3e00008 -3487a14,24020004 -3487a18,3e00008 -3487a1c,801025 -3487a20,8c427dc8 -3487a24,14400026 -3487a2c,24020002 -3487a30,10820006 -3487a34,3c028011 -3487a38,24020003 -3487a3c,50820013 -3487a40,3c028011 -3487a44,3e00008 -3487a48,24020004 -3487a4c,3442a5d0 -3487a50,9045007c -3487a54,240300ff -3487a58,14a3001b -3487a5c,801025 -3487a60,3c028040 -3487a64,8c421d5c -3487a68,50400017 -3487a6c,801025 -3487a70,3c028011 -3487a74,3442a5d0 -3487a78,8c4200a0 -3487a7c,30420038 -3487a80,2c420001 -3487a84,3e00008 -3487a88,24420003 -3487a8c,3442a5d0 -3487a90,8c4300a0 -3487a94,30630038 -3487a98,1060000b -3487a9c,24020004 -3487aa0,3e00008 -3487aa4,801025 -3487aa8,3e00008 -3487aac,801025 -3487ab0,3e00008 -3487ab4,801025 -3487ab8,3e00008 -3487abc,801025 -3487ac0,3e00008 -3487ac4,24020004 -3487ac8,3e00008 -3487ad0,24020004 -3487ad4,10820007 -3487ad8,3c028011 -3487adc,3442a5d0 -3487ae0,24030001 -3487ae4,832004 -3487ae8,8c430918 -3487aec,641825 -3487af0,ac430918 -3487af4,3e00008 -3487afc,27bdffc8 -3487b00,afbf0034 -3487b04,afb30030 -3487b08,afb2002c -3487b0c,afb10028 -3487b10,afb00024 -3487b14,808025 -3487b18,909101e9 -3487b1c,3c028042 -3487b20,8c427dd0 -3487b24,3c038042 -3487b28,8c637dcc -3487b2c,431025 -3487b30,3c038042 -3487b34,8c637dd4 -3487b38,431025 -3487b3c,10400031 -3487b40,2201825 -3487b44,3c02801c -3487b48,344284a0 -3487b4c,905200a5 -3487b50,9487001c -3487b54,73943 -3487b58,30e7007f -3487b5c,2403025 -3487b60,802825 -3487b64,c1040bf -3487b68,27a40010 -3487b6c,97b30018 -3487b70,12600024 -3487b74,2201825 -3487b78,c105eb8 -3487b7c,97a4001c -3487b80,14400004 -3487b84,3c038042 -3487b88,c105eb8 -3487b8c,2602025 -3487b90,3c038042 -3487b94,8c637dd0 -3487b98,3c048042 -3487b9c,8c847dcc -3487ba0,641825 -3487ba4,10600017 -3487ba8,90430007 -3487bac,306400ef -3487bb0,50800007 -3487bb4,24030010 -3487bb8,2463fff3 -3487bbc,306300ff -3487bc0,2c630002 -3487bc4,1060000e -3487bc8,8825 -3487bcc,24030010 -3487bd0,1643000b -3487bd4,24110005 -3487bd8,9604001c -3487bdc,24034eca -3487be0,10830006 -3487be4,3c038040 -3487be8,90716d5c -3487bec,56200004 -3487bf0,24110005 -3487bf4,10000003 -3487bf8,90430007 -3487bfc,24110005 -3487c00,90430007 -3487c04,a21101ec -3487c08,a20301ed -3487c0c,3c028040 -3487c10,8c423ee4 -3487c14,10400005 -3487c18,8fbf0034 -3487c1c,8e020004 -3487c20,34420080 -3487c24,ae020004 -3487c28,8fbf0034 -3487c2c,8fb30030 -3487c30,8fb2002c -3487c34,8fb10028 -3487c38,8fb00024 -3487c3c,3e00008 -3487c40,27bd0038 -3487c44,3c038042 -3487c48,8c637dd0 -3487c4c,10600004 -3487c50,908201ed -3487c54,2403000d -3487c58,50430001 -3487c5c,24020002 -3487c60,3e00008 -3487c68,27bdffe0 -3487c6c,afbf001c -3487c70,afb20018 -3487c74,afb10014 -3487c78,afb00010 -3487c7c,808025 -3487c80,3c028042 -3487c84,8c427dcc -3487c88,3c038042 -3487c8c,8c637dd4 -3487c90,431025 -3487c94,1040004a -3487c98,c09025 -3487c9c,3c028040 -3487ca0,90421d8a -3487ca4,10400009 -3487ca8,2ca20010 -3487cac,3c028011 -3487cb0,3442a5d0 -3487cb4,8c4200a4 -3487cb8,3c030020 -3487cbc,431024 -3487cc0,10400043 -3487cc4,3c110600 -3487cc8,2ca20010 -3487ccc,1040000b -3487cd0,2ca2000e -3487cd4,10400025 -3487cd8,2402000c -3487cdc,10a2000e -3487ce0,2402000d -3487ce4,50a20017 -3487ce8,3c028040 -3487cec,3c110600 -3487cf0,26222798 -3487cf4,10000047 -3487cf8,26311798 -3487cfc,24a5fff0 -3487d00,30a500ff -3487d04,2ca50002 -3487d08,54a00023 -3487d0c,3c028040 -3487d10,10000032 -3487d14,3c110600 -3487d18,3c028040 -3487d1c,90421d81 -3487d20,50400031 -3487d24,3c110600 -3487d28,c1079c0 -3487d2c,24040012 -3487d30,408825 -3487d34,c1079c0 -3487d38,24040013 -3487d3c,10000036 -3487d40,8e0302c4 -3487d44,90421d82 -3487d48,5040002a -3487d4c,3c110600 -3487d50,c1079c0 -3487d54,24040014 -3487d58,408825 -3487d5c,c1079c0 -3487d60,24040015 -3487d64,1000002c -3487d68,8e0302c4 -3487d6c,3c028040 -3487d70,90421d83 -3487d74,50400022 -3487d78,3c110600 -3487d7c,c1079c0 -3487d80,24040016 -3487d84,408825 -3487d88,c1079c0 -3487d8c,24040017 -3487d90,10000021 -3487d94,8e0302c4 -3487d98,90421d84 -3487d9c,5040001b -3487da0,3c110600 -3487da4,c1079c0 -3487da8,24040018 -3487dac,408825 -3487db0,c1079c0 -3487db4,24040019 -3487db8,10000017 -3487dbc,8e0302c4 -3487dc0,3c110600 -3487dc4,26222798 -3487dc8,10000012 -3487dcc,26311798 -3487dd0,26222798 -3487dd4,1000000f -3487dd8,26311798 -3487ddc,26222798 -3487de0,1000000c -3487de4,26311798 -3487de8,26222798 -3487dec,10000009 -3487df0,26311798 -3487df4,26222798 -3487df8,10000006 -3487dfc,26311798 -3487e00,26222798 -3487e04,10000003 -3487e08,26311798 -3487e0c,26222798 -3487e10,26311798 -3487e14,8e0302c4 -3487e18,2464ffe0 -3487e1c,ae0402c4 -3487e20,3c05fd10 -3487e24,ac65ffe0 -3487e28,ac71ffe4 -3487e2c,8e0402c4 -3487e30,3c03df00 -3487e34,ac830008 -3487e38,ac80000c -3487e3c,8e0402c4 -3487e40,ac850010 -3487e44,ac820014 -3487e48,8e0202c4 -3487e4c,ac430018 -3487e50,ac40001c -3487e54,8e0402c4 -3487e58,8e420000 -3487e5c,24430008 -3487e60,ae430000 -3487e64,3c03db06 -3487e68,24630024 -3487e6c,ac430000 -3487e70,ac440004 -3487e74,8fbf001c -3487e78,8fb20018 -3487e7c,8fb10014 -3487e80,8fb00010 -3487e84,3e00008 -3487e88,27bd0020 -3487e8c,27bdffe0 -3487e90,afbf001c -3487e94,afb20018 -3487e98,afb10014 -3487e9c,afb00010 -3487ea0,c08025 -3487ea4,8c920000 -3487ea8,c101f11 -3487eac,a02025 -3487eb0,408825 -3487eb4,c02ae40 -3487eb8,2402025 -3487ebc,8e030000 -3487ec0,24640008 -3487ec4,ae040000 -3487ec8,3c04da38 -3487ecc,24840003 -3487ed0,ac640000 -3487ed4,ac620004 -3487ed8,24020002 -3487edc,16220018 -3487ee0,3c028040 -3487ee4,90421d80 -3487ee8,10400016 -3487eec,2003025 -3487ef0,3c028040 -3487ef4,90421d8a -3487ef8,50400009 -3487efc,8e020000 +348711c,27bd0020 +3487120,3c188044 +3487124,27181f51 +3487128,83180000 +348712c,3e00008 +3487130,33190002 +3487140,10a00003 +3487144,24020001 +3487148,a08201b0 +348714c,ac800170 +3487150,3e00008 +3487158,3e00008 +348715c,2482fff0 +3487160,3c03801c +3487164,346384a0 +3487168,946800a4 +348716c,3108007f +3487170,90a20000 +3487174,30420080 +3487178,481025 +348717c,a0a20000 +3487180,946300a4 +3487184,2402003e +3487188,5462001b +348718c,90820003 +3487190,90830003 +3487194,3063000f +3487198,31bc0 +348719c,8ca20004 +34871a0,3c04fff8 +34871a4,24847fff +34871a8,441024 +34871ac,431025 +34871b0,aca20004 +34871b4,3c038011 +34871b8,3463a5d0 +34871bc,90631397 +34871c0,3063001f +34871c4,31cc0 +34871c8,3c04ff07 +34871cc,3484ffff +34871d0,441024 +34871d4,431025 +34871d8,30c6007f +34871dc,63200 +34871e0,240380ff +34871e4,431024 +34871e8,461025 +34871ec,aca20004 +34871f0,3e00008 +34871f4,a0a70007 +34871f8,3c038044 +34871fc,90632098 +3487200,31980 +3487204,3042003f +3487208,431025 +348720c,a0a20005 +3487210,a0a60006 +3487214,3e00008 +3487218,a0a70007 +348721c,27bdffd0 +3487220,afbf002c +3487224,afb00028 +3487228,808025 +348722c,afa60038 +3487230,afa7003c +3487234,27a50038 +3487238,c104c05 +348723c,27a40020 +3487240,8fa20020 +3487244,afa20038 +3487248,8fa20024 +348724c,afa2003c +3487250,3c028040 +3487254,944269ec +3487258,54400001 +348725c,a602fff0 +3487260,27a50038 +3487264,c104bee +3487268,27a40010 +348726c,86020000 +3487270,2403015c +3487274,10430028 +3487278,2843015d +348727c,10600015 +3487280,240300bb +3487284,10430024 +3487288,284300bc +348728c,10600006 +3487290,28430113 +3487294,24030015 +3487298,14430024 +348729c,8fbf002c +34872a0,10000014 +34872a4,8fa20010 +34872a8,10600006 +34872ac,2403011d +34872b0,28420110 +34872b4,1440001d +34872b8,8fbf002c +34872bc,1000000d +34872c0,8fa20010 +34872c4,1043000b +34872c8,8fa20010 +34872cc,10000017 +34872d0,8fbf002c +34872d4,240301a0 +34872d8,10430005 +34872dc,240301ab +34872e0,1043000d +34872e4,2403019e +34872e8,14430010 +34872ec,8fbf002c +34872f0,8fa20010 +34872f4,8fa30014 +34872f8,431025 +34872fc,1040000b +3487300,8fbf002c +3487304,8fa20038 +3487308,ae02fff4 +348730c,8fa2003c +3487310,10000005 +3487314,ae02fff8 +3487318,8fa20038 +348731c,ae02fff4 +3487320,8fa2003c +3487324,ae02fff8 +3487328,8fbf002c +348732c,8fb00028 +3487330,3e00008 +3487334,27bd0030 +3487338,27bdffd8 +348733c,afbf0024 +3487340,afb10020 +3487344,afb0001c +3487348,808025 +348734c,a08825 +3487350,afa00010 +3487354,afa00014 +3487358,3825 +348735c,c101c58 +3487360,27a50010 +3487364,8fa60010 +3487368,8fa70014 +348736c,2202825 +3487370,c101c87 +3487374,2002025 +3487378,8fbf0024 +348737c,8fb10020 +3487380,8fb0001c +3487384,3e00008 +3487388,27bd0028 +348738c,27bdffd0 +3487390,afbf002c +3487394,afb10028 +3487398,afb00024 +348739c,808025 +34873a0,a08825 +34873a4,c104bee +34873a8,27a40010 +34873ac,8fa20010 +34873b0,8fa30014 +34873b4,431025 +34873b8,5040000e +34873bc,ae000000 +34873c0,c105016 +34873c4,2202025 +34873c8,5440000a +34873cc,ae000000 +34873d0,8fa20010 +34873d4,ae020000 +34873d8,8fa20014 +34873dc,ae020004 +34873e0,8fa20018 +34873e4,ae020008 +34873e8,8fa2001c +34873ec,10000004 +34873f0,ae02000c +34873f4,ae000004 +34873f8,ae000008 +34873fc,ae00000c +3487400,2001025 +3487404,8fbf002c +3487408,8fb10028 +348740c,8fb00024 +3487410,3e00008 +3487414,27bd0030 +3487418,27bdffd0 +348741c,afbf002c +3487420,afb20028 +3487424,afb10024 +3487428,afb00020 +348742c,808025 +3487430,84820000 +3487434,24030111 +3487438,14430009 +348743c,2485fff4 +3487440,c101ce3 +3487444,27a40010 +3487448,8fa40010 +348744c,8fa50014 +3487450,97b20018 +3487454,97b1001c +3487458,10000043 +348745c,2610018d +3487460,2403011d +3487464,14430009 +3487468,240301a0 +348746c,c101ce3 +3487470,27a40010 +3487474,8fa40010 +3487478,8fa50014 +348747c,97b20018 +3487480,97b1001c +3487484,10000038 +3487488,2610019c +348748c,14430009 +3487490,24030110 +3487494,c101ce3 +3487498,27a40010 +348749c,8fa40010 +34874a0,8fa50014 +34874a4,97b20018 +34874a8,97b1001c +34874ac,1000002e +34874b0,261001a6 +34874b4,14430009 +34874b8,2403019e +34874bc,c101ce3 +34874c0,27a40010 +34874c4,8fa40010 +34874c8,8fa50014 +34874cc,97b20018 +34874d0,97b1001c +34874d4,10000024 +34874d8,2610018c +34874dc,14430026 +34874e0,8fbf002c +34874e4,c101ce3 +34874e8,27a40010 +34874ec,8fa40010 +34874f0,8fa50014 +34874f4,97b20018 +34874f8,97b1001c +34874fc,1000001a +3487500,261001a4 +3487504,90421de1 +3487508,24030002 +348750c,14430004 +3487510,24030001 +3487514,2402000c +3487518,10000016 +348751c,a2020000 +3487520,54430014 +3487524,a2000000 +3487528,afa40010 +348752c,afa50014 +3487530,a7b20018 +3487534,a7b1001c +3487538,8fa60018 +348753c,c106dd8 +3487540,8fa7001c +3487544,c106dbd +3487548,2202025 +348754c,54400004 +3487550,90420007 +3487554,c106dbd +3487558,2402025 +348755c,90420007 +3487560,10000004 +3487564,a2020000 +3487568,851025 +348756c,1440ffe5 +3487570,3c028040 +3487574,8fbf002c +3487578,8fb20028 +348757c,8fb10024 +3487580,8fb00020 +3487584,3e00008 +3487588,27bd0030 +348758c,27bdffe0 +3487590,afbf001c +3487594,afb20018 +3487598,afb10014 +348759c,afb00010 +34875a0,808025 +34875a4,a08825 +34875a8,3c128040 +34875ac,c101cce +34875b0,964669ec +34875b4,2202825 +34875b8,c101d06 +34875bc,2002025 +34875c0,2202825 +34875c4,c103f98 +34875c8,2002025 +34875cc,a64069ec +34875d0,8fbf001c +34875d4,8fb20018 +34875d8,8fb10014 +34875dc,8fb00010 +34875e0,3e00008 +34875e4,27bd0020 +34875e8,a0c00000 +34875ec,3c028040 +34875f0,90431de3 +34875f4,1060003c +34875f8,24020001 +34875fc,27bdffc0 +3487600,afbf003c +3487604,afb10038 +3487608,afb00034 +348760c,808825 +3487610,c08025 +3487614,afa00020 +3487618,afa00024 +348761c,94a200a4 +3487620,3042007f +3487624,a3a20020 +3487628,3c028044 +348762c,90422098 +3487630,3c030001 +3487634,a32821 +3487638,90a31cbc +348763c,3063003f +3487640,21180 +3487644,431025 +3487648,a3a20025 +348764c,3c028040 +3487650,944269ec +3487654,a3a20026 +3487658,27a50020 +348765c,c104c05 +3487660,27a40028 +3487664,8fa20028 +3487668,afa20020 +348766c,8fa2002c +3487670,afa20024 +3487674,9623000e +3487678,31b02 +348767c,24040001 +3487680,14640014 +3487684,24020001 +3487688,27a50020 +348768c,c104bee +3487690,27a40010 +3487694,8fa30010 +3487698,8fa20014 +348769c,621825 +34876a0,1060000c +34876a4,1025 +34876a8,c105016 +34876ac,27a40020 +34876b0,401825 +34876b4,14600007 +34876b8,1025 +34876bc,a620000e +34876c0,24020015 +34876c4,a6220000 +34876c8,24020001 +34876cc,a2020000 +34876d0,24020001 +34876d4,8fbf003c +34876d8,8fb10038 +34876dc,8fb00034 +34876e0,3e00008 +34876e4,27bd0040 +34876e8,3e00008 +34876f0,27bdffb8 +34876f4,afbf0044 +34876f8,afb30040 +34876fc,afb2003c +3487700,afb10038 +3487704,afb00034 +3487708,809025 +348770c,a08025 +3487710,c08825 +3487714,a3a00028 +3487718,94a30000 +348771c,24020117 +3487720,14620008 +3487724,9825 +3487728,27a60028 +348772c,2202825 +3487730,c101d7a +3487734,2002025 +3487738,10400027 +348773c,3c138040 +3487740,26737140 +3487744,86070002 +3487748,9602000e +348774c,afa20024 +3487750,9602000c +3487754,afa20020 +3487758,9602000a +348775c,afa2001c +3487760,96020008 +3487764,afa20018 +3487768,86020006 +348776c,44820000 +3487774,46800020 +3487778,e7a00014 +348777c,86020004 +3487780,44820000 +3487788,46800020 +348778c,e7a00010 +3487790,44870000 +3487798,46800020 +348779c,44070000 +34877a0,96060000 +34877a4,2202825 +34877a8,3c028002 +34877ac,24425110 +34877b0,40f809 +34877b4,2402025 +34877b8,10400008 +34877bc,408025 +34877c0,12600006 +34877c4,93a50028 +34877c8,260f809 +34877cc,402025 +34877d0,10000003 +34877d4,2001025 +34877d8,8025 +34877dc,2001025 +34877e0,8fbf0044 +34877e4,8fb30040 +34877e8,8fb2003c +34877ec,8fb10038 +34877f0,8fb00034 +34877f4,3e00008 +34877f8,27bd0048 +34877fc,27bdffd0 +3487800,afbf002c +3487804,a01025 +3487808,c02825 +348780c,3c038011 +3487810,3463a5d0 +3487814,8c660000 +3487818,24030423 +348781c,54c30007 +3487820,84470002 +3487824,240303e8 +3487828,a4430004 +348782c,2403f858 +3487830,a4430006 +3487834,a440000a +3487838,84470002 +348783c,9443000e +3487840,afa30024 +3487844,9443000c +3487848,afa30020 +348784c,9443000a +3487850,afa3001c +3487854,94430008 +3487858,afa30018 +348785c,84430006 +3487860,44830000 +3487868,46800020 +348786c,e7a00014 +3487870,84430004 +3487874,44830000 +348787c,46800020 +3487880,e7a00010 +3487884,44870000 +348788c,46800020 +3487890,44070000 +3487894,94460000 +3487898,3c028002 +348789c,24425110 +34878a0,40f809 +34878a8,8fbf002c +34878ac,3e00008 +34878b0,27bd0030 +34878b4,27bdffc8 +34878b8,afbf0034 +34878bc,afb10030 +34878c0,afb0002c +34878c4,a08825 +34878c8,87a2005e +34878cc,afa20024 +34878d0,87a2005a +34878d4,afa20020 +34878d8,87a20056 +34878dc,afa2001c +34878e0,87a20052 +34878e4,afa20018 +34878e8,c7a0004c +34878ec,e7a00014 +34878f0,c7a00048 +34878f4,c101acd +34878f8,e7a00010 +34878fc,1040000c +3487900,408025 +3487904,3c028043 +3487908,8c42f598 +348790c,10400008 +3487910,2202825 +3487914,8c460000 +3487918,8c470004 +348791c,c101c87 +3487920,2002025 +3487924,2202825 +3487928,c101d06 +348792c,2002025 +3487930,2001025 +3487934,8fbf0034 +3487938,8fb10030 +348793c,8fb0002c +3487940,3e00008 +3487944,27bd0038 +3487948,3e00008 +3487950,3c028042 +3487954,8c4377b0 +3487958,3c028042 +348795c,244241d2 +3487960,14620004 +3487964,3c038042 +3487968,3c028042 +348796c,244241d4 +3487970,ac6277b0 +3487974,3e00008 +348797c,3c028042 +3487980,8c4377b0 +3487984,3c028042 +3487988,244241b8 +348798c,10620003 +3487990,3c028042 +3487994,10000003 +3487998,244241d8 +348799c,3c028042 +34879a0,244241ba +34879a4,3c038042 +34879a8,3e00008 +34879ac,ac6277b0 +34879b0,27bdffc8 +34879b4,afbf0034 +34879b8,afb40030 +34879bc,afb3002c +34879c0,afb20028 +34879c4,afb10024 +34879c8,afb00020 +34879cc,809025 +34879d0,3c02801c +34879d4,344284a0 +34879d8,3c030001 +34879dc,431021 +34879e0,90420743 +34879e4,240300aa +34879e8,14430002 +34879ec,a08825 +34879f0,240200ff +34879f4,3c03801c +34879f8,346384a0 +34879fc,8c700000 +3487a00,8e0302b0 +3487a04,24640008 +3487a08,ae0402b0 +3487a0c,3c04de00 +3487a10,ac640000 +3487a14,3c048043 +3487a18,24849688 +3487a1c,ac640004 +3487a20,8e0302b0 +3487a24,24640008 +3487a28,ae0402b0 +3487a2c,3c04e700 +3487a30,ac640000 +3487a34,ac600004 +3487a38,8e0302b0 +3487a3c,24640008 +3487a40,ae0402b0 +3487a44,3c04fc11 +3487a48,34849623 +3487a4c,ac640000 +3487a50,3c04ff2f +3487a54,3484ffff +3487a58,ac640004 +3487a5c,8e0402b0 +3487a60,24830008 +3487a64,ae0302b0 +3487a68,3c03fa00 +3487a6c,ac830000 +3487a70,401825 +3487a74,c2102b +3487a78,10400002 +3487a7c,261302a8 +3487a80,c01825 +3487a84,2402ff00 +3487a88,621825 +3487a8c,ac830004 +3487a90,24070001 +3487a94,24060009 +3487a98,3c148043 +3487a9c,26859640 +3487aa0,c10533a +3487aa4,2602025 +3487aa8,24020010 +3487aac,afa20018 +3487ab0,afa20014 +3487ab4,263100bd +3487ab8,afb10010 +3487abc,2647001b +3487ac0,3025 +3487ac4,26859640 +3487ac8,c105584 +3487acc,2602025 +3487ad0,8e0202b0 +3487ad4,24430008 +3487ad8,ae0302b0 +3487adc,3c03e700 +3487ae0,ac430000 +3487ae4,ac400004 +3487ae8,8fbf0034 +3487aec,8fb40030 +3487af0,8fb3002c +3487af4,8fb20028 +3487af8,8fb10024 +3487afc,8fb00020 +3487b00,3e00008 +3487b04,27bd0038 +3487b08,3c028042 +3487b0c,8c4377b0 +3487b10,3c028042 +3487b14,244241b8 +3487b18,1062006f +3487b20,27bdffd0 +3487b24,afbf002c +3487b28,90660000 +3487b2c,90620001 +3487b30,22600 +3487b34,42603 +3487b38,42183 +3487b3c,3042003f +3487b40,21040 +3487b44,3c038042 +3487b48,246341b8 +3487b4c,621021 +3487b50,3c038042 +3487b54,ac6277b0 +3487b58,3c02801c +3487b5c,344284a0 +3487b60,944c00a4 +3487b64,29820011 +3487b68,1040000c +3487b6c,2825 +3487b70,3c028011 +3487b74,3442a5d0 +3487b78,4c1021 +3487b7c,804200bc +3487b80,4410006 +3487b84,2405ffef +3487b88,3c028043 +3487b8c,9042d7b4 +3487b90,10400002 +3487b94,2825 +3487b98,2405ffef +3487b9c,3c028040 +3487ba0,90421de4 +3487ba4,10400047 +3487ba8,3c028043 +3487bac,8c4393b4 +3487bb0,18600044 +3487bb4,3c02801c +3487bb8,344284a0 +3487bbc,3c070001 +3487bc0,471021 +3487bc4,804f1cbc +3487bc8,3c028043 +3487bcc,24429280 +3487bd0,35040 +3487bd4,1435021 +3487bd8,a5080 +3487bdc,1435023 +3487be0,a5040 +3487be4,1425021 +3487be8,3c188040 +3487bec,27181e4e +3487bf0,240e00ff +3487bf4,3c0d8043 +3487bf8,25adadfc +3487bfc,90430000 +3487c00,546c002e +3487c04,24420016 +3487c08,88430000 +3487c0c,98430003 +3487c10,884b0004 +3487c14,984b0007 +3487c18,88490008 +3487c1c,9849000b +3487c20,8848000c +3487c24,9848000f +3487c28,88470010 +3487c2c,98470013 +3487c30,afa30010 +3487c34,afab0014 +3487c38,afa90018 +3487c3c,afa8001c +3487c40,afa70020 +3487c44,90470014 +3487c48,a3a70024 +3487c4c,90470015 +3487c50,a3a70025 +3487c54,31e02 +3487c58,781821 +3487c5c,90630000 +3487c60,14600002 +3487c64,27ab0022 +3487c68,27ab001e +3487c6c,1603825 +3487c70,256b0004 +3487c74,34840 +3487c78,1234821 +3487c7c,94840 +3487c80,90e80000 +3487c84,110e000c +3487c88,81840 +3487c8c,681821 +3487c90,31880 +3487c94,1231821 +3487c98,1a31821 +3487c9c,90630005 +3487ca0,546f0003 +3487ca4,24e70001 +3487ca8,10000003 +3487cac,24a5ffef +3487cb0,5567fff4 +3487cb4,90e80000 +3487cb8,24420016 +3487cbc,544affd0 +3487cc0,90430000 +3487cc4,c101e6c +3487ccc,8fbf002c +3487cd0,3e00008 +3487cd4,27bd0030 +3487cd8,3e00008 +3487ce0,c4820090 +3487ce4,3c028042 +3487ce8,c44041e0 +3487cec,4600103c +3487cf4,45000014 +3487cfc,3c02801d +3487d00,3442aa30 +3487d04,c4420028 +3487d08,c4840028 +3487d0c,3c028042 +3487d10,c44041e4 +3487d14,46001001 +3487d18,4604003c +3487d20,4502000b +3487d24,1025 +3487d28,c44041e4 +3487d2c,46001080 +3487d30,4602203c +3487d38,45010005 +3487d3c,24020001 +3487d40,3e00008 +3487d44,1025 +3487d48,3e00008 +3487d4c,1025 +3487d50,3e00008 +3487d58,27bdffc8 +3487d5c,afbf0034 +3487d60,afb20030 +3487d64,afb1002c +3487d68,afb00028 +3487d6c,c101f38 +3487d70,a08025 +3487d74,10400048 +3487d78,8fbf0034 +3487d7c,920400a5 +3487d80,2491ffef +3487d84,323100ff +3487d88,3c028044 +3487d8c,24422040 +3487d90,511021 +3487d94,90420016 +3487d98,5440002e +3487d9c,960400a4 +3487da0,3c028040 +3487da4,90421e0e +3487da8,50400006 +3487dac,a7a00020 +3487db0,2484fff4 +3487db4,c104d15 +3487db8,308400ff +3487dbc,10000020 +3487dc0,3c028044 +3487dc4,3c06ff05 +3487dc8,26270005 +3487dcc,c104b6d +3487dd0,27a40010 +3487dd4,8fa40010 +3487dd8,8fa50014 +3487ddc,8fa60018 +3487de0,c106dd8 +3487de4,8fa7001c +3487de8,c106dbd +3487dec,402025 +3487df0,409025 +3487df4,c106ded +3487df8,402025 +3487dfc,93a2001a +3487e00,3c038040 +3487e04,a0620025 +3487e08,3c038040 +3487e0c,90650024 +3487e10,a22826 +3487e14,5282b +3487e18,c106dcc +3487e1c,2402025 +3487e20,3025 +3487e24,402825 +3487e28,3c04801c +3487e2c,3c02800d +3487e30,3442ce14 +3487e34,40f809 +3487e38,348484a0 +3487e3c,3c028044 +3487e40,24422040 +3487e44,511021 +3487e48,24030001 +3487e4c,a0430016 +3487e50,960400a4 +3487e54,24020016 +3487e58,14820002 +3487e5c,34038000 +3487e60,24034800 +3487e64,3c028011 +3487e68,3442a5d0 +3487e6c,a443000c +3487e70,a443141a +3487e74,960400a4 +3487e78,24030015 +3487e7c,14830005 +3487e80,24020001 +3487e84,3c028011 +3487e88,3442a5d0 +3487e8c,a44013ce +3487e90,24020001 +3487e94,8fbf0034 +3487e98,8fb20030 +3487e9c,8fb1002c +3487ea0,8fb00028 +3487ea4,3e00008 +3487ea8,27bd0038 +3487eac,3c028044 +3487eb0,3e00008 +3487eb4,9042205c +3487eb8,3c028044 +3487ebc,3e00008 +3487ec0,9042205d +3487ec4,3e00008 +3487ecc,3e00008 +3487ed4,3e00008 +3487edc,3e00008 +3487ee4,3c028011 +3487ee8,3442a5d0 +3487eec,94430ed8 +3487ef0,24048000 +3487ef4,641825 +3487ef8,3e00008 +3487efc,a4430ed8 3487f00,3c028011 3487f04,3442a5d0 -3487f08,8c4200a4 -3487f0c,3c030020 -3487f10,431024 -3487f14,1040000c -3487f18,2202825 -3487f1c,8e020000 -3487f20,24430008 -3487f24,ae030000 -3487f28,3c03de00 -3487f2c,ac430000 -3487f30,3c030600 -3487f34,24630ae8 -3487f38,1000000d -3487f3c,ac430004 -3487f40,2003025 -3487f44,2202825 -3487f48,c101f1a -3487f4c,2402025 -3487f50,8e020000 -3487f54,24430008 -3487f58,ae030000 -3487f5c,3c03de00 -3487f60,ac430000 -3487f64,3c030600 -3487f68,246306f0 -3487f6c,ac430004 -3487f70,8fbf001c -3487f74,8fb20018 -3487f78,8fb10014 -3487f7c,8fb00010 -3487f80,3e00008 -3487f84,27bd0020 -3487f88,27bdffe0 -3487f8c,afbf001c -3487f90,afb20018 -3487f94,afb10014 -3487f98,afb00010 -3487f9c,c08025 -3487fa0,8c920000 -3487fa4,c101f11 -3487fa8,a02025 -3487fac,408825 -3487fb0,c02ae40 -3487fb4,2402025 -3487fb8,8e030000 -3487fbc,24640008 -3487fc0,ae040000 -3487fc4,3c04da38 -3487fc8,24840003 -3487fcc,ac640000 -3487fd0,ac620004 -3487fd4,24020002 -3487fd8,16220018 -3487fdc,3c028040 -3487fe0,90421d80 -3487fe4,10400016 -3487fe8,2003025 -3487fec,3c028040 -3487ff0,90421d8a -3487ff4,50400009 -3487ff8,8e020000 -3487ffc,3c028011 -3488000,3442a5d0 -3488004,8c4200a4 -3488008,3c030020 -348800c,431024 -3488010,1040000c -3488014,2202825 -3488018,8e020000 -348801c,24430008 -3488020,ae030000 -3488024,3c03de00 -3488028,ac430000 -348802c,3c030600 -3488030,24631678 -3488034,1000000d -3488038,ac430004 -348803c,2003025 -3488040,2202825 -3488044,c101f1a -3488048,2402025 -348804c,8e020000 -3488050,24430008 -3488054,ae030000 -3488058,3c03de00 -348805c,ac430000 -3488060,3c030600 -3488064,246310c0 -3488068,ac430004 -348806c,8fbf001c -3488070,8fb20018 -3488074,8fb10014 -3488078,8fb00010 -348807c,3e00008 -3488080,27bd0020 -3488084,27bdffe8 -3488088,24020001 -348808c,14a20006 -3488090,afbf0014 -3488094,8fa6002c -3488098,c101fa3 -348809c,8fa50028 -34880a0,10000008 -34880a4,8fbf0014 -34880a8,24020003 -34880ac,14a20005 -34880b0,8fbf0014 -34880b4,8fa6002c -34880b8,c101fe2 -34880bc,8fa50028 -34880c0,8fbf0014 -34880c4,3e00008 -34880c8,27bd0018 -34880cc,27bdffe0 -34880d0,afbf001c -34880d4,afb10018 -34880d8,afb00014 -34880dc,3c028040 -34880e0,8c423ee4 -34880e4,10400008 -34880e8,808825 -34880ec,8ca21d38 -34880f0,30424000 -34880f4,54400005 -34880f8,8223015a -34880fc,90a21c27 -3488100,50400016 -3488104,1025 -3488108,8223015a -348810c,18600013 -3488110,1025 -3488114,3c020001 -3488118,244217a4 -348811c,a28021 -3488120,2405000e -3488124,3c028008 -3488128,24421628 -348812c,40f809 -3488130,2002025 -3488134,22e00 -3488138,52e03 -348813c,a225015a -3488140,18a00006 -3488144,1025 -3488148,3c028008 -348814c,24421688 -3488150,40f809 -3488154,2002025 -3488158,2102b -348815c,8fbf001c -3488160,8fb10018 -3488164,8fb00014 -3488168,3e00008 -348816c,27bd0020 -3488170,2402000a -3488174,a4820000 -3488178,240227ee -348817c,3e00008 -3488180,a482001c -3488184,27bdfdf8 -3488188,afbf0204 -348818c,2402000a -3488190,a7a20010 -3488194,240227ee -3488198,a7a2002c -348819c,c101ebf -34881a0,27a40010 -34881a4,93a301fc -34881a8,24020005 -34881ac,1462000a -34881b0,3c04801c -34881b4,3c028042 -34881b8,c44cfd2c -34881bc,24070001 -34881c0,44066000 -34881c4,3c02800a -34881c8,3442a8fc -34881cc,40f809 -34881d0,46006386 -34881d4,3c04801c -34881d8,348484a0 -34881dc,8c860000 -34881e0,24c602c0 -34881e4,c101fa3 -34881e8,27a50010 -34881ec,8fbf0204 -34881f0,3e00008 -34881f4,27bd0208 -34881f8,27bdfdf8 -34881fc,afbf0204 -3488200,2402000a -3488204,a7a20010 -3488208,240227ee -348820c,a7a2002c -3488210,c101ebf -3488214,27a40010 -3488218,93a301fc -348821c,24020005 -3488220,14620022 -3488224,3c04801c -3488228,3c028042 -348822c,c44cfd2c -3488230,24070001 -3488234,44066000 -3488238,3c02800a -348823c,3442a8fc -3488240,40f809 -3488244,46006386 -3488248,3c02801c -348824c,344284a0 -3488250,8c421d38 -3488254,30424000 -3488258,1040000b -348825c,24070001 -3488260,3c028042 -3488264,c44efd30 -3488268,3c028042 -348826c,c44cfd34 -3488270,3c02800a -3488274,3442a7f4 -3488278,40f809 -348827c,3025 -3488280,1000000a -3488284,3c04801c -3488288,3c028042 -348828c,c44efd38 -3488290,3c028042 -3488294,c44cfd3c -3488298,3c02800a -348829c,3442a7f4 -34882a0,40f809 -34882a4,3025 -34882a8,3c04801c -34882ac,348484a0 -34882b0,8c860000 -34882b4,24c602c0 -34882b8,c101fe2 -34882bc,27a50010 -34882c0,8fbf0204 -34882c4,3e00008 -34882c8,27bd0208 -34882cc,2c82000a -34882d0,1040000a -34882d4,3c028042 -34882d8,24427e38 -34882dc,821021 -34882e0,24030001 -34882e4,a0430000 -34882e8,42080 -34882ec,3c028042 -34882f0,24427e10 -34882f4,822021 -34882f8,ac850000 -34882fc,3e00008 -3488304,2c82000a -3488308,1040000a -348830c,3c028042 -3488310,24427e38 -3488314,821021 -3488318,24030002 -348831c,a0430000 -3488320,42080 -3488324,3c028042 -3488328,24427de8 -348832c,822021 -3488330,ac850000 -3488334,3e00008 -348833c,3e00008 -3488344,3c028042 -3488348,3e00008 -348834c,8c427ddc -3488350,27bdffb0 -3488354,afbf004c -3488358,afb50048 -348835c,afb40044 -3488360,afb30040 -3488364,afb2003c -3488368,afb10038 -348836c,afb00034 -3488370,3c028042 -3488374,80427dd8 -3488378,1040000d -348837c,808025 -3488380,3c02801c -3488384,344284a0 -3488388,8c420020 -348838c,3c030030 -3488390,431024 -3488394,14430011 -3488398,3c028042 -348839c,3c038042 -34883a0,8c627ddc -34883a4,2c420001 -34883a8,1000000b -34883ac,ac627ddc -34883b0,3c02801c -34883b4,344284a0 -34883b8,94420020 -34883bc,30420800 -34883c0,10400006 -34883c4,3c028042 -34883c8,3c038042 -34883cc,8c627ddc -34883d0,2c420001 -34883d4,ac627ddc -34883d8,3c028042 -34883dc,8c427ddc -34883e0,104003f6 -34883e4,8fbf004c -34883e8,3c028042 -34883ec,80427de1 -34883f0,1440006b -34883f4,3c03801c -34883f8,3c02801c -34883fc,344284a0 -3488400,94420020 -3488404,30430100 -3488408,10600012 -348840c,30430200 -3488410,3c038042 -3488414,90637de0 -3488418,24630001 -348841c,31e00 -3488420,31e03 -3488424,28640006 -3488428,50800004 -348842c,3c038042 -3488430,3c048042 -3488434,10000006 -3488438,a0837de0 -348843c,30420200 -3488440,14400009 -3488444,a0607de0 -3488448,1000002f -348844c,3c028042 -3488450,30430200 -3488454,1060000b -3488458,3c038042 -348845c,80637de0 -3488460,14600005 -3488464,2463ffff -3488468,3c028042 -348846c,24030005 -3488470,10000029 -3488474,a0437de0 -3488478,3c048042 -348847c,a0837de0 -3488480,3c038042 -3488484,80647de0 -3488488,24030004 -348848c,1483001d -3488490,21400 -3488494,21403 -3488498,443016e -348849c,8e020008 -34884a0,3c128011 -34884a4,3652a5d0 -34884a8,8e430004 -34884ac,3c04801c -34884b0,348484a0 -34884b4,3c110001 -34884b8,918821 -34884bc,92221de8 -34884c0,2c420001 -34884c4,a2221de8 -34884c8,ae430004 -34884cc,8e420000 -34884d0,a6221e1a -34884d4,24060dff -34884d8,3c028009 -34884dc,3442d94c -34884e0,40f809 -34884e4,24050001 -34884e8,24020002 -34884ec,ae421364 -34884f0,24030014 -34884f4,a2231e15 -34884f8,a2221e5e -34884fc,3c028042 -3488500,ac407ddc -3488504,3c028042 -3488508,80437de0 -348850c,24020005 -3488510,14620015 -3488514,3c028042 -3488518,3c02801c -348851c,344284a0 -3488520,84420020 -3488524,443014b -3488528,8e020008 -348852c,24050027 -3488530,3c04801c -3488534,3c028006 -3488538,3442fdcc -348853c,40f809 -3488540,348484a0 -3488544,24070002 -3488548,24060027 -348854c,3c04801d -3488550,3485aa30 -3488554,3c028038 -3488558,3442c9a0 -348855c,40f809 -3488560,248484a0 -3488564,3c028042 -3488568,80427de0 -348856c,28420004 -3488570,10400137 -3488574,3c02801c -3488578,344284a0 -348857c,84420020 -3488580,4430134 -3488584,8e020008 -3488588,3c028042 -348858c,24427de0 -3488590,90430001 -3488594,24630001 -3488598,1000012d -348859c,a0430001 -34885a0,346384a0 -34885a4,94630020 -34885a8,30644000 -34885ac,50800005 -34885b0,3c028042 -34885b4,2442ffff -34885b8,3c048042 -34885bc,a0827de1 -34885c0,3c028042 -34885c4,80427de0 -34885c8,24040002 -34885cc,10440090 -34885d0,28440003 -34885d4,10800007 -34885d8,24040003 -34885dc,10400009 -34885e0,24040001 -34885e4,50440049 -34885e8,30620100 -34885ec,10000119 -34885f0,8e020008 -34885f4,504400c8 -34885f8,30620100 -34885fc,10000115 -3488600,8e020008 -3488604,30620100 -3488608,10400013 -348860c,30620200 -3488610,3c028042 -3488614,90427de2 -3488618,24420001 -348861c,21600 -3488620,21603 -3488624,2844000d -3488628,50800004 -348862c,3c028042 -3488630,3c048042 -3488634,10000007 -3488638,a0827de2 -348863c,a0407de2 -3488640,30620200 -3488644,1440000f -3488648,3c028042 -348864c,10000010 -3488650,31c00 -3488654,30620200 -3488658,5040000d -348865c,31c00 -3488660,3c048042 -3488664,24847de0 -3488668,90820002 -348866c,2442ffff -3488670,21600 -3488674,21603 -3488678,4410004 -348867c,a0820002 -3488680,3c028042 -3488684,2404000c -3488688,a0447de2 -348868c,31c00 -3488690,31c03 -3488694,46300ef -3488698,8e020008 -348869c,3c028042 -34886a0,80457de2 -34886a4,3c038042 -34886a8,24633884 -34886ac,52100 -34886b0,851021 -34886b4,21040 -34886b8,621021 -34886bc,94460002 -34886c0,3c028011 -34886c4,3442a5d0 -34886c8,ac460000 -34886cc,3c02801c -34886d0,344284a0 -34886d4,3c060001 -34886d8,461021 -34886dc,852021 -34886e0,42040 -34886e4,641821 -34886e8,94630002 -34886ec,a4431e1a -34886f0,24030014 -34886f4,a0431e15 -34886f8,24030002 -34886fc,a0431e5e -3488700,3c028042 -3488704,100000d2 -3488708,ac407ddc -348870c,10400013 -3488710,30620200 -3488714,3c028042 -3488718,90427de3 -348871c,24420001 -3488720,21600 -3488724,21603 -3488728,28440013 -348872c,50800004 -3488730,3c028042 -3488734,3c048042 -3488738,10000007 -348873c,a0827de3 -3488740,a0407de3 -3488744,30620200 -3488748,1440000f -348874c,3c028042 -3488750,10000010 -3488754,31c00 -3488758,30620200 -348875c,5040000d -3488760,31c00 -3488764,3c048042 -3488768,24847de0 -348876c,90820003 -3488770,2442ffff -3488774,21600 -3488778,21603 -348877c,4410004 -3488780,a0820003 -3488784,3c028042 -3488788,24040012 -348878c,a0447de3 -3488790,31c00 -3488794,31c03 -3488798,46300ae -348879c,8e020008 -34887a0,3c028042 -34887a4,80457de3 -34887a8,3c038042 -34887ac,246335fc -34887b0,52100 -34887b4,851021 -34887b8,21040 -34887bc,621021 -34887c0,94460002 -34887c4,3c028011 -34887c8,3442a5d0 -34887cc,ac460000 -34887d0,3c02801c -34887d4,344284a0 -34887d8,3c060001 -34887dc,461021 -34887e0,852021 -34887e4,42040 -34887e8,641821 -34887ec,94630002 -34887f0,a4431e1a -34887f4,24030014 -34887f8,a0431e15 -34887fc,24030002 -3488800,a0431e5e -3488804,3c028042 -3488808,10000091 -348880c,ac407ddc -3488810,30620100 -3488814,10400013 -3488818,30620200 -348881c,3c028042 -3488820,90427de4 -3488824,24420001 -3488828,21600 -348882c,21603 -3488830,2844000a -3488834,50800004 -3488838,3c028042 -348883c,3c048042 -3488840,10000007 -3488844,a0827de4 -3488848,a0407de4 -348884c,30620200 -3488850,1440000f -3488854,3c028042 -3488858,10000010 -348885c,31c00 -3488860,30620200 -3488864,5040000d -3488868,31c00 -348886c,3c048042 -3488870,24847de0 -3488874,90820004 -3488878,2442ffff -348887c,21600 -3488880,21603 -3488884,4410004 -3488888,a0820004 -348888c,3c028042 -3488890,24040009 -3488894,a0447de4 -3488898,31c00 -348889c,31c03 -34888a0,463006c -34888a4,8e020008 -34888a8,3c028042 -34888ac,80457de4 -34888b0,3c038042 -34888b4,246334a8 -34888b8,52100 -34888bc,851021 -34888c0,21040 -34888c4,621021 -34888c8,94460002 -34888cc,3c028011 -34888d0,3442a5d0 -34888d4,ac460000 -34888d8,3c02801c -34888dc,344284a0 -34888e0,3c060001 -34888e4,461021 -34888e8,852021 -34888ec,42040 -34888f0,641821 -34888f4,94630002 -34888f8,a4431e1a -34888fc,24030014 -3488900,a0431e15 -3488904,24030002 -3488908,a0431e5e -348890c,3c028042 -3488910,1000004f -3488914,ac407ddc -3488918,10400013 -348891c,30620200 -3488920,3c028042 -3488924,90427de5 -3488928,24420001 -348892c,21600 -3488930,21603 -3488934,2844001d -3488938,50800004 -348893c,3c028042 -3488940,3c048042 -3488944,10000007 -3488948,a0827de5 -348894c,a0407de5 -3488950,30620200 -3488954,1440000f -3488958,3c028042 -348895c,10000010 -3488960,31c00 -3488964,30620200 -3488968,5040000d -348896c,31c00 -3488970,3c048042 -3488974,24847de0 -3488978,90820005 -348897c,2442ffff -3488980,21600 -3488984,21603 -3488988,4410004 -348898c,a0820005 -3488990,3c028042 -3488994,2404001c -3488998,a0447de5 -348899c,31c00 -34889a0,31c03 -34889a4,463002b -34889a8,8e020008 -34889ac,3c028042 -34889b0,80447de5 -34889b4,3c028042 -34889b8,41900 -34889bc,641821 -34889c0,31840 -34889c4,244230cc -34889c8,431021 -34889cc,94430002 -34889d0,2462ffa6 -34889d4,3042ffff -34889d8,2c42000c -34889dc,5040000a -34889e0,2402003d -34889e4,2463ffac -34889e8,3025 -34889ec,32c00 -34889f0,52c03 -34889f4,3c048011 -34889f8,c105d9b -34889fc,3484a5d0 -3488a00,10000014 -3488a04,8e020008 -3488a08,14620006 -3488a0c,3c028042 -3488a10,3c028011 -3488a14,3442a5d0 -3488a18,24030001 -3488a1c,a043003e -3488a20,3c028042 -3488a24,41900 -3488a28,641821 -3488a2c,31840 -3488a30,244230cc -3488a34,431021 -3488a38,90450003 -3488a3c,3c04801c -3488a40,3c028006 -3488a44,3442fdcc -3488a48,40f809 -3488a4c,348484a0 -3488a50,8e020008 -3488a54,24430008 -3488a58,ae030008 -3488a5c,3c03de00 -3488a60,ac430000 -3488a64,3c038042 -3488a68,24633f08 -3488a6c,ac430004 -3488a70,8e020008 -3488a74,24430008 -3488a78,ae030008 -3488a7c,3c03fcff -3488a80,3463ffff -3488a84,ac430000 -3488a88,3c03fffd -3488a8c,3463f6fb -3488a90,ac430004 -3488a94,8e020008 -3488a98,24430008 -3488a9c,ae030008 -3488aa0,3c03fa00 -3488aa4,ac430000 -3488aa8,240300d0 -3488aac,ac430004 -3488ab0,3c02e43b -3488ab4,3442c334 -3488ab8,afa20018 -3488abc,3c020014 -3488ac0,2442408c -3488ac4,afa2001c -3488ac8,3c02e100 -3488acc,afa20020 -3488ad0,afa00024 -3488ad4,3c02f100 -3488ad8,afa20028 -3488adc,3c020400 -3488ae0,24420400 -3488ae4,afa2002c -3488ae8,27a20018 -3488aec,27a60030 -3488af0,8e030008 -3488af4,24640008 -3488af8,ae040008 -3488afc,8c450004 -3488b00,8c440000 -3488b04,ac650004 -3488b08,24420008 -3488b0c,14c2fff8 -3488b10,ac640000 -3488b14,8e020008 -3488b18,24430008 -3488b1c,ae030008 -3488b20,3c03e700 -3488b24,ac430000 -3488b28,ac400004 -3488b2c,8e020008 -3488b30,24430008 -3488b34,ae030008 -3488b38,3c03fc11 -3488b3c,34639623 -3488b40,ac430000 -3488b44,3c03ff2f -3488b48,3463ffff -3488b4c,ac430004 -3488b50,3c028042 -3488b54,80427de1 -3488b58,1440003f -3488b5c,3c028042 -3488b60,8e020008 -3488b64,24430008 -3488b68,ae030008 -3488b6c,3c03fa00 -3488b70,ac430000 -3488b74,2403ffff -3488b78,ac430004 -3488b7c,3c128042 -3488b80,26523a41 -3488b84,24130025 -3488b88,8825 -3488b8c,3c148042 -3488b90,82827de0 -3488b94,50510007 -3488b98,26310001 -3488b9c,24070006 -3488ba0,2603025 -3488ba4,24050052 -3488ba8,c1078a2 -3488bac,2402025 -3488bb0,26310001 -3488bb4,26520010 -3488bb8,24020006 -3488bbc,1622fff4 -3488bc0,2673000d -3488bc4,afa00010 -3488bc8,3825 -3488bcc,2406000b -3488bd0,24050006 -3488bd4,c1078d4 -3488bd8,2002025 -3488bdc,8e020008 -3488be0,24430008 -3488be4,ae030008 -3488be8,3c03fa00 -3488bec,ac430000 -3488bf0,3c03e0e0 -3488bf4,246310ff -3488bf8,ac430004 -3488bfc,3c028042 -3488c00,80447de0 -3488c04,43040 -3488c08,c43021 -3488c0c,63080 -3488c10,c43021 -3488c14,42100 -3488c18,24820001 -3488c1c,24070006 -3488c20,24c60025 -3488c24,24050052 -3488c28,3c048042 -3488c2c,24843a40 -3488c30,c1078a2 -3488c34,822021 -3488c38,afa00010 -3488c3c,3825 -3488c40,2406000b -3488c44,24050006 -3488c48,c1078d4 -3488c4c,2002025 -3488c50,100001da -3488c54,8fbf004c -3488c58,80427de0 -3488c5c,24030002 -3488c60,104300c1 -3488c64,28430003 -3488c68,10600007 -3488c6c,24030003 -3488c70,10400009 -3488c74,24030001 -3488c78,504301b6 -3488c7c,8e020008 -3488c80,100001ce -3488c84,8fbf004c -3488c88,504301bf -3488c8c,8e020008 -3488c90,100001ca -3488c94,8fbf004c -3488c98,8e020008 -3488c9c,24430008 -3488ca0,ae030008 -3488ca4,3c03fa00 -3488ca8,ac430000 -3488cac,2403ffff -3488cb0,ac430004 -3488cb4,3c128042 -3488cb8,26523888 -3488cbc,24130025 -3488cc0,8825 -3488cc4,3c148042 -3488cc8,26947de0 -3488ccc,2415000d -3488cd0,82820002 -3488cd4,50510007 -3488cd8,26310001 -3488cdc,24070006 -3488ce0,2603025 -3488ce4,24050052 -3488ce8,c1078a2 -3488cec,2402025 -3488cf0,26310001 -3488cf4,26520022 -3488cf8,1635fff5 -3488cfc,2673000d -3488d00,afa00010 -3488d04,3825 -3488d08,2406000b -3488d0c,24050006 -3488d10,c1078d4 -3488d14,2002025 -3488d18,8e020008 -3488d1c,24430008 -3488d20,ae030008 -3488d24,3c03fa00 -3488d28,ac430000 -3488d2c,3c03e0e0 -3488d30,246310ff -3488d34,ac430004 -3488d38,3c028042 -3488d3c,80437de2 -3488d40,33040 -3488d44,c33021 -3488d48,63080 -3488d4c,c33021 -3488d50,31100 -3488d54,431021 -3488d58,21040 -3488d5c,24420004 -3488d60,24070006 -3488d64,24c60025 -3488d68,24050052 -3488d6c,3c048042 -3488d70,24843884 -3488d74,c1078a2 -3488d78,822021 -3488d7c,afa00010 -3488d80,3825 -3488d84,2406000b -3488d88,24050006 -3488d8c,c1078d4 -3488d90,2002025 -3488d94,10000189 -3488d98,8fbf004c -3488d9c,26523600 -3488da0,24130025 -3488da4,8825 -3488da8,3c148042 -3488dac,26947de0 -3488db0,2415000a -3488db4,82820003 -3488db8,50510007 -3488dbc,26310001 -3488dc0,24070006 -3488dc4,2603025 -3488dc8,24050052 -3488dcc,c1078a2 -3488dd0,2402025 -3488dd4,26310001 -3488dd8,26520022 -3488ddc,1635fff5 -3488de0,2673000d -3488de4,afa00010 -3488de8,3825 -3488dec,2406000b -3488df0,24050006 -3488df4,c1078d4 -3488df8,2002025 -3488dfc,8e020008 -3488e00,24430008 -3488e04,ae030008 -3488e08,3c03fa00 -3488e0c,ac430000 -3488e10,3c03e0e0 -3488e14,246310ff -3488e18,ac430004 -3488e1c,3c028042 -3488e20,80437de3 -3488e24,33040 -3488e28,c33021 -3488e2c,63080 -3488e30,c33021 -3488e34,31100 -3488e38,431021 -3488e3c,21040 -3488e40,24420004 -3488e44,24070006 -3488e48,24c60025 -3488e4c,24050052 -3488e50,3c048042 -3488e54,248435fc -3488e58,c1078a2 -3488e5c,822021 -3488e60,afa00010 -3488e64,3825 -3488e68,2406000b -3488e6c,24050006 -3488e70,c1078d4 -3488e74,2002025 -3488e78,10000150 -3488e7c,8fbf004c -3488e80,26733754 -3488e84,24110025 -3488e88,2412000a -3488e8c,3c148042 -3488e90,26947de0 -3488e94,2415009a -3488e98,82820003 -3488e9c,50520007 -3488ea0,26520001 -3488ea4,24070006 -3488ea8,2203025 -3488eac,24050052 -3488eb0,c1078a2 -3488eb4,2602025 -3488eb8,26520001 -3488ebc,2631000d -3488ec0,1635fff5 -3488ec4,26730022 -3488ec8,afa00010 -3488ecc,3825 -3488ed0,2406000b -3488ed4,24050006 -3488ed8,c1078d4 -3488edc,2002025 -3488ee0,8e020008 -3488ee4,24430008 -3488ee8,ae030008 -3488eec,3c03fa00 -3488ef0,ac430000 -3488ef4,3c03e0e0 -3488ef8,246310ff -3488efc,ac430004 -3488f00,3c028042 -3488f04,80437de3 -3488f08,2462fff6 -3488f0c,23040 -3488f10,c23021 -3488f14,63080 -3488f18,c23021 -3488f1c,31100 -3488f20,431021 -3488f24,21040 -3488f28,24420004 -3488f2c,24070006 -3488f30,24c60025 -3488f34,24050052 -3488f38,3c048042 -3488f3c,248435fc -3488f40,c1078a2 -3488f44,822021 -3488f48,afa00010 -3488f4c,3825 -3488f50,2406000b -3488f54,24050006 -3488f58,c1078d4 -3488f5c,2002025 -3488f60,10000116 -3488f64,8fbf004c -3488f68,8e020008 -3488f6c,24430008 -3488f70,ae030008 -3488f74,3c03fa00 -3488f78,ac430000 -3488f7c,2403ffff -3488f80,ac430004 -3488f84,3c128042 -3488f88,265234ac -3488f8c,24130025 -3488f90,8825 -3488f94,3c148042 -3488f98,26947de0 -3488f9c,2415000a -3488fa0,82820004 -3488fa4,50510007 -3488fa8,26310001 -3488fac,24070006 -3488fb0,2603025 -3488fb4,24050052 -3488fb8,c1078a2 -3488fbc,2402025 -3488fc0,26310001 -3488fc4,26520022 -3488fc8,1635fff5 -3488fcc,2673000d -3488fd0,afa00010 -3488fd4,3825 -3488fd8,2406000b -3488fdc,24050006 -3488fe0,c1078d4 -3488fe4,2002025 -3488fe8,8e020008 -3488fec,24430008 -3488ff0,ae030008 -3488ff4,3c03fa00 -3488ff8,ac430000 -3488ffc,3c03e0e0 -3489000,246310ff -3489004,ac430004 -3489008,3c028042 -348900c,80437de4 -3489010,33040 -3489014,c33021 -3489018,63080 -348901c,c33021 -3489020,31100 -3489024,431021 -3489028,21040 -348902c,24420004 -3489030,24070006 -3489034,24c60025 -3489038,24050052 -348903c,3c048042 -3489040,248434a8 -3489044,c1078a2 -3489048,822021 -348904c,afa00010 -3489050,3825 -3489054,2406000b -3489058,24050006 -348905c,c1078d4 -3489060,2002025 -3489064,100000d5 -3489068,8fbf004c -348906c,265230d0 -3489070,24130025 -3489074,8825 -3489078,3c148042 -348907c,26947de0 -3489080,2415000a -3489084,82820005 -3489088,50510007 -348908c,26310001 -3489090,24070006 -3489094,2603025 -3489098,24050052 -348909c,c1078a2 -34890a0,2402025 -34890a4,26310001 -34890a8,26520022 -34890ac,1635fff5 -34890b0,2673000d -34890b4,afa00010 -34890b8,3825 -34890bc,2406000b -34890c0,24050006 -34890c4,c1078d4 -34890c8,2002025 -34890cc,8e020008 -34890d0,24430008 -34890d4,ae030008 -34890d8,3c03fa00 -34890dc,ac430000 -34890e0,3c03e0e0 -34890e4,246310ff -34890e8,ac430004 -34890ec,3c028042 -34890f0,80437de5 -34890f4,33040 -34890f8,c33021 -34890fc,63080 -3489100,c33021 -3489104,31100 -3489108,431021 -348910c,21040 -3489110,24420004 -3489114,24070006 -3489118,24c60025 -348911c,24050052 -3489120,3c048042 -3489124,248430cc -3489128,c1078a2 -348912c,822021 -3489130,afa00010 -3489134,3825 -3489138,2406000b -348913c,24050006 -3489140,c1078d4 -3489144,2002025 -3489148,3c028042 -348914c,90427de5 -3489150,2442fff6 -3489154,304200ff -3489158,2c42000a -348915c,1040003c -3489160,3c028042 -3489164,3c118042 -3489168,26313224 -348916c,3c158042 -3489170,26b53378 -3489174,24130025 -3489178,2412000a -348917c,3c148042 -3489180,26947de0 -3489184,82820005 -3489188,50520007 -348918c,26520001 -3489190,24070006 -3489194,2603025 -3489198,24050052 -348919c,c1078a2 -34891a0,2202025 -34891a4,26520001 -34891a8,26310022 -34891ac,16b1fff5 -34891b0,2673000d -34891b4,afa00010 -34891b8,3825 -34891bc,2406000b -34891c0,24050006 -34891c4,c1078d4 -34891c8,2002025 -34891cc,8e020008 -34891d0,24430008 -34891d4,ae030008 -34891d8,3c03fa00 -34891dc,ac430000 -34891e0,3c03e0e0 -34891e4,246310ff -34891e8,ac430004 -34891ec,3c028042 -34891f0,80437de5 -34891f4,2462fff6 -34891f8,23040 -34891fc,c23021 -3489200,63080 -3489204,c23021 -3489208,31100 -348920c,431021 -3489210,21040 -3489214,24420004 -3489218,24070006 -348921c,24c60025 -3489220,24050052 -3489224,3c048042 -3489228,248430cc -348922c,c1078a2 -3489230,822021 -3489234,afa00010 -3489238,3825 -348923c,2406000b -3489240,24050006 -3489244,c1078d4 -3489248,2002025 -348924c,3c028042 -3489250,90427de5 -3489254,2442ffec -3489258,304200ff -348925c,2c420008 -3489260,10400056 -3489264,8fbf004c -3489268,3c138042 -348926c,26733378 -3489270,24110025 -3489274,24120014 -3489278,3c148042 -348927c,26947de0 -3489280,2415009a -3489284,82820005 -3489288,50520007 -348928c,26520001 -3489290,24070006 -3489294,2203025 -3489298,24050052 -348929c,c1078a2 -34892a0,2602025 -34892a4,26520001 -34892a8,2631000d -34892ac,1635fff5 -34892b0,26730022 -34892b4,afa00010 -34892b8,3825 -34892bc,2406000b -34892c0,24050006 -34892c4,c1078d4 -34892c8,2002025 -34892cc,8e020008 -34892d0,24430008 -34892d4,ae030008 -34892d8,3c03fa00 -34892dc,ac430000 -34892e0,3c03e0e0 -34892e4,246310ff -34892e8,ac430004 -34892ec,3c028042 -34892f0,80437de5 -34892f4,2462ffec -34892f8,23040 -34892fc,c23021 -3489300,63080 -3489304,c23021 -3489308,31100 -348930c,431021 -3489310,21040 -3489314,24420004 -3489318,24070006 -348931c,24c60025 -3489320,24050052 -3489324,3c048042 -3489328,248430cc -348932c,c1078a2 -3489330,822021 -3489334,afa00010 -3489338,3825 -348933c,2406000b -3489340,24050006 -3489344,c1078d4 -3489348,2002025 -348934c,1000001b -3489350,8fbf004c -3489354,24430008 -3489358,ae030008 -348935c,3c03fa00 -3489360,ac430000 -3489364,2403ffff -3489368,ac430004 -348936c,3c028042 -3489370,80427de3 -3489374,2842000a -3489378,1440fe88 -348937c,3c128042 -3489380,1000febf -3489384,3c138042 -3489388,24430008 -348938c,ae030008 -3489390,3c03fa00 -3489394,ac430000 -3489398,2403ffff -348939c,ac430004 -34893a0,3c028042 -34893a4,80427de5 -34893a8,2842000a -34893ac,5440ff2f -34893b0,3c128042 -34893b4,1000ff65 -34893b8,3c028042 -34893bc,8fb50048 -34893c0,8fb40044 -34893c4,8fb30040 -34893c8,8fb2003c -34893cc,8fb10038 -34893d0,8fb00034 -34893d4,3e00008 -34893d8,27bd0050 -34893dc,27bdffa8 -34893e0,afbf0054 -34893e4,afbe0050 -34893e8,afb7004c -34893ec,afb60048 -34893f0,afb50044 -34893f4,afb40040 -34893f8,afb3003c -34893fc,afb20038 -3489400,afb10034 -3489404,afb00030 -3489408,809025 -348940c,c08825 -3489410,e09825 -3489414,4a10003 -3489418,3825 -348941c,52823 -3489420,24070001 -3489424,8025 -3489428,3c066666 -348942c,24c66667 -3489430,27a20020 -3489434,501021 -3489438,a60018 -348943c,1810 -3489440,31883 -3489444,527c3 -3489448,641823 -348944c,34080 -3489450,1034021 -3489454,84040 -3489458,a84023 -348945c,a0480000 -3489460,a01025 -3489464,602825 -3489468,200a825 -348946c,26100001 -3489470,2842000a -3489474,1040ffee -3489478,321000ff -348947c,10000029 -3489480,8e420008 -3489484,94453e64 -3489488,24070008 -348948c,2603025 -3489490,2252823 -3489494,3c048042 -3489498,c1078a2 -348949c,2484fd40 -34894a0,afa00010 -34894a4,3825 -34894a8,24060010 -34894ac,24050008 -34894b0,c1078d4 -34894b4,2402025 -34894b8,12000035 -34894bc,3b0a021 -34894c0,2694001f -34894c4,26220008 -34894c8,1518c0 -34894cc,43a821 -34894d0,15ac00 -34894d4,15ac03 -34894d8,241e0010 -34894dc,24170008 -34894e0,3c168042 -34894e4,26d63e60 -34894e8,afbe0018 -34894ec,afb70014 -34894f0,afb30010 -34894f4,2203825 -34894f8,92860000 -34894fc,2c02825 -3489500,c1047a0 -3489504,2402025 -3489508,26310008 -348950c,118c00 -3489510,118c03 -3489514,1635fff4 -3489518,2694ffff -348951c,1000001d -3489520,2001025 -3489524,24430008 -3489528,ae430008 -348952c,3c03fcff -3489530,346397ff -3489534,ac430000 -3489538,3c03ff2d -348953c,3463feff -3489540,ac430004 -3489544,93a20068 +3487f08,94430ee0 +3487f0c,34630200 +3487f10,3e00008 +3487f14,a4430ee0 +3487f18,3e00008 +3487f20,3e00008 +3487f28,24030001 +3487f2c,831804 +3487f30,3c058011 +3487f34,34a5a5d0 +3487f38,8ca50918 +3487f3c,651824 +3487f40,54600031 +3487f44,3c028043 +3487f48,3083ffff +3487f4c,2c630005 +3487f50,10600057 +3487f54,41880 +3487f58,3c028042 +3487f5c,244241e8 +3487f60,431021 +3487f64,8c420000 +3487f68,400008 +3487f70,3e00008 +3487f74,801025 +3487f78,3e00008 +3487f7c,801025 +3487f80,3c028043 +3487f84,8c42d738 +3487f88,14400041 +3487f8c,240300ff +3487f90,3c028011 +3487f94,3442a5d0 +3487f98,9045007c +3487f9c,14a30044 +3487fa0,801025 +3487fa4,3c028040 +3487fa8,8c421dc4 +3487fac,1040003a +3487fb4,3c028011 +3487fb8,3442a5d0 +3487fbc,8c4200a0 +3487fc0,30420038 +3487fc4,2c420001 +3487fc8,3e00008 +3487fcc,24420003 +3487fd0,3c028043 +3487fd4,8c42d738 +3487fd8,14400031 +3487fe0,3c028011 +3487fe4,3442a5d0 +3487fe8,8c4300a0 +3487fec,30630038 +3487ff0,1460002f +3487ff4,801025 +3487ff8,3e00008 +3487ffc,24020004 +3488000,3e00008 +3488004,801025 +3488008,8c42d738 +348800c,14400026 +3488014,24020002 +3488018,10820006 +348801c,3c028011 +3488020,24020003 +3488024,50820013 +3488028,3c028011 +348802c,3e00008 +3488030,24020004 +3488034,3442a5d0 +3488038,9045007c +348803c,240300ff +3488040,14a3001b +3488044,801025 +3488048,3c028040 +348804c,8c421dc4 +3488050,50400017 +3488054,801025 +3488058,3c028011 +348805c,3442a5d0 +3488060,8c4200a0 +3488064,30420038 +3488068,2c420001 +348806c,3e00008 +3488070,24420003 +3488074,3442a5d0 +3488078,8c4300a0 +348807c,30630038 +3488080,1060000b +3488084,24020004 +3488088,3e00008 +348808c,801025 +3488090,3e00008 +3488094,801025 +3488098,3e00008 +348809c,801025 +34880a0,3e00008 +34880a4,801025 +34880a8,3e00008 +34880ac,24020004 +34880b0,3e00008 +34880b8,24020004 +34880bc,10820007 +34880c0,3c028011 +34880c4,3442a5d0 +34880c8,24030001 +34880cc,832004 +34880d0,8c430918 +34880d4,641825 +34880d8,ac430918 +34880dc,3e00008 +34880e4,27bdffc8 +34880e8,afbf0034 +34880ec,afb30030 +34880f0,afb2002c +34880f4,afb10028 +34880f8,afb00024 +34880fc,808025 +3488100,909101e9 +3488104,3c028043 +3488108,8c42d740 +348810c,3c038043 +3488110,8c63d73c +3488114,431025 +3488118,3c038043 +348811c,8c63d744 +3488120,431025 +3488124,10400031 +3488128,2201825 +348812c,3c02801c +3488130,344284a0 +3488134,905200a5 +3488138,9487001c +348813c,73943 +3488140,30e7007f +3488144,2403025 +3488148,802825 +348814c,c104ba9 +3488150,27a40010 +3488154,97b30018 +3488158,12600024 +348815c,2201825 +3488160,c106dbd +3488164,97a4001c +3488168,14400004 +348816c,3c038043 +3488170,c106dbd +3488174,2602025 +3488178,3c038043 +348817c,8c63d740 +3488180,3c048043 +3488184,8c84d73c +3488188,641825 +348818c,10600017 +3488190,90430007 +3488194,306400ef +3488198,50800007 +348819c,24030010 +34881a0,2463fff3 +34881a4,306300ff +34881a8,2c630002 +34881ac,1060000e +34881b0,8825 +34881b4,24030010 +34881b8,1643000b +34881bc,24110005 +34881c0,9604001c +34881c4,24034eca +34881c8,10830006 +34881cc,3c038040 +34881d0,90716d30 +34881d4,56200004 +34881d8,24110005 +34881dc,10000003 +34881e0,90430007 +34881e4,24110005 +34881e8,90430007 +34881ec,a21101ec +34881f0,a20301ed +34881f4,3c028040 +34881f8,8c423e04 +34881fc,10400005 +3488200,8fbf0034 +3488204,8e020004 +3488208,34420080 +348820c,ae020004 +3488210,8fbf0034 +3488214,8fb30030 +3488218,8fb2002c +348821c,8fb10028 +3488220,8fb00024 +3488224,3e00008 +3488228,27bd0038 +348822c,3c038043 +3488230,8c63d740 +3488234,10600004 +3488238,908201ed +348823c,2403000d +3488240,50430001 +3488244,24020002 +3488248,3e00008 +3488250,27bdffe0 +3488254,afbf001c +3488258,afb20018 +348825c,afb10014 +3488260,afb00010 +3488264,808025 +3488268,3c028043 +348826c,8c42d73c +3488270,3c038043 +3488274,8c63d744 +3488278,431025 +348827c,1040004a +3488280,c09025 +3488284,3c028040 +3488288,90421df2 +348828c,10400009 +3488290,2ca20010 +3488294,3c028011 +3488298,3442a5d0 +348829c,8c4200a4 +34882a0,3c030020 +34882a4,431024 +34882a8,10400043 +34882ac,3c110600 +34882b0,2ca20010 +34882b4,1040000b +34882b8,2ca2000e +34882bc,10400025 +34882c0,2402000c +34882c4,10a2000e +34882c8,2402000d +34882cc,50a20017 +34882d0,3c028040 +34882d4,3c110600 +34882d8,26222798 +34882dc,10000047 +34882e0,26311798 +34882e4,24a5fff0 +34882e8,30a500ff +34882ec,2ca50002 +34882f0,54a00023 +34882f4,3c028040 +34882f8,10000032 +34882fc,3c110600 +3488300,3c028040 +3488304,90421de9 +3488308,50400031 +348830c,3c110600 +3488310,c108add +3488314,24040012 +3488318,408825 +348831c,c108add +3488320,24040013 +3488324,10000036 +3488328,8e0302c4 +348832c,90421dea +3488330,5040002a +3488334,3c110600 +3488338,c108add +348833c,24040014 +3488340,408825 +3488344,c108add +3488348,24040015 +348834c,1000002c +3488350,8e0302c4 +3488354,3c028040 +3488358,90421deb +348835c,50400022 +3488360,3c110600 +3488364,c108add +3488368,24040016 +348836c,408825 +3488370,c108add +3488374,24040017 +3488378,10000021 +348837c,8e0302c4 +3488380,90421dec +3488384,5040001b +3488388,3c110600 +348838c,c108add +3488390,24040018 +3488394,408825 +3488398,c108add +348839c,24040019 +34883a0,10000017 +34883a4,8e0302c4 +34883a8,3c110600 +34883ac,26222798 +34883b0,10000012 +34883b4,26311798 +34883b8,26222798 +34883bc,1000000f +34883c0,26311798 +34883c4,26222798 +34883c8,1000000c +34883cc,26311798 +34883d0,26222798 +34883d4,10000009 +34883d8,26311798 +34883dc,26222798 +34883e0,10000006 +34883e4,26311798 +34883e8,26222798 +34883ec,10000003 +34883f0,26311798 +34883f4,26222798 +34883f8,26311798 +34883fc,8e0302c4 +3488400,2464ffe0 +3488404,ae0402c4 +3488408,3c05fd10 +348840c,ac65ffe0 +3488410,ac71ffe4 +3488414,8e0402c4 +3488418,3c03df00 +348841c,ac830008 +3488420,ac80000c +3488424,8e0402c4 +3488428,ac850010 +348842c,ac820014 +3488430,8e0202c4 +3488434,ac430018 +3488438,ac40001c +348843c,8e0402c4 +3488440,8e420000 +3488444,24430008 +3488448,ae430000 +348844c,3c03db06 +3488450,24630024 +3488454,ac430000 +3488458,ac440004 +348845c,8fbf001c +3488460,8fb20018 +3488464,8fb10014 +3488468,8fb00010 +348846c,3e00008 +3488470,27bd0020 +3488474,27bdffe0 +3488478,afbf001c +348847c,afb20018 +3488480,afb10014 +3488484,afb00010 +3488488,c08025 +348848c,8c920000 +3488490,c10208b +3488494,a02025 +3488498,408825 +348849c,c02ae40 +34884a0,2402025 +34884a4,8e030000 +34884a8,24640008 +34884ac,ae040000 +34884b0,3c04da38 +34884b4,24840003 +34884b8,ac640000 +34884bc,ac620004 +34884c0,24020002 +34884c4,16220018 +34884c8,3c028040 +34884cc,90421de8 +34884d0,10400016 +34884d4,2003025 +34884d8,3c028040 +34884dc,90421df2 +34884e0,50400009 +34884e4,8e020000 +34884e8,3c028011 +34884ec,3442a5d0 +34884f0,8c4200a4 +34884f4,3c030020 +34884f8,431024 +34884fc,1040000c +3488500,2202825 +3488504,8e020000 +3488508,24430008 +348850c,ae030000 +3488510,3c03de00 +3488514,ac430000 +3488518,3c030600 +348851c,24630ae8 +3488520,1000000d +3488524,ac430004 +3488528,2003025 +348852c,2202825 +3488530,c102094 +3488534,2402025 +3488538,8e020000 +348853c,24430008 +3488540,ae030000 +3488544,3c03de00 +3488548,ac430000 +348854c,3c030600 +3488550,246306f0 +3488554,ac430004 +3488558,8fbf001c +348855c,8fb20018 +3488560,8fb10014 +3488564,8fb00010 +3488568,3e00008 +348856c,27bd0020 +3488570,27bdffe0 +3488574,afbf001c +3488578,afb20018 +348857c,afb10014 +3488580,afb00010 +3488584,c08025 +3488588,8c920000 +348858c,c10208b +3488590,a02025 +3488594,408825 +3488598,c02ae40 +348859c,2402025 +34885a0,8e030000 +34885a4,24640008 +34885a8,ae040000 +34885ac,3c04da38 +34885b0,24840003 +34885b4,ac640000 +34885b8,ac620004 +34885bc,24020002 +34885c0,16220018 +34885c4,3c028040 +34885c8,90421de8 +34885cc,10400016 +34885d0,2003025 +34885d4,3c028040 +34885d8,90421df2 +34885dc,50400009 +34885e0,8e020000 +34885e4,3c028011 +34885e8,3442a5d0 +34885ec,8c4200a4 +34885f0,3c030020 +34885f4,431024 +34885f8,1040000c +34885fc,2202825 +3488600,8e020000 +3488604,24430008 +3488608,ae030000 +348860c,3c03de00 +3488610,ac430000 +3488614,3c030600 +3488618,24631678 +348861c,1000000d +3488620,ac430004 +3488624,2003025 +3488628,2202825 +348862c,c102094 +3488630,2402025 +3488634,8e020000 +3488638,24430008 +348863c,ae030000 +3488640,3c03de00 +3488644,ac430000 +3488648,3c030600 +348864c,246310c0 +3488650,ac430004 +3488654,8fbf001c +3488658,8fb20018 +348865c,8fb10014 +3488660,8fb00010 +3488664,3e00008 +3488668,27bd0020 +348866c,27bdffe8 +3488670,24020001 +3488674,14a20006 +3488678,afbf0014 +348867c,8fa6002c +3488680,c10211d +3488684,8fa50028 +3488688,10000008 +348868c,8fbf0014 +3488690,24020003 +3488694,14a20005 +3488698,8fbf0014 +348869c,8fa6002c +34886a0,c10215c +34886a4,8fa50028 +34886a8,8fbf0014 +34886ac,3e00008 +34886b0,27bd0018 +34886b4,27bdffe0 +34886b8,afbf001c +34886bc,afb10018 +34886c0,afb00014 +34886c4,3c028040 +34886c8,8c423e04 +34886cc,10400008 +34886d0,808825 +34886d4,8ca21d38 +34886d8,30424000 +34886dc,54400005 +34886e0,8223015a +34886e4,90a21c27 +34886e8,50400016 +34886ec,1025 +34886f0,8223015a +34886f4,18600013 +34886f8,1025 +34886fc,3c020001 +3488700,244217a4 +3488704,a28021 +3488708,2405000e +348870c,3c028008 +3488710,24421628 +3488714,40f809 +3488718,2002025 +348871c,22e00 +3488720,52e03 +3488724,a225015a +3488728,18a00006 +348872c,1025 +3488730,3c028008 +3488734,24421688 +3488738,40f809 +348873c,2002025 +3488740,2102b +3488744,8fbf001c +3488748,8fb10018 +348874c,8fb00014 +3488750,3e00008 +3488754,27bd0020 +3488758,2402000a +348875c,a4820000 +3488760,240227ee +3488764,3e00008 +3488768,a482001c +348876c,27bdfdf8 +3488770,afbf0204 +3488774,2402000a +3488778,a7a20010 +348877c,240227ee +3488780,a7a2002c +3488784,c102039 +3488788,27a40010 +348878c,93a301fc +3488790,24020005 +3488794,1462000a +3488798,3c04801c +348879c,3c028042 +34887a0,c44c41fc +34887a4,24070001 +34887a8,44066000 +34887ac,3c02800a +34887b0,3442a8fc +34887b4,40f809 +34887b8,46006386 +34887bc,3c04801c +34887c0,348484a0 +34887c4,8c860000 +34887c8,24c602c0 +34887cc,c10211d +34887d0,27a50010 +34887d4,8fbf0204 +34887d8,3e00008 +34887dc,27bd0208 +34887e0,27bdfdf8 +34887e4,afbf0204 +34887e8,2402000a +34887ec,a7a20010 +34887f0,240227ee +34887f4,a7a2002c +34887f8,c102039 +34887fc,27a40010 +3488800,93a301fc +3488804,24020005 +3488808,14620022 +348880c,3c04801c +3488810,3c028042 +3488814,c44c41fc +3488818,24070001 +348881c,44066000 +3488820,3c02800a +3488824,3442a8fc +3488828,40f809 +348882c,46006386 +3488830,3c02801c +3488834,344284a0 +3488838,8c421d38 +348883c,30424000 +3488840,1040000b +3488844,24070001 +3488848,3c028042 +348884c,c44e4200 +3488850,3c028042 +3488854,c44c4204 +3488858,3c02800a +348885c,3442a7f4 +3488860,40f809 +3488864,3025 +3488868,1000000a +348886c,3c04801c +3488870,3c028042 +3488874,c44e4208 +3488878,3c028042 +348887c,c44c420c +3488880,3c02800a +3488884,3442a7f4 +3488888,40f809 +348888c,3025 +3488890,3c04801c +3488894,348484a0 +3488898,8c860000 +348889c,24c602c0 +34888a0,c10215c +34888a4,27a50010 +34888a8,8fbf0204 +34888ac,3e00008 +34888b0,27bd0208 +34888b4,2c82000a +34888b8,1040000a +34888bc,3c028043 +34888c0,2442d7a8 +34888c4,821021 +34888c8,24030001 +34888cc,a0430000 +34888d0,42080 +34888d4,3c028043 +34888d8,2442d780 +34888dc,822021 +34888e0,ac850000 +34888e4,3e00008 +34888ec,2c82000a +34888f0,1040000a +34888f4,3c028043 +34888f8,2442d7a8 +34888fc,821021 +3488900,24030002 +3488904,a0430000 +3488908,42080 +348890c,3c028043 +3488910,2442d758 +3488914,822021 +3488918,ac850000 +348891c,3e00008 +3488924,3c028043 +3488928,9042d748 +348892c,104000c7 +3488934,27bdffc0 +3488938,afbf003c +348893c,afb60038 +3488940,afb50034 +3488944,afb40030 +3488948,afb3002c +348894c,afb20028 +3488950,afb10024 +3488954,afb00020 +3488958,3c028011 +348895c,3442a5d0 +3488960,9450000c +3488964,44900000 +348896c,46800020 +3488970,3c028042 +3488974,c44242bc +3488978,46020002 +348897c,460000a1 +3488980,3c028042 +3488984,d44442c8 +3488988,46241083 +348898c,4620108d +3488990,44021000 +3488998,21400 +348899c,21403 +34889a0,2843000a +34889a4,1460000d +34889a8,808825 +34889ac,24030001 +34889b0,33400 +34889b4,63403 +34889b8,2442fff6 +34889bc,21400 +34889c0,21403 +34889c4,24630001 +34889c8,2844000a +34889cc,1080fff8 +34889d0,3063ffff +34889d4,10000003 +34889d8,4600000d +34889dc,3025 +34889e0,4600000d +34889e4,44100000 +34889ec,108400 +34889f0,108403 +34889f4,3c038888 +34889f8,34638889 +34889fc,2030018 +3488a00,1810 +3488a04,701821 +3488a08,31943 +3488a0c,1027c3 +3488a10,641823 +3488a14,32100 +3488a18,831823 +3488a1c,31880 +3488a20,2038023 +3488a24,108400 +3488a28,108403 +3488a2c,2a03000a +3488a30,1460000c +3488a34,24030001 +3488a38,39c00 +3488a3c,139c03 +3488a40,2610fff6 +3488a44,108400 +3488a48,108403 +3488a4c,24630001 +3488a50,2a05000a +3488a54,10a0fff8 +3488a58,3063ffff +3488a5c,10000003 +3488a60,62880 +3488a64,9825 +3488a68,62880 +3488a6c,c52821 +3488a70,52840 +3488a74,a22821 +3488a78,52c00 +3488a7c,52c03 +3488a80,3c028042 +3488a84,8c424234 +3488a88,afa20018 +3488a8c,3c028043 +3488a90,244295e0 +3488a94,94430004 +3488a98,39080 +3488a9c,3c048043 +3488aa0,94849634 +3488aa4,2449021 +3488aa8,129043 +3488aac,129023 +3488ab0,94420006 +3488ab4,44820000 +3488abc,468000a1 +3488ac0,3c028042 +3488ac4,d44042d0 +3488ac8,46201082 +3488acc,3c028042 +3488ad0,d44042d8 +3488ad4,46220001 +3488ad8,3c028042 +3488adc,d44242e0 +3488ae0,46220000 +3488ae4,4620000d +3488ae8,44150000 +3488aec,14c0004c +3488af0,265200a0 +3488af4,72b021 +3488af8,15a400 +3488afc,14a403 +3488b00,8fa20018 +3488b04,afa20010 +3488b08,2803825 +3488b0c,163400 +3488b10,63403 +3488b14,c108ad1 +3488b18,2202025 +3488b1c,3c028043 +3488b20,945295e4 +3488b24,2d29023 +3488b28,3c028043 +3488b2c,944695e4 +3488b30,63040 +3488b34,24020008 +3488b38,afa20014 +3488b3c,afa20010 +3488b40,2a03825 +3488b44,d23021 +3488b48,3c058042 +3488b4c,24a54210 +3488b50,c108a2d +3488b54,2202025 +3488b58,131080 +3488b5c,2621021 +3488b60,21040 +3488b64,508021 +3488b68,108400 +3488b6c,16600013 +3488b70,108403 +3488b74,3c138043 +3488b78,267395e0 +3488b7c,96660004 +3488b80,63040 +3488b84,3c028043 +3488b88,94429634 +3488b8c,c23021 +3488b90,d23021 +3488b94,8fa20018 +3488b98,afa20010 +3488b9c,2803825 +3488ba0,63400 +3488ba4,63403 +3488ba8,2825 +3488bac,c108ad1 +3488bb0,2202025 +3488bb4,96620004 +3488bb8,2429021 +3488bbc,3c028043 +3488bc0,944695e4 +3488bc4,63040 +3488bc8,3c028043 +3488bcc,94429634 +3488bd0,c23021 +3488bd4,d23021 +3488bd8,8fa20018 +3488bdc,afa20010 +3488be0,2803825 +3488be4,63400 +3488be8,63403 +3488bec,2002825 +3488bf0,c108ad1 +3488bf4,2202025 +3488bf8,8fbf003c +3488bfc,8fb60038 +3488c00,8fb50034 +3488c04,8fb40030 +3488c08,8fb3002c +3488c0c,8fb20028 +3488c10,8fb10024 +3488c14,8fb00020 +3488c18,3e00008 +3488c1c,27bd0040 +3488c20,15a400 +3488c24,14a403 +3488c28,8fa20018 +3488c2c,afa20010 +3488c30,2803825 +3488c34,123400 +3488c38,63403 +3488c3c,c108ad1 +3488c40,2202025 +3488c44,1000ffb9 +3488c48,3c028043 +3488c4c,3e00008 +3488c54,2c820006 +3488c58,10400026 +3488c5c,42080 +3488c60,27bdffe8 +3488c64,3c028042 +3488c68,24424238 +3488c6c,441021 +3488c70,8c420000 +3488c74,400008 +3488c78,afbf0014 +3488c7c,3c04801c +3488c80,c008127 +3488c84,348484a0 +3488c88,1000001c +3488c8c,2102b +3488c90,3c04801c +3488c94,c008155 +3488c98,348484a0 +3488c9c,10000017 +3488ca0,2102b +3488ca4,3c04801c +3488ca8,c008183 +3488cac,348484a0 +3488cb0,10000012 +3488cb4,2102b +3488cb8,3c04801c +3488cbc,c008190 +3488cc0,348484a0 +3488cc4,1000000d +3488cc8,2102b +3488ccc,3c04801c +3488cd0,c0081a5 +3488cd4,348484a0 +3488cd8,10000008 +3488cdc,2102b +3488ce0,3c04801c +3488ce4,c0081ba +3488ce8,348484a0 +3488cec,10000003 +3488cf0,2102b +3488cf4,3e00008 +3488cfc,8fbf0014 +3488d00,3e00008 +3488d04,27bd0018 +3488d08,3c028043 +3488d0c,3e00008 +3488d10,9042d749 +3488d14,24020030 +3488d18,a0a20000 +3488d1c,24020078 +3488d20,10800006 +3488d24,a0a20001 +3488d28,27bdfff0 +3488d2c,1825 +3488d30,3c078042 +3488d34,10000005 +3488d38,24e74214 +3488d3c,24020030 +3488d40,a0a20002 +3488d44,3e00008 +3488d48,a0a00003 +3488d4c,601025 +3488d50,24630001 +3488d54,306300ff +3488d58,3a21021 +3488d5c,3086000f +3488d60,c73021 +3488d64,90c60000 +3488d68,a0460000 +3488d6c,2c820010 +3488d70,1040fff6 +3488d74,42102 +3488d78,5060000b +3488d7c,a32821 +3488d80,2462ffff +3488d84,3a21021 +3488d88,24a40002 +3488d8c,90460000 +3488d90,a0860000 +3488d94,403025 +3488d98,2442ffff +3488d9c,14ddfffb +3488da0,24840001 +3488da4,a32821 +3488da8,a0a00002 +3488dac,3e00008 +3488db0,27bd0010 +3488db4,27bdff78 +3488db8,afbf0084 +3488dbc,afbe0080 +3488dc0,afb7007c +3488dc4,afb60078 +3488dc8,afb50074 +3488dcc,afb40070 +3488dd0,afb3006c +3488dd4,afb20068 +3488dd8,afb10064 +3488ddc,afb00060 +3488de0,808025 +3488de4,1825 +3488de8,3c02801c +3488dec,344284a0 +3488df0,8c420014 +3488df4,3c040820 +3488df8,441024 +3488dfc,10400011 +3488e00,8825 +3488e04,3c02801c +3488e08,344284a0 +3488e0c,94420014 +3488e10,30420010 +3488e14,1040000c +3488e18,3c028043 +3488e1c,90429254 +3488e20,24040014 +3488e24,14440005 +3488e28,2442ffff +3488e2c,3c058043 +3488e30,90a4d749 +3488e34,2c840001 +3488e38,a0a4d749 +3488e3c,3c048043 +3488e40,a0829254 +3488e44,3c028043 +3488e48,90429254 +3488e4c,2c440014 +3488e50,5080000b +3488e54,3c028043 +3488e58,2442ffff +3488e5c,304200ff +3488e60,50400004 +3488e64,3c028043 +3488e68,3c048043 +3488e6c,10000003 +3488e70,a0829254 +3488e74,24040014 +3488e78,a0449254 +3488e7c,3c028043 +3488e80,9042d749 +3488e84,1040086a +3488e88,8fbf0084 +3488e8c,3c028043 +3488e90,8042d74d +3488e94,1440007c +3488e98,3c04801c +3488e9c,3c02801c +3488ea0,344284a0 +3488ea4,94420020 +3488ea8,30430100 +3488eac,10600012 +3488eb0,30430200 +3488eb4,3c038043 +3488eb8,9063d74c +3488ebc,24630001 +3488ec0,31e00 +3488ec4,31e03 +3488ec8,2864000a +3488ecc,50800004 +3488ed0,3c038043 +3488ed4,3c048043 +3488ed8,10000006 +3488edc,a083d74c +3488ee0,30420200 +3488ee4,14400009 +3488ee8,a060d74c +3488eec,1000002f +3488ef0,3c028043 +3488ef4,30430200 +3488ef8,1060000b +3488efc,3c038043 +3488f00,8063d74c +3488f04,14600005 +3488f08,2463ffff +3488f0c,3c028043 +3488f10,24030009 +3488f14,1000003c +3488f18,a043d74c +3488f1c,3c048043 +3488f20,a083d74c +3488f24,3c038043 +3488f28,8064d74c +3488f2c,24030004 +3488f30,1483001d +3488f34,21400 +3488f38,21403 +3488f3c,4410839 +3488f40,3c028043 +3488f44,3c138011 +3488f48,3673a5d0 +3488f4c,8e630004 +3488f50,3c04801c +3488f54,348484a0 +3488f58,3c120001 +3488f5c,929021 +3488f60,92421de8 +3488f64,2c420001 +3488f68,a2421de8 +3488f6c,ae630004 +3488f70,8e620000 +3488f74,a6421e1a +3488f78,24060dff +3488f7c,3c028009 +3488f80,3442d94c +3488f84,40f809 +3488f88,24050001 +3488f8c,24020002 +3488f90,ae621364 +3488f94,24030014 +3488f98,a2431e15 +3488f9c,a2421e5e +3488fa0,3c028043 +3488fa4,a040d749 +3488fa8,3c028043 +3488fac,8043d74c +3488fb0,24020005 +3488fb4,14620013 +3488fb8,3c02801c +3488fbc,344284a0 +3488fc0,84420020 +3488fc4,4430331 +3488fc8,8e020008 +3488fcc,24050027 +3488fd0,3c04801c +3488fd4,3c028006 +3488fd8,3442fdcc +3488fdc,40f809 +3488fe0,348484a0 +3488fe4,24070002 +3488fe8,24060027 +3488fec,3c04801d +3488ff0,3485aa30 +3488ff4,3c028038 +3488ff8,3442c9a0 +3488ffc,40f809 +3489000,248484a0 +3489004,3c028043 +3489008,8042d74c +348900c,24030006 +3489010,1443000c +3489014,2442fffc +3489018,3c02801c +348901c,344284a0 +3489020,84420020 +3489024,4430319 +3489028,8e020008 +348902c,3c038043 +3489030,9062d748 +3489034,38420001 +3489038,10000313 +348903c,a062d748 +3489040,2442fffc +3489044,304200ff +3489048,2c420003 +348904c,1440030e +3489050,3c02801c +3489054,344284a0 +3489058,84420020 +348905c,443030b +3489060,8e020008 +3489064,3c028043 +3489068,8042d74d +348906c,28430002 +3489070,50600306 +3489074,8e020008 +3489078,24420001 +348907c,3c038043 +3489080,10000301 +3489084,a062d74d +3489088,348484a0 +348908c,94850020 +3489090,30a44000 +3489094,10800006 +3489098,3c048043 +348909c,4400004 +34890a0,2442ffff +34890a4,3c048043 +34890a8,a082d74d +34890ac,3c048043 +34890b0,9082d74c +34890b4,2c42000a +34890b8,104002f3 +34890bc,3c028042 +34890c0,9084d74c +34890c4,42080 +34890c8,24424250 +34890cc,441021 +34890d0,8c420000 +34890d4,400008 +34890dc,3c028043 +34890e0,8042d74d +34890e4,28430002 +34890e8,5060002d +34890ec,30a20100 +34890f0,30a30100 +34890f4,10600013 +34890f8,30a30200 +34890fc,3c038043 +3489100,9063d74e +3489104,24630001 +3489108,31e00 +348910c,31e03 +3489110,2864000d +3489114,50800004 +3489118,3c038043 +348911c,3c048043 +3489120,10000007 +3489124,a083d74e +3489128,a060d74e +348912c,30a30200 +3489130,1460000f +3489134,3c038043 +3489138,10000010 +348913c,52c00 +3489140,30a30200 +3489144,5060000d +3489148,52c00 +348914c,3c048043 +3489150,2484d74c +3489154,90830002 +3489158,2463ffff +348915c,31e00 +3489160,31e03 +3489164,4610004 +3489168,a0830002 +348916c,3c038043 +3489170,2404000c +3489174,a064d74e +3489178,52c00 +348917c,52c03 +3489180,4a30005 +3489184,3c028043 +3489188,24420001 +348918c,3c038043 +3489190,a062d74d +3489194,3c028043 +3489198,100002bb +348919c,a040d74f +34891a0,10400018 +34891a4,30a20200 +34891a8,3c038043 +34891ac,2463d74c +34891b0,90620003 +34891b4,24420001 +34891b8,21600 +34891bc,21603 +34891c0,a0620003 +34891c4,80630002 +34891c8,318c0 +34891cc,3c048043 +34891d0,24848158 +34891d4,641821 +34891d8,90630000 +34891dc,43102a +34891e0,14400008 +34891e4,30a20200 +34891e8,3c028043 +34891ec,a040d74f +34891f0,30a20200 +34891f4,1440000e +34891f8,3c038043 +34891fc,10000016 +3489200,52c00 +3489204,50400014 +3489208,52c00 +348920c,3c038043 +3489210,2463d74c +3489214,90620003 +3489218,2442ffff +348921c,21600 +3489220,21603 +3489224,441000b +3489228,a0620003 +348922c,3c038043 +3489230,2463d74c +3489234,80620002 +3489238,210c0 +348923c,3c048043 +3489240,24848158 +3489244,441021 +3489248,90420000 +348924c,2442ffff +3489250,a0620003 +3489254,52c00 +3489258,52c03 +348925c,4a3028b +3489260,8e020008 +3489264,3c028043 +3489268,2442d74c +348926c,80440002 +3489270,3c038043 +3489274,420c0 +3489278,24638158 +348927c,641821 +3489280,80440003 +3489284,41040 +3489288,441021 +348928c,21080 +3489290,441021 +3489294,21080 +3489298,8c730004 +348929c,2629821 +34892a0,8e620000 +34892a4,3c128011 +34892a8,3652a5d0 +34892ac,ae420000 +34892b0,3c04801c +34892b4,348484a0 +34892b8,3c140001 +34892bc,94a021 +34892c0,8e620000 +34892c4,a6821e1a +34892c8,24060dff +34892cc,3c028009 +34892d0,3442d94c +34892d4,40f809 +34892d8,24050001 +34892dc,8e640008 +34892e0,8e63000c +34892e4,8e620010 +34892e8,ae441384 +34892ec,ae431388 +34892f0,ae42138c +34892f4,96620014 +34892f8,a6421390 +34892fc,8e620004 +3489300,a2421396 +3489304,24020002 +3489308,ae421364 +348930c,24020014 +3489310,a2821e15 +3489314,3c028043 +3489318,1000025b +348931c,a040d749 +3489320,30a20100 +3489324,10400013 +3489328,30a20200 +348932c,3c028043 +3489330,9042d750 +3489334,24420001 +3489338,21600 +348933c,21603 +3489340,28430017 +3489344,50600004 +3489348,3c028043 +348934c,3c038043 +3489350,10000007 +3489354,a062d750 +3489358,a040d750 +348935c,30a20200 +3489360,1440000f +3489364,3c028043 +3489368,10000010 +348936c,52c00 +3489370,30a20200 +3489374,5040000d +3489378,52c00 +348937c,3c038043 +3489380,2463d74c +3489384,90620004 +3489388,2442ffff +348938c,21600 +3489390,21603 +3489394,4410004 +3489398,a0620004 +348939c,3c028043 +34893a0,24030016 +34893a4,a043d750 +34893a8,52c00 +34893ac,52c03 +34893b0,4a30236 +34893b4,8e020008 +34893b8,3c028043 +34893bc,8045d750 +34893c0,3c038042 +34893c4,24637e48 +34893c8,52100 +34893cc,851021 +34893d0,21040 +34893d4,621021 +34893d8,94460002 +34893dc,3c028011 +34893e0,3442a5d0 +34893e4,ac460000 +34893e8,3c02801c +34893ec,344284a0 +34893f0,3c060001 +34893f4,461021 +34893f8,852021 +34893fc,42040 +3489400,641821 +3489404,94630002 +3489408,a4431e1a +348940c,24030014 +3489410,a0431e15 +3489414,24030002 +3489418,a0431e5e +348941c,3c028043 +3489420,10000219 +3489424,a040d749 +3489428,30a20100 +348942c,10400013 +3489430,30a20200 +3489434,3c028043 +3489438,9042d751 +348943c,24420001 +3489440,21600 +3489444,21603 +3489448,2843000a +348944c,50600004 +3489450,3c028043 +3489454,3c038043 +3489458,10000007 +348945c,a062d751 +3489460,a040d751 +3489464,30a20200 +3489468,1440000f +348946c,3c028043 +3489470,10000010 +3489474,52c00 +3489478,30a20200 +348947c,5040000d +3489480,52c00 +3489484,3c038043 +3489488,2463d74c +348948c,90620005 +3489490,2442ffff +3489494,21600 +3489498,21603 +348949c,4410004 +34894a0,a0620005 +34894a4,3c028043 +34894a8,24030009 +34894ac,a043d751 +34894b0,52c00 +34894b4,52c03 +34894b8,4a301f4 +34894bc,8e020008 +34894c0,3c028043 +34894c4,8045d751 +34894c8,3c038042 +34894cc,24637cf4 +34894d0,52100 +34894d4,851021 +34894d8,21040 +34894dc,621021 +34894e0,94460002 +34894e4,3c028011 +34894e8,3442a5d0 +34894ec,ac460000 +34894f0,3c02801c +34894f4,344284a0 +34894f8,3c060001 +34894fc,461021 +3489500,852021 +3489504,42040 +3489508,641821 +348950c,94630002 +3489510,a4431e1a +3489514,24030014 +3489518,a0431e15 +348951c,24030002 +3489520,a0431e5e +3489524,3c028043 +3489528,100001d7 +348952c,a040d749 +3489530,30a20100 +3489534,10400013 +3489538,30a20200 +348953c,3c028043 +3489540,9042d752 +3489544,24420001 3489548,21600 -348954c,93a30069 -3489550,31c00 -3489554,431025 -3489558,93a3006b -348955c,431025 -3489560,93a3006a -3489564,31a00 -3489568,431025 -348956c,8e430008 -3489570,24640008 -3489574,ae440008 -3489578,3c04fa00 -348957c,ac640000 -3489580,10e0ffcd -3489584,ac620004 -3489588,1000ffbe -348958c,3c028042 -3489590,2001025 -3489594,8fbf0054 -3489598,8fbe0050 -348959c,8fb7004c -34895a0,8fb60048 -34895a4,8fb50044 -34895a8,8fb40040 -34895ac,8fb3003c -34895b0,8fb20038 -34895b4,8fb10034 -34895b8,8fb00030 -34895bc,3e00008 -34895c0,27bd0058 -34895c4,27bdff88 -34895c8,afbf004c -34895cc,afbe0048 -34895d0,afb70044 -34895d4,afb60040 -34895d8,afb5003c -34895dc,afb40038 -34895e0,afb30034 -34895e4,afb20030 -34895e8,afb1002c -34895ec,afb00028 -34895f0,f7bc0070 -34895f4,f7ba0068 -34895f8,f7b80060 -34895fc,f7b60058 -3489600,f7b40050 -3489604,80a825 -3489608,3c108042 -348960c,26107e38 -3489610,3c138042 -3489614,26737e10 -3489618,2009025 -348961c,8825 -3489620,3c168042 -3489624,26d63e60 -3489628,3c028042 -348962c,d458fd48 -3489630,3c148042 -3489634,3c028042 -3489638,d45cfd50 -348963c,4620e686 -3489640,92430000 -3489644,24020001 -3489648,54620032 -348964c,26310001 -3489650,96c20006 -3489654,44820000 -348965c,46800021 -3489660,46380082 -3489664,4620108d -3489668,44071000 -348966c,510018 -3489670,3c028011 -3489674,3442a5d0 -3489678,90420032 -348967c,10400006 -3489680,3c028011 -3489684,468010a1 -3489688,463a0102 -348968c,46241080 -3489690,4620108d -3489694,44071000 +348954c,21603 +3489550,2843001f +3489554,50600004 +3489558,3c028043 +348955c,3c038043 +3489560,10000007 +3489564,a062d752 +3489568,a040d752 +348956c,30a20200 +3489570,1440000f +3489574,3c028043 +3489578,10000010 +348957c,52c00 +3489580,30a20200 +3489584,5040000d +3489588,52c00 +348958c,3c038043 +3489590,2463d74c +3489594,90620006 +3489598,2442ffff +348959c,21600 +34895a0,21603 +34895a4,4410004 +34895a8,a0620006 +34895ac,3c028043 +34895b0,2403001e +34895b4,a043d752 +34895b8,52c00 +34895bc,52c03 +34895c0,4a10045 +34895c4,3c028043 +34895c8,3c028043 +34895cc,8044d752 +34895d0,3c028042 +34895d4,41900 +34895d8,641821 +34895dc,31840 +34895e0,244278d4 +34895e4,431021 +34895e8,94430002 +34895ec,2462ffa6 +34895f0,3042ffff +34895f4,2c42000c +34895f8,5040000a +34895fc,41100 +3489600,2463ffac +3489604,3025 +3489608,32c00 +348960c,52c03 +3489610,3c048011 +3489614,c106c7f +3489618,3484a5d0 +348961c,1000002e +3489620,3c028043 +3489624,441021 +3489628,21040 +348962c,3c058042 +3489630,24a578d4 +3489634,451021 +3489638,90450000 +348963c,24020015 +3489640,14a20012 +3489644,2402003d +3489648,3c028011 +348964c,3442a5d0 +3489650,90420032 +3489654,14400007 +3489658,3025 +348965c,2825 +3489660,3c048011 +3489664,c106c6c +3489668,3484a5d0 +348966c,1000001a +3489670,3c028043 +3489674,2825 +3489678,3c048011 +348967c,c106c73 +3489680,3484a5d0 +3489684,10000014 +3489688,3c028043 +348968c,14620006 +3489690,3c028042 +3489694,3c028011 3489698,3442a5d0 -348969c,8442002e -34896a0,284200a1 -34896a4,14400008 -34896a8,92823aa4 -34896ac,44871000 -34896b4,468010a1 -34896b8,463c0002 -34896bc,46201000 -34896c0,4620000d -34896c4,44070000 -34896c8,a3a20018 -34896cc,26823aa4 -34896d0,90430001 -34896d4,a3a30019 -34896d8,90420002 -34896dc,a3a2001a -34896e0,2402ffff -34896e4,a3a2001b -34896e8,1012 -34896ec,e23821 -34896f0,8fa20018 -34896f4,afa20010 -34896f8,73c00 -34896fc,73c03 -3489700,2406001a -3489704,8e650000 -3489708,c1024f7 -348970c,2a02025 -3489710,26310001 -3489714,26520001 -3489718,2402000a -348971c,1622ffc8 -3489720,26730004 -3489724,3c138042 -3489728,26737de8 -348972c,8825 -3489730,3c028042 -3489734,afa20020 -3489738,3c028042 -348973c,c456fd58 -3489740,3c028042 -3489744,d458fd48 -3489748,3c028042 -348974c,d45afd50 -3489750,4620d706 -3489754,92030000 -3489758,24020002 -348975c,5462006e -3489760,26310001 -3489764,c6740000 -3489768,4600a00d -348976c,44050000 -3489770,44800000 -3489778,4614003c -3489780,45000006 -3489788,44850000 -3489790,46800020 -3489794,10000005 -3489798,4600a501 -348979c,44850000 -34897a4,46800020 -34897a8,46140501 -34897ac,8fa20020 -34897b0,80423aa0 -34897b4,50400005 -34897b8,3c028042 -34897bc,2442ffff -34897c0,1440fffe -34897c4,4616a502 -34897c8,3c028042 -34897cc,94423e66 -34897d0,44820000 -34897d8,46800021 -34897dc,46380082 -34897e0,4620108d -34897e4,44121000 -34897e8,510018 -34897ec,f012 -34897f0,3c028011 -34897f4,3442a5d0 -34897f8,90420032 -34897fc,10400006 -3489800,3c028011 -3489804,468010a1 -3489808,463c0102 -348980c,46241080 -3489810,4620108d -3489814,44121000 -3489818,3442a5d0 -348981c,8442002e -3489820,284200a1 -3489824,14400008 -3489828,3c028042 -348982c,44921000 -3489834,468010a1 -3489838,463a0002 -348983c,46201000 -3489840,4620000d -3489844,44120000 -3489848,90433aa4 -348984c,a3a30018 -3489850,24423aa4 -3489854,90430001 -3489858,a3a30019 -348985c,90420002 -3489860,a3a2001a -3489864,2402ffff -3489868,a3a2001b -348986c,25eb021 -3489870,16b400 -3489874,16b403 -3489878,8fa20018 -348987c,afa20010 -3489880,2c03825 -3489884,2406001a -3489888,c1024f7 -348988c,2a02025 -3489890,40b825 -3489894,3c148042 -3489898,26943e60 -348989c,96870004 -34898a0,e20018 -34898a4,2812 -34898a8,25e3021 -34898ac,24a5001a -34898b0,3c048042 -34898b4,c1078a2 -34898b8,2484fd44 -34898bc,afa00010 -34898c0,3825 -34898c4,96860006 -34898c8,96850004 -34898cc,c1078d4 -34898d0,2a02025 -34898d4,96820004 -34898d8,2e20018 -34898dc,3012 -34898e0,3c028042 -34898e4,94423eb4 -34898e8,2442001a -34898ec,c23021 -34898f0,8fa20018 -34898f4,afa20010 -34898f8,2c03825 -34898fc,63400 -3489900,63403 -3489904,4600a00d -3489908,44050000 -348990c,c1024f7 -3489910,2a02025 -3489914,26310001 -3489918,26100001 -348991c,2402000a -3489920,1622ff8c -3489924,26730004 -3489928,8fbf004c -348992c,8fbe0048 -3489930,8fb70044 -3489934,8fb60040 -3489938,8fb5003c -348993c,8fb40038 -3489940,8fb30034 -3489944,8fb20030 -3489948,8fb1002c -348994c,8fb00028 -3489950,d7bc0070 -3489954,d7ba0068 -3489958,d7b80060 -348995c,d7b60058 -3489960,d7b40050 -3489964,3e00008 -3489968,27bd0078 -348996c,27bdffd0 -3489970,afbf002c -3489974,afb30028 -3489978,afb20024 -348997c,afb10020 -3489980,afb0001c -3489984,3c02801c -3489988,344284a0 -348998c,94500020 -3489990,94510014 -3489994,3c030001 -3489998,431021 -348999c,94440934 -34899a0,24020006 -34899a4,14820049 -34899a8,3c02801d -34899ac,3c02801c -34899b0,344284a0 -34899b4,431021 -34899b8,94420948 -34899bc,14400043 -34899c0,3c02801d -34899c4,3c02801c -34899c8,344284a0 -34899cc,431021 -34899d0,94430944 -34899d4,10600005 -34899d8,3c02801c -34899dc,24020003 -34899e0,1462003a -34899e4,3c02801d -34899e8,3c02801c -34899ec,344284a0 -34899f0,3c050001 -34899f4,451021 -34899f8,84420978 -34899fc,24050016 -3489a00,14450007 -3489a04,24050017 -3489a08,3c058040 -3489a0c,94a56134 -3489a10,14a0000a -3489a14,24050003 -3489a18,1000002c -3489a1c,3c02801d -3489a20,5445002a -3489a24,3c02801d -3489a28,3c058040 -3489a2c,94a56136 -3489a30,50a00026 -3489a34,3c02801d -3489a38,24050003 -3489a3c,50650023 -3489a40,3c02801d -3489a44,3c038011 -3489a48,3463a5d0 -3489a4c,621021 -3489a50,90520074 -3489a54,3251ffff -3489a58,c107a11 -3489a5c,2202025 -3489a60,1040017a -3489a64,8fbf002c -3489a68,3213ffff -3489a6c,32100200 -3489a70,52000166 -3489a74,32730100 -3489a78,c107af4 -3489a7c,2202025 -3489a80,32730100 -3489a84,12600004 -3489a88,304400ff -3489a8c,c107ac9 -3489a90,2202025 -3489a94,304400ff -3489a98,1092016b -3489a9c,3c02801c -3489aa0,344284a0 -3489aa4,3c030001 -3489aa8,431021 -3489aac,c107b1f -3489ab0,84450978 -3489ab4,3c028006 -3489ab8,244246f0 -3489abc,40f809 -3489ac0,24044809 -3489ac4,10000161 -3489ac8,8fbf002c -3489acc,3442aa30 -3489ad0,8c42066c -3489ad4,3c033000 -3489ad8,24630483 -3489adc,431024 -3489ae0,1440015a -3489ae4,8fbf002c -3489ae8,3c02801c -3489aec,344284a0 -3489af0,8c430008 -3489af4,3c02800f -3489af8,8c4213ec -3489afc,14620154 -3489b00,8fb30028 -3489b04,3c028011 -3489b08,3442a5d0 -3489b0c,8c42135c -3489b10,14400150 -3489b14,8fb20024 -3489b18,3c02800e -3489b1c,3442f1b0 -3489b20,8c420000 -3489b24,30420020 -3489b28,5440014b -3489b2c,8fb10020 -3489b30,3c028040 -3489b34,8c421d90 -3489b38,10400014 -3489b3c,24020006 -3489b40,14820012 -3489b44,3c02801c -3489b48,344284a0 -3489b4c,3c030001 -3489b50,431021 -3489b54,94420948 -3489b58,1440000c -3489b5c,3c02801c -3489b60,344284a0 -3489b64,431021 -3489b68,94420944 -3489b6c,50400004 -3489b70,3c028040 -3489b74,24030003 -3489b78,14430004 -3489b7c,3c028040 -3489b80,90420c91 -3489b84,14400131 -3489b88,8fbf002c -3489b8c,c1020d1 -3489b94,1440012d -3489b98,8fbf002c -3489b9c,3c028011 -3489ba0,3442a5d0 -3489ba4,8c42009c -3489ba8,3c036000 -3489bac,431024 -3489bb0,10400006 -3489bb4,3c028011 -3489bb8,3442a5d0 -3489bbc,8c420004 -3489bc0,10400016 -3489bc4,3c02801c -3489bc8,3c028011 -3489bcc,3442a5d0 -3489bd0,9042008b -3489bd4,2442ffdf -3489bd8,304200ff -3489bdc,2c42000b -3489be0,10400006 -3489be4,3c028011 -3489be8,3442a5d0 -3489bec,8c430004 -3489bf0,24020001 -3489bf4,10620008 -3489bf8,3c028011 -3489bfc,3442a5d0 -3489c00,9042007b -3489c04,2442fff9 -3489c08,304200ff -3489c0c,2c420002 -3489c10,1040010e -3489c14,8fbf002c -3489c18,3c02801c -3489c1c,344284a0 -3489c20,3c030001 -3489c24,431021 -3489c28,94420934 -3489c2c,24030006 -3489c30,54430026 -3489c34,118c00 -3489c38,3c03801c -3489c3c,346384a0 -3489c40,3c040001 -3489c44,641821 -3489c48,94630948 -3489c4c,5460001f -3489c50,118c00 -3489c54,3c03801c -3489c58,346384a0 -3489c5c,641821 -3489c60,94630944 -3489c64,50600005 -3489c68,3c03801c -3489c6c,24040003 -3489c70,54640016 -3489c74,118c00 -3489c78,3c03801c -3489c7c,346384a0 -3489c80,3c040001 -3489c84,641821 -3489c88,84630978 -3489c8c,24040016 -3489c90,54640007 -3489c94,24040017 -3489c98,3c038040 -3489c9c,94636134 -3489ca0,1060000a -3489ca4,118c00 -3489ca8,100000e8 -3489cac,8fbf002c -3489cb0,54640006 -3489cb4,118c00 -3489cb8,3c038040 -3489cbc,94636136 -3489cc0,146000e2 -3489cc4,8fbf002c -3489cc8,118c00 -3489ccc,118c03 -3489cd0,6230018 -3489cd4,3c028011 -3489cd8,3c038040 -3489cdc,8c631d90 -3489ce0,50600014 -3489ce4,3c028011 -3489ce8,24030006 -3489cec,14430011 -3489cf0,3c028011 -3489cf4,3c02801c -3489cf8,344284a0 -3489cfc,3c030001 -3489d00,431021 -3489d04,94420948 -3489d08,1440000a -3489d0c,3c028011 -3489d10,3c02801c -3489d14,344284a0 -3489d18,431021 -3489d1c,94420944 -3489d20,104000ca -3489d24,8fbf002c -3489d28,24030003 -3489d2c,104300c7 -3489d30,3c028011 -3489d34,3442a5d0 -3489d38,8c420004 -3489d3c,14400053 -3489d40,24030001 -3489d44,32020200 -3489d48,10400026 -3489d4c,3211ffff -3489d50,3c028011 -3489d54,3442a5d0 -3489d58,9442009c -3489d5c,30422000 -3489d60,50400021 -3489d64,32310100 -3489d68,3c028011 -3489d6c,3442a5d0 -3489d70,94420070 -3489d74,3042f000 -3489d78,38422000 -3489d7c,2102b -3489d80,24420001 -3489d84,3c048011 -3489d88,3484a5d0 -3489d8c,21300 -3489d90,94830070 -3489d94,30630fff -3489d98,621025 -3489d9c,a4820070 -3489da0,3c04801d -3489da4,3485aa30 -3489da8,3c028007 -3489dac,34429764 -3489db0,40f809 -3489db4,248484a0 -3489db8,3c058010 -3489dbc,24a243a8 -3489dc0,afa20014 -3489dc4,24a743a0 -3489dc8,afa70010 -3489dcc,24060004 -3489dd0,24a54394 -3489dd4,3c02800c -3489dd8,3442806c -3489ddc,40f809 -3489de0,24040835 -3489de4,32310100 -3489de8,52200052 -3489dec,32100400 -3489df0,3c028011 -3489df4,3442a5d0 -3489df8,9442009c -3489dfc,30424000 -3489e00,1040008a -3489e04,3c028011 -3489e08,3442a5d0 -3489e0c,94420070 -3489e10,3042f000 -3489e14,24033000 -3489e18,50430002 -3489e1c,24020001 -3489e20,24020003 -3489e24,3c038011 -3489e28,3463a5d0 -3489e2c,22300 -3489e30,94620070 -3489e34,30420fff -3489e38,441025 -3489e3c,a4620070 -3489e40,3c04801d -3489e44,3485aa30 -3489e48,3c028007 -3489e4c,34429764 -3489e50,40f809 -3489e54,248484a0 -3489e58,3c058010 -3489e5c,24a243a8 -3489e60,afa20014 -3489e64,24a743a0 -3489e68,afa70010 -3489e6c,24060004 -3489e70,24a54394 -3489e74,3c02800c -3489e78,3442806c -3489e7c,40f809 -3489e80,24040835 -3489e84,10000069 -3489e88,3c028011 -3489e8c,54430029 -3489e90,32100400 -3489e94,32020100 -3489e98,50400026 -3489e9c,32100400 -3489ea0,3c02801c -3489ea4,344284a0 -3489ea8,3c030001 -3489eac,431021 -3489eb0,94420934 -3489eb4,14400065 -3489eb8,8fbf002c -3489ebc,3c028011 -3489ec0,3442a5d0 -3489ec4,9046008b -3489ec8,24c2ffdf -3489ecc,304200ff -3489ed0,2c42000b -3489ed4,50400051 -3489ed8,32100400 -3489edc,3c02801c -3489ee0,344284a0 -3489ee4,431021 -3489ee8,90420756 -3489eec,5440004b -3489ef0,32100400 -3489ef4,3c02801d -3489ef8,3442aa30 -3489efc,8c42066c -3489f00,3c0308a0 -3489f04,24630800 -3489f08,431024 -3489f0c,54400043 -3489f10,32100400 -3489f14,24070002 -3489f18,3c04801d -3489f1c,3485aa30 -3489f20,3c028038 -3489f24,3442c9a0 -3489f28,40f809 -3489f2c,248484a0 -3489f30,32100400 -3489f34,12000045 -3489f38,8fbf002c -3489f3c,3c02801c -3489f40,344284a0 -3489f44,3c030001 -3489f48,431021 -3489f4c,94420934 -3489f50,1440003f -3489f54,8fb30028 -3489f58,3c028011 -3489f5c,3442a5d0 -3489f60,9046007b -3489f64,24c2fff9 -3489f68,304200ff -3489f6c,2c420002 -3489f70,50400036 -3489f74,8fbf002c -3489f78,3c02801c -3489f7c,344284a0 -3489f80,3c030001 -3489f84,431021 -3489f88,90420758 -3489f8c,5440002f -3489f90,8fbf002c -3489f94,3c02801d -3489f98,3442aa30 -3489f9c,8c42066c -3489fa0,3c0308a0 -3489fa4,24630800 -3489fa8,431024 -3489fac,54400027 -3489fb0,8fbf002c -3489fb4,3c02801d -3489fb8,3442aa30 -3489fbc,80420682 -3489fc0,4400021 -3489fc4,3c02801c -3489fc8,344284a0 -3489fcc,3c030001 -3489fd0,431021 -3489fd4,8c431e5c -3489fd8,3c02ffff -3489fdc,431024 -3489fe0,5440001a -3489fe4,8fbf002c -3489fe8,24070002 -3489fec,3c04801d -3489ff0,3485aa30 -3489ff4,3c028038 -3489ff8,3442c9a0 -3489ffc,40f809 -348a000,248484a0 -348a004,10000011 -348a008,8fbf002c -348a00c,1260000f -348a010,8fbf002c -348a014,1000fe9d -348a01c,1600ffcf -348a020,3c028011 -348a024,10000009 -348a028,8fbf002c -348a02c,3442a5d0 -348a030,8c430004 -348a034,24020001 -348a038,5462ffbe -348a03c,32100400 -348a040,1000ff98 -348a044,3c02801c -348a048,8fbf002c -348a04c,8fb30028 -348a050,8fb20024 -348a054,8fb10020 -348a058,8fb0001c -348a05c,3e00008 -348a060,27bd0030 -348a064,3c028040 -348a068,8c421d90 -348a06c,10400018 -348a070,3c028011 -348a074,3c02801c -348a078,344284a0 -348a07c,3c030001 -348a080,431021 -348a084,94430934 -348a088,24020006 -348a08c,14620010 -348a090,3c028011 -348a094,3c02801c -348a098,344284a0 -348a09c,3c030001 -348a0a0,431021 -348a0a4,94420948 -348a0a8,14400009 -348a0ac,3c028011 -348a0b0,3c02801c -348a0b4,344284a0 -348a0b8,431021 -348a0bc,94420944 -348a0c0,1040008b -348a0c4,24030003 -348a0c8,10430089 -348a0cc,3c028011 -348a0d0,3442a5d0 -348a0d4,8c42009c -348a0d8,3c036000 -348a0dc,431024 -348a0e0,10400006 -348a0e4,3c028011 -348a0e8,3442a5d0 -348a0ec,8c420004 -348a0f0,10400016 -348a0f4,3c02801c -348a0f8,3c028011 -348a0fc,3442a5d0 -348a100,9042008b -348a104,2442ffdf -348a108,304200ff -348a10c,2c42000b -348a110,10400006 -348a114,3c028011 -348a118,3442a5d0 -348a11c,8c430004 -348a120,24020001 -348a124,10620008 -348a128,3c028011 -348a12c,3442a5d0 -348a130,9042007b -348a134,2442fff9 -348a138,304200ff -348a13c,2c420002 -348a140,10400034 -348a144,3c02801c -348a148,3c02801c -348a14c,344284a0 -348a150,3c030001 -348a154,431021 -348a158,94430934 -348a15c,24020006 -348a160,14620027 -348a164,3c028040 -348a168,3c02801c -348a16c,344284a0 -348a170,3c030001 -348a174,431021 -348a178,94420948 -348a17c,14400438 -348a180,3c028040 -348a184,3c02801c -348a188,344284a0 -348a18c,431021 -348a190,94420944 -348a194,50400005 -348a198,3c02801c -348a19c,24030003 -348a1a0,1443042f -348a1a4,3c028040 -348a1a8,3c02801c -348a1ac,344284a0 -348a1b0,3c030001 -348a1b4,431021 -348a1b8,84420978 -348a1bc,24030016 -348a1c0,14430007 -348a1c4,24030017 -348a1c8,3c028040 -348a1cc,94426134 -348a1d0,50400423 -348a1d4,3c028040 -348a1d8,1000001b -348a1dc,3c02801c -348a1e0,1443041f -348a1e4,3c028040 -348a1e8,3c028040 -348a1ec,94426136 -348a1f0,5040041b -348a1f4,3c028040 -348a1f8,10000013 -348a1fc,3c02801c -348a200,90420c82 -348a204,1440003a -348a20c,3e00008 -348a214,344284a0 -348a218,3c030001 -348a21c,431021 -348a220,94430934 -348a224,24020006 -348a228,1462fff8 -348a22c,3c02801c -348a230,344284a0 -348a234,3c030001 -348a238,431021 -348a23c,94420948 -348a240,1440fff2 -348a244,3c02801c -348a248,344284a0 -348a24c,3c030001 -348a250,431021 -348a254,94420944 -348a258,50400004 -348a25c,3c02801c -348a260,24030003 -348a264,14430417 -348a268,3c02801c -348a26c,344284a0 -348a270,3c030001 -348a274,431021 -348a278,84420978 -348a27c,24030016 -348a280,14430007 -348a284,24030017 -348a288,3c028040 -348a28c,94426134 -348a290,14400017 -348a294,3c02801c -348a298,1000040b -348a29c,344284a0 -348a2a0,14430408 -348a2a4,3c02801c -348a2a8,3c028040 -348a2ac,94426136 -348a2b0,1440000f -348a2b4,3c02801c -348a2b8,10000403 -348a2bc,344284a0 -348a2c0,1443ffd2 -348a2c4,3c02801c -348a2c8,344284a0 -348a2cc,3c030001 -348a2d0,431021 -348a2d4,84430978 -348a2d8,24020007 -348a2dc,1462ffcb -348a2e0,3c028040 -348a2e4,90421d7e -348a2e8,1040040a -348a2f0,27bdffa0 -348a2f4,afbf005c -348a2f8,afbe0058 -348a2fc,afb70054 -348a300,afb60050 -348a304,afb5004c -348a308,afb40048 -348a30c,afb30044 -348a310,afb20040 -348a314,afb1003c -348a318,afb00038 -348a31c,3c13801c -348a320,367384a0 -348a324,8e700000 -348a328,261202a8 -348a32c,8e0202b0 -348a330,24430008 -348a334,ae0302b0 -348a338,3c03de00 -348a33c,ac430000 -348a340,3c038042 -348a344,24633f08 -348a348,ac430004 -348a34c,8e0202b0 -348a350,24430008 -348a354,ae0302b0 -348a358,3c03e700 -348a35c,ac430000 -348a360,ac400004 -348a364,8e0202b0 -348a368,24430008 -348a36c,ae0302b0 -348a370,3c03fc11 -348a374,34639623 -348a378,ac430000 -348a37c,3c03ff2f -348a380,3463ffff -348a384,ac430004 -348a388,3c020001 -348a38c,2629821 -348a390,96710742 -348a394,2414ff00 -348a398,234a025 -348a39c,8e0202b0 -348a3a0,24430008 -348a3a4,ae0302b0 -348a3a8,3c03fa00 -348a3ac,ac430000 -348a3b0,ac540004 -348a3b4,24070001 -348a3b8,3025 -348a3bc,3c058042 -348a3c0,24a53ea0 -348a3c4,c1046ee -348a3c8,2402025 -348a3cc,96630934 -348a3d0,24020006 -348a3d4,1462014f -348a3d8,3c028040 -348a3dc,96620948 -348a3e0,1440014c -348a3e4,3c028040 -348a3e8,96620944 -348a3ec,50400004 -348a3f0,3c02801c -348a3f4,24030003 -348a3f8,144303aa -348a3fc,3c02801c -348a400,344284a0 -348a404,3c030001 -348a408,431021 -348a40c,84420978 -348a410,24030016 -348a414,14430007 -348a418,24030017 -348a41c,3c028040 -348a420,94426134 -348a424,5040039f -348a428,3c02801c -348a42c,10000381 -348a430,3c028011 -348a434,1443039b -348a438,3c02801c -348a43c,3c028040 -348a440,94426136 -348a444,50400397 -348a448,3c02801c -348a44c,10000375 -348a450,3c028011 -348a454,32b1ffff -348a458,c107a11 -348a45c,2202025 -348a460,5040003d -348a464,8e0202b0 -348a468,c107af4 -348a46c,2202025 -348a470,40b825 -348a474,c107ac9 -348a478,2202025 -348a47c,305600ff -348a480,52d50035 -348a484,8e0202b0 -348a488,24020018 -348a48c,afa20018 -348a490,afa20014 -348a494,240200be -348a498,afa20010 -348a49c,2603825 -348a4a0,3025 -348a4a4,3c058042 -348a4a8,24a53ea0 -348a4ac,c10493a -348a4b0,2402025 -348a4b4,8e0202b0 -348a4b8,24430008 -348a4bc,ae0302b0 -348a4c0,3c1efa00 -348a4c4,ac5e0000 -348a4c8,ac540004 -348a4cc,24070001 -348a4d0,32e600ff -348a4d4,3c118042 -348a4d8,26253ed0 -348a4dc,c1046ee -348a4e0,2402025 -348a4e4,24150010 -348a4e8,afb50018 -348a4ec,afb50014 -348a4f0,241700c2 -348a4f4,afb70010 -348a4f8,2667fff0 -348a4fc,3025 -348a500,26253ed0 -348a504,c10493a -348a508,2402025 -348a50c,8e0202b0 -348a510,24430008 -348a514,ae0302b0 -348a518,ac5e0000 -348a51c,ac540004 -348a520,24070001 -348a524,2c03025 -348a528,26253ed0 -348a52c,c1046ee -348a530,2402025 -348a534,afb50018 -348a538,afb50014 -348a53c,afb70010 -348a540,26670018 -348a544,3025 -348a548,26253ed0 -348a54c,c10493a -348a550,2402025 -348a554,8e0202b0 -348a558,24430008 -348a55c,ae0302b0 -348a560,3c03e700 -348a564,ac430000 -348a568,1000035e -348a56c,ac400004 -348a570,144300e8 -348a574,3c028040 -348a578,3c02801c -348a57c,344284a0 -348a580,3c030001 -348a584,431021 -348a588,84430978 -348a58c,24020007 -348a590,146200e0 -348a594,3c028040 -348a598,3c028040 -348a59c,90421d7e -348a5a0,104000dc -348a5a4,3c028040 -348a5a8,8e0202b0 +348969c,24030001 +34896a0,a043003e +34896a4,3c028042 +34896a8,41900 +34896ac,641821 +34896b0,31840 +34896b4,244278d4 +34896b8,431021 +34896bc,90450003 +34896c0,3c04801c +34896c4,3c028006 +34896c8,3442fdcc +34896cc,40f809 +34896d0,348484a0 +34896d4,3c028043 +34896d8,8042d74d +34896dc,24030001 +34896e0,1443002e +34896e4,24030002 +34896e8,3c03801c +34896ec,346384a0 +34896f0,94630020 +34896f4,30640100 +34896f8,50800012 +34896fc,30630200 +3489700,3c048043 +3489704,9084d753 +3489708,24840001 +348970c,42600 +3489710,42603 +3489714,2885000c +3489718,50a00004 +348971c,3c048043 +3489720,3c058043 +3489724,10000006 +3489728,a0a4d753 +348972c,30630200 +3489730,1460000e +3489734,a080d753 +3489738,10000010 +348973c,3c038043 +3489740,30630200 +3489744,1060000d +3489748,3c038043 +348974c,3c048043 +3489750,2484d74c +3489754,90830007 +3489758,2463ffff +348975c,31e00 +3489760,31e03 +3489764,4610004 +3489768,a0830007 +348976c,3c038043 +3489770,2404000b +3489774,a064d753 +3489778,3c038043 +348977c,a060d754 +3489780,3c03801c +3489784,346384a0 +3489788,84630020 +348978c,463013f +3489790,8e020008 +3489794,1000003e +3489798,24420001 +348979c,14430034 +34897a0,3c03801c +34897a4,3c028043 +34897a8,8043d753 +34897ac,24630386 +34897b0,318c0 +34897b4,3c02801c +34897b8,344284a0 +34897bc,431021 +34897c0,8c430004 +34897c4,10600007 +34897c8,1025 +34897cc,24420001 +34897d0,8c630124 +34897d4,1460fffd +34897d8,304200ff +34897dc,10000002 +34897e0,3c03801c +34897e4,3c03801c +34897e8,346384a0 +34897ec,94630020 +34897f0,30640100 +34897f4,50800011 +34897f8,30630200 +34897fc,3c048043 +3489800,9084d754 +3489804,24840001 +3489808,42600 +348980c,42603 +3489810,82102a +3489814,10400003 +3489818,3c028043 +348981c,10000006 +3489820,a044d754 +3489824,30630200 +3489828,1460000e +348982c,a040d754 +3489830,10000116 +3489834,8e020008 +3489838,30630200 +348983c,50600113 +3489840,8e020008 +3489844,3c038043 +3489848,2463d74c +348984c,90620008 +3489850,2442ffff +3489854,21600 +3489858,21603 +348985c,441010a +3489860,a0620008 +3489864,3c028043 +3489868,10000107 +348986c,a040d754 +3489870,346384a0 +3489874,84630020 +3489878,4630104 +348987c,8e020008 +3489880,28430002 +3489884,50600101 +3489888,8e020008 +348988c,24420001 +3489890,3c038043 +3489894,100000fc +3489898,a062d74d +348989c,3c028043 +34898a0,8044d74d +34898a4,24020001 +34898a8,548200f8 +34898ac,8e020008 +34898b0,3c02800f +34898b4,24428540 +34898b8,3c06800f +34898bc,24c6b780 +34898c0,8c440000 +34898c4,10800003 +34898c8,24420020 +34898cc,24630001 +34898d0,306300ff +34898d4,54c2fffb +34898d8,8c440000 +34898dc,30a20100 +34898e0,50400012 +34898e4,30a50200 +34898e8,3c028043 +34898ec,9042d755 +34898f0,24420001 +34898f4,21600 +34898f8,21603 +34898fc,43182a +3489900,50600004 +3489904,3c028043 +3489908,3c038043 +348990c,10000006 +3489910,a062d755 +3489914,30a50200 +3489918,14a0000e +348991c,a040d755 +3489920,100000da +3489924,8e020008 +3489928,30a50200 +348992c,50a000d7 +3489930,8e020008 +3489934,3c038043 +3489938,2463d74c +348993c,90620009 +3489940,2442ffff +3489944,21600 +3489948,21603 +348994c,44100ce +3489950,a0620009 +3489954,3c028043 +3489958,100000cb +348995c,a040d755 +3489960,3c028043 +3489964,8042d74d +3489968,24030001 +348996c,14430024 +3489970,51c00 +3489974,30a30100 +3489978,10600013 +348997c,30a30200 +3489980,3c038043 +3489984,9063d756 +3489988,24630001 +348998c,31e00 +3489990,31e03 +3489994,28640006 +3489998,50800004 +348999c,3c038043 +34899a0,3c048043 +34899a4,10000007 +34899a8,a083d756 +34899ac,a060d756 +34899b0,30a30200 +34899b4,1460000f +34899b8,3c038043 +34899bc,10000594 +34899c0,52c00 +34899c4,30a30200 +34899c8,50600591 +34899cc,52c00 +34899d0,3c048043 +34899d4,2484d74c +34899d8,9083000a +34899dc,2463ffff +34899e0,31e00 +34899e4,31e03 +34899e8,4610588 +34899ec,a083000a +34899f0,3c038043 +34899f4,24040005 +34899f8,10000584 +34899fc,a064d756 +3489a00,31c03 +3489a04,4610008 +3489a08,24040002 +3489a0c,28440002 +3489a10,50800005 +3489a14,24040002 +3489a18,24420001 +3489a1c,3c038043 +3489a20,10000099 +3489a24,a062d74d +3489a28,54440098 +3489a2c,8e020008 +3489a30,30a20100 +3489a34,50400012 +3489a38,30a50200 +3489a3c,3c028043 +3489a40,9042d757 +3489a44,24420001 +3489a48,21600 +3489a4c,21603 +3489a50,28440020 +3489a54,50800004 +3489a58,3c028043 +3489a5c,3c048043 +3489a60,10000006 +3489a64,a082d757 +3489a68,30a50200 +3489a6c,14a0000d +3489a70,a040d757 +3489a74,1000000e +3489a7c,30a50200 +3489a80,10a0000b +3489a84,3c048043 +3489a88,2484d74c +3489a8c,9082000b +3489a90,2442ffff +3489a94,21600 +3489a98,21603 +3489a9c,4410004 +3489aa0,a082000b +3489aa4,3c028043 +3489aa8,2404001f +3489aac,a044d757 +3489ab0,4630076 +3489ab4,8e020008 +3489ab8,3c028043 +3489abc,2442d74c +3489ac0,9043000a +3489ac4,2c630006 +3489ac8,50600070 +3489acc,8e020008 +3489ad0,9043000a +3489ad4,31880 +3489ad8,3c028042 +3489adc,24424278 +3489ae0,431021 +3489ae4,8c420000 +3489ae8,400008 +3489af0,3c028043 +3489af4,8045d757 +3489af8,3c04801c +3489afc,c008127 +3489b00,348484a0 +3489b04,10400007 +3489b08,3c028043 +3489b0c,8045d757 +3489b10,3c04801c +3489b14,c008144 +3489b18,348484a0 +3489b1c,1000005b +3489b20,8e020008 +3489b24,8045d757 +3489b28,3c04801c +3489b2c,c008134 +3489b30,348484a0 +3489b34,10000055 +3489b38,8e020008 +3489b3c,3c028043 +3489b40,8045d757 +3489b44,3c04801c +3489b48,c008155 +3489b4c,348484a0 +3489b50,10400007 +3489b54,3c028043 +3489b58,8045d757 +3489b5c,3c04801c +3489b60,c008172 +3489b64,348484a0 +3489b68,10000048 +3489b6c,8e020008 +3489b70,8045d757 +3489b74,3c04801c +3489b78,c008162 +3489b7c,348484a0 +3489b80,10000042 +3489b84,8e020008 +3489b88,3c028043 +3489b8c,8045d757 +3489b90,3c04801c +3489b94,c008183 +3489b98,348484a0 +3489b9c,5440003b +3489ba0,8e020008 +3489ba4,3c028043 +3489ba8,8045d757 +3489bac,3c04801c +3489bb0,c008189 +3489bb4,348484a0 +3489bb8,10000034 +3489bbc,8e020008 +3489bc0,3c028043 +3489bc4,8045d757 +3489bc8,3c04801c +3489bcc,c008190 +3489bd0,348484a0 +3489bd4,10400007 +3489bd8,3c028043 +3489bdc,8045d757 +3489be0,3c04801c +3489be4,c00819d +3489be8,348484a0 +3489bec,10000027 +3489bf0,8e020008 +3489bf4,8045d757 +3489bf8,3c04801c +3489bfc,c008196 +3489c00,348484a0 +3489c04,10000021 +3489c08,8e020008 +3489c0c,3c028043 +3489c10,8045d757 +3489c14,3c04801c +3489c18,c0081a5 +3489c1c,348484a0 +3489c20,10400007 +3489c24,3c028043 +3489c28,8045d757 +3489c2c,3c04801c +3489c30,c0081b2 +3489c34,348484a0 +3489c38,10000014 +3489c3c,8e020008 +3489c40,8045d757 +3489c44,3c04801c +3489c48,c0081ab +3489c4c,348484a0 +3489c50,1000000e +3489c54,8e020008 +3489c58,3c028043 +3489c5c,8045d757 +3489c60,3c04801c +3489c64,c0081ba +3489c68,348484a0 +3489c6c,54400007 +3489c70,8e020008 +3489c74,3c028043 +3489c78,8045d757 +3489c7c,3c04801c +3489c80,c0081c7 +3489c84,348484a0 +3489c88,8e020008 +3489c8c,24430008 +3489c90,ae030008 +3489c94,3c03de00 +3489c98,ac430000 +3489c9c,3c038043 +3489ca0,24639688 +3489ca4,ac430004 +3489ca8,3c028043 +3489cac,8046d74c +3489cb0,24020007 +3489cb4,14c20008 +3489cb8,3c028043 +3489cbc,8042d74d +3489cc0,28420002 +3489cc4,544004cf +3489cc8,240500d0 +3489ccc,240500b0 +3489cd0,1000000d +3489cd4,240200ed +3489cd8,14c00008 +3489cdc,240500d0 +3489ce0,3c028043 +3489ce4,8042d74d +3489ce8,28420002 +3489cec,14400005 +3489cf0,240200ed +3489cf4,10000005 +3489cf8,24030140 +3489cfc,10000002 +3489d00,2402009e +3489d04,2402009e +3489d08,24030140 +3489d0c,621823 +3489d10,3a7c2 +3489d14,283a021 +3489d18,14a043 +3489d1c,8e030008 +3489d20,24640008 +3489d24,ae040008 +3489d28,3c04fcff +3489d2c,3484ffff +3489d30,ac640000 +3489d34,3c04fffd +3489d38,3484f6fb +3489d3c,ac640004 +3489d40,8e030008 +3489d44,24640008 +3489d48,ae040008 +3489d4c,3c04fa00 +3489d50,ac640000 +3489d54,ac650004 +3489d58,541021 +3489d5c,21380 +3489d60,3c03e400 +3489d64,24630334 +3489d68,431025 +3489d6c,afa20020 +3489d70,141380 +3489d74,3442008c +3489d78,afa20024 +3489d7c,3c02e100 +3489d80,afa20028 +3489d84,afa0002c +3489d88,3c02f100 +3489d8c,afa20030 +3489d90,3c020400 +3489d94,24420400 +3489d98,afa20034 +3489d9c,27a20020 +3489da0,27a70038 +3489da4,8e030008 +3489da8,24640008 +3489dac,ae040008 +3489db0,8c450004 +3489db4,8c440000 +3489db8,ac650004 +3489dbc,24420008 +3489dc0,14e2fff8 +3489dc4,ac640000 +3489dc8,8e020008 +3489dcc,24430008 +3489dd0,ae030008 +3489dd4,3c03e700 +3489dd8,ac430000 +3489ddc,ac400004 +3489de0,8e020008 +3489de4,24430008 +3489de8,ae030008 +3489dec,3c03fc11 +3489df0,34639623 +3489df4,ac430000 +3489df8,3c03ff2f +3489dfc,3463ffff +3489e00,ac430004 +3489e04,3c028043 +3489e08,8043d74d +3489e0c,1460003d +3489e10,30c200ff +3489e14,8e020008 +3489e18,24430008 +3489e1c,ae030008 +3489e20,3c03fa00 +3489e24,ac430000 +3489e28,2403ffff +3489e2c,ac430004 +3489e30,3c128043 +3489e34,265291b5 +3489e38,24130029 +3489e3c,8825 +3489e40,3c168043 +3489e44,26820006 +3489e48,afa20048 +3489e4c,241e000b +3489e50,24170006 +3489e54,2415000a +3489e58,82c2d74c +3489e5c,50510009 +3489e60,26310001 +3489e64,afbe0014 +3489e68,afb70010 +3489e6c,2603825 +3489e70,8fa60048 +3489e74,2402825 +3489e78,c108a2d +3489e7c,2002025 +3489e80,26310001 +3489e84,26520010 +3489e88,1635fff3 +3489e8c,2673000d +3489e90,3c028043 +3489e94,8045d74c +3489e98,8e020008 +3489e9c,24430008 +3489ea0,ae030008 +3489ea4,3c03fa00 +3489ea8,ac430000 +3489eac,3c03e0e0 +3489eb0,246310ff +3489eb4,ac430004 +3489eb8,53840 +3489ebc,e53821 +3489ec0,73880 +3489ec4,e53821 +3489ec8,52900 +3489ecc,24a20001 +3489ed0,2403000b +3489ed4,afa30014 +3489ed8,24030006 +3489edc,afa30010 +3489ee0,24e70029 +3489ee4,26860006 +3489ee8,3c058043 +3489eec,24a591b4 +3489ef0,a22821 +3489ef4,c108a2d +3489ef8,2002025 +3489efc,1000044c +3489f00,8fbf0084 +3489f04,2c42000a +3489f08,10400448 +3489f0c,63080 +3489f10,3c028042 +3489f14,24424290 +3489f18,461021 +3489f1c,8c420000 +3489f20,400008 +3489f28,26528ffc +3489f2c,24130029 +3489f30,8825 +3489f34,3c158043 +3489f38,26b5d74c +3489f3c,26820006 +3489f40,afa20048 +3489f44,241e000b +3489f48,24170006 +3489f4c,2416000d +3489f50,82a20002 +3489f54,50510009 +3489f58,26310001 +3489f5c,afbe0014 +3489f60,afb70010 +3489f64,2603825 +3489f68,8fa60048 +3489f6c,2402825 +3489f70,c108a2d +3489f74,2002025 +3489f78,26310001 +3489f7c,26520022 +3489f80,1636fff3 +3489f84,2673000d +3489f88,3c028043 +3489f8c,8043d74e +3489f90,8e020008 +3489f94,24440008 +3489f98,ae040008 +3489f9c,3c04fa00 +3489fa0,ac440000 +3489fa4,3c04e0e0 +3489fa8,248410ff +3489fac,ac440004 +3489fb0,33840 +3489fb4,e33821 +3489fb8,73880 +3489fbc,e33821 +3489fc0,31100 +3489fc4,431021 +3489fc8,21040 +3489fcc,24420004 +3489fd0,2403000b +3489fd4,afa30014 +3489fd8,24030006 +3489fdc,afa30010 +3489fe0,24e70029 +3489fe4,26860006 +3489fe8,3c058043 +3489fec,24a58ff8 +3489ff0,a22821 +3489ff4,c108a2d +3489ff8,2002025 +3489ffc,1000040c +348a000,8fbf0084 +348a004,24530016 +348a008,24120029 +348a00c,8825 +348a010,3c158043 +348a014,26b5d74c +348a018,26820006 +348a01c,afa20048 +348a020,241e000b +348a024,24170006 +348a028,3c168043 +348a02c,26d68158 +348a030,82a20003 +348a034,50510009 +348a038,26310001 +348a03c,afbe0014 +348a040,afb70010 +348a044,2403825 +348a048,8fa60048 +348a04c,2602825 +348a050,c108a2d +348a054,2002025 +348a058,26310001 +348a05c,26730034 +348a060,82a20002 +348a064,210c0 +348a068,561021 +348a06c,90420000 +348a070,222102a +348a074,1440ffee +348a078,2652000d +348a07c,3c028043 +348a080,8042d74f +348a084,8e030008 +348a088,24640008 +348a08c,ae040008 +348a090,3c04fa00 +348a094,ac640000 +348a098,3c04e0e0 +348a09c,248410ff +348a0a0,ac640004 +348a0a4,23840 +348a0a8,e23821 +348a0ac,73880 +348a0b0,e23821 +348a0b4,72880 +348a0b8,8fa2004c +348a0bc,452821 +348a0c0,2402000b +348a0c4,afa20014 +348a0c8,24020006 +348a0cc,afa20010 +348a0d0,24e70029 +348a0d4,26860006 +348a0d8,24a50016 +348a0dc,c108a2d +348a0e0,2002025 +348a0e4,100003d2 +348a0e8,8fbf0084 +348a0ec,26527e4c +348a0f0,24130029 +348a0f4,8825 +348a0f8,3c158043 +348a0fc,26b5d74c +348a100,26820006 +348a104,afa20048 +348a108,241e000b +348a10c,24170006 +348a110,2416000c +348a114,82a20004 +348a118,50510009 +348a11c,26310001 +348a120,afbe0014 +348a124,afb70010 +348a128,2603825 +348a12c,8fa60048 +348a130,2402825 +348a134,c108a2d +348a138,2002025 +348a13c,26310001 +348a140,26520022 +348a144,1636fff3 +348a148,2673000d +348a14c,3c028043 +348a150,8043d750 +348a154,8e020008 +348a158,24440008 +348a15c,ae040008 +348a160,3c04fa00 +348a164,ac440000 +348a168,3c04e0e0 +348a16c,248410ff +348a170,ac440004 +348a174,33840 +348a178,e33821 +348a17c,73880 +348a180,e33821 +348a184,31100 +348a188,431021 +348a18c,21040 +348a190,24420004 +348a194,2403000b +348a198,afa30014 +348a19c,24030006 +348a1a0,afa30010 +348a1a4,24e70029 +348a1a8,26860006 +348a1ac,3c058042 +348a1b0,24a57e48 +348a1b4,a22821 +348a1b8,c108a2d +348a1bc,2002025 +348a1c0,1000039b +348a1c4,8fbf0084 +348a1c8,24430008 +348a1cc,ae030008 +348a1d0,3c03fa00 +348a1d4,ac430000 +348a1d8,2403ffff +348a1dc,ac430004 +348a1e0,3c118042 +348a1e4,26317fe4 +348a1e8,3c168043 +348a1ec,26d6817c +348a1f0,24130029 +348a1f4,2412000c +348a1f8,3c158043 +348a1fc,26b5d74c +348a200,26820006 +348a204,afa20048 +348a208,241e000b +348a20c,24170006 +348a210,82a20004 +348a214,50520009 +348a218,26520001 +348a21c,afbe0014 +348a220,afb70010 +348a224,2603825 +348a228,8fa60048 +348a22c,2202825 +348a230,c108a2d +348a234,2002025 +348a238,26520001 +348a23c,26310022 +348a240,1636fff3 +348a244,2673000d +348a248,3c028043 +348a24c,8043d750 +348a250,8e020008 +348a254,24440008 +348a258,ae040008 +348a25c,3c04fa00 +348a260,ac440000 +348a264,3c04e0e0 +348a268,248410ff +348a26c,ac440004 +348a270,2462fff4 +348a274,23840 +348a278,e23821 +348a27c,73880 +348a280,e23821 +348a284,31100 +348a288,431021 +348a28c,21040 +348a290,24420004 +348a294,2403000b +348a298,afa30014 +348a29c,24030006 +348a2a0,afa30010 +348a2a4,24e70029 +348a2a8,26860006 +348a2ac,3c058042 +348a2b0,24a57e48 +348a2b4,a22821 +348a2b8,c108a2d +348a2bc,2002025 +348a2c0,1000035b +348a2c4,8fbf0084 +348a2c8,8e020008 +348a2cc,24430008 +348a2d0,ae030008 +348a2d4,3c03fa00 +348a2d8,ac430000 +348a2dc,2403ffff +348a2e0,ac430004 +348a2e4,3c128042 +348a2e8,26527cf8 +348a2ec,24130029 +348a2f0,8825 +348a2f4,3c158043 +348a2f8,26b5d74c +348a2fc,26820006 +348a300,afa20048 +348a304,241e000b +348a308,24170006 +348a30c,2416000a +348a310,82a20005 +348a314,50510009 +348a318,26310001 +348a31c,afbe0014 +348a320,afb70010 +348a324,2603825 +348a328,8fa60048 +348a32c,2402825 +348a330,c108a2d +348a334,2002025 +348a338,26310001 +348a33c,26520022 +348a340,1636fff3 +348a344,2673000d +348a348,3c028043 +348a34c,8043d751 +348a350,8e020008 +348a354,24440008 +348a358,ae040008 +348a35c,3c04fa00 +348a360,ac440000 +348a364,3c04e0e0 +348a368,248410ff +348a36c,ac440004 +348a370,33840 +348a374,e33821 +348a378,73880 +348a37c,e33821 +348a380,31100 +348a384,431021 +348a388,21040 +348a38c,24420004 +348a390,2403000b +348a394,afa30014 +348a398,24030006 +348a39c,afa30010 +348a3a0,24e70029 +348a3a4,26860006 +348a3a8,3c058042 +348a3ac,24a57cf4 +348a3b0,a22821 +348a3b4,c108a2d +348a3b8,2002025 +348a3bc,1000031c +348a3c0,8fbf0084 +348a3c4,265278d8 +348a3c8,24130029 +348a3cc,8825 +348a3d0,3c168043 +348a3d4,26d6d74c +348a3d8,269e0006 +348a3dc,2415000b +348a3e0,24170006 +348a3e4,82c20006 +348a3e8,50510009 +348a3ec,26310001 +348a3f0,afb50014 +348a3f4,afb70010 +348a3f8,2603825 +348a3fc,3c03025 +348a400,2402825 +348a404,c108a2d +348a408,2002025 +348a40c,26310001 +348a410,26520022 +348a414,1635fff3 +348a418,2673000d +348a41c,3c028043 +348a420,8043d752 +348a424,8e020008 +348a428,24440008 +348a42c,ae040008 +348a430,3c04fa00 +348a434,ac440000 +348a438,3c04e0e0 +348a43c,248410ff +348a440,ac440004 +348a444,33840 +348a448,e33821 +348a44c,73880 +348a450,e33821 +348a454,31100 +348a458,431021 +348a45c,21040 +348a460,24420004 +348a464,2403000b +348a468,afa30014 +348a46c,24030006 +348a470,afa30010 +348a474,24e70029 +348a478,26860006 +348a47c,3c058042 +348a480,24a578d4 +348a484,a22821 +348a488,c108a2d +348a48c,2002025 +348a490,8e020008 +348a494,24430008 +348a498,ae030008 +348a49c,3c03fa00 +348a4a0,ac430000 +348a4a4,2403ffff +348a4a8,ac430004 +348a4ac,3c028043 +348a4b0,9042d752 +348a4b4,2442fff5 +348a4b8,304200ff +348a4bc,2c42000b +348a4c0,5040003a +348a4c4,8e020008 +348a4c8,3c118042 +348a4cc,26317a4e +348a4d0,3c168042 +348a4d4,26d67bc4 +348a4d8,24130029 +348a4dc,2412000b +348a4e0,3c158043 +348a4e4,26b5d74c +348a4e8,26820006 +348a4ec,afa20048 +348a4f0,241e000b +348a4f4,24170006 +348a4f8,82a20006 +348a4fc,50520009 +348a500,26520001 +348a504,afbe0014 +348a508,afb70010 +348a50c,2603825 +348a510,8fa60048 +348a514,2202825 +348a518,c108a2d +348a51c,2002025 +348a520,26520001 +348a524,26310022 +348a528,16d1fff3 +348a52c,2673000d +348a530,3c028043 +348a534,8043d752 +348a538,8e020008 +348a53c,24440008 +348a540,ae040008 +348a544,3c04fa00 +348a548,ac440000 +348a54c,3c04e0e0 +348a550,248410ff +348a554,ac440004 +348a558,2462fff5 +348a55c,23840 +348a560,e23821 +348a564,73880 +348a568,e23821 +348a56c,31100 +348a570,431021 +348a574,21040 +348a578,24420004 +348a57c,2403000b +348a580,afa30014 +348a584,24030006 +348a588,afa30010 +348a58c,24e70029 +348a590,26860006 +348a594,3c058042 +348a598,24a578d4 +348a59c,a22821 +348a5a0,c108a2d +348a5a4,2002025 +348a5a8,8e020008 348a5ac,24430008 -348a5b0,ae0302b0 -348a5b4,3c03fcff -348a5b8,3463ffff -348a5bc,ac430000 -348a5c0,3c03fffd -348a5c4,3463f6fb -348a5c8,ac430004 -348a5cc,8e0202b0 -348a5d0,24430008 -348a5d4,ae0302b0 -348a5d8,3c03fa00 -348a5dc,ac430000 -348a5e0,240300d0 -348a5e4,ac430004 -348a5e8,3c02e425 -348a5ec,34428234 -348a5f0,afa20020 -348a5f4,3c020011 -348a5f8,344281f4 -348a5fc,afa20024 -348a600,3c02e100 -348a604,afa20028 -348a608,afa0002c -348a60c,3c02f100 -348a610,afa20030 -348a614,3c020400 -348a618,24420400 -348a61c,afa20034 -348a620,27a20020 -348a624,27a60038 -348a628,8e0302b0 -348a62c,24640008 -348a630,ae0402b0 -348a634,8c450004 -348a638,8c440000 -348a63c,ac650004 -348a640,24420008 -348a644,14c2fff8 -348a648,ac640000 -348a64c,8e0202b0 -348a650,24430008 -348a654,ae0302b0 -348a658,3c03e700 -348a65c,ac430000 -348a660,ac400004 -348a664,8e0202b0 -348a668,24430008 -348a66c,ae0302b0 -348a670,3c03fc11 -348a674,34639623 -348a678,ac430000 -348a67c,3c03ff2f -348a680,3463ffff -348a684,ac430004 -348a688,24070005 -348a68c,3025 -348a690,3c058042 -348a694,24a53e20 -348a698,c1046ee -348a69c,2402025 -348a6a0,323100ff -348a6a4,8e0202b0 -348a6a8,24430008 -348a6ac,ae0302b0 -348a6b0,3c03fa00 -348a6b4,ac430000 -348a6b8,3623ff00 -348a6bc,ac430004 -348a6c0,3c028040 -348a6c4,90420ca4 -348a6c8,10400016 -348a6cc,3c028011 -348a6d0,3c038040 -348a6d4,24640c4c -348a6d8,94820002 -348a6dc,21400 -348a6e0,3c0500ff -348a6e4,451024 -348a6e8,94630c4c -348a6ec,31e00 -348a6f0,711825 -348a6f4,431025 -348a6f8,94830004 -348a6fc,31a00 -348a700,3063ffff -348a704,431025 -348a708,8e0302b0 -348a70c,24640008 -348a710,ae0402b0 -348a714,3c04fa00 -348a718,ac640000 -348a71c,ac620004 -348a720,3c028011 -348a724,3442a5d0 -348a728,8c4209a4 -348a72c,30420001 -348a730,5040000d -348a734,8e0302b0 -348a738,24020010 -348a73c,afa20018 -348a740,afa20014 -348a744,2402007d -348a748,afa20010 -348a74c,24070046 -348a750,3025 -348a754,3c058042 -348a758,24a53e20 -348a75c,c10493a -348a760,2402025 -348a764,8e0302b0 -348a768,24620008 -348a76c,ae0202b0 -348a770,3c02fa00 -348a774,ac620000 -348a778,3c02f4ec -348a77c,24423000 -348a780,2221025 -348a784,ac620004 -348a788,3c028040 -348a78c,90420ca4 -348a790,10400016 -348a794,3c028011 -348a798,3c038040 -348a79c,24640c58 -348a7a0,94820002 -348a7a4,21400 -348a7a8,3c0500ff -348a7ac,451024 -348a7b0,94630c58 -348a7b4,31e00 -348a7b8,711825 -348a7bc,431025 -348a7c0,94830004 -348a7c4,31a00 -348a7c8,3063ffff -348a7cc,431025 -348a7d0,8e0302b0 -348a7d4,24640008 -348a7d8,ae0402b0 -348a7dc,3c04fa00 -348a7e0,ac640000 -348a7e4,ac620004 -348a7e8,3c028011 -348a7ec,3442a5d0 -348a7f0,8c4209a4 -348a7f4,30420004 -348a7f8,1040000d -348a7fc,3c028011 -348a800,24020010 -348a804,afa20018 -348a808,afa20014 -348a80c,2402007d -348a810,afa20010 -348a814,24070056 -348a818,24060001 -348a81c,3c058042 -348a820,24a53e20 -348a824,c10493a -348a828,2402025 -348a82c,3c028011 -348a830,3442a5d0 -348a834,8c4209a4 -348a838,30420010 -348a83c,1040000d -348a840,3c028011 -348a844,24020010 -348a848,afa20018 -348a84c,afa20014 -348a850,2402007d -348a854,afa20010 -348a858,24070066 -348a85c,24060002 -348a860,3c058042 -348a864,24a53e20 -348a868,c10493a -348a86c,2402025 -348a870,3c028011 -348a874,3442a5d0 -348a878,8c4209a4 -348a87c,30420008 -348a880,1040000d -348a884,3c028011 -348a888,24020010 -348a88c,afa20018 -348a890,afa20014 -348a894,2402007d -348a898,afa20010 -348a89c,24070076 -348a8a0,24060003 -348a8a4,3c058042 -348a8a8,24a53e20 -348a8ac,c10493a -348a8b0,2402025 -348a8b4,3c028011 -348a8b8,3442a5d0 -348a8bc,8c4209a4 -348a8c0,30420002 -348a8c4,5040000d -348a8c8,8e0202b0 -348a8cc,24020010 -348a8d0,afa20018 -348a8d4,afa20014 -348a8d8,2402007d -348a8dc,afa20010 -348a8e0,24070086 -348a8e4,24060004 -348a8e8,3c058042 -348a8ec,24a53e20 -348a8f0,c10493a -348a8f4,2402025 -348a8f8,8e0202b0 -348a8fc,24430008 -348a900,ae0302b0 -348a904,3c03e700 -348a908,ac430000 -348a90c,10000275 -348a910,ac400004 -348a914,90420ca6 -348a918,1440024a -348a91c,3c028011 -348a920,2415010f -348a924,10000008 -348a928,24130040 -348a92c,3c028011 -348a930,3442a5d0 -348a934,8442002e -348a938,284200a1 -348a93c,14400002 -348a940,24150020 -348a944,26730008 -348a948,24020010 -348a94c,afa20018 -348a950,afa20014 -348a954,afb30010 -348a958,2a03825 -348a95c,3025 -348a960,3c058042 -348a964,24a53ea0 -348a968,c10493a -348a96c,2402025 -348a970,3c028040 -348a974,8c441d90 -348a978,1080004b -348a97c,3c02801d -348a980,3c02801c -348a984,344284a0 -348a988,3c030001 -348a98c,431021 -348a990,94430934 -348a994,24020006 -348a998,14620043 -348a99c,3c02801d -348a9a0,3c02801c -348a9a4,344284a0 -348a9a8,3c030001 -348a9ac,431021 -348a9b0,94420948 -348a9b4,1440003c -348a9b8,3c02801d -348a9bc,3c02801c -348a9c0,344284a0 -348a9c4,431021 -348a9c8,94420944 -348a9cc,50400005 -348a9d0,3c028040 -348a9d4,24030003 -348a9d8,14430033 -348a9dc,3c02801d -348a9e0,3c028040 -348a9e4,90420c91 -348a9e8,5040002f -348a9ec,3c02801d -348a9f0,24070001 -348a9f4,24060002 -348a9f8,3c148042 -348a9fc,26853ef0 -348aa00,c1046ee -348aa04,2402025 -348aa08,2411000c -348aa0c,afb10018 -348aa10,afb10014 -348aa14,2662000d -348aa18,afa20010 -348aa1c,26a70002 -348aa20,3025 -348aa24,26853ef0 -348aa28,c10493a -348aa2c,2402025 -348aa30,24070001 -348aa34,24060011 -348aa38,3c148042 -348aa3c,26853ec0 -348aa40,c1046ee -348aa44,2402025 -348aa48,26730002 -348aa4c,afb10018 -348aa50,afb10014 -348aa54,afb30010 -348aa58,26a7000e -348aa5c,3025 -348aa60,26853ec0 -348aa64,c10493a -348aa68,2402025 -348aa6c,24070001 -348aa70,24060010 -348aa74,26853ec0 -348aa78,c1046ee -348aa7c,2402025 -348aa80,afb10018 -348aa84,afb10014 -348aa88,afb30010 -348aa8c,26a7fff5 -348aa90,3025 -348aa94,26853ec0 -348aa98,c10493a -348aa9c,2402025 -348aaa0,100001da -348aaa4,8e0202b0 -348aaa8,3442aa30 -348aaac,8c42066c -348aab0,3c033000 -348aab4,24630483 -348aab8,431024 -348aabc,54400032 -348aac0,8e0402b0 -348aac4,3c02801c -348aac8,344284a0 -348aacc,8c430008 -348aad0,3c02800f -348aad4,8c4213ec -348aad8,5462002b -348aadc,8e0402b0 -348aae0,3c028011 -348aae4,3442a5d0 -348aae8,8c42135c -348aaec,54400026 -348aaf0,8e0402b0 -348aaf4,3c02800e -348aaf8,3442f1b0 -348aafc,8c420000 -348ab00,30420020 -348ab04,54400020 -348ab08,8e0402b0 -348ab0c,10800019 -348ab10,3c02801c -348ab14,344284a0 -348ab18,3c030001 -348ab1c,431021 -348ab20,94430934 -348ab24,24020006 -348ab28,14620012 -348ab2c,3c02801c -348ab30,344284a0 -348ab34,3c030001 -348ab38,431021 -348ab3c,94420948 -348ab40,1440000c -348ab44,3c02801c -348ab48,344284a0 -348ab4c,431021 -348ab50,94420944 -348ab54,50400004 -348ab58,3c028040 -348ab5c,24030003 -348ab60,14430004 -348ab64,3c028040 -348ab68,90420c91 -348ab6c,54400006 -348ab70,8e0402b0 -348ab74,c1020d1 -348ab7c,10400017 -348ab80,3c028011 -348ab84,8e0402b0 -348ab88,24820008 -348ab8c,ae0202b0 -348ab90,3c02fa00 -348ab94,ac820000 -348ab98,1118c0 -348ab9c,711821 -348aba0,31880 -348aba4,711823 -348aba8,31840 -348abac,3c028080 -348abb0,34428081 -348abb4,620018 -348abb8,1010 -348abbc,431021 -348abc0,211c3 -348abc4,31fc3 -348abc8,431023 -348abcc,2403ff00 -348abd0,431025 -348abd4,ac820004 -348abd8,3c028011 -348abdc,3442a5d0 -348abe0,9442009c -348abe4,30422000 -348abe8,10400029 -348abec,3c028011 -348abf0,3442a5d0 -348abf4,8c420004 -348abf8,14400052 -348abfc,3c028011 -348ac00,24070001 -348ac04,24060045 -348ac08,3c058042 -348ac0c,24a53ed0 -348ac10,c1046ee -348ac14,2402025 -348ac18,3c028011 -348ac1c,3442a5d0 -348ac20,94420070 -348ac24,3042f000 -348ac28,24032000 -348ac2c,5443000d -348ac30,2402000c -348ac34,24020010 -348ac38,afa20018 -348ac3c,afa20014 -348ac40,afb30010 -348ac44,26a7fff3 -348ac48,3025 -348ac4c,3c058042 -348ac50,24a53ed0 -348ac54,c10493a -348ac58,2402025 -348ac5c,1000000c -348ac60,3c028011 -348ac64,afa20018 -348ac68,afa20014 -348ac6c,26620002 -348ac70,afa20010 -348ac74,26a7fff5 -348ac78,3025 -348ac7c,3c058042 -348ac80,24a53ed0 -348ac84,c10493a -348ac88,2402025 -348ac8c,3c028011 -348ac90,3442a5d0 -348ac94,9442009c -348ac98,30424000 -348ac9c,10400029 -348aca0,3c028011 -348aca4,3442a5d0 -348aca8,8c420004 -348acac,14400025 -348acb0,3c028011 -348acb4,24070001 -348acb8,24060046 -348acbc,3c058042 -348acc0,24a53ed0 -348acc4,c1046ee -348acc8,2402025 -348accc,3c028011 -348acd0,3442a5d0 -348acd4,94420070 -348acd8,3042f000 -348acdc,24033000 -348ace0,5443000d -348ace4,2402000c -348ace8,24020010 -348acec,afa20018 -348acf0,afa20014 -348acf4,afb30010 -348acf8,26a7000c -348acfc,3025 -348ad00,3c058042 -348ad04,24a53ed0 -348ad08,c10493a -348ad0c,2402025 -348ad10,1000000c -348ad14,3c028011 -348ad18,afa20018 -348ad1c,afa20014 -348ad20,26620002 -348ad24,afa20010 -348ad28,26a7000e -348ad2c,3025 -348ad30,3c058042 -348ad34,24a53ed0 -348ad38,c10493a -348ad3c,2402025 -348ad40,3c028011 -348ad44,3442a5d0 -348ad48,9042008b -348ad4c,2442ffdf -348ad50,304200ff -348ad54,2c42000b -348ad58,10400099 -348ad5c,3c028011 -348ad60,3442a5d0 -348ad64,8c430004 -348ad68,24020001 -348ad6c,14620094 -348ad70,3c028011 -348ad74,3c02801d -348ad78,3442aa30 -348ad7c,8c42066c -348ad80,3c033000 -348ad84,24630483 -348ad88,431024 -348ad8c,54400051 -348ad90,8e0402b0 -348ad94,3c02801c -348ad98,344284a0 -348ad9c,8c430008 -348ada0,3c02800f -348ada4,8c4213ec -348ada8,5462004a -348adac,8e0402b0 -348adb0,3c028011 -348adb4,3442a5d0 -348adb8,8c42135c -348adbc,54400045 -348adc0,8e0402b0 -348adc4,3c02800e -348adc8,3442f1b0 -348adcc,8c420000 -348add0,30420020 -348add4,5440003f -348add8,8e0402b0 -348addc,3c028040 -348ade0,8c421d90 -348ade4,10400019 -348ade8,3c02801c -348adec,344284a0 -348adf0,3c030001 -348adf4,431021 -348adf8,94430934 -348adfc,24020006 -348ae00,14620012 -348ae04,3c02801c -348ae08,344284a0 -348ae0c,3c030001 -348ae10,431021 -348ae14,94420948 -348ae18,1440000c -348ae1c,3c02801c -348ae20,344284a0 -348ae24,431021 -348ae28,94420944 -348ae2c,50400004 -348ae30,3c028040 -348ae34,24030003 -348ae38,14430004 -348ae3c,3c028040 -348ae40,90420c91 -348ae44,54400023 -348ae48,8e0402b0 -348ae4c,c1020d1 -348ae54,5440001f -348ae58,8e0402b0 -348ae5c,3c02801c -348ae60,344284a0 -348ae64,3c030001 -348ae68,431021 -348ae6c,94420934 -348ae70,54400018 -348ae74,8e0402b0 -348ae78,3c028011 -348ae7c,3442a5d0 -348ae80,9042008b -348ae84,2442ffdf -348ae88,304200ff -348ae8c,2c42000b -348ae90,50400010 -348ae94,8e0402b0 -348ae98,3c02801c -348ae9c,344284a0 -348aea0,431021 -348aea4,90420756 -348aea8,5440000a -348aeac,8e0402b0 -348aeb0,3c02801d -348aeb4,3442aa30 -348aeb8,8c42066c -348aebc,3c0308a0 -348aec0,24630800 -348aec4,431024 -348aec8,504000f0 -348aecc,8e0202b0 -348aed0,8e0402b0 -348aed4,24820008 -348aed8,ae0202b0 -348aedc,3c02fa00 -348aee0,ac820000 -348aee4,1118c0 -348aee8,711821 -348aeec,31880 -348aef0,711823 -348aef4,31840 -348aef8,3c028080 -348aefc,34428081 -348af00,620018 -348af04,1010 -348af08,431021 -348af0c,211c3 -348af10,31fc3 -348af14,431023 -348af18,2403ff00 -348af1c,431025 -348af20,ac820004 -348af24,24070001 -348af28,3c028011 -348af2c,3442a5d0 -348af30,9046008b -348af34,3c058042 -348af38,24a53ed0 -348af3c,c1046ee -348af40,2402025 -348af44,3c02801d -348af48,3442aa30 -348af4c,9042014f -348af50,2442ffff -348af54,304200ff -348af58,2c420009 -348af5c,5040000d -348af60,2402000c -348af64,24020010 -348af68,afa20018 -348af6c,afa20014 -348af70,afb30010 -348af74,26a7000c -348af78,3025 -348af7c,3c058042 -348af80,24a53ed0 -348af84,c10493a -348af88,2402025 -348af8c,1000000c -348af90,3c028011 -348af94,afa20018 -348af98,afa20014 -348af9c,26620002 -348afa0,afa20010 -348afa4,26a7000e -348afa8,3025 -348afac,3c058042 -348afb0,24a53ed0 -348afb4,c10493a -348afb8,2402025 -348afbc,3c028011 -348afc0,3442a5d0 -348afc4,9042007b -348afc8,2442fff9 -348afcc,304200ff -348afd0,2c420002 -348afd4,5040008d -348afd8,8e0202b0 -348afdc,3c02801d -348afe0,3442aa30 -348afe4,8c42066c -348afe8,3c033000 -348afec,24630483 -348aff0,431024 -348aff4,5440005e -348aff8,8e0402b0 -348affc,3c02801c -348b000,344284a0 -348b004,8c430008 -348b008,3c02800f -348b00c,8c4213ec -348b010,54620057 -348b014,8e0402b0 -348b018,3c028011 -348b01c,3442a5d0 -348b020,8c42135c -348b024,54400052 -348b028,8e0402b0 -348b02c,3c02800e -348b030,3442f1b0 -348b034,8c420000 -348b038,30420020 -348b03c,5440004c -348b040,8e0402b0 -348b044,3c028040 -348b048,8c421d90 -348b04c,10400019 -348b050,3c02801c -348b054,344284a0 -348b058,3c030001 -348b05c,431021 -348b060,94430934 -348b064,24020006 -348b068,14620012 -348b06c,3c02801c -348b070,344284a0 -348b074,3c030001 -348b078,431021 -348b07c,94420948 -348b080,1440000c -348b084,3c02801c -348b088,344284a0 -348b08c,431021 -348b090,94420944 -348b094,50400004 -348b098,3c028040 -348b09c,24030003 -348b0a0,14430004 -348b0a4,3c028040 -348b0a8,90420c91 -348b0ac,54400030 -348b0b0,8e0402b0 -348b0b4,c1020d1 -348b0bc,5440002c -348b0c0,8e0402b0 -348b0c4,3c02801c -348b0c8,344284a0 -348b0cc,3c030001 -348b0d0,431021 -348b0d4,94420934 -348b0d8,54400025 -348b0dc,8e0402b0 -348b0e0,3c028011 -348b0e4,3442a5d0 -348b0e8,9042007b -348b0ec,2442fff9 -348b0f0,304200ff -348b0f4,2c420002 -348b0f8,5040001d -348b0fc,8e0402b0 -348b100,3c02801c -348b104,344284a0 -348b108,431021 -348b10c,90420758 -348b110,54400017 -348b114,8e0402b0 -348b118,3c02801d -348b11c,3442aa30 -348b120,8c42066c -348b124,3c0308a0 -348b128,24630800 -348b12c,431024 -348b130,5440000f -348b134,8e0402b0 -348b138,3c02801d -348b13c,3442aa30 -348b140,80420682 -348b144,4400009 -348b148,3c02801c -348b14c,344284a0 -348b150,3c030001 -348b154,431021 -348b158,8c431e5c -348b15c,3c02ffff -348b160,431024 -348b164,50400043 -348b168,8e0202b0 -348b16c,8e0402b0 -348b170,24820008 -348b174,ae0202b0 -348b178,3c02fa00 -348b17c,ac820000 -348b180,1118c0 -348b184,711821 -348b188,31880 -348b18c,711823 -348b190,31840 -348b194,3c028080 -348b198,34428081 -348b19c,620018 -348b1a0,1010 -348b1a4,431021 -348b1a8,211c3 -348b1ac,31fc3 -348b1b0,431023 -348b1b4,2403ff00 -348b1b8,431025 -348b1bc,ac820004 -348b1c0,24070001 -348b1c4,3c028011 -348b1c8,3442a5d0 -348b1cc,9046007b -348b1d0,3c118042 -348b1d4,26253ed0 -348b1d8,c1046ee -348b1dc,2402025 -348b1e0,2402000c -348b1e4,afa20018 -348b1e8,afa20014 -348b1ec,2673000d -348b1f0,afb30010 -348b1f4,26a70002 -348b1f8,3025 -348b1fc,26253ed0 -348b200,c10493a -348b204,2402025 -348b208,8e0202b0 -348b20c,24430008 -348b210,ae0302b0 -348b214,3c03e700 -348b218,ac430000 -348b21c,10000031 -348b220,ac400004 -348b224,3442a5d0 -348b228,9055008b -348b22c,1000fc89 -348b230,241300e6 -348b234,3442a5d0 -348b238,9055008a -348b23c,1000fc85 -348b240,241300c5 -348b244,3442a5d0 -348b248,844213ce -348b24c,28420003 -348b250,1040fdb6 -348b254,24130042 -348b258,1000fdb4 -348b25c,24130033 -348b260,90420c82 -348b264,1040fbf2 -348b268,3c02801c -348b26c,1000fc20 -348b274,24430008 -348b278,ae0302b0 -348b27c,3c03fa00 -348b280,ac430000 -348b284,1000ffce -348b288,ac540004 -348b28c,24430008 -348b290,ae0302b0 -348b294,3c03fa00 -348b298,ac430000 -348b29c,1000ff21 -348b2a0,ac540004 -348b2a4,344284a0 -348b2a8,3c030001 -348b2ac,431021 -348b2b0,94420944 -348b2b4,5040fcb1 -348b2b8,3c02801c -348b2bc,1000fcac -348b2c0,24030003 -348b2c4,344284a0 -348b2c8,3c030001 -348b2cc,431021 -348b2d0,94420944 -348b2d4,5040fbfc -348b2d8,3c02801c -348b2dc,1000fbf8 -348b2e0,24030003 -348b2e4,8fbf005c -348b2e8,8fbe0058 -348b2ec,8fb70054 -348b2f0,8fb60050 -348b2f4,8fb5004c -348b2f8,8fb40048 -348b2fc,8fb30044 -348b300,8fb20040 -348b304,8fb1003c -348b308,8fb00038 -348b30c,3e00008 -348b310,27bd0060 -348b314,3e00008 -348b31c,27bdffe0 -348b320,8c820008 -348b324,24430008 -348b328,ac830008 -348b32c,3c03fcff -348b330,3463ffff -348b334,ac430000 -348b338,3c03fffd -348b33c,3463f6fb -348b340,ac430004 -348b344,8c820008 -348b348,24430008 -348b34c,ac830008 -348b350,3c03fa00 -348b354,ac430000 -348b358,240300d0 -348b35c,ac430004 -348b360,a71021 -348b364,21380 -348b368,3c0700ff -348b36c,34e7f000 -348b370,471024 -348b374,8fa30030 -348b378,c31821 -348b37c,31880 -348b380,30630fff -348b384,431025 -348b388,3c03e400 -348b38c,431025 -348b390,afa20000 -348b394,52b80 -348b398,a72824 -348b39c,63080 -348b3a0,30c60fff -348b3a4,a62825 -348b3a8,afa50004 -348b3ac,3c02e100 -348b3b0,afa20008 -348b3b4,afa0000c -348b3b8,3c02f100 -348b3bc,afa20010 -348b3c0,3c020400 -348b3c4,24420400 -348b3c8,afa20014 -348b3cc,afbd0018 -348b3d0,27a50018 -348b3d4,8c820008 -348b3d8,24430008 -348b3dc,ac830008 -348b3e0,8fa30018 -348b3e4,8c670004 -348b3e8,8c660000 -348b3ec,ac470004 -348b3f0,ac460000 -348b3f4,24620008 -348b3f8,14a2fff6 -348b3fc,afa20018 -348b400,8c820008 -348b404,24430008 -348b408,ac830008 -348b40c,3c03e700 -348b410,ac430000 -348b414,ac400004 -348b418,8c820008 -348b41c,24430008 -348b420,ac830008 -348b424,3c03fc11 -348b428,34639623 -348b42c,ac430000 -348b430,3c03ff2f -348b434,3463ffff -348b438,ac430004 -348b43c,3e00008 -348b440,27bd0020 -348b444,3c028040 -348b448,90451d7c -348b44c,10a00006 -348b450,24820002 -348b454,3c028040 -348b458,90421dbb -348b45c,50400002 -348b460,24820002 -348b464,24820001 -348b468,28430002 -348b46c,2c630001 -348b470,431021 -348b474,28430009 -348b478,14600007 -348b480,50a00005 -348b484,24420001 -348b488,3c038040 -348b48c,90631dc3 -348b490,54600001 -348b494,24420001 -348b498,3e00008 -348b4a0,3c028040 -348b4a4,90421d7c -348b4a8,104000c5 -348b4ac,3c020001 -348b4b0,27bdff80 -348b4b4,afbf007c -348b4b8,afbe0078 -348b4bc,afb70074 -348b4c0,afb60070 -348b4c4,afb5006c -348b4c8,afb40068 -348b4cc,afb30064 -348b4d0,afb20060 -348b4d4,afb1005c -348b4d8,afb00058 -348b4dc,80b825 -348b4e0,a0b025 -348b4e4,821021 -348b4e8,90551cbc -348b4ec,3c028042 -348b4f0,8c423c00 -348b4f4,184000a6 -348b4f8,909400a5 -348b4fc,3c108042 -348b500,26103acc -348b504,9025 -348b508,3c1e8040 -348b50c,27de1dba -348b510,3c138042 -348b514,267354cc -348b518,3c028042 -348b51c,afa20040 -348b520,3c028043 -348b524,24421088 -348b528,afa20044 -348b52c,92020000 -348b530,54540092 -348b534,26520001 -348b538,8a070000 -348b53c,9a070003 -348b540,8a060004 -348b544,9a060007 -348b548,8a050008 -348b54c,9a05000b -348b550,8a04000c -348b554,9a04000f -348b558,8a030010 -348b55c,9a030013 -348b560,afa70020 -348b564,afa60024 -348b568,afa50028 -348b56c,afa4002c -348b570,afa30030 -348b574,96030014 -348b578,a7a30034 -348b57c,5e1021 -348b580,90460000 -348b584,14c00002 -348b588,27a50032 -348b58c,27a5002e -348b590,a01825 -348b594,24a50004 -348b598,240700ff -348b59c,62040 -348b5a0,862021 -348b5a4,42040 -348b5a8,90710000 -348b5ac,12270072 -348b5b0,111040 -348b5b4,511021 -348b5b8,21080 -348b5bc,821021 -348b5c0,2621021 -348b5c4,90420005 -348b5c8,14550069 -348b5cc,24630001 -348b5d0,3c02801c -348b5d4,344284a0 -348b5d8,944300a4 -348b5dc,28620011 -348b5e0,1040000c -348b5e4,2025 -348b5e8,3c028011 -348b5ec,3442a5d0 -348b5f0,431021 -348b5f4,804200bc -348b5f8,4410006 -348b5fc,2404ffef -348b600,3c028042 -348b604,90427e44 -348b608,10400002 -348b60c,2025 -348b610,2404ffef -348b614,61040 -348b618,461021 -348b61c,21040 -348b620,111840 -348b624,711821 -348b628,31880 -348b62c,431021 -348b630,531021 -348b634,90420000 -348b638,afa2004c -348b63c,8ec20008 -348b640,24430008 -348b644,aec30008 -348b648,3c06e700 -348b64c,ac460000 -348b650,ac400004 -348b654,8ec20008 -348b658,24430008 -348b65c,aec30008 -348b660,3c03fc11 -348b664,34639623 -348b668,ac430000 -348b66c,3c03ff2f -348b670,3463ffff -348b674,ac430004 -348b678,3c020001 -348b67c,2e21021 -348b680,afa20050 -348b684,94430742 -348b688,2402ff00 -348b68c,621825 -348b690,8ec20008 -348b694,24450008 -348b698,aec50008 -348b69c,3c05fa00 -348b6a0,ac450000 -348b6a4,ac430004 -348b6a8,8ec20008 -348b6ac,24430008 -348b6b0,aec30008 -348b6b4,ac460000 -348b6b8,ac400004 -348b6bc,248400bd -348b6c0,41c00 -348b6c4,31c03 -348b6c8,afa30048 -348b6cc,24020010 -348b6d0,afa20018 -348b6d4,afa20014 -348b6d8,afa30010 -348b6dc,2407001a -348b6e0,24060001 -348b6e4,8fa30040 -348b6e8,24653e70 -348b6ec,c1047a0 -348b6f0,2c02025 -348b6f4,8fa30044 -348b6f8,718821 -348b6fc,92250000 -348b700,8ec20008 -348b704,24430008 -348b708,aec30008 -348b70c,3c06e700 -348b710,ac460000 -348b714,ac400004 -348b718,2402ffff -348b71c,a3a20038 -348b720,a3a20039 -348b724,a3a2003a -348b728,8fa20050 -348b72c,94420742 -348b730,a3a2003b -348b734,8fa2004c -348b738,a2102b -348b73c,14400005 -348b740,8fa20038 -348b744,24020078 -348b748,a3a20038 -348b74c,a3a0003a -348b750,8fa20038 -348b754,afa20010 -348b758,8fa70048 -348b75c,2406002a -348b760,c1079b4 -348b764,2c02025 -348b768,10000004 -348b76c,26520001 -348b770,5465ff8e -348b774,90710000 -348b778,26520001 -348b77c,3c028042 -348b780,8c423c00 -348b784,242102a -348b788,1440ff68 -348b78c,26100016 -348b790,8fbf007c -348b794,8fbe0078 -348b798,8fb70074 -348b79c,8fb60070 -348b7a0,8fb5006c -348b7a4,8fb40068 -348b7a8,8fb30064 -348b7ac,8fb20060 -348b7b0,8fb1005c -348b7b4,8fb00058 -348b7b8,3e00008 -348b7bc,27bd0080 -348b7c0,3e00008 -348b7c8,3c02801c -348b7cc,344284a0 -348b7d0,904300a5 -348b7d4,2462fffd -348b7d8,304200ff -348b7dc,2c420005 -348b7e0,14400008 -348b7e4,3c028011 -348b7e8,2402000a -348b7ec,10620004 -348b7f0,2402000d -348b7f4,14620012 -348b7f8,2025 -348b7fc,2403000a -348b800,3c028011 -348b804,3442a5d0 -348b808,431021 -348b80c,904200a8 -348b810,30420001 -348b814,1040000a -348b818,2025 -348b81c,3c028042 -348b820,90427e44 -348b824,24420001 -348b828,402025 -348b82c,304200ff -348b830,2c420003 -348b834,50400001 -348b838,24040002 -348b83c,308400ff -348b840,3c028042 -348b844,3e00008 -348b848,a0447e44 -348b84c,27bdffd0 -348b850,afbf002c -348b854,afb10028 -348b858,afb00024 -348b85c,808825 -348b860,c102df2 -348b864,a08025 -348b868,3c028042 -348b86c,90427e44 -348b870,2c420002 -348b874,1440002f -348b878,24070001 -348b87c,8e020008 -348b880,24430008 -348b884,ae030008 -348b888,3c04e700 -348b88c,ac440000 -348b890,ac400004 -348b894,8e020008 -348b898,24430008 -348b89c,ae030008 -348b8a0,3c03fc11 -348b8a4,34639623 -348b8a8,ac430000 -348b8ac,3c03ff2f -348b8b0,3463ffff -348b8b4,ac430004 -348b8b8,3c020001 -348b8bc,2228821 -348b8c0,96230742 -348b8c4,2402ff00 -348b8c8,621825 -348b8cc,8e020008 -348b8d0,24450008 -348b8d4,ae050008 -348b8d8,3c05fa00 -348b8dc,ac450000 -348b8e0,ac430004 -348b8e4,8e020008 -348b8e8,24430008 -348b8ec,ae030008 -348b8f0,ac440000 -348b8f4,ac400004 -348b8f8,2406000e -348b8fc,3c118042 -348b900,26253ec0 -348b904,c1046ee -348b908,2002025 -348b90c,24020010 -348b910,afa20018 -348b914,afa20014 -348b918,240200be -348b91c,afa20010 -348b920,2407001a -348b924,3025 -348b928,26253ec0 -348b92c,c10493a -348b930,2002025 -348b934,8fbf002c -348b938,8fb10028 -348b93c,8fb00024 -348b940,3e00008 -348b944,27bd0030 -348b948,3c028042 -348b94c,ac407e48 -348b950,3c02801c -348b954,344284a0 -348b958,94430014 -348b95c,3c028040 -348b960,8c421d90 -348b964,10400800 -348b968,3c02801c -348b96c,27bdff80 -348b970,afbf007c -348b974,afbe0078 -348b978,afb70074 -348b97c,afb60070 -348b980,afb5006c -348b984,afb40068 -348b988,afb30064 -348b98c,afb20060 -348b990,afb1005c -348b994,afb00058 -348b998,808025 -348b99c,344284a0 -348b9a0,3c040001 -348b9a4,441021 -348b9a8,94440934 -348b9ac,24020006 -348b9b0,548207e2 -348b9b4,8fbf007c -348b9b8,3c02801c -348b9bc,344284a0 -348b9c0,3c040001 -348b9c4,441021 -348b9c8,94420948 -348b9cc,144007da -348b9d0,3c02801c -348b9d4,344284a0 -348b9d8,441021 -348b9dc,94420944 -348b9e0,50400005 -348b9e4,3c02801c -348b9e8,24040003 -348b9ec,144407d3 -348b9f0,8fbf007c -348b9f4,3c02801c -348b9f8,344284a0 -348b9fc,3c040001 -348ba00,441021 -348ba04,84420978 -348ba08,24040016 -348ba0c,54440007 -348ba10,24040017 -348ba14,3c028040 -348ba18,94426134 -348ba1c,10400009 -348ba20,3062ffff -348ba24,100007c5 -348ba28,8fbf007c -348ba2c,14440005 -348ba30,3062ffff -348ba34,3c028040 -348ba38,94426136 -348ba3c,144007be -348ba40,3062ffff -348ba44,30630700 -348ba48,5060000b -348ba4c,21400 -348ba50,3c038040 -348ba54,90630c91 -348ba58,546007aa -348ba5c,8e030004 -348ba60,21c00 -348ba64,31c03 -348ba68,46107b4 -348ba6c,8fbf007c -348ba70,10000794 -348ba74,8e030004 -348ba78,21403 -348ba7c,4420799 -348ba80,8e020004 -348ba84,100007ad -348ba88,8fbf007c -348ba8c,3c038040 -348ba90,90630c91 -348ba94,10600348 -348ba98,30430400 -348ba9c,3c028042 -348baa0,24030001 -348baa4,ac437e48 -348baa8,3c028011 -348baac,3442a5d0 -348bab0,94430f2e -348bab4,3c028040 -348bab8,8c421d9c -348babc,10400018 -348bac0,2025 -348bac4,3c028040 -348bac8,8c421da4 -348bacc,10400005 -348bad0,3c028040 -348bad4,30620001 -348bad8,10400005 -348badc,3c028040 -348bae0,3c028040 -348bae4,8c421da8 -348bae8,14400771 -348baec,3c028040 -348baf0,8c421da4 -348baf4,10400004 -348baf8,2025 -348bafc,30630002 -348bb00,5060000c -348bb04,afa00044 -348bb08,3c028040 -348bb0c,8c421da8 -348bb10,50400008 -348bb14,afa00044 -348bb18,10000003 -348bb1c,24020001 -348bb20,10000004 -348bb24,afa00044 -348bb28,10000002 -348bb2c,afa20044 -348bb30,afa20044 -348bb34,3c028040 -348bb38,8c431d94 -348bb3c,afa30050 -348bb40,3c028040 -348bb44,90426d5c -348bb48,38540001 -348bb4c,2e940001 -348bb50,2694000d -348bb54,14600002 -348bb58,24060025 -348bb5c,603025 -348bb60,3c038040 -348bb64,90631d7c -348bb68,3182b -348bb6c,31823 -348bb70,24050001 -348bb74,10450003 -348bb78,30630042 -348bb7c,10000002 -348bb80,2405000b -348bb84,2405000e -348bb88,51040 -348bb8c,451021 -348bb90,21040 -348bb94,24420050 -348bb98,461021 -348bb9c,431021 -348bba0,141840 -348bba4,741821 -348bba8,31880 -348bbac,26850001 -348bbb0,651821 -348bbb4,24050140 -348bbb8,a22823 -348bbbc,597c2 -348bbc0,2459021 -348bbc4,129043 -348bbc8,240500f0 -348bbcc,a32823 -348bbd0,5bfc2 -348bbd4,2e5b821 -348bbd8,17b843 -348bbdc,26450001 -348bbe0,afa50038 -348bbe4,26e50001 -348bbe8,afa5003c -348bbec,8e050008 -348bbf0,24a60008 -348bbf4,ae060008 -348bbf8,3c06fcff -348bbfc,34c6ffff -348bc00,aca60000 -348bc04,3c06fffd -348bc08,34c6f6fb -348bc0c,aca60004 -348bc10,8e050008 -348bc14,24a60008 -348bc18,ae060008 -348bc1c,3c06fa00 -348bc20,aca60000 -348bc24,240600d0 -348bc28,aca60004 -348bc2c,521021 -348bc30,21380 -348bc34,771821 -348bc38,31880 -348bc3c,431025 -348bc40,3c03e400 -348bc44,431025 -348bc48,afa20020 -348bc4c,121380 -348bc50,171880 -348bc54,431025 -348bc58,afa20024 -348bc5c,3c02e100 -348bc60,afa20028 -348bc64,afa0002c -348bc68,3c02f100 -348bc6c,afa20030 -348bc70,3c020400 -348bc74,24420400 -348bc78,afa20034 -348bc7c,27a20020 -348bc80,27a80038 -348bc84,8e030008 -348bc88,24650008 -348bc8c,ae050008 -348bc90,8c470004 -348bc94,8c460000 -348bc98,ac670004 -348bc9c,24420008 -348bca0,1502fff8 -348bca4,ac660000 -348bca8,8e020008 -348bcac,24430008 -348bcb0,ae030008 -348bcb4,3c03e700 -348bcb8,ac430000 -348bcbc,ac400004 -348bcc0,8e020008 -348bcc4,24430008 -348bcc8,ae030008 -348bccc,3c03fc11 -348bcd0,34639623 -348bcd4,ac430000 -348bcd8,3c03ff2f -348bcdc,3463ffff -348bce0,10800057 -348bce4,ac430004 -348bce8,3c058042 -348bcec,24a53ee0 -348bcf0,94a70008 -348bcf4,3025 -348bcf8,c1046ee -348bcfc,2002025 -348bd00,3c118042 -348bd04,26313acc -348bd08,8fb3003c -348bd0c,2636011e -348bd10,3c158040 -348bd14,3c1e8040 -348bd18,27de1dac -348bd1c,3c028042 -348bd20,24423ab4 -348bd24,afa20048 -348bd28,3c028042 -348bd2c,24423ee0 -348bd30,afa2004c -348bd34,8ea21da0 -348bd38,5040000b -348bd3c,92220000 -348bd40,92230000 -348bd44,3c028011 -348bd48,3442a5d0 -348bd4c,431021 -348bd50,904200a8 -348bd54,21042 -348bd58,30420001 -348bd5c,50400036 -348bd60,26310016 -348bd64,92220000 -348bd68,5e1021 -348bd6c,80420000 -348bd70,28430003 -348bd74,54600030 -348bd78,26310016 -348bd7c,2446fffd -348bd80,28c30003 -348bd84,50600004 -348bd88,24020003 -348bd8c,2442fffe -348bd90,1000000d -348bd94,afa20040 -348bd98,10c20007 -348bd9c,24020004 -348bda0,10c20008 -348bda4,24020005 -348bda8,50c20007 -348bdac,afa00040 -348bdb0,10000006 -348bdb4,8fa20040 -348bdb8,24020005 -348bdbc,10000002 -348bdc0,afa20040 -348bdc4,afa60040 -348bdc8,8fa20040 -348bdcc,21880 -348bdd0,8fa20048 -348bdd4,431821 -348bdd8,90620001 -348bddc,21600 -348bde0,90640003 -348bde4,42200 -348bde8,441025 -348bdec,90630002 -348bdf0,31c00 -348bdf4,431025 -348bdf8,344200ff -348bdfc,8e030008 -348be00,24640008 -348be04,ae040008 -348be08,3c04fa00 -348be0c,ac640000 -348be10,ac620004 -348be14,2402000c -348be18,afa20018 -348be1c,afa20014 -348be20,afb30010 -348be24,8fa70038 -348be28,8fa5004c -348be2c,c10493a -348be30,2002025 -348be34,26310016 -348be38,16d1ffbe -348be3c,2673000d -348be40,8e020008 -348be44,24430008 -348be48,ae030008 -348be4c,3c03fa00 -348be50,ac430000 -348be54,2403ffff -348be58,ac430004 -348be5c,8fa20044 -348be60,5040002f -348be64,2652000e -348be68,3c058042 -348be6c,24a53ef0 -348be70,94a70008 -348be74,3025 -348be78,c1046ee -348be7c,2002025 -348be80,3c118042 -348be84,26313acc -348be88,8fb3003c -348be8c,2636011e -348be90,3c158040 -348be94,3c1e8040 -348be98,27de1dac -348be9c,3c028042 -348bea0,24423ef0 -348bea4,afa20040 -348bea8,8ea21da0 -348beac,5040000b -348beb0,92220000 -348beb4,92230000 -348beb8,3c028011 -348bebc,3442a5d0 -348bec0,431021 -348bec4,904200a8 -348bec8,21042 -348becc,30420001 -348bed0,50400010 -348bed4,26310016 -348bed8,92220000 -348bedc,5e1021 -348bee0,80460000 -348bee4,2cc20003 -348bee8,5040000a -348beec,26310016 -348bef0,2402000c -348bef4,afa20018 -348bef8,afa20014 -348befc,afb30010 -348bf00,8fa70038 -348bf04,8fa50040 -348bf08,c10493a -348bf0c,2002025 -348bf10,26310016 -348bf14,16d1ffe4 -348bf18,2673000d -348bf1c,2652000e -348bf20,3c138042 -348bf24,26733acf -348bf28,26f10002 -348bf2c,141040 -348bf30,541021 -348bf34,21080 -348bf38,541021 -348bf3c,afa2004c -348bf40,24550002 -348bf44,2b7a821 -348bf48,24070006 -348bf4c,2203025 -348bf50,2402825 -348bf54,c1078a2 -348bf58,2602025 -348bf5c,2631000d -348bf60,16b1fff9 -348bf64,26730016 -348bf68,afa00010 -348bf6c,3825 -348bf70,2406000b -348bf74,24050006 -348bf78,c1078d4 -348bf7c,2002025 -348bf80,3c028040 -348bf84,90436d5c -348bf88,24020001 -348bf8c,14620002 -348bf90,24020008 -348bf94,2402000b -348bf98,2a840 -348bf9c,2a2a821 -348bfa0,15a840 -348bfa4,26b50001 -348bfa8,2b2a821 -348bfac,24070001 -348bfb0,24060011 -348bfb4,3c058042 -348bfb8,24a53ec0 -348bfbc,c1046ee -348bfc0,2002025 -348bfc4,3c138042 -348bfc8,26733acc -348bfcc,26f60002 -348bfd0,148840 -348bfd4,2348821 -348bfd8,118880 -348bfdc,2348823 -348bfe0,118840 -348bfe4,2338821 -348bfe8,2c0a025 -348bfec,2609025 -348bff0,3c1e8011 -348bff4,37dea5d0 -348bff8,3c024f28 -348bffc,24424f29 -348c000,afa20038 -348c004,82420001 -348c008,4430028 -348c00c,26520016 -348c010,92440000 -348c014,3c41021 -348c018,804300bc -348c01c,410c0 -348c020,441023 -348c024,21080 -348c028,3c21021 -348c02c,804200e5 -348c030,8fa40038 -348c034,afa40020 -348c038,1860000b -348c03c,a3a00024 -348c040,602025 -348c044,2863000a -348c048,50600001 -348c04c,24040009 -348c050,41e00 -348c054,31e03 -348c058,4620001 -348c05c,2025 -348c060,24840030 -348c064,a3a40020 -348c068,1840000a -348c06c,401825 -348c070,2842000a -348c074,50400001 -348c078,24030009 -348c07c,31600 -348c080,21603 -348c084,4420001 -348c088,1825 -348c08c,24630030 -348c090,a3a30022 -348c094,24070006 -348c098,2803025 -348c09c,2a02825 -348c0a0,c1078a2 -348c0a4,27a40020 -348c0a8,26520016 -348c0ac,1632ffd5 -348c0b0,2694000d -348c0b4,afa00010 -348c0b8,3825 -348c0bc,2406000b -348c0c0,24050006 -348c0c4,c1078d4 -348c0c8,2002025 -348c0cc,26a20019 -348c0d0,afa20044 -348c0d4,24070001 -348c0d8,2406000e -348c0dc,3c058042 -348c0e0,24a53ec0 -348c0e4,c1046ee -348c0e8,2002025 -348c0ec,8fb4003c -348c0f0,afb40038 -348c0f4,2609025 -348c0f8,241e000d -348c0fc,3c028011 -348c100,3442a5d0 -348c104,afa20040 -348c108,3c028042 -348c10c,24423ec0 -348c110,afa20048 -348c114,92430000 -348c118,147e0002 -348c11c,2401025 -348c120,2403000a -348c124,90420001 -348c128,30420040 -348c12c,50400011 -348c130,26520016 -348c134,8fa20040 -348c138,431821 -348c13c,906200a8 -348c140,30420001 -348c144,5040000b -348c148,26520016 -348c14c,2402000c -348c150,afa20018 -348c154,afa20014 -348c158,afb40010 -348c15c,8fa70044 -348c160,3025 -348c164,8fa50048 -348c168,c10493a -348c16c,2002025 -348c170,26520016 -348c174,1632ffe7 -348c178,2694000d -348c17c,24070001 -348c180,2406000a -348c184,3c058042 -348c188,24a53ec0 -348c18c,c1046ee -348c190,2002025 -348c194,3c128042 -348c198,26523acd -348c19c,8fa2004c -348c1a0,24420001 -348c1a4,57b821 -348c1a8,8fb4003c -348c1ac,3c1e8011 -348c1b0,37dea5d0 -348c1b4,3c028042 -348c1b8,24423ec0 -348c1bc,afa20040 -348c1c0,92420000 -348c1c4,30420020 -348c1c8,50400010 -348c1cc,2694000d -348c1d0,8fc200a4 -348c1d4,3c030040 -348c1d8,431024 -348c1dc,5040000b -348c1e0,2694000d -348c1e4,2402000c -348c1e8,afa20018 -348c1ec,afa20014 -348c1f0,afb40010 -348c1f4,8fa70044 -348c1f8,3025 -348c1fc,8fa50040 -348c200,c10493a -348c204,2002025 -348c208,2694000d -348c20c,1697ffec -348c210,26520016 -348c214,26a20026 -348c218,afa20040 -348c21c,24070001 -348c220,24060010 -348c224,3c058042 -348c228,24a53ec0 -348c22c,c1046ee -348c230,2002025 -348c234,8fb4003c -348c238,2609025 -348c23c,3c178011 -348c240,36f7a5d0 -348c244,241e000c -348c248,3c028042 -348c24c,24423ec0 -348c250,afa20044 -348c254,92420001 -348c258,30420010 -348c25c,50400011 -348c260,26520016 -348c264,92420000 -348c268,2e21021 -348c26c,904200a8 -348c270,21082 -348c274,30420001 -348c278,5040000a -348c27c,26520016 -348c280,afbe0018 -348c284,afbe0014 -348c288,afb40010 -348c28c,8fa70040 -348c290,3025 -348c294,8fa50044 -348c298,c10493a -348c29c,2002025 -348c2a0,26520016 -348c2a4,1651ffeb -348c2a8,2694000d -348c2ac,26a20033 -348c2b0,afa20040 -348c2b4,24070001 -348c2b8,2406000f -348c2bc,3c058042 -348c2c0,24a53ec0 -348c2c4,c1046ee -348c2c8,2002025 -348c2cc,8fb4003c -348c2d0,2609025 -348c2d4,3c178011 -348c2d8,36f7a5d0 -348c2dc,241e000c -348c2e0,3c028042 -348c2e4,24423ec0 -348c2e8,afa20044 -348c2ec,92420001 -348c2f0,30420010 -348c2f4,50400011 -348c2f8,26520016 -348c2fc,92420000 -348c300,2e21021 -348c304,904200a8 -348c308,21042 -348c30c,30420001 -348c310,5040000a -348c314,26520016 -348c318,afbe0018 -348c31c,afbe0014 -348c320,afb40010 -348c324,8fa70040 -348c328,3025 -348c32c,8fa50044 -348c330,c10493a -348c334,2002025 -348c338,26520016 -348c33c,1651ffeb -348c340,2694000d -348c344,26a20040 -348c348,afa20040 -348c34c,24070001 -348c350,2406000b -348c354,3c058042 -348c358,24a53ec0 -348c35c,c1046ee -348c360,2002025 -348c364,8fb4003c -348c368,2609025 -348c36c,3c178011 -348c370,36f7a5d0 -348c374,241e000c -348c378,3c028042 -348c37c,24423ec0 -348c380,afa2003c -348c384,92430002 -348c388,50600010 -348c38c,26520016 -348c390,92420000 -348c394,38420003 -348c398,2e21021 -348c39c,90420e9c -348c3a0,5443000a -348c3a4,26520016 -348c3a8,afbe0018 -348c3ac,afbe0014 -348c3b0,afb40010 -348c3b4,8fa70040 -348c3b8,3025 -348c3bc,8fa5003c -348c3c0,c10493a -348c3c4,2002025 -348c3c8,26520016 -348c3cc,1651ffed -348c3d0,2694000d -348c3d4,8fa20050 -348c3d8,1040002a -348c3dc,26be004d -348c3e0,2677011e -348c3e4,2c08825 -348c3e8,3c148040 -348c3ec,3c128040 -348c3f0,26521dba -348c3f4,3c028042 -348c3f8,2442fd5c -348c3fc,afa2003c -348c400,3c028042 -348c404,2442fd60 -348c408,afa20040 -348c40c,8e821d98 -348c410,5040000f -348c414,92620000 -348c418,92620001 -348c41c,30420010 -348c420,5040000b -348c424,92620000 -348c428,3c028011 -348c42c,3442a5d0 -348c430,92630000 -348c434,431021 -348c438,904200a8 -348c43c,21082 -348c440,30420001 -348c444,5040000c -348c448,26730016 -348c44c,92620000 -348c450,521021 -348c454,90420000 -348c458,14400002 -348c45c,8fa4003c -348c460,8fa40040 -348c464,24070006 -348c468,2203025 -348c46c,c1078a2 -348c470,3c02825 -348c474,26730016 -348c478,16f3ffe4 -348c47c,2631000d -348c480,26be0072 -348c484,afa00010 -348c488,3825 -348c48c,2406000b -348c490,24050006 -348c494,c1078d4 -348c498,2002025 -348c49c,3c028040 -348c4a0,90421d7c -348c4a4,104004a3 -348c4a8,24070001 -348c4ac,24060001 -348c4b0,3c058042 -348c4b4,24a53e70 -348c4b8,c1046ee -348c4bc,2002025 -348c4c0,3c028042 -348c4c4,8c423c00 -348c4c8,18400024 -348c4cc,a025 -348c4d0,3c118042 -348c4d4,26313ade -348c4d8,3c158040 -348c4dc,26b51dba -348c4e0,241300ff -348c4e4,3c128043 -348c4e8,26521088 -348c4ec,3c028042 -348c4f0,afa2003c -348c4f4,3c178042 -348c4f8,9222ffee -348c4fc,551021 -348c500,90420000 -348c504,14400002 -348c508,2202025 -348c50c,2624fffc -348c510,801825 -348c514,24840004 -348c518,90620000 -348c51c,10530007 -348c520,521021 -348c524,90420000 -348c528,14400499 -348c52c,2402000c -348c530,24630001 -348c534,5483fff9 -348c538,90620000 -348c53c,26940001 -348c540,8fa20038 -348c544,2442000d -348c548,afa20038 -348c54c,8ee23c00 -348c550,282102a -348c554,1440ffe8 -348c558,26310016 -348c55c,2407000a -348c560,24060010 -348c564,3c058042 -348c568,24a53eb0 -348c56c,c1046ee -348c570,2002025 -348c574,3c028042 -348c578,8c423c00 -348c57c,18400086 -348c580,3c128042 -348c584,26523ade -348c588,b825 -348c58c,3c028040 -348c590,24421dba -348c594,afa20038 -348c598,3c148043 -348c59c,26941088 -348c5a0,3c028042 -348c5a4,244254cc -348c5a8,afa2004c -348c5ac,afb2003c -348c5b0,9242ffee -348c5b4,8fa30038 -348c5b8,431021 -348c5bc,90430000 -348c5c0,14600002 -348c5c4,2401025 -348c5c8,2642fffc -348c5cc,40a825 -348c5d0,24450004 -348c5d4,240400ff -348c5d8,90430000 -348c5dc,10640067 -348c5e0,741821 -348c5e4,90630000 -348c5e8,14600461 -348c5ec,24420001 -348c5f0,54a2fffa -348c5f4,90430000 -348c5f8,10000061 -348c5fc,26f70001 -348c600,92a60000 -348c604,240200ff -348c608,10c2005c -348c60c,8fa2003c -348c610,9042ffee -348c614,8fa30038 -348c618,431021 -348c61c,90480000 -348c620,d41021 -348c624,90510000 -348c628,81040 -348c62c,482021 -348c630,42040 -348c634,62840 -348c638,a61821 -348c63c,31880 -348c640,832021 -348c644,8fa9004c -348c648,1242021 -348c64c,90830002 -348c650,31e00 -348c654,90840004 -348c658,42200 -348c65c,641825 -348c660,481021 -348c664,21040 -348c668,a62821 -348c66c,52880 -348c670,451021 -348c674,1221021 -348c678,90420003 -348c67c,21400 -348c680,621025 -348c684,344200ff -348c688,8e030008 -348c68c,24640008 -348c690,ae040008 -348c694,3c04fa00 -348c698,ac640000 -348c69c,ac620004 -348c6a0,2e22000a -348c6a4,1440000f -348c6a8,2667fffa -348c6ac,3c06cccc -348c6b0,34c6cccd -348c6b4,2260019 -348c6b8,3010 -348c6bc,2402000b -348c6c0,afa20018 -348c6c4,24020006 -348c6c8,afa20014 -348c6cc,8fa20040 -348c6d0,afa20010 -348c6d4,630c2 -348c6d8,8fa50044 -348c6dc,c10493a -348c6e0,2002025 -348c6e4,3c02cccc -348c6e8,3442cccd -348c6ec,2220019 -348c6f0,1010 -348c6f4,210c2 -348c6f8,21880 -348c6fc,621021 -348c700,21040 -348c704,2223023 -348c708,30c600ff -348c70c,14c0040d -348c710,2402000b -348c714,24070001 -348c718,2406002f -348c71c,8fb10044 -348c720,2202825 -348c724,c1046ee -348c728,2002025 -348c72c,2402000b -348c730,afa20018 -348c734,24020006 -348c738,afa20014 -348c73c,8fa20040 -348c740,afa20010 -348c744,2603825 -348c748,3025 -348c74c,2202825 -348c750,c10493a -348c754,2002025 -348c758,2407000a -348c75c,24060010 -348c760,2202825 -348c764,c1046ee -348c768,2002025 -348c76c,2673000f -348c770,8fa20048 -348c774,1662ffa2 -348c778,26b50001 -348c77c,26f70001 -348c780,26d6000d -348c784,3c028042 -348c788,8c423c00 -348c78c,2e2102a -348c790,1440ff86 -348c794,26520016 -348c798,8e020008 -348c79c,24430008 -348c7a0,ae030008 -348c7a4,3c03fa00 -348c7a8,ac430000 -348c7ac,2403ffff -348c7b0,100003e0 -348c7b4,ac430004 -348c7b8,106000c5 -348c7bc,30420100 -348c7c0,3c028042 -348c7c4,24030001 -348c7c8,ac437e48 -348c7cc,3c028011 -348c7d0,3442a5d0 -348c7d4,94430f2e -348c7d8,3c028040 -348c7dc,8c421d9c -348c7e0,10400012 -348c7e4,a825 -348c7e8,3c028040 -348c7ec,8c421da4 -348c7f0,10400010 -348c7f4,24150001 -348c7f8,30620001 -348c7fc,54400006 -348c800,30630002 -348c804,3c028040 -348c808,8c421da4 -348c80c,1040000c -348c810,a825 -348c814,30630002 -348c818,24020001 -348c81c,1460000a -348c820,afa2003c -348c824,10000008 -348c828,afa0003c -348c82c,10000006 -348c830,afa0003c -348c834,24020001 -348c838,10000003 -348c83c,afa2003c -348c840,24020001 -348c844,afa2003c -348c848,3c028042 -348c84c,94423eb4 -348c850,23840 -348c854,e23821 -348c858,73880 -348c85c,e23823 -348c860,73840 -348c864,24e70013 -348c868,24020140 -348c86c,471023 -348c870,21fc2 -348c874,621021 -348c878,22843 -348c87c,afa50038 -348c880,24b40001 -348c884,2402009a -348c888,afa20010 -348c88c,2406002b -348c890,c102cc7 -348c894,2002025 -348c898,3c058042 -348c89c,24a53ee0 -348c8a0,94a70008 -348c8a4,3025 -348c8a8,c1046ee -348c8ac,2002025 -348c8b0,3c118042 -348c8b4,26313ab4 -348c8b8,2412005f -348c8bc,3c1efa00 -348c8c0,24130010 -348c8c4,3c168042 -348c8c8,26d63ee0 -348c8cc,241700c5 -348c8d0,92220001 -348c8d4,21600 -348c8d8,92230003 -348c8dc,31a00 -348c8e0,431025 -348c8e4,92230002 -348c8e8,31c00 -348c8ec,431025 -348c8f0,344200ff -348c8f4,8e030008 -348c8f8,24640008 -348c8fc,ae040008 -348c900,ac7e0000 -348c904,ac620004 -348c908,afb30018 -348c90c,afb30014 -348c910,afb20010 -348c914,2803825 -348c918,92260000 -348c91c,2c02825 -348c920,c10493a -348c924,2002025 -348c928,26520011 -348c92c,1657ffe8 -348c930,26310004 -348c934,100003a2 -348c938,8e020008 -348c93c,afb30018 -348c940,afb30014 -348c944,afb20010 -348c948,2803825 -348c94c,2203025 -348c950,2e02825 -348c954,c10493a -348c958,2002025 -348c95c,26310001 -348c960,1636fff6 -348c964,26520011 -348c968,8fa20038 -348c96c,24420012 -348c970,afa20038 -348c974,3c138040 -348c978,26731de0 -348c97c,24120001 -348c980,8825 -348c984,3c168042 -348c988,26d63aa8 -348c98c,3c1e8040 -348c990,24170001 -348c994,3c028042 -348c998,afa20040 -348c99c,3c148040 -348c9a0,26941dac -348c9a4,24423acc -348c9a8,afa20044 -348c9ac,2a230003 -348c9b0,10600006 -348c9b4,2201025 -348c9b8,8fa3003c -348c9bc,14600006 -348c9c0,2d11821 -348c9c4,1000003f -348c9c8,26310001 -348c9cc,52a0003b -348c9d0,2a420009 -348c9d4,2d11821 -348c9d8,90650000 -348c9dc,8fc31da0 -348c9e0,10770005 -348c9e4,24040002 -348c9e8,10640019 -348c9ec,24030003 -348c9f0,1000002c -348c9f4,113100 -348c9f8,8fa20040 -348c9fc,24423acc -348ca00,244600b0 -348ca04,90430000 -348ca08,742021 -348ca0c,80840000 -348ca10,1485000b -348ca14,24420016 -348ca18,3c028011 -348ca1c,3442a5d0 -348ca20,431021 -348ca24,904200a8 -348ca28,21042 -348ca2c,30420001 -348ca30,5440001c -348ca34,113100 -348ca38,10000020 -348ca3c,2a420009 -348ca40,54c2fff1 -348ca44,90430000 -348ca48,10000016 -348ca4c,113100 -348ca50,10430013 -348ca54,28430003 -348ca58,38630001 -348ca5c,431023 -348ca60,21840 -348ca64,621821 -348ca68,31880 -348ca6c,621023 -348ca70,21040 -348ca74,8fa30044 -348ca78,431021 -348ca7c,90430000 -348ca80,3c028011 -348ca84,3442a5d0 -348ca88,431021 -348ca8c,904200a8 -348ca90,21042 -348ca94,30420001 -348ca98,10400008 -348ca9c,2a420009 -348caa0,113100 -348caa4,d13021 -348caa8,24c6002d -348caac,8fa50038 -348cab0,c1078cc -348cab4,2602025 -348cab8,2a420009 -348cabc,1040031d -348cac0,26310001 -348cac4,26520001 -348cac8,1000ffb8 -348cacc,26730017 -348cad0,10400200 -348cad4,3c028042 -348cad8,24020001 -348cadc,3c038042 -348cae0,ac627e48 -348cae4,3c038040 -348cae8,90636d5c -348caec,10620005 -348caf0,2415000a -348caf4,14600005 -348caf8,24150009 -348cafc,10000004 -348cb00,2403000c -348cb04,10000002 -348cb08,2403000f -348cb0c,2403000f -348cb10,3c028042 -348cb14,94423eb4 -348cb18,430018 -348cb1c,3812 -348cb20,3c038040 -348cb24,90631d7c -348cb28,1060000c -348cb2c,24e70014 -348cb30,210c0 -348cb34,24420020 -348cb38,e23821 -348cb3c,3c028040 -348cb40,90421dbb -348cb44,2102b -348cb48,2a2a821 -348cb4c,3c028040 -348cb50,90421dc3 -348cb54,2c420001 -348cb58,2a2a821 -348cb5c,151100 -348cb60,26a30001 -348cb64,431021 -348cb68,24030140 -348cb6c,671823 -348cb70,32fc2 -348cb74,a32821 -348cb78,52843 -348cb7c,240300f0 -348cb80,621823 -348cb84,3a7c2 -348cb88,283a021 -348cb8c,14a043 -348cb90,24be0001 -348cb94,26830001 -348cb98,afa3003c -348cb9c,afa20010 -348cba0,2803025 -348cba4,c102cc7 -348cba8,2002025 -348cbac,8e020008 -348cbb0,24430008 -348cbb4,ae030008 -348cbb8,3c03fa00 -348cbbc,ac430000 -348cbc0,2403ffff -348cbc4,ac430004 -348cbc8,26930002 -348cbcc,8825 -348cbd0,3c168042 -348cbd4,26d63acc -348cbd8,c102d11 -348cbdc,2202025 -348cbe0,22040 -348cbe4,822021 -348cbe8,42080 -348cbec,822023 -348cbf0,42040 -348cbf4,24840003 -348cbf8,2603025 -348cbfc,3c02825 -348cc00,c1078cc -348cc04,2c42021 -348cc08,2209025 -348cc0c,26310001 -348cc10,16b1fff1 -348cc14,26730011 -348cc18,3c028040 -348cc1c,90436d5c -348cc20,24020001 -348cc24,14620002 -348cc28,24030008 -348cc2c,2403000b -348cc30,3c028042 -348cc34,94423eb4 -348cc38,430018 -348cc3c,b812 -348cc40,26f70001 -348cc44,2feb821 -348cc48,24070001 -348cc4c,24060011 -348cc50,3c058042 -348cc54,24a53ec0 -348cc58,c1046ee -348cc5c,2002025 -348cc60,26940002 -348cc64,2809825 -348cc68,8825 -348cc6c,3c158042 -348cc70,26b53acc -348cc74,3c168011 -348cc78,36d6a5d0 -348cc7c,3c1e4f28 -348cc80,10000002 -348cc84,27de4f29 -348cc88,408825 -348cc8c,c102d11 -348cc90,2202025 -348cc94,21840 -348cc98,621821 -348cc9c,31880 -348cca0,621823 -348cca4,31840 -348cca8,2a31821 -348ccac,80630001 -348ccb0,461002a -348ccb4,21840 -348ccb8,621821 -348ccbc,31880 -348ccc0,621023 -348ccc4,21040 -348ccc8,551021 -348cccc,90440000 -348ccd0,2c41021 -348ccd4,804300bc -348ccd8,410c0 -348ccdc,441023 -348cce0,21080 -348cce4,2c21021 -348cce8,804200e5 -348ccec,afbe0020 -348ccf0,1860000b -348ccf4,a3a00024 -348ccf8,602025 -348ccfc,2863000a -348cd00,50600001 -348cd04,24040009 -348cd08,41e00 -348cd0c,31e03 -348cd10,4620001 -348cd14,2025 -348cd18,24840030 -348cd1c,a3a40020 -348cd20,1840000a -348cd24,401825 -348cd28,2842000a -348cd2c,50400001 -348cd30,24030009 -348cd34,31600 -348cd38,21603 -348cd3c,4420001 -348cd40,1825 -348cd44,24630030 -348cd48,a3a30022 -348cd4c,2603025 -348cd50,2e02825 -348cd54,c1078cc -348cd58,27a40020 -348cd5c,26220001 -348cd60,1651ffc9 -348cd64,26730011 -348cd68,3c028042 -348cd6c,94423eb4 -348cd70,21080 -348cd74,24420001 -348cd78,571021 -348cd7c,afa20038 -348cd80,24070001 -348cd84,2406000e -348cd88,3c058042 -348cd8c,24a53ec0 -348cd90,c1046ee -348cd94,2002025 -348cd98,8fb5003c -348cd9c,2a0b025 -348cda0,8825 -348cda4,3c138042 -348cda8,26733acc -348cdac,3c178011 -348cdb0,36f7a5d0 -348cdb4,3c028042 -348cdb8,10000002 -348cdbc,245e3ec0 -348cdc0,408825 -348cdc4,c102d11 -348cdc8,2202025 -348cdcc,21840 -348cdd0,621821 -348cdd4,31880 -348cdd8,621823 -348cddc,31840 -348cde0,731821 -348cde4,90640000 -348cde8,2403000d -348cdec,50830001 -348cdf0,2404000a -348cdf4,21840 -348cdf8,621821 -348cdfc,31880 -348ce00,621023 -348ce04,21040 -348ce08,2621021 -348ce0c,90420001 -348ce10,30420040 -348ce14,10400010 -348ce18,26220001 -348ce1c,2e42021 -348ce20,908200a8 -348ce24,30420001 -348ce28,1040000b -348ce2c,26220001 -348ce30,24020010 -348ce34,afa20018 -348ce38,afa20014 -348ce3c,afb50010 -348ce40,8fa70038 -348ce44,3025 -348ce48,3c02825 -348ce4c,c10493a -348ce50,2002025 -348ce54,26220001 -348ce58,1651ffd9 -348ce5c,26b50011 -348ce60,24070001 -348ce64,2406000a -348ce68,3c058042 -348ce6c,24a53ec0 -348ce70,c1046ee -348ce74,2002025 -348ce78,8fb3003c -348ce7c,8825 -348ce80,3c158042 -348ce84,26b53acc -348ce88,3c178011 -348ce8c,36f7a5d0 -348ce90,3c028042 -348ce94,10000002 -348ce98,245e3ec0 -348ce9c,408825 -348cea0,c102d11 -348cea4,2202025 -348cea8,21840 -348ceac,621821 -348ceb0,31880 -348ceb4,621023 -348ceb8,21040 -348cebc,2a21021 -348cec0,90420001 -348cec4,30420020 -348cec8,10400010 -348cecc,26220001 -348ced0,8ee200a4 -348ced4,3c030040 -348ced8,431024 -348cedc,1040000b -348cee0,26220001 -348cee4,24020010 -348cee8,afa20018 -348ceec,afa20014 -348cef0,afb30010 -348cef4,8fa70038 -348cef8,3025 -348cefc,3c02825 -348cf00,c10493a -348cf04,2002025 -348cf08,26220001 -348cf0c,1651ffe3 -348cf10,26730011 -348cf14,3c028040 -348cf18,90421d7c -348cf1c,10400205 -348cf20,8fa20038 -348cf24,24420011 -348cf28,afa2003c -348cf2c,24070001 -348cf30,24060001 -348cf34,3c058042 -348cf38,24a53e70 -348cf3c,c1046ee -348cf40,2002025 -348cf44,8825 -348cf48,3c178042 -348cf4c,26f73acc -348cf50,3c1e8040 -348cf54,27de1dba -348cf58,241500ff -348cf5c,3c138043 -348cf60,26731088 -348cf64,3c028042 -348cf68,24423e70 -348cf6c,10000002 -348cf70,afa20040 -348cf74,408825 -348cf78,c102d11 -348cf7c,2202025 -348cf80,21840 -348cf84,621821 -348cf88,31880 -348cf8c,621823 -348cf90,31840 -348cf94,771821 -348cf98,90630000 -348cf9c,7e1821 -348cfa0,90630000 -348cfa4,10600008 -348cfa8,21840 -348cfac,621821 -348cfb0,31880 -348cfb4,621023 -348cfb8,21040 -348cfbc,24420012 -348cfc0,10000007 -348cfc4,2e21021 -348cfc8,621821 -348cfcc,31880 -348cfd0,621023 -348cfd4,21040 -348cfd8,2442000e -348cfdc,2e21021 -348cfe0,402025 -348cfe4,24420004 -348cfe8,90830000 -348cfec,10750006 -348cff0,731821 -348cff4,90630000 -348cff8,14600222 -348cffc,24840001 -348d000,5482fffa -348d004,90830000 -348d008,26220001 -348d00c,1651ffd9 -348d010,26d60011 -348d014,8fa20038 -348d018,24420022 -348d01c,afa2004c -348d020,2407000a -348d024,24060010 -348d028,3c058042 -348d02c,24a53eb0 -348d030,c1046ee -348d034,2002025 -348d038,f025 -348d03c,3c028042 -348d040,24423acc -348d044,afa20040 -348d048,3c028040 -348d04c,24421dba -348d050,afa20038 -348d054,3c178043 -348d058,26f71088 -348d05c,3c168042 -348d060,10000002 -348d064,26d63eb0 -348d068,40f025 -348d06c,c102d11 -348d070,3c02025 -348d074,21840 -348d078,621821 -348d07c,31880 -348d080,621823 -348d084,31840 -348d088,8fa40040 -348d08c,641821 -348d090,90630000 -348d094,8fa50038 -348d098,651821 -348d09c,90630000 -348d0a0,10600008 -348d0a4,28840 -348d0a8,2228821 -348d0ac,118880 -348d0b0,2228823 -348d0b4,118840 -348d0b8,26310012 -348d0bc,10000008 -348d0c0,918821 -348d0c4,2228821 -348d0c8,118880 -348d0cc,2228823 -348d0d0,118840 -348d0d4,2631000e -348d0d8,8fa30040 -348d0dc,718821 -348d0e0,2202025 -348d0e4,26260004 -348d0e8,240500ff -348d0ec,90830000 -348d0f0,10650073 -348d0f4,771821 -348d0f8,90630000 -348d0fc,146001d6 -348d100,24840001 -348d104,5486fffa -348d108,90830000 -348d10c,1000006d -348d110,27c20001 -348d114,2351021 -348d118,90470000 -348d11c,240200ff -348d120,10e20067 -348d124,8fa20048 -348d128,90420000 -348d12c,8fa30038 -348d130,431021 -348d134,90480000 -348d138,f71021 -348d13c,90530000 -348d140,96c20004 -348d144,550018 -348d148,1012 -348d14c,21040 -348d150,8fa3004c -348d154,431021 -348d158,151880 -348d15c,431021 -348d160,afa2003c -348d164,3c038042 -348d168,246654cc -348d16c,81840 -348d170,682021 -348d174,42040 -348d178,72840 -348d17c,a71021 -348d180,21080 -348d184,822021 -348d188,c42021 -348d18c,90820002 -348d190,21600 -348d194,90840004 -348d198,42200 -348d19c,441025 -348d1a0,681821 -348d1a4,31840 -348d1a8,a72821 -348d1ac,52880 -348d1b0,651821 -348d1b4,c31821 -348d1b8,90630003 -348d1bc,31c00 -348d1c0,431025 -348d1c4,344200ff -348d1c8,8e030008 -348d1cc,24640008 -348d1d0,ae040008 -348d1d4,3c04fa00 -348d1d8,ac640000 -348d1dc,ac620004 -348d1e0,2e62000a -348d1e4,14400011 -348d1e8,3c02cccc -348d1ec,3c06cccc -348d1f0,34c6cccd -348d1f4,2660019 -348d1f8,3010 -348d1fc,96c20006 -348d200,afa20018 -348d204,96c20004 -348d208,afa20014 -348d20c,8fa20044 -348d210,afa20010 -348d214,8fa7003c -348d218,630c2 -348d21c,2c02825 -348d220,c10493a -348d224,2002025 -348d228,3c02cccc -348d22c,3442cccd -348d230,2620019 -348d234,1010 -348d238,210c2 -348d23c,21880 -348d240,621021 +348a5b0,ae030008 +348a5b4,3c03fa00 +348a5b8,ac430000 +348a5bc,2403ffff +348a5c0,ac430004 +348a5c4,3c028043 +348a5c8,9042d752 +348a5cc,2442ffea +348a5d0,304200ff +348a5d4,2c420009 +348a5d8,10400295 +348a5dc,8fbf0084 +348a5e0,3c138042 +348a5e4,26737bc4 +348a5e8,24110029 +348a5ec,24120016 +348a5f0,3c158043 +348a5f4,26b5d74c +348a5f8,26820006 +348a5fc,afa20048 +348a600,241e000b +348a604,24170006 +348a608,2416009e +348a60c,82a20006 +348a610,50520009 +348a614,26520001 +348a618,afbe0014 +348a61c,afb70010 +348a620,2203825 +348a624,8fa60048 +348a628,2602825 +348a62c,c108a2d +348a630,2002025 +348a634,26520001 +348a638,2631000d +348a63c,1636fff3 +348a640,26730022 +348a644,3c028043 +348a648,8043d752 +348a64c,8e020008 +348a650,24440008 +348a654,ae040008 +348a658,3c04fa00 +348a65c,ac440000 +348a660,3c04e0e0 +348a664,248410ff +348a668,ac440004 +348a66c,2462ffea +348a670,23840 +348a674,e23821 +348a678,73880 +348a67c,e23821 +348a680,31100 +348a684,431021 +348a688,21040 +348a68c,24420004 +348a690,2403000b +348a694,afa30014 +348a698,24030006 +348a69c,afa30010 +348a6a0,24e70029 +348a6a4,26860006 +348a6a8,3c058042 +348a6ac,24a578d4 +348a6b0,a22821 +348a6b4,c108a2d +348a6b8,2002025 +348a6bc,1000025c +348a6c0,8fbf0084 +348a6c4,26527815 +348a6c8,24130029 +348a6cc,8825 +348a6d0,3c158043 +348a6d4,26b5d74c +348a6d8,26820006 +348a6dc,afa20048 +348a6e0,241e000b +348a6e4,24170006 +348a6e8,2416000c +348a6ec,82a20007 +348a6f0,50510009 +348a6f4,26310001 +348a6f8,afbe0014 +348a6fc,afb70010 +348a700,2603825 +348a704,8fa60048 +348a708,2402825 +348a70c,c108a2d +348a710,2002025 +348a714,26310001 +348a718,26520010 +348a71c,1636fff3 +348a720,2673000d +348a724,3c028043 +348a728,8042d753 +348a72c,8e030008 +348a730,24640008 +348a734,ae040008 +348a738,3c04fa00 +348a73c,ac640000 +348a740,3c04e0e0 +348a744,248410ff +348a748,ac640004 +348a74c,23840 +348a750,e23821 +348a754,73880 +348a758,e23821 +348a75c,21100 +348a760,24420001 +348a764,2403000b +348a768,afa30014 +348a76c,24030006 +348a770,afa30010 +348a774,24e70029 +348a778,26860006 +348a77c,3c058042 +348a780,24a57814 +348a784,a22821 +348a788,c108a2d +348a78c,2002025 +348a790,10000227 +348a794,8fbf0084 +348a798,2484d74c +348a79c,80830007 +348a7a0,24630386 +348a7a4,318c0 +348a7a8,3c02801c +348a7ac,344284a0 +348a7b0,431021 +348a7b4,8c530004 +348a7b8,80830008 +348a7bc,3c026666 +348a7c0,24426667 +348a7c4,620018 +348a7c8,1010 +348a7cc,21083 +348a7d0,31fc3 +348a7d4,431023 +348a7d8,12600214 +348a7dc,304200ff +348a7e0,26830001 +348a7e4,2b880 +348a7e8,2e2b821 +348a7ec,17b840 +348a7f0,24420001 +348a7f4,22080 +348a7f8,821021 +348a7fc,21040 +348a800,afa20048 +348a804,8825 +348a808,3c028043 +348a80c,2442d74c +348a810,afa2004c +348a814,3063ffff +348a818,afa30050 +348a81c,2462007d +348a820,21400 +348a824,21403 +348a828,afa20054 +348a82c,2462009b +348a830,21400 +348a834,21403 +348a838,afa20058 +348a83c,26310001 +348a840,323100ff +348a844,2f1102a +348a848,10400005 +348a84c,2209025 +348a850,8fa20048 +348a854,51102a +348a858,10400003 +348a85c,8fa2004c +348a860,10000062 +348a864,8e730124 +348a868,80420008 +348a86c,24420001 +348a870,5622018c +348a874,8e020008 +348a878,24020005 +348a87c,afa20010 +348a880,3825 +348a884,2406007d +348a888,24054000 +348a88c,c009c24 +348a890,2602025 +348a894,8e020008 +348a898,24430008 +348a89c,ae030008 +348a8a0,3c03fa00 +348a8a4,ac430000 +348a8a8,3c03e0e0 +348a8ac,246310ff +348a8b0,ac430004 +348a8b4,2652ffff +348a8b8,3c026666 +348a8bc,24426667 +348a8c0,2420018 +348a8c4,1010 +348a8c8,21083 +348a8cc,121fc3 +348a8d0,431023 +348a8d4,21880 +348a8d8,621021 +348a8dc,21040 +348a8e0,2429023 +348a8e4,121040 +348a8e8,521021 +348a8ec,21080 +348a8f0,529021 +348a8f4,27a50038 +348a8f8,c102345 +348a8fc,86640000 +348a900,265e0029 +348a904,2416000b +348a908,afb60014 +348a90c,24150006 +348a910,afb50010 +348a914,3c03825 +348a918,26860006 +348a91c,27a50038 +348a920,c108a2d +348a924,2002025 +348a928,27a50020 +348a92c,c102345 +348a930,2602025 +348a934,afb60014 +348a938,afb50010 +348a93c,3c03825 +348a940,2686002b +348a944,27a50020 +348a948,c108a2d +348a94c,2002025 +348a950,1e9400 +348a954,129403 +348a958,c6600024 +348a95c,afb60018 +348a960,afb50014 +348a964,8fa20044 +348a968,afa20010 +348a96c,2403825 +348a970,8fa60054 +348a974,4600000d +348a978,44050000 +348a97c,c108a5d +348a980,2002025 +348a984,c6600028 +348a988,afb60018 +348a98c,afb50014 +348a990,8fa20044 +348a994,afa20010 +348a998,2403825 +348a99c,8fa60058 +348a9a0,4600000d +348a9a4,44050000 +348a9a8,c108a5d +348a9ac,2002025 +348a9b0,8fa20050 +348a9b4,244600b9 +348a9b8,c660002c +348a9bc,afb60018 +348a9c0,afb50014 +348a9c4,8fa20044 +348a9c8,afa20010 +348a9cc,2403825 +348a9d0,63400 +348a9d4,63403 +348a9d8,4600000d +348a9dc,44050000 +348a9e0,c108a5d +348a9e4,2002025 +348a9e8,8e730124 +348a9ec,1660ff94 +348a9f0,26310001 +348a9f4,1000018e +348a9f8,8fbf0084 +348a9fc,24020001 +348aa00,1462018b +348aa04,8fbf0084 +348aa08,3c028043 +348aa0c,8043d755 +348aa10,3c022aaa +348aa14,3442aaab +348aa18,620018 +348aa1c,1010 +348aa20,21043 +348aa24,31fc3 +348aa28,431023 +348aa2c,304200ff +348aa30,2f040 +348aa34,3c2f021 +348aa38,1ef080 +348aa3c,24420001 +348aa40,21840 +348aa44,621021 +348aa48,21080 +348aa4c,afa20048 +348aa50,3c13800f +348aa54,26738540 +348aa58,9025 +348aa5c,b825 +348aa60,3c028043 +348aa64,2442d74c +348aa68,afa20050 +348aa6c,3c02e0e0 +348aa70,244210ff +348aa74,afa20054 +348aa78,8e750000 +348aa7c,52a0003c +348aa80,26520001 +348aa84,26310001 +348aa88,323100ff +348aa8c,3d1102a +348aa90,50400037 +348aa94,26520001 +348aa98,8fa20048 +348aa9c,51102a +348aaa0,54400033 +348aaa4,26520001 +348aaa8,26f70001 +348aaac,8fa20050 +348aab0,80420009 +348aab4,24420001 +348aab8,16220117 +348aabc,32f700ff +348aac0,1000010e +348aac4,8e020008 +348aac8,27a50038 +348aacc,c102345 +348aad0,2402025 +348aad4,26e3ffff +348aad8,3c022aaa +348aadc,3442aaab +348aae0,620018 +348aae4,1010 +348aae8,21043 +348aaec,327c3 +348aaf0,441023 +348aaf4,22040 +348aaf8,821021 +348aafc,21080 +348ab00,621823 +348ab04,3b040 +348ab08,2c3b021 +348ab0c,16b080 +348ab10,2c3b021 +348ab14,26c20029 +348ab18,2403000b +348ab1c,afa30014 +348ab20,24160006 +348ab24,afb60010 +348ab28,afa2004c +348ab2c,403825 +348ab30,26860006 +348ab34,27a50038 +348ab38,c108a2d +348ab3c,2002025 +348ab40,27a50020 +348ab44,c102345 +348ab48,2a02025 +348ab4c,2403000b +348ab50,afa30014 +348ab54,afb60010 +348ab58,8fa7004c +348ab5c,26860042 +348ab60,27a50020 +348ab64,c108a2d +348ab68,2002025 +348ab6c,26520001 +348ab70,24020192 +348ab74,1642ffc0 +348ab78,26730020 +348ab7c,1000012c +348ab80,8fbf0084 +348ab84,265277b5 +348ab88,24130029 +348ab8c,8825 +348ab90,3c168043 +348ab94,26d6d74c +348ab98,269e0006 +348ab9c,2417000b +348aba0,24150006 +348aba4,82c2000a +348aba8,50510009 +348abac,26310001 +348abb0,afb70014 +348abb4,afb50010 +348abb8,2603825 +348abbc,3c03025 +348abc0,2402825 +348abc4,c108a2d +348abc8,2002025 +348abcc,26310001 +348abd0,26520010 +348abd4,1635fff3 +348abd8,2673000d +348abdc,3c028043 +348abe0,8042d756 +348abe4,8e030008 +348abe8,24640008 +348abec,ae040008 +348abf0,3c04fa00 +348abf4,ac640000 +348abf8,3c04e0e0 +348abfc,248410ff +348ac00,ac640004 +348ac04,23840 +348ac08,e23821 +348ac0c,73880 +348ac10,e23821 +348ac14,21100 +348ac18,24420001 +348ac1c,2403000b +348ac20,afa30014 +348ac24,24030006 +348ac28,afa30010 +348ac2c,24e70029 +348ac30,26860006 +348ac34,3c058042 +348ac38,24a577b4 +348ac3c,a22821 +348ac40,c108a2d +348ac44,2002025 +348ac48,3c028043 +348ac4c,8043d74d +348ac50,24020002 +348ac54,146200f6 +348ac58,8fbf0084 +348ac5c,3c118043 +348ac60,2631d74c +348ac64,8222000a +348ac68,8e030008 +348ac6c,24640008 +348ac70,ae040008 +348ac74,3c04fa00 +348ac78,ac640000 +348ac7c,3c04e0e0 +348ac80,248410ff +348ac84,ac640004 +348ac88,26860006 +348ac8c,afa6004c +348ac90,21100 +348ac94,24420001 +348ac98,2413000b +348ac9c,afb30014 +348aca0,24120006 +348aca4,afb20010 +348aca8,24070028 +348acac,3c058042 +348acb0,24a577b4 +348acb4,a22821 +348acb8,c108a2d +348acbc,2002025 +348acc0,27a50020 +348acc4,c102345 +348acc8,8224000b +348accc,afb30014 +348acd0,afb20010 +348acd4,24070028 +348acd8,26860065 +348acdc,27a50020 +348ace0,c108a2d +348ace4,2002025 +348ace8,afa00048 +348acec,24170038 +348acf0,26940076 +348acf4,2209825 +348acf8,3c1e8042 +348acfc,27de422c +348ad00,3c168042 +348ad04,10000028 +348ad08,26d64228 +348ad0c,2202825 +348ad10,c102315 +348ad14,9264000a +348ad18,1440008f +348ad1c,8e020008 +348ad20,100000a1 +348ad24,24430008 +348ad28,2402000b +348ad2c,afa20014 +348ad30,24020006 +348ad34,afa20010 +348ad38,2a03825 +348ad3c,2403025 +348ad40,2c02825 +348ad44,c108a2d +348ad48,2002025 +348ad4c,1000000b +348ad50,26310001 +348ad54,2402000b +348ad58,afa20014 +348ad5c,24020006 +348ad60,afa20010 +348ad64,2a03825 +348ad68,2403025 +348ad6c,3c02825 +348ad70,c108a2d +348ad74,2002025 +348ad78,26310001 +348ad7c,26520007 +348ad80,1692ffe2 +348ad84,323100ff +348ad88,26f7000d +348ad8c,8fa20048 +348ad90,24420010 +348ad94,304200ff +348ad98,afa20048 +348ad9c,24020052 +348ada0,12e200a3 +348ada4,8fbf0084 +348ada8,2e0a825 +348adac,8fb2004c +348adb0,1000ffd6 +348adb4,8fb10048 +348adb8,24430008 +348adbc,ae030008 +348adc0,3c03fa00 +348adc4,ac430000 +348adc8,2403ffff +348adcc,ac430004 +348add0,3c028043 +348add4,8043d74e +348add8,3c028043 +348addc,318c0 +348ade0,24428158 +348ade4,431021 +348ade8,8c430004 +348adec,afa3004c +348adf0,90420000 +348adf4,5440fc83 +348adf8,8fa2004c +348adfc,1000fca0 +348ae00,3c028043 +348ae04,8e020008 +348ae08,24440008 +348ae0c,ae040008 +348ae10,3c04fa00 +348ae14,ac440000 +348ae18,2404ffff +348ae1c,ac440004 +348ae20,24020001 +348ae24,5462ffe4 +348ae28,8e020008 +348ae2c,1000fc3e +348ae30,3c128043 +348ae34,8e020008 +348ae38,24430008 +348ae3c,ae030008 +348ae40,3c03fa00 +348ae44,ac430000 +348ae48,2403ffff +348ae4c,ac430004 +348ae50,3c028043 +348ae54,8042d750 +348ae58,2842000c +348ae5c,1440fca3 +348ae60,3c128042 +348ae64,1000fcd8 +348ae68,8e020008 +348ae6c,8e020008 +348ae70,24430008 +348ae74,ae030008 +348ae78,3c03fa00 +348ae7c,ac430000 +348ae80,2403ffff +348ae84,ac430004 +348ae88,3c028043 +348ae8c,8042d752 +348ae90,2842000b +348ae94,5440fd4b +348ae98,3c128042 +348ae9c,1000fd7d +348aea0,8e020008 +348aea4,24430008 +348aea8,ae030008 +348aeac,3c03fa00 +348aeb0,ac430000 +348aeb4,2403ffff +348aeb8,1000fe7e +348aebc,ac430004 +348aec0,8e020008 +348aec4,24440008 +348aec8,ae040008 +348aecc,3c04fa00 +348aed0,ac440000 +348aed4,2404ffff +348aed8,ac440004 +348aedc,3c028042 +348aee0,8c424234 +348aee4,afa20044 +348aee8,24020001 +348aeec,1462fe2a +348aef0,3c048043 +348aef4,1000fdf3 +348aef8,3c128042 +348aefc,24430008 +348af00,ae030008 +348af04,3c03fa00 +348af08,ac430000 +348af0c,8fa30054 +348af10,1000feed +348af14,ac430004 +348af18,8e020008 +348af1c,24430008 +348af20,ae030008 +348af24,3c03fa00 +348af28,ac430000 +348af2c,2403ffff +348af30,1000fee5 +348af34,ac430004 +348af38,24430008 +348af3c,ae030008 +348af40,3c03fa00 +348af44,ac430000 +348af48,3c03e0e0 +348af4c,246310ff +348af50,1000ff75 +348af54,ac430004 +348af58,24430008 +348af5c,ae030008 +348af60,3c03fa00 +348af64,ac430000 +348af68,3c0300ff +348af6c,246300ff +348af70,ac430004 +348af74,8262000b +348af78,5622ff6c +348af7c,2402000b +348af80,1000ffed +348af84,8e020008 +348af88,24430008 +348af8c,ae030008 +348af90,3c03fa00 +348af94,ac430000 +348af98,3c03e0e0 +348af9c,246310ff +348afa0,1000ff6c +348afa4,ac430004 +348afa8,ae030008 +348afac,3c03fa00 +348afb0,ac430000 +348afb4,3c03ff00 +348afb8,246300ff +348afbc,ac430004 +348afc0,8262000b +348afc4,5622ff64 +348afc8,2402000b +348afcc,1000ffee +348afd0,8e020008 +348afd4,8e020008 +348afd8,24440008 +348afdc,ae040008 +348afe0,3c04fa00 +348afe4,ac440000 +348afe8,2404ffff +348afec,ac440004 +348aff0,24020001 +348aff4,1462ff15 +348aff8,3c028043 +348affc,1000fee1 +348b000,3c128042 +348b004,1000fb40 +348b008,2402009e +348b00c,52c00 +348b010,52c03 +348b014,4a3fb1d +348b018,8e020008 +348b01c,1000fa7f +348b020,24420001 +348b024,1000f806 +348b028,8042d74c +348b02c,8fbf0084 +348b030,8fbe0080 +348b034,8fb7007c +348b038,8fb60078 +348b03c,8fb50074 +348b040,8fb40070 +348b044,8fb3006c +348b048,8fb20068 +348b04c,8fb10064 +348b050,8fb00060 +348b054,3e00008 +348b058,27bd0088 +348b05c,27bdff88 +348b060,afbf004c +348b064,afbe0048 +348b068,afb70044 +348b06c,afb60040 +348b070,afb5003c +348b074,afb40038 +348b078,afb30034 +348b07c,afb20030 +348b080,afb1002c +348b084,afb00028 +348b088,f7bc0070 +348b08c,f7ba0068 +348b090,f7b80060 +348b094,f7b60058 +348b098,f7b40050 +348b09c,80a825 +348b0a0,3c108043 +348b0a4,2610d7a8 +348b0a8,3c138043 +348b0ac,2673d780 +348b0b0,2009025 +348b0b4,8825 +348b0b8,3c168043 +348b0bc,26d695e0 +348b0c0,3c028042 +348b0c4,d45842e8 +348b0c8,3c148043 +348b0cc,3c028042 +348b0d0,d45c42f0 +348b0d4,4620e686 +348b0d8,92430000 +348b0dc,24020001 +348b0e0,54620032 +348b0e4,26310001 +348b0e8,96c20006 +348b0ec,44820000 +348b0f4,46800021 +348b0f8,46380082 +348b0fc,4620108d +348b100,44071000 +348b104,510018 +348b108,3c028011 +348b10c,3442a5d0 +348b110,90420032 +348b114,10400006 +348b118,3c028011 +348b11c,468010a1 +348b120,463a0102 +348b124,46241080 +348b128,4620108d +348b12c,44071000 +348b130,3442a5d0 +348b134,8442002e +348b138,284200a1 +348b13c,14400008 +348b140,92829258 +348b144,44871000 +348b14c,468010a1 +348b150,463c0002 +348b154,46201000 +348b158,4620000d +348b15c,44070000 +348b160,a3a20018 +348b164,26829258 +348b168,90430001 +348b16c,a3a30019 +348b170,90420002 +348b174,a3a2001a +348b178,2402ffff +348b17c,a3a2001b +348b180,1012 +348b184,e23821 +348b188,8fa20018 +348b18c,afa20010 +348b190,73c00 +348b194,73c03 +348b198,2406001a +348b19c,8e650000 +348b1a0,c108ad1 +348b1a4,2a02025 +348b1a8,26310001 +348b1ac,26520001 +348b1b0,2402000a +348b1b4,1622ffc8 +348b1b8,26730004 +348b1bc,3c138043 +348b1c0,2673d758 +348b1c4,8825 +348b1c8,3c028043 +348b1cc,afa20020 +348b1d0,3c028042 +348b1d4,c45642c0 +348b1d8,3c028042 +348b1dc,d45842e8 +348b1e0,3c028042 +348b1e4,d45a42f0 +348b1e8,4620d706 +348b1ec,92030000 +348b1f0,24020002 +348b1f4,5462006c +348b1f8,26310001 +348b1fc,c6740000 +348b200,4600a00d +348b204,44050000 +348b208,44800000 +348b210,4614003c +348b218,45000006 +348b220,44850000 +348b228,46800020 +348b22c,10000005 +348b230,4600a501 +348b234,44850000 +348b23c,46800020 +348b240,46140501 +348b244,8fa20020 +348b248,80429255 +348b24c,50400005 +348b250,3c028043 +348b254,2442ffff +348b258,1440fffe +348b25c,4616a502 +348b260,3c028043 +348b264,944295e6 +348b268,44820000 +348b270,46800021 +348b274,46380082 +348b278,4620108d +348b27c,44121000 +348b280,510018 +348b284,f012 +348b288,3c028011 +348b28c,3442a5d0 +348b290,90420032 +348b294,10400006 +348b298,3c028011 +348b29c,468010a1 +348b2a0,463c0102 +348b2a4,46241080 +348b2a8,4620108d +348b2ac,44121000 +348b2b0,3442a5d0 +348b2b4,8442002e +348b2b8,284200a1 +348b2bc,14400008 +348b2c0,3c028043 +348b2c4,44921000 +348b2cc,468010a1 +348b2d0,463a0002 +348b2d4,46201000 +348b2d8,4620000d +348b2dc,44120000 +348b2e0,90439258 +348b2e4,a3a30018 +348b2e8,24429258 +348b2ec,90430001 +348b2f0,a3a30019 +348b2f4,90420002 +348b2f8,a3a2001a +348b2fc,2402ffff +348b300,a3a2001b +348b304,25eb021 +348b308,16b400 +348b30c,16b403 +348b310,8fa20018 +348b314,afa20010 +348b318,2c03825 +348b31c,2406001a +348b320,c108ad1 +348b324,2a02025 +348b328,40b825 +348b32c,3c148043 +348b330,269495e0 +348b334,96820004 +348b338,570018 +348b33c,3012 +348b340,96830006 +348b344,afa30014 +348b348,afa20010 +348b34c,25e3821 +348b350,24c6001a +348b354,3c058042 +348b358,24a54230 +348b35c,c108a2d +348b360,2a02025 +348b364,96820004 +348b368,2e20018 +348b36c,3012 +348b370,3c028043 +348b374,94429634 +348b378,2442001a +348b37c,c23021 +348b380,8fa20018 +348b384,afa20010 +348b388,2c03825 +348b38c,63400 +348b390,63403 +348b394,4600a00d +348b398,44050000 +348b39c,c108ad1 +348b3a0,2a02025 +348b3a4,26310001 +348b3a8,26100001 +348b3ac,2402000a +348b3b0,1622ff8e +348b3b4,26730004 +348b3b8,8fbf004c +348b3bc,8fbe0048 +348b3c0,8fb70044 +348b3c4,8fb60040 +348b3c8,8fb5003c +348b3cc,8fb40038 +348b3d0,8fb30034 +348b3d4,8fb20030 +348b3d8,8fb1002c +348b3dc,8fb00028 +348b3e0,d7bc0070 +348b3e4,d7ba0068 +348b3e8,d7b80060 +348b3ec,d7b60058 +348b3f0,d7b40050 +348b3f4,3e00008 +348b3f8,27bd0078 +348b3fc,27bdffe8 +348b400,afbf0014 +348b404,afb00010 +348b408,3c02801c +348b40c,344284a0 +348b410,8c420014 +348b414,3c030820 +348b418,431024 +348b41c,10400006 +348b420,808025 +348b424,3c038042 +348b428,3c02801d +348b42c,3442aa30 +348b430,c46042c4 +348b434,e4400060 +348b438,c10236d +348b43c,2002025 +348b440,c102c17 +348b444,2002025 +348b448,c102249 +348b44c,2002025 +348b450,8fbf0014 +348b454,8fb00010 +348b458,3e00008 +348b45c,27bd0018 +348b460,27bdffc0 +348b464,afbf003c +348b468,afb10038 +348b46c,afb00034 +348b470,808025 +348b474,908201a0 +348b478,14400025 +348b47c,a08825 +348b480,94a300a4 +348b484,24020002 +348b488,14620020 +348b48c,24020001 +348b490,3c038040 +348b494,8c621e00 +348b498,8c631e04 +348b49c,431025 +348b4a0,5040000f +348b4a4,8e020190 +348b4a8,3c028040 +348b4ac,8c471e04 +348b4b0,8c461e00 +348b4b4,c104b6d +348b4b8,27a40020 +348b4bc,8fa20020 +348b4c0,ae020190 +348b4c4,8fa20024 +348b4c8,ae020194 +348b4cc,8fa20028 +348b4d0,ae020198 +348b4d4,8fa2002c +348b4d8,ae02019c +348b4dc,8e020190 +348b4e0,8e030194 +348b4e4,431025 +348b4e8,10400008 +348b4ec,24020001 +348b4f0,a60000b4 +348b4f4,3c028042 +348b4f8,c44042f8 +348b4fc,e6000050 +348b500,e6000054 +348b504,e6000058 +348b508,24020001 +348b50c,a20201a0 +348b510,8e020190 +348b514,8e030194 +348b518,431025 +348b51c,10400011 +348b520,2405008b +348b524,8e030198 +348b528,8e02019c +348b52c,afa30010 +348b530,afa20014 +348b534,8e060190 +348b538,8e070194 +348b53c,c107c09 +348b540,27a40018 +348b544,3c028042 +348b548,8c4742fc +348b54c,2203025 +348b550,2002825 +348b554,c107bc3 +348b558,8fa40018 +348b55c,10000009 +348b560,8fbf003c +348b564,3c048093 +348b568,c108fce +348b56c,2484e400 +348b570,403025 +348b574,2202825 +348b578,c100ad7 +348b57c,2002025 +348b580,8fbf003c +348b584,8fb10038 +348b588,8fb00034 +348b58c,3e00008 +348b590,27bd0040 +348b594,27bdffd0 +348b598,afbf002c +348b59c,afb30028 +348b5a0,afb20024 +348b5a4,afb10020 +348b5a8,afb0001c +348b5ac,3c02801c +348b5b0,344284a0 +348b5b4,94500020 +348b5b8,94510014 +348b5bc,3c030001 +348b5c0,431021 +348b5c4,94440934 +348b5c8,24020006 +348b5cc,14820049 +348b5d0,3c02801d +348b5d4,3c02801c +348b5d8,344284a0 +348b5dc,431021 +348b5e0,94420948 +348b5e4,14400043 +348b5e8,3c02801d +348b5ec,3c02801c +348b5f0,344284a0 +348b5f4,431021 +348b5f8,94430944 +348b5fc,10600005 +348b600,3c02801c +348b604,24020003 +348b608,1462003a +348b60c,3c02801d +348b610,3c02801c +348b614,344284a0 +348b618,3c050001 +348b61c,451021 +348b620,84420978 +348b624,24050016 +348b628,14450007 +348b62c,24050017 +348b630,3c058040 +348b634,90a51f43 +348b638,14a0000a +348b63c,24050003 +348b640,1000002c +348b644,3c02801d +348b648,5445002a +348b64c,3c02801d +348b650,3c058040 +348b654,90a51f44 +348b658,50a00026 +348b65c,3c02801d +348b660,24050003 +348b664,50650023 +348b668,3c02801d +348b66c,3c038011 +348b670,3463a5d0 +348b674,621021 +348b678,90520074 +348b67c,3251ffff +348b680,c108b2e +348b684,2202025 +348b688,1040017a +348b68c,8fbf002c +348b690,3213ffff +348b694,32100200 +348b698,52000166 +348b69c,32730100 +348b6a0,c108c11 +348b6a4,2202025 +348b6a8,32730100 +348b6ac,12600004 +348b6b0,304400ff +348b6b4,c108be6 +348b6b8,2202025 +348b6bc,304400ff +348b6c0,1092016b +348b6c4,3c02801c +348b6c8,344284a0 +348b6cc,3c030001 +348b6d0,431021 +348b6d4,c108c3c +348b6d8,84450978 +348b6dc,3c028006 +348b6e0,244246f0 +348b6e4,40f809 +348b6e8,24044809 +348b6ec,10000161 +348b6f0,8fbf002c +348b6f4,3442aa30 +348b6f8,8c42066c +348b6fc,3c033000 +348b700,24630483 +348b704,431024 +348b708,1440015a +348b70c,8fbf002c +348b710,3c02801c +348b714,344284a0 +348b718,8c430008 +348b71c,3c02800f +348b720,8c4213ec +348b724,14620154 +348b728,8fb30028 +348b72c,3c028011 +348b730,3442a5d0 +348b734,8c42135c +348b738,14400150 +348b73c,8fb20024 +348b740,3c02800e +348b744,3442f1b0 +348b748,8c420000 +348b74c,30420020 +348b750,5440014b +348b754,8fb10020 +348b758,3c028040 +348b75c,8c421e24 +348b760,10400014 +348b764,24020006 +348b768,14820012 +348b76c,3c02801c +348b770,344284a0 +348b774,3c030001 +348b778,431021 +348b77c,94420948 +348b780,1440000c +348b784,3c02801c +348b788,344284a0 +348b78c,431021 +348b790,94420944 +348b794,50400004 +348b798,3c028040 +348b79c,24030003 +348b7a0,14430004 +348b7a4,3c028040 +348b7a8,90420c99 +348b7ac,14400131 +348b7b0,8fbf002c +348b7b4,c102342 +348b7bc,1440012d +348b7c0,8fbf002c +348b7c4,3c028011 +348b7c8,3442a5d0 +348b7cc,8c42009c +348b7d0,3c036000 +348b7d4,431024 +348b7d8,10400006 +348b7dc,3c028011 +348b7e0,3442a5d0 +348b7e4,8c420004 +348b7e8,10400016 +348b7ec,3c02801c +348b7f0,3c028011 +348b7f4,3442a5d0 +348b7f8,9042008b +348b7fc,2442ffdf +348b800,304200ff +348b804,2c42000b +348b808,10400006 +348b80c,3c028011 +348b810,3442a5d0 +348b814,8c430004 +348b818,24020001 +348b81c,10620008 +348b820,3c028011 +348b824,3442a5d0 +348b828,9042007b +348b82c,2442fff9 +348b830,304200ff +348b834,2c420002 +348b838,1040010e +348b83c,8fbf002c +348b840,3c02801c +348b844,344284a0 +348b848,3c030001 +348b84c,431021 +348b850,94420934 +348b854,24030006 +348b858,54430026 +348b85c,118c00 +348b860,3c03801c +348b864,346384a0 +348b868,3c040001 +348b86c,641821 +348b870,94630948 +348b874,5460001f +348b878,118c00 +348b87c,3c03801c +348b880,346384a0 +348b884,641821 +348b888,94630944 +348b88c,50600005 +348b890,3c03801c +348b894,24040003 +348b898,54640016 +348b89c,118c00 +348b8a0,3c03801c +348b8a4,346384a0 +348b8a8,3c040001 +348b8ac,641821 +348b8b0,84630978 +348b8b4,24040016 +348b8b8,54640007 +348b8bc,24040017 +348b8c0,3c038040 +348b8c4,90631f43 +348b8c8,1060000a +348b8cc,118c00 +348b8d0,100000e8 +348b8d4,8fbf002c +348b8d8,54640006 +348b8dc,118c00 +348b8e0,3c038040 +348b8e4,90631f44 +348b8e8,146000e2 +348b8ec,8fbf002c +348b8f0,118c00 +348b8f4,118c03 +348b8f8,6230018 +348b8fc,3c028011 +348b900,3c038040 +348b904,8c631e24 +348b908,50600014 +348b90c,3c028011 +348b910,24030006 +348b914,14430011 +348b918,3c028011 +348b91c,3c02801c +348b920,344284a0 +348b924,3c030001 +348b928,431021 +348b92c,94420948 +348b930,1440000a +348b934,3c028011 +348b938,3c02801c +348b93c,344284a0 +348b940,431021 +348b944,94420944 +348b948,104000ca +348b94c,8fbf002c +348b950,24030003 +348b954,104300c7 +348b958,3c028011 +348b95c,3442a5d0 +348b960,8c420004 +348b964,14400053 +348b968,24030001 +348b96c,32020200 +348b970,10400026 +348b974,3211ffff +348b978,3c028011 +348b97c,3442a5d0 +348b980,9442009c +348b984,30422000 +348b988,50400021 +348b98c,32310100 +348b990,3c028011 +348b994,3442a5d0 +348b998,94420070 +348b99c,3042f000 +348b9a0,38422000 +348b9a4,2102b +348b9a8,24420001 +348b9ac,3c048011 +348b9b0,3484a5d0 +348b9b4,21300 +348b9b8,94830070 +348b9bc,30630fff +348b9c0,621025 +348b9c4,a4820070 +348b9c8,3c04801d +348b9cc,3485aa30 +348b9d0,3c028007 +348b9d4,34429764 +348b9d8,40f809 +348b9dc,248484a0 +348b9e0,3c058010 +348b9e4,24a243a8 +348b9e8,afa20014 +348b9ec,24a743a0 +348b9f0,afa70010 +348b9f4,24060004 +348b9f8,24a54394 +348b9fc,3c02800c +348ba00,3442806c +348ba04,40f809 +348ba08,24040835 +348ba0c,32310100 +348ba10,52200052 +348ba14,32100400 +348ba18,3c028011 +348ba1c,3442a5d0 +348ba20,9442009c +348ba24,30424000 +348ba28,1040008a +348ba2c,3c028011 +348ba30,3442a5d0 +348ba34,94420070 +348ba38,3042f000 +348ba3c,24033000 +348ba40,50430002 +348ba44,24020001 +348ba48,24020003 +348ba4c,3c038011 +348ba50,3463a5d0 +348ba54,22300 +348ba58,94620070 +348ba5c,30420fff +348ba60,441025 +348ba64,a4620070 +348ba68,3c04801d +348ba6c,3485aa30 +348ba70,3c028007 +348ba74,34429764 +348ba78,40f809 +348ba7c,248484a0 +348ba80,3c058010 +348ba84,24a243a8 +348ba88,afa20014 +348ba8c,24a743a0 +348ba90,afa70010 +348ba94,24060004 +348ba98,24a54394 +348ba9c,3c02800c +348baa0,3442806c +348baa4,40f809 +348baa8,24040835 +348baac,10000069 +348bab0,3c028011 +348bab4,54430029 +348bab8,32100400 +348babc,32020100 +348bac0,50400026 +348bac4,32100400 +348bac8,3c02801c +348bacc,344284a0 +348bad0,3c030001 +348bad4,431021 +348bad8,94420934 +348badc,14400065 +348bae0,8fbf002c +348bae4,3c028011 +348bae8,3442a5d0 +348baec,9046008b +348baf0,24c2ffdf +348baf4,304200ff +348baf8,2c42000b +348bafc,50400051 +348bb00,32100400 +348bb04,3c02801c +348bb08,344284a0 +348bb0c,431021 +348bb10,90420756 +348bb14,5440004b +348bb18,32100400 +348bb1c,3c02801d +348bb20,3442aa30 +348bb24,8c42066c +348bb28,3c0308a0 +348bb2c,24630800 +348bb30,431024 +348bb34,54400043 +348bb38,32100400 +348bb3c,24070002 +348bb40,3c04801d +348bb44,3485aa30 +348bb48,3c028038 +348bb4c,3442c9a0 +348bb50,40f809 +348bb54,248484a0 +348bb58,32100400 +348bb5c,12000045 +348bb60,8fbf002c +348bb64,3c02801c +348bb68,344284a0 +348bb6c,3c030001 +348bb70,431021 +348bb74,94420934 +348bb78,1440003f +348bb7c,8fb30028 +348bb80,3c028011 +348bb84,3442a5d0 +348bb88,9046007b +348bb8c,24c2fff9 +348bb90,304200ff +348bb94,2c420002 +348bb98,50400036 +348bb9c,8fbf002c +348bba0,3c02801c +348bba4,344284a0 +348bba8,3c030001 +348bbac,431021 +348bbb0,90420758 +348bbb4,5440002f +348bbb8,8fbf002c +348bbbc,3c02801d +348bbc0,3442aa30 +348bbc4,8c42066c +348bbc8,3c0308a0 +348bbcc,24630800 +348bbd0,431024 +348bbd4,54400027 +348bbd8,8fbf002c +348bbdc,3c02801d +348bbe0,3442aa30 +348bbe4,80420682 +348bbe8,4400021 +348bbec,3c02801c +348bbf0,344284a0 +348bbf4,3c030001 +348bbf8,431021 +348bbfc,8c431e5c +348bc00,3c02ffff +348bc04,431024 +348bc08,5440001a +348bc0c,8fbf002c +348bc10,24070002 +348bc14,3c04801d +348bc18,3485aa30 +348bc1c,3c028038 +348bc20,3442c9a0 +348bc24,40f809 +348bc28,248484a0 +348bc2c,10000011 +348bc30,8fbf002c +348bc34,1260000f +348bc38,8fbf002c +348bc3c,1000fe9d +348bc44,1600ffcf +348bc48,3c028011 +348bc4c,10000009 +348bc50,8fbf002c +348bc54,3442a5d0 +348bc58,8c430004 +348bc5c,24020001 +348bc60,5462ffbe +348bc64,32100400 +348bc68,1000ff98 +348bc6c,3c02801c +348bc70,8fbf002c +348bc74,8fb30028 +348bc78,8fb20024 +348bc7c,8fb10020 +348bc80,8fb0001c +348bc84,3e00008 +348bc88,27bd0030 +348bc8c,3c028040 +348bc90,8c421e24 +348bc94,10400018 +348bc98,3c028011 +348bc9c,3c02801c +348bca0,344284a0 +348bca4,3c030001 +348bca8,431021 +348bcac,94430934 +348bcb0,24020006 +348bcb4,14620010 +348bcb8,3c028011 +348bcbc,3c02801c +348bcc0,344284a0 +348bcc4,3c030001 +348bcc8,431021 +348bccc,94420948 +348bcd0,14400009 +348bcd4,3c028011 +348bcd8,3c02801c +348bcdc,344284a0 +348bce0,431021 +348bce4,94420944 +348bce8,1040008b +348bcec,24030003 +348bcf0,10430089 +348bcf4,3c028011 +348bcf8,3442a5d0 +348bcfc,8c42009c +348bd00,3c036000 +348bd04,431024 +348bd08,10400006 +348bd0c,3c028011 +348bd10,3442a5d0 +348bd14,8c420004 +348bd18,10400016 +348bd1c,3c02801c +348bd20,3c028011 +348bd24,3442a5d0 +348bd28,9042008b +348bd2c,2442ffdf +348bd30,304200ff +348bd34,2c42000b +348bd38,10400006 +348bd3c,3c028011 +348bd40,3442a5d0 +348bd44,8c430004 +348bd48,24020001 +348bd4c,10620008 +348bd50,3c028011 +348bd54,3442a5d0 +348bd58,9042007b +348bd5c,2442fff9 +348bd60,304200ff +348bd64,2c420002 +348bd68,10400034 +348bd6c,3c02801c +348bd70,3c02801c +348bd74,344284a0 +348bd78,3c030001 +348bd7c,431021 +348bd80,94430934 +348bd84,24020006 +348bd88,14620027 +348bd8c,3c028040 +348bd90,3c02801c +348bd94,344284a0 +348bd98,3c030001 +348bd9c,431021 +348bda0,94420948 +348bda4,14400438 +348bda8,3c028040 +348bdac,3c02801c +348bdb0,344284a0 +348bdb4,431021 +348bdb8,94420944 +348bdbc,50400005 +348bdc0,3c02801c +348bdc4,24030003 +348bdc8,1443042f +348bdcc,3c028040 +348bdd0,3c02801c +348bdd4,344284a0 +348bdd8,3c030001 +348bddc,431021 +348bde0,84420978 +348bde4,24030016 +348bde8,14430007 +348bdec,24030017 +348bdf0,3c028040 +348bdf4,90421f43 +348bdf8,50400423 +348bdfc,3c028040 +348be00,1000001b +348be04,3c02801c +348be08,1443041f +348be0c,3c028040 +348be10,3c028040 +348be14,90421f44 +348be18,5040041b +348be1c,3c028040 +348be20,10000013 +348be24,3c02801c +348be28,90420c8a +348be2c,1440003a +348be34,3e00008 +348be3c,344284a0 +348be40,3c030001 +348be44,431021 +348be48,94430934 +348be4c,24020006 +348be50,1462fff8 +348be54,3c02801c +348be58,344284a0 +348be5c,3c030001 +348be60,431021 +348be64,94420948 +348be68,1440fff2 +348be6c,3c02801c +348be70,344284a0 +348be74,3c030001 +348be78,431021 +348be7c,94420944 +348be80,50400004 +348be84,3c02801c +348be88,24030003 +348be8c,14430417 +348be90,3c02801c +348be94,344284a0 +348be98,3c030001 +348be9c,431021 +348bea0,84420978 +348bea4,24030016 +348bea8,14430007 +348beac,24030017 +348beb0,3c028040 +348beb4,90421f43 +348beb8,14400017 +348bebc,3c02801c +348bec0,1000040b +348bec4,344284a0 +348bec8,14430408 +348becc,3c02801c +348bed0,3c028040 +348bed4,90421f44 +348bed8,1440000f +348bedc,3c02801c +348bee0,10000403 +348bee4,344284a0 +348bee8,1443ffd2 +348beec,3c02801c +348bef0,344284a0 +348bef4,3c030001 +348bef8,431021 +348befc,84430978 +348bf00,24020007 +348bf04,1462ffcb +348bf08,3c028040 +348bf0c,90421de6 +348bf10,1040040a +348bf18,27bdffa0 +348bf1c,afbf005c +348bf20,afbe0058 +348bf24,afb70054 +348bf28,afb60050 +348bf2c,afb5004c +348bf30,afb40048 +348bf34,afb30044 +348bf38,afb20040 +348bf3c,afb1003c +348bf40,afb00038 +348bf44,3c13801c +348bf48,367384a0 +348bf4c,8e700000 +348bf50,261202a8 +348bf54,8e0202b0 +348bf58,24430008 +348bf5c,ae0302b0 +348bf60,3c03de00 +348bf64,ac430000 +348bf68,3c038043 +348bf6c,24639688 +348bf70,ac430004 +348bf74,8e0202b0 +348bf78,24430008 +348bf7c,ae0302b0 +348bf80,3c03e700 +348bf84,ac430000 +348bf88,ac400004 +348bf8c,8e0202b0 +348bf90,24430008 +348bf94,ae0302b0 +348bf98,3c03fc11 +348bf9c,34639623 +348bfa0,ac430000 +348bfa4,3c03ff2f +348bfa8,3463ffff +348bfac,ac430004 +348bfb0,3c020001 +348bfb4,2629821 +348bfb8,96710742 +348bfbc,2414ff00 +348bfc0,234a025 +348bfc4,8e0202b0 +348bfc8,24430008 +348bfcc,ae0302b0 +348bfd0,3c03fa00 +348bfd4,ac430000 +348bfd8,ac540004 +348bfdc,24070001 +348bfe0,3025 +348bfe4,3c058043 +348bfe8,24a59620 +348bfec,c10533a +348bff0,2402025 +348bff4,96630934 +348bff8,24020006 +348bffc,1462014f +348c000,3c028040 +348c004,96620948 +348c008,1440014c +348c00c,3c028040 +348c010,96620944 +348c014,50400004 +348c018,3c02801c +348c01c,24030003 +348c020,144303aa +348c024,3c02801c +348c028,344284a0 +348c02c,3c030001 +348c030,431021 +348c034,84420978 +348c038,24030016 +348c03c,14430007 +348c040,24030017 +348c044,3c028040 +348c048,90421f43 +348c04c,5040039f +348c050,3c02801c +348c054,10000381 +348c058,3c028011 +348c05c,1443039b +348c060,3c02801c +348c064,3c028040 +348c068,90421f44 +348c06c,50400397 +348c070,3c02801c +348c074,10000375 +348c078,3c028011 +348c07c,32b1ffff +348c080,c108b2e +348c084,2202025 +348c088,5040003d +348c08c,8e0202b0 +348c090,c108c11 +348c094,2202025 +348c098,40b825 +348c09c,c108be6 +348c0a0,2202025 +348c0a4,305600ff +348c0a8,52d50035 +348c0ac,8e0202b0 +348c0b0,24020018 +348c0b4,afa20018 +348c0b8,afa20014 +348c0bc,240200be +348c0c0,afa20010 +348c0c4,2603825 +348c0c8,3025 +348c0cc,3c058043 +348c0d0,24a59620 +348c0d4,c105584 +348c0d8,2402025 +348c0dc,8e0202b0 +348c0e0,24430008 +348c0e4,ae0302b0 +348c0e8,3c1efa00 +348c0ec,ac5e0000 +348c0f0,ac540004 +348c0f4,24070001 +348c0f8,32e600ff +348c0fc,3c118043 +348c100,26259650 +348c104,c10533a +348c108,2402025 +348c10c,24150010 +348c110,afb50018 +348c114,afb50014 +348c118,241700c2 +348c11c,afb70010 +348c120,2667fff0 +348c124,3025 +348c128,26259650 +348c12c,c105584 +348c130,2402025 +348c134,8e0202b0 +348c138,24430008 +348c13c,ae0302b0 +348c140,ac5e0000 +348c144,ac540004 +348c148,24070001 +348c14c,2c03025 +348c150,26259650 +348c154,c10533a +348c158,2402025 +348c15c,afb50018 +348c160,afb50014 +348c164,afb70010 +348c168,26670018 +348c16c,3025 +348c170,26259650 +348c174,c105584 +348c178,2402025 +348c17c,8e0202b0 +348c180,24430008 +348c184,ae0302b0 +348c188,3c03e700 +348c18c,ac430000 +348c190,1000035e +348c194,ac400004 +348c198,144300e8 +348c19c,3c028040 +348c1a0,3c02801c +348c1a4,344284a0 +348c1a8,3c030001 +348c1ac,431021 +348c1b0,84430978 +348c1b4,24020007 +348c1b8,146200e0 +348c1bc,3c028040 +348c1c0,3c028040 +348c1c4,90421de6 +348c1c8,104000dc +348c1cc,3c028040 +348c1d0,8e0202b0 +348c1d4,24430008 +348c1d8,ae0302b0 +348c1dc,3c03fcff +348c1e0,3463ffff +348c1e4,ac430000 +348c1e8,3c03fffd +348c1ec,3463f6fb +348c1f0,ac430004 +348c1f4,8e0202b0 +348c1f8,24430008 +348c1fc,ae0302b0 +348c200,3c03fa00 +348c204,ac430000 +348c208,240300d0 +348c20c,ac430004 +348c210,3c02e425 +348c214,34428234 +348c218,afa20020 +348c21c,3c020011 +348c220,344281f4 +348c224,afa20024 +348c228,3c02e100 +348c22c,afa20028 +348c230,afa0002c +348c234,3c02f100 +348c238,afa20030 +348c23c,3c020400 +348c240,24420400 +348c244,afa20034 +348c248,27a20020 +348c24c,27a60038 +348c250,8e0302b0 +348c254,24640008 +348c258,ae0402b0 +348c25c,8c450004 +348c260,8c440000 +348c264,ac650004 +348c268,24420008 +348c26c,14c2fff8 +348c270,ac640000 +348c274,8e0202b0 +348c278,24430008 +348c27c,ae0302b0 +348c280,3c03e700 +348c284,ac430000 +348c288,ac400004 +348c28c,8e0202b0 +348c290,24430008 +348c294,ae0302b0 +348c298,3c03fc11 +348c29c,34639623 +348c2a0,ac430000 +348c2a4,3c03ff2f +348c2a8,3463ffff +348c2ac,ac430004 +348c2b0,24070005 +348c2b4,3025 +348c2b8,3c058043 +348c2bc,24a595a0 +348c2c0,c10533a +348c2c4,2402025 +348c2c8,323100ff +348c2cc,8e0202b0 +348c2d0,24430008 +348c2d4,ae0302b0 +348c2d8,3c03fa00 +348c2dc,ac430000 +348c2e0,3623ff00 +348c2e4,ac430004 +348c2e8,3c028040 +348c2ec,90420cac +348c2f0,10400016 +348c2f4,3c028011 +348c2f8,3c038040 +348c2fc,24640c54 +348c300,94820002 +348c304,21400 +348c308,3c0500ff +348c30c,451024 +348c310,94630c54 +348c314,31e00 +348c318,711825 +348c31c,431025 +348c320,94830004 +348c324,31a00 +348c328,3063ffff +348c32c,431025 +348c330,8e0302b0 +348c334,24640008 +348c338,ae0402b0 +348c33c,3c04fa00 +348c340,ac640000 +348c344,ac620004 +348c348,3c028011 +348c34c,3442a5d0 +348c350,8c4209a4 +348c354,30420001 +348c358,5040000d +348c35c,8e0302b0 +348c360,24020010 +348c364,afa20018 +348c368,afa20014 +348c36c,2402007d +348c370,afa20010 +348c374,24070046 +348c378,3025 +348c37c,3c058043 +348c380,24a595a0 +348c384,c105584 +348c388,2402025 +348c38c,8e0302b0 +348c390,24620008 +348c394,ae0202b0 +348c398,3c02fa00 +348c39c,ac620000 +348c3a0,3c02f4ec +348c3a4,24423000 +348c3a8,2221025 +348c3ac,ac620004 +348c3b0,3c028040 +348c3b4,90420cac +348c3b8,10400016 +348c3bc,3c028011 +348c3c0,3c038040 +348c3c4,24640c60 +348c3c8,94820002 +348c3cc,21400 +348c3d0,3c0500ff +348c3d4,451024 +348c3d8,94630c60 +348c3dc,31e00 +348c3e0,711825 +348c3e4,431025 +348c3e8,94830004 +348c3ec,31a00 +348c3f0,3063ffff +348c3f4,431025 +348c3f8,8e0302b0 +348c3fc,24640008 +348c400,ae0402b0 +348c404,3c04fa00 +348c408,ac640000 +348c40c,ac620004 +348c410,3c028011 +348c414,3442a5d0 +348c418,8c4209a4 +348c41c,30420004 +348c420,1040000d +348c424,3c028011 +348c428,24020010 +348c42c,afa20018 +348c430,afa20014 +348c434,2402007d +348c438,afa20010 +348c43c,24070056 +348c440,24060001 +348c444,3c058043 +348c448,24a595a0 +348c44c,c105584 +348c450,2402025 +348c454,3c028011 +348c458,3442a5d0 +348c45c,8c4209a4 +348c460,30420010 +348c464,1040000d +348c468,3c028011 +348c46c,24020010 +348c470,afa20018 +348c474,afa20014 +348c478,2402007d +348c47c,afa20010 +348c480,24070066 +348c484,24060002 +348c488,3c058043 +348c48c,24a595a0 +348c490,c105584 +348c494,2402025 +348c498,3c028011 +348c49c,3442a5d0 +348c4a0,8c4209a4 +348c4a4,30420008 +348c4a8,1040000d +348c4ac,3c028011 +348c4b0,24020010 +348c4b4,afa20018 +348c4b8,afa20014 +348c4bc,2402007d +348c4c0,afa20010 +348c4c4,24070076 +348c4c8,24060003 +348c4cc,3c058043 +348c4d0,24a595a0 +348c4d4,c105584 +348c4d8,2402025 +348c4dc,3c028011 +348c4e0,3442a5d0 +348c4e4,8c4209a4 +348c4e8,30420002 +348c4ec,5040000d +348c4f0,8e0202b0 +348c4f4,24020010 +348c4f8,afa20018 +348c4fc,afa20014 +348c500,2402007d +348c504,afa20010 +348c508,24070086 +348c50c,24060004 +348c510,3c058043 +348c514,24a595a0 +348c518,c105584 +348c51c,2402025 +348c520,8e0202b0 +348c524,24430008 +348c528,ae0302b0 +348c52c,3c03e700 +348c530,ac430000 +348c534,10000275 +348c538,ac400004 +348c53c,90420cae +348c540,1440024a +348c544,3c028011 +348c548,2415010f +348c54c,10000008 +348c550,24130040 +348c554,3c028011 +348c558,3442a5d0 +348c55c,8442002e +348c560,284200a1 +348c564,14400002 +348c568,24150020 +348c56c,26730008 +348c570,24020010 +348c574,afa20018 +348c578,afa20014 +348c57c,afb30010 +348c580,2a03825 +348c584,3025 +348c588,3c058043 +348c58c,24a59620 +348c590,c105584 +348c594,2402025 +348c598,3c028040 +348c59c,8c441e24 +348c5a0,1080004b +348c5a4,3c02801d +348c5a8,3c02801c +348c5ac,344284a0 +348c5b0,3c030001 +348c5b4,431021 +348c5b8,94430934 +348c5bc,24020006 +348c5c0,14620043 +348c5c4,3c02801d +348c5c8,3c02801c +348c5cc,344284a0 +348c5d0,3c030001 +348c5d4,431021 +348c5d8,94420948 +348c5dc,1440003c +348c5e0,3c02801d +348c5e4,3c02801c +348c5e8,344284a0 +348c5ec,431021 +348c5f0,94420944 +348c5f4,50400005 +348c5f8,3c028040 +348c5fc,24030003 +348c600,14430033 +348c604,3c02801d +348c608,3c028040 +348c60c,90420c99 +348c610,5040002f +348c614,3c02801d +348c618,24070001 +348c61c,24060002 +348c620,3c148043 +348c624,26859670 +348c628,c10533a +348c62c,2402025 +348c630,2411000c +348c634,afb10018 +348c638,afb10014 +348c63c,2662000d +348c640,afa20010 +348c644,26a70002 +348c648,3025 +348c64c,26859670 +348c650,c105584 +348c654,2402025 +348c658,24070001 +348c65c,24060011 +348c660,3c148043 +348c664,26859640 +348c668,c10533a +348c66c,2402025 +348c670,26730002 +348c674,afb10018 +348c678,afb10014 +348c67c,afb30010 +348c680,26a7000e +348c684,3025 +348c688,26859640 +348c68c,c105584 +348c690,2402025 +348c694,24070001 +348c698,24060010 +348c69c,26859640 +348c6a0,c10533a +348c6a4,2402025 +348c6a8,afb10018 +348c6ac,afb10014 +348c6b0,afb30010 +348c6b4,26a7fff5 +348c6b8,3025 +348c6bc,26859640 +348c6c0,c105584 +348c6c4,2402025 +348c6c8,100001da +348c6cc,8e0202b0 +348c6d0,3442aa30 +348c6d4,8c42066c +348c6d8,3c033000 +348c6dc,24630483 +348c6e0,431024 +348c6e4,54400032 +348c6e8,8e0402b0 +348c6ec,3c02801c +348c6f0,344284a0 +348c6f4,8c430008 +348c6f8,3c02800f +348c6fc,8c4213ec +348c700,5462002b +348c704,8e0402b0 +348c708,3c028011 +348c70c,3442a5d0 +348c710,8c42135c +348c714,54400026 +348c718,8e0402b0 +348c71c,3c02800e +348c720,3442f1b0 +348c724,8c420000 +348c728,30420020 +348c72c,54400020 +348c730,8e0402b0 +348c734,10800019 +348c738,3c02801c +348c73c,344284a0 +348c740,3c030001 +348c744,431021 +348c748,94430934 +348c74c,24020006 +348c750,14620012 +348c754,3c02801c +348c758,344284a0 +348c75c,3c030001 +348c760,431021 +348c764,94420948 +348c768,1440000c +348c76c,3c02801c +348c770,344284a0 +348c774,431021 +348c778,94420944 +348c77c,50400004 +348c780,3c028040 +348c784,24030003 +348c788,14430004 +348c78c,3c028040 +348c790,90420c99 +348c794,54400006 +348c798,8e0402b0 +348c79c,c102342 +348c7a4,10400017 +348c7a8,3c028011 +348c7ac,8e0402b0 +348c7b0,24820008 +348c7b4,ae0202b0 +348c7b8,3c02fa00 +348c7bc,ac820000 +348c7c0,1118c0 +348c7c4,711821 +348c7c8,31880 +348c7cc,711823 +348c7d0,31840 +348c7d4,3c028080 +348c7d8,34428081 +348c7dc,620018 +348c7e0,1010 +348c7e4,431021 +348c7e8,211c3 +348c7ec,31fc3 +348c7f0,431023 +348c7f4,2403ff00 +348c7f8,431025 +348c7fc,ac820004 +348c800,3c028011 +348c804,3442a5d0 +348c808,9442009c +348c80c,30422000 +348c810,10400029 +348c814,3c028011 +348c818,3442a5d0 +348c81c,8c420004 +348c820,14400052 +348c824,3c028011 +348c828,24070001 +348c82c,24060045 +348c830,3c058043 +348c834,24a59650 +348c838,c10533a +348c83c,2402025 +348c840,3c028011 +348c844,3442a5d0 +348c848,94420070 +348c84c,3042f000 +348c850,24032000 +348c854,5443000d +348c858,2402000c +348c85c,24020010 +348c860,afa20018 +348c864,afa20014 +348c868,afb30010 +348c86c,26a7fff3 +348c870,3025 +348c874,3c058043 +348c878,24a59650 +348c87c,c105584 +348c880,2402025 +348c884,1000000c +348c888,3c028011 +348c88c,afa20018 +348c890,afa20014 +348c894,26620002 +348c898,afa20010 +348c89c,26a7fff5 +348c8a0,3025 +348c8a4,3c058043 +348c8a8,24a59650 +348c8ac,c105584 +348c8b0,2402025 +348c8b4,3c028011 +348c8b8,3442a5d0 +348c8bc,9442009c +348c8c0,30424000 +348c8c4,10400029 +348c8c8,3c028011 +348c8cc,3442a5d0 +348c8d0,8c420004 +348c8d4,14400025 +348c8d8,3c028011 +348c8dc,24070001 +348c8e0,24060046 +348c8e4,3c058043 +348c8e8,24a59650 +348c8ec,c10533a +348c8f0,2402025 +348c8f4,3c028011 +348c8f8,3442a5d0 +348c8fc,94420070 +348c900,3042f000 +348c904,24033000 +348c908,5443000d +348c90c,2402000c +348c910,24020010 +348c914,afa20018 +348c918,afa20014 +348c91c,afb30010 +348c920,26a7000c +348c924,3025 +348c928,3c058043 +348c92c,24a59650 +348c930,c105584 +348c934,2402025 +348c938,1000000c +348c93c,3c028011 +348c940,afa20018 +348c944,afa20014 +348c948,26620002 +348c94c,afa20010 +348c950,26a7000e +348c954,3025 +348c958,3c058043 +348c95c,24a59650 +348c960,c105584 +348c964,2402025 +348c968,3c028011 +348c96c,3442a5d0 +348c970,9042008b +348c974,2442ffdf +348c978,304200ff +348c97c,2c42000b +348c980,10400099 +348c984,3c028011 +348c988,3442a5d0 +348c98c,8c430004 +348c990,24020001 +348c994,14620094 +348c998,3c028011 +348c99c,3c02801d +348c9a0,3442aa30 +348c9a4,8c42066c +348c9a8,3c033000 +348c9ac,24630483 +348c9b0,431024 +348c9b4,54400051 +348c9b8,8e0402b0 +348c9bc,3c02801c +348c9c0,344284a0 +348c9c4,8c430008 +348c9c8,3c02800f +348c9cc,8c4213ec +348c9d0,5462004a +348c9d4,8e0402b0 +348c9d8,3c028011 +348c9dc,3442a5d0 +348c9e0,8c42135c +348c9e4,54400045 +348c9e8,8e0402b0 +348c9ec,3c02800e +348c9f0,3442f1b0 +348c9f4,8c420000 +348c9f8,30420020 +348c9fc,5440003f +348ca00,8e0402b0 +348ca04,3c028040 +348ca08,8c421e24 +348ca0c,10400019 +348ca10,3c02801c +348ca14,344284a0 +348ca18,3c030001 +348ca1c,431021 +348ca20,94430934 +348ca24,24020006 +348ca28,14620012 +348ca2c,3c02801c +348ca30,344284a0 +348ca34,3c030001 +348ca38,431021 +348ca3c,94420948 +348ca40,1440000c +348ca44,3c02801c +348ca48,344284a0 +348ca4c,431021 +348ca50,94420944 +348ca54,50400004 +348ca58,3c028040 +348ca5c,24030003 +348ca60,14430004 +348ca64,3c028040 +348ca68,90420c99 +348ca6c,54400023 +348ca70,8e0402b0 +348ca74,c102342 +348ca7c,5440001f +348ca80,8e0402b0 +348ca84,3c02801c +348ca88,344284a0 +348ca8c,3c030001 +348ca90,431021 +348ca94,94420934 +348ca98,54400018 +348ca9c,8e0402b0 +348caa0,3c028011 +348caa4,3442a5d0 +348caa8,9042008b +348caac,2442ffdf +348cab0,304200ff +348cab4,2c42000b +348cab8,50400010 +348cabc,8e0402b0 +348cac0,3c02801c +348cac4,344284a0 +348cac8,431021 +348cacc,90420756 +348cad0,5440000a +348cad4,8e0402b0 +348cad8,3c02801d +348cadc,3442aa30 +348cae0,8c42066c +348cae4,3c0308a0 +348cae8,24630800 +348caec,431024 +348caf0,504000f0 +348caf4,8e0202b0 +348caf8,8e0402b0 +348cafc,24820008 +348cb00,ae0202b0 +348cb04,3c02fa00 +348cb08,ac820000 +348cb0c,1118c0 +348cb10,711821 +348cb14,31880 +348cb18,711823 +348cb1c,31840 +348cb20,3c028080 +348cb24,34428081 +348cb28,620018 +348cb2c,1010 +348cb30,431021 +348cb34,211c3 +348cb38,31fc3 +348cb3c,431023 +348cb40,2403ff00 +348cb44,431025 +348cb48,ac820004 +348cb4c,24070001 +348cb50,3c028011 +348cb54,3442a5d0 +348cb58,9046008b +348cb5c,3c058043 +348cb60,24a59650 +348cb64,c10533a +348cb68,2402025 +348cb6c,3c02801d +348cb70,3442aa30 +348cb74,9042014f +348cb78,2442ffff +348cb7c,304200ff +348cb80,2c420009 +348cb84,5040000d +348cb88,2402000c +348cb8c,24020010 +348cb90,afa20018 +348cb94,afa20014 +348cb98,afb30010 +348cb9c,26a7000c +348cba0,3025 +348cba4,3c058043 +348cba8,24a59650 +348cbac,c105584 +348cbb0,2402025 +348cbb4,1000000c +348cbb8,3c028011 +348cbbc,afa20018 +348cbc0,afa20014 +348cbc4,26620002 +348cbc8,afa20010 +348cbcc,26a7000e +348cbd0,3025 +348cbd4,3c058043 +348cbd8,24a59650 +348cbdc,c105584 +348cbe0,2402025 +348cbe4,3c028011 +348cbe8,3442a5d0 +348cbec,9042007b +348cbf0,2442fff9 +348cbf4,304200ff +348cbf8,2c420002 +348cbfc,5040008d +348cc00,8e0202b0 +348cc04,3c02801d +348cc08,3442aa30 +348cc0c,8c42066c +348cc10,3c033000 +348cc14,24630483 +348cc18,431024 +348cc1c,5440005e +348cc20,8e0402b0 +348cc24,3c02801c +348cc28,344284a0 +348cc2c,8c430008 +348cc30,3c02800f +348cc34,8c4213ec +348cc38,54620057 +348cc3c,8e0402b0 +348cc40,3c028011 +348cc44,3442a5d0 +348cc48,8c42135c +348cc4c,54400052 +348cc50,8e0402b0 +348cc54,3c02800e +348cc58,3442f1b0 +348cc5c,8c420000 +348cc60,30420020 +348cc64,5440004c +348cc68,8e0402b0 +348cc6c,3c028040 +348cc70,8c421e24 +348cc74,10400019 +348cc78,3c02801c +348cc7c,344284a0 +348cc80,3c030001 +348cc84,431021 +348cc88,94430934 +348cc8c,24020006 +348cc90,14620012 +348cc94,3c02801c +348cc98,344284a0 +348cc9c,3c030001 +348cca0,431021 +348cca4,94420948 +348cca8,1440000c +348ccac,3c02801c +348ccb0,344284a0 +348ccb4,431021 +348ccb8,94420944 +348ccbc,50400004 +348ccc0,3c028040 +348ccc4,24030003 +348ccc8,14430004 +348cccc,3c028040 +348ccd0,90420c99 +348ccd4,54400030 +348ccd8,8e0402b0 +348ccdc,c102342 +348cce4,5440002c +348cce8,8e0402b0 +348ccec,3c02801c +348ccf0,344284a0 +348ccf4,3c030001 +348ccf8,431021 +348ccfc,94420934 +348cd00,54400025 +348cd04,8e0402b0 +348cd08,3c028011 +348cd0c,3442a5d0 +348cd10,9042007b +348cd14,2442fff9 +348cd18,304200ff +348cd1c,2c420002 +348cd20,5040001d +348cd24,8e0402b0 +348cd28,3c02801c +348cd2c,344284a0 +348cd30,431021 +348cd34,90420758 +348cd38,54400017 +348cd3c,8e0402b0 +348cd40,3c02801d +348cd44,3442aa30 +348cd48,8c42066c +348cd4c,3c0308a0 +348cd50,24630800 +348cd54,431024 +348cd58,5440000f +348cd5c,8e0402b0 +348cd60,3c02801d +348cd64,3442aa30 +348cd68,80420682 +348cd6c,4400009 +348cd70,3c02801c +348cd74,344284a0 +348cd78,3c030001 +348cd7c,431021 +348cd80,8c431e5c +348cd84,3c02ffff +348cd88,431024 +348cd8c,50400043 +348cd90,8e0202b0 +348cd94,8e0402b0 +348cd98,24820008 +348cd9c,ae0202b0 +348cda0,3c02fa00 +348cda4,ac820000 +348cda8,1118c0 +348cdac,711821 +348cdb0,31880 +348cdb4,711823 +348cdb8,31840 +348cdbc,3c028080 +348cdc0,34428081 +348cdc4,620018 +348cdc8,1010 +348cdcc,431021 +348cdd0,211c3 +348cdd4,31fc3 +348cdd8,431023 +348cddc,2403ff00 +348cde0,431025 +348cde4,ac820004 +348cde8,24070001 +348cdec,3c028011 +348cdf0,3442a5d0 +348cdf4,9046007b +348cdf8,3c118043 +348cdfc,26259650 +348ce00,c10533a +348ce04,2402025 +348ce08,2402000c +348ce0c,afa20018 +348ce10,afa20014 +348ce14,2673000d +348ce18,afb30010 +348ce1c,26a70002 +348ce20,3025 +348ce24,26259650 +348ce28,c105584 +348ce2c,2402025 +348ce30,8e0202b0 +348ce34,24430008 +348ce38,ae0302b0 +348ce3c,3c03e700 +348ce40,ac430000 +348ce44,10000031 +348ce48,ac400004 +348ce4c,3442a5d0 +348ce50,9055008b +348ce54,1000fc89 +348ce58,241300e6 +348ce5c,3442a5d0 +348ce60,9055008a +348ce64,1000fc85 +348ce68,241300c5 +348ce6c,3442a5d0 +348ce70,844213ce +348ce74,28420003 +348ce78,1040fdb6 +348ce7c,24130042 +348ce80,1000fdb4 +348ce84,24130033 +348ce88,90420c8a +348ce8c,1040fbf2 +348ce90,3c02801c +348ce94,1000fc20 +348ce9c,24430008 +348cea0,ae0302b0 +348cea4,3c03fa00 +348cea8,ac430000 +348ceac,1000ffce +348ceb0,ac540004 +348ceb4,24430008 +348ceb8,ae0302b0 +348cebc,3c03fa00 +348cec0,ac430000 +348cec4,1000ff21 +348cec8,ac540004 +348cecc,344284a0 +348ced0,3c030001 +348ced4,431021 +348ced8,94420944 +348cedc,5040fcb1 +348cee0,3c02801c +348cee4,1000fcac +348cee8,24030003 +348ceec,344284a0 +348cef0,3c030001 +348cef4,431021 +348cef8,94420944 +348cefc,5040fbfc +348cf00,3c02801c +348cf04,1000fbf8 +348cf08,24030003 +348cf0c,8fbf005c +348cf10,8fbe0058 +348cf14,8fb70054 +348cf18,8fb60050 +348cf1c,8fb5004c +348cf20,8fb40048 +348cf24,8fb30044 +348cf28,8fb20040 +348cf2c,8fb1003c +348cf30,8fb00038 +348cf34,3e00008 +348cf38,27bd0060 +348cf3c,3e00008 +348cf44,27bdffe0 +348cf48,8c820008 +348cf4c,24430008 +348cf50,ac830008 +348cf54,3c03fcff +348cf58,3463ffff +348cf5c,ac430000 +348cf60,3c03fffd +348cf64,3463f6fb +348cf68,ac430004 +348cf6c,8c820008 +348cf70,24430008 +348cf74,ac830008 +348cf78,3c03fa00 +348cf7c,ac430000 +348cf80,240300d0 +348cf84,ac430004 +348cf88,a71021 +348cf8c,21380 +348cf90,3c0700ff +348cf94,34e7f000 +348cf98,471024 +348cf9c,8fa30030 +348cfa0,c31821 +348cfa4,31880 +348cfa8,30630fff +348cfac,431025 +348cfb0,3c03e400 +348cfb4,431025 +348cfb8,afa20000 +348cfbc,52b80 +348cfc0,a72824 +348cfc4,63080 +348cfc8,30c60fff +348cfcc,a62825 +348cfd0,afa50004 +348cfd4,3c02e100 +348cfd8,afa20008 +348cfdc,afa0000c +348cfe0,3c02f100 +348cfe4,afa20010 +348cfe8,3c020400 +348cfec,24420400 +348cff0,afa20014 +348cff4,afbd0018 +348cff8,27a50018 +348cffc,8c820008 +348d000,24430008 +348d004,ac830008 +348d008,8fa30018 +348d00c,8c670004 +348d010,8c660000 +348d014,ac470004 +348d018,ac460000 +348d01c,24620008 +348d020,14a2fff6 +348d024,afa20018 +348d028,8c820008 +348d02c,24430008 +348d030,ac830008 +348d034,3c03e700 +348d038,ac430000 +348d03c,ac400004 +348d040,8c820008 +348d044,24430008 +348d048,ac830008 +348d04c,3c03fc11 +348d050,34639623 +348d054,ac430000 +348d058,3c03ff2f +348d05c,3463ffff +348d060,ac430004 +348d064,3e00008 +348d068,27bd0020 +348d06c,3c028040 +348d070,90451de4 +348d074,10a00006 +348d078,24820002 +348d07c,3c028040 +348d080,90421e4f +348d084,50400002 +348d088,24820002 +348d08c,24820001 +348d090,28430002 +348d094,2c630001 +348d098,431021 +348d09c,28430009 +348d0a0,14600007 +348d0a8,50a00005 +348d0ac,24420001 +348d0b0,3c038040 +348d0b4,90631e57 +348d0b8,54600001 +348d0bc,24420001 +348d0c0,3e00008 +348d0c8,3c028040 +348d0cc,90421de4 +348d0d0,104000c5 +348d0d4,3c020001 +348d0d8,27bdff80 +348d0dc,afbf007c +348d0e0,afbe0078 +348d0e4,afb70074 +348d0e8,afb60070 +348d0ec,afb5006c +348d0f0,afb40068 +348d0f4,afb30064 +348d0f8,afb20060 +348d0fc,afb1005c +348d100,afb00058 +348d104,80b825 +348d108,a0b025 +348d10c,821021 +348d110,90551cbc +348d114,3c028043 +348d118,8c4293b4 +348d11c,184000a6 +348d120,909400a5 +348d124,3c108043 +348d128,26109280 +348d12c,9025 +348d130,3c1e8040 +348d134,27de1e4e +348d138,3c138043 +348d13c,2673adfc +348d140,3c028043 +348d144,afa20040 +348d148,3c028044 +348d14c,24422040 +348d150,afa20044 +348d154,92020000 +348d158,54540092 +348d15c,26520001 +348d160,8a070000 +348d164,9a070003 +348d168,8a060004 +348d16c,9a060007 +348d170,8a050008 +348d174,9a05000b +348d178,8a04000c +348d17c,9a04000f +348d180,8a030010 +348d184,9a030013 +348d188,afa70020 +348d18c,afa60024 +348d190,afa50028 +348d194,afa4002c +348d198,afa30030 +348d19c,96030014 +348d1a0,a7a30034 +348d1a4,5e1021 +348d1a8,90460000 +348d1ac,14c00002 +348d1b0,27a50032 +348d1b4,27a5002e +348d1b8,a01825 +348d1bc,24a50004 +348d1c0,240700ff +348d1c4,62040 +348d1c8,862021 +348d1cc,42040 +348d1d0,90710000 +348d1d4,12270072 +348d1d8,111040 +348d1dc,511021 +348d1e0,21080 +348d1e4,821021 +348d1e8,2621021 +348d1ec,90420005 +348d1f0,14550069 +348d1f4,24630001 +348d1f8,3c02801c +348d1fc,344284a0 +348d200,944300a4 +348d204,28620011 +348d208,1040000c +348d20c,2025 +348d210,3c028011 +348d214,3442a5d0 +348d218,431021 +348d21c,804200bc +348d220,4410006 +348d224,2404ffef +348d228,3c028043 +348d22c,9042d7b4 +348d230,10400002 +348d234,2025 +348d238,2404ffef +348d23c,61040 +348d240,461021 348d244,21040 -348d248,2623023 -348d24c,30c600ff -348d250,54c00175 -348d254,96c70004 -348d258,24070001 -348d25c,2406002f -348d260,2c02825 -348d264,c1046ee -348d268,2002025 -348d26c,96c70004 -348d270,96c20006 -348d274,afa20018 -348d278,afa70014 -348d27c,8fa20044 -348d280,afa20010 -348d284,8fa2003c -348d288,473821 -348d28c,3025 -348d290,2c02825 -348d294,c10493a -348d298,2002025 -348d29c,2407000a -348d2a0,24060010 -348d2a4,2c02825 -348d2a8,c1046ee -348d2ac,2002025 -348d2b0,26b50001 -348d2b4,24020004 -348d2b8,16a2ff97 -348d2bc,2351021 -348d2c0,27c20001 -348d2c4,165eff68 -348d2c8,26940011 -348d2cc,1000014f -348d2d0,8e020008 -348d2d4,24030001 -348d2d8,ac437e48 -348d2dc,3c028040 -348d2e0,8c571d94 -348d2e4,12e00007 -348d2e8,2e01025 -348d2ec,3c028042 -348d2f0,94433eb4 -348d2f4,31040 -348d2f8,431021 -348d2fc,21040 -348d300,24420001 -348d304,3c038042 -348d308,94673eb4 -348d30c,738c0 -348d310,24e70038 -348d314,e23821 -348d318,24020140 -348d31c,471023 -348d320,22fc2 -348d324,a22821 -348d328,52843 -348d32c,24b50001 -348d330,240200cd -348d334,afa20010 -348d338,24060011 -348d33c,c102cc7 -348d340,2002025 -348d344,8e020008 -348d348,24430008 -348d34c,ae030008 -348d350,3c03fa00 -348d354,ac430000 -348d358,2403ffff -348d35c,ac430004 -348d360,24120013 -348d364,8825 -348d368,3c138042 -348d36c,26733acc -348d370,2414000c -348d374,2a22000a -348d378,38420001 -348d37c,511021 -348d380,22040 -348d384,822021 -348d388,42080 -348d38c,822023 -348d390,42040 -348d394,24840003 -348d398,2403025 -348d39c,2a02825 -348d3a0,c1078cc -348d3a4,2642021 -348d3a8,26310001 -348d3ac,1634fff1 -348d3b0,26520011 -348d3b4,3c028042 -348d3b8,94543eb4 -348d3bc,14a0c0 -348d3c0,26940001 -348d3c4,295a021 -348d3c8,24070001 -348d3cc,24060010 -348d3d0,3c058042 -348d3d4,24a53ec0 -348d3d8,c1046ee -348d3dc,2002025 -348d3e0,24120012 -348d3e4,8825 -348d3e8,3c138042 -348d3ec,26733acc -348d3f0,3c158011 -348d3f4,36b5a5d0 -348d3f8,3c168042 -348d3fc,26d63ec0 -348d400,2a23000a -348d404,38630001 -348d408,711821 -348d40c,31040 -348d410,431021 -348d414,21080 -348d418,431023 -348d41c,21040 -348d420,2621021 -348d424,90420001 -348d428,30420010 -348d42c,50400018 -348d430,26310001 -348d434,31040 -348d438,431021 -348d43c,21080 -348d440,431023 -348d444,21040 -348d448,531021 -348d44c,90420000 -348d450,2a21021 -348d454,904200a8 -348d458,21082 -348d45c,30420001 -348d460,5040000b -348d464,26310001 -348d468,24020010 -348d46c,afa20018 -348d470,afa20014 -348d474,afb20010 -348d478,2803825 -348d47c,3025 -348d480,2c02825 -348d484,c10493a -348d488,2002025 -348d48c,26310001 -348d490,2402000c -348d494,1622ffda -348d498,26520011 -348d49c,269e0011 +348d248,111840 +348d24c,711821 +348d250,31880 +348d254,431021 +348d258,531021 +348d25c,90420000 +348d260,afa2004c +348d264,8ec20008 +348d268,24430008 +348d26c,aec30008 +348d270,3c06e700 +348d274,ac460000 +348d278,ac400004 +348d27c,8ec20008 +348d280,24430008 +348d284,aec30008 +348d288,3c03fc11 +348d28c,34639623 +348d290,ac430000 +348d294,3c03ff2f +348d298,3463ffff +348d29c,ac430004 +348d2a0,3c020001 +348d2a4,2e21021 +348d2a8,afa20050 +348d2ac,94430742 +348d2b0,2402ff00 +348d2b4,621825 +348d2b8,8ec20008 +348d2bc,24450008 +348d2c0,aec50008 +348d2c4,3c05fa00 +348d2c8,ac450000 +348d2cc,ac430004 +348d2d0,8ec20008 +348d2d4,24430008 +348d2d8,aec30008 +348d2dc,ac460000 +348d2e0,ac400004 +348d2e4,248400bd +348d2e8,41c00 +348d2ec,31c03 +348d2f0,afa30048 +348d2f4,24020010 +348d2f8,afa20018 +348d2fc,afa20014 +348d300,afa30010 +348d304,2407001a +348d308,24060001 +348d30c,8fa30040 +348d310,246595f0 +348d314,c1053ec +348d318,2c02025 +348d31c,8fa30044 +348d320,718821 +348d324,92250000 +348d328,8ec20008 +348d32c,24430008 +348d330,aec30008 +348d334,3c06e700 +348d338,ac460000 +348d33c,ac400004 +348d340,2402ffff +348d344,a3a20038 +348d348,a3a20039 +348d34c,a3a2003a +348d350,8fa20050 +348d354,94420742 +348d358,a3a2003b +348d35c,8fa2004c +348d360,a2102b +348d364,14400005 +348d368,8fa20038 +348d36c,24020078 +348d370,a3a20038 +348d374,a3a0003a +348d378,8fa20038 +348d37c,afa20010 +348d380,8fa70048 +348d384,2406002a +348d388,c108ad1 +348d38c,2c02025 +348d390,10000004 +348d394,26520001 +348d398,5465ff8e +348d39c,90710000 +348d3a0,26520001 +348d3a4,3c028043 +348d3a8,8c4293b4 +348d3ac,242102a +348d3b0,1440ff68 +348d3b4,26100016 +348d3b8,8fbf007c +348d3bc,8fbe0078 +348d3c0,8fb70074 +348d3c4,8fb60070 +348d3c8,8fb5006c +348d3cc,8fb40068 +348d3d0,8fb30064 +348d3d4,8fb20060 +348d3d8,8fb1005c +348d3dc,8fb00058 +348d3e0,3e00008 +348d3e4,27bd0080 +348d3e8,3e00008 +348d3f0,3c02801c +348d3f4,344284a0 +348d3f8,904300a5 +348d3fc,2462fffd +348d400,304200ff +348d404,2c420005 +348d408,14400008 +348d40c,3c028011 +348d410,2402000a +348d414,10620004 +348d418,2402000d +348d41c,14620012 +348d420,2025 +348d424,2403000a +348d428,3c028011 +348d42c,3442a5d0 +348d430,431021 +348d434,904200a8 +348d438,30420001 +348d43c,1040000a +348d440,2025 +348d444,3c028043 +348d448,9042d7b4 +348d44c,24420001 +348d450,402025 +348d454,304200ff +348d458,2c420003 +348d45c,50400001 +348d460,24040002 +348d464,308400ff +348d468,3c028043 +348d46c,3e00008 +348d470,a044d7b4 +348d474,27bdffd0 +348d478,afbf002c +348d47c,afb10028 +348d480,afb00024 +348d484,808825 +348d488,c1034fc +348d48c,a08025 +348d490,3c028043 +348d494,9042d7b4 +348d498,2c420002 +348d49c,1440002f 348d4a0,24070001 -348d4a4,2406000f -348d4a8,3c058042 -348d4ac,24a53ec0 -348d4b0,c1046ee -348d4b4,2002025 -348d4b8,24120012 -348d4bc,8825 -348d4c0,3c138042 -348d4c4,26733acc -348d4c8,3c158011 -348d4cc,36b5a5d0 -348d4d0,3c168042 -348d4d4,26d63ec0 -348d4d8,2a23000a -348d4dc,38630001 -348d4e0,711821 -348d4e4,31040 -348d4e8,431021 -348d4ec,21080 -348d4f0,431023 -348d4f4,21040 -348d4f8,2621021 -348d4fc,90420001 -348d500,30420010 -348d504,50400018 -348d508,26310001 -348d50c,31040 -348d510,431021 -348d514,21080 -348d518,431023 -348d51c,21040 -348d520,531021 -348d524,90420000 -348d528,2a21021 -348d52c,904200a8 -348d530,21042 -348d534,30420001 -348d538,5040000b -348d53c,26310001 -348d540,24020010 -348d544,afa20018 -348d548,afa20014 -348d54c,afb20010 -348d550,3c03825 -348d554,3025 -348d558,2c02825 -348d55c,c10493a -348d560,2002025 -348d564,26310001 -348d568,2402000c -348d56c,1622ffda -348d570,26520011 -348d574,269e0022 -348d578,24070001 -348d57c,2406000b -348d580,3c058042 -348d584,24a53ec0 -348d588,c1046ee -348d58c,2002025 -348d590,24120012 -348d594,8825 -348d598,3c138042 -348d59c,26733acc -348d5a0,3c158011 -348d5a4,36b5a5d0 -348d5a8,3c168042 -348d5ac,26d63ec0 -348d5b0,2a23000a -348d5b4,38630001 -348d5b8,711821 -348d5bc,31040 -348d5c0,431021 -348d5c4,21080 -348d5c8,431023 -348d5cc,21040 -348d5d0,2621021 -348d5d4,90440002 -348d5d8,50800017 -348d5dc,26310001 -348d5e0,31040 -348d5e4,431021 -348d5e8,21080 -348d5ec,431023 -348d5f0,21040 -348d5f4,531021 -348d5f8,90420000 -348d5fc,38420003 -348d600,2a21021 -348d604,90420e9c -348d608,5444000b -348d60c,26310001 -348d610,24020010 -348d614,afa20018 -348d618,afa20014 -348d61c,afb20010 -348d620,3c03825 -348d624,3025 -348d628,2c02825 -348d62c,c10493a -348d630,2002025 -348d634,26310001 -348d638,2402000c -348d63c,1622ffdc -348d640,26520011 -348d644,12e0003b -348d648,26940033 -348d64c,24120013 -348d650,8825 -348d654,3c178040 -348d658,3c138042 -348d65c,26733acc -348d660,3c168040 -348d664,26d61dba -348d668,3c158042 -348d66c,26b5fd5c -348d670,3c1e8042 -348d674,2a23000a -348d678,38630001 -348d67c,8ee21d98 -348d680,10400019 -348d684,711821 -348d688,31040 -348d68c,431021 -348d690,21080 -348d694,431023 -348d698,21040 -348d69c,2621021 -348d6a0,90420001 -348d6a4,30420010 -348d6a8,10400010 -348d6ac,31040 -348d6b0,431021 -348d6b4,21080 -348d6b8,431023 -348d6bc,21040 -348d6c0,531021 -348d6c4,90440000 -348d6c8,3c028011 -348d6cc,3442a5d0 -348d6d0,441021 -348d6d4,904200a8 -348d6d8,21082 -348d6dc,30420001 -348d6e0,50400011 -348d6e4,26310001 -348d6e8,31040 -348d6ec,431021 -348d6f0,21080 -348d6f4,431023 -348d6f8,21040 -348d6fc,531021 -348d700,90420000 -348d704,561021 -348d708,90420000 -348d70c,14400002 -348d710,2a02025 -348d714,27c4fd60 -348d718,2403025 -348d71c,c1078cc -348d720,2802825 -348d724,26310001 -348d728,2402000c -348d72c,1622ffd1 -348d730,26520011 -348d734,c107930 -348d738,2002025 -348d73c,1000007f -348d740,8fbf007c -348d744,afa20018 -348d748,24020006 -348d74c,afa20014 -348d750,8fa20040 -348d754,afa20010 -348d758,2603825 -348d75c,8fa50044 -348d760,c10493a -348d764,2002025 -348d768,1000fc01 -348d76c,2673000f -348d770,afb60040 -348d774,27d30013 -348d778,27c2004f -348d77c,afa20048 -348d780,3c028042 -348d784,24423eb0 -348d788,1000fb9d -348d78c,afa20044 -348d790,afa20018 -348d794,afa20014 -348d798,8fa20038 -348d79c,afa20010 -348d7a0,3c03825 -348d7a4,3025 -348d7a8,8fa2003c -348d7ac,24453e70 -348d7b0,c10493a -348d7b4,2002025 -348d7b8,1000fb61 -348d7bc,26940001 -348d7c0,24430008 -348d7c4,ae030008 -348d7c8,3c03fa00 -348d7cc,ac430000 -348d7d0,2403ffff -348d7d4,ac430004 -348d7d8,3c058042 -348d7dc,24a53ef0 -348d7e0,94a70008 -348d7e4,3025 -348d7e8,c1046ee -348d7ec,2002025 -348d7f0,2412002c -348d7f4,8825 -348d7f8,24130010 -348d7fc,3c028042 -348d800,24573ef0 -348d804,1000fc4d -348d808,24160003 -348d80c,24430008 -348d810,ae030008 -348d814,3c03fa00 -348d818,ac430000 -348d81c,2403ffff -348d820,1000ffc4 -348d824,ac430004 -348d828,96c20006 -348d82c,afa20018 -348d830,afa70014 -348d834,8fa20044 -348d838,afa20010 -348d83c,8fa2003c -348d840,e23821 -348d844,2c02825 -348d848,c10493a -348d84c,2002025 -348d850,1000fe98 -348d854,26b50001 -348d858,afb40044 -348d85c,a825 -348d860,21840 -348d864,621821 -348d868,31880 -348d86c,621023 -348d870,21040 -348d874,8fa30040 -348d878,431021 -348d87c,1000fe25 -348d880,afa20048 -348d884,24020010 -348d888,afa20018 -348d88c,afa20014 -348d890,afb60010 -348d894,8fa7003c -348d898,3025 -348d89c,8fa50040 -348d8a0,c10493a -348d8a4,2002025 -348d8a8,1000fdd8 -348d8ac,26220001 -348d8b0,8c421da4 -348d8b4,1440f891 -348d8b8,24040001 -348d8bc,1000f89c -348d8c0,24020001 -348d8c4,24640008 -348d8c8,ae040008 -348d8cc,3c04de00 -348d8d0,ac640000 -348d8d4,3c048042 -348d8d8,24843f08 -348d8dc,1000f86b -348d8e0,ac640004 -348d8e4,24430008 -348d8e8,ae030008 -348d8ec,3c03de00 -348d8f0,ac430000 -348d8f4,3c038042 -348d8f8,24633f08 -348d8fc,1000f867 -348d900,ac430004 -348d904,24640008 -348d908,ae040008 -348d90c,3c04de00 -348d910,ac640000 -348d914,3c048042 -348d918,24843f08 -348d91c,ac640004 -348d920,21c00 -348d924,31c03 -348d928,463fba3 -348d92c,30430400 -348d930,1000f857 -348d934,3c038040 -348d938,8fbf007c -348d93c,8fbe0078 -348d940,8fb70074 -348d944,8fb60070 -348d948,8fb5006c -348d94c,8fb40068 -348d950,8fb30064 -348d954,8fb20060 -348d958,8fb1005c -348d95c,8fb00058 -348d960,3e00008 -348d964,27bd0080 -348d968,3e00008 -348d970,3c028042 -348d974,3e00008 -348d978,8c427e48 -348d97c,8483014a -348d980,1460000a -348d984,3c02801d -348d988,27bdffe8 -348d98c,afbf0014 -348d990,3c028002 -348d994,24420eb4 -348d998,40f809 -348d9a0,8fbf0014 -348d9a4,3e00008 -348d9a8,27bd0018 -348d9ac,3442aa30 -348d9b0,8c460024 -348d9b4,8c450028 -348d9b8,8c42002c -348d9bc,ac860024 -348d9c0,ac850028 -348d9c4,ac82002c -348d9c8,948200b6 -348d9cc,244203c0 -348d9d0,a48200b6 -348d9d4,2402000f -348d9d8,431023 -348d9dc,44820000 -348d9e4,46800021 -348d9e8,3c028042 -348d9ec,d442fd68 -348d9f0,46220002 -348d9f4,3c028042 -348d9f8,d442fd70 -348d9fc,46220000 -348da00,c4820028 -348da04,460010a1 -348da08,46220000 -348da0c,46200020 -348da10,e4800028 -348da14,3c028011 -348da18,3442a5d0 -348da1c,8c420004 -348da20,14400006 -348da28,3c028042 -348da2c,c442fd78 -348da30,46020000 -348da34,3e00008 -348da38,e4800028 -348da3c,3e00008 -348da44,908201ac -348da48,5040000b -348da4c,c4820090 -348da50,c482008c -348da54,3c038042 -348da58,c460fd7c -348da5c,4600103e -348da64,45010002 -348da68,24020001 -348da6c,1025 -348da70,3e00008 -348da74,304200ff -348da78,3c038042 -348da7c,c460fd80 -348da80,4600103e -348da88,4500000e -348da8c,3c038042 -348da90,c4800094 -348da94,c462fd84 -348da98,4600103e -348daa0,45000008 -348daa4,3c038042 -348daa8,c462fd88 -348daac,4602003e -348dab4,45010002 -348dab8,24020001 -348dabc,1025 -348dac0,304200ff -348dac4,3e00008 -348dacc,8c820130 -348dad0,10400025 -348dad4,24020112 -348dad8,27bdfe28 -348dadc,afbf01d4 -348dae0,afb001d0 -348dae4,84830000 -348dae8,1462001b -348daec,808025 -348daf0,a08001c0 -348daf4,24020015 -348daf8,a7a20010 -348dafc,94820016 -348db00,a7a20026 -348db04,a7a0002c -348db08,3825 -348db0c,90a600a5 -348db10,27a50010 -348db14,c1040bf -348db18,27a401c0 -348db1c,8fa201c0 -348db20,afa201ac -348db24,8fa301c4 -348db28,afa301b0 -348db2c,8fa301c8 -348db30,afa301b4 -348db34,8fa301cc -348db38,10400007 -348db3c,afa301b8 -348db40,c1043c7 -348db44,27a40010 -348db48,14400004 -348db4c,8fbf01d4 -348db50,24020001 -348db54,a20201c0 -348db58,8fbf01d4 -348db5c,8fb001d0 -348db60,3e00008 -348db64,27bd01d8 -348db68,3e00008 -348db70,90c201c0 -348db74,10400025 -348db78,24020005 -348db7c,27bdffd0 -348db80,afbf002c -348db84,84c30144 -348db88,54620004 -348db8c,3c038042 -348db90,3c038042 -348db94,10000002 -348db98,24633c20 -348db9c,24633c28 -348dba0,51040 -348dba4,451021 -348dba8,21080 -348dbac,822021 -348dbb0,8c860000 -348dbb4,8c850004 -348dbb8,8c820008 -348dbbc,afa60018 -348dbc0,afa5001c -348dbc4,afa20020 -348dbc8,3c028042 -348dbcc,24423c1c -348dbd0,afa20014 -348dbd4,afa30010 -348dbd8,3c078042 -348dbdc,24e73c04 -348dbe0,3c068042 -348dbe4,24c63c10 -348dbe8,27a50018 -348dbec,3c04801c -348dbf0,3c028001 -348dbf4,3442c66c -348dbf8,40f809 -348dbfc,348484a0 -348dc00,8fbf002c -348dc04,3e00008 -348dc08,27bd0030 -348dc0c,3e00008 -348dc14,27bdffc8 -348dc18,afbf0034 -348dc1c,afb70030 -348dc20,afb6002c -348dc24,afb50028 -348dc28,afb40024 -348dc2c,afb30020 -348dc30,afb2001c -348dc34,afb10018 -348dc38,afb00014 -348dc3c,808825 -348dc40,a09025 -348dc44,c09825 -348dc48,3c028006 -348dc4c,244246f0 -348dc50,40f809 -348dc54,24044824 -348dc58,922201c0 -348dc5c,50400022 -348dc60,8630014a -348dc64,96230016 -348dc68,3c028043 -348dc6c,1260000a -348dc70,a4438614 -348dc74,3025 -348dc78,3c05801d -348dc7c,34a5aa54 -348dc80,3c028001 -348dc84,244238b0 -348dc88,40f809 -348dc8c,2402025 -348dc90,10000008 -348dc94,3c028043 -348dc98,3025 -348dc9c,26250024 -348dca0,3c028001 -348dca4,24423678 -348dca8,40f809 -348dcac,2402025 -348dcb0,3c028043 -348dcb4,a4408614 -348dcb8,86250152 -348dcbc,4a00004 -348dcc0,3c028002 -348dcc4,244204d0 -348dcc8,40f809 -348dccc,2402025 -348dcd0,3c028002 -348dcd4,24420eb4 -348dcd8,40f809 -348dcdc,2202025 -348dce0,10000049 -348dce4,8fbf0034 -348dce8,16000004 -348dcec,24020001 -348dcf0,a622014a -348dcf4,10000003 -348dcf8,24100001 -348dcfc,5a000038 -348dd00,86250152 -348dd04,26340024 -348dd08,3c168001 -348dd0c,26d73a84 -348dd10,3c158042 -348dd14,26b5fd8c -348dd18,86270146 -348dd1c,28e2000c -348dd20,5040001a -348dd24,24e7fff4 -348dd28,2402000b -348dd2c,10e20003 -348dd30,73840 -348dd34,16600009 -348dd3c,f53821 -348dd40,26c23678 -348dd44,84e60000 -348dd48,2802825 -348dd4c,40f809 -348dd50,2402025 -348dd54,1000001d -348dd58,2610ffff -348dd5c,f53821 -348dd60,94e60000 -348dd64,24028000 -348dd68,c23025 -348dd6c,26c23678 -348dd70,63400 -348dd74,63403 -348dd78,2802825 -348dd7c,40f809 -348dd80,2402025 -348dd84,10000011 -348dd88,2610ffff -348dd8c,73c00 -348dd90,16600007 -348dd94,73c03 -348dd98,2803025 -348dd9c,2825 -348dda0,2e0f809 -348dda4,2402025 -348dda8,10000008 -348ddac,2610ffff -348ddb0,24028000 -348ddb4,e23825 -348ddb8,2803025 -348ddbc,2825 -348ddc0,2e0f809 -348ddc4,2402025 -348ddc8,2610ffff -348ddcc,108400 -348ddd0,108403 -348ddd4,5e00ffd1 -348ddd8,86270146 -348dddc,86250152 -348dde0,4a00004 -348dde4,3c028002 -348dde8,244204d0 -348ddec,40f809 -348ddf0,2402025 -348ddf4,3c028002 -348ddf8,24420eb4 -348ddfc,40f809 -348de00,2202025 -348de04,8fbf0034 -348de08,8fb70030 -348de0c,8fb6002c -348de10,8fb50028 -348de14,8fb40024 -348de18,8fb30020 -348de1c,8fb2001c -348de20,8fb10018 -348de24,8fb00014 -348de28,3e00008 -348de2c,27bd0038 -348de30,908201c0 -348de34,10400022 -348de38,24030003 -348de3c,84820144 -348de40,10430007 -348de44,24030008 -348de48,10430008 -348de4c,24030002 -348de50,1443001b -348de54,3c028042 -348de58,10000006 -348de5c,24423c24 -348de60,3c028042 -348de64,10000003 -348de68,24423c2c -348de6c,3c028042 -348de70,24423c2c -348de74,27bdffe0 -348de78,afbf001c -348de7c,3c038042 -348de80,24633c1c -348de84,afa30014 -348de88,afa20010 -348de8c,3c078042 -348de90,24e73c04 -348de94,3c068042 -348de98,24c63c10 -348de9c,24850024 -348dea0,3c04801c -348dea4,3c028001 -348dea8,3442c66c -348deac,40f809 -348deb0,348484a0 -348deb4,8fbf001c -348deb8,3e00008 -348debc,27bd0020 -348dec0,3e00008 -348dec8,27bdfe28 -348decc,afbf01d4 -348ded0,afb001d0 -348ded4,808025 -348ded8,24020015 -348dedc,a7a20010 -348dee0,80820003 -348dee4,21200 -348dee8,3c038040 -348deec,94636960 -348def0,431025 -348def4,a7a20026 -348def8,a7a0002c -348defc,3825 -348df00,3c02801c -348df04,344284a0 -348df08,904600a5 -348df0c,27a50010 -348df10,c1040bf -348df14,27a401c0 -348df18,8fa201c0 -348df1c,afa201ac -348df20,8fa301c4 -348df24,afa301b0 -348df28,8fa301c8 -348df2c,afa301b4 -348df30,8fa301cc -348df34,10400005 -348df38,afa301b8 -348df3c,c1043c7 -348df40,27a40010 -348df44,5040000a -348df48,1025 -348df4c,86050152 -348df50,4a00007 -348df54,1025 -348df58,3c04801c -348df5c,3c028002 -348df60,2442049c -348df64,40f809 -348df68,348484a0 -348df6c,2102b -348df70,8fbf01d4 -348df74,8fb001d0 -348df78,3e00008 -348df7c,27bd01d8 -348df80,44860000 -348df84,44801000 -348df8c,46020032 -348df94,45030011 -348df98,46007006 -348df9c,460e603c -348dfa4,45000007 -348dfa8,460c0000 -348dfac,4600703c -348dfb4,45000009 -348dfbc,3e00008 -348dfc0,46007006 -348dfc4,460e003c -348dfcc,45000003 -348dfd4,3e00008 -348dfd8,46007006 -348dfdc,3e00008 -348dfe4,3c02801c -348dfe8,344284a0 -348dfec,c44000d4 -348dff0,3c028042 -348dff4,3e00008 -348dff8,e4403c48 -348dffc,27bdffe8 -348e000,afbf0014 -348e004,3c028042 -348e008,90423c3c -348e00c,5040001b -348e010,3c028042 -348e014,3c038011 -348e018,3463a5d0 -348e01c,8c630070 -348e020,31f02 -348e024,1062000d -348e028,21300 -348e02c,3c048011 -348e030,3484a5d0 -348e034,94830070 -348e038,30630fff -348e03c,621025 -348e040,a4820070 -348e044,3c04801d -348e048,3485aa30 -348e04c,3c028007 -348e050,34429764 -348e054,40f809 -348e058,248484a0 -348e05c,3c028042 -348e060,90433c3c -348e064,24020001 -348e068,14620004 -348e06c,3c028042 -348e070,3c028042 -348e074,a0403c3c -348e078,3c028042 -348e07c,c44e3c34 -348e080,44800000 -348e088,46007032 -348e090,45010010 -348e094,3c02801c -348e098,344284a0 -348e09c,c44000d4 -348e0a0,46007032 -348e0a8,45010019 -348e0ac,3c02801c -348e0b0,3c028042 -348e0b4,8c46fde8 -348e0b8,3c028042 -348e0bc,c1037e0 -348e0c0,c44c3c44 -348e0c4,3c02801c -348e0c8,344284a0 -348e0cc,1000000f -348e0d0,e44000d4 -348e0d4,344284a0 -348e0d8,c44c00d4 -348e0dc,3c028042 -348e0e0,c44e3c48 -348e0e4,460e6032 -348e0ec,45010008 -348e0f0,3c02801c -348e0f4,3c028042 -348e0f8,c1037e0 -348e0fc,8c46fdec -348e100,3c02801c -348e104,344284a0 -348e108,e44000d4 -348e10c,3c02801c -348e110,344284a0 -348e114,c44000d4 -348e118,3c028042 -348e11c,e4403c44 -348e120,3c028042 -348e124,90423c3d -348e128,24030001 -348e12c,1443000f -348e130,24030002 -348e134,3c02801c -348e138,344284a0 -348e13c,94420322 -348e140,3c038042 -348e144,2463fda4 -348e148,431021 -348e14c,90420000 -348e150,10400018 -348e154,3c028042 -348e158,3c02801c -348e15c,344284a0 -348e160,24030035 -348e164,10000012 -348e168,a4430322 -348e16c,14430011 -348e170,3c028042 -348e174,3c02801c -348e178,344284a0 -348e17c,94420322 -348e180,3c038042 -348e184,2463fda4 -348e188,431021 -348e18c,90420000 -348e190,10400006 -348e194,3c028042 -348e198,3c02801c -348e19c,344284a0 -348e1a0,2403001f -348e1a4,a4430322 -348e1a8,3c028042 -348e1ac,a0403c3d -348e1b0,3c028042 -348e1b4,24423c30 -348e1b8,c4400008 -348e1bc,3c038040 -348e1c0,e4604068 -348e1c4,9044000e -348e1c8,3c038040 -348e1cc,a06445bd -348e1d0,9042000f -348e1d4,50400006 -348e1d8,3c028042 -348e1dc,2442ffff -348e1e0,3c038042 -348e1e4,c104b05 -348e1e8,a0623c3f -348e1ec,3c028042 -348e1f0,90423c40 -348e1f4,1040000b -348e1f8,3c028042 -348e1fc,3c02801c -348e200,344284a0 -348e204,94430014 -348e208,2404dfff -348e20c,641824 -348e210,a4430014 -348e214,94430020 -348e218,641824 -348e21c,a4430020 -348e220,3c028042 -348e224,90423c41 -348e228,10400016 -348e22c,8fbf0014 -348e230,3c02801c -348e234,344284a0 -348e238,90430016 -348e23c,31823 -348e240,a0430016 -348e244,90430017 -348e248,31823 -348e24c,a0430017 -348e250,90430022 -348e254,31823 -348e258,a0430022 -348e25c,90430023 -348e260,31823 -348e264,a0430023 -348e268,90430028 -348e26c,31823 -348e270,a0430028 -348e274,90430029 -348e278,31823 -348e27c,a0430029 -348e280,8fbf0014 -348e284,3e00008 -348e288,27bd0018 -348e28c,850018 -348e290,1812 -348e294,24620001 -348e298,3042ffff -348e29c,31a02 -348e2a0,431021 -348e2a4,21203 -348e2a8,3e00008 -348e2ac,304200ff -348e2b0,2402ffff -348e2b4,a0820002 -348e2b8,a0820001 -348e2bc,4a00031 -348e2c0,a0820000 -348e2c4,a01825 -348e2c8,28a503e8 -348e2cc,50a00001 -348e2d0,240303e7 -348e2d4,31c00 -348e2d8,31c03 -348e2dc,3c026666 -348e2e0,24426667 -348e2e4,620018 -348e2e8,1010 -348e2ec,21083 -348e2f0,32fc3 -348e2f4,451023 -348e2f8,22880 -348e2fc,a22821 -348e300,52840 -348e304,651823 -348e308,21400 -348e30c,21403 -348e310,1040001c -348e314,a0830002 -348e318,3c036666 -348e31c,24636667 -348e320,430018 -348e324,1810 -348e328,31883 -348e32c,22fc3 -348e330,651823 -348e334,32880 -348e338,a32821 -348e33c,52840 -348e340,451023 -348e344,a0820001 -348e348,31400 -348e34c,21403 -348e350,1040000c -348e354,3c036666 -348e358,24636667 -348e35c,430018 -348e360,1810 -348e364,31883 -348e368,22fc3 -348e36c,651823 -348e370,32880 -348e374,a31821 -348e378,31840 -348e37c,431023 -348e380,a0820000 -348e384,3e00008 -348e38c,27bdffd0 -348e390,afbf002c -348e394,afb20028 -348e398,afb10024 -348e39c,afb00020 -348e3a0,808025 -348e3a4,a08825 -348e3a8,afa7003c -348e3ac,8fb20040 -348e3b0,c1046ee -348e3b4,24070001 -348e3b8,93a7003c -348e3bc,afb20018 -348e3c0,afb20014 -348e3c4,83a2003d -348e3c8,2442005c -348e3cc,afa20010 -348e3d0,24e70037 -348e3d4,3025 -348e3d8,2202825 -348e3dc,c10493a -348e3e0,2002025 -348e3e4,8fbf002c -348e3e8,8fb20028 -348e3ec,8fb10024 -348e3f0,8fb00020 -348e3f4,3e00008 -348e3f8,27bd0030 -348e3fc,9083007b -348e400,2462fff9 -348e404,304200ff -348e408,2c420002 -348e40c,50400003 -348e410,1025 -348e414,10000002 -348e418,24020001 -348e41c,24030007 -348e420,a0a20000 -348e424,a0a30001 -348e428,9083007d -348e42c,2462fff6 -348e430,304200ff -348e434,2c420002 -348e438,50400003 -348e43c,1025 -348e440,10000002 -348e444,24020001 -348e448,2403000a -348e44c,a0a20002 -348e450,a0a30003 -348e454,84820ef6 -348e458,440001d -348e45c,2402002b -348e460,94820ef4 -348e464,210c2 -348e468,3042008f -348e46c,2c430010 -348e470,50600019 -348e474,2402002b -348e478,50400007 -348e47c,9082008b -348e480,3c038042 -348e484,2463fdf4 -348e488,431021 -348e48c,90420000 -348e490,10000014 -348e494,24030001 -348e498,2443ffdf -348e49c,306300ff -348e4a0,2c630003 -348e4a4,5060000e -348e4a8,2402002b -348e4ac,24030023 -348e4b0,1443000c -348e4b4,24030001 -348e4b8,94830ede -348e4bc,30630200 -348e4c0,50600001 -348e4c4,24020022 -348e4c8,10000006 -348e4cc,24030001 -348e4d0,10000004 -348e4d4,24030001 -348e4d8,10000002 -348e4dc,24030001 -348e4e0,1825 -348e4e4,a0a20005 -348e4e8,a0a30004 -348e4ec,3c038040 -348e4f0,90631d71 -348e4f4,14600009 -348e4f8,9082008a -348e4fc,24030030 -348e500,5043000b -348e504,2402002f -348e508,2443ffcb -348e50c,306300ff -348e510,2c630002 -348e514,54600006 -348e518,24020034 -348e51c,2443ffd3 -348e520,306300ff -348e524,2c63000b -348e528,50600003 -348e52c,24020037 -348e530,10000002 -348e534,24030001 -348e538,1825 -348e53c,a0a20007 -348e540,a0a30006 -348e544,9082003c -348e548,50400005 -348e54c,24020012 -348e550,24020013 -348e554,a0a20009 -348e558,10000003 -348e55c,24020001 -348e560,a0a20009 -348e564,9082003a -348e568,a0a20008 -348e56c,8c8200a0 -348e570,21182 -348e574,30420007 -348e578,10400009 -348e57c,1825 -348e580,401825 -348e584,2c420004 -348e588,50400001 -348e58c,24030003 -348e590,2462004f -348e594,304200ff -348e598,10000002 -348e59c,24030001 -348e5a0,24020050 -348e5a4,a0a3000a -348e5a8,a0a2000b -348e5ac,90821466 -348e5b0,24030053 -348e5b4,a0a3000d -348e5b8,3c038042 -348e5bc,14400005 -348e5c0,a0607e80 -348e5c4,24040001 -348e5c8,a0647e80 -348e5cc,1000000b -348e5d0,a0a0000c -348e5d4,24030001 -348e5d8,14430003 -348e5dc,24030002 -348e5e0,3e00008 -348e5e4,a0a0000c -348e5e8,54430005 -348e5ec,24030003 -348e5f0,24020001 -348e5f4,3e00008 -348e5f8,a0a2000c -348e5fc,24030003 -348e600,14430007 -348e604,24020001 -348e608,a0a2000c -348e60c,24020054 -348e610,3e00008 -348e614,a0a2000d -348e618,1000ffc5 -348e61c,24020034 -348e620,3e00008 -348e628,27bdffd8 -348e62c,afbf0024 -348e630,afb30020 -348e634,afb2001c -348e638,afb10018 -348e63c,afb00014 -348e640,3c028040 -348e644,94421dd4 -348e648,1040001c -348e64c,808025 -348e650,3c028042 -348e654,24423c6c -348e658,2405001a -348e65c,a04500ca -348e660,24040025 -348e664,a04400cb -348e668,24030029 -348e66c,a04300ce -348e670,a04500cf -348e674,24050038 -348e678,a04500d2 -348e67c,a04400d3 -348e680,2405001b -348e684,a04500e2 -348e688,a04000e3 -348e68c,a04300e6 -348e690,a04000e7 -348e694,24040037 -348e698,a04400ea -348e69c,a04000eb -348e6a0,a04300f2 -348e6a4,2403000c -348e6a8,a04300f3 -348e6ac,a04500ee -348e6b0,a04300ef -348e6b4,a04400f6 -348e6b8,a04300f7 -348e6bc,3c028040 -348e6c0,90421d7e -348e6c4,1040000c -348e6c8,26050074 -348e6cc,3c028042 -348e6d0,24423c6c -348e6d4,2403006f -348e6d8,a04300d6 -348e6dc,2403005c -348e6e0,a04300d7 -348e6e4,3c028042 -348e6e8,24423c4c -348e6ec,2404004d -348e6f0,a0440019 -348e6f4,a043001a -348e6f8,24060001 -348e6fc,4825 -348e700,3c028042 -348e704,24423c6c -348e708,2408ffe0 -348e70c,3c048042 -348e710,24843cb4 -348e714,90430000 -348e718,1031824 -348e71c,14600004 -348e720,90a70000 -348e724,90430001 -348e728,50670001 -348e72c,1264825 -348e730,24420004 -348e734,63040 -348e738,1444fff6 -348e73c,24a50001 -348e740,3c028042 -348e744,ac497e50 -348e748,8e0500a4 -348e74c,24427e50 -348e750,30a3003f -348e754,a0430004 -348e758,9602009c -348e75c,8203003e -348e760,10600002 -348e764,3042fffb -348e768,34420004 -348e76c,3c038042 -348e770,a4627e56 -348e774,52c02 -348e778,30a5007c -348e77c,26030086 -348e780,2606008a -348e784,2407001b -348e788,90640000 -348e78c,2482ffec -348e790,304200ff -348e794,2c42000d -348e798,50400004 -348e79c,24630001 -348e7a0,54870001 -348e7a4,34a50001 -348e7a8,24630001 -348e7ac,54c3fff7 -348e7b0,90640000 -348e7b4,3c118042 -348e7b8,26317e50 -348e7bc,a2250005 -348e7c0,3c058042 -348e7c4,24a57e58 -348e7c8,c1038ff -348e7cc,2002025 -348e7d0,8e0200a0 -348e7d4,21302 -348e7d8,30420003 -348e7dc,a2220016 -348e7e0,86050034 -348e7e4,3c048042 -348e7e8,c1038ac -348e7ec,24847e6b -348e7f0,8e1100a4 -348e7f4,3c020080 -348e7f8,2221024 -348e7fc,10400002 -348e800,2825 -348e804,860500d0 -348e808,3c048042 -348e80c,c1038ac -348e810,24847e6e -348e814,3c028040 -348e818,94421dd4 -348e81c,14400046 -348e820,861308c6 -348e824,1000003d -348e828,2405ffff -348e82c,3c048042 -348e830,c1038ac -348e834,24847e74 -348e838,272902a -348e83c,3a520001 -348e840,3c028042 -348e844,ac527e84 -348e848,3c128042 -348e84c,26527e50 -348e850,9202003d -348e854,a2420017 -348e858,8602002e -348e85c,22fc3 -348e860,30a5000f -348e864,a22821 -348e868,52903 -348e86c,3c048042 -348e870,c1038ac -348e874,24847e68 -348e878,86050022 -348e87c,3c048042 -348e880,c1038ac -348e884,24847e77 -348e888,118982 -348e88c,32310fff -348e890,a651002a -348e894,8e0209a4 -348e898,30440004 -348e89c,14800004 -348e8a0,30430001 -348e8a4,3c048042 -348e8a8,10000004 -348e8ac,a4837e7c -348e8b0,34630002 -348e8b4,3c048042 -348e8b8,a4837e7c -348e8bc,30430010 -348e8c0,10600007 -348e8c4,30430008 -348e8c8,3c038042 -348e8cc,24637e50 -348e8d0,9464002c -348e8d4,34840004 -348e8d8,a464002c -348e8dc,30430008 -348e8e0,10600006 -348e8e4,30420002 -348e8e8,3c038042 -348e8ec,24637e50 -348e8f0,9464002c -348e8f4,34840008 -348e8f8,a464002c -348e8fc,10400017 -348e900,8fbf0024 -348e904,3c028042 -348e908,24427e50 -348e90c,9443002c -348e910,34630010 -348e914,10000010 -348e918,a443002c -348e91c,3c048042 -348e920,c1038ac -348e924,24847e71 -348e928,3c028040 -348e92c,84521dd6 -348e930,1000ffbe -348e934,2405ffff -348e938,2602825 -348e93c,3c048042 -348e940,c1038ac -348e944,24847e71 -348e948,3c028040 -348e94c,84451dd6 -348e950,1000ffb6 -348e954,a09025 -348e958,8fbf0024 -348e95c,8fb30020 -348e960,8fb2001c -348e964,8fb10018 -348e968,8fb00014 -348e96c,3e00008 -348e970,27bd0028 -348e974,27bdff80 -348e978,afbf007c -348e97c,afbe0078 -348e980,afb70074 -348e984,afb60070 -348e988,afb5006c -348e98c,afb40068 -348e990,afb30064 -348e994,afb20060 -348e998,afb1005c -348e99c,afb00058 -348e9a0,3c020002 -348e9a4,a21021 -348e9a8,9443ca42 -348e9ac,24020008 -348e9b0,1462001f -348e9b4,808025 -348e9b8,3c020002 -348e9bc,a21021 -348e9c0,9442ca36 -348e9c4,14400006 -348e9c8,3c020002 -348e9cc,a21021 -348e9d0,9444ca2e -348e9d4,24020002 -348e9d8,10820009 -348e9dc,3c020002 -348e9e0,a21021 -348e9e4,9442ca30 -348e9e8,24040005 -348e9ec,50440005 -348e9f0,3c020002 -348e9f4,24040016 -348e9f8,1444000e -348e9fc,3c020002 -348ea00,3c020002 -348ea04,a21021 -348ea08,9443ca38 -348ea0c,31280 -348ea10,431023 -348ea14,210c0 -348ea18,24420020 -348ea1c,8ca401d8 -348ea20,c10398a -348ea24,822021 -348ea28,10000383 -348ea2c,8fbf007c -348ea30,3c020002 -348ea34,a21021 -348ea38,9042ca37 -348ea3c,1440001c -348ea40,2c44009a -348ea44,3c020002 -348ea48,a22821 -348ea4c,90a2ca31 -348ea50,34420080 -348ea54,2c44009a -348ea58,10800376 -348ea5c,2c440086 -348ea60,14800374 -348ea64,2442007a -348ea68,24040001 -348ea6c,441004 -348ea70,3c040008 -348ea74,24840014 -348ea78,442024 -348ea7c,1480003c -348ea80,3c040002 -348ea84,24840081 -348ea88,442024 -348ea8c,54800030 -348ea90,24020008 -348ea94,3c030004 -348ea98,24630002 -348ea9c,431024 -348eaa0,10400365 -348eaa4,8fbf007c -348eaa8,1000003c -348eaac,240200c8 -348eab0,10800360 -348eab4,2c440086 -348eab8,5080000e -348eabc,2442007a -348eac0,24040004 -348eac4,1044002a -348eac8,2c440005 -348eacc,5080001b -348ead0,24030006 -348ead4,24040002 -348ead8,1044001c -348eadc,240400c8 -348eae0,24030003 -348eae4,10430032 -348eae8,afa40030 -348eaec,10000352 -348eaf0,8fbf007c -348eaf4,24040001 -348eaf8,441004 -348eafc,3c040008 -348eb00,24840014 -348eb04,442024 -348eb08,14800019 -348eb0c,3c040002 -348eb10,24840081 -348eb14,442024 -348eb18,5480000d -348eb1c,24020008 -348eb20,3c030004 -348eb24,24630002 -348eb28,431024 -348eb2c,10400342 -348eb30,8fbf007c -348eb34,1000001b -348eb38,240200c8 -348eb3c,1043001b -348eb40,240200c8 -348eb44,1000033c -348eb48,8fbf007c -348eb4c,24020008 -348eb50,431023 -348eb54,21840 -348eb58,431821 -348eb5c,318c0 -348eb60,431021 -348eb64,304200ff -348eb68,10000007 -348eb6c,afa20030 -348eb70,31040 -348eb74,621021 -348eb78,210c0 -348eb7c,621821 -348eb80,306200ff -348eb84,afa20030 -348eb88,8fa20030 -348eb8c,1040032a -348eb90,8fbf007c -348eb94,10000007 -348eb98,8e020008 -348eb9c,10000004 -348eba0,afa20030 -348eba4,10000002 -348eba8,afa20030 -348ebac,afa20030 -348ebb0,8e020008 -348ebb4,24430008 -348ebb8,ae030008 -348ebbc,3c03e700 -348ebc0,ac430000 -348ebc4,ac400004 -348ebc8,8e020008 -348ebcc,24430008 -348ebd0,ae030008 -348ebd4,3c03fc11 -348ebd8,34639623 -348ebdc,ac430000 -348ebe0,3c03ff2f -348ebe4,3463ffff -348ebe8,ac430004 -348ebec,8fa50030 -348ebf0,c1038a3 -348ebf4,24040090 -348ebf8,afa20044 -348ebfc,afa20048 -348ec00,a025 -348ec04,24030040 -348ec08,3c028040 -348ec0c,afa20034 -348ec10,3c168042 -348ec14,26d63c6c -348ec18,3c028042 -348ec1c,afa20038 -348ec20,3c028042 -348ec24,24427e50 -348ec28,afa2004c -348ec2c,26d70180 -348ec30,3c158042 -348ec34,26b5fe74 -348ec38,8e040008 -348ec3c,24820008 -348ec40,ae020008 -348ec44,3c02fa00 -348ec48,ac820000 -348ec4c,31600 -348ec50,32c00 -348ec54,451025 -348ec58,8fa50048 -348ec5c,451025 -348ec60,31a00 -348ec64,431025 -348ec68,ac820004 -348ec6c,8fa20034 -348ec70,94421dd4 -348ec74,1040001b -348ec78,8fa20038 -348ec7c,2404001a -348ec80,a2c400ca -348ec84,24030025 -348ec88,a2c300cb -348ec8c,24020029 -348ec90,a2c200ce -348ec94,a2c400cf -348ec98,24040038 -348ec9c,a2c400d2 -348eca0,a2c300d3 -348eca4,2404001b -348eca8,a2c400e2 -348ecac,a2c000e3 -348ecb0,a2c200e6 -348ecb4,a2c000e7 -348ecb8,24030037 -348ecbc,a2c300ea -348ecc0,a2c000eb -348ecc4,a2c200f2 -348ecc8,2402000c -348eccc,a2c200f3 -348ecd0,a2c400ee -348ecd4,a2c200ef -348ecd8,a2c300f6 -348ecdc,a2c200f7 -348ece0,8fa20038 -348ece4,24533cec -348ece8,8fbe004c -348ecec,2671ff80 -348ecf0,8fd20000 -348ecf4,92220000 -348ecf8,3042001f -348ecfc,50400012 -348ed00,26310004 -348ed04,32420001 -348ed08,5454000f -348ed0c,26310004 -348ed10,8e220000 -348ed14,21f42 -348ed18,31880 -348ed1c,751821 -348ed20,21602 -348ed24,3042001f -348ed28,afa20010 -348ed2c,96270002 -348ed30,73c00 -348ed34,92260001 -348ed38,8c650000 -348ed3c,c1038e3 -348ed40,2002025 -348ed44,26310004 -348ed48,1633ffea -348ed4c,129042 -348ed50,26730080 -348ed54,16f3ffe5 -348ed58,27de0004 -348ed5c,8fa50030 -348ed60,c1038a3 -348ed64,240400ff -348ed68,afa20048 -348ed6c,26940001 -348ed70,24020002 -348ed74,1682ffb0 -348ed78,240300ff -348ed7c,8fa50044 -348ed80,9825 -348ed84,24030040 -348ed88,3c178042 -348ed8c,3c1e8042 -348ed90,3c158042 -348ed94,26b5fe74 -348ed98,2416000c -348ed9c,3c148042 -348eda0,10000002 -348eda4,26947e66 -348eda8,8fa50048 -348edac,8e040008 -348edb0,24820008 -348edb4,ae020008 -348edb8,3c02fa00 -348edbc,ac820000 -348edc0,31600 -348edc4,33400 -348edc8,461025 -348edcc,451025 -348edd0,31a00 -348edd4,431025 -348edd8,ac820004 -348eddc,26f2fe5c -348ede0,27d17e58 -348ede4,92220000 -348ede8,5453000f -348edec,26310002 -348edf0,92420000 -348edf4,21080 -348edf8,551021 -348edfc,afb60010 -348ee00,92430001 -348ee04,31a00 -348ee08,92470002 -348ee0c,e33825 -348ee10,73c00 -348ee14,92260001 -348ee18,8c450000 -348ee1c,c1038e3 -348ee20,2002025 -348ee24,26310002 -348ee28,1634ffee -348ee2c,26520003 -348ee30,26730001 -348ee34,327300ff -348ee38,24020002 -348ee3c,1662ffda -348ee40,240300ff -348ee44,3c028042 -348ee48,90427e80 -348ee4c,10400012 -348ee50,3c028042 -348ee54,24070001 -348ee58,3025 -348ee5c,3c118042 -348ee60,26253e50 -348ee64,c1046ee -348ee68,2002025 -348ee6c,24020006 -348ee70,afa20018 -348ee74,afa20014 -348ee78,24020089 -348ee7c,afa20010 -348ee80,24070095 -348ee84,3025 -348ee88,26253e50 -348ee8c,c10493a -348ee90,2002025 -348ee94,3c028042 -348ee98,94567e7a -348ee9c,24070001 -348eea0,3025 -348eea4,3c058042 -348eea8,24a53e80 -348eeac,c1046ee -348eeb0,2002025 -348eeb4,afa00038 -348eeb8,afa00034 -348eebc,afa00030 -348eec0,b825 -348eec4,3c118042 -348eec8,2631fe20 -348eecc,8fa20048 -348eed0,afa2003c -348eed4,3c028042 -348eed8,24423e80 -348eedc,afa20040 -348eee0,3c1e8042 -348eee4,10000005 -348eee8,27defe5c -348eeec,afb50038 -348eef0,afb40034 -348eef4,afb30030 -348eef8,240b825 -348eefc,92320000 -348ef00,92330001 -348ef04,92340002 -348ef08,32c20001 -348ef0c,1440000e -348ef10,8fb5003c -348ef14,24050040 -348ef18,c1038a3 -348ef1c,2402025 -348ef20,409025 -348ef24,24050040 -348ef28,c1038a3 -348ef2c,2602025 -348ef30,409825 -348ef34,24050040 -348ef38,c1038a3 -348ef3c,2802025 -348ef40,40a025 -348ef44,8fb50044 -348ef48,16570007 -348ef4c,8fa20030 -348ef50,16620005 -348ef54,8fa20034 -348ef58,16820003 -348ef5c,8fa20038 -348ef60,52a2000e -348ef64,92270003 -348ef68,8e030008 -348ef6c,24620008 -348ef70,ae020008 -348ef74,3c02fa00 -348ef78,ac620000 -348ef7c,121600 -348ef80,132400 -348ef84,441025 -348ef88,551025 -348ef8c,142200 -348ef90,441025 -348ef94,ac620004 -348ef98,92270003 -348ef9c,2402000a -348efa0,afa20018 -348efa4,24020006 -348efa8,afa20014 -348efac,82220004 -348efb0,2442005c -348efb4,afa20010 -348efb8,24e70037 -348efbc,3025 -348efc0,8fa50040 -348efc4,c10493a -348efc8,2002025 -348efcc,26310005 -348efd0,163effc6 -348efd4,16b042 -348efd8,3c028040 -348efdc,90421d7e -348efe0,50400054 -348efe4,3c118042 -348efe8,3c028042 -348efec,94567e7c -348eff0,24070005 -348eff4,3025 -348eff8,3c058042 -348effc,24a53e20 -348f000,c1046ee -348f004,2002025 -348f008,a825 -348f00c,afa0003c -348f010,afa00038 -348f014,afa00034 -348f018,afa00030 -348f01c,3c118042 -348f020,2631fe04 -348f024,8fa20048 -348f028,afa20040 -348f02c,24170009 -348f030,3c028042 -348f034,24423e20 -348f038,10000005 -348f03c,afa20050 -348f040,afbe003c -348f044,afb40038 -348f048,afb30034 -348f04c,afb20030 -348f050,92320000 -348f054,92330001 -348f058,92340002 -348f05c,32c20001 -348f060,1440000e -348f064,8fbe0040 -348f068,24050040 -348f06c,c1038a3 -348f070,2402025 -348f074,409025 -348f078,24050040 -348f07c,c1038a3 -348f080,2602025 -348f084,409825 -348f088,24050040 -348f08c,c1038a3 -348f090,2802025 -348f094,40a025 -348f098,8fbe0044 -348f09c,8fa20030 -348f0a0,16420007 -348f0a4,8fa20034 -348f0a8,16620005 -348f0ac,8fa20038 -348f0b0,16820003 -348f0b4,8fa2003c -348f0b8,53c2000e -348f0bc,92270003 -348f0c0,8e030008 -348f0c4,24620008 -348f0c8,ae020008 -348f0cc,3c02fa00 -348f0d0,ac620000 -348f0d4,121600 -348f0d8,132400 -348f0dc,441025 -348f0e0,5e1025 -348f0e4,142200 -348f0e8,441025 -348f0ec,ac620004 -348f0f0,92270003 -348f0f4,afb70018 -348f0f8,afb70014 -348f0fc,82220004 -348f100,2442005c -348f104,afa20010 -348f108,24e70037 -348f10c,2a03025 -348f110,8fa50050 -348f114,c10493a -348f118,2002025 -348f11c,16b042 -348f120,26b50001 -348f124,24020005 -348f128,16a2ffc5 -348f12c,26310005 -348f130,3c118042 -348f134,26317e50 -348f138,92220016 -348f13c,8fb30048 -348f140,afb30044 -348f144,21840 -348f148,621821 -348f14c,3c028042 -348f150,2442fedc -348f154,621821 -348f158,90620000 -348f15c,21600 -348f160,90640001 -348f164,42400 -348f168,441025 -348f16c,90630002 -348f170,31a00 -348f174,431025 -348f178,531025 -348f17c,8e030008 -348f180,24640008 -348f184,ae040008 -348f188,3c12fa00 -348f18c,ac720000 -348f190,ac620004 -348f194,3c028042 -348f198,24423c4c -348f19c,24030010 -348f1a0,afa30010 -348f1a4,90430005 -348f1a8,31a00 -348f1ac,90470006 -348f1b0,e33825 -348f1b4,73c00 -348f1b8,24060001 -348f1bc,3c058042 -348f1c0,24a53e70 -348f1c4,c1038e3 -348f1c8,2002025 -348f1cc,2402ff00 -348f1d0,2621025 -348f1d4,402025 -348f1d8,afa20040 -348f1dc,8e020008 -348f1e0,24430008 -348f1e4,ae030008 -348f1e8,ac520000 -348f1ec,ac440004 -348f1f0,24070001 -348f1f4,2406000c -348f1f8,3c058042 -348f1fc,24a53ec0 -348f200,c1046ee -348f204,2002025 -348f208,92220017 -348f20c,14400012 -348f210,3c128042 -348f214,3c028042 -348f218,90473c4c -348f21c,24030010 -348f220,afa30018 -348f224,afa30014 -348f228,24423c4c -348f22c,80420001 -348f230,2442005c -348f234,afa20010 -348f238,24e70037 -348f23c,3025 -348f240,3c058042 -348f244,24a53ec0 -348f248,c10493a -348f24c,2002025 -348f250,1000001b -348f254,3c028042 -348f258,92473c4c -348f25c,24110010 -348f260,afb10018 -348f264,afb10014 -348f268,26543c4c -348f26c,82820001 -348f270,2442005c -348f274,afa20010 -348f278,24e70035 -348f27c,3025 -348f280,3c138042 -348f284,26653ec0 -348f288,c10493a -348f28c,2002025 -348f290,92473c4c -348f294,afb10018 -348f298,afb10014 -348f29c,82820001 -348f2a0,2442005c -348f2a4,afa20010 -348f2a8,24e70039 -348f2ac,3025 -348f2b0,26653ec0 -348f2b4,c10493a -348f2b8,2002025 -348f2bc,3c028042 -348f2c0,90427e79 -348f2c4,2c42000a -348f2c8,10400010 -348f2cc,24070001 -348f2d0,3c028042 -348f2d4,24423c4c -348f2d8,2403000a -348f2dc,afa30010 -348f2e0,90430019 -348f2e4,31a00 -348f2e8,9047001a -348f2ec,e33825 -348f2f0,73c00 -348f2f4,24060001 -348f2f8,3c058042 -348f2fc,24a53e40 -348f300,c1038e3 -348f304,2002025 -348f308,24070001 -348f30c,2406000b -348f310,3c118042 -348f314,26253ec0 -348f318,c1046ee -348f31c,2002025 -348f320,3c028042 -348f324,24423c4c -348f328,9047000a -348f32c,24030010 -348f330,afa30018 -348f334,afa30014 -348f338,8042000b -348f33c,2442005c -348f340,afa20010 -348f344,24e70037 -348f348,3025 -348f34c,26253ec0 -348f350,c10493a -348f354,2002025 -348f358,3c028040 -348f35c,94421dd4 -348f360,50400024 -348f364,8e020008 -348f368,3c028042 -348f36c,90427e73 -348f370,2c42000a -348f374,5040001f -348f378,8e020008 -348f37c,8e030008 -348f380,24620008 -348f384,ae020008 -348f388,3c02fa00 -348f38c,ac620000 -348f390,3c02f4ec -348f394,24423000 -348f398,8fa40044 -348f39c,821025 -348f3a0,ac620004 -348f3a4,3c038042 -348f3a8,90627e4c -348f3ac,24440001 -348f3b0,a0647e4c -348f3b4,3c038042 -348f3b8,24633c4c -348f3bc,21082 -348f3c0,24040010 -348f3c4,afa40010 -348f3c8,9064000f -348f3cc,42200 -348f3d0,90670010 -348f3d4,e43825 -348f3d8,73c00 -348f3dc,3046000f -348f3e0,3c058042 -348f3e4,24a53e90 -348f3e8,c1038e3 -348f3ec,2002025 -348f3f0,8e020008 -348f3f4,24430008 -348f3f8,ae030008 -348f3fc,3c03fa00 -348f400,ac430000 -348f404,8fa30040 -348f408,ac430004 -348f40c,2407000a -348f410,3025 -348f414,3c058042 -348f418,24a53e50 -348f41c,c1046ee -348f420,2002025 -348f424,9825 -348f428,3c1e8042 -348f42c,27de3c4c -348f430,3c028042 -348f434,24427e50 -348f438,afa20038 -348f43c,3c028042 -348f440,afa20034 -348f444,3c028040 -348f448,afa2003c -348f44c,3c028042 -348f450,2442fdf0 -348f454,afa20048 -348f458,24020003 -348f45c,16620087 -348f460,8fa2003c -348f464,94421dd4 -348f468,10400085 -348f46c,133080 -348f470,afa00020 -348f474,afa00024 -348f478,afa00028 -348f47c,afa0002c -348f480,27b10020 -348f484,27b2002c -348f488,2201825 -348f48c,8fa5004c -348f490,24060001 -348f494,90a20021 -348f498,54460006 -348f49c,2c42000a -348f4a0,8c620000 -348f4a4,2442ffff -348f4a8,ac620000 -348f4ac,10000003 -348f4b0,24020005 -348f4b4,21023 -348f4b8,30420006 -348f4bc,8c640000 -348f4c0,821021 -348f4c4,ac620004 -348f4c8,24630004 -348f4cc,1643fff1 -348f4d0,24a50001 -348f4d4,93c2000f -348f4d8,24420037 -348f4dc,83c30011 -348f4e0,431021 -348f4e4,8fa3002c -348f4e8,43b823 -348f4ec,83c20010 -348f4f0,2442005c -348f4f4,83c30012 -348f4f8,43a821 -348f4fc,3c028042 -348f500,8c427e84 -348f504,54400008 -348f508,8e030008 -348f50c,2209825 -348f510,8fb4004c -348f514,24160008 -348f518,8fa20034 -348f51c,24423e50 -348f520,1000000b -348f524,afa20030 -348f528,24620008 -348f52c,ae020008 -348f530,3c02fa00 -348f534,ac620000 -348f538,3c02f4ec -348f53c,24423000 -348f540,8fa40044 -348f544,821025 -348f548,1000fff0 -348f54c,ac620004 -348f550,92860021 -348f554,2cc2000a -348f558,5040000a -348f55c,26730004 -348f560,8e670000 -348f564,afb60018 -348f568,afb60014 -348f56c,afb50010 -348f570,2e73821 -348f574,8fa50030 -348f578,c10493a -348f57c,2002025 -348f580,26730004 -348f584,1672fff2 -348f588,26940001 -348f58c,10000084 -348f590,8e020008 -348f594,90a20024 -348f598,54460006 -348f59c,2c42000a -348f5a0,8c620000 -348f5a4,2442ffff -348f5a8,ac620000 -348f5ac,10000003 -348f5b0,24020005 -348f5b4,21023 -348f5b8,30420006 -348f5bc,8c640000 -348f5c0,821021 -348f5c4,ac620004 -348f5c8,24630004 -348f5cc,1472fff1 -348f5d0,24a50001 -348f5d4,93c20014 -348f5d8,24420037 -348f5dc,83c30016 -348f5e0,43a821 -348f5e4,83c20015 -348f5e8,2442005c -348f5ec,83c30017 -348f5f0,43b021 -348f5f4,8fb3004c -348f5f8,24140008 -348f5fc,8fa20034 -348f600,24573e50 -348f604,92660024 -348f608,2cc2000a -348f60c,5040000a -348f610,26310004 -348f614,8e270000 -348f618,afb40018 -348f61c,afb40014 -348f620,afb60010 -348f624,2a73821 -348f628,2e02825 -348f62c,c10493a -348f630,2002025 -348f634,26310004 -348f638,1651fff2 -348f63c,26730001 -348f640,2407000a -348f644,3025 -348f648,8fa20034 -348f64c,24453e50 -348f650,c1046ee -348f654,2002025 -348f658,8e020008 -348f65c,24430008 -348f660,ae030008 -348f664,3c03fa00 -348f668,ac430000 -348f66c,8fa30040 -348f670,ac430004 -348f674,1000ff78 -348f678,24130005 -348f67c,133080 -348f680,d33021 -348f684,3c63021 -348f688,afa00020 -348f68c,afa00024 -348f690,afa00028 -348f694,afa0002c -348f698,138840 -348f69c,2338821 -348f6a0,26310018 -348f6a4,8fa20038 -348f6a8,518821 -348f6ac,27b20020 -348f6b0,26340003 -348f6b4,2401825 -348f6b8,2202025 -348f6bc,24070001 -348f6c0,90820000 -348f6c4,54470006 -348f6c8,2c42000a -348f6cc,8c620000 -348f6d0,2442ffff -348f6d4,ac620000 -348f6d8,10000003 -348f6dc,24020005 -348f6e0,21023 -348f6e4,30420006 -348f6e8,8c650000 -348f6ec,a21021 -348f6f0,ac620004 -348f6f4,24840001 -348f6f8,1494fff1 -348f6fc,24630004 -348f700,90d50000 -348f704,26b50037 -348f708,80c20002 -348f70c,2a2a821 -348f710,90c20004 -348f714,10400006 -348f718,80d60001 -348f71c,8fa3002c -348f720,317c2 -348f724,431021 -348f728,21043 -348f72c,2a2a823 -348f730,26d6005c -348f734,80c20003 -348f738,2c2b021 -348f73c,24170008 -348f740,8fa20034 -348f744,24423e50 -348f748,afa20030 -348f74c,92260000 -348f750,2cc2000a -348f754,5040000a -348f758,26310001 -348f75c,8e470000 -348f760,afb70018 -348f764,afb70014 -348f768,afb60010 -348f76c,2a73821 -348f770,8fa50030 -348f774,c10493a -348f778,2002025 -348f77c,26310001 -348f780,1634fff2 -348f784,26520004 -348f788,26730001 -348f78c,2a620006 -348f790,1440ff32 -348f794,24020003 -348f798,10000027 -348f79c,8fbf007c -348f7a0,24430008 -348f7a4,ae030008 -348f7a8,3c13fa00 -348f7ac,ac530000 -348f7b0,8fa30040 -348f7b4,ac430004 -348f7b8,93c5000f -348f7bc,24070008 -348f7c0,2a03025 -348f7c4,24a5003b -348f7c8,c1078a2 -348f7cc,8fa40048 -348f7d0,afa00010 -348f7d4,3825 -348f7d8,24060008 -348f7dc,24050008 -348f7e0,c1078d4 -348f7e4,2002025 -348f7e8,2407000a -348f7ec,3025 -348f7f0,8fa20034 -348f7f4,24453e50 -348f7f8,c1046ee -348f7fc,2002025 -348f800,8e030008 -348f804,24620008 -348f808,ae020008 -348f80c,ac730000 -348f810,3c02f4ec -348f814,24423000 -348f818,8fa40044 -348f81c,821025 -348f820,ac620004 -348f824,2201825 -348f828,8fa5004c -348f82c,1000ff59 -348f830,24060001 -348f834,8fbf007c -348f838,8fbe0078 -348f83c,8fb70074 -348f840,8fb60070 -348f844,8fb5006c -348f848,8fb40068 -348f84c,8fb30064 -348f850,8fb20060 -348f854,8fb1005c -348f858,8fb00058 -348f85c,3e00008 -348f860,27bd0080 -348f864,27bdffe8 -348f868,afbf0014 -348f86c,afb00010 -348f870,80820000 -348f874,10400008 -348f878,a08025 -348f87c,24070008 -348f880,8ca60000 -348f884,c1078a2 -348f888,24050080 -348f88c,8e020000 -348f890,10000003 -348f894,2442000a -348f898,8ca20000 -348f89c,24420005 -348f8a0,ae020000 -348f8a4,8fbf0014 -348f8a8,8fb00010 -348f8ac,3e00008 -348f8b0,27bd0018 -348f8b4,27bdffd0 -348f8b8,afbf002c -348f8bc,afb10028 -348f8c0,afb00024 -348f8c4,808025 -348f8c8,3c028040 -348f8cc,80421768 -348f8d0,14400070 -348f8d4,a08825 -348f8d8,3c028040 -348f8dc,90421703 -348f8e0,10400087 -348f8e4,8fbf002c -348f8e8,3c020002 -348f8ec,2221021 -348f8f0,9442ca30 -348f8f4,2442ffe0 -348f8f8,304200ff -348f8fc,2c420008 -348f900,1440007f -348f904,3c020002 -348f908,2221021 -348f90c,8443ca52 -348f910,2402ffff -348f914,5462007b -348f918,8fb10028 -348f91c,3c020002 -348f920,2221021 -348f924,9442ca84 -348f928,21a00 -348f92c,621823 -348f930,3c0251eb -348f934,3442851f -348f938,620018 -348f93c,1010 -348f940,21183 -348f944,31fc3 -348f948,431023 -348f94c,2c430100 -348f950,10600005 -348f954,304200ff -348f958,54400005 -348f95c,8e030008 -348f960,10000068 -348f964,8fb10028 -348f968,240200ff -348f96c,8e030008 -348f970,24640008 -348f974,ae040008 -348f978,3c04fa00 -348f97c,ac640000 -348f980,2404ff00 -348f984,441025 -348f988,ac620004 -348f98c,24020071 -348f990,afa20018 -348f994,3c028040 -348f998,80421704 -348f99c,10400038 -348f9a0,3c028040 -348f9a4,27a50018 -348f9a8,3c048040 -348f9ac,c103e19 -348f9b0,24841704 -348f9b4,3c028040 -348f9b8,80421724 -348f9bc,10400005 -348f9c0,27a50018 -348f9c4,3c048040 -348f9c8,c103e19 -348f9cc,24841724 -348f9d0,27a50018 -348f9d4,3c048042 -348f9d8,c103e19 -348f9dc,2484fe80 -348f9e0,27a50018 -348f9e4,3c048042 -348f9e8,c103e19 -348f9ec,2484fe84 -348f9f0,27a50018 -348f9f4,3c048040 -348f9f8,c103e19 -348f9fc,24841744 -348fa00,27a50018 -348fa04,3c048040 -348fa08,c103e19 -348fa0c,24841778 -348fa10,27a50018 -348fa14,3c048042 -348fa18,c103e19 -348fa1c,2484fe80 -348fa20,3c028040 -348fa24,90421d77 -348fa28,10400006 -348fa2c,3c028040 -348fa30,27a50018 -348fa34,3c048042 -348fa38,c103e19 -348fa3c,2484fe98 -348fa40,3c028040 -348fa44,90421d78 -348fa48,50400006 -348fa4c,afa00010 -348fa50,27a50018 -348fa54,3c048042 -348fa58,c103e19 -348fa5c,2484feac -348fa60,afa00010 -348fa64,3825 -348fa68,24060009 -348fa6c,24050008 -348fa70,c1078d4 -348fa74,2002025 -348fa78,10000021 -348fa7c,8fbf002c -348fa80,80421724 -348fa84,1440ffcf -348fa88,27a50018 -348fa8c,1000ffd6 -348fa90,3c048042 -348fa94,8c820008 -348fa98,24430008 -348fa9c,ac830008 -348faa0,3c03fa00 -348faa4,ac430000 -348faa8,2403ffff -348faac,ac430004 -348fab0,24070008 -348fab4,2406000f -348fab8,240500f4 -348fabc,3c048042 -348fac0,c1078a2 -348fac4,2484feb8 -348fac8,24070008 -348facc,24060018 -348fad0,240500f4 -348fad4,3c048040 -348fad8,c1078a2 -348fadc,24841768 -348fae0,afa00010 -348fae4,3825 -348fae8,24060009 -348faec,24050008 -348faf0,c1078d4 -348faf4,2002025 -348faf8,1000ff78 -348fafc,3c028040 -348fb00,8fb10028 -348fb04,8fb00024 -348fb08,3e00008 -348fb0c,27bd0030 -348fb10,27bdffa0 -348fb14,afbf005c -348fb18,afbe0058 -348fb1c,afb70054 -348fb20,afb60050 -348fb24,afb5004c -348fb28,afb40048 -348fb2c,afb30044 -348fb30,afb20040 -348fb34,afb1003c -348fb38,afb00038 -348fb3c,afa40060 -348fb40,afa50064 -348fb44,3c02801c -348fb48,344284a0 -348fb4c,8c500000 -348fb50,261402b8 -348fb54,8e0202c0 -348fb58,24430008 -348fb5c,ae0302c0 -348fb60,3c03de00 -348fb64,ac430000 -348fb68,3c038042 -348fb6c,24633f08 -348fb70,ac430004 -348fb74,8e0202c0 -348fb78,24430008 -348fb7c,ae0302c0 -348fb80,3c03e700 -348fb84,ac430000 -348fb88,ac400004 -348fb8c,8e0202c0 -348fb90,24430008 -348fb94,ae0302c0 -348fb98,3c03fc11 -348fb9c,34639623 -348fba0,ac430000 -348fba4,3c03ff2f -348fba8,3463ffff -348fbac,ac430004 -348fbb0,8e0202c0 -348fbb4,24430008 -348fbb8,ae0302c0 -348fbbc,3c03fa00 -348fbc0,ac430000 -348fbc4,2403ffff -348fbc8,ac430004 -348fbcc,3c128040 -348fbd0,26520834 -348fbd4,24110054 -348fbd8,3c178042 -348fbdc,26f73d6c -348fbe0,3c168042 -348fbe4,26d63dac -348fbe8,24150018 -348fbec,241e000c -348fbf0,92420000 -348fbf4,21040 -348fbf8,571021 -348fbfc,90430000 -348fc00,31880 -348fc04,761821 -348fc08,8c730000 -348fc0c,24070001 -348fc10,90460001 -348fc14,2602825 -348fc18,c1046ee -348fc1c,2802025 -348fc20,afb50018 -348fc24,afb50014 -348fc28,afbe0010 -348fc2c,2203825 -348fc30,3025 -348fc34,2602825 -348fc38,c10493a -348fc3c,2802025 -348fc40,26310020 -348fc44,240200f4 -348fc48,1622ffe9 -348fc4c,26520001 -348fc50,8fa50064 -348fc54,c103e2d -348fc58,2802025 -348fc5c,8fa50064 -348fc60,c103a5d -348fc64,2802025 -348fc68,c106fba -348fc6c,2802025 -348fc70,8e0202c0 -348fc74,24430008 -348fc78,ae0302c0 -348fc7c,3c03e700 -348fc80,ac430000 -348fc84,ac400004 -348fc88,8e0202c0 -348fc8c,24430008 -348fc90,ae0302c0 -348fc94,3c03fcff -348fc98,3463ffff -348fc9c,ac430000 -348fca0,3c03fffd -348fca4,3463f6fb -348fca8,ac430004 -348fcac,8e0202c0 -348fcb0,24430008 -348fcb4,ae0302c0 -348fcb8,3c03fa00 -348fcbc,ac430000 -348fcc0,93a30063 -348fcc4,ac430004 -348fcc8,3c02e450 -348fccc,244203c0 -348fcd0,afa20020 -348fcd4,afa00024 -348fcd8,3c02e100 -348fcdc,afa20028 -348fce0,afa0002c -348fce4,3c02f100 -348fce8,afa20030 -348fcec,3c020400 -348fcf0,24420400 -348fcf4,afa20034 -348fcf8,27a20020 -348fcfc,27a60038 -348fd00,8e0302c0 -348fd04,24640008 -348fd08,ae0402c0 -348fd0c,8c450004 -348fd10,8c440000 -348fd14,ac650004 -348fd18,24420008 -348fd1c,14c2fff8 -348fd20,ac640000 -348fd24,8fbf005c -348fd28,8fbe0058 -348fd2c,8fb70054 -348fd30,8fb60050 -348fd34,8fb5004c -348fd38,8fb40048 -348fd3c,8fb30044 -348fd40,8fb20040 -348fd44,8fb1003c -348fd48,8fb00038 -348fd4c,3e00008 -348fd50,27bd0060 -348fd54,3c028042 -348fd58,90427e88 -348fd5c,1040000d -348fd60,3c028011 -348fd64,3442a5d0 -348fd68,8c430000 -348fd6c,24020517 -348fd70,14620008 -348fd78,27bdffe8 -348fd7c,afbf0014 -348fd80,c107459 -348fd88,8fbf0014 -348fd8c,3e00008 -348fd90,27bd0018 -348fd94,3e00008 -348fd9c,14800003 -348fda0,3c028042 -348fda4,3e00008 -348fda8,8c423db4 -348fdac,27bdffe8 -348fdb0,afbf0014 -348fdb4,afb00010 -348fdb8,808025 -348fdbc,c103f67 -348fdc0,42102 -348fdc4,3210000f -348fdc8,108080 -348fdcc,3c038042 -348fdd0,24633db4 -348fdd4,2038021 -348fdd8,8e030000 -348fddc,431021 -348fde0,8fbf0014 -348fde4,8fb00010 -348fde8,3e00008 -348fdec,27bd0018 -348fdf0,3c028011 -348fdf4,3442a5d0 -348fdf8,8c42135c -348fdfc,14400050 -348fe00,3c028042 -348fe04,90427e8c -348fe08,1040004d -348fe0c,3c038011 -348fe10,3463a5d0 -348fe14,906300b2 -348fe18,30630001 -348fe1c,14600048 -348fe20,2c430006 -348fe24,10600046 -348fe28,21080 -348fe2c,27bdffe8 -348fe30,3c038042 -348fe34,2463fec0 -348fe38,621021 -348fe3c,8c420000 -348fe40,400008 -348fe44,afbf0014 -348fe48,3c028011 -348fe4c,3442a5d0 -348fe50,8c4400a4 -348fe54,c103f67 -348fe58,3084003f -348fe5c,3c038042 -348fe60,94637e8a -348fe64,43102b -348fe68,10400030 -348fe6c,8fbf0014 -348fe70,10000031 -348fe78,3c028011 -348fe7c,3442a5d0 -348fe80,8c4400a4 -348fe84,3c02001c -348fe88,2442003f -348fe8c,c103f67 -348fe90,822024 -348fe94,3c038042 -348fe98,94637e8a -348fe9c,43102b -348fea0,10400022 -348fea4,8fbf0014 -348fea8,10000023 -348feb0,3c028011 -348feb4,3442a5d0 -348feb8,8c4400a4 -348febc,3c02001c -348fec0,c103f67 -348fec4,822024 -348fec8,3c038042 -348fecc,94637e8a -348fed0,43102b -348fed4,10400015 -348fed8,8fbf0014 -348fedc,10000016 -348fee4,3c028011 -348fee8,3442a5d0 -348feec,844200d0 -348fef0,3c038042 -348fef4,94637e8a -348fef8,43102a -348fefc,1040000b -348ff00,8fbf0014 -348ff04,1000000c -348ff0c,3c028011 -348ff10,3442a5d0 -348ff14,8442002e -348ff18,3c038042 -348ff1c,94637e8a -348ff20,43102a -348ff24,14400004 -348ff28,8fbf0014 -348ff2c,c1041c5 -348ff30,24040003 -348ff34,8fbf0014 -348ff38,3e00008 -348ff3c,27bd0018 -348ff40,3e00008 -348ff48,27bdffe8 -348ff4c,afbf0014 -348ff50,afb00010 -348ff54,808025 -348ff58,3c04801c -348ff5c,3c02800d -348ff60,3442d464 -348ff64,40f809 -348ff68,3484a578 -348ff6c,1440000c -348ff70,3c02801d -348ff74,8602014a -348ff78,5440000d -348ff7c,8fbf0014 -348ff80,3c028042 -348ff84,ac407ea0 -348ff88,3c028002 -348ff8c,24420eb4 -348ff90,40f809 -348ff94,2002025 -348ff98,10000005 -348ff9c,8fbf0014 -348ffa0,3442aa30 -348ffa4,2403000a -348ffa8,a4430110 -348ffac,8fbf0014 -348ffb0,8fb00010 -348ffb4,3e00008 -348ffb8,27bd0018 -348ffbc,27bdffe8 -348ffc0,afbf0014 -348ffc4,3c028042 -348ffc8,94447f28 -348ffcc,c107e8b -348ffd0,24840064 -348ffd4,3c038042 -348ffd8,ac627f24 -348ffdc,8fbf0014 -348ffe0,3e00008 -348ffe4,27bd0018 -348ffe8,27bdffe8 -348ffec,afbf0014 -348fff0,3c028043 -348fff4,8c42861c -348fff8,21900 -348fffc,3c048043 -3490000,24848620 -3490004,641821 -3490008,8c630000 -349000c,1060000c -3490010,24420001 -3490014,22100 -3490018,3c038043 -349001c,24638620 -3490020,641821 -3490024,402825 -3490028,8c640000 -349002c,24420001 -3490030,1480fffc -3490034,24630010 -3490038,3c028043 -349003c,ac45861c -3490040,c107e8b -3490044,2404013c -3490048,3c038043 -349004c,ac628618 -3490050,24030001 -3490054,ac430130 -3490058,8fbf0014 -349005c,3e00008 -3490060,27bd0018 -3490064,3c038043 -3490068,8c67861c -349006c,24e7ffff -3490070,4e0002b -3490074,801025 -3490078,27bdfff0 -349007c,4825 -3490080,3c0c8043 -3490084,258c8620 -3490088,1271821 -349008c,337c2 -3490090,c33021 -3490094,63043 -3490098,61900 -349009c,6c1821 -34900a0,8c680000 -34900a4,8c6b0004 -34900a8,8c6a0008 -34900ac,8c63000c -34900b0,afab0004 -34900b4,afaa0008 -34900b8,afa3000c -34900bc,a8182b -34900c0,10600003 -34900c4,105182b -34900c8,1000000c -34900cc,24c7ffff -34900d0,50600003 -34900d4,ac480000 -34900d8,10000008 -34900dc,24c90001 -34900e0,8fa30004 -34900e4,ac430004 -34900e8,8fa30008 -34900ec,ac430008 -34900f0,8fa3000c -34900f4,10000008 -34900f8,ac43000c -34900fc,e9182a -3490100,1060ffe2 -3490104,1271821 -3490108,ac400000 -349010c,ac400004 -3490110,ac400008 -3490114,ac40000c -3490118,3e00008 -349011c,27bd0010 -3490120,ac800000 -3490124,ac800004 -3490128,ac800008 -349012c,3e00008 -3490130,ac80000c -3490134,3c038042 -3490138,8c667f2c -349013c,10c0000b -3490140,801025 -3490144,a03825 -3490148,24637f2c -349014c,54e60004 -3490150,24630008 -3490154,8c630004 -3490158,3e00008 -349015c,ac430000 -3490160,8c660000 -3490164,14c0fff9 -349016c,3e00008 -3490170,ac450000 -3490174,27bdffe8 -3490178,afbf0014 -349017c,afb00010 -3490180,84a20000 -3490184,2403000a -3490188,14430011 -349018c,808025 -3490190,24020010 -3490194,14c20008 -3490198,94a2001c -349019c,21142 -34901a0,3042007f -34901a4,24030075 -34901a8,54430003 -34901ac,94a2001c -34901b0,1000004d -34901b4,ac800000 -34901b8,3042001f -34901bc,a2060000 -34901c0,24030001 -34901c4,a2030001 -34901c8,10000047 -34901cc,a6020002 -34901d0,24030015 -34901d4,14430023 -34901d8,2403019c -34901dc,90a2001d -34901e0,24030012 -34901e4,14430003 -34901e8,24030006 -34901ec,1000003e -34901f0,ac800000 -34901f4,10430003 -34901f8,24030011 -34901fc,54430007 -3490200,94a20016 -3490204,94a20140 -3490208,a2060000 -349020c,24030002 -3490210,a2030001 -3490214,10000034 -3490218,a6020002 -349021c,50400033 -3490220,2001025 -3490224,3c038043 -3490228,806310a0 -349022c,31b80 -3490230,431025 -3490234,24030019 -3490238,14c30002 -349023c,3042ffff -3490240,2406000a -3490244,62e00 -3490248,3c030006 -349024c,a32825 -3490250,a22825 -3490254,c10404d -3490258,2002025 -349025c,10000023 -3490260,2001025 -3490264,1443000a -3490268,2403003e -349026c,94a2001c -3490270,21a02 -3490274,3063001f -3490278,a0830000 -349027c,24030003 -3490280,a0830001 -3490284,304200ff -3490288,10000017 -349028c,a4820002 -3490290,14c3000c -3490294,24030132 -3490298,2403011a -349029c,14430009 -34902a0,24030132 -34902a4,3c028011 -34902a8,3442a5d0 -34902ac,90421397 -34902b0,a0820000 -34902b4,24020004 -34902b8,a0820001 -34902bc,1000000a -34902c0,a4870002 -34902c4,54430006 -34902c8,a2060000 -34902cc,2402005a -34902d0,a2020000 -34902d4,a2000001 -34902d8,10000003 -34902dc,a6070002 -34902e0,a2000001 -34902e4,a6070002 -34902e8,2001025 -34902ec,8fbf0014 -34902f0,8fb00010 -34902f4,3e00008 -34902f8,27bd0018 -34902fc,27bdffe0 -3490300,afbf001c -3490304,afb00018 -3490308,808025 -349030c,c10405d -3490310,27a40010 -3490314,8fa50010 -3490318,14a00006 -3490320,ae000000 -3490324,ae000004 -3490328,ae000008 -349032c,10000003 -3490330,ae00000c -3490334,c104019 -3490338,2002025 -349033c,2001025 -3490340,8fbf001c -3490344,8fb00018 -3490348,3e00008 -349034c,27bd0020 -3490350,27bdffd8 -3490354,afbf0024 -3490358,afb30020 -349035c,afb2001c -3490360,afb10018 -3490364,afb00014 -3490368,afa40028 -349036c,afa5002c -3490370,68a02 -3490374,afa60030 -3490378,afa70034 -349037c,323100ff -3490380,c105ed3 -3490384,79c02 -3490388,409025 -349038c,c105eb8 -3490390,402025 -3490394,408025 -3490398,3c038043 -349039c,8fa20028 -34903a0,ac628604 -34903a4,24638604 -34903a8,8fa2002c -34903ac,ac620004 -34903b0,8fa20030 -34903b4,ac620008 -34903b8,8fa20034 -34903bc,ac62000c -34903c0,240200ca -34903c4,12420005 -34903c8,3c028040 -34903cc,90450024 -34903d0,b12826 -34903d4,10000002 -34903d8,5282b -34903dc,24050002 +348d4a4,8e020008 +348d4a8,24430008 +348d4ac,ae030008 +348d4b0,3c04e700 +348d4b4,ac440000 +348d4b8,ac400004 +348d4bc,8e020008 +348d4c0,24430008 +348d4c4,ae030008 +348d4c8,3c03fc11 +348d4cc,34639623 +348d4d0,ac430000 +348d4d4,3c03ff2f +348d4d8,3463ffff +348d4dc,ac430004 +348d4e0,3c020001 +348d4e4,2228821 +348d4e8,96230742 +348d4ec,2402ff00 +348d4f0,621825 +348d4f4,8e020008 +348d4f8,24450008 +348d4fc,ae050008 +348d500,3c05fa00 +348d504,ac450000 +348d508,ac430004 +348d50c,8e020008 +348d510,24430008 +348d514,ae030008 +348d518,ac440000 +348d51c,ac400004 +348d520,2406000e +348d524,3c118043 +348d528,26259640 +348d52c,c10533a +348d530,2002025 +348d534,24020010 +348d538,afa20018 +348d53c,afa20014 +348d540,240200be +348d544,afa20010 +348d548,2407001a +348d54c,3025 +348d550,26259640 +348d554,c105584 +348d558,2002025 +348d55c,8fbf002c +348d560,8fb10028 +348d564,8fb00024 +348d568,3e00008 +348d56c,27bd0030 +348d570,3c028043 +348d574,ac40d7b8 +348d578,3c02801c +348d57c,344284a0 +348d580,94430014 +348d584,3c028040 +348d588,8c421e24 +348d58c,10400976 +348d590,3c02801c +348d594,27bdff80 +348d598,afbf007c +348d59c,afbe0078 +348d5a0,afb70074 +348d5a4,afb60070 +348d5a8,afb5006c +348d5ac,afb40068 +348d5b0,afb30064 +348d5b4,afb20060 +348d5b8,afb1005c +348d5bc,afb00058 +348d5c0,808025 +348d5c4,344284a0 +348d5c8,3c040001 +348d5cc,441021 +348d5d0,94440934 +348d5d4,24020006 +348d5d8,54820958 +348d5dc,8fbf007c +348d5e0,3c02801c +348d5e4,344284a0 +348d5e8,3c040001 +348d5ec,441021 +348d5f0,94420948 +348d5f4,14400950 +348d5f8,3c02801c +348d5fc,344284a0 +348d600,441021 +348d604,94420944 +348d608,50400005 +348d60c,3c02801c +348d610,24040003 +348d614,14440949 +348d618,8fbf007c +348d61c,3c02801c +348d620,344284a0 +348d624,3c040001 +348d628,441021 +348d62c,84420978 +348d630,24040016 +348d634,54440007 +348d638,24040017 +348d63c,3c028040 +348d640,90421f43 +348d644,10400009 +348d648,3062ffff +348d64c,1000093b +348d650,8fbf007c +348d654,14440005 +348d658,3062ffff +348d65c,3c028040 +348d660,90421f44 +348d664,14400934 +348d668,3062ffff +348d66c,30630700 +348d670,5060000b +348d674,21400 +348d678,3c038040 +348d67c,90630c99 +348d680,54600920 +348d684,8e030004 +348d688,21c00 +348d68c,31c03 +348d690,461092a +348d694,8fbf007c +348d698,1000090a +348d69c,8e030004 +348d6a0,21403 +348d6a4,442090f +348d6a8,8e020004 +348d6ac,10000923 +348d6b0,8fbf007c +348d6b4,3c038040 +348d6b8,90630c99 +348d6bc,10600371 +348d6c0,30430400 +348d6c4,3c028043 +348d6c8,24030001 +348d6cc,ac43d7b8 +348d6d0,3c028011 +348d6d4,3442a5d0 +348d6d8,94430f2e +348d6dc,3c028040 +348d6e0,8c421e30 +348d6e4,10400018 +348d6e8,2025 +348d6ec,3c028040 +348d6f0,8c421e38 +348d6f4,10400005 +348d6f8,3c028040 +348d6fc,30620001 +348d700,10400005 +348d704,3c028040 +348d708,3c028040 +348d70c,8c421e3c +348d710,144008e7 +348d714,3c028040 +348d718,8c421e38 +348d71c,10400004 +348d720,2025 +348d724,30630002 +348d728,5060000c +348d72c,afa0003c +348d730,3c028040 +348d734,8c421e3c +348d738,50400008 +348d73c,afa0003c +348d740,10000003 +348d744,24020001 +348d748,10000004 +348d74c,afa0003c +348d750,10000002 +348d754,afa2003c +348d758,afa2003c +348d75c,3c028040 +348d760,8c431e28 +348d764,afa30054 +348d768,3c028040 +348d76c,90426d30 +348d770,38550001 +348d774,2eb50001 +348d778,26b5000d +348d77c,14600002 +348d780,24060025 +348d784,603025 +348d788,3c038040 +348d78c,90631de4 +348d790,3182b +348d794,31823 +348d798,24050001 +348d79c,10450003 +348d7a0,30630042 +348d7a4,10000002 +348d7a8,2405000b +348d7ac,2405000e +348d7b0,51040 +348d7b4,451021 +348d7b8,21040 +348d7bc,24420050 +348d7c0,461021 +348d7c4,431021 +348d7c8,151840 +348d7cc,751821 +348d7d0,31880 +348d7d4,26a50001 +348d7d8,651821 +348d7dc,24060140 +348d7e0,c23023 +348d7e4,62fc2 +348d7e8,a62821 +348d7ec,52843 +348d7f0,240600f0 +348d7f4,c33023 +348d7f8,63fc2 +348d7fc,e63021 +348d800,64043 +348d804,afa80048 +348d808,30a6ffff +348d80c,afa6004c +348d810,24c60001 +348d814,30d7ffff +348d818,25060001 +348d81c,afa60038 +348d820,8e060008 +348d824,24c70008 +348d828,ae070008 +348d82c,3c07fcff +348d830,34e7ffff +348d834,acc70000 +348d838,3c07fffd +348d83c,34e7f6fb +348d840,acc70004 +348d844,8e060008 +348d848,24c70008 +348d84c,ae070008 +348d850,3c07fa00 +348d854,acc70000 +348d858,240700d0 +348d85c,acc70004 +348d860,451021 +348d864,21380 +348d868,681821 +348d86c,31880 +348d870,431025 +348d874,3c03e400 +348d878,431025 +348d87c,afa20020 +348d880,51380 +348d884,81880 +348d888,431025 +348d88c,afa20024 +348d890,3c02e100 +348d894,afa20028 +348d898,afa0002c +348d89c,3c02f100 +348d8a0,afa20030 +348d8a4,3c020400 +348d8a8,24420400 +348d8ac,afa20034 +348d8b0,27a20020 +348d8b4,27a80038 +348d8b8,8e030008 +348d8bc,24650008 +348d8c0,ae050008 +348d8c4,8c470004 +348d8c8,8c460000 +348d8cc,ac670004 +348d8d0,24420008 +348d8d4,1502fff8 +348d8d8,ac660000 +348d8dc,8e020008 +348d8e0,24430008 +348d8e4,ae030008 +348d8e8,3c03e700 +348d8ec,ac430000 +348d8f0,ac400004 +348d8f4,8e020008 +348d8f8,24430008 +348d8fc,ae030008 +348d900,3c03fc11 +348d904,34639623 +348d908,ac430000 +348d90c,3c03ff2f +348d910,3463ffff +348d914,10800054 +348d918,ac430004 +348d91c,3c058043 +348d920,24a59660 +348d924,94a70008 +348d928,3025 +348d92c,c10533a +348d930,2002025 +348d934,3c118043 +348d938,26319280 +348d93c,8fb20038 +348d940,2634011e +348d944,3c138040 +348d948,3c168040 +348d94c,26d61e40 +348d950,3c028043 +348d954,24429268 +348d958,afa20040 +348d95c,3c028043 +348d960,24429660 +348d964,afa20044 +348d968,8e621e34 +348d96c,5040000b +348d970,92220000 +348d974,92230000 +348d978,3c028011 +348d97c,3442a5d0 +348d980,431021 +348d984,904200a8 +348d988,21042 +348d98c,30420001 +348d990,50400033 +348d994,26310016 +348d998,92220000 +348d99c,561021 +348d9a0,80420000 +348d9a4,28430003 +348d9a8,5460002d +348d9ac,26310016 +348d9b0,2446fffd +348d9b4,28c30003 +348d9b8,50600003 +348d9bc,24020003 +348d9c0,1000000c +348d9c4,245efffe +348d9c8,10c20007 +348d9cc,24020004 +348d9d0,10c20007 +348d9d4,24020005 +348d9d8,50c20006 +348d9dc,f025 +348d9e0,10000005 +348d9e4,1e1880 +348d9e8,10000002 +348d9ec,241e0005 +348d9f0,c0f025 +348d9f4,1e1880 +348d9f8,8fa20040 +348d9fc,431821 +348da00,90620001 +348da04,21600 +348da08,90640003 +348da0c,42200 +348da10,441025 +348da14,90630002 +348da18,31c00 +348da1c,431025 +348da20,344200ff +348da24,8e030008 +348da28,24640008 +348da2c,ae040008 +348da30,3c04fa00 +348da34,ac640000 +348da38,ac620004 +348da3c,2402000c +348da40,afa20018 +348da44,afa20014 +348da48,afb20010 +348da4c,2e03825 +348da50,8fa50044 +348da54,c105584 +348da58,2002025 +348da5c,26310016 +348da60,1691ffc1 +348da64,2652000d +348da68,8e020008 +348da6c,24430008 +348da70,ae030008 +348da74,3c03fa00 +348da78,ac430000 +348da7c,2403ffff +348da80,ac430004 +348da84,8fa2003c +348da88,1040002e +348da8c,8fa2004c +348da90,3c058043 +348da94,24a59670 +348da98,94a70008 +348da9c,3025 +348daa0,c10533a +348daa4,2002025 +348daa8,3c118043 +348daac,26319280 +348dab0,8fb20038 +348dab4,2634011e +348dab8,3c138040 +348dabc,3c168040 +348dac0,26d61e40 +348dac4,3c028043 +348dac8,245e9670 +348dacc,8e621e34 +348dad0,5040000b +348dad4,92220000 +348dad8,92230000 +348dadc,3c028011 +348dae0,3442a5d0 +348dae4,431021 +348dae8,904200a8 +348daec,21042 +348daf0,30420001 +348daf4,50400010 +348daf8,26310016 +348dafc,92220000 +348db00,561021 +348db04,80460000 +348db08,2cc20003 +348db0c,5040000a +348db10,26310016 +348db14,2402000c +348db18,afa20018 +348db1c,afa20014 +348db20,afb20010 +348db24,2e03825 +348db28,3c02825 +348db2c,c105584 +348db30,2002025 +348db34,26310016 +348db38,1691ffe4 +348db3c,2652000d +348db40,8fa2004c +348db44,2454000e +348db48,3294ffff +348db4c,141380 +348db50,afa2003c +348db54,3c128043 +348db58,26529283 +348db5c,8fa30048 +348db60,24730002 +348db64,24710008 +348db68,118880 +348db6c,151040 +348db70,551021 +348db74,21080 +348db78,551021 +348db7c,afa20050 +348db80,24560008 +348db84,2c3b021 +348db88,16b080 +348db8c,3c1e8040 +348db90,27de1e0f +348db94,3c02fcff +348db98,3442ffff +348db9c,afa20040 +348dba0,3c02fffd +348dba4,3442f6fb +348dba8,10000017 +348dbac,afa20044 +348dbb0,8e030008 +348dbb4,24640008 +348dbb8,ae040008 +348dbbc,8c450004 +348dbc0,8c440000 +348dbc4,ac650004 +348dbc8,24420008 +348dbcc,14c2fff8 +348dbd0,ac640000 +348dbd4,8e020008 +348dbd8,24430008 +348dbdc,ae030008 +348dbe0,3c03fc11 +348dbe4,34639623 +348dbe8,ac430000 +348dbec,3c03ff2f +348dbf0,3463ffff +348dbf4,ac430004 +348dbf8,26520016 +348dbfc,26310034 +348dc00,12d1000e +348dc04,2673000d +348dc08,8e020008 +348dc0c,24430008 +348dc10,ae030008 +348dc14,3c03e700 +348dc18,ac430000 +348dc1c,ac400004 +348dc20,9242fffd +348dc24,5e1021 +348dc28,80420000 +348dc2c,144006c8 +348dc30,8e020008 +348dc34,100006fe +348dc38,24430008 +348dc3c,3c028040 +348dc40,90436d30 +348dc44,24020001 +348dc48,14620002 +348dc4c,24020008 +348dc50,2402000b +348dc54,21840 +348dc58,43a021 +348dc5c,14a040 +348dc60,8fa2004c +348dc64,2442000f +348dc68,282a021 +348dc6c,3294ffff +348dc70,24070001 +348dc74,24060011 +348dc78,3c058043 +348dc7c,24a59640 +348dc80,c10533a +348dc84,2002025 +348dc88,3c138043 +348dc8c,26739280 +348dc90,8fa20048 +348dc94,24560002 +348dc98,158840 +348dc9c,2358821 +348dca0,118880 +348dca4,2358823 +348dca8,118840 +348dcac,2338821 +348dcb0,2c0a825 +348dcb4,2609025 +348dcb8,3c178011 +348dcbc,36f7a5d0 +348dcc0,3c024f28 +348dcc4,245e4f29 +348dcc8,82420001 +348dccc,443002b +348dcd0,26520016 +348dcd4,92440000 +348dcd8,2e41021 +348dcdc,804300bc +348dce0,410c0 +348dce4,441023 +348dce8,21080 +348dcec,2e21021 +348dcf0,804200e5 +348dcf4,afbe0020 +348dcf8,1860000b +348dcfc,a3a00024 +348dd00,602025 +348dd04,2863000a +348dd08,50600001 +348dd0c,24040009 +348dd10,41e00 +348dd14,31e03 +348dd18,4620001 +348dd1c,2025 +348dd20,24840030 +348dd24,a3a40020 +348dd28,1840000a +348dd2c,401825 +348dd30,2842000a +348dd34,50400001 +348dd38,24030009 +348dd3c,31600 +348dd40,21603 +348dd44,4420001 +348dd48,1825 +348dd4c,24630030 +348dd50,a3a30022 +348dd54,2402000b +348dd58,afa20014 +348dd5c,24020006 +348dd60,afa20010 +348dd64,2a03825 +348dd68,2803025 +348dd6c,27a50020 +348dd70,c108a2d +348dd74,2002025 +348dd78,26520016 +348dd7c,1632ffd2 +348dd80,26b5000d +348dd84,26820019 +348dd88,3042ffff +348dd8c,afa20040 +348dd90,24070001 +348dd94,2406000e +348dd98,3c058043 +348dd9c,24a59640 +348dda0,c10533a +348dda4,2002025 +348dda8,8fb50038 +348ddac,afb5003c +348ddb0,2609025 +348ddb4,2417000d +348ddb8,3c028011 +348ddbc,345ea5d0 +348ddc0,3c028043 +348ddc4,24429640 +348ddc8,afa20044 +348ddcc,92430000 +348ddd0,14770002 +348ddd4,2401025 +348ddd8,2403000a +348dddc,90420001 +348dde0,30420040 +348dde4,50400010 +348dde8,26520016 +348ddec,3c31821 +348ddf0,906200a8 +348ddf4,30420001 +348ddf8,5040000b +348ddfc,26520016 +348de00,2402000c +348de04,afa20018 +348de08,afa20014 +348de0c,afb50010 +348de10,8fa70040 +348de14,3025 +348de18,8fa50044 +348de1c,c105584 +348de20,2002025 +348de24,26520016 +348de28,1632ffe8 +348de2c,26b5000d +348de30,24070001 +348de34,2406000a +348de38,3c058043 +348de3c,24a59640 +348de40,c10533a +348de44,2002025 +348de48,3c128043 +348de4c,26529281 +348de50,8fa20050 +348de54,24570001 +348de58,8fa20048 +348de5c,2e2b821 +348de60,8fb50038 +348de64,3c1e8011 +348de68,37dea5d0 +348de6c,3c028043 +348de70,24429640 +348de74,afa20044 +348de78,92420000 +348de7c,30420020 +348de80,50400010 +348de84,26b5000d +348de88,8fc200a4 +348de8c,3c030040 +348de90,431024 +348de94,5040000b +348de98,26b5000d +348de9c,2402000c +348dea0,afa20018 +348dea4,afa20014 +348dea8,afb50010 +348deac,8fa70040 +348deb0,3025 +348deb4,8fa50044 +348deb8,c105584 +348debc,2002025 +348dec0,26b5000d +348dec4,16f5ffec +348dec8,26520016 +348decc,26820026 +348ded0,3042ffff +348ded4,afa20040 +348ded8,24070001 +348dedc,24060010 +348dee0,3c058043 +348dee4,24a59640 +348dee8,c10533a +348deec,2002025 +348def0,8fb50038 +348def4,2609025 +348def8,3c178011 +348defc,36f7a5d0 +348df00,241e000c +348df04,3c028043 +348df08,24429640 +348df0c,afa20044 +348df10,92420001 +348df14,30420010 +348df18,50400011 +348df1c,26520016 +348df20,92420000 +348df24,2e21021 +348df28,904200a8 +348df2c,21082 +348df30,30420001 +348df34,5040000a +348df38,26520016 +348df3c,afbe0018 +348df40,afbe0014 +348df44,afb50010 +348df48,8fa70040 +348df4c,3025 +348df50,8fa50044 +348df54,c105584 +348df58,2002025 +348df5c,26520016 +348df60,1632ffeb +348df64,26b5000d +348df68,26820033 +348df6c,3042ffff +348df70,afa20040 +348df74,24070001 +348df78,2406000f +348df7c,3c058043 +348df80,24a59640 +348df84,c10533a +348df88,2002025 +348df8c,8fb50038 +348df90,2609025 +348df94,3c178011 +348df98,36f7a5d0 +348df9c,241e000c +348dfa0,3c028043 +348dfa4,24429640 +348dfa8,afa20044 +348dfac,92420001 +348dfb0,30420010 +348dfb4,50400011 +348dfb8,26520016 +348dfbc,92420000 +348dfc0,2e21021 +348dfc4,904200a8 +348dfc8,21042 +348dfcc,30420001 +348dfd0,5040000a +348dfd4,26520016 +348dfd8,afbe0018 +348dfdc,afbe0014 +348dfe0,afb50010 +348dfe4,8fa70040 +348dfe8,3025 +348dfec,8fa50044 +348dff0,c105584 +348dff4,2002025 +348dff8,26520016 +348dffc,1632ffeb +348e000,26b5000d +348e004,26820040 +348e008,3042ffff +348e00c,afa20040 +348e010,24070001 +348e014,2406000b +348e018,3c058043 +348e01c,24a59640 +348e020,c10533a +348e024,2002025 +348e028,8fb50038 +348e02c,2609025 +348e030,3c178011 +348e034,36f7a5d0 +348e038,241e000c +348e03c,3c028043 +348e040,24429640 +348e044,afa20038 +348e048,92430002 +348e04c,50600010 +348e050,26520016 +348e054,92420000 +348e058,38420003 +348e05c,2e21021 +348e060,90420e9c +348e064,5443000a +348e068,26520016 +348e06c,afbe0018 +348e070,afbe0014 +348e074,afb50010 +348e078,8fa70040 +348e07c,3025 +348e080,8fa50038 +348e084,c105584 +348e088,2002025 +348e08c,26520016 +348e090,1632ffed +348e094,26b5000d +348e098,2682004d +348e09c,3042ffff +348e0a0,afa20038 +348e0a4,8fa20054 +348e0a8,10400031 +348e0ac,3c028040 +348e0b0,2677011e +348e0b4,2c08825 +348e0b8,3c158040 +348e0bc,3c128040 +348e0c0,26521e4e +348e0c4,241e000b +348e0c8,3c028042 +348e0cc,24424300 +348e0d0,afa20040 +348e0d4,3c028042 +348e0d8,24424304 +348e0dc,afa20044 +348e0e0,8ea21e2c +348e0e4,5040000f +348e0e8,92620000 +348e0ec,92620001 +348e0f0,30420010 +348e0f4,5040000b +348e0f8,92620000 +348e0fc,92630000 +348e100,3c028011 +348e104,3442a5d0 +348e108,431021 +348e10c,904200a8 +348e110,21082 +348e114,30420001 +348e118,5040000f +348e11c,26730016 +348e120,92620000 +348e124,521021 +348e128,90420000 +348e12c,14400002 +348e130,8fa50040 +348e134,8fa50044 +348e138,afbe0014 +348e13c,24020006 +348e140,afa20010 +348e144,2203825 +348e148,8fa60038 +348e14c,c108a2d +348e150,2002025 +348e154,26730016 +348e158,16f3ffe1 +348e15c,2631000d +348e160,26940072 +348e164,3282ffff +348e168,afa20038 +348e16c,3c028040 +348e170,90421de4 +348e174,10400671 +348e178,8fbf007c +348e17c,24070001 +348e180,24060001 +348e184,3c058043 +348e188,24a595f0 +348e18c,c10533a +348e190,2002025 +348e194,3c028043 +348e198,8c4293b4 +348e19c,18400023 +348e1a0,3c158040 +348e1a4,3c118043 +348e1a8,26319292 +348e1ac,a025 +348e1b0,26b51e4e +348e1b4,241300ff +348e1b8,3c128044 +348e1bc,26522040 +348e1c0,3c1e8043 +348e1c4,3c178043 +348e1c8,9222ffee +348e1cc,551021 +348e1d0,90420000 +348e1d4,14400002 +348e1d8,2202025 +348e1dc,2624fffc +348e1e0,801825 +348e1e4,24840004 +348e1e8,90620000 +348e1ec,10530007 +348e1f0,521021 +348e1f4,90420000 +348e1f8,1440054a +348e1fc,2402000c +348e200,24630001 +348e204,5483fff9 +348e208,90620000 +348e20c,26940001 +348e210,8fa2003c +348e214,2442000d +348e218,afa2003c +348e21c,8ee293b4 +348e220,282102a +348e224,1440ffe8 +348e228,26310016 +348e22c,2407000a +348e230,24060010 +348e234,3c058043 +348e238,24a59630 +348e23c,c10533a +348e240,2002025 +348e244,3c028043 +348e248,8c4293b4 +348e24c,18400085 +348e250,3c128043 +348e254,26529292 +348e258,f025 +348e25c,3c028040 +348e260,24421e4e +348e264,afa2003c +348e268,3c158044 +348e26c,26b52040 +348e270,3c028043 +348e274,2442adfc +348e278,afa2004c +348e27c,afb20040 +348e280,9242ffee +348e284,8fa3003c +348e288,431021 +348e28c,90430000 +348e290,14600002 +348e294,2401025 +348e298,2642fffc +348e29c,40a025 +348e2a0,24530004 +348e2a4,240400ff +348e2a8,90430000 +348e2ac,10640066 +348e2b0,751821 +348e2b4,90630000 +348e2b8,14600512 +348e2bc,24420001 +348e2c0,5453fffa +348e2c4,90430000 +348e2c8,10000060 +348e2cc,27de0001 +348e2d0,92860000 +348e2d4,240200ff +348e2d8,10c2005b +348e2dc,8fa20040 +348e2e0,9042ffee +348e2e4,8fa3003c +348e2e8,431021 +348e2ec,90480000 +348e2f0,d51021 +348e2f4,90510000 +348e2f8,81040 +348e2fc,482021 +348e300,42040 +348e304,62840 +348e308,a61821 +348e30c,31880 +348e310,832021 +348e314,8fa9004c +348e318,1242021 +348e31c,90830002 +348e320,31e00 +348e324,90840004 +348e328,42200 +348e32c,641825 +348e330,481021 +348e334,21040 +348e338,a62821 +348e33c,52880 +348e340,451021 +348e344,1221021 +348e348,90420003 +348e34c,21400 +348e350,621025 +348e354,344200ff +348e358,8e030008 +348e35c,24640008 +348e360,ae040008 +348e364,3c04fa00 +348e368,ac640000 +348e36c,ac620004 +348e370,2e22000a +348e374,1440000f +348e378,26e7fffa +348e37c,3c06cccc +348e380,34c6cccd +348e384,2260019 +348e388,3010 +348e38c,2402000b +348e390,afa20018 +348e394,24020006 +348e398,afa20014 +348e39c,8fa20044 +348e3a0,afa20010 +348e3a4,630c2 +348e3a8,8fa50048 +348e3ac,c105584 +348e3b0,2002025 +348e3b4,3c02cccc +348e3b8,3442cccd +348e3bc,2220019 +348e3c0,1010 +348e3c4,210c2 +348e3c8,21880 +348e3cc,621021 +348e3d0,21040 +348e3d4,2223023 +348e3d8,30c600ff +348e3dc,14c004be +348e3e0,2402000b +348e3e4,24070001 +348e3e8,2406002f +348e3ec,8fb10048 +348e3f0,2202825 +348e3f4,c10533a +348e3f8,2002025 +348e3fc,2402000b +348e400,afa20018 +348e404,24020006 +348e408,afa20014 +348e40c,8fa20044 +348e410,afa20010 +348e414,2e03825 +348e418,3025 +348e41c,2202825 +348e420,c105584 +348e424,2002025 +348e428,2407000a +348e42c,24060010 +348e430,2202825 +348e434,c10533a +348e438,2002025 +348e43c,26940001 +348e440,1693ffa3 +348e444,26f7000f +348e448,27de0001 +348e44c,26d6000d +348e450,3c028043 +348e454,8c4293b4 +348e458,3c2102a +348e45c,1440ff87 +348e460,26520016 +348e464,8e020008 +348e468,24430008 +348e46c,ae030008 +348e470,3c03fa00 +348e474,ac430000 +348e478,2403ffff +348e47c,100005ae +348e480,ac430004 +348e484,10600151 +348e488,30420100 +348e48c,3c028043 +348e490,24030001 +348e494,ac43d7b8 +348e498,3c028011 +348e49c,3442a5d0 +348e4a0,94430f2e +348e4a4,3c028040 +348e4a8,8c421e30 +348e4ac,10400012 +348e4b0,a025 +348e4b4,3c028040 +348e4b8,8c421e38 +348e4bc,10400010 +348e4c0,24140001 +348e4c4,30620001 +348e4c8,54400006 +348e4cc,30630002 +348e4d0,3c028040 +348e4d4,8c421e38 +348e4d8,1040000c +348e4dc,a025 +348e4e0,30630002 +348e4e4,24020001 +348e4e8,1460000a +348e4ec,afa20038 +348e4f0,10000008 +348e4f4,afa00038 +348e4f8,10000006 +348e4fc,afa00038 +348e500,24020001 +348e504,10000003 +348e508,afa20038 +348e50c,24020001 +348e510,afa20038 +348e514,3c028043 +348e518,94429634 +348e51c,23840 +348e520,e23821 +348e524,73880 +348e528,e23823 +348e52c,73840 +348e530,3c038040 +348e534,90631df4 +348e538,10600004 +348e53c,24e70013 +348e540,21880 +348e544,621021 +348e548,e23821 +348e54c,24020140 +348e550,471023 +348e554,21fc2 +348e558,621021 +348e55c,22843 +348e560,afa5003c +348e564,24b50001 +348e568,2402009a +348e56c,afa20010 +348e570,2406002b +348e574,c1033d1 +348e578,2002025 +348e57c,3c058043 +348e580,24a59660 +348e584,94a70008 +348e588,3025 +348e58c,c10533a +348e590,2002025 +348e594,3c118043 +348e598,26319268 +348e59c,2412005f +348e5a0,3c1efa00 +348e5a4,24130010 +348e5a8,3c168043 +348e5ac,26d69660 +348e5b0,241700c5 +348e5b4,92220001 +348e5b8,21600 +348e5bc,92230003 +348e5c0,31a00 +348e5c4,431025 +348e5c8,92230002 +348e5cc,31c00 +348e5d0,431025 +348e5d4,344200ff +348e5d8,8e030008 +348e5dc,24640008 +348e5e0,ae040008 +348e5e4,ac7e0000 +348e5e8,ac620004 +348e5ec,afb30018 +348e5f0,afb30014 +348e5f4,afb20010 +348e5f8,2a03825 +348e5fc,92260000 +348e600,2c02825 +348e604,c105584 +348e608,2002025 +348e60c,26520011 +348e610,1657ffe8 +348e614,26310004 +348e618,1000049d +348e61c,8e020008 +348e620,afb30018 +348e624,afb30014 +348e628,afb20010 +348e62c,2a03825 +348e630,2203025 +348e634,2e02825 +348e638,c105584 +348e63c,2002025 +348e640,26310001 +348e644,1636fff6 +348e648,26520011 +348e64c,8fa2003c +348e650,24560012 +348e654,3c028040 +348e658,90421df4 +348e65c,10400085 +348e660,3c128040 +348e664,3c128043 +348e668,2652925c +348e66c,3c138040 +348e670,26731df5 +348e674,2415002d +348e678,8825 +348e67c,3c1e8040 +348e680,3c028043 +348e684,afa2003c +348e688,3c178040 +348e68c,26f71e40 +348e690,24429280 +348e694,afa20040 +348e698,8fc21e34 +348e69c,24030001 +348e6a0,10430006 +348e6a4,92450000 +348e6a8,24030002 +348e6ac,10430019 +348e6b0,24020003 +348e6b4,1000002c +348e6b8,92640000 +348e6bc,8fa2003c +348e6c0,24429280 +348e6c4,244600b0 +348e6c8,90430000 +348e6cc,772021 +348e6d0,80840000 +348e6d4,1485000b +348e6d8,24420016 +348e6dc,3c028011 +348e6e0,3442a5d0 +348e6e4,431021 +348e6e8,904200a8 +348e6ec,21042 +348e6f0,30420001 +348e6f4,5440001c +348e6f8,92640000 +348e6fc,10000052 +348e700,26310001 +348e704,5446fff1 +348e708,90430000 +348e70c,10000016 +348e710,92640000 +348e714,12220013 +348e718,2a230003 +348e71c,38630001 +348e720,2231823 +348e724,31040 +348e728,431021 +348e72c,21080 +348e730,431023 +348e734,21040 +348e738,8fa30040 +348e73c,431021 +348e740,90430000 +348e744,3c028011 +348e748,3442a5d0 +348e74c,431021 +348e750,904200a8 +348e754,21042 +348e758,30420001 +348e75c,5040003a +348e760,26310001 +348e764,92640000 +348e768,3c02574f +348e76c,24424f4f +348e770,afa20020 +348e774,2c820064 +348e778,1040043d +348e77c,a3a00024 +348e780,24020020 +348e784,a3a20020 +348e788,24020057 +348e78c,a3a20021 +348e790,2c82000a +348e794,10400004 +348e798,24020020 +348e79c,a3a20021 +348e7a0,24020057 +348e7a4,a3a20022 +348e7a8,3c0351eb +348e7ac,3463851f +348e7b0,830019 +348e7b4,1810 +348e7b8,31942 +348e7bc,31040 +348e7c0,431021 +348e7c4,210c0 +348e7c8,431021 +348e7cc,21080 +348e7d0,821023 +348e7d4,304200ff +348e7d8,2c43000a +348e7dc,14600008 +348e7e0,3c03cccc +348e7e4,3463cccd +348e7e8,430019 +348e7ec,1010 +348e7f0,210c2 +348e7f4,24420030 +348e7f8,a3a20022 +348e7fc,3c03cccc +348e800,3463cccd +348e804,830019 +348e808,1810 +348e80c,318c2 +348e810,31080 +348e814,431021 +348e818,21040 +348e81c,821023 +348e820,304200ff +348e824,10400003 +348e828,2a03825 +348e82c,24420030 +348e830,a3a20023 +348e834,2c03025 +348e838,27a50020 +348e83c,c108a51 +348e840,2002025 +348e844,26310001 +348e848,26520001 +348e84c,26b50011 +348e850,24020009 +348e854,1622ff90 +348e858,26730001 +348e85c,3c028043 +348e860,94439634 +348e864,31080 +348e868,431021 +348e86c,2c2b021 +348e870,3c128040 +348e874,26521e74 +348e878,8825 +348e87c,3c158043 +348e880,26b5925c +348e884,3c1e8040 +348e888,24170001 +348e88c,3c028043 +348e890,afa2003c +348e894,3c138040 +348e898,26731e40 +348e89c,24429280 +348e8a0,afa20040 +348e8a4,2a230003 +348e8a8,10600006 +348e8ac,2201025 +348e8b0,8fa30038 +348e8b4,14600006 +348e8b8,2b11821 +348e8bc,10000041 +348e8c0,26310001 +348e8c4,5280003c +348e8c8,26220001 +348e8cc,2b11821 +348e8d0,90650000 +348e8d4,8fc31e34 +348e8d8,10770005 +348e8dc,24040002 +348e8e0,10640019 +348e8e4,24030003 +348e8e8,1000002c +348e8ec,113900 +348e8f0,8fa2003c +348e8f4,24429280 +348e8f8,244600b0 +348e8fc,90430000 +348e900,732021 +348e904,80840000 +348e908,1485000b +348e90c,24420016 +348e910,3c028011 +348e914,3442a5d0 +348e918,431021 +348e91c,904200a8 +348e920,21042 +348e924,30420001 +348e928,1440001c +348e92c,113900 +348e930,10000021 +348e934,26220001 +348e938,54c2fff1 +348e93c,90430000 +348e940,10000016 +348e944,113900 +348e948,10430013 +348e94c,28430003 +348e950,38630001 +348e954,431023 +348e958,21840 +348e95c,621821 +348e960,31880 +348e964,621023 +348e968,21040 +348e96c,8fa30040 +348e970,431021 +348e974,90430000 +348e978,3c028011 +348e97c,3442a5d0 +348e980,431021 +348e984,904200a8 +348e988,21042 +348e98c,30420001 +348e990,10400009 +348e994,26220001 +348e998,113900 +348e99c,f13821 +348e9a0,24e7002d +348e9a4,2c03025 +348e9a8,2402825 +348e9ac,c108a51 +348e9b0,2002025 +348e9b4,26220001 +348e9b8,28420009 +348e9bc,1040045e +348e9c0,26310001 +348e9c4,1000ffb7 +348e9c8,26520017 +348e9cc,10400203 +348e9d0,3c028043 +348e9d4,24020001 +348e9d8,3c038043 +348e9dc,ac62d7b8 +348e9e0,3c038040 +348e9e4,90636d30 +348e9e8,10620005 +348e9ec,2415000a +348e9f0,14600005 +348e9f4,24150009 +348e9f8,10000004 +348e9fc,2403000c +348ea00,10000002 +348ea04,2403000f +348ea08,2403000f +348ea0c,3c028043 +348ea10,94429634 +348ea14,430018 +348ea18,3812 +348ea1c,3c038040 +348ea20,90631de4 +348ea24,1060000c +348ea28,24e70014 +348ea2c,210c0 +348ea30,24420020 +348ea34,e23821 +348ea38,3c028040 +348ea3c,90421e4f +348ea40,2102b +348ea44,2a2a821 +348ea48,3c028040 +348ea4c,90421e57 +348ea50,2c420001 +348ea54,2a2a821 +348ea58,151100 +348ea5c,26a30001 +348ea60,431021 +348ea64,24030140 +348ea68,671823 +348ea6c,32fc2 +348ea70,a32821 +348ea74,52843 +348ea78,240300f0 +348ea7c,621823 +348ea80,3a7c2 +348ea84,283a021 +348ea88,14a043 +348ea8c,24be0001 +348ea90,26830001 +348ea94,afa3003c +348ea98,afa20010 +348ea9c,2803025 +348eaa0,c1033d1 +348eaa4,2002025 +348eaa8,8e020008 +348eaac,24430008 +348eab0,ae030008 +348eab4,3c03fa00 +348eab8,ac430000 +348eabc,2403ffff +348eac0,ac430004 +348eac4,26930002 +348eac8,8825 +348eacc,3c168043 +348ead0,26d69280 +348ead4,c10341b +348ead8,2202025 +348eadc,22840 +348eae0,a22821 +348eae4,52880 +348eae8,a22823 +348eaec,52840 +348eaf0,24a50003 +348eaf4,2603825 +348eaf8,3c03025 +348eafc,2c52821 +348eb00,c108a51 +348eb04,2002025 +348eb08,2209025 +348eb0c,26310001 +348eb10,16b1fff0 +348eb14,26730011 +348eb18,3c028040 +348eb1c,90436d30 +348eb20,24020001 +348eb24,14620002 +348eb28,24030008 +348eb2c,2403000b +348eb30,3c028043 +348eb34,94429634 +348eb38,430018 +348eb3c,b812 +348eb40,26f70001 +348eb44,2feb821 +348eb48,24070001 +348eb4c,24060011 +348eb50,3c058043 +348eb54,24a59640 +348eb58,c10533a +348eb5c,2002025 +348eb60,26940002 +348eb64,2809825 +348eb68,8825 +348eb6c,3c158043 +348eb70,26b59280 +348eb74,3c168011 +348eb78,36d6a5d0 +348eb7c,3c1e4f28 +348eb80,10000002 +348eb84,27de4f29 +348eb88,408825 +348eb8c,c10341b +348eb90,2202025 +348eb94,21840 +348eb98,621821 +348eb9c,31880 +348eba0,621823 +348eba4,31840 +348eba8,2a31821 +348ebac,80630001 +348ebb0,461002b +348ebb4,21840 +348ebb8,621821 +348ebbc,31880 +348ebc0,621023 +348ebc4,21040 +348ebc8,551021 +348ebcc,90440000 +348ebd0,2c41021 +348ebd4,804300bc +348ebd8,410c0 +348ebdc,441023 +348ebe0,21080 +348ebe4,2c21021 +348ebe8,804200e5 +348ebec,afbe0020 +348ebf0,1860000b +348ebf4,a3a00024 +348ebf8,602025 +348ebfc,2863000a +348ec00,50600001 +348ec04,24040009 +348ec08,41e00 +348ec0c,31e03 +348ec10,4620001 +348ec14,2025 +348ec18,24840030 +348ec1c,a3a40020 +348ec20,1840000a +348ec24,401825 +348ec28,2842000a +348ec2c,50400001 +348ec30,24030009 +348ec34,31600 +348ec38,21603 +348ec3c,4420001 +348ec40,1825 +348ec44,24630030 +348ec48,a3a30022 +348ec4c,2603825 +348ec50,2e03025 +348ec54,27a50020 +348ec58,c108a51 +348ec5c,2002025 +348ec60,26220001 +348ec64,1651ffc8 +348ec68,26730011 +348ec6c,3c028043 +348ec70,94429634 +348ec74,21080 +348ec78,24420001 +348ec7c,571021 +348ec80,afa20038 +348ec84,24070001 +348ec88,2406000e +348ec8c,3c058043 +348ec90,24a59640 +348ec94,c10533a +348ec98,2002025 +348ec9c,8fb5003c +348eca0,2a0b025 +348eca4,8825 +348eca8,3c138043 +348ecac,26739280 +348ecb0,3c178011 +348ecb4,36f7a5d0 +348ecb8,3c028043 +348ecbc,10000002 +348ecc0,245e9640 +348ecc4,408825 +348ecc8,c10341b +348eccc,2202025 +348ecd0,21840 +348ecd4,621821 +348ecd8,31880 +348ecdc,621823 +348ece0,31840 +348ece4,731821 +348ece8,90640000 +348ecec,2403000d +348ecf0,50830001 +348ecf4,2404000a +348ecf8,21840 +348ecfc,621821 +348ed00,31880 +348ed04,621023 +348ed08,21040 +348ed0c,2621021 +348ed10,90420001 +348ed14,30420040 +348ed18,10400010 +348ed1c,26220001 +348ed20,2e42021 +348ed24,908200a8 +348ed28,30420001 +348ed2c,1040000b +348ed30,26220001 +348ed34,24020010 +348ed38,afa20018 +348ed3c,afa20014 +348ed40,afb50010 +348ed44,8fa70038 +348ed48,3025 +348ed4c,3c02825 +348ed50,c105584 +348ed54,2002025 +348ed58,26220001 +348ed5c,1651ffd9 +348ed60,26b50011 +348ed64,24070001 +348ed68,2406000a +348ed6c,3c058043 +348ed70,24a59640 +348ed74,c10533a +348ed78,2002025 +348ed7c,8fb3003c +348ed80,8825 +348ed84,3c158043 +348ed88,26b59280 +348ed8c,3c178011 +348ed90,36f7a5d0 +348ed94,3c028043 +348ed98,10000002 +348ed9c,245e9640 +348eda0,408825 +348eda4,c10341b +348eda8,2202025 +348edac,21840 +348edb0,621821 +348edb4,31880 +348edb8,621023 +348edbc,21040 +348edc0,2a21021 +348edc4,90420001 +348edc8,30420020 +348edcc,10400010 +348edd0,26220001 +348edd4,8ee200a4 +348edd8,3c030040 +348eddc,431024 +348ede0,1040000b +348ede4,26220001 +348ede8,24020010 +348edec,afa20018 +348edf0,afa20014 +348edf4,afb30010 +348edf8,8fa70038 +348edfc,3025 +348ee00,3c02825 +348ee04,c105584 +348ee08,2002025 +348ee0c,26220001 +348ee10,1651ffe3 +348ee14,26730011 +348ee18,3c028040 +348ee1c,90421de4 +348ee20,10400346 +348ee24,8fbf007c +348ee28,8fa20038 +348ee2c,24420011 +348ee30,afa2003c +348ee34,24070001 +348ee38,24060001 +348ee3c,3c058043 +348ee40,24a595f0 +348ee44,c10533a +348ee48,2002025 +348ee4c,8825 +348ee50,3c178043 +348ee54,26f79280 +348ee58,3c1e8040 +348ee5c,27de1e4e +348ee60,241500ff +348ee64,3c138044 +348ee68,26732040 +348ee6c,3c028043 +348ee70,244295f0 +348ee74,10000002 +348ee78,afa20040 +348ee7c,408825 +348ee80,c10341b +348ee84,2202025 +348ee88,21840 +348ee8c,621821 +348ee90,31880 +348ee94,621823 +348ee98,31840 +348ee9c,771821 +348eea0,90630000 +348eea4,7e1821 +348eea8,90630000 +348eeac,10600008 +348eeb0,21840 +348eeb4,621821 +348eeb8,31880 +348eebc,621023 +348eec0,21040 +348eec4,24420012 +348eec8,10000007 +348eecc,2e21021 +348eed0,621821 +348eed4,31880 +348eed8,621023 +348eedc,21040 +348eee0,2442000e +348eee4,2e21021 +348eee8,402025 +348eeec,24420004 +348eef0,90830000 +348eef4,10750006 +348eef8,731821 +348eefc,90630000 +348ef00,14600294 +348ef04,24840001 +348ef08,5444fffa +348ef0c,90830000 +348ef10,26220001 +348ef14,1651ffd9 +348ef18,26d60011 +348ef1c,8fa20038 +348ef20,24420022 +348ef24,afa2004c +348ef28,2407000a +348ef2c,24060010 +348ef30,3c058043 +348ef34,24a59630 +348ef38,c10533a +348ef3c,2002025 +348ef40,f025 +348ef44,3c028043 +348ef48,24429280 +348ef4c,afa20040 +348ef50,3c028040 +348ef54,24421e4e +348ef58,afa20038 +348ef5c,3c178044 +348ef60,26f72040 +348ef64,3c168043 +348ef68,10000002 +348ef6c,26d69630 +348ef70,40f025 +348ef74,c10341b +348ef78,3c02025 +348ef7c,21840 +348ef80,621821 +348ef84,31880 +348ef88,621823 +348ef8c,31840 +348ef90,8fa40040 +348ef94,641821 +348ef98,90630000 +348ef9c,8fa50038 +348efa0,651821 +348efa4,90630000 +348efa8,10600008 +348efac,28840 +348efb0,2228821 +348efb4,118880 +348efb8,2228823 +348efbc,118840 +348efc0,26310012 +348efc4,10000008 +348efc8,918821 +348efcc,2228821 +348efd0,118880 +348efd4,2228823 +348efd8,118840 +348efdc,2631000e +348efe0,8fa30040 +348efe4,718821 +348efe8,2202025 +348efec,26260004 +348eff0,240500ff +348eff4,90830000 +348eff8,10650073 +348effc,771821 +348f000,90630000 +348f004,14600248 +348f008,24840001 +348f00c,54c4fffa +348f010,90830000 +348f014,1000006d +348f018,27c20001 +348f01c,2351021 +348f020,90470000 +348f024,240200ff +348f028,10e20067 +348f02c,8fa20048 +348f030,90420000 +348f034,8fa30038 +348f038,431021 +348f03c,90480000 +348f040,f71021 +348f044,90530000 +348f048,96c20004 +348f04c,550018 +348f050,1012 +348f054,21040 +348f058,8fa3004c +348f05c,431021 +348f060,151880 +348f064,431021 +348f068,afa2003c +348f06c,3c038043 +348f070,2466adfc +348f074,81840 +348f078,682021 +348f07c,42040 +348f080,72840 +348f084,a71021 +348f088,21080 +348f08c,822021 +348f090,c42021 +348f094,90820002 +348f098,21600 +348f09c,90840004 +348f0a0,42200 +348f0a4,441025 +348f0a8,681821 +348f0ac,31840 +348f0b0,a72821 +348f0b4,52880 +348f0b8,651821 +348f0bc,c31821 +348f0c0,90630003 +348f0c4,31c00 +348f0c8,431025 +348f0cc,344200ff +348f0d0,8e030008 +348f0d4,24640008 +348f0d8,ae040008 +348f0dc,3c04fa00 +348f0e0,ac640000 +348f0e4,ac620004 +348f0e8,2e62000a +348f0ec,14400011 +348f0f0,3c02cccc +348f0f4,3c06cccc +348f0f8,34c6cccd +348f0fc,2660019 +348f100,3010 +348f104,96c20006 +348f108,afa20018 +348f10c,96c20004 +348f110,afa20014 +348f114,8fa20044 +348f118,afa20010 +348f11c,8fa7003c +348f120,630c2 +348f124,2c02825 +348f128,c105584 +348f12c,2002025 +348f130,3c02cccc +348f134,3442cccd +348f138,2620019 +348f13c,1010 +348f140,210c2 +348f144,21880 +348f148,621021 +348f14c,21040 +348f150,2623023 +348f154,30c600ff +348f158,54c001e7 +348f15c,96c70004 +348f160,24070001 +348f164,2406002f +348f168,2c02825 +348f16c,c10533a +348f170,2002025 +348f174,96c70004 +348f178,96c20006 +348f17c,afa20018 +348f180,afa70014 +348f184,8fa20044 +348f188,afa20010 +348f18c,8fa2003c +348f190,e23821 +348f194,3025 +348f198,2c02825 +348f19c,c105584 +348f1a0,2002025 +348f1a4,2407000a +348f1a8,24060010 +348f1ac,2c02825 +348f1b0,c10533a +348f1b4,2002025 +348f1b8,26b50001 +348f1bc,24020004 +348f1c0,16a2ff97 +348f1c4,2351021 +348f1c8,27c20001 +348f1cc,165eff68 +348f1d0,26940011 +348f1d4,100001c1 +348f1d8,8e020008 +348f1dc,24030001 +348f1e0,ac43d7b8 +348f1e4,3c028040 +348f1e8,8c421e28 +348f1ec,10400007 +348f1f0,afa20040 +348f1f4,3c028043 +348f1f8,94439634 +348f1fc,31040 +348f200,431021 +348f204,21040 +348f208,24420001 +348f20c,3c038043 +348f210,94679634 +348f214,738c0 +348f218,24e70038 +348f21c,e23821 +348f220,24020140 +348f224,471023 +348f228,22fc2 +348f22c,a22821 +348f230,52843 +348f234,24b40001 +348f238,240200cd +348f23c,afa20010 +348f240,24060011 +348f244,c1033d1 +348f248,2002025 +348f24c,141b80 +348f250,3c0200ff +348f254,3442c000 +348f258,621024 +348f25c,afa20038 +348f260,2413006c +348f264,24120013 +348f268,8825 +348f26c,3c158043 +348f270,26b59280 +348f274,3c1e8040 +348f278,27de1e0f +348f27c,3c02fcff +348f280,3442ffff +348f284,afa2003c +348f288,27b60038 +348f28c,2a23000a +348f290,38630001 +348f294,711821 +348f298,31040 +348f29c,431021 +348f2a0,21080 +348f2a4,431023 +348f2a8,21040 +348f2ac,551021 +348f2b0,90420000 +348f2b4,5e1021 +348f2b8,80420000 +348f2bc,144001b0 +348f2c0,8e020008 +348f2c4,100001e8 +348f2c8,24440008 +348f2cc,8e030008 +348f2d0,24640008 +348f2d4,ae040008 +348f2d8,8c450004 +348f2dc,8c440000 +348f2e0,ac650004 +348f2e4,24420008 +348f2e8,1456fff8 +348f2ec,ac640000 +348f2f0,8e020008 +348f2f4,24430008 +348f2f8,ae030008 +348f2fc,3c03fc11 +348f300,34639623 +348f304,ac430000 +348f308,3c03ff2f +348f30c,3463ffff +348f310,ac430004 +348f314,26310001 +348f318,26520011 +348f31c,2402000c +348f320,1622ffda +348f324,26730044 +348f328,3c028043 +348f32c,94429634 +348f330,210c0 +348f334,24420001 +348f338,54a021 +348f33c,8e020008 +348f340,24430008 +348f344,ae030008 +348f348,3c03fa00 +348f34c,ac430000 +348f350,2403ffff +348f354,ac430004 +348f358,24070001 +348f35c,24060010 +348f360,3c058043 +348f364,24a59640 +348f368,c10533a +348f36c,2002025 +348f370,24120012 +348f374,8825 +348f378,3c138043 +348f37c,26739280 +348f380,3c158011 +348f384,36b5a5d0 +348f388,3c168043 +348f38c,26d69640 +348f390,2a23000a +348f394,38630001 +348f398,711821 +348f39c,31040 +348f3a0,431021 +348f3a4,21080 +348f3a8,431023 +348f3ac,21040 +348f3b0,2621021 +348f3b4,90420001 +348f3b8,30420010 +348f3bc,50400018 +348f3c0,26310001 +348f3c4,31040 +348f3c8,431021 +348f3cc,21080 +348f3d0,431023 +348f3d4,21040 +348f3d8,531021 +348f3dc,90420000 +348f3e0,2a21021 +348f3e4,904200a8 +348f3e8,21082 +348f3ec,30420001 +348f3f0,5040000b +348f3f4,26310001 +348f3f8,24020010 +348f3fc,afa20018 +348f400,afa20014 +348f404,afb20010 +348f408,2803825 +348f40c,3025 +348f410,2c02825 +348f414,c105584 +348f418,2002025 +348f41c,26310001 +348f420,2402000c +348f424,1622ffda +348f428,26520011 +348f42c,26970011 +348f430,24070001 +348f434,2406000f +348f438,3c058043 +348f43c,24a59640 +348f440,c10533a +348f444,2002025 +348f448,24120012 +348f44c,8825 +348f450,3c138043 +348f454,26739280 +348f458,3c158011 +348f45c,36b5a5d0 +348f460,3c168043 +348f464,26d69640 +348f468,2a23000a +348f46c,38630001 +348f470,711821 +348f474,31040 +348f478,431021 +348f47c,21080 +348f480,431023 +348f484,21040 +348f488,2621021 +348f48c,90420001 +348f490,30420010 +348f494,50400018 +348f498,26310001 +348f49c,31040 +348f4a0,431021 +348f4a4,21080 +348f4a8,431023 +348f4ac,21040 +348f4b0,531021 +348f4b4,90420000 +348f4b8,2a21021 +348f4bc,904200a8 +348f4c0,21042 +348f4c4,30420001 +348f4c8,5040000b +348f4cc,26310001 +348f4d0,24020010 +348f4d4,afa20018 +348f4d8,afa20014 +348f4dc,afb20010 +348f4e0,2e03825 +348f4e4,3025 +348f4e8,2c02825 +348f4ec,c105584 +348f4f0,2002025 +348f4f4,26310001 +348f4f8,2402000c +348f4fc,1622ffda +348f500,26520011 +348f504,26970022 +348f508,24070001 +348f50c,2406000b +348f510,3c058043 +348f514,24a59640 +348f518,c10533a +348f51c,2002025 +348f520,24120012 +348f524,8825 +348f528,3c138043 +348f52c,26739280 +348f530,3c158011 +348f534,36b5a5d0 +348f538,3c168043 +348f53c,26d69640 +348f540,2a23000a +348f544,38630001 +348f548,711821 +348f54c,31040 +348f550,431021 +348f554,21080 +348f558,431023 +348f55c,21040 +348f560,2621021 +348f564,90440002 +348f568,50800017 +348f56c,26310001 +348f570,31040 +348f574,431021 +348f578,21080 +348f57c,431023 +348f580,21040 +348f584,531021 +348f588,90420000 +348f58c,38420003 +348f590,2a21021 +348f594,90420e9c +348f598,5444000b +348f59c,26310001 +348f5a0,24020010 +348f5a4,afa20018 +348f5a8,afa20014 +348f5ac,afb20010 +348f5b0,2e03825 +348f5b4,3025 +348f5b8,2c02825 +348f5bc,c105584 +348f5c0,2002025 +348f5c4,26310001 +348f5c8,2402000c +348f5cc,1622ffdc +348f5d0,26520011 +348f5d4,8fa20040 +348f5d8,10400158 +348f5dc,8fbf007c +348f5e0,26940033 +348f5e4,24120013 +348f5e8,8825 +348f5ec,3c178040 +348f5f0,3c138043 +348f5f4,26739280 +348f5f8,3c168040 +348f5fc,26d61e4e +348f600,3c158042 +348f604,26b54300 +348f608,3c1e8042 +348f60c,2a23000a +348f610,38630001 +348f614,8ee21e2c +348f618,10400019 +348f61c,711821 +348f620,31040 +348f624,431021 +348f628,21080 +348f62c,431023 +348f630,21040 +348f634,2621021 +348f638,90420001 +348f63c,30420010 +348f640,10400010 +348f644,31040 +348f648,431021 +348f64c,21080 +348f650,431023 +348f654,21040 +348f658,531021 +348f65c,90440000 +348f660,3c028011 +348f664,3442a5d0 +348f668,441021 +348f66c,904200a8 +348f670,21082 +348f674,30420001 +348f678,50400012 +348f67c,26310001 +348f680,31040 +348f684,431021 +348f688,21080 +348f68c,431023 +348f690,21040 +348f694,531021 +348f698,90420000 +348f69c,561021 +348f6a0,90420000 +348f6a4,14400002 +348f6a8,2a02825 +348f6ac,27c54304 +348f6b0,2403825 +348f6b4,2803025 +348f6b8,c108a51 +348f6bc,2002025 +348f6c0,26310001 +348f6c4,2402000c +348f6c8,1622ffd0 +348f6cc,26520011 +348f6d0,1000011a +348f6d4,8fbf007c +348f6d8,afa20018 +348f6dc,24020006 +348f6e0,afa20014 +348f6e4,8fa20044 +348f6e8,afa20010 +348f6ec,2e03825 +348f6f0,8fa50048 +348f6f4,c105584 +348f6f8,2002025 +348f6fc,1000fb50 +348f700,26940001 +348f704,afb60044 +348f708,8fa20038 +348f70c,24570013 +348f710,32f7ffff +348f714,3c028043 +348f718,24429630 +348f71c,1000faec +348f720,afa20048 +348f724,afa20018 +348f728,afa20014 +348f72c,8fa2003c +348f730,afa20010 +348f734,8fa70038 +348f738,3025 +348f73c,27c595f0 +348f740,c105584 +348f744,2002025 +348f748,1000fab1 +348f74c,26940001 +348f750,24430008 +348f754,ae030008 +348f758,3c17fa00 +348f75c,ac570000 +348f760,2403ff7f +348f764,ac430004 +348f768,2402000b +348f76c,afa20014 +348f770,24020006 +348f774,afa20010 +348f778,2603825 +348f77c,2803025 +348f780,2402825 +348f784,c108a2d +348f788,2002025 +348f78c,8e030008 +348f790,24640008 +348f794,ae040008 +348f798,ac770000 +348f79c,2404ffbf +348f7a0,ac640004 +348f7a4,8e030008 +348f7a8,24640008 +348f7ac,ae040008 +348f7b0,8fa40040 +348f7b4,ac640000 +348f7b8,8fa40044 +348f7bc,ac640004 +348f7c0,541023 +348f7c4,3042ffff +348f7c8,541021 +348f7cc,21380 +348f7d0,3c0300ff +348f7d4,3463c000 +348f7d8,431024 +348f7dc,32230ffc +348f7e0,431025 +348f7e4,3c03e400 +348f7e8,431025 +348f7ec,afa20020 +348f7f0,2622fffc +348f7f4,30420ffc +348f7f8,8fa3003c +348f7fc,431025 +348f800,afa20024 +348f804,3c02e100 +348f808,afa20028 +348f80c,afa0002c +348f810,3c02f100 +348f814,afa20030 +348f818,3c020400 +348f81c,24420400 +348f820,afa20034 +348f824,27a20020 +348f828,1000f8e1 +348f82c,27a60038 +348f830,ae030008 +348f834,3c03fa00 +348f838,ac430000 +348f83c,2403ffff +348f840,ac430004 +348f844,2402000b +348f848,afa20014 +348f84c,24020006 +348f850,afa20010 +348f854,2603825 +348f858,2803025 +348f85c,2402825 +348f860,c108a2d +348f864,2002025 +348f868,1000f8e4 +348f86c,26520016 +348f870,3c0251eb +348f874,3442851f +348f878,820019 +348f87c,1010 +348f880,21142 +348f884,24420030 +348f888,1000fbc7 +348f88c,a3a20021 +348f890,24430008 +348f894,ae030008 +348f898,3c03fa00 +348f89c,ac430000 +348f8a0,2403ffff +348f8a4,ac430004 +348f8a8,3c058043 +348f8ac,24a59670 +348f8b0,94a70008 +348f8b4,3025 +348f8b8,c10533a +348f8bc,2002025 +348f8c0,2412002c +348f8c4,8825 +348f8c8,24130010 +348f8cc,3c028043 +348f8d0,24579670 +348f8d4,1000fb52 +348f8d8,24160003 +348f8dc,24430008 +348f8e0,ae030008 +348f8e4,3c03fa00 +348f8e8,ac430000 +348f8ec,2403ffff +348f8f0,10000091 +348f8f4,ac430004 +348f8f8,96c20006 +348f8fc,afa20018 +348f900,afa70014 +348f904,8fa20044 +348f908,afa20010 +348f90c,8fa2003c +348f910,473821 +348f914,2c02825 +348f918,c105584 +348f91c,2002025 +348f920,1000fe26 +348f924,26b50001 +348f928,afb40044 +348f92c,a825 +348f930,21840 +348f934,621821 +348f938,31880 +348f93c,621023 +348f940,21040 +348f944,8fa30040 +348f948,431021 +348f94c,1000fdb3 +348f950,afa20048 +348f954,24020010 +348f958,afa20018 +348f95c,afa20014 +348f960,afb60010 +348f964,8fa7003c +348f968,3025 +348f96c,8fa50040 +348f970,c105584 +348f974,2002025 +348f978,1000fd66 +348f97c,26220001 +348f980,24440008 +348f984,ae040008 +348f988,3c17fa00 +348f98c,ac570000 +348f990,2404ff7f +348f994,ac440004 +348f998,32840 +348f99c,a32821 +348f9a0,52880 +348f9a4,a32823 +348f9a8,52840 +348f9ac,24a50003 +348f9b0,2403825 +348f9b4,2803025 +348f9b8,2a52821 +348f9bc,c108a51 +348f9c0,2002025 +348f9c4,8e030008 +348f9c8,24640008 +348f9cc,ae040008 +348f9d0,ac770000 +348f9d4,2404ffbf +348f9d8,ac640004 +348f9dc,8e030008 +348f9e0,24640008 +348f9e4,ae040008 +348f9e8,8fa4003c +348f9ec,ac640000 +348f9f0,3c04fffd +348f9f4,3484f6fb +348f9f8,ac640004 +348f9fc,541023 +348fa00,3042ffff +348fa04,541021 +348fa08,21380 +348fa0c,3c0300ff +348fa10,3463c000 +348fa14,431024 +348fa18,32630ffc +348fa1c,431025 +348fa20,3c03e400 +348fa24,431025 +348fa28,afa20020 +348fa2c,2662fff8 +348fa30,30420ffc +348fa34,8fa30038 +348fa38,431025 +348fa3c,afa20024 +348fa40,3c02e100 +348fa44,afa20028 +348fa48,afa0002c +348fa4c,3c02f100 +348fa50,afa20030 +348fa54,3c020400 +348fa58,24420400 +348fa5c,afa20034 +348fa60,1000fe1a +348fa64,27a20020 +348fa68,ae040008 +348fa6c,3c04fa00 +348fa70,ac440000 +348fa74,2404ffff +348fa78,ac440004 +348fa7c,32840 +348fa80,a32821 +348fa84,52880 +348fa88,a32823 +348fa8c,52840 +348fa90,24a50003 +348fa94,2403825 +348fa98,2803025 +348fa9c,2a52821 +348faa0,c108a51 +348faa4,2002025 +348faa8,1000fe1b +348faac,26310001 +348fab0,8c421e38 +348fab4,1440f71b +348fab8,24040001 +348fabc,1000f726 +348fac0,24020001 +348fac4,24640008 +348fac8,ae040008 +348facc,3c04de00 +348fad0,ac640000 +348fad4,3c048043 +348fad8,24849688 +348fadc,1000f6f5 +348fae0,ac640004 +348fae4,24430008 +348fae8,ae030008 +348faec,3c03de00 +348faf0,ac430000 +348faf4,3c038043 +348faf8,24639688 +348fafc,1000f6f1 +348fb00,ac430004 +348fb04,24640008 +348fb08,ae040008 +348fb0c,3c04de00 +348fb10,ac640000 +348fb14,3c048043 +348fb18,24849688 +348fb1c,ac640004 +348fb20,21c00 +348fb24,31c03 +348fb28,463fa56 +348fb2c,30430400 +348fb30,1000f6e1 +348fb34,3c038040 +348fb38,8fbf007c +348fb3c,8fbe0078 +348fb40,8fb70074 +348fb44,8fb60070 +348fb48,8fb5006c +348fb4c,8fb40068 +348fb50,8fb30064 +348fb54,8fb20060 +348fb58,8fb1005c +348fb5c,8fb00058 +348fb60,3e00008 +348fb64,27bd0080 +348fb68,3e00008 +348fb70,3c028043 +348fb74,3e00008 +348fb78,8c42d7b8 +348fb7c,8483014a +348fb80,1460000a +348fb84,3c02801d +348fb88,27bdffe8 +348fb8c,afbf0014 +348fb90,3c028002 +348fb94,24420eb4 +348fb98,40f809 +348fba0,8fbf0014 +348fba4,3e00008 +348fba8,27bd0018 +348fbac,3442aa30 +348fbb0,8c460024 +348fbb4,8c450028 +348fbb8,8c42002c +348fbbc,ac860024 +348fbc0,ac850028 +348fbc4,ac82002c +348fbc8,948200b6 +348fbcc,244203c0 +348fbd0,a48200b6 +348fbd4,2402000f +348fbd8,431023 +348fbdc,44820000 +348fbe4,46800021 +348fbe8,3c028042 +348fbec,d4424310 +348fbf0,46220002 +348fbf4,3c028042 +348fbf8,d4424318 +348fbfc,46220000 +348fc00,c4820028 +348fc04,460010a1 +348fc08,46220000 +348fc0c,46200020 +348fc10,e4800028 +348fc14,3c028011 +348fc18,3442a5d0 +348fc1c,8c420004 +348fc20,14400006 +348fc28,3c028042 +348fc2c,c4424320 +348fc30,46020000 +348fc34,3e00008 +348fc38,e4800028 +348fc3c,3e00008 +348fc44,908201b0 +348fc48,5040000b +348fc4c,c4820090 +348fc50,c482008c +348fc54,3c038042 +348fc58,c4604324 +348fc5c,4600103e +348fc64,45010002 +348fc68,24020001 +348fc6c,1025 +348fc70,3e00008 +348fc74,304200ff +348fc78,3c038042 +348fc7c,c4604328 +348fc80,4600103e +348fc88,4500000e +348fc8c,3c038042 +348fc90,c4800094 +348fc94,c462432c +348fc98,4600103e +348fca0,45000008 +348fca4,3c038042 +348fca8,c4624330 +348fcac,4602003e +348fcb4,45010002 +348fcb8,24020001 +348fcbc,1025 +348fcc0,304200ff +348fcc4,3e00008 +348fccc,27bdffe8 +348fcd0,afbf0014 +348fcd4,afb00010 +348fcd8,c101bdc +348fcdc,808025 +348fce0,8e0201a0 +348fce4,8e0301a4 +348fce8,431025 +348fcec,1040000b +348fcf0,8fbf0014 +348fcf4,3c028042 +348fcf8,c4404334 +348fcfc,e6000058 +348fd00,e6000054 +348fd04,e6000050 +348fd08,e600014c +348fd0c,3c028042 +348fd10,c4404338 +348fd14,e60000bc +348fd18,8fbf0014 +348fd1c,8fb00010 +348fd20,3e00008 +348fd24,27bd0018 +348fd28,27bdffd8 +348fd2c,afbf0024 +348fd30,afb10020 +348fd34,afb0001c +348fd38,808025 +348fd3c,c101c56 +348fd40,a08825 +348fd44,920401a1 +348fd48,24030005 +348fd4c,50830011 +348fd50,8e0201a0 +348fd54,c105016 +348fd58,24440004 +348fd5c,5040000d +348fd60,8e0201a0 +348fd64,3c028043 +348fd68,8c42d918 +348fd6c,10500008 +348fd70,24020001 +348fd74,82030116 +348fd78,50620006 +348fd7c,8e0201a0 +348fd80,ae0001a0 +348fd84,ae0001a4 +348fd88,ae0001a8 +348fd8c,ae0001ac +348fd90,8e0201a0 +348fd94,8e0301a4 +348fd98,431025 +348fd9c,1040000f +348fda0,2202825 +348fda4,8e03013c +348fda8,3c028041 +348fdac,24422ad0 +348fdb0,1062000a +348fdb8,8e0301a8 +348fdbc,8e0201ac +348fdc0,afa30010 +348fdc4,afa20014 +348fdc8,8e0601a0 +348fdcc,8e0701a4 +348fdd0,c107c09 +348fdd4,260401b2 +348fdd8,2202825 +348fddc,c101bd6 +348fde0,2002025 +348fde4,8fbf0024 +348fde8,8fb10020 +348fdec,8fb0001c +348fdf0,3e00008 +348fdf4,27bd0028 +348fdf8,27bdffe0 +348fdfc,afbf001c +348fe00,8c8201a0 +348fe04,8c8301a4 +348fe08,431025 +348fe0c,1040000f +348fe14,888201b2 +348fe18,988201b5 +348fe1c,afa20010 +348fe20,948201b2 +348fe24,5040000c +348fe28,8fbf001c +348fe2c,3c028042 +348fe30,8c47433c +348fe34,a03025 +348fe38,802825 +348fe3c,c107bc3 +348fe40,8fa40010 +348fe44,10000004 +348fe48,8fbf001c +348fe4c,c101bd9 +348fe54,8fbf001c +348fe58,3e00008 +348fe5c,27bd0020 +348fe60,8c820130 +348fe64,10400018 +348fe68,24020112 +348fe6c,27bdffe0 +348fe70,afbf001c +348fe74,afb00018 +348fe78,84830000 +348fe7c,1462000e +348fe80,808025 +348fe84,c101c56 +348fe88,a08001c0 +348fe8c,8c430004 +348fe90,8c420008 +348fe94,afa30010 +348fe98,10400007 +348fe9c,afa20014 +348fea0,c105016 +348fea4,27a40010 +348fea8,14400004 +348feac,8fbf001c +348feb0,24020001 +348feb4,a20201c0 +348feb8,8fbf001c +348febc,8fb00018 +348fec0,3e00008 +348fec4,27bd0020 +348fec8,3e00008 +348fed0,90c201c0 +348fed4,10400025 +348fed8,24020005 +348fedc,27bdffd0 +348fee0,afbf002c +348fee4,84c30144 +348fee8,54620004 +348feec,3c038043 +348fef0,3c038043 +348fef4,10000002 +348fef8,246393d4 +348fefc,246393dc +348ff00,51040 +348ff04,451021 +348ff08,21080 +348ff0c,822021 +348ff10,8c860000 +348ff14,8c850004 +348ff18,8c820008 +348ff1c,afa60018 +348ff20,afa5001c +348ff24,afa20020 +348ff28,3c028043 +348ff2c,244293d0 +348ff30,afa20014 +348ff34,afa30010 +348ff38,3c078043 +348ff3c,24e793b8 +348ff40,3c068043 +348ff44,24c693c4 +348ff48,27a50018 +348ff4c,3c04801c +348ff50,3c028001 +348ff54,3442c66c +348ff58,40f809 +348ff5c,348484a0 +348ff60,8fbf002c +348ff64,3e00008 +348ff68,27bd0030 +348ff6c,3e00008 +348ff74,27bdffc8 +348ff78,afbf0034 +348ff7c,afb70030 +348ff80,afb6002c +348ff84,afb50028 +348ff88,afb40024 +348ff8c,afb30020 +348ff90,afb2001c +348ff94,afb10018 +348ff98,afb00014 +348ff9c,808825 +348ffa0,a09025 +348ffa4,c09825 +348ffa8,3c028006 +348ffac,244246f0 +348ffb0,40f809 +348ffb4,24044824 +348ffb8,922201c0 +348ffbc,5040002b +348ffc0,8630014a +348ffc4,c101c56 +348ffc8,2202025 +348ffcc,3c038043 +348ffd0,8c440004 +348ffd4,8c420008 +348ffd8,ac64f59c +348ffdc,2463f59c +348ffe0,1260000a +348ffe4,ac620004 +348ffe8,3025 +348ffec,3c05801d +348fff0,34a5aa54 +348fff4,3c028001 +348fff8,244238b0 +348fffc,40f809 +3490000,2402025 +3490004,10000008 +3490008,24050008 +349000c,3025 +3490010,26250024 +3490014,3c028001 +3490018,24423678 +349001c,40f809 +3490020,2402025 +3490024,24050008 +3490028,3c048043 +349002c,3c028000 +3490030,24422e80 +3490034,40f809 +3490038,2484f59c +349003c,86250152 +3490040,4a00004 +3490044,3c028002 +3490048,244204d0 +349004c,40f809 +3490050,2402025 +3490054,3c028002 +3490058,24420eb4 +349005c,40f809 +3490060,2202025 +3490064,10000049 +3490068,8fbf0034 +349006c,16000004 +3490070,24020001 +3490074,a622014a +3490078,10000003 +349007c,24100001 +3490080,5a000038 +3490084,86250152 +3490088,26340024 +349008c,3c168001 +3490090,26d73a84 +3490094,3c158042 +3490098,26b54340 +349009c,86270146 +34900a0,28e2000c +34900a4,5040001a +34900a8,24e7fff4 +34900ac,2402000b +34900b0,10e20003 +34900b4,73840 +34900b8,16600009 +34900c0,f53821 +34900c4,26c23678 +34900c8,84e60000 +34900cc,2802825 +34900d0,40f809 +34900d4,2402025 +34900d8,1000001d +34900dc,2610ffff +34900e0,f53821 +34900e4,94e60000 +34900e8,24028000 +34900ec,c23025 +34900f0,26c23678 +34900f4,63400 +34900f8,63403 +34900fc,2802825 +3490100,40f809 +3490104,2402025 +3490108,10000011 +349010c,2610ffff +3490110,73c00 +3490114,16600007 +3490118,73c03 +349011c,2803025 +3490120,2825 +3490124,2e0f809 +3490128,2402025 +349012c,10000008 +3490130,2610ffff +3490134,24028000 +3490138,e23825 +349013c,2803025 +3490140,2825 +3490144,2e0f809 +3490148,2402025 +349014c,2610ffff +3490150,108400 +3490154,108403 +3490158,5e00ffd1 +349015c,86270146 +3490160,86250152 +3490164,4a00004 +3490168,3c028002 +349016c,244204d0 +3490170,40f809 +3490174,2402025 +3490178,3c028002 +349017c,24420eb4 +3490180,40f809 +3490184,2202025 +3490188,8fbf0034 +349018c,8fb70030 +3490190,8fb6002c +3490194,8fb50028 +3490198,8fb40024 +349019c,8fb30020 +34901a0,8fb2001c +34901a4,8fb10018 +34901a8,8fb00014 +34901ac,3e00008 +34901b0,27bd0038 +34901b4,908201c0 +34901b8,10400022 +34901bc,24030003 +34901c0,84820144 +34901c4,10430007 +34901c8,24030008 +34901cc,10430008 +34901d0,24030002 +34901d4,1443001b +34901d8,3c028043 +34901dc,10000006 +34901e0,244293d8 +34901e4,3c028043 +34901e8,10000003 +34901ec,244293e0 +34901f0,3c028043 +34901f4,244293e0 +34901f8,27bdffe0 +34901fc,afbf001c +3490200,3c038043 +3490204,246393d0 +3490208,afa30014 +349020c,afa20010 +3490210,3c078043 +3490214,24e793b8 +3490218,3c068043 +349021c,24c693c4 +3490220,24850024 +3490224,3c04801c +3490228,3c028001 +349022c,3442c66c +3490230,40f809 +3490234,348484a0 +3490238,8fbf001c +349023c,3e00008 +3490240,27bd0020 +3490244,3e00008 +349024c,27bdffd0 +3490250,afbf002c +3490254,afb00028 +3490258,808025 +349025c,afa00010 +3490260,afa00014 +3490264,3c028040 +3490268,944269ec +349026c,a3a20016 +3490270,3c02801c +3490274,344284a0 +3490278,944200a4 +349027c,3042007f +3490280,a3a20010 +3490284,90820003 +3490288,3c038044 +349028c,90632098 +3490290,31980 +3490294,3042003f +3490298,431025 +349029c,a3a20015 +34902a0,27a50010 +34902a4,c104bee +34902a8,27a40018 +34902ac,8fa20018 +34902b0,8fa3001c +34902b4,431025 +34902b8,50400006 +34902bc,86050152 +34902c0,c105016 +34902c4,27a40010 +34902c8,1040000a +34902cc,1025 +34902d0,86050152 +34902d4,4a00007 +34902d8,1025 +34902dc,3c04801c +34902e0,3c028002 +34902e4,2442049c +34902e8,40f809 +34902ec,348484a0 +34902f0,2102b +34902f4,8fbf002c +34902f8,8fb00028 +34902fc,3e00008 +3490300,27bd0030 +3490304,44860000 +3490308,44801000 +3490310,46020032 +3490318,45030011 +349031c,46007006 +3490320,460e603c +3490328,45000007 +349032c,460c0000 +3490330,4600703c +3490338,45000009 +3490340,3e00008 +3490344,46007006 +3490348,460e003c +3490350,45000003 +3490358,3e00008 +349035c,46007006 +3490360,3e00008 +3490368,3c02801c +349036c,344284a0 +3490370,c44000d4 +3490374,3c028043 +3490378,3e00008 +349037c,e44093fc +3490380,27bdffe8 +3490384,afbf0014 +3490388,3c028043 +349038c,904293f0 +3490390,5040001b +3490394,3c028043 +3490398,3c038011 +349039c,3463a5d0 +34903a0,8c630070 +34903a4,31f02 +34903a8,1062000d +34903ac,21300 +34903b0,3c048011 +34903b4,3484a5d0 +34903b8,94830070 +34903bc,30630fff +34903c0,621025 +34903c4,a4820070 +34903c8,3c04801d +34903cc,3485aa30 +34903d0,3c028007 +34903d4,34429764 +34903d8,40f809 +34903dc,248484a0 34903e0,3c028043 -34903e4,ac458600 -34903e8,3c028043 -34903ec,ac5085fc -34903f0,92030001 +34903e4,904393f0 +34903e8,24020001 +34903ec,14620004 +34903f0,3c028043 34903f4,3c028043 -34903f8,ac4385f8 -34903fc,5282b -3490400,c105ec7 -3490404,2002025 -3490408,3c038043 -349040c,ac6285f4 -3490410,96030004 -3490414,3c028043 -3490418,ac4385f0 -349041c,92030006 -3490420,3c028043 -3490424,12600004 -3490428,ac4385ec -349042c,c105eb8 -3490430,2602025 -3490434,408025 -3490438,92020007 -349043c,10400008 -3490440,24030001 -3490444,2c43000f -3490448,50600004 -349044c,38420010 -3490450,2c42000d -3490454,10000002 -3490458,38430001 -349045c,2c430001 +34903f8,a04093f0 +34903fc,3c028043 +3490400,c44e93e8 +3490404,44800000 +349040c,46007032 +3490414,45010010 +3490418,3c02801c +349041c,344284a0 +3490420,c44000d4 +3490424,46007032 +349042c,45010019 +3490430,3c02801c +3490434,3c028042 +3490438,8c46439c +349043c,3c028043 +3490440,c1040c1 +3490444,c44c93f8 +3490448,3c02801c +349044c,344284a0 +3490450,1000000f +3490454,e44000d4 +3490458,344284a0 +349045c,c44c00d4 3490460,3c028043 -3490464,ac4385e8 -3490468,3c028040 -349046c,a0510025 -3490470,8fbf0024 -3490474,8fb30020 -3490478,8fb2001c -349047c,8fb10018 -3490480,8fb00014 -3490484,3e00008 -3490488,27bd0028 -349048c,3c028043 -3490490,ac408604 -3490494,24428604 -3490498,ac400004 -349049c,ac400008 -34904a0,ac40000c +3490464,c44e93fc +3490468,460e6032 +3490470,45010008 +3490474,3c02801c +3490478,3c028042 +349047c,c1040c1 +3490480,8c4643a0 +3490484,3c02801c +3490488,344284a0 +349048c,e44000d4 +3490490,3c02801c +3490494,344284a0 +3490498,c44000d4 +349049c,3c028043 +34904a0,e44093f8 34904a4,3c028043 -34904a8,ac408600 -34904ac,3c028043 -34904b0,ac4085fc -34904b4,3c028043 -34904b8,ac4085f8 -34904bc,3c028043 -34904c0,ac4085f4 -34904c4,3c028043 -34904c8,ac4085f0 -34904cc,3c028043 -34904d0,ac4085ec -34904d4,3c028043 -34904d8,3e00008 -34904dc,ac4085e8 -34904e0,8c830000 -34904e4,3c0200ff -34904e8,3442ffff -34904ec,621824 -34904f0,3c020005 -34904f4,244200ff -34904f8,10620023 -34904fc,3c028040 -3490500,8c42002c -3490504,1440000b -3490508,3c038042 -349050c,94830008 -3490510,3c028040 -3490514,a4430030 -3490518,9083000a -349051c,3c028040 -3490520,a4430032 -3490524,8c830000 -3490528,3c028040 -349052c,3e00008 -3490530,ac43002c -3490534,24637ea4 -3490538,1025 -349053c,24060008 -3490540,8c650000 -3490544,54a0000e -3490548,24420001 -349054c,21100 -3490550,3c038042 -3490554,24637ea4 -3490558,431021 -349055c,8c870000 -3490560,8c860004 -3490564,8c850008 -3490568,8c83000c -349056c,ac470000 -3490570,ac460004 -3490574,ac450008 -3490578,3e00008 -349057c,ac43000c -3490580,1446ffef -3490584,24630010 -3490588,3e00008 -3490590,3c028040 -3490594,8c42002c -3490598,1440001e -349059c,3c028042 -34905a0,24477ea4 -34905a4,94e40008 -34905a8,3c038040 -34905ac,a4640030 -34905b0,90e4000a -34905b4,3c038040 -34905b8,a4640032 -34905bc,8c437ea4 -34905c0,3c028040 -34905c4,ac43002c -34905c8,e01025 -34905cc,24e70070 -34905d0,8c460010 -34905d4,8c450014 -34905d8,8c440018 -34905dc,8c43001c -34905e0,ac460000 -34905e4,ac450004 -34905e8,ac440008 -34905ec,ac43000c -34905f0,24420010 -34905f4,5447fff7 -34905f8,8c460010 -34905fc,3c028042 -3490600,24427ea4 -3490604,ac400070 -3490608,ac400074 -349060c,ac400078 -3490610,ac40007c -3490614,3e00008 -349061c,afa40000 -3490620,afa50004 -3490624,afa60008 -3490628,afa7000c -349062c,24030030 -3490630,3c058011 -3490634,34a5a5d0 -3490638,24060036 -349063c,310c0 -3490640,431023 -3490644,21080 -3490648,a21021 -349064c,8c4200e4 -3490650,14400010 -3490658,3c058011 -349065c,34a5a5d0 -3490660,310c0 -3490664,431023 -3490668,21080 -349066c,a21021 -3490670,ac4400e4 -3490674,24630001 -3490678,310c0 -349067c,431023 -3490680,21080 -3490684,a22821 -3490688,8fa20008 -349068c,3e00008 -3490690,aca200e4 -3490694,10440003 -3490698,24630002 -349069c,1466ffe8 -34906a0,310c0 -34906a4,3e00008 -34906ac,3c028040 -34906b0,94420028 -34906b4,10400015 -34906b8,2403ffff -34906bc,27bdffd8 -34906c0,afbf0024 -34906c4,afa00018 -34906c8,a3a30010 -34906cc,24030005 -34906d0,a3a30011 -34906d4,240300ff -34906d8,a7a30012 -34906dc,3c038040 -34906e0,94630026 -34906e4,a3a3001a -34906e8,a7a20018 -34906ec,8fa40010 -34906f0,2825 -34906f4,8fa60018 -34906f8,c104187 -34906fc,3825 -3490700,8fbf0024 -3490704,3e00008 -3490708,27bd0028 -349070c,3e00008 -3490714,27bdffd8 -3490718,afbf0024 -349071c,3c05ff05 -3490720,a42825 -3490724,c104019 -3490728,27a40010 -349072c,8fa20010 -3490730,10400007 -3490734,8fbf0024 -3490738,402025 -349073c,8fa50014 -3490740,8fa60018 -3490744,c104187 -3490748,8fa7001c -349074c,8fbf0024 -3490750,3e00008 -3490754,27bd0028 -3490758,3c028011 -349075c,3442a5d0 -3490760,8c43065c -3490764,ac430624 -3490768,8c430678 -349076c,ac430640 -3490770,8c430694 -3490774,ac43065c -3490778,8c4306b0 -349077c,ac430678 -3490780,ac400694 -3490784,3e00008 -3490788,ac4006b0 -349078c,801825 -3490790,3c0200ff -3490794,3442ffff -3490798,822024 -349079c,3c020005 -34907a0,244200ff -34907a4,1482000b -34907a8,27bdfff8 -34907ac,3c028040 -34907b0,a4400028 -34907b4,3c028040 -34907b8,a4400026 -34907bc,3c028011 -34907c0,3442a660 -34907c4,94430000 -34907c8,24630001 -34907cc,10000009 -34907d0,a4430000 -34907d4,3c025700 -34907d8,24420058 -34907dc,14620005 -34907e0,3c02801c -34907e4,344284a0 -34907e8,8c431d38 -34907ec,34630001 -34907f0,ac431d38 -34907f4,3e00008 -34907f8,27bd0008 -34907fc,27bdffe8 -3490800,afbf0014 -3490804,afb00010 -3490808,3c028011 -349080c,3442a5d0 -3490810,8c500624 -3490814,8c420640 -3490818,22402 -349081c,2403007c -3490820,1483000e -3490824,8fbf0014 -3490828,21202 -349082c,3c038040 -3490830,90630024 -3490834,304200ff -3490838,54620009 -349083c,8fb00010 -3490840,c104b05 -3490848,c1041d6 -3490850,c1041e3 -3490854,2002025 -3490858,8fbf0014 -349085c,8fb00010 -3490860,3e00008 -3490864,27bd0018 -3490868,27bdffe8 -349086c,afbf0014 -3490870,afb00010 -3490874,3c028043 -3490878,8c508604 -349087c,12000015 -3490880,3c028040 -3490884,9042002a -3490888,14400004 -349088c,3c028043 -3490890,8c428600 -3490894,10400005 -3490898,3c028011 -349089c,3c048043 -34908a0,c104138 -34908a4,24848604 -34908a8,3c028011 -34908ac,3442a5d0 -34908b0,8c420624 -34908b4,16020003 -34908bc,c1041d6 -34908c4,c1041e3 -34908c8,2002025 -34908cc,c104123 -34908d4,8fbf0014 -34908d8,8fb00010 -34908dc,3e00008 -34908e0,27bd0018 -34908e4,27bdffd8 -34908e8,afbf0024 -34908ec,afa00014 -34908f0,afa0001c -34908f4,3c028011 -34908f8,3442a5d0 -34908fc,8c440624 -3490900,8c420640 -3490904,10800028 -3490908,afa20018 -349090c,21c02 -3490910,240500ca -3490914,14650016 -3490918,21202 -349091c,3c038040 -3490920,90630024 -3490924,304200ff -3490928,10620012 -349092c,afa40010 -3490930,2825 -3490934,8fa60018 -3490938,c105ed3 -349093c,3825 -3490940,c105eb8 -3490944,402025 -3490948,c105ee7 -349094c,402025 -3490950,c1041d6 -3490958,c1041e3 -349095c,8fa40010 -3490960,c104123 -3490968,10000010 -349096c,8fbf0024 -3490970,afa40010 -3490974,8fa50014 -3490978,8fa60018 -349097c,c1040d4 -3490980,8fa7001c -3490984,3c02801d -3490988,3442aa30 -349098c,3c038043 -3490990,8c638618 -3490994,ac430428 -3490998,3c038043 -349099c,8c6385fc -34909a0,80630000 -34909a4,a0430424 -34909a8,8fbf0024 -34909ac,3e00008 -34909b0,27bd0028 -34909b4,27bdffe8 -34909b8,afbf0014 -34909bc,c104164 -34909c4,c1041ab -34909cc,3c028011 -34909d0,3442f200 -34909d4,8c430000 -34909d8,3c02802c -34909dc,24425880 -34909e0,50620068 -34909e4,3c028043 -34909e8,10600063 -34909ec,1025 -34909f0,3c028011 -34909f4,3442a5d0 -34909f8,8c42135c -34909fc,1440005e -3490a00,1025 -3490a04,3c02801c -3490a08,344284a0 -3490a0c,3c030001 -3490a10,431021 -3490a14,94420934 -3490a18,14400057 -3490a1c,1025 -3490a20,3c02801c -3490a24,344284a0 -3490a28,944200a4 -3490a2c,2442ffd4 -3490a30,3042ffff -3490a34,2c430020 -3490a38,50600008 -3490a3c,3c02801d -3490a40,3c038040 -3490a44,246300ff -3490a48,431806 -3490a4c,30630001 -3490a50,14600049 -3490a54,1025 -3490a58,3c02801d -3490a5c,3442aa30 -3490a60,8c42066c -3490a64,3c03fcac -3490a68,24632485 -3490a6c,431024 -3490a70,14400041 -3490a74,1025 -3490a78,3c02801d -3490a7c,3442aa30 -3490a80,94420088 -3490a84,30420001 -3490a88,1040003b -3490a8c,1025 -3490a90,3c02801d -3490a94,3442aa30 -3490a98,8c420670 -3490a9c,3c03000c -3490aa0,431024 -3490aa4,14400034 -3490aa8,1025 -3490aac,3c02800e -3490ab0,3442f1b0 -3490ab4,8c420000 -3490ab8,30420020 -3490abc,1440002e -3490ac0,1025 -3490ac4,3c02801c -3490ac8,344284a0 -3490acc,8c420794 -3490ad0,14400029 -3490ad4,1025 -3490ad8,3c028043 -3490adc,904285e4 -3490ae0,24420001 -3490ae4,304200ff -3490ae8,2c430002 -3490aec,14600023 +34904a8,904293f1 +34904ac,24030001 +34904b0,1443000f +34904b4,24030002 +34904b8,3c02801c +34904bc,344284a0 +34904c0,94420322 +34904c4,3c038042 +34904c8,24634358 +34904cc,431021 +34904d0,90420000 +34904d4,10400018 +34904d8,3c028043 +34904dc,3c02801c +34904e0,344284a0 +34904e4,24030035 +34904e8,10000012 +34904ec,a4430322 +34904f0,14430011 +34904f4,3c028043 +34904f8,3c02801c +34904fc,344284a0 +3490500,94420322 +3490504,3c038042 +3490508,24634358 +349050c,431021 +3490510,90420000 +3490514,10400006 +3490518,3c028043 +349051c,3c02801c +3490520,344284a0 +3490524,2403001f +3490528,a4430322 +349052c,3c028043 +3490530,a04093f1 +3490534,3c028043 +3490538,244293e4 +349053c,c4400008 +3490540,3c038040 +3490544,e4603f88 +3490548,9044000e +349054c,3c038040 +3490550,a06444dd +3490554,9042000f +3490558,50400006 +349055c,3c028043 +3490560,2442ffff +3490564,3c038043 +3490568,c105797 +349056c,a06293f3 +3490570,3c028043 +3490574,904293f4 +3490578,1040000b +349057c,3c028043 +3490580,3c02801c +3490584,344284a0 +3490588,94430014 +349058c,2404dfff +3490590,641824 +3490594,a4430014 +3490598,94430020 +349059c,641824 +34905a0,a4430020 +34905a4,3c028043 +34905a8,904293f5 +34905ac,10400016 +34905b0,8fbf0014 +34905b4,3c02801c +34905b8,344284a0 +34905bc,90430016 +34905c0,31823 +34905c4,a0430016 +34905c8,90430017 +34905cc,31823 +34905d0,a0430017 +34905d4,90430022 +34905d8,31823 +34905dc,a0430022 +34905e0,90430023 +34905e4,31823 +34905e8,a0430023 +34905ec,90430028 +34905f0,31823 +34905f4,a0430028 +34905f8,90430029 +34905fc,31823 +3490600,a0430029 +3490604,8fbf0014 +3490608,3e00008 +349060c,27bd0018 +3490610,850018 +3490614,1812 +3490618,24620001 +349061c,3042ffff +3490620,31a02 +3490624,431021 +3490628,21203 +349062c,3e00008 +3490630,304200ff +3490634,2402ffff +3490638,a0820002 +349063c,a0820001 +3490640,4a00031 +3490644,a0820000 +3490648,a01825 +349064c,28a503e8 +3490650,50a00001 +3490654,240303e7 +3490658,31c00 +349065c,31c03 +3490660,3c026666 +3490664,24426667 +3490668,620018 +349066c,1010 +3490670,21083 +3490674,32fc3 +3490678,451023 +349067c,22880 +3490680,a22821 +3490684,52840 +3490688,651823 +349068c,21400 +3490690,21403 +3490694,1040001c +3490698,a0830002 +349069c,3c036666 +34906a0,24636667 +34906a4,430018 +34906a8,1810 +34906ac,31883 +34906b0,22fc3 +34906b4,651823 +34906b8,32880 +34906bc,a32821 +34906c0,52840 +34906c4,451023 +34906c8,a0820001 +34906cc,31400 +34906d0,21403 +34906d4,1040000c +34906d8,3c036666 +34906dc,24636667 +34906e0,430018 +34906e4,1810 +34906e8,31883 +34906ec,22fc3 +34906f0,651823 +34906f4,32880 +34906f8,a31821 +34906fc,31840 +3490700,431023 +3490704,a0820000 +3490708,3e00008 +3490710,27bdffd0 +3490714,afbf002c +3490718,afb20028 +349071c,afb10024 +3490720,afb00020 +3490724,808025 +3490728,a08825 +349072c,afa7003c +3490730,8fb20040 +3490734,c10533a +3490738,24070001 +349073c,93a7003c +3490740,afb20018 +3490744,afb20014 +3490748,83a2003d +349074c,2442005c +3490750,afa20010 +3490754,24e70037 +3490758,3025 +349075c,2202825 +3490760,c105584 +3490764,2002025 +3490768,8fbf002c +349076c,8fb20028 +3490770,8fb10024 +3490774,8fb00020 +3490778,3e00008 +349077c,27bd0030 +3490780,9083007b +3490784,2462fff9 +3490788,304200ff +349078c,2c420002 +3490790,50400003 +3490794,1025 +3490798,10000002 +349079c,24020001 +34907a0,24030007 +34907a4,a0a20000 +34907a8,a0a30001 +34907ac,9083007d +34907b0,2462fff6 +34907b4,304200ff +34907b8,2c420002 +34907bc,50400003 +34907c0,1025 +34907c4,10000002 +34907c8,24020001 +34907cc,2403000a +34907d0,a0a20002 +34907d4,a0a30003 +34907d8,84820ef6 +34907dc,440001d +34907e0,2402002b +34907e4,94820ef4 +34907e8,210c2 +34907ec,3042008f +34907f0,2c430010 +34907f4,50600019 +34907f8,2402002b +34907fc,50400007 +3490800,9082008b +3490804,3c038042 +3490808,246343a8 +349080c,431021 +3490810,90420000 +3490814,10000014 +3490818,24030001 +349081c,2443ffdf +3490820,306300ff +3490824,2c630003 +3490828,5060000e +349082c,2402002b +3490830,24030023 +3490834,1443000c +3490838,24030001 +349083c,94830ede +3490840,30630200 +3490844,50600001 +3490848,24020022 +349084c,10000006 +3490850,24030001 +3490854,10000004 +3490858,24030001 +349085c,10000002 +3490860,24030001 +3490864,1825 +3490868,a0a20005 +349086c,a0a30004 +3490870,3c038040 +3490874,90631dd9 +3490878,14600009 +349087c,9082008a +3490880,24030030 +3490884,5043000b +3490888,2402002f +349088c,2443ffcb +3490890,306300ff +3490894,2c630002 +3490898,54600006 +349089c,24020034 +34908a0,2443ffd3 +34908a4,306300ff +34908a8,2c63000b +34908ac,50600003 +34908b0,24020037 +34908b4,10000002 +34908b8,24030001 +34908bc,1825 +34908c0,a0a20007 +34908c4,a0a30006 +34908c8,9082003c +34908cc,50400005 +34908d0,24020012 +34908d4,24020013 +34908d8,a0a20009 +34908dc,10000003 +34908e0,24020001 +34908e4,a0a20009 +34908e8,9082003a +34908ec,a0a20008 +34908f0,8c8200a0 +34908f4,21182 +34908f8,30420007 +34908fc,10400009 +3490900,1825 +3490904,401825 +3490908,2c420004 +349090c,50400001 +3490910,24030003 +3490914,2462004f +3490918,304200ff +349091c,10000002 +3490920,24030001 +3490924,24020050 +3490928,a0a3000a +349092c,a0a2000b +3490930,908214a6 +3490934,24030053 +3490938,a0a3000d +349093c,3c038043 +3490940,14400005 +3490944,a060d7f0 +3490948,24040001 +349094c,a064d7f0 +3490950,1000000b +3490954,a0a0000c +3490958,24030001 +349095c,14430003 +3490960,24030002 +3490964,3e00008 +3490968,a0a0000c +349096c,54430005 +3490970,24030003 +3490974,24020001 +3490978,3e00008 +349097c,a0a2000c +3490980,24030003 +3490984,14430007 +3490988,24020001 +349098c,a0a2000c +3490990,24020054 +3490994,3e00008 +3490998,a0a2000d +349099c,1000ffc5 +34909a0,24020034 +34909a4,3e00008 +34909ac,27bdffd8 +34909b0,afbf0024 +34909b4,afb30020 +34909b8,afb2001c +34909bc,afb10018 +34909c0,afb00014 +34909c4,3c028040 +34909c8,94421e68 +34909cc,1040001c +34909d0,808025 +34909d4,3c028043 +34909d8,24429420 +34909dc,2405001a +34909e0,a04500ca +34909e4,24040025 +34909e8,a04400cb +34909ec,24030029 +34909f0,a04300ce +34909f4,a04500cf +34909f8,24050038 +34909fc,a04500d2 +3490a00,a04400d3 +3490a04,2405001b +3490a08,a04500e2 +3490a0c,a04000e3 +3490a10,a04300e6 +3490a14,a04000e7 +3490a18,24040037 +3490a1c,a04400ea +3490a20,a04000eb +3490a24,a04300f2 +3490a28,2403000c +3490a2c,a04300f3 +3490a30,a04500ee +3490a34,a04300ef +3490a38,a04400f6 +3490a3c,a04300f7 +3490a40,3c028040 +3490a44,90421de6 +3490a48,1040000c +3490a4c,26050074 +3490a50,3c028043 +3490a54,24429420 +3490a58,2403006f +3490a5c,a04300d6 +3490a60,2403005c +3490a64,a04300d7 +3490a68,3c028043 +3490a6c,24429400 +3490a70,2404004d +3490a74,a0440019 +3490a78,a043001a +3490a7c,24060001 +3490a80,4825 +3490a84,3c028043 +3490a88,24429420 +3490a8c,2408ffe0 +3490a90,3c048043 +3490a94,24849468 +3490a98,90430000 +3490a9c,1031824 +3490aa0,14600004 +3490aa4,90a70000 +3490aa8,90430001 +3490aac,50670001 +3490ab0,1264825 +3490ab4,24420004 +3490ab8,63040 +3490abc,1444fff6 +3490ac0,24a50001 +3490ac4,3c028043 +3490ac8,ac49d7c0 +3490acc,8e0500a4 +3490ad0,2442d7c0 +3490ad4,30a3003f +3490ad8,a0430004 +3490adc,9602009c +3490ae0,8203003e +3490ae4,10600002 +3490ae8,3042fffb +3490aec,34420004 3490af0,3c038043 -3490af4,3c028043 -3490af8,c1041ff -3490afc,a04085e4 -3490b00,c104b00 -3490b08,10400012 -3490b0c,3c02801c -3490b10,344284a0 -3490b14,944300a4 -3490b18,24020010 -3490b1c,14620009 -3490b20,3c028040 -3490b24,90426d5c -3490b28,1440000a -3490b2c,3c02801c -3490b30,344284a0 -3490b34,8c421d38 -3490b38,30420400 -3490b3c,10400005 -3490b44,c104b0b -3490b4c,1000000f -3490b50,8fbf0014 -3490b54,c104239 -3490b5c,1000000b -3490b60,8fbf0014 -3490b64,10000004 -3490b68,1025 -3490b6c,10000002 -3490b70,1025 -3490b74,1025 -3490b78,3c038043 -3490b7c,10000002 -3490b80,a06285e4 -3490b84,a04085e4 -3490b88,8fbf0014 -3490b8c,3e00008 -3490b90,27bd0018 -3490b94,27bdffc0 -3490b98,afbf003c -3490b9c,afb60038 -3490ba0,afb50034 -3490ba4,afb40030 -3490ba8,afb3002c -3490bac,afb20028 -3490bb0,afb10024 -3490bb4,afb00020 -3490bb8,a09825 -3490bbc,1080002e -3490bc0,c08825 -3490bc4,10c0002c -3490bc8,808025 -3490bcc,4c10004 -3490bd0,c0a025 -3490bd4,6a023 -3490bd8,14a600 -3490bdc,14a603 -3490be0,c105eb8 -3490be4,3284ffff -3490be8,10400065 -3490bec,409025 -3490bf0,90430001 -3490bf4,3c028040 -3490bf8,94426134 -3490bfc,14400006 -3490c00,60a825 -3490c04,2402003d -3490c08,1462006f -3490c0c,328700ff -3490c10,10000004 -3490c14,86020000 -3490c18,1860006b -3490c1c,328700ff -3490c20,86020000 -3490c24,2404000a -3490c28,10440066 -3490c2c,2404013d -3490c30,10440065 -3490c34,328700ff -3490c38,3076ffff -3490c3c,c107a1c -3490c40,2c02025 -3490c44,10400060 -3490c48,328700ff -3490c4c,2402003d -3490c50,16a20005 -3490c54,26c4ffff -3490c58,c107b5e -3490c5c,24040037 -3490c60,10000059 -3490c64,328700ff -3490c68,c107b5e -3490c6c,3084ffff -3490c70,10000055 -3490c74,328700ff -3490c78,c104123 -3490c7c,9025 -3490c80,1240005d -3490c84,a2710424 -3490c88,92420001 -3490c8c,2442ffdc -3490c90,304200ff -3490c94,2c420008 -3490c98,10400058 -3490c9c,8fbf003c -3490ca0,3c028040 -3490ca4,94426136 -3490ca8,10400055 -3490cac,8fb60038 -3490cb0,c105ee7 -3490cb4,2402025 -3490cb8,10000050 -3490cbc,8fbf003c -3490cc0,8fa40010 -3490cc4,8fa50014 -3490cc8,8fa60018 -3490ccc,c1040d4 -3490cd0,8fa7001c -3490cd4,3c028043 -3490cd8,8c4285fc -3490cdc,86040000 -3490ce0,2403000a -3490ce4,1483001b -3490ce8,80420000 -3490cec,2403007c -3490cf0,56830014 -3490cf4,9603001c -3490cf8,3c038040 -3490cfc,90630024 -3490d00,54750010 -3490d04,9603001c -3490d08,3c038040 -3490d0c,90631d6b -3490d10,14600006 -3490d14,3c03801c -3490d18,3c038043 -3490d1c,8c6385e8 -3490d20,50600008 -3490d24,9603001c -3490d28,3c03801c -3490d2c,346384a0 -3490d30,946400a4 -3490d34,24030010 -3490d38,54830001 -3490d3c,2402007c -3490d40,9603001c -3490d44,3063f01f -3490d48,22140 -3490d4c,641825 -3490d50,a603001c -3490d54,6230028 -3490d58,a2620424 -3490d5c,21023 -3490d60,21600 -3490d64,21603 -3490d68,10000023 -3490d6c,a2620424 -3490d70,c104123 -3490d78,1000001f -3490d7c,a2710424 -3490d80,328700ff -3490d84,3c02801c -3490d88,344284a0 -3490d8c,904600a5 -3490d90,2002825 -3490d94,c1040bf -3490d98,27a40010 -3490d9c,97b40018 -3490da0,8fa20010 -3490da4,1440ffc6 -3490da8,93b5001a -3490dac,1000fff0 -3490db4,c104123 -3490dbc,1000ffb2 -3490dc0,a2710424 -3490dc4,328700ff -3490dc8,3c02801c -3490dcc,344284a0 -3490dd0,904600a5 -3490dd4,2002825 -3490dd8,c1040bf -3490ddc,27a40010 -3490de0,97b40018 -3490de4,8fa20010 -3490de8,1440ffb5 -3490dec,93b5001a -3490df0,1000fff0 -3490df8,8fbf003c -3490dfc,8fb60038 -3490e00,8fb50034 -3490e04,8fb40030 -3490e08,8fb3002c -3490e0c,8fb20028 -3490e10,8fb10024 -3490e14,8fb00020 -3490e18,3e00008 -3490e1c,27bd0040 -3490e20,3c028042 -3490e24,3e00008 -3490e28,ac407ea0 -3490e2c,3c028043 -3490e30,904a81fc -3490e34,11400037 -3490e38,24070001 -3490e3c,244b81fc -3490e40,24e20002 -3490e44,3042ffff -3490e48,24e30001 -3490e4c,3063ffff -3490e50,6b1821 -3490e54,eb4021 -3490e58,91080000 -3490e5c,15040021 -3490e60,90630000 -3490e64,10600024 -3490e68,2463ffff -3490e6c,306300ff -3490e70,34040 -3490e74,1031821 -3490e78,24e70005 -3490e7c,671821 -3490e80,3067ffff -3490e84,4b1821 -3490e88,90630000 -3490e8c,404825 -3490e90,24420003 -3490e94,3068003f -3490e98,1505000e -3490e9c,3042ffff -3490ea0,31982 -3490ea4,1466000b -3490ea8,3c038043 -3490eac,25220001 -3490eb0,3042ffff -3490eb4,246381fc -3490eb8,431021 -3490ebc,90430000 -3490ec0,31a00 -3490ec4,90420001 -3490ec8,621021 -3490ecc,3e00008 -3490ed0,3042ffff -3490ed4,1447ffec -3490ed8,4b1821 -3490edc,10000008 -3490ee0,254affff -3490ee4,33840 -3490ee8,671821 -3490eec,431821 -3490ef0,10000002 -3490ef4,3067ffff -3490ef8,403825 -3490efc,254affff -3490f00,314a00ff -3490f04,5540ffcf -3490f08,24e20002 -3490f0c,3e00008 -3490f10,3402ffff -3490f14,3e00008 -3490f18,3402ffff -3490f1c,27bdffe0 -3490f20,afbf001c -3490f24,afb10018 -3490f28,afb00014 -3490f2c,9483001c -3490f30,2462fffa -3490f34,3042ffff -3490f38,2c420002 -3490f3c,54400005 -3490f40,94850140 -3490f44,24020011 -3490f48,54620009 -3490f4c,8c84019c -3490f50,94850140 -3490f54,3c04801c -3490f58,3c028002 -3490f5c,244206e8 -3490f60,40f809 -3490f64,348484a0 -3490f68,1000001a -3490f6c,2102a -3490f70,10800018 -3490f74,24020001 -3490f78,309100ff -3490f7c,12200015 -3490f80,3090ffff -3490f84,102a03 -3490f88,103382 -3490f8c,30a5003f -3490f90,c10438b -3490f94,42602 -3490f98,401825 -3490f9c,3404ffff -3490fa0,1064000c -3490fa4,24020001 -3490fa8,1188c2 -3490fac,3c028042 -3490fb0,8c427f24 -3490fb4,431021 -3490fb8,511021 -3490fbc,90420000 -3490fc0,32100007 -3490fc4,24030001 -3490fc8,2031804 -3490fcc,431024 -3490fd0,2102b -3490fd4,8fbf001c -3490fd8,8fb10018 -3490fdc,8fb00014 -3490fe0,3e00008 -3490fe4,27bd0020 -3490fe8,8c84019c -3490fec,1080001f -3490ff4,27bdffe0 -3490ff8,afbf001c -3490ffc,afb10018 -3491000,afb00014 -3491004,309000ff -3491008,12000013 -349100c,3091ffff -3491010,112a03 -3491014,113382 -3491018,30a5003f -349101c,c10438b -3491020,42602 -3491024,3403ffff -3491028,1043000b -349102c,1080c2 -3491030,2028021 -3491034,3c028042 -3491038,8c437f24 -349103c,701821 -3491040,32310007 -3491044,24020001 -3491048,2221004 -349104c,90640000 -3491050,441025 -3491054,a0620000 -3491058,8fbf001c -349105c,8fb10018 -3491060,8fb00014 -3491064,3e00008 -3491068,27bd0020 -349106c,3e00008 -3491074,27bdffe8 -3491078,afbf0014 -349107c,afb00010 -3491080,8c82019c -3491084,10400005 -3491088,808025 -349108c,c1043c7 -3491094,1040000d -3491098,8fbf0014 -349109c,240200dc -34910a0,a602014a -34910a4,9602001c -34910a8,24030011 -34910ac,10430006 -34910b0,2442fffa -34910b4,3042ffff -34910b8,2c420002 -34910bc,14400002 -34910c0,2402ffff -34910c4,a2020003 -34910c8,8fbf0014 -34910cc,8fb00010 -34910d0,3e00008 -34910d4,27bd0018 -34910d8,84830000 -34910dc,24020015 -34910e0,14620007 -34910e8,908201ad -34910ec,10400004 -34910f4,8c82019c -34910f8,1440000a -3491100,27bdffe8 -3491104,afbf0014 -3491108,3c028002 -349110c,24420eb4 -3491110,40f809 -3491118,8fbf0014 -349111c,3e00008 -3491120,27bd0018 -3491124,3e00008 -349112c,27bdffd0 -3491130,afbf002c -3491134,97a20056 -3491138,afa20024 -349113c,97a20052 -3491140,afa20020 -3491144,3c028043 -3491148,94428614 -349114c,afa2001c -3491150,97a2004a -3491154,afa20018 -3491158,c7a00044 -349115c,e7a00014 -3491160,c7a00040 -3491164,3c028002 -3491168,24425110 -349116c,40f809 -3491170,e7a00010 -3491174,8fbf002c -3491178,3e00008 -349117c,27bd0030 -3491180,27bdfe28 -3491184,afbf01d4 -3491188,afb001d0 -349118c,a08001ac -3491190,a08001ad -3491194,3c028043 -3491198,94428614 -349119c,10400004 -34911a0,808025 -34911a4,24030001 -34911a8,10000009 -34911ac,a08301ad -34911b0,3c028040 -34911b4,94426960 -34911b8,10400006 -34911bc,24030015 -34911c0,80830003 -34911c4,31a00 -34911c8,431025 -34911cc,3042ffff -34911d0,24030015 -34911d4,a7a30010 -34911d8,a7a20026 -34911dc,a7a0002c -34911e0,3825 -34911e4,3c02801c -34911e8,344284a0 -34911ec,904600a5 -34911f0,27a50010 -34911f4,c1040bf -34911f8,27a401c0 -34911fc,8fa201c0 -3491200,ae02019c -3491204,8fa201c4 -3491208,ae0201a0 -349120c,8fa201c8 -3491210,ae0201a4 -3491214,8fa201cc -3491218,ae0201a8 -349121c,c1043c7 -3491220,2002025 -3491224,50400006 -3491228,8e02019c -349122c,ae00019c -3491230,ae0001a0 -3491234,ae0001a4 -3491238,ae0001a8 -349123c,8e02019c -3491240,1440000e -3491244,3c04801c -3491248,96050140 -349124c,3c028002 -3491250,244206e8 -3491254,40f809 -3491258,348484a0 -349125c,10400009 -3491260,8fbf01d4 -3491264,3c028002 -3491268,24420eb4 -349126c,40f809 -3491270,2002025 -3491274,10000002 -3491278,24020001 -349127c,1025 -3491280,8fbf01d4 -3491284,8fb001d0 -3491288,3e00008 -349128c,27bd01d8 -3491290,27bdffe8 -3491294,afbf0014 -3491298,afb00010 -349129c,808025 -34912a0,3c038011 -34912a4,3463a5d0 -34912a8,8062008e -34912ac,28440010 -34912b0,14800010 -34912b4,80630094 -34912b8,28640010 -34912bc,1480000e -34912c0,62102a -34912c4,3c02800c -34912c8,3442dccc -34912cc,40f809 -34912d4,3c028042 -34912d8,c442fed8 -34912dc,4602003c -34912e4,45020006 -34912e8,24100005 -34912ec,10000005 -34912f0,2001025 -34912f4,62102a -34912f8,54400001 -34912fc,24100005 -3491300,2001025 -3491304,8fbf0014 -3491308,8fb00010 -349130c,3e00008 -3491310,27bd0018 -3491314,27bdfe20 -3491318,afbf01dc -349131c,afb101d8 -3491320,afb001d4 -3491324,808025 -3491328,24020015 -349132c,a7a20010 -3491330,3c028043 -3491334,94428614 -3491338,a7a20026 -349133c,3091ffff -3491340,a7b1002c -3491344,3825 -3491348,3c02801c -349134c,344284a0 -3491350,904600a5 -3491354,27a50010 -3491358,c1040bf -349135c,27a401c0 -3491360,8fa201c0 -3491364,afa201ac -3491368,8fa301c4 -349136c,afa301b0 -3491370,8fa301c8 -3491374,afa301b4 -3491378,8fa301cc -349137c,1040000d -3491380,afa301b8 -3491384,c1043c7 -3491388,27a40010 -349138c,1440000a -3491390,3c028011 -3491394,2e220019 -3491398,10400079 -349139c,3c0301e2 -34913a0,246300c0 -34913a4,2231806 -34913a8,30630001 -34913ac,10600086 -34913b0,1025 -34913b4,3c028011 -34913b8,3442a5d0 -34913bc,8c420004 -34913c0,14400009 -34913c4,2622fff8 -34913c8,24020010 -34913cc,1202007c -34913d0,24020008 -34913d4,2402000d -34913d8,56020008 -34913dc,3c028040 -34913e0,10000073 -34913e4,1025 -34913e8,3042ffff -34913ec,2c420003 -34913f0,14400073 -34913f4,24020010 -34913f8,3c028040 -34913fc,8c421d5c -3491400,1040001f -3491404,2e22001a -3491408,1040006b -349140c,3203ffff -3491410,3c030200 -3491414,24630810 -3491418,2231806 -349141c,30630001 -3491420,10600067 -3491424,2001025 -3491428,3c028011 -349142c,3442a5d0 -3491430,90430076 -3491434,240200ff -3491438,1062000a -349143c,240300ff -3491440,3c028011 -3491444,3442a5d0 -3491448,9044007c -349144c,1083005e -3491450,2001025 -3491454,c1044a4 -3491458,2002025 -349145c,1000005b -3491460,8fbf01dc -3491464,3c028011 -3491468,3442a5d0 -349146c,9044007c -3491470,14830055 -3491474,24020005 -3491478,10000053 -349147c,2402ffff -3491480,3203ffff -3491484,2c62001a -3491488,1040000f -349148c,2001025 -3491490,3c040200 -3491494,24840810 -3491498,642006 -349149c,30840001 -34914a0,1080000a -34914a4,2464fff8 -34914a8,3c048011 -34914ac,3484a5d0 -34914b0,90850076 -34914b4,240400ff -34914b8,14a40004 -34914bc,2464fff8 -34914c0,10000031 -34914c4,2402ffff -34914c8,2464fff8 -34914cc,3084ffff -34914d0,2c840003 -34914d4,10800009 -34914d8,2463fff2 -34914dc,3c038011 -34914e0,3463a5d0 -34914e4,90640077 -34914e8,240300ff -34914ec,54830037 -34914f0,8fbf01dc -34914f4,10000026 -34914f8,2402ffff -34914fc,3063ffff -3491500,2c630002 -3491504,10600008 -3491508,24030010 -349150c,3c038011 -3491510,3463a5d0 -3491514,90630032 -3491518,5460002c -349151c,8fbf01dc -3491520,1000001d -3491524,2402ffff -3491528,14430008 -349152c,3c038011 -3491530,3463a5d0 -3491534,9064007a -3491538,240300ff -349153c,54830023 -3491540,8fbf01dc -3491544,10000016 -3491548,2402ffff -349154c,24030003 -3491550,1443001d -3491554,3c038011 -3491558,3463a5d0 -349155c,8464002e -3491560,84630030 -3491564,10830010 -3491568,3c038040 -349156c,90631d6a -3491570,2c630001 -3491574,31823 -3491578,10000013 -349157c,431024 -3491580,10000011 -3491584,1025 -3491588,10000010 -349158c,8fbf01dc -3491590,1000000e -3491594,8fbf01dc -3491598,1000000c -349159c,8fbf01dc -34915a0,1000000a -34915a4,8fbf01dc -34915a8,10000007 -34915ac,1025 -34915b0,1000ffb7 -34915b4,3043ffff -34915b8,1000ffc3 -34915bc,2001025 -34915c0,1000ffb3 -34915c4,3043ffff -34915c8,8fbf01dc -34915cc,8fb101d8 -34915d0,8fb001d4 -34915d4,3e00008 -34915d8,27bd01e0 -34915dc,27bdffe8 -34915e0,afbf0014 -34915e4,afb00010 -34915e8,240200ca -34915ec,1482000d -34915f0,e08025 -34915f4,c104138 -34915f8,c02025 -34915fc,c105ee7 -3491600,2002025 -3491604,92050001 -3491608,3c04801c -349160c,3c028006 -3491610,3442fdcc -3491614,40f809 -3491618,348484a0 -349161c,10000017 -3491620,8fbf0014 -3491624,3c028040 -3491628,90420024 -349162c,10450005 -3491630,3c028040 -3491634,c104138 -3491638,c02025 -349163c,1000000f -3491640,8fbf0014 -3491644,9042002a -3491648,10400003 -3491650,c104138 -3491654,c02025 -3491658,c105ee7 -349165c,2002025 -3491660,92050001 -3491664,3c04801c -3491668,3c028006 -349166c,3442fdcc -3491670,40f809 -3491674,348484a0 -3491678,8fbf0014 -349167c,8fb00010 -3491680,3e00008 -3491684,27bd0018 -3491688,27bdffc0 -349168c,afbf003c -3491690,afb30038 -3491694,afb20034 -3491698,afb10030 -349169c,afb0002c -34916a0,808825 -34916a4,c08025 -34916a8,8cc2019c -34916ac,8cc601a0 -34916b0,8e0501a4 -34916b4,8e0301a8 -34916b8,afa20018 -34916bc,afa6001c -34916c0,afa50020 -34916c4,10400005 -34916c8,afa30024 -34916cc,c1043c7 -34916d0,2002025 -34916d4,5040000c -34916d8,3c028042 -34916dc,3c028042 -34916e0,24423df4 -34916e4,2222021 -34916e8,90850000 -34916ec,3c04801c -34916f0,3c028006 -34916f4,3442fdcc -34916f8,40f809 -34916fc,348484a0 -3491700,10000081 -3491704,1025 -3491708,8c437ea0 -349170c,1460007e -3491710,24020002 -3491714,8e020130 -3491718,1040007a -349171c,3c028042 -3491720,ac507ea0 -3491724,3c118042 -3491728,8fa40018 -349172c,8fa5001c -3491730,8fa60020 -3491734,8fa70024 -3491738,ae247e90 -349173c,26317e90 -3491740,ae250004 -3491744,ae260008 -3491748,c105ed3 -349174c,ae27000c -3491750,409825 -3491754,c105eb8 -3491758,402025 -349175c,409025 -3491760,c1043fa -3491764,2002025 -3491768,9231000a -349176c,3c038040 -3491770,a0710025 -3491774,82430014 -3491778,460003d -349177c,2403825 -3491780,3c028042 -3491784,ac407ea0 -3491788,24020001 -349178c,a2020116 -3491790,3c068042 -3491794,24c67e90 -3491798,2202825 -349179c,c104577 -34917a0,2602025 -34917a4,3c028040 -34917a8,94440c92 -34917ac,82420014 -34917b0,28430003 -34917b4,54600008 -34917b8,24044803 -34917bc,2442ffed -34917c0,304200ff -34917c4,2c420002 -34917c8,54400003 -34917cc,24044803 -34917d0,10000002 -34917d4,3c028040 -34917d8,3c028040 -34917dc,90420024 -34917e0,10510018 -34917e4,24060004 -34917e8,2402000f -34917ec,a602014a -34917f0,24020023 -34917f4,a6020144 -34917f8,a60000b8 -34917fc,ae000068 -3491800,ae000060 -3491804,ae00006c -3491808,3c028041 -349180c,2442d97c -3491810,ae02013c -3491814,3c058010 -3491818,24a243a8 -349181c,afa20014 -3491820,24a743a0 -3491824,afa70010 -3491828,24a54394 -349182c,3c02800c -3491830,3442806c -3491834,40f809 -3491838,2404483b -349183c,10000032 -3491840,24020001 -3491844,3c058010 -3491848,24a243a8 -349184c,afa20014 -3491850,24a743a0 -3491854,afa70010 -3491858,3c02800c -349185c,3442806c -3491860,40f809 -3491864,24a54394 -3491868,10000027 -349186c,24020003 -3491870,3c02800c -3491874,244269a0 -3491878,40f809 -349187c,24040039 -3491880,3c028040 -3491884,90450024 -3491888,b12826 -349188c,5282b -3491890,c105ec7 -3491894,2402025 -3491898,3025 -349189c,402825 -34918a0,3c04801c -34918a4,3c02800d -34918a8,3442ce14 -34918ac,40f809 -34918b0,348484a0 -34918b4,2402000f -34918b8,a602014a -34918bc,24020023 -34918c0,a6020144 -34918c4,a6000142 -34918c8,3c02801d -34918cc,3442aa30 -34918d0,2403000a -34918d4,a4430110 -34918d8,3c028041 -34918dc,2442ff48 -34918e0,ae02013c -34918e4,2403825 -34918e8,3c068042 -34918ec,24c67e90 -34918f0,2202825 -34918f4,c104577 -34918f8,2602025 -34918fc,10000002 -3491900,24020001 -3491904,24020002 -3491908,8fbf003c -349190c,8fb30038 -3491910,8fb20034 -3491914,8fb10030 -3491918,8fb0002c -349191c,3e00008 -3491920,27bd0040 -3491924,27bdffc8 -3491928,afbf0034 -349192c,afb30030 -3491930,afb2002c -3491934,afb10028 -3491938,afb00024 -349193c,809025 -3491940,3825 -3491944,3025 -3491948,802825 -349194c,c1040bf -3491950,27a40010 -3491954,8fa20010 -3491958,54400003 -349195c,93b3001a -3491960,3c028040 -3491964,90530024 -3491968,8fa40010 -349196c,8fa50014 -3491970,8fa60018 -3491974,c105ed3 -3491978,8fa7001c -349197c,408025 -3491980,c105eb8 -3491984,402025 -3491988,408825 -349198c,ae400134 -3491990,3c028040 -3491994,a0530025 -3491998,3c028040 -349199c,90450024 -34919a0,b32826 -34919a4,5282b -34919a8,c105ec7 -34919ac,2202025 -34919b0,3025 -34919b4,402825 -34919b8,3c04801c -34919bc,3c02800d -34919c0,3442ce14 -34919c4,40f809 -34919c8,348484a0 -34919cc,2203825 -34919d0,27a60010 -34919d4,2602825 -34919d8,c104577 -34919dc,2002025 -34919e0,8fbf0034 -34919e4,8fb30030 -34919e8,8fb2002c -34919ec,8fb10028 -34919f0,8fb00024 -34919f4,3e00008 -34919f8,27bd0038 -34919fc,27bdffe8 -3491a00,afbf0014 -3491a04,afb00010 -3491a08,3c028011 -3491a0c,3442a5d0 -3491a10,94500eec -3491a14,32100002 -3491a18,1600000c -3491a1c,3c028040 -3491a20,90421d69 -3491a24,50400004 -3491a28,3c028011 -3491a2c,c1041c5 -3491a30,24040002 -3491a34,3c028011 -3491a38,3442a5d0 -3491a3c,94430eec -3491a40,34630002 -3491a44,a4430eec -3491a48,3c028040 -3491a4c,90431d69 -3491a50,14600002 -3491a54,24020001 -3491a58,10102b -3491a5c,8fbf0014 -3491a60,8fb00010 -3491a64,3e00008 -3491a68,27bd0018 -3491a6c,27bdffd8 -3491a70,afbf0024 -3491a74,3c05ff05 -3491a78,34a50002 -3491a7c,c104019 -3491a80,27a40010 -3491a84,8fa40010 -3491a88,8fa50014 -3491a8c,8fa60018 -3491a90,c105ed3 -3491a94,8fa7001c -3491a98,402025 -3491a9c,2402000c -3491aa0,10820007 -3491aa4,2402003b -3491aa8,14820009 -3491aac,3c028011 -3491ab0,3442a5d0 -3491ab4,24030007 -3491ab8,10000005 -3491abc,a043007b -3491ac0,3c028011 -3491ac4,3442a5d0 -3491ac8,24030008 -3491acc,a043007b -3491ad0,c105eb8 -3491ad8,93a3001a -3491adc,3c048040 -3491ae0,a0830025 -3491ae4,3c048040 -3491ae8,90850024 -3491aec,a32826 -3491af0,5282b -3491af4,c105ec7 -3491af8,402025 -3491afc,3025 -3491b00,402825 -3491b04,3c04801c -3491b08,3c02800d -3491b0c,3442ce14 -3491b10,40f809 -3491b14,348484a0 -3491b18,8fbf0024 -3491b1c,3e00008 -3491b20,27bd0028 -3491b24,9082000b -3491b28,1440000d -3491b2c,94830004 -3491b30,94820006 -3491b34,620018 -3491b38,9082000c -3491b3c,1812 -3491b48,620018 -3491b4c,1812 -3491b50,317c2 -3491b54,431021 -3491b58,3e00008 -3491b5c,21043 -3491b60,94820006 -3491b64,620018 -3491b68,9082000c -3491b6c,1812 -3491b78,620018 -3491b7c,1012 -3491b80,3e00008 -3491b88,27bdffe8 -3491b8c,afbf0014 -3491b90,afb00010 -3491b94,c1046c9 -3491b98,808025 -3491b9c,96030008 -3491ba0,620018 -3491ba4,1012 -3491ba8,8fbf0014 -3491bac,8fb00010 -3491bb0,3e00008 -3491bb4,27bd0018 -3491bb8,27bdff98 -3491bbc,afbf0064 -3491bc0,afb60060 -3491bc4,afb5005c -3491bc8,afb40058 -3491bcc,afb30054 -3491bd0,afb20050 -3491bd4,afb1004c -3491bd8,afb00048 -3491bdc,808025 -3491be0,a09025 -3491be4,c0b025 -3491be8,94a20006 -3491bec,470018 -3491bf0,9812 -3491bf4,90b5000b -3491bf8,16a0004a -3491bfc,94b10004 -3491c00,90b5000a -3491c04,15ad40 -3491c08,3c0200e0 -3491c0c,2a2a824 -3491c10,11a042 -3491c14,2682ffff -3491c18,30420fff -3491c1c,551025 -3491c20,3c03fd08 -3491c24,431025 -3491c28,afa20010 -3491c2c,c1046c9 -3491c30,a02025 -3491c34,560018 -3491c38,8e420000 -3491c3c,1812 -3491c40,431021 -3491c44,afa20014 -3491c48,26820007 -3491c4c,21180 -3491c50,3c030003 -3491c54,3463fe00 -3491c58,431024 -3491c5c,551025 -3491c60,3c03f508 -3491c64,431825 -3491c68,afa30018 -3491c6c,3c050700 -3491c70,afa5001c -3491c74,3c03e600 -3491c78,afa30020 -3491c7c,afa00024 -3491c80,3c03f400 -3491c84,afa30028 -3491c88,2631ffff -3491c8c,118880 -3491c90,3231ffff -3491c94,2673ffff -3491c98,139880 -3491c9c,32730ffc -3491ca0,111ac0 -3491ca4,3c0400ff -3491ca8,3484f000 -3491cac,641824 -3491cb0,731825 -3491cb4,651825 -3491cb8,afa3002c -3491cbc,3c03e700 -3491cc0,afa30030 -3491cc4,afa00034 -3491cc8,3c03f500 -3491ccc,431025 -3491cd0,afa20038 -3491cd4,afa0003c -3491cd8,3c02f200 -3491cdc,afa20040 -3491ce0,118b00 -3491ce4,2248824 -3491ce8,2338825 -3491cec,afb10044 -3491cf0,27a20010 -3491cf4,27a60048 +3490af4,a462d7c6 +3490af8,52c02 +3490afc,30a5007c +3490b00,26030086 +3490b04,2606008a +3490b08,2407001b +3490b0c,90640000 +3490b10,2482ffec +3490b14,304200ff +3490b18,2c42000d +3490b1c,50400004 +3490b20,24630001 +3490b24,54870001 +3490b28,34a50001 +3490b2c,24630001 +3490b30,54c3fff7 +3490b34,90640000 +3490b38,3c118043 +3490b3c,2631d7c0 +3490b40,a2250005 +3490b44,3c058043 +3490b48,24a5d7c8 +3490b4c,c1041e0 +3490b50,2002025 +3490b54,8e0200a0 +3490b58,21302 +3490b5c,30420003 +3490b60,a2220016 +3490b64,86050034 +3490b68,3c048043 +3490b6c,c10418d +3490b70,2484d7db +3490b74,8e1100a4 +3490b78,3c020080 +3490b7c,2221024 +3490b80,10400002 +3490b84,2825 +3490b88,860500d0 +3490b8c,3c048043 +3490b90,c10418d +3490b94,2484d7de +3490b98,3c028040 +3490b9c,94421e68 +3490ba0,14400046 +3490ba4,861308c6 +3490ba8,1000003d +3490bac,2405ffff +3490bb0,3c048043 +3490bb4,c10418d +3490bb8,2484d7e4 +3490bbc,272902a +3490bc0,3a520001 +3490bc4,3c028043 +3490bc8,ac52d7f4 +3490bcc,3c128043 +3490bd0,2652d7c0 +3490bd4,9202003d +3490bd8,a2420017 +3490bdc,8602002e +3490be0,22fc3 +3490be4,30a5000f +3490be8,a22821 +3490bec,52903 +3490bf0,3c048043 +3490bf4,c10418d +3490bf8,2484d7d8 +3490bfc,86050022 +3490c00,3c048043 +3490c04,c10418d +3490c08,2484d7e7 +3490c0c,118982 +3490c10,32310fff +3490c14,a651002a +3490c18,8e0209a4 +3490c1c,30440004 +3490c20,14800004 +3490c24,30430001 +3490c28,3c048043 +3490c2c,10000004 +3490c30,a483d7ec +3490c34,34630002 +3490c38,3c048043 +3490c3c,a483d7ec +3490c40,30430010 +3490c44,10600007 +3490c48,30430008 +3490c4c,3c038043 +3490c50,2463d7c0 +3490c54,9464002c +3490c58,34840004 +3490c5c,a464002c +3490c60,30430008 +3490c64,10600006 +3490c68,30420002 +3490c6c,3c038043 +3490c70,2463d7c0 +3490c74,9464002c +3490c78,34840008 +3490c7c,a464002c +3490c80,10400017 +3490c84,8fbf0024 +3490c88,3c028043 +3490c8c,2442d7c0 +3490c90,9443002c +3490c94,34630010 +3490c98,10000010 +3490c9c,a443002c +3490ca0,3c048043 +3490ca4,c10418d +3490ca8,2484d7e1 +3490cac,3c028040 +3490cb0,84521e6a +3490cb4,1000ffbe +3490cb8,2405ffff +3490cbc,2602825 +3490cc0,3c048043 +3490cc4,c10418d +3490cc8,2484d7e1 +3490ccc,3c028040 +3490cd0,84451e6a +3490cd4,1000ffb6 +3490cd8,a09025 +3490cdc,8fbf0024 +3490ce0,8fb30020 +3490ce4,8fb2001c +3490ce8,8fb10018 +3490cec,8fb00014 +3490cf0,3e00008 +3490cf4,27bd0028 +3490cf8,27bdff80 +3490cfc,afbf007c +3490d00,afbe0078 +3490d04,afb70074 +3490d08,afb60070 +3490d0c,afb5006c +3490d10,afb40068 +3490d14,afb30064 +3490d18,afb20060 +3490d1c,afb1005c +3490d20,afb00058 +3490d24,3c020002 +3490d28,a21021 +3490d2c,9443ca42 +3490d30,24020008 +3490d34,1462001f +3490d38,808025 +3490d3c,3c020002 +3490d40,a21021 +3490d44,9442ca36 +3490d48,14400006 +3490d4c,3c020002 +3490d50,a21021 +3490d54,9444ca2e +3490d58,24020002 +3490d5c,10820009 +3490d60,3c020002 +3490d64,a21021 +3490d68,9442ca30 +3490d6c,24040005 +3490d70,50440005 +3490d74,3c020002 +3490d78,24040016 +3490d7c,1444000e +3490d80,3c020002 +3490d84,3c020002 +3490d88,a21021 +3490d8c,9443ca38 +3490d90,31280 +3490d94,431023 +3490d98,210c0 +3490d9c,24420020 +3490da0,8ca401d8 +3490da4,c10426b +3490da8,822021 +3490dac,10000380 +3490db0,8fbf007c +3490db4,3c020002 +3490db8,a21021 +3490dbc,9042ca37 +3490dc0,1440001c +3490dc4,2c44009a +3490dc8,3c020002 +3490dcc,a22821 +3490dd0,90a2ca31 +3490dd4,34420080 +3490dd8,2c44009a +3490ddc,10800373 +3490de0,2c440086 +3490de4,14800371 +3490de8,2442007a +3490dec,24040001 +3490df0,441004 +3490df4,3c040008 +3490df8,24840014 +3490dfc,442024 +3490e00,1480003c +3490e04,3c040002 +3490e08,24840081 +3490e0c,442024 +3490e10,54800030 +3490e14,24020008 +3490e18,3c030004 +3490e1c,24630002 +3490e20,431024 +3490e24,10400362 +3490e28,8fbf007c +3490e2c,1000003c +3490e30,240200c8 +3490e34,1080035d +3490e38,2c440086 +3490e3c,5080000e +3490e40,2442007a +3490e44,24040004 +3490e48,1044002a +3490e4c,2c440005 +3490e50,5080001b +3490e54,24030006 +3490e58,24040002 +3490e5c,1044001c +3490e60,240400c8 +3490e64,24030003 +3490e68,10430032 +3490e6c,afa40030 +3490e70,1000034f +3490e74,8fbf007c +3490e78,24040001 +3490e7c,441004 +3490e80,3c040008 +3490e84,24840014 +3490e88,442024 +3490e8c,14800019 +3490e90,3c040002 +3490e94,24840081 +3490e98,442024 +3490e9c,5480000d +3490ea0,24020008 +3490ea4,3c030004 +3490ea8,24630002 +3490eac,431024 +3490eb0,1040033f +3490eb4,8fbf007c +3490eb8,1000001b +3490ebc,240200c8 +3490ec0,1043001b +3490ec4,240200c8 +3490ec8,10000339 +3490ecc,8fbf007c +3490ed0,24020008 +3490ed4,431023 +3490ed8,21840 +3490edc,431821 +3490ee0,318c0 +3490ee4,431021 +3490ee8,304200ff +3490eec,10000007 +3490ef0,afa20030 +3490ef4,31040 +3490ef8,621021 +3490efc,210c0 +3490f00,621821 +3490f04,306200ff +3490f08,afa20030 +3490f0c,8fa20030 +3490f10,10400327 +3490f14,8fbf007c +3490f18,10000007 +3490f1c,8e020008 +3490f20,10000004 +3490f24,afa20030 +3490f28,10000002 +3490f2c,afa20030 +3490f30,afa20030 +3490f34,8e020008 +3490f38,24430008 +3490f3c,ae030008 +3490f40,3c03e700 +3490f44,ac430000 +3490f48,ac400004 +3490f4c,8e020008 +3490f50,24430008 +3490f54,ae030008 +3490f58,3c03fc11 +3490f5c,34639623 +3490f60,ac430000 +3490f64,3c03ff2f +3490f68,3463ffff +3490f6c,ac430004 +3490f70,8fa50030 +3490f74,c104184 +3490f78,24040090 +3490f7c,afa20044 +3490f80,afa20048 +3490f84,a025 +3490f88,24030040 +3490f8c,3c028040 +3490f90,afa20034 +3490f94,3c168043 +3490f98,26d69420 +3490f9c,3c028043 +3490fa0,afa20038 +3490fa4,3c028043 +3490fa8,2442d7c0 +3490fac,afa2004c +3490fb0,26d70180 +3490fb4,3c158042 +3490fb8,26b54428 +3490fbc,8e040008 +3490fc0,24820008 +3490fc4,ae020008 +3490fc8,3c02fa00 +3490fcc,ac820000 +3490fd0,31600 +3490fd4,32c00 +3490fd8,451025 +3490fdc,8fa50048 +3490fe0,451025 +3490fe4,31a00 +3490fe8,431025 +3490fec,ac820004 +3490ff0,8fa20034 +3490ff4,94421e68 +3490ff8,1040001b +3490ffc,8fa20038 +3491000,2404001a +3491004,a2c400ca +3491008,24030025 +349100c,a2c300cb +3491010,24020029 +3491014,a2c200ce +3491018,a2c400cf +349101c,24040038 +3491020,a2c400d2 +3491024,a2c300d3 +3491028,2404001b +349102c,a2c400e2 +3491030,a2c000e3 +3491034,a2c200e6 +3491038,a2c000e7 +349103c,24030037 +3491040,a2c300ea +3491044,a2c000eb +3491048,a2c200f2 +349104c,2402000c +3491050,a2c200f3 +3491054,a2c400ee +3491058,a2c200ef +349105c,a2c300f6 +3491060,a2c200f7 +3491064,8fa20038 +3491068,245394a0 +349106c,8fbe004c +3491070,2671ff80 +3491074,8fd20000 +3491078,92220000 +349107c,3042001f +3491080,50400012 +3491084,26310004 +3491088,32420001 +349108c,5454000f +3491090,26310004 +3491094,8e220000 +3491098,21f42 +349109c,31880 +34910a0,751821 +34910a4,21602 +34910a8,3042001f +34910ac,afa20010 +34910b0,96270002 +34910b4,73c00 +34910b8,92260001 +34910bc,8c650000 +34910c0,c1041c4 +34910c4,2002025 +34910c8,26310004 +34910cc,1633ffea +34910d0,129042 +34910d4,26730080 +34910d8,16f3ffe5 +34910dc,27de0004 +34910e0,8fa50030 +34910e4,c104184 +34910e8,240400ff +34910ec,afa20048 +34910f0,26940001 +34910f4,24020002 +34910f8,1682ffb0 +34910fc,240300ff +3491100,8fa50044 +3491104,9825 +3491108,24030040 +349110c,3c178042 +3491110,3c1e8043 +3491114,3c158042 +3491118,26b54428 +349111c,2416000c +3491120,3c148043 +3491124,10000002 +3491128,2694d7d6 +349112c,8fa50048 +3491130,8e040008 +3491134,24820008 +3491138,ae020008 +349113c,3c02fa00 +3491140,ac820000 +3491144,31600 +3491148,33400 +349114c,461025 +3491150,451025 +3491154,31a00 +3491158,431025 +349115c,ac820004 +3491160,26f24410 +3491164,27d1d7c8 +3491168,92220000 +349116c,5453000f +3491170,26310002 +3491174,92420000 +3491178,21080 +349117c,551021 +3491180,afb60010 +3491184,92430001 +3491188,31a00 +349118c,92470002 +3491190,e33825 +3491194,73c00 +3491198,92260001 +349119c,8c450000 +34911a0,c1041c4 +34911a4,2002025 +34911a8,26310002 +34911ac,1634ffee +34911b0,26520003 +34911b4,26730001 +34911b8,327300ff +34911bc,24020002 +34911c0,1662ffda +34911c4,240300ff +34911c8,3c028043 +34911cc,9042d7f0 +34911d0,10400012 +34911d4,3c028043 +34911d8,24070001 +34911dc,3025 +34911e0,3c118043 +34911e4,262595d0 +34911e8,c10533a +34911ec,2002025 +34911f0,24020006 +34911f4,afa20018 +34911f8,afa20014 +34911fc,24020089 +3491200,afa20010 +3491204,24070095 +3491208,3025 +349120c,262595d0 +3491210,c105584 +3491214,2002025 +3491218,3c028043 +349121c,9456d7ea +3491220,24070001 +3491224,3025 +3491228,3c058043 +349122c,24a59600 +3491230,c10533a +3491234,2002025 +3491238,afa00038 +349123c,afa00034 +3491240,afa00030 +3491244,b825 +3491248,3c118042 +349124c,263143d4 +3491250,8fa20048 +3491254,afa2003c +3491258,3c028043 +349125c,24429600 +3491260,afa20040 +3491264,3c1e8042 +3491268,10000005 +349126c,27de4410 +3491270,afb50038 +3491274,afb40034 +3491278,afb30030 +349127c,240b825 +3491280,92320000 +3491284,92330001 +3491288,92340002 +349128c,32c20001 +3491290,1440000e +3491294,8fb5003c +3491298,24050040 +349129c,c104184 +34912a0,2402025 +34912a4,409025 +34912a8,24050040 +34912ac,c104184 +34912b0,2602025 +34912b4,409825 +34912b8,24050040 +34912bc,c104184 +34912c0,2802025 +34912c4,40a025 +34912c8,8fb50044 +34912cc,16570007 +34912d0,8fa20030 +34912d4,16620005 +34912d8,8fa20034 +34912dc,16820003 +34912e0,8fa20038 +34912e4,52a2000e +34912e8,92270003 +34912ec,8e030008 +34912f0,24620008 +34912f4,ae020008 +34912f8,3c02fa00 +34912fc,ac620000 +3491300,121600 +3491304,132400 +3491308,441025 +349130c,551025 +3491310,142200 +3491314,441025 +3491318,ac620004 +349131c,92270003 +3491320,2402000a +3491324,afa20018 +3491328,24020006 +349132c,afa20014 +3491330,82220004 +3491334,2442005c +3491338,afa20010 +349133c,24e70037 +3491340,3025 +3491344,8fa50040 +3491348,c105584 +349134c,2002025 +3491350,26310005 +3491354,163effc6 +3491358,16b042 +349135c,3c028040 +3491360,90421de6 +3491364,50400054 +3491368,3c118043 +349136c,3c028043 +3491370,9456d7ec +3491374,24070005 +3491378,3025 +349137c,3c058043 +3491380,24a595a0 +3491384,c10533a +3491388,2002025 +349138c,a825 +3491390,afa0003c +3491394,afa00038 +3491398,afa00034 +349139c,afa00030 +34913a0,3c118042 +34913a4,263143b8 +34913a8,8fa20048 +34913ac,afa20040 +34913b0,24170009 +34913b4,3c028043 +34913b8,244295a0 +34913bc,10000005 +34913c0,afa20050 +34913c4,afbe003c +34913c8,afb40038 +34913cc,afb30034 +34913d0,afb20030 +34913d4,92320000 +34913d8,92330001 +34913dc,92340002 +34913e0,32c20001 +34913e4,1440000e +34913e8,8fbe0040 +34913ec,24050040 +34913f0,c104184 +34913f4,2402025 +34913f8,409025 +34913fc,24050040 +3491400,c104184 +3491404,2602025 +3491408,409825 +349140c,24050040 +3491410,c104184 +3491414,2802025 +3491418,40a025 +349141c,8fbe0044 +3491420,8fa20030 +3491424,16420007 +3491428,8fa20034 +349142c,16620005 +3491430,8fa20038 +3491434,16820003 +3491438,8fa2003c +349143c,53c2000e +3491440,92270003 +3491444,8e030008 +3491448,24620008 +349144c,ae020008 +3491450,3c02fa00 +3491454,ac620000 +3491458,121600 +349145c,132400 +3491460,441025 +3491464,5e1025 +3491468,142200 +349146c,441025 +3491470,ac620004 +3491474,92270003 +3491478,afb70018 +349147c,afb70014 +3491480,82220004 +3491484,2442005c +3491488,afa20010 +349148c,24e70037 +3491490,2a03025 +3491494,8fa50050 +3491498,c105584 +349149c,2002025 +34914a0,16b042 +34914a4,26b50001 +34914a8,24020005 +34914ac,16a2ffc5 +34914b0,26310005 +34914b4,3c118043 +34914b8,2631d7c0 +34914bc,92220016 +34914c0,8fb30048 +34914c4,afb30044 +34914c8,21840 +34914cc,621821 +34914d0,3c028042 +34914d4,24424518 +34914d8,621821 +34914dc,90620000 +34914e0,21600 +34914e4,90640001 +34914e8,42400 +34914ec,441025 +34914f0,90630002 +34914f4,31a00 +34914f8,431025 +34914fc,531025 +3491500,8e030008 +3491504,24640008 +3491508,ae040008 +349150c,3c12fa00 +3491510,ac720000 +3491514,ac620004 +3491518,3c028043 +349151c,24429400 +3491520,24030010 +3491524,afa30010 +3491528,90430005 +349152c,31a00 +3491530,90470006 +3491534,e33825 +3491538,73c00 +349153c,24060001 +3491540,3c058043 +3491544,24a595f0 +3491548,c1041c4 +349154c,2002025 +3491550,2402ff00 +3491554,2621025 +3491558,402025 +349155c,afa20040 +3491560,8e020008 +3491564,24430008 +3491568,ae030008 +349156c,ac520000 +3491570,ac440004 +3491574,24070001 +3491578,2406000c +349157c,3c058043 +3491580,24a59640 +3491584,c10533a +3491588,2002025 +349158c,92220017 +3491590,14400012 +3491594,3c128043 +3491598,3c028043 +349159c,90479400 +34915a0,24030010 +34915a4,afa30018 +34915a8,afa30014 +34915ac,24429400 +34915b0,80420001 +34915b4,2442005c +34915b8,afa20010 +34915bc,24e70037 +34915c0,3025 +34915c4,3c058043 +34915c8,24a59640 +34915cc,c105584 +34915d0,2002025 +34915d4,1000001b +34915d8,3c028043 +34915dc,92479400 +34915e0,24110010 +34915e4,afb10018 +34915e8,afb10014 +34915ec,26549400 +34915f0,82820001 +34915f4,2442005c +34915f8,afa20010 +34915fc,24e70035 +3491600,3025 +3491604,3c138043 +3491608,26659640 +349160c,c105584 +3491610,2002025 +3491614,92479400 +3491618,afb10018 +349161c,afb10014 +3491620,82820001 +3491624,2442005c +3491628,afa20010 +349162c,24e70039 +3491630,3025 +3491634,26659640 +3491638,c105584 +349163c,2002025 +3491640,3c028043 +3491644,9042d7e9 +3491648,2c42000a +349164c,10400010 +3491650,24070001 +3491654,3c028043 +3491658,24429400 +349165c,2403000a +3491660,afa30010 +3491664,90430019 +3491668,31a00 +349166c,9047001a +3491670,e33825 +3491674,73c00 +3491678,24060001 +349167c,3c058043 +3491680,24a595c0 +3491684,c1041c4 +3491688,2002025 +349168c,24070001 +3491690,2406000b +3491694,3c118043 +3491698,26259640 +349169c,c10533a +34916a0,2002025 +34916a4,3c028043 +34916a8,24429400 +34916ac,9047000a +34916b0,24030010 +34916b4,afa30018 +34916b8,afa30014 +34916bc,8042000b +34916c0,2442005c +34916c4,afa20010 +34916c8,24e70037 +34916cc,3025 +34916d0,26259640 +34916d4,c105584 +34916d8,2002025 +34916dc,3c028040 +34916e0,94421e68 +34916e4,50400024 +34916e8,8e020008 +34916ec,3c028043 +34916f0,9042d7e3 +34916f4,2c42000a +34916f8,5040001f +34916fc,8e020008 +3491700,8e030008 +3491704,24620008 +3491708,ae020008 +349170c,3c02fa00 +3491710,ac620000 +3491714,3c02f4ec +3491718,24423000 +349171c,8fa40044 +3491720,821025 +3491724,ac620004 +3491728,3c038043 +349172c,9062d7bc +3491730,24440001 +3491734,a064d7bc +3491738,3c038043 +349173c,24639400 +3491740,21082 +3491744,24040010 +3491748,afa40010 +349174c,9064000f +3491750,42200 +3491754,90670010 +3491758,e43825 +349175c,73c00 +3491760,3046000f +3491764,3c058043 +3491768,24a59610 +349176c,c1041c4 +3491770,2002025 +3491774,8e020008 +3491778,24430008 +349177c,ae030008 +3491780,3c03fa00 +3491784,ac430000 +3491788,8fa30040 +349178c,ac430004 +3491790,2407000a +3491794,3025 +3491798,3c058043 +349179c,24a595d0 +34917a0,c10533a +34917a4,2002025 +34917a8,9825 +34917ac,3c1e8043 +34917b0,27de9400 +34917b4,3c028043 +34917b8,2442d7c0 +34917bc,afa20038 +34917c0,3c028043 +34917c4,afa20034 +34917c8,3c028040 +34917cc,afa2003c +34917d0,3c028042 +34917d4,244243a4 +34917d8,afa20048 +34917dc,24020003 +34917e0,16620087 +34917e4,8fa2003c +34917e8,94421e68 +34917ec,10400085 +34917f0,133080 +34917f4,afa00020 +34917f8,afa00024 +34917fc,afa00028 +3491800,afa0002c +3491804,27b10020 +3491808,27b2002c +349180c,2201825 +3491810,8fa5004c +3491814,24060001 +3491818,90a20021 +349181c,54460006 +3491820,2c42000a +3491824,8c620000 +3491828,2442ffff +349182c,ac620000 +3491830,10000003 +3491834,24020005 +3491838,21023 +349183c,30420006 +3491840,8c640000 +3491844,821021 +3491848,ac620004 +349184c,24630004 +3491850,1643fff1 +3491854,24a50001 +3491858,93c2000f +349185c,24420037 +3491860,83c30011 +3491864,431021 +3491868,8fa3002c +349186c,43b823 +3491870,83c20010 +3491874,2442005c +3491878,83c30012 +349187c,43a821 +3491880,3c028043 +3491884,8c42d7f4 +3491888,54400008 +349188c,8e030008 +3491890,2209825 +3491894,8fb4004c +3491898,24160008 +349189c,8fa20034 +34918a0,244295d0 +34918a4,1000000b +34918a8,afa20030 +34918ac,24620008 +34918b0,ae020008 +34918b4,3c02fa00 +34918b8,ac620000 +34918bc,3c02f4ec +34918c0,24423000 +34918c4,8fa40044 +34918c8,821025 +34918cc,1000fff0 +34918d0,ac620004 +34918d4,92860021 +34918d8,2cc2000a +34918dc,5040000a +34918e0,26730004 +34918e4,8e670000 +34918e8,afb60018 +34918ec,afb60014 +34918f0,afb50010 +34918f4,2e73821 +34918f8,8fa50030 +34918fc,c105584 +3491900,2002025 +3491904,26730004 +3491908,1672fff2 +349190c,26940001 +3491910,10000084 +3491914,8e020008 +3491918,90a20024 +349191c,54460006 +3491920,2c42000a +3491924,8c620000 +3491928,2442ffff +349192c,ac620000 +3491930,10000003 +3491934,24020005 +3491938,21023 +349193c,30420006 +3491940,8c640000 +3491944,821021 +3491948,ac620004 +349194c,24630004 +3491950,1472fff1 +3491954,24a50001 +3491958,93c20014 +349195c,24420037 +3491960,83c30016 +3491964,43a821 +3491968,83c20015 +349196c,2442005c +3491970,83c30017 +3491974,43b021 +3491978,8fb3004c +349197c,24140008 +3491980,8fa20034 +3491984,245795d0 +3491988,92660024 +349198c,2cc2000a +3491990,5040000a +3491994,26310004 +3491998,8e270000 +349199c,afb40018 +34919a0,afb40014 +34919a4,afb60010 +34919a8,2a73821 +34919ac,2e02825 +34919b0,c105584 +34919b4,2002025 +34919b8,26310004 +34919bc,1651fff2 +34919c0,26730001 +34919c4,2407000a +34919c8,3025 +34919cc,8fa20034 +34919d0,244595d0 +34919d4,c10533a +34919d8,2002025 +34919dc,8e020008 +34919e0,24430008 +34919e4,ae030008 +34919e8,3c03fa00 +34919ec,ac430000 +34919f0,8fa30040 +34919f4,ac430004 +34919f8,1000ff78 +34919fc,24130005 +3491a00,133080 +3491a04,d33021 +3491a08,3c63021 +3491a0c,afa00020 +3491a10,afa00024 +3491a14,afa00028 +3491a18,afa0002c +3491a1c,138840 +3491a20,2338821 +3491a24,26310018 +3491a28,8fa20038 +3491a2c,518821 +3491a30,27b20020 +3491a34,26340003 +3491a38,2401825 +3491a3c,2202025 +3491a40,24070001 +3491a44,90820000 +3491a48,54470006 +3491a4c,2c42000a +3491a50,8c620000 +3491a54,2442ffff +3491a58,ac620000 +3491a5c,10000003 +3491a60,24020005 +3491a64,21023 +3491a68,30420006 +3491a6c,8c650000 +3491a70,a21021 +3491a74,ac620004 +3491a78,24840001 +3491a7c,1494fff1 +3491a80,24630004 +3491a84,90d50000 +3491a88,26b50037 +3491a8c,80c20002 +3491a90,2a2a821 +3491a94,90c20004 +3491a98,10400006 +3491a9c,80d60001 +3491aa0,8fa3002c +3491aa4,317c2 +3491aa8,431021 +3491aac,21043 +3491ab0,2a2a823 +3491ab4,26d6005c +3491ab8,80c20003 +3491abc,2c2b021 +3491ac0,24170008 +3491ac4,8fa20034 +3491ac8,244295d0 +3491acc,afa20030 +3491ad0,92260000 +3491ad4,2cc2000a +3491ad8,5040000a +3491adc,26310001 +3491ae0,8e470000 +3491ae4,afb70018 +3491ae8,afb70014 +3491aec,afb60010 +3491af0,2a73821 +3491af4,8fa50030 +3491af8,c105584 +3491afc,2002025 +3491b00,26310001 +3491b04,1634fff2 +3491b08,26520004 +3491b0c,26730001 +3491b10,2a620006 +3491b14,1440ff32 +3491b18,24020003 +3491b1c,10000024 +3491b20,8fbf007c +3491b24,24430008 +3491b28,ae030008 +3491b2c,3c13fa00 +3491b30,ac530000 +3491b34,8fa30040 +3491b38,ac430004 +3491b3c,93c6000f +3491b40,24020008 +3491b44,afa20014 +3491b48,afa20010 +3491b4c,2a03825 +3491b50,24c6003b +3491b54,8fa50048 +3491b58,c108a2d +3491b5c,2002025 +3491b60,2407000a +3491b64,3025 +3491b68,8fa20034 +3491b6c,244595d0 +3491b70,c10533a +3491b74,2002025 +3491b78,8e030008 +3491b7c,24620008 +3491b80,ae020008 +3491b84,ac730000 +3491b88,3c02f4ec +3491b8c,24423000 +3491b90,8fa40044 +3491b94,821025 +3491b98,ac620004 +3491b9c,2201825 +3491ba0,8fa5004c +3491ba4,1000ff5c +3491ba8,24060001 +3491bac,8fbf007c +3491bb0,8fbe0078 +3491bb4,8fb70074 +3491bb8,8fb60070 +3491bbc,8fb5006c +3491bc0,8fb40068 +3491bc4,8fb30064 +3491bc8,8fb20060 +3491bcc,8fb1005c +3491bd0,8fb00058 +3491bd4,3e00008 +3491bd8,27bd0080 +3491bdc,27bdffe0 +3491be0,afbf001c +3491be4,afb00018 +3491be8,80a20000 +3491bec,1040000b +3491bf0,c08025 +3491bf4,24020009 +3491bf8,afa20014 +3491bfc,24020008 +3491c00,afa20010 +3491c04,8cc70000 +3491c08,c108a2d +3491c0c,24060080 +3491c10,8e020000 +3491c14,10000003 +3491c18,2442000a +3491c1c,8cc20000 +3491c20,24420005 +3491c24,ae020000 +3491c28,8fbf001c +3491c2c,8fb00018 +3491c30,3e00008 +3491c34,27bd0020 +3491c38,27bdffc8 +3491c3c,afbf0034 +3491c40,afb30030 +3491c44,afb2002c +3491c48,afb10028 +3491c4c,afb00024 +3491c50,808025 +3491c54,3c028040 +3491c58,804217a4 +3491c5c,14400091 +3491c60,a08825 +3491c64,3c028040 +3491c68,80421770 +3491c6c,54400073 +3491c70,8e020008 +3491c74,3c028040 +3491c78,9042170b +3491c7c,104000a3 +3491c80,8fbf0034 +3491c84,3c020002 +3491c88,2221021 +3491c8c,9442ca30 +3491c90,2442ffe0 +3491c94,304200ff +3491c98,2c420008 +3491c9c,1440009b +3491ca0,3c020002 +3491ca4,2221021 +3491ca8,8443ca52 +3491cac,2402ffff +3491cb0,14620097 +3491cb4,8fb30030 +3491cb8,3c020002 +3491cbc,2221021 +3491cc0,9442ca84 +3491cc4,21a00 +3491cc8,621823 +3491ccc,3c0251eb +3491cd0,3442851f +3491cd4,620018 +3491cd8,1010 +3491cdc,21183 +3491ce0,31fc3 +3491ce4,431023 +3491ce8,2c430100 +3491cec,10600005 +3491cf0,304200ff +3491cf4,54400005 3491cf8,8e030008 -3491cfc,24640008 -3491d00,ae040008 -3491d04,8c450004 -3491d08,8c440000 -3491d0c,ac650004 -3491d10,24420008 -3491d14,1446fff8 +3491cfc,10000085 +3491d00,8fb2002c +3491d04,240200ff +3491d08,8e030008 +3491d0c,24640008 +3491d10,ae040008 +3491d14,3c04fa00 3491d18,ac640000 -3491d1c,1000004f -3491d20,8fbf0064 -3491d24,90b4000a -3491d28,14a540 -3491d2c,3c0200e0 -3491d30,282a024 -3491d34,1514c0 -3491d38,3c030018 -3491d3c,431024 -3491d40,282a025 -3491d44,2622ffff -3491d48,30420fff -3491d4c,541025 -3491d50,3c03fd00 -3491d54,431025 -3491d58,afa20010 -3491d5c,c1046c9 -3491d60,a02025 -3491d64,560018 -3491d68,8e420000 -3491d6c,1812 -3491d70,431021 -3491d74,afa20014 -3491d78,2ea20002 -3491d7c,10400003 -3491d80,24030010 -3491d84,24030004 -3491d88,2a31804 -3491d8c,710018 -3491d90,1012 -3491d94,2442003f -3491d98,21fc3 -3491d9c,3063003f -3491da0,621821 -3491da4,318c0 -3491da8,3c020003 -3491dac,3442fe00 -3491db0,621824 -3491db4,741825 -3491db8,3c02f500 -3491dbc,621825 -3491dc0,afa30018 -3491dc4,3c040700 -3491dc8,afa4001c -3491dcc,3c02e600 -3491dd0,afa20020 -3491dd4,afa00024 -3491dd8,3c02f400 -3491ddc,afa20028 -3491de0,2622ffff -3491de4,21380 -3491de8,3c0500ff -3491dec,34a5f000 -3491df0,451024 -3491df4,2673ffff -3491df8,139880 -3491dfc,32730ffc -3491e00,531025 -3491e04,442025 -3491e08,afa4002c -3491e0c,3c04e700 -3491e10,afa40030 -3491e14,afa00034 -3491e18,afa30038 -3491e1c,afa0003c -3491e20,3c03f200 -3491e24,afa30040 -3491e28,afa20044 -3491e2c,27a20010 -3491e30,27a60048 -3491e34,8e030008 -3491e38,24640008 -3491e3c,ae040008 -3491e40,8c450004 -3491e44,8c440000 -3491e48,ac650004 -3491e4c,24420008 -3491e50,1446fff8 -3491e54,ac640000 -3491e58,8fbf0064 -3491e5c,8fb60060 -3491e60,8fb5005c -3491e64,8fb40058 -3491e68,8fb30054 -3491e6c,8fb20050 -3491e70,8fb1004c -3491e74,8fb00048 -3491e78,3e00008 -3491e7c,27bd0068 -3491e80,27bdff80 -3491e84,afbf007c -3491e88,afbe0078 -3491e8c,afb70074 -3491e90,afb60070 -3491e94,afb5006c -3491e98,afb40068 -3491e9c,afb30064 -3491ea0,afb20060 -3491ea4,afb1005c -3491ea8,afb00058 -3491eac,808025 -3491eb0,a0a825 -3491eb4,afa60088 -3491eb8,afa7008c -3491ebc,87a20092 -3491ec0,afa20048 -3491ec4,87b10096 -3491ec8,87a3009a -3491ecc,afa3004c -3491ed0,94b20004 -3491ed4,121280 -3491ed8,16200002 -3491edc,51001a -3491ee0,7000d -3491ee4,1012 -3491ee8,afa20050 -3491eec,94b30006 -3491ef0,131280 -3491ef4,14600002 -3491ef8,43001a -3491efc,7000d -3491f00,1012 -3491f04,afa20054 -3491f08,90b7000a -3491f0c,17bd40 -3491f10,3c0200e0 -3491f14,2e2b824 -3491f18,90b6000b -3491f1c,2ec20002 -3491f20,10400002 -3491f24,2c0f025 -3491f28,241e0002 -3491f2c,33de00ff -3491f30,1ea4c0 -3491f34,3c020018 -3491f38,282a024 -3491f3c,297a025 -3491f40,3c02fd00 -3491f44,2821025 -3491f48,afa20010 -3491f4c,c1046c9 -3491f50,2a02025 -3491f54,8fa30088 -3491f58,430018 -3491f5c,8ea20000 -3491f60,1812 -3491f64,431021 -3491f68,afa20014 -3491f6c,3c02f500 -3491f70,282a025 -3491f74,afb40018 -3491f78,3c020700 -3491f7c,afa2001c -3491f80,3c02e600 -3491f84,afa20020 -3491f88,afa00024 -3491f8c,3c02f300 -3491f90,afa20028 -3491f94,24020004 -3491f98,2c22004 -3491f9c,2530018 -3491fa0,1812 -3491fa4,24630001 -3491fac,640018 -3491fb0,1812 -3491fb4,2463ffff -3491fb8,3c21004 -3491fbc,14400002 -3491fc0,62001a -3491fc4,7000d -3491fc8,1012 -3491fcc,2442ffff -3491fd0,21300 -3491fd4,3c0300ff -3491fd8,3463f000 -3491fdc,431024 -3491fe0,2440018 -3491fe4,2812 -3491fe8,28a60041 -3491fec,14c0000b -3491ff0,24030800 -3491ff4,51fc3 -3491ff8,3063003f -3491ffc,651821 -3492000,31983 -3492004,246507ff -3492008,14600002 -349200c,a3001a -3492010,7000d -3492014,1812 -3492018,30630fff -349201c,431025 -3492020,3c030700 -3492024,431025 -3492028,afa2002c -349202c,3c02e700 -3492030,afa20030 -3492034,afa00034 -3492038,161cc0 -349203c,3c020018 -3492040,621824 -3492044,2ed60002 -3492048,16c00002 -349204c,771825 -3492050,24040010 -3492054,2440018 -3492058,2012 -349205c,2484003f -3492060,417c3 -3492064,3042003f -3492068,441021 -349206c,210c0 -3492070,3c040003 -3492074,3484fe00 -3492078,441024 -349207c,431025 -3492080,3c03f500 -3492084,431025 -3492088,afa20038 -349208c,afa0003c -3492090,3c02f200 -3492094,afa20040 -3492098,2642ffff -349209c,21380 -34920a0,3c0300ff -34920a4,3463f000 -34920a8,431024 -34920ac,2673ffff -34920b0,139880 -34920b4,32730ffc -34920b8,531025 -34920bc,afa20044 -34920c0,27a20010 -34920c4,27a60048 -34920c8,8e030008 -34920cc,24640008 -34920d0,ae040008 -34920d4,8c450004 -34920d8,8c440000 -34920dc,ac650004 -34920e0,24420008 -34920e4,1446fff8 -34920e8,ac640000 -34920ec,8fa2008c -34920f0,2221021 -34920f4,21380 -34920f8,3c0400ff -34920fc,3484c000 -3492100,441024 -3492104,8fa3004c -3492108,8fa50048 -349210c,650018 -3492110,1812 -3492114,31880 -3492118,30630ffc -349211c,431025 -3492120,3c03e400 -3492124,431025 -3492128,afa20010 -349212c,8fa2008c -3492130,21380 -3492134,441024 -3492138,51880 -349213c,30630ffc -3492140,431025 -3492144,afa20014 -3492148,3c02e100 -349214c,afa20018 -3492150,afa0001c -3492154,3c02f100 -3492158,afa20020 -349215c,8fa20050 -3492160,21400 -3492164,97a30056 -3492168,431025 -349216c,afa20024 -3492170,27a20010 -3492174,27a60028 -3492178,8e030008 -349217c,24640008 -3492180,ae040008 -3492184,8c450004 -3492188,8c440000 -349218c,ac650004 -3492190,24420008 -3492194,1446fff8 -3492198,ac640000 -349219c,8fbf007c -34921a0,8fbe0078 -34921a4,8fb70074 -34921a8,8fb60070 -34921ac,8fb5006c -34921b0,8fb40068 -34921b4,8fb30064 -34921b8,8fb20060 -34921bc,8fb1005c -34921c0,8fb00058 -34921c4,3e00008 -34921c8,27bd0080 -34921cc,27bdff88 -34921d0,afbf0074 -34921d4,afbe0070 -34921d8,afb7006c -34921dc,afb60068 -34921e0,afb50064 -34921e4,afb40060 -34921e8,afb3005c -34921ec,afb20058 -34921f0,afb10054 -34921f4,afb00050 -34921f8,87b5008a -34921fc,87b1008e -3492200,90a2000b -3492204,144000ac -3492208,87be0092 -349220c,808025 -3492210,a09025 -3492214,c0b825 -3492218,e09825 -349221c,94a20004 -3492220,21280 -3492224,16200002 -3492228,51001a -349222c,7000d -3492230,b012 -3492234,94a20006 -3492238,21280 -349223c,17c00002 -3492240,5e001a -3492244,7000d -3492248,1012 -349224c,afa20048 -3492250,8c820008 -3492254,24430008 -3492258,ac830008 -349225c,3c03e700 -3492260,ac430000 -3492264,ac400004 -3492268,8c820008 -349226c,24430008 -3492270,ac830008 -3492274,3c03fc30 -3492278,34639661 -349227c,ac430000 -3492280,3c03552e -3492284,3463ff7f -3492288,ac430004 -349228c,8c820008 -3492290,24430008 -3492294,ac830008 -3492298,3c03fb00 -349229c,ac430000 -34922a0,240300ff -34922a4,ac430004 -34922a8,90b4000a -34922ac,14a540 -34922b0,3c0200e0 -34922b4,282a024 -34922b8,3c02fd10 -34922bc,2821025 -34922c0,afa20010 -34922c4,c1046c9 -34922c8,a02025 -34922cc,570018 -34922d0,8e420000 -34922d4,1812 -34922d8,431021 -34922dc,afa20014 -34922e0,3c02f510 -34922e4,2821025 -34922e8,afa20018 -34922ec,3c020708 -34922f0,24420200 -34922f4,afa2001c -34922f8,3c02e600 -34922fc,afa20020 -3492300,afa00024 -3492304,3c02f300 -3492308,afa20028 -349230c,96430004 -3492310,96440006 -3492314,830018 -3492318,1012 -349231c,21080 -3492320,24450003 -3492324,217c3 -3492328,3042000f -349232c,451021 -3492330,21103 -3492334,2442ffff -3492338,21300 -349233c,3c0500ff -3492340,34a5f000 -3492344,451024 -3492348,32880 -349234c,28670011 -3492350,14e00008 -3492354,24060800 -3492358,33102 -349235c,24c707ff -3492360,14c00002 -3492364,e6001a -3492368,7000d -349236c,3012 -3492370,30c60fff -3492374,461025 -3492378,3c060700 -349237c,461025 -3492380,afa2002c -3492384,3c02e700 -3492388,afa20030 -349238c,afa00034 -3492390,24a2003f -3492394,210c0 -3492398,3c050003 -349239c,34a5fe00 -34923a0,451024 -34923a4,541025 -34923a8,3c05f500 -34923ac,451025 -34923b0,afa20038 -34923b4,3c020008 -34923b8,24420200 -34923bc,afa2003c -34923c0,3c02f200 -34923c4,afa20040 -34923c8,2462ffff -34923cc,21380 -34923d0,3c0300ff -34923d4,3463f000 -34923d8,431024 -34923dc,2484ffff -34923e0,42080 -34923e4,30840ffc -34923e8,441025 -34923ec,afa20044 -34923f0,27a20010 -34923f4,27a60048 -34923f8,8e030008 -34923fc,24640008 -3492400,ae040008 -3492404,8c450004 -3492408,8c440000 -349240c,ac650004 -3492410,24420008 -3492414,14c2fff8 -3492418,ac640000 -349241c,2331021 -3492420,21380 -3492424,3c0400ff -3492428,3484c000 -349242c,441024 -3492430,3d50018 -3492434,1812 -3492438,31880 -349243c,30630ffc -3492440,431025 -3492444,3c03e400 -3492448,431025 -349244c,afa20010 -3492450,139b80 -3492454,2649824 -3492458,15a880 -349245c,32b50ffc -3492460,2759825 -3492464,afb30014 -3492468,3c02e100 -349246c,afa20018 -3492470,afa0001c -3492474,3c02f100 -3492478,afa20020 -349247c,16b400 -3492480,97a2004a -3492484,2c2b025 -3492488,afb60024 -349248c,27a20010 -3492490,27a60028 -3492494,8e030008 -3492498,24640008 -349249c,ae040008 -34924a0,8c450004 -34924a4,8c440000 -34924a8,ac650004 -34924ac,24420008 -34924b0,1446fff8 -34924b4,ac640000 -34924b8,8fbf0074 -34924bc,8fbe0070 -34924c0,8fb7006c -34924c4,8fb60068 -34924c8,8fb50064 -34924cc,8fb40060 -34924d0,8fb3005c -34924d4,8fb20058 -34924d8,8fb10054 -34924dc,8fb00050 -34924e0,3e00008 -34924e4,27bd0078 -34924e8,27bdffe0 -34924ec,8fa80030 -34924f0,8fa20034 -34924f4,8faa0038 -34924f8,94a30004 -34924fc,31a80 -3492500,14400002 -3492504,62001a -3492508,7000d -349250c,4812 -3492510,94a30006 -3492514,471021 -3492518,21380 -349251c,3c0b00ff -3492520,356bf000 -3492524,4b1024 -3492528,1482821 -349252c,52880 -3492530,30a50fff -3492534,451025 -3492538,3c05e400 -349253c,451025 -3492540,afa20000 -3492544,73b80 -3492548,eb3824 -349254c,84080 -3492550,31080fff -3492554,e83825 -3492558,afa70004 -349255c,3c02e100 -3492560,afa20008 -3492564,660018 -3492568,1012 -349256c,21140 -3492570,3042ffff -3492574,afa2000c -3492578,3c02f100 -349257c,afa20010 -3492580,31a80 -3492584,15400002 -3492588,6a001a -349258c,7000d -3492590,1012 -3492594,3042ffff -3492598,94c00 -349259c,491025 -34925a0,afa20014 -34925a4,afbd0018 -34925a8,27a50018 -34925ac,8c820008 -34925b0,24430008 -34925b4,ac830008 -34925b8,8fa30018 -34925bc,8c670004 -34925c0,8c660000 -34925c4,ac470004 -34925c8,ac460000 -34925cc,24620008 -34925d0,1445fff6 -34925d4,afa20018 -34925d8,3e00008 -34925dc,27bd0020 -34925e0,27bdff98 -34925e4,afbf0064 -34925e8,afb10060 -34925ec,afb0005c -34925f0,afa00010 -34925f4,3c0201a0 -34925f8,24422000 -34925fc,afa20014 -3492600,3c110003 -3492604,362295c0 -3492608,afa20018 -349260c,c107e9a -3492610,27a40010 -3492614,afa0001c -3492618,3c020084 -349261c,24426000 -3492620,afa20020 -3492624,3402b400 -3492628,afa20024 -349262c,c107e9a -3492630,27a4001c -3492634,afa00028 -3492638,3c02007b -349263c,3442d000 -3492640,afa2002c -3492644,3c100008 -3492648,361088a0 -349264c,afb00030 -3492650,c107e9a -3492654,27a40028 -3492658,afa00034 -349265c,3c0201a3 -3492660,3442c000 -3492664,afa20038 -3492668,24023b00 -349266c,afa2003c -3492670,c107e9a -3492674,27a40034 -3492678,afa00040 -349267c,3c020085 -3492680,3442e000 -3492684,afa20044 -3492688,24021d80 -349268c,afa20048 -3492690,c107e9a -3492694,27a40040 -3492698,afa0004c -349269c,3c020092 -34926a0,34428000 -34926a4,afa20050 -34926a8,24024580 -34926ac,afa20054 -34926b0,c107e9a -34926b4,27a4004c -34926b8,8fa20010 -34926bc,2631a300 -34926c0,518821 -34926c4,3c038042 -34926c8,ac713ef0 -34926cc,24422980 -34926d0,3c038042 -34926d4,ac623ee0 -34926d8,8fa20028 -34926dc,3c038042 -34926e0,ac623ed0 -34926e4,3c038042 -34926e8,8fa4001c -34926ec,ac643ec0 -34926f0,3c048042 -34926f4,3c038042 -34926f8,24630400 -34926fc,ac833ea0 -3492700,3c048042 -3492704,3c038042 -3492708,246320c8 -349270c,ac833e90 -3492710,2610f7a0 -3492714,501021 -3492718,3c038042 -349271c,ac623e80 -3492720,8fa20034 -3492724,24441e00 -3492728,3c038042 -349272c,ac643e70 -3492730,24443040 -3492734,3c038042 -3492738,ac643e60 -349273c,244435c0 -3492740,3c038042 -3492744,ac643e50 -3492748,8fa30040 -349274c,24631980 -3492750,3c048042 -3492754,ac833e40 -3492758,3c038042 -349275c,ac623e30 -3492760,24422940 -3492764,3c038042 -3492768,ac623e20 -349276c,8fa2004c -3492770,24423f80 -3492774,3c038042 -3492778,ac623e10 -349277c,3c118042 -3492780,c1046e2 -3492784,26243eb0 -3492788,408025 -349278c,c107e8b -3492790,402025 -3492794,104fc2 -3492798,1304821 -349279c,2a100002 -34927a0,16000018 -34927a4,ae223eb0 -34927a8,94843 -34927ac,3c038042 -34927b0,24630c00 -34927b4,2025 -34927b8,3025 -34927bc,2204025 -34927c0,2407fff0 -34927c4,8d053eb0 -34927c8,a42821 -34927cc,90620000 -34927d0,21102 -34927d4,471025 -34927d8,a0a20000 -34927dc,8d023eb0 -34927e0,441021 -34927e4,90650000 -34927e8,a72825 -34927ec,a0450001 -34927f0,24c60001 -34927f4,24630001 -34927f8,c9102a -34927fc,1440fff1 -3492800,24840002 -3492804,8fbf0064 -3492808,8fb10060 -349280c,8fb0005c -3492810,3e00008 -3492814,27bd0068 -3492818,3c038040 -349281c,94620c46 -3492820,24630c46 -3492824,94640002 -3492828,94630004 -349282c,3c058042 -3492830,8ca53f90 -3492834,a4a20000 -3492838,a4a40002 -349283c,a4a30004 -3492840,3c058042 -3492844,8ca63f8c -3492848,a4c20000 -349284c,8ca53f8c -3492850,a4a40004 -3492854,a4a30008 -3492858,240500ff -349285c,1445000a -3492860,3c058042 -3492864,24050046 -3492868,14850007 -349286c,3c058042 -3492870,24050032 -3492874,14650004 -3492878,3c058042 -349287c,1825 -3492880,2025 -3492884,240200c8 -3492888,8ca53f88 -349288c,a4a20000 -3492890,a4a40002 -3492894,a4a30004 -3492898,3c058042 -349289c,8ca53f84 -34928a0,a4a20000 -34928a4,a4a40002 -34928a8,a4a30004 -34928ac,3c028042 -34928b0,8c433f80 -34928b4,3c028040 -34928b8,94450c4c -34928bc,24420c4c -34928c0,94440002 -34928c4,94420004 -34928c8,a4650000 -34928cc,a4640002 -34928d0,a4620004 -34928d4,3c028042 -34928d8,8c433f7c -34928dc,3c028040 -34928e0,94450c52 -34928e4,24420c52 -34928e8,94440002 -34928ec,94420004 -34928f0,a4650000 -34928f4,a4640002 -34928f8,a4620004 -34928fc,3c028042 -3492900,8c433f78 -3492904,3c028040 -3492908,94450c58 -349290c,24420c58 -3492910,94440002 -3492914,94420004 -3492918,a4650000 -349291c,a4640002 -3492920,a4620004 -3492924,3c028042 -3492928,8c423f74 -349292c,3c068040 -3492930,94c30c6a -3492934,a4430000 -3492938,3c028042 -349293c,8c433f70 -3492940,24c20c6a -3492944,94440002 -3492948,a4640000 -349294c,3c038042 -3492950,8c633f6c -3492954,94440004 -3492958,a4640000 -349295c,3c038042 -3492960,8c633f68 -3492964,3c058040 -3492968,94a40c70 -349296c,a4640000 -3492970,3c038042 -3492974,8c643f64 -3492978,24a30c70 -349297c,94670002 -3492980,a4870000 -3492984,3c048042 -3492988,8c843f60 -349298c,94670004 -3492990,a4870000 -3492994,3c048042 -3492998,8c843f5c -349299c,94c80c6a -34929a0,94470002 -34929a4,94460004 -34929a8,a4880000 -34929ac,a4870002 -34929b0,a4860004 -34929b4,3c048042 -34929b8,8c843f4c -34929bc,94a60c70 -34929c0,94650002 -34929c4,94630004 -34929c8,a4860000 -34929cc,a4850002 -34929d0,a4830004 -34929d4,94420002 -34929d8,3043ffff -34929dc,2c6300ce -34929e0,50600001 -34929e4,240200cd -34929e8,24420032 -34929ec,3047ffff -34929f0,3c028040 -34929f4,94420c6e -34929f8,3043ffff -34929fc,2c6300ce -3492a00,50600001 -3492a04,240200cd -3492a08,24420032 -3492a0c,3046ffff -3492a10,3c028040 -3492a14,94420c70 -3492a18,3043ffff -3492a1c,2c6300ce -3492a20,50600001 -3492a24,240200cd -3492a28,24420032 -3492a2c,3044ffff -3492a30,3c028040 -3492a34,94420c72 -3492a38,3043ffff -3492a3c,2c6300ce -3492a40,50600001 -3492a44,240200cd -3492a48,24420032 -3492a4c,3043ffff -3492a50,3c028040 -3492a54,94420c74 -3492a58,3045ffff -3492a5c,2ca500ce -3492a60,50a00001 -3492a64,240200cd -3492a68,24420032 -3492a6c,3c058042 -3492a70,8ca83f58 -3492a74,3c058040 -3492a78,94a50c6a -3492a7c,30a9ffff -3492a80,2d2900ce -3492a84,15200002 -3492a88,3042ffff -3492a8c,240500cd -3492a90,24a50032 -3492a94,a5050000 -3492a98,a5070002 -3492a9c,a5060004 -3492aa0,3c058042 -3492aa4,8ca53f48 -3492aa8,a4a40000 -3492aac,a4a30002 -3492ab0,a4a20004 -3492ab4,3c028042 -3492ab8,8c433f50 -3492abc,3c028040 -3492ac0,94450c6a -3492ac4,24420c6a -3492ac8,94440002 -3492acc,94420004 -3492ad0,a4650000 -3492ad4,a4640002 -3492ad8,a4620004 -3492adc,3c028042 -3492ae0,8c433f40 -3492ae4,3c028040 -3492ae8,94450c70 -3492aec,24420c70 -3492af0,94440002 -3492af4,94420004 -3492af8,a4650000 -3492afc,a4640002 -3492b00,a4620004 -3492b04,3c028042 -3492b08,8c433f3c -3492b0c,3c028040 -3492b10,94460c5e -3492b14,24440c5e -3492b18,94850002 -3492b1c,94840004 -3492b20,a4660000 -3492b24,a4650002 -3492b28,a4640004 -3492b2c,94420c5e -3492b30,3043ffff -3492b34,2c6300ce -3492b38,50600001 -3492b3c,240200cd -3492b40,24420032 -3492b44,3044ffff -3492b48,3c028040 -3492b4c,94420c60 -3492b50,3043ffff -3492b54,2c6300ce -3492b58,50600001 -3492b5c,240200cd -3492b60,24420032 -3492b64,3043ffff -3492b68,3c028040 -3492b6c,94420c62 -3492b70,3045ffff -3492b74,2ca500ce -3492b78,50a00001 -3492b7c,240200cd -3492b80,24420032 -3492b84,3042ffff -3492b88,3c058042 -3492b8c,8ca53f38 -3492b90,a4a40000 -3492b94,a4a30002 -3492b98,a4a20004 -3492b9c,3c058042 -3492ba0,8ca53f30 -3492ba4,a4a40000 -3492ba8,a4a30002 -3492bac,3e00008 -3492bb0,a4a20004 -3492bb4,3c028011 -3492bb8,3442a5d0 -3492bbc,8c4200a0 -3492bc0,21302 -3492bc4,30420003 -3492bc8,21840 -3492bcc,621821 -3492bd0,3c028042 -3492bd4,2442fedc -3492bd8,621821 -3492bdc,90640000 -3492be0,42600 -3492be4,90620001 -3492be8,21400 -3492bec,822021 -3492bf0,90620002 -3492bf4,21200 -3492bf8,3e00008 -3492bfc,821021 -3492c00,3c028011 -3492c04,3442a5d0 -3492c08,8c4208e0 -3492c0c,3e00008 -3492c10,2102b -3492c14,3c028011 -3492c18,3442a5d0 -3492c1c,8c4308e0 -3492c20,24630001 -3492c24,3e00008 -3492c28,ac4308e0 -3492c2c,3c028011 -3492c30,3442a5d0 -3492c34,8c4208e0 -3492c38,1040001c -3492c3c,2442ffff -3492c40,27bdffd8 -3492c44,afbf0024 -3492c48,afb10020 -3492c4c,afb0001c -3492c50,3c038011 -3492c54,3463a5d0 -3492c58,ac6208e0 -3492c5c,3c108038 -3492c60,3610e578 -3492c64,24050014 -3492c68,3c11801d -3492c6c,200f809 -3492c70,3624aa30 -3492c74,24020014 -3492c78,afa20014 -3492c7c,afa00010 -3492c80,26100130 -3492c84,3825 -3492c88,24060003 -3492c8c,3625aa30 -3492c90,200f809 -3492c94,262484a0 -3492c98,8fbf0024 -3492c9c,8fb10020 -3492ca0,8fb0001c -3492ca4,3e00008 -3492ca8,27bd0028 -3492cac,3e00008 -3492cb4,27bdffd0 -3492cb8,afbf002c -3492cbc,3c028042 -3492cc0,8c43fef8 -3492cc4,3c02801c -3492cc8,344284a0 -3492ccc,80450016 -3492cd0,2402000c -3492cd4,afa20018 -3492cd8,24020006 -3492cdc,afa20014 -3492ce0,afa30010 -3492ce4,240700de -3492ce8,c10793c -3492cec,2406001a -3492cf0,8fbf002c -3492cf4,3e00008 -3492cf8,27bd0030 -3492cfc,27bdffd0 -3492d00,afbf002c -3492d04,3c028042 -3492d08,8c43fef8 -3492d0c,3c028042 -3492d10,94423e64 -3492d14,23040 -3492d18,c23021 -3492d1c,3c028042 -3492d20,94423eb4 -3492d24,c23021 -3492d28,63600 -3492d2c,63603 -3492d30,24c6001a -3492d34,3c02801c -3492d38,344284a0 -3492d3c,80450017 -3492d40,2402000c -3492d44,afa20018 -3492d48,24020006 -3492d4c,afa20014 -3492d50,afa30010 -3492d54,240700de -3492d58,63400 -3492d5c,c10793c -3492d60,63403 -3492d64,8fbf002c -3492d68,3e00008 -3492d6c,27bd0030 -3492d70,3c02801c -3492d74,344284a0 -3492d78,84420014 -3492d7c,441002e -3492d80,3c058040 -3492d84,27bdffd8 -3492d88,afbf0024 -3492d8c,24a30c4c -3492d90,94620002 -3492d94,21400 -3492d98,3c0600ff -3492d9c,461024 -3492da0,94630004 -3492da4,31a00 -3492da8,3063ffff -3492dac,431025 -3492db0,94a30c4c -3492db4,31e00 -3492db8,431025 -3492dbc,344200ff -3492dc0,8c830008 -3492dc4,24650008 -3492dc8,ac850008 -3492dcc,3c05fa00 -3492dd0,ac650000 -3492dd4,ac620004 -3492dd8,3c028042 -3492ddc,94423e64 -3492de0,23840 -3492de4,e23821 -3492de8,3c028042 -3492dec,94423eb4 -3492df0,2442fffe -3492df4,e23821 -3492df8,73e00 -3492dfc,73e03 -3492e00,24e7000d -3492e04,2402000d -3492e08,afa20018 -3492e0c,afa20014 -3492e10,240200de -3492e14,afa20010 -3492e18,73840 -3492e1c,3025 -3492e20,3c058042 -3492e24,c104873 -3492e28,24a53e10 -3492e2c,8fbf0024 -3492e30,3e00008 -3492e34,27bd0028 -3492e38,3e00008 -3492e40,3c02801c -3492e44,344284a0 -3492e48,94420014 -3492e4c,30424000 -3492e50,1040002e -3492e54,3c058040 -3492e58,27bdffd8 -3492e5c,afbf0024 -3492e60,24a30c52 -3492e64,94620002 -3492e68,21400 -3492e6c,3c0600ff -3492e70,461024 -3492e74,94630004 -3492e78,31a00 -3492e7c,3063ffff -3492e80,431025 -3492e84,94a30c52 -3492e88,31e00 -3492e8c,431025 -3492e90,344200ff -3492e94,8c830008 -3492e98,24650008 -3492e9c,ac850008 -3492ea0,3c05fa00 -3492ea4,ac650000 -3492ea8,ac620004 -3492eac,3c028042 -3492eb0,94423e64 -3492eb4,23840 -3492eb8,e23821 -3492ebc,3c028042 -3492ec0,94423eb4 -3492ec4,2442fffe -3492ec8,e23821 -3492ecc,73e00 -3492ed0,73e03 -3492ed4,73840 -3492ed8,2402000d -3492edc,afa20018 -3492ee0,afa20014 -3492ee4,240200de -3492ee8,afa20010 -3492eec,24e70027 -3492ef0,24060001 -3492ef4,3c058042 -3492ef8,c104873 -3492efc,24a53e10 -3492f00,8fbf0024 -3492f04,3e00008 -3492f08,27bd0028 -3492f0c,3e00008 -3492f14,3c02801c -3492f18,344284a0 -3492f1c,94420014 -3492f20,30421000 -3492f24,1040002a -3492f28,2407000d -3492f2c,27bdffe0 -3492f30,afbf001c -3492f34,afb00018 -3492f38,808025 -3492f3c,8c820008 -3492f40,24430008 -3492f44,ac830008 -3492f48,3c03fa00 -3492f4c,ac430000 -3492f50,3c03dcdc -3492f54,3463dcff -3492f58,ac430004 -3492f5c,3c028042 -3492f60,94433e64 -3492f64,31040 -3492f68,431021 -3492f6c,3c038042 -3492f70,94633eb4 -3492f74,2463fffe -3492f78,431021 -3492f7c,21600 -3492f80,21603 -3492f84,2442000d -3492f88,21040 -3492f8c,3c038042 -3492f90,94653e14 -3492f94,240600de -3492f98,452821 -3492f9c,3c048042 -3492fa0,c1078a2 -3492fa4,2484ff04 -3492fa8,afa00010 -3492fac,3825 -3492fb0,2406000d -3492fb4,2405000d -3492fb8,c1078d4 -3492fbc,2002025 -3492fc0,8fbf001c -3492fc4,8fb00018 -3492fc8,3e00008 -3492fcc,27bd0020 -3492fd0,3e00008 -3492fd8,3c02801c -3492fdc,344284a0 -3492fe0,94420014 -3492fe4,30420004 -3492fe8,1040002e -3492fec,3c058040 -3492ff0,27bdffd8 -3492ff4,afbf0024 -3492ff8,24a30c58 -3492ffc,94620002 -3493000,21400 -3493004,3c0600ff -3493008,461024 -349300c,94630004 -3493010,31a00 -3493014,3063ffff -3493018,431025 -349301c,94a30c58 -3493020,31e00 -3493024,431025 -3493028,344200ff -349302c,8c830008 -3493030,24650008 -3493034,ac850008 -3493038,3c05fa00 -349303c,ac650000 -3493040,ac620004 -3493044,3c028042 -3493048,94423e64 -349304c,23840 -3493050,e23821 -3493054,3c028042 -3493058,94423eb4 -349305c,2442fffe -3493060,e23821 -3493064,73e00 -3493068,73e03 -349306c,24e7001a -3493070,2402000d -3493074,afa20018 -3493078,afa20014 -349307c,240200de -3493080,afa20010 -3493084,73840 -3493088,24060007 -349308c,3c058042 -3493090,c1047a0 -3493094,24a53e10 -3493098,8fbf0024 -349309c,3e00008 -34930a0,27bd0028 -34930a4,3e00008 -34930ac,3c02801c -34930b0,344284a0 -34930b4,94420014 -34930b8,30420008 -34930bc,1040002e -34930c0,3c058040 -34930c4,27bdffd8 -34930c8,afbf0024 -34930cc,24a30c58 -34930d0,94620002 -34930d4,21400 -34930d8,3c0600ff -34930dc,461024 -34930e0,94630004 -34930e4,31a00 -34930e8,3063ffff -34930ec,431025 -34930f0,94a30c58 -34930f4,31e00 -34930f8,431025 -34930fc,344200ff -3493100,8c830008 -3493104,24650008 -3493108,ac850008 -349310c,3c05fa00 -3493110,ac650000 -3493114,ac620004 -3493118,3c028042 -349311c,94423e64 -3493120,23840 -3493124,e23821 -3493128,3c028042 -349312c,94423eb4 -3493130,2442fffe -3493134,e23821 -3493138,73e00 -349313c,73e03 -3493140,73840 -3493144,2402000d -3493148,afa20018 -349314c,afa20014 -3493150,240200de -3493154,afa20010 -3493158,24e7005b -349315c,24060006 -3493160,3c058042 -3493164,c104873 -3493168,24a53e10 -349316c,8fbf0024 -3493170,3e00008 -3493174,27bd0028 -3493178,3e00008 -3493180,3c02801c -3493184,344284a0 -3493188,94420014 -349318c,30420002 -3493190,1040002e -3493194,3c058040 -3493198,27bdffd8 -349319c,afbf0024 -34931a0,24a30c58 -34931a4,94620002 -34931a8,21400 -34931ac,3c0600ff -34931b0,461024 -34931b4,94630004 -34931b8,31a00 -34931bc,3063ffff -34931c0,431025 -34931c4,94a30c58 -34931c8,31e00 -34931cc,431025 -34931d0,344200ff -34931d4,8c830008 -34931d8,24650008 -34931dc,ac850008 -34931e0,3c05fa00 -34931e4,ac650000 -34931e8,ac620004 -34931ec,3c028042 -34931f0,94423e64 -34931f4,23840 -34931f8,e23821 -34931fc,3c028042 -3493200,94423eb4 -3493204,2442fffe -3493208,e23821 -349320c,73e00 -3493210,73e03 -3493214,24e70027 -3493218,2402000d -349321c,afa20018 -3493220,afa20014 -3493224,240200de -3493228,afa20010 -349322c,73840 -3493230,24060008 -3493234,3c058042 -3493238,c104873 -349323c,24a53e10 -3493240,8fbf0024 -3493244,3e00008 -3493248,27bd0028 -349324c,3e00008 -3493254,3c02801c -3493258,344284a0 -349325c,94420014 -3493260,30420001 -3493264,1040002e -3493268,3c058040 -349326c,27bdffd8 -3493270,afbf0024 -3493274,24a30c58 -3493278,94620002 -349327c,21400 -3493280,3c0600ff -3493284,461024 -3493288,94630004 -349328c,31a00 -3493290,3063ffff -3493294,431025 -3493298,94a30c58 -349329c,31e00 -34932a0,431025 -34932a4,344200ff -34932a8,8c830008 -34932ac,24650008 -34932b0,ac850008 -34932b4,3c05fa00 -34932b8,ac650000 -34932bc,ac620004 -34932c0,3c028042 -34932c4,94423e64 -34932c8,23840 -34932cc,e23821 -34932d0,3c028042 -34932d4,94423eb4 -34932d8,2442fffe -34932dc,e23821 -34932e0,73e00 -34932e4,73e03 -34932e8,73840 -34932ec,2402000d -34932f0,afa20018 -34932f4,afa20014 -34932f8,240200de -34932fc,afa20010 -3493300,24e70041 -3493304,24060009 -3493308,3c058042 -349330c,c104873 -3493310,24a53e10 -3493314,8fbf0024 -3493318,3e00008 -349331c,27bd0028 -3493320,3e00008 -3493328,3c02801c -349332c,344284a0 -3493330,94420014 -3493334,30422000 -3493338,10400022 -349333c,24060005 -3493340,27bdffd8 -3493344,afbf0024 -3493348,8c820008 -349334c,24430008 -3493350,ac830008 -3493354,3c03fa00 -3493358,ac430000 -349335c,3c03dcdc -3493360,3463dcff -3493364,ac430004 -3493368,3c028042 -349336c,94423e64 -3493370,23840 -3493374,e23821 -3493378,3c028042 -349337c,94423eb4 -3493380,2442fffe -3493384,e23821 -3493388,73e00 -349338c,73e03 -3493390,24e70034 -3493394,2402000d -3493398,afa20018 -349339c,afa20014 -34933a0,240200de -34933a4,afa20010 -34933a8,73840 -34933ac,3c058042 -34933b0,c104873 -34933b4,24a53e10 -34933b8,8fbf0024 -34933bc,3e00008 -34933c0,27bd0028 -34933c4,3e00008 -34933cc,3c02801c -34933d0,344284a0 -34933d4,94420014 -34933d8,30420020 -34933dc,10400022 -34933e0,24060003 -34933e4,27bdffd8 -34933e8,afbf0024 -34933ec,8c820008 -34933f0,24430008 -34933f4,ac830008 -34933f8,3c03fa00 -34933fc,ac430000 -3493400,3c03dcdc -3493404,3463dcff -3493408,ac430004 -349340c,3c028042 -3493410,94423e64 -3493414,23840 -3493418,e23821 -349341c,3c028042 -3493420,94423eb4 -3493424,2442fffe -3493428,e23821 -349342c,73e00 -3493430,73e03 -3493434,73840 -3493438,2402000d -349343c,afa20018 -3493440,afa20014 -3493444,240200de -3493448,afa20010 -349344c,24e70075 -3493450,3c058042 -3493454,c104873 -3493458,24a53e10 -349345c,8fbf0024 -3493460,3e00008 -3493464,27bd0028 -3493468,3e00008 -3493470,3c02801c -3493474,344284a0 -3493478,94420014 -349347c,30420010 -3493480,10400022 -3493484,24060004 -3493488,27bdffd8 -349348c,afbf0024 -3493490,8c820008 -3493494,24430008 -3493498,ac830008 -349349c,3c03fa00 -34934a0,ac430000 -34934a4,3c03dcdc -34934a8,3463dcff -34934ac,ac430004 -34934b0,3c028042 -34934b4,94423e64 -34934b8,23840 -34934bc,e23821 -34934c0,3c028042 -34934c4,94423eb4 -34934c8,2442fffe -34934cc,e23821 -34934d0,73e00 -34934d4,73e03 -34934d8,24e70041 -34934dc,2402000d -34934e0,afa20018 -34934e4,afa20014 -34934e8,240200de -34934ec,afa20010 -34934f0,73840 -34934f4,3c058042 -34934f8,c104873 -34934fc,24a53e10 -3493500,8fbf0024 -3493504,3e00008 -3493508,27bd0028 -349350c,3e00008 -3493514,3c02801c -3493518,344284a0 -349351c,94420014 -3493520,30420400 -3493524,10400022 -3493528,24060007 -349352c,27bdffd8 -3493530,afbf0024 -3493534,8c820008 -3493538,24430008 -349353c,ac830008 -3493540,3c03fa00 -3493544,ac430000 -3493548,3c03dcdc -349354c,3463dcff -3493550,ac430004 -3493554,3c028042 -3493558,94423e64 -349355c,23840 -3493560,e23821 -3493564,3c028042 -3493568,94423eb4 -349356c,2442fffe -3493570,e23821 -3493574,73e00 -3493578,73e03 -349357c,73840 -3493580,2402000d -3493584,afa20018 -3493588,afa20014 -349358c,240200de -3493590,afa20010 -3493594,24e7008f -3493598,3c058042 -349359c,c1047a0 -34935a0,24a53e10 -34935a4,8fbf0024 -34935a8,3e00008 -34935ac,27bd0028 -34935b0,3e00008 -34935b8,3c02801c -34935bc,344284a0 -34935c0,94420014 -34935c4,30420800 -34935c8,10400022 -34935cc,24060006 -34935d0,27bdffd8 -34935d4,afbf0024 -34935d8,8c820008 -34935dc,24430008 -34935e0,ac830008 -34935e4,3c03fa00 -34935e8,ac430000 -34935ec,3c03dcdc -34935f0,3463dcff -34935f4,ac430004 -34935f8,3c028042 -34935fc,94423e64 -3493600,23840 -3493604,e23821 -3493608,3c028042 -349360c,94423eb4 -3493610,2442fffe -3493614,e23821 -3493618,73e00 -349361c,73e03 -3493620,24e7005b -3493624,2402000d -3493628,afa20018 -349362c,afa20014 -3493630,240200de -3493634,afa20010 -3493638,73840 -349363c,3c058042 -3493640,c104873 -3493644,24a53e10 -3493648,8fbf0024 -349364c,3e00008 -3493650,27bd0028 -3493654,3e00008 -349365c,3c02801c -3493660,344284a0 -3493664,94420014 -3493668,30420200 -349366c,10400022 -3493670,24060008 -3493674,27bdffd8 -3493678,afbf0024 -349367c,8c820008 -3493680,24430008 -3493684,ac830008 -3493688,3c03fa00 -349368c,ac430000 -3493690,3c03dcdc -3493694,3463dcff -3493698,ac430004 -349369c,3c028042 -34936a0,94423e64 -34936a4,23840 -34936a8,e23821 -34936ac,3c028042 -34936b0,94423eb4 -34936b4,2442fffe -34936b8,e23821 -34936bc,73e00 -34936c0,73e03 -34936c4,73840 -34936c8,2402000d -34936cc,afa20018 -34936d0,afa20014 -34936d4,240200de -34936d8,afa20010 -34936dc,24e700a9 -34936e0,3c058042 -34936e4,c104873 -34936e8,24a53e10 -34936ec,8fbf0024 -34936f0,3e00008 -34936f4,27bd0028 -34936f8,3e00008 -3493700,3c02801c -3493704,344284a0 -3493708,94420014 -349370c,30420100 -3493710,10400022 -3493714,24060009 -3493718,27bdffd8 -349371c,afbf0024 -3493720,8c820008 -3493724,24430008 -3493728,ac830008 -349372c,3c03fa00 -3493730,ac430000 -3493734,3c03dcdc -3493738,3463dcff -349373c,ac430004 -3493740,3c028042 -3493744,94423e64 -3493748,23840 -349374c,e23821 -3493750,3c028042 -3493754,94423eb4 -3493758,2442fffe -349375c,e23821 -3493760,73e00 -3493764,73e03 -3493768,24e7004e -349376c,2402000d -3493770,afa20018 -3493774,afa20014 -3493778,240200de -349377c,afa20010 -3493780,73840 -3493784,3c058042 -3493788,c104873 -349378c,24a53e10 -3493790,8fbf0024 -3493794,3e00008 -3493798,27bd0028 -349379c,3e00008 -34937a4,3c028040 -34937a8,90420ca7 -34937ac,10400026 -34937b4,27bdffe8 -34937b8,afbf0014 -34937bc,afb00010 -34937c0,c104b5c -34937c4,808025 -34937c8,c104b90 -34937cc,2002025 -34937d0,c104c2b -34937d4,2002025 -34937d8,c104bf6 -34937dc,2002025 -34937e0,c104c60 -34937e4,2002025 -34937e8,c104c95 -34937ec,2002025 -34937f0,c104cca -34937f4,2002025 -34937f8,c104cf3 -34937fc,2002025 -3493800,c104d1c -3493804,2002025 -3493808,c104d6e -349380c,2002025 -3493810,c104d45 -3493814,2002025 -3493818,c104d97 -349381c,2002025 -3493820,c104dc0 -3493824,2002025 -3493828,c104b2d -349382c,2002025 -3493830,c104b3f -3493834,2002025 -3493838,8fbf0014 -349383c,8fb00010 -3493840,3e00008 -3493844,27bd0018 +3491d1c,2404ff00 +3491d20,441025 +3491d24,ac620004 +3491d28,24020071 +3491d2c,afa20018 +3491d30,3c028040 +3491d34,8042170c +3491d38,1040003b +3491d3c,3c028040 +3491d40,27a60018 +3491d44,3c058040 +3491d48,24a5170c +3491d4c,c1046f7 +3491d50,2002025 +3491d54,3c028040 +3491d58,8042172c +3491d5c,10400006 +3491d60,27a60018 +3491d64,3c058040 +3491d68,24a5172c +3491d6c,c1046f7 +3491d70,2002025 +3491d74,27a60018 +3491d78,3c058042 +3491d7c,24a54434 +3491d80,c1046f7 +3491d84,2002025 +3491d88,27a60018 +3491d8c,3c058042 +3491d90,24a54438 +3491d94,c1046f7 +3491d98,2002025 +3491d9c,27a60018 +3491da0,3c058040 +3491da4,24a5174c +3491da8,c1046f7 +3491dac,2002025 +3491db0,27a60018 +3491db4,3c058040 +3491db8,24a51780 +3491dbc,c1046f7 +3491dc0,2002025 +3491dc4,27a60018 +3491dc8,3c058042 +3491dcc,24a54434 +3491dd0,c1046f7 +3491dd4,2002025 +3491dd8,3c028040 +3491ddc,90421ddf +3491de0,10400007 +3491de4,3c028040 +3491de8,27a60018 +3491dec,3c058042 +3491df0,24a5444c +3491df4,c1046f7 +3491df8,2002025 +3491dfc,3c028040 +3491e00,90421de0 +3491e04,50400041 +3491e08,8fbf0034 +3491e0c,27a60018 +3491e10,3c058042 +3491e14,24a54460 +3491e18,c1046f7 +3491e1c,2002025 +3491e20,1000003a +3491e24,8fbf0034 +3491e28,8042172c +3491e2c,1440ffcd +3491e30,27a60018 +3491e34,1000ffd6 +3491e38,3c058042 +3491e3c,24430008 +3491e40,ae030008 +3491e44,3c03fa00 +3491e48,ac430000 +3491e4c,2403ffff +3491e50,ac430004 +3491e54,24130009 +3491e58,afb30014 +3491e5c,24120008 +3491e60,afb20010 +3491e64,2407000f +3491e68,240600f4 +3491e6c,3c058042 +3491e70,24a5446c +3491e74,c108a2d +3491e78,2002025 +3491e7c,afb30014 +3491e80,afb20010 +3491e84,24070018 +3491e88,240600f4 +3491e8c,3c058040 +3491e90,24a51770 +3491e94,c108a2d +3491e98,2002025 +3491e9c,1000ff76 +3491ea0,3c028040 +3491ea4,8c820008 +3491ea8,24430008 +3491eac,ac830008 +3491eb0,3c03fa00 +3491eb4,ac430000 +3491eb8,2403ffff +3491ebc,ac430004 +3491ec0,24130009 +3491ec4,afb30014 +3491ec8,24120008 +3491ecc,afb20010 +3491ed0,2407000f +3491ed4,2406fffc +3491ed8,3c058042 +3491edc,c108a2d +3491ee0,24a54474 +3491ee4,afb30014 +3491ee8,afb20010 +3491eec,24070018 +3491ef0,2406fffc +3491ef4,3c058040 +3491ef8,24a517a4 +3491efc,c108a2d +3491f00,2002025 +3491f04,1000ff58 +3491f08,3c028040 +3491f0c,8fb30030 +3491f10,8fb2002c +3491f14,8fb10028 +3491f18,8fb00024 +3491f1c,3e00008 +3491f20,27bd0038 +3491f24,27bdfff8 +3491f28,24020001 +3491f2c,a3a20000 +3491f30,a3a20001 +3491f34,8c8401d8 +3491f38,248514c0 +3491f3c,3c028040 +3491f40,24421e08 +3491f44,24460006 +3491f48,401825 +3491f4c,90a80000 +3491f50,90670000 +3491f54,15070005 +3491f58,24630001 +3491f5c,1466fffb +3491f60,24a50001 +3491f64,10000003 +3491f68,248334b8 +3491f6c,a3a00000 +3491f70,248334b8 +3491f74,90650000 +3491f78,90440000 +3491f7c,50a40003 +3491f80,24420001 +3491f84,10000003 +3491f88,a3a00001 +3491f8c,1446fff9 +3491f90,24630001 +3491f94,93a30000 +3491f98,14600002 +3491f9c,24020001 +3491fa0,93a20001 +3491fa4,30420001 +3491fa8,3e00008 +3491fac,27bd0008 +3491fb0,3c028043 +3491fb4,2442d7f8 +3491fb8,3c038040 +3491fbc,24631e08 +3491fc0,24460006 +3491fc4,90450000 +3491fc8,90640000 +3491fcc,14a40006 +3491fd4,24420001 +3491fd8,1446fffa +3491fdc,24630001 +3491fe0,3e00008 +3491fe4,24020001 +3491fe8,3e00008 +3491fec,1025 +3491ff0,27bdffe8 +3491ff4,afbf0014 +3491ff8,c1047ec +3492000,1440000b +3492004,3c028043 +3492008,2403ffff +349200c,a0439520 +3492010,3c028043 +3492014,a040d7f8 +3492018,2442d7f8 +349201c,a0400001 +3492020,a0400002 +3492024,a0400003 +3492028,a0400004 +349202c,a0400005 +3492030,8fbf0014 +3492034,3e00008 +3492038,27bd0018 +349203c,27bdffb8 +3492040,afbf0044 +3492044,afb60040 +3492048,afb5003c +349204c,afb40038 +3492050,afb30034 +3492054,afb20030 +3492058,afb1002c +349205c,afb00028 +3492060,808025 +3492064,3c028043 +3492068,9442d7fe +349206c,10400004 +3492070,a08825 +3492074,2442ffff +3492078,3c038043 +349207c,a462d7fe +3492080,c1047c9 +3492084,2202025 +3492088,1440005b +349208c,3c020002 +3492090,c1047ec +3492098,54400057 +349209c,3c020002 +34920a0,100001be +34920a4,8e020008 +34920a8,8c6444a0 +34920ac,3c038888 +34920b0,34638889 +34920b4,430019 +34920b8,1010 +34920bc,22942 +34920c0,2402000c +34920c4,afa20018 +34920c8,24020006 +34920cc,afa20014 +34920d0,afa40010 +34920d4,240700cc +34920d8,2406004a +34920dc,24a50001 +34920e0,c108a5d +34920e4,2002025 +34920e8,8e020008 +34920ec,24430008 +34920f0,ae030008 +34920f4,3c03e700 +34920f8,ac430000 +34920fc,ac400004 +3492100,8e020008 +3492104,24430008 +3492108,ae030008 +349210c,3c03fc11 +3492110,34639623 +3492114,ac430000 +3492118,3c03ff2f +349211c,3463ffff +3492120,ac430004 +3492124,8e020008 +3492128,24430008 +349212c,ae030008 +3492130,3c03fa00 +3492134,ac430000 +3492138,2403ffff +349213c,ac430004 +3492140,24070001 +3492144,24060011 +3492148,3c138043 +349214c,26659640 +3492150,c10533a +3492154,2002025 +3492158,2412000c +349215c,afb20018 +3492160,afb20014 +3492164,241400ca +3492168,afb40010 +349216c,2407005a +3492170,3025 +3492174,26659640 +3492178,c105584 +349217c,2002025 +3492180,3c028043 +3492184,94429634 +3492188,23900 +349218c,e23823 +3492190,44870000 +3492198,46800021 +349219c,3c028042 +34921a0,d44244a8 +34921a4,46220000 +34921a8,afb20018 +34921ac,afb20014 +34921b0,afb40010 +34921b4,4620000d +34921b8,44070000 +34921bc,3025 +34921c0,26659640 +34921c4,c105584 +34921c8,2002025 +34921cc,24020009 +34921d0,afa20014 +34921d4,24020008 +34921d8,afa20010 +34921dc,240700cc +34921e0,2406006b +34921e4,3c058042 +34921e8,24a54480 +34921ec,c108a2d +34921f0,2002025 +34921f4,3c020002 +34921f8,2221021 +34921fc,9443ca36 +3492200,24020003 +3492204,14620180 +3492208,8fbf0044 +349220c,3c028043 +3492210,80529520 +3492214,6410174 +3492218,3c020002 +349221c,2221021 +3492220,9442ca2c +3492224,14400152 +3492228,24030001 +349222c,3c02801c +3492230,344284a0 +3492234,8c420020 +3492238,3c039000 +349223c,431024 +3492240,1040014f +3492244,3c02801c +3492248,c1047c9 +349224c,2202025 +3492250,14400006 +3492254,3c028006 +3492258,c1047ec +3492260,5040000d +3492264,3c028043 +3492268,3c028006 +349226c,244246f0 +3492270,40f809 +3492274,2404483b +3492278,3c020002 +349227c,2221021 +3492280,24030006 +3492284,a443ca36 +3492288,c031da1 +349228c,2404000f +3492290,1000000c +3492294,3c02801c +3492298,9442d7fe +349229c,14400005 +34922a0,3c028006 +34922a4,26520001 +34922a8,3c028043 +34922ac,10000155 +34922b0,a0529520 +34922b4,244246f0 +34922b8,40f809 +34922bc,24044806 +34922c0,3c02801c +34922c4,344284a0 +34922c8,94420020 +34922cc,30424000 +34922d0,1040000b +34922d4,3c020002 +34922d8,3c028006 +34922dc,244246f0 +34922e0,40f809 +34922e4,2404483c +34922e8,3c020002 +34922ec,2221021 +34922f0,9443ca36 +34922f4,24630001 +34922f8,a443ca36 +34922fc,3c020002 +3492300,2221021 +3492304,9443ca2c +3492308,24020001 +349230c,14620013 +3492310,3c028043 +3492314,3c02801c +3492318,344284a0 +349231c,8c420020 +3492320,3c03d000 +3492324,431024 +3492328,1040000c +349232c,3c028043 +3492330,3c028006 +3492334,244246f0 +3492338,40f809 +349233c,2404483c +3492340,3c020002 +3492344,2221021 +3492348,9443ca36 +349234c,24630001 +3492350,c1047fc +3492354,a443ca36 +3492358,3c028043 +349235c,80429520 +3492360,4400129 +3492364,8fbf0044 +3492368,8e020008 +349236c,24430008 +3492370,ae030008 +3492374,3c03e700 +3492378,ac430000 +349237c,ac400004 +3492380,8e020008 +3492384,24430008 +3492388,ae030008 +349238c,3c03fc11 +3492390,34639623 +3492394,ac430000 +3492398,3c03ff2f +349239c,3463ffff +34923a0,ac430004 +34923a4,8e020008 +34923a8,24430008 +34923ac,ae030008 +34923b0,3c03fa00 +34923b4,ac430000 +34923b8,2403ffff +34923bc,ac430004 +34923c0,24020009 +34923c4,afa20014 +34923c8,24020008 +34923cc,afa20010 +34923d0,2407005c +34923d4,24060037 +34923d8,3c058042 +34923dc,24a54490 +34923e0,c108a2d +34923e4,2002025 +34923e8,c1047ec +34923f0,1040001f +34923f4,3c02801c +34923f8,3c028043 +34923fc,2403ffff +3492400,a0439520 +3492404,3c028006 +3492408,244246f0 +349240c,40f809 +3492410,24044802 +3492414,8e2301d8 +3492418,3c020002 +349241c,2221021 +3492420,9442ca38 +3492424,22280 +3492428,822023 +349242c,420c0 +3492430,24850020 +3492434,652821 +3492438,3c028043 +349243c,2442d7f8 +3492440,248414c0 +3492444,641821 +3492448,24460006 +349244c,90440000 +3492450,a0640000 +3492454,24420001 +3492458,14c2fffc +349245c,24630001 +3492460,c10862c +3492464,2025 +3492468,100000e7 +349246c,8fbf0044 +3492470,344284a0 +3492474,84420020 +3492478,4410019 +349247c,3c02801c +3492480,3c020002 +3492484,2221021 +3492488,9442ca2c +349248c,1440000b +3492490,3c028006 +3492494,3c048043 +3492498,80839520 +349249c,3c028043 +34924a0,2442d7f8 +34924a4,621021 +34924a8,24050001 +34924ac,a0450000 +34924b0,24630001 +34924b4,10000009 +34924b8,a0839520 +34924bc,244246f0 +34924c0,40f809 +34924c4,2404483c +34924c8,3c020002 +34924cc,2221021 +34924d0,9443ca36 +34924d4,24630001 +34924d8,a443ca36 +34924dc,3c02801c +34924e0,344284a0 +34924e4,94420020 +34924e8,30430004 +34924ec,1060000b +34924f0,30430001 +34924f4,3c058043 +34924f8,80a49520 +34924fc,3c038043 +3492500,2463d7f8 +3492504,831821 +3492508,24060002 +349250c,a0660000 +3492510,24840001 +3492514,a0a49520 +3492518,30430001 +349251c,1060000b +3492520,30430002 +3492524,3c058043 +3492528,80a49520 +349252c,3c038043 +3492530,2463d7f8 +3492534,831821 +3492538,24060003 +349253c,a0660000 +3492540,24840001 +3492544,a0a49520 +3492548,30430002 +349254c,1060000b +3492550,30430008 +3492554,3c058043 +3492558,80a49520 +349255c,3c038043 +3492560,2463d7f8 +3492564,831821 +3492568,24060004 +349256c,a0660000 +3492570,24840001 +3492574,a0a49520 +3492578,30430008 +349257c,1060000a +3492580,30424000 +3492584,3c058043 +3492588,80a49520 +349258c,3c038043 +3492590,2463d7f8 +3492594,831821 +3492598,24060005 +349259c,a0660000 +34925a0,24840001 +34925a4,a0a49520 +34925a8,10400015 +34925ac,3c028043 +34925b0,3c038043 +34925b4,90629520 +34925b8,2442ffff +34925bc,21600 +34925c0,21603 +34925c4,4410009 +34925c8,a0629520 +34925cc,3c028006 +34925d0,244246f0 +34925d4,40f809 +34925d8,2404483c +34925dc,c1047fc +34925e4,10000006 +34925e8,3c028043 +34925ec,3c038043 +34925f0,2463d7f8 +34925f4,431021 +34925f8,a0400000 +34925fc,3c028043 +3492600,80429520 +3492604,28420006 +3492608,14400022 +349260c,24070005 +3492610,c1047ec +3492618,1440001e +349261c,24070005 +3492620,3c038043 +3492624,9462d800 +3492628,24420001 +349262c,3042ffff +3492630,a462d800 +3492634,2c430006 +3492638,54600010 +349263c,3c028006 +3492640,3c03aaaa +3492644,3463aaab +3492648,430019 +349264c,1810 +3492650,32042 +3492654,3063fffe +3492658,641821 +349265c,431023 +3492660,3042ffff +3492664,54400005 +3492668,3c028006 +349266c,3c028043 +3492670,24030258 +3492674,a443d7fe +3492678,3c028006 +349267c,244246f0 +3492680,40f809 +3492684,24044806 +3492688,c1047fc +3492690,24070005 +3492694,3025 +3492698,3c058043 +349269c,24a595a0 +34926a0,c10533a +34926a4,2002025 +34926a8,3c028043 +34926ac,80439520 +34926b0,8825 +34926b4,4600053 +34926b8,1025 +34926bc,3c15fa00 +34926c0,3c14f4ec +34926c4,269430ff +34926c8,3c128043 +34926cc,2652d7f8 +34926d0,3c138043 +34926d4,267395a0 +34926d8,10000014 +34926dc,3c168043 +34926e0,e23821 +34926e4,521021 +34926e8,90460000 +34926ec,2402000c +34926f0,afa20018 +34926f4,afa20014 +34926f8,24020068 +34926fc,afa20010 +3492700,24e70037 +3492704,24c6ffff +3492708,2602825 +349270c,c105584 +3492710,2002025 +3492714,26310001 +3492718,323100ff +349271c,82c39520 +3492720,71182a +3492724,14600037 +3492728,2201025 +349272c,8e030008 +3492730,24640008 +3492734,ae040008 +3492738,ac750000 +349273c,ac740004 +3492740,521821 +3492744,90640000 +3492748,24030001 +349274c,1483ffe4 +3492750,23900 +3492754,8e030008 +3492758,24640008 +349275c,ae040008 +3492760,ac750000 +3492764,3404ffff +3492768,1000ffdd +349276c,ac640004 +3492770,14430025 +3492774,8fbf0044 +3492778,10000013 +349277c,3c02801c +3492780,344284a0 +3492784,94420020 +3492788,30424000 +349278c,1040001e +3492790,8fbf0044 +3492794,1000fed1 +3492798,3c028006 +349279c,24430008 +34927a0,ae030008 +34927a4,3c03e700 +34927a8,ac430000 +34927ac,ac400004 +34927b0,3c028043 +34927b4,9442d7fe +34927b8,5040fe4c +34927bc,8e020008 +34927c0,1000fe39 +34927c4,3c038042 +34927c8,344284a0 +34927cc,8c420020 +34927d0,3c03d000 +34927d4,431024 +34927d8,1440fed6 +34927dc,3c028006 +34927e0,10000009 +34927e4,8fbf0044 +34927e8,2221021 +34927ec,9443ca2c +34927f0,24020001 +34927f4,5462fedd +34927f8,8e020008 +34927fc,1000fec6 +3492800,3c02801c +3492804,8fbf0044 +3492808,8fb60040 +349280c,8fb5003c +3492810,8fb40038 +3492814,8fb30034 +3492818,8fb20030 +349281c,8fb1002c +3492820,8fb00028 +3492824,3e00008 +3492828,27bd0048 +349282c,27bdffa0 +3492830,afbf005c +3492834,afbe0058 +3492838,afb70054 +349283c,afb60050 +3492840,afb5004c +3492844,afb40048 +3492848,afb30044 +349284c,afb20040 +3492850,afb1003c +3492854,afb00038 +3492858,afa40060 +349285c,afa50064 +3492860,3c02801c +3492864,344284a0 +3492868,8c500000 +349286c,261402b8 +3492870,8e0202c0 +3492874,24430008 +3492878,ae0302c0 +349287c,3c03de00 +3492880,ac430000 +3492884,3c038043 +3492888,24639688 +349288c,ac430004 +3492890,8e0202c0 +3492894,24430008 +3492898,ae0302c0 +349289c,3c03e700 +34928a0,ac430000 +34928a4,ac400004 +34928a8,8e0202c0 +34928ac,24430008 +34928b0,ae0302c0 +34928b4,3c03fc11 +34928b8,34639623 +34928bc,ac430000 +34928c0,3c03ff2f +34928c4,3463ffff +34928c8,ac430004 +34928cc,8e0202c0 +34928d0,24430008 +34928d4,ae0302c0 +34928d8,3c03fa00 +34928dc,ac430000 +34928e0,2403ffff +34928e4,ac430004 +34928e8,3c128040 +34928ec,26520834 +34928f0,24110054 +34928f4,3c178043 +34928f8,26f79524 +34928fc,3c168043 +3492900,26d69564 +3492904,24150018 +3492908,241e000c +349290c,92420000 +3492910,21040 +3492914,571021 +3492918,90430000 +349291c,31880 +3492920,761821 +3492924,8c730000 +3492928,24070001 +349292c,90460001 +3492930,2602825 +3492934,c10533a +3492938,2802025 +349293c,afb50018 +3492940,afb50014 +3492944,afbe0010 +3492948,2203825 +349294c,3025 +3492950,2602825 +3492954,c105584 +3492958,2802025 +349295c,26310020 +3492960,240200f4 +3492964,1622ffe9 +3492968,26520001 +349296c,8fa50064 +3492970,c10470e +3492974,2802025 +3492978,3c028043 +349297c,80429520 +3492980,4410003 +3492984,8fa50064 +3492988,c10433e +349298c,2802025 +3492990,c107f95 +3492994,2802025 +3492998,8fa50064 +349299c,c10480f +34929a0,2802025 +34929a4,8e0202c0 +34929a8,24430008 +34929ac,ae0302c0 +34929b0,3c03e700 +34929b4,ac430000 +34929b8,ac400004 +34929bc,8e0202c0 +34929c0,24430008 +34929c4,ae0302c0 +34929c8,3c03fcff +34929cc,3463ffff +34929d0,ac430000 +34929d4,3c03fffd +34929d8,3463f6fb +34929dc,ac430004 +34929e0,8e0202c0 +34929e4,24430008 +34929e8,ae0302c0 +34929ec,3c03fa00 +34929f0,ac430000 +34929f4,93a30063 +34929f8,ac430004 +34929fc,3c02e450 +3492a00,244203c0 +3492a04,afa20020 +3492a08,afa00024 +3492a0c,3c02e100 +3492a10,afa20028 +3492a14,afa0002c +3492a18,3c02f100 +3492a1c,afa20030 +3492a20,3c020400 +3492a24,24420400 +3492a28,afa20034 +3492a2c,27a20020 +3492a30,27a60038 +3492a34,8e0302c0 +3492a38,24640008 +3492a3c,ae0402c0 +3492a40,8c450004 +3492a44,8c440000 +3492a48,ac650004 +3492a4c,24420008 +3492a50,14c2fff8 +3492a54,ac640000 +3492a58,8fbf005c +3492a5c,8fbe0058 +3492a60,8fb70054 +3492a64,8fb60050 +3492a68,8fb5004c +3492a6c,8fb40048 +3492a70,8fb30044 +3492a74,8fb20040 +3492a78,8fb1003c +3492a7c,8fb00038 +3492a80,3e00008 +3492a84,27bd0060 +3492a88,3c028043 +3492a8c,9042d802 +3492a90,1040000d +3492a94,3c028011 +3492a98,3442a5d0 +3492a9c,8c430000 +3492aa0,24020517 +3492aa4,14620008 +3492aac,27bdffe8 +3492ab0,afbf0014 +3492ab4,c10852a +3492abc,8fbf0014 +3492ac0,3e00008 +3492ac4,27bd0018 +3492ac8,3e00008 +3492ad0,27bdffe8 +3492ad4,afbf0014 +3492ad8,afb00010 +3492adc,808025 +3492ae0,948200b6 +3492ae4,244203c0 +3492ae8,a48200b6 +3492aec,3c02801d +3492af0,3442aa30 +3492af4,8c440024 +3492af8,8c430028 +3492afc,8c42002c +3492b00,ae040024 +3492b04,ae030028 +3492b08,ae02002c +3492b0c,c6000028 +3492b10,3c028042 +3492b14,c44244b4 +3492b18,46020000 +3492b1c,e6000028 +3492b20,3c028011 +3492b24,3442a5d0 +3492b28,8c420004 +3492b2c,14400005 +3492b30,3c04801c +3492b34,3c028042 +3492b38,c44244b8 +3492b3c,46020000 +3492b40,e6000028 +3492b44,3c02800d +3492b48,3442d464 +3492b4c,40f809 +3492b50,3484a578 +3492b54,1440000c +3492b58,3c02801d +3492b5c,8602014a +3492b60,5440000d +3492b64,8fbf0014 +3492b68,3c028043 +3492b6c,ac40d918 +3492b70,3c028002 +3492b74,24420eb4 +3492b78,40f809 +3492b7c,2002025 +3492b80,10000005 +3492b84,8fbf0014 +3492b88,3442aa30 +3492b8c,2403000a +3492b90,a4430110 +3492b94,8fbf0014 +3492b98,8fb00010 +3492b9c,3e00008 +3492ba0,27bd0018 +3492ba4,27bdffe8 +3492ba8,afbf0014 +3492bac,3c028043 +3492bb0,9444d9a4 +3492bb4,c108fae +3492bb8,24840064 +3492bbc,3c038043 +3492bc0,ac62d9a0 +3492bc4,8fbf0014 +3492bc8,3e00008 +3492bcc,27bd0018 +3492bd0,27bdffe8 +3492bd4,afbf0014 +3492bd8,3c028043 +3492bdc,8c44f5a8 +3492be0,41100 +3492be4,3c038043 +3492be8,2463f5b0 +3492bec,431021 +3492bf0,8c430000 +3492bf4,8c420004 +3492bf8,621825 +3492bfc,1060000e +3492c00,24840001 +3492c04,41900 +3492c08,3c028043 +3492c0c,2442f5b0 +3492c10,431021 +3492c14,803025 +3492c18,8c430000 +3492c1c,8c450004 +3492c20,24840001 +3492c24,651825 +3492c28,1460fffa +3492c2c,24420010 +3492c30,3c028043 +3492c34,ac46f5a8 +3492c38,c108fae +3492c3c,2404013c +3492c40,3c038043 +3492c44,ac62f5a4 +3492c48,24030001 +3492c4c,ac430130 +3492c50,8fbf0014 +3492c54,3e00008 +3492c58,27bd0018 +3492c5c,801025 +3492c60,84a30000 +3492c64,2404000a +3492c68,14640015 +3492c6c,24040015 +3492c70,24030010 +3492c74,14c3000b +3492c78,94a3001c +3492c7c,31942 +3492c80,3063007f +3492c84,24040075 +3492c88,54640006 +3492c8c,94a3001c +3492c90,2825 +3492c94,2025 +3492c98,ac450004 +3492c9c,3e00008 +3492ca0,ac440000 +3492ca4,3063001f +3492ca8,a0460000 +3492cac,24040001 +3492cb0,a0440001 +3492cb4,a4400002 +3492cb8,3e00008 +3492cbc,ac430004 +3492cc0,14640015 +3492cc4,2404019c +3492cc8,90a3001d +3492ccc,24040012 +3492cd0,14640006 +3492cd4,24040006 +3492cd8,2825 +3492cdc,2025 +3492ce0,ac450004 +3492ce4,3e00008 +3492ce8,ac440000 +3492cec,10640003 +3492cf0,24040011 +3492cf4,1464002d +3492cfc,94a30140 +3492d00,a0460000 +3492d04,24040002 +3492d08,a0440001 +3492d0c,a4400002 +3492d10,3e00008 +3492d14,ac430004 +3492d18,1464000b +3492d1c,2404003e +3492d20,94a3001c +3492d24,32202 +3492d28,3084001f +3492d2c,a0440000 +3492d30,24040003 +3492d34,a0440001 +3492d38,a4400002 +3492d3c,306300ff +3492d40,3e00008 +3492d44,ac430004 +3492d48,14c4000d +3492d4c,24040132 +3492d50,2404011a +3492d54,5464000a +3492d58,24040132 +3492d5c,3c038011 +3492d60,3463a5d0 +3492d64,90631397 +3492d68,a0430000 +3492d6c,24030004 +3492d70,a0430001 +3492d74,a4400002 +3492d78,3e00008 +3492d7c,ac470004 +3492d80,54640007 +3492d84,a0460000 +3492d88,2403005a +3492d8c,a0430000 +3492d90,a0400001 +3492d94,a4400002 +3492d98,3e00008 +3492d9c,ac470004 +3492da0,a0400001 +3492da4,a4400002 +3492da8,ac470004 +3492dac,3e00008 +3492db4,3c038043 +3492db8,8c69f5a8 +3492dbc,2529ffff +3492dc0,5200033 +3492dc4,801025 +3492dc8,27bdfff0 +3492dcc,5025 +3492dd0,3c0d8043 +3492dd4,25adf5b0 +3492dd8,1491821 +3492ddc,32fc2 +3492de0,a32821 +3492de4,52843 +3492de8,51900 +3492dec,6d1821 +3492df0,8c680000 +3492df4,8c6c0004 +3492df8,8c6b0008 +3492dfc,8c63000c +3492e00,afab0008 +3492e04,afa3000c +3492e08,c8182b +3492e0c,14600006 +3492e10,1005825 +3492e14,15060006 +3492e18,106182b +3492e1c,ec182b +3492e20,10600003 +3492e24,106182b +3492e28,10000010 +3492e2c,24a9ffff +3492e30,1460000e +3492e34,24aa0001 +3492e38,14cb0005 +3492e3c,187182b +3492e40,50600004 +3492e44,ac480000 +3492e48,10000009 +3492e4c,12a182a +3492e50,ac480000 +3492e54,ac4c0004 +3492e58,8fa30008 +3492e5c,ac430008 +3492e60,8fa3000c +3492e64,10000008 +3492e68,ac43000c +3492e6c,12a182a +3492e70,1060ffda +3492e74,1491821 +3492e78,ac400000 +3492e7c,ac400004 +3492e80,ac400008 +3492e84,ac40000c +3492e88,3e00008 +3492e8c,27bd0010 +3492e90,ac800000 +3492e94,ac800004 +3492e98,ac800008 +3492e9c,3e00008 +3492ea0,ac80000c +3492ea4,27bdffe0 +3492ea8,afbf001c +3492eac,afb00018 +3492eb0,808025 +3492eb4,c104b17 +3492eb8,27a40010 +3492ebc,8fa60010 +3492ec0,8fa70014 +3492ec4,c71025 +3492ec8,14400006 +3492ed0,ae000000 +3492ed4,ae000004 +3492ed8,ae000008 +3492edc,10000003 +3492ee0,ae00000c +3492ee4,c104b6d +3492ee8,2002025 +3492eec,2001025 +3492ef0,8fbf001c +3492ef4,8fb00018 +3492ef8,3e00008 +3492efc,27bd0020 +3492f00,3c038043 +3492f04,8c65d9a8 +3492f08,8c68d9ac +3492f0c,a81825 +3492f10,10600013 +3492f14,801025 +3492f18,c05025 +3492f1c,e02025 +3492f20,3c038043 +3492f24,2463d9a8 +3492f28,55450008 +3492f2c,24630010 +3492f30,54880006 +3492f34,24630010 +3492f38,8c65000c +3492f3c,8c640008 +3492f40,ac450004 +3492f44,3e00008 +3492f48,ac440000 +3492f4c,8c650000 +3492f50,8c680004 +3492f54,a84825 +3492f58,1520fff3 +3492f60,ac460000 +3492f64,3e00008 +3492f68,ac470004 +3492f6c,27bdffe8 +3492f70,afbf0014 +3492f74,afb00010 +3492f78,10a0000a +3492f7c,808025 +3492f80,90a20000 +3492f84,3042007f +3492f88,21600 +3492f8c,3c060006 +3492f90,463025 +3492f94,c104bc0 +3492f98,8ca70004 +3492f9c,10000002 +3492fa0,2001025 +3492fa4,2001025 +3492fa8,8fbf0014 +3492fac,8fb00010 +3492fb0,3e00008 +3492fb4,27bd0018 +3492fb8,27bdffe0 +3492fbc,afbf001c +3492fc0,afb00018 +3492fc4,808025 +3492fc8,c104bdb +3492fcc,27a40010 +3492fd0,8fa60010 +3492fd4,8fa70014 +3492fd8,c71025 +3492fdc,14400006 +3492fe4,ae000000 +3492fe8,ae000004 +3492fec,ae000008 +3492ff0,10000003 +3492ff4,ae00000c +3492ff8,c104b6d +3492ffc,2002025 +3493000,2001025 +3493004,8fbf001c +3493008,8fb00018 +349300c,3e00008 +3493010,27bd0020 +3493014,27bdffe0 +3493018,afbf001c +349301c,afb00018 +3493020,808025 +3493024,90a20000 +3493028,3042007f +349302c,21600 +3493030,3c060006 +3493034,463025 +3493038,8ca70004 +349303c,c104bc0 +3493040,27a40010 +3493044,ae000000 +3493048,93a20010 +349304c,3042007f +3493050,a2020000 +3493054,8fa20014 +3493058,ae020004 +349305c,2001025 +3493060,8fbf001c +3493064,8fb00018 +3493068,3e00008 +349306c,27bd0020 +3493070,27bdffd8 +3493074,afbf0024 +3493078,afb30020 +349307c,afb2001c +3493080,afb10018 +3493084,afb00014 +3493088,afa40028 +349308c,afa5002c +3493090,68a02 +3493094,afa60030 +3493098,afa70034 +349309c,323100ff +34930a0,c106dd8 +34930a4,79c02 +34930a8,409025 +34930ac,c106dbd +34930b0,402025 +34930b4,408025 +34930b8,3c038043 +34930bc,8fa20028 +34930c0,ac62f588 +34930c4,2463f588 +34930c8,8fa2002c +34930cc,ac620004 +34930d0,8fa20030 +34930d4,ac620008 +34930d8,8fa20034 +34930dc,ac62000c +34930e0,240200ca +34930e4,12420005 +34930e8,3c028040 +34930ec,90450024 +34930f0,b12826 +34930f4,10000002 +34930f8,5282b +34930fc,24050002 +3493100,3c028043 +3493104,ac45f584 +3493108,3c028043 +349310c,ac50f580 +3493110,92030001 +3493114,3c028043 +3493118,ac43f57c +349311c,5282b +3493120,c106dcc +3493124,2002025 +3493128,3c038043 +349312c,ac62f578 +3493130,96030004 +3493134,3c028043 +3493138,ac43f574 +349313c,92030006 +3493140,3c028043 +3493144,12600004 +3493148,ac43f570 +349314c,c106dbd +3493150,2602025 +3493154,408025 +3493158,92020007 +349315c,10400008 +3493160,24030001 +3493164,2c43000f +3493168,50600004 +349316c,38420010 +3493170,2c42000d +3493174,10000002 +3493178,38430001 +349317c,2c430001 +3493180,3c028043 +3493184,ac43f56c +3493188,3c028040 +349318c,a0510025 +3493190,8fbf0024 +3493194,8fb30020 +3493198,8fb2001c +349319c,8fb10018 +34931a0,8fb00014 +34931a4,3e00008 +34931a8,27bd0028 +34931ac,3c028043 +34931b0,ac40f588 +34931b4,2442f588 +34931b8,ac400004 +34931bc,ac400008 +34931c0,ac40000c +34931c4,3c028043 +34931c8,ac40f584 +34931cc,3c028043 +34931d0,ac40f580 +34931d4,3c028043 +34931d8,ac40f57c +34931dc,3c028043 +34931e0,ac40f578 +34931e4,3c028043 +34931e8,ac40f574 +34931ec,3c028043 +34931f0,ac40f570 +34931f4,3c028043 +34931f8,3e00008 +34931fc,ac40f56c +3493200,90830001 +3493204,24020005 +3493208,14620005 +349320c,3c038040 +3493210,8c830004 +3493214,240200ff +3493218,10620029 +349321c,3c038040 +3493220,8c620c3c +3493224,8c630c40 +3493228,431025 +349322c,1440000d +3493230,3c028043 +3493234,94830008 +3493238,3c028040 +349323c,a4430030 +3493240,9083000a +3493244,3c028040 +3493248,a4430032 +349324c,8c850004 +3493250,8c840000 +3493254,3c028040 +3493258,ac450c40 +349325c,3e00008 +3493260,ac440c3c +3493264,2442d920 +3493268,2825 +349326c,24070008 +3493270,8c430000 +3493274,8c460004 +3493278,661825 +349327c,5460000e +3493280,24a50001 +3493284,52900 +3493288,3c028043 +349328c,2442d920 +3493290,a22821 +3493294,8c870000 +3493298,8c860004 +349329c,8c830008 +34932a0,8c82000c +34932a4,aca70000 +34932a8,aca60004 +34932ac,aca30008 +34932b0,3e00008 +34932b4,aca2000c +34932b8,14a7ffed +34932bc,24420010 +34932c0,3e00008 +34932c8,3c038040 +34932cc,8c620c3c +34932d0,8c630c40 +34932d4,431025 +34932d8,14400020 +34932dc,3c028043 +34932e0,2447d920 +34932e4,94e40008 +34932e8,3c038040 +34932ec,a4640030 +34932f0,90e4000a +34932f4,3c038040 +34932f8,a4640032 +34932fc,8c45d924 +3493300,8c44d920 +3493304,3c028040 +3493308,ac450c40 +349330c,ac440c3c +3493310,e01025 +3493314,24e70070 +3493318,8c460010 +349331c,8c450014 +3493320,8c440018 +3493324,8c43001c +3493328,ac460000 +349332c,ac450004 +3493330,ac440008 +3493334,ac43000c +3493338,24420010 +349333c,5447fff7 +3493340,8c460010 +3493344,3c028043 +3493348,2442d920 +349334c,ac400070 +3493350,ac400074 +3493354,ac400078 +3493358,ac40007c +349335c,3e00008 +3493364,afa40000 +3493368,afa50004 +349336c,afa60008 +3493370,afa7000c +3493374,3c028044 +3493378,24422040 +349337c,1825 +3493380,24090003 +3493384,8c460020 +3493388,8c470024 +349338c,c74025 +3493390,1500000f +3493398,24620002 +349339c,21100 +34933a0,3c038044 +34933a4,24632040 +34933a8,431021 +34933ac,8fa30000 +34933b0,ac430000 +34933b4,8fa30004 +34933b8,ac430004 +34933bc,8fa30008 +34933c0,ac430008 +34933c4,8fa3000c +34933c8,3e00008 +34933cc,ac43000c +34933d0,14c40003 +34933d4,24630001 +34933d8,10e50003 +34933e0,1469ffe8 +34933e4,24420010 +34933e8,3e00008 +34933f0,3c028040 +34933f4,94420028 +34933f8,10400014 +34933fc,2403ffff +3493400,27bdffd8 +3493404,afbf0024 +3493408,afa00010 +349340c,afa00018 +3493410,a3a30010 +3493414,24030005 +3493418,a3a30011 +349341c,3c038040 +3493420,94630026 +3493424,a3a3001a +3493428,a7a20018 +349342c,8fa40010 +3493430,240500ff +3493434,8fa60018 +3493438,c104cd9 +349343c,3825 +3493440,8fbf0024 +3493444,3e00008 +3493448,27bd0028 +349344c,3e00008 +3493454,27bdffd8 +3493458,afbf0024 +349345c,3c06ff05 +3493460,803825 +3493464,c104b6d +3493468,27a40010 +349346c,8fa20010 +3493470,8fa30014 +3493474,431025 +3493478,10400007 +349347c,8fbf0024 +3493480,8fa40010 +3493484,602825 +3493488,8fa60018 +349348c,c104cd9 +3493490,8fa7001c +3493494,8fbf0024 +3493498,3e00008 +349349c,27bd0028 +34934a0,3c028044 +34934a4,24422040 +34934a8,8c460030 +34934ac,8c450034 +34934b0,8c440038 +34934b4,8c43003c +34934b8,ac460020 +34934bc,ac450024 +34934c0,ac440028 +34934c4,ac43002c +34934c8,8c460040 +34934cc,8c450044 +34934d0,8c440048 +34934d4,8c43004c +34934d8,ac460030 +34934dc,ac450034 +34934e0,ac440038 +34934e4,ac43003c +34934e8,ac400040 +34934ec,ac400044 +34934f0,ac400048 +34934f4,3e00008 +34934f8,ac40004c +34934fc,41402 +3493500,304200ff +3493504,24030005 +3493508,1443000e +349350c,3c025700 +3493510,240200ff +3493514,14a2000b +3493518,3c025700 +349351c,3c028040 +3493520,a4400028 +3493524,3c028040 +3493528,a4400026 +349352c,3c028011 +3493530,3442a660 +3493534,94430000 +3493538,24630001 +349353c,3e00008 +3493540,a4430000 +3493544,14820007 +3493548,24020058 +349354c,14a20005 +3493550,3c02801c +3493554,344284a0 +3493558,8c431d38 +349355c,34630001 +3493560,ac431d38 +3493564,3e00008 +349356c,27bdffe0 +3493570,afbf001c +3493574,afb10018 +3493578,afb00014 +349357c,3c028044 +3493580,24422040 +3493584,8c430028 +3493588,8c510024 +349358c,8c500020 +3493590,32402 +3493594,2402007c +3493598,1482000f +349359c,8fbf001c +34935a0,31a02 +34935a4,3c028040 +34935a8,90420024 +34935ac,306300ff +34935b0,5443000a +34935b4,8fb10018 +34935b8,c105797 +34935c0,c104d28 +34935c8,2202825 +34935cc,c104d3f +34935d0,2002025 +34935d4,8fbf001c +34935d8,8fb10018 +34935dc,8fb00014 +34935e0,3e00008 +34935e4,27bd0020 +34935e8,27bdffe0 +34935ec,afbf001c +34935f0,afb10018 +34935f4,afb00014 +34935f8,3c028043 +34935fc,8c50f588 +3493600,8c51f58c +3493604,2111025 +3493608,10400019 +349360c,3c028040 +3493610,9042002a +3493614,14400004 +3493618,3c028043 +349361c,8c42f584 +3493620,10400005 +3493624,3c028044 +3493628,3c048043 +349362c,c104c80 +3493630,2484f588 +3493634,3c028044 +3493638,24422040 +349363c,8c430020 +3493640,14700007 +3493644,2002025 +3493648,8c420024 +349364c,14510004 +3493654,c104d28 +349365c,2002025 +3493660,c104d3f +3493664,2202825 +3493668,c104c6b +3493670,8fbf001c +3493674,8fb10018 +3493678,8fb00014 +349367c,3e00008 +3493680,27bd0020 +3493684,27bdffb8 +3493688,afbf0044 +349368c,afb10040 +3493690,afb0003c +3493694,3c028044 +3493698,24422040 +349369c,8c430020 +34936a0,8c440024 +34936a4,8c460028 +34936a8,8c45002c +34936ac,afa30028 +34936b0,afa4002c +34936b4,afa60030 +34936b8,afa50034 +34936bc,94500028 +34936c0,641825 +34936c4,1060005d +34936c8,9051002a +34936cc,8fa40028 +34936d0,8fa5002c +34936d4,c106dd8 +34936d8,8fa70034 +34936dc,c106dbd +34936e0,402025 +34936e4,240300ca +34936e8,56030010 +34936ec,80420014 +34936f0,3c038040 +34936f4,90630024 +34936f8,5071000c +34936fc,80420014 +3493700,c106ded +3493704,402025 +3493708,c104d28 +3493710,8fa5002c +3493714,c104d3f +3493718,8fa40028 +349371c,c104c6b +3493724,10000046 +3493728,8fbf0044 +349372c,4400035 +3493730,8fa4002c +3493734,240300ff +3493738,54830033 +349373c,8fa40028 +3493740,3c04801d +3493744,3483aa30 +3493748,8c670024 +349374c,3042ffff +3493750,34428000 +3493754,afa20024 +3493758,afa00020 +349375c,afa0001c +3493760,afa00018 +3493764,c460002c +3493768,e7a00014 +349376c,c4600028 +3493770,e7a00010 +3493774,24060015 +3493778,248584a0 +349377c,3c028002 +3493780,24425110 +3493784,40f809 +3493788,2484a0c4 +349378c,8fa40030 +3493790,8fa30034 +3493794,8fa50028 +3493798,ac4501a0 +349379c,8fa5002c +34937a0,ac4501a4 +34937a4,ac4401a8 +34937a8,ac4301ac +34937ac,3c058042 +34937b0,c4a044bc +34937b4,e4400058 +34937b8,e4400054 +34937bc,e4400050 +34937c0,e440014c +34937c4,3c058042 +34937c8,c4a044c0 +34937cc,e44000bc +34937d0,afa40010 +34937d4,afa30014 +34937d8,8c4601a0 +34937dc,8c4701a4 +34937e0,c107c09 +34937e4,244401b2 +34937e8,c104d28 +34937f0,8fa5002c +34937f4,c104d3f +34937f8,8fa40028 +34937fc,10000010 +3493800,8fbf0044 +3493804,8fa40028 +3493808,8fa5002c +349380c,8fa60030 +3493810,c104c1c +3493814,8fa70034 +3493818,3c02801d +349381c,3442aa30 +3493820,3c038043 +3493824,8c63f5a4 +3493828,ac430428 +349382c,3c038043 +3493830,8c63f580 +3493834,80630000 +3493838,a0430424 +349383c,8fbf0044 +3493840,8fb10040 +3493844,8fb0003c 3493848,3e00008 -3493850,27bdffe0 -3493854,afbf001c -3493858,afb10018 -349385c,afb00014 -3493860,a08825 -3493864,8c900000 -3493868,3c028007 -349386c,3442e1dc -3493870,40f809 -3493874,2002025 -3493878,3c02800a -349387c,3442b900 -3493880,40f809 -3493884,2002025 -3493888,8e0302c0 -349388c,24640008 -3493890,ae0402c0 -3493894,3c04da38 -3493898,24840003 -349389c,ac640000 -34938a0,ac620004 -34938a4,3c058042 -34938a8,1110c0 -34938ac,511021 -34938b0,21080 -34938b4,24a53fd8 -34938b8,a22821 -34938bc,8ca30004 -34938c0,8e0202c0 -34938c4,24440008 -34938c8,ae0402c0 -34938cc,3c04de00 -34938d0,ac440000 -34938d4,ac430004 -34938d8,8fbf001c -34938dc,8fb10018 -34938e0,8fb00014 -34938e4,3e00008 -34938e8,27bd0020 -34938ec,27bdffe0 -34938f0,afbf001c -34938f4,afb10018 -34938f8,afb00014 -34938fc,a08825 -3493900,8c900000 -3493904,3c028007 -3493908,3442e1dc -349390c,40f809 -3493910,2002025 -3493914,3c02800a -3493918,3442b900 -349391c,40f809 -3493920,2002025 -3493924,8e0302c0 -3493928,24640008 -349392c,ae0402c0 -3493930,3c04da38 -3493934,24840003 -3493938,ac640000 -349393c,ac620004 -3493940,3c028042 -3493944,24423fd8 -3493948,1118c0 -349394c,712021 -3493950,42080 -3493954,442021 -3493958,8c860004 -349395c,8e0402c0 -3493960,24850008 -3493964,ae0502c0 -3493968,3c05de00 -349396c,ac850000 -3493970,ac860004 -3493974,711821 -3493978,31880 -349397c,431021 -3493980,8c430008 -3493984,8e0202c0 -3493988,24440008 -349398c,ae0402c0 -3493990,ac450000 -3493994,ac430004 -3493998,8fbf001c -349399c,8fb10018 -34939a0,8fb00014 -34939a4,3e00008 -34939a8,27bd0020 -34939ac,27bdffe0 -34939b0,afbf001c -34939b4,afb10018 -34939b8,afb00014 -34939bc,a08825 -34939c0,8c900000 -34939c4,24050005 -34939c8,3c028007 -34939cc,3442dfbc -34939d0,40f809 -34939d4,8e0402d0 -34939d8,ae0202d0 -34939dc,3c02800a -34939e0,3442b900 -34939e4,40f809 -34939e8,2002025 -34939ec,8e0302d0 -34939f0,24640008 -34939f4,ae0402d0 -34939f8,3c04da38 -34939fc,24840003 -3493a00,ac640000 -3493a04,ac620004 -3493a08,3c058042 -3493a0c,1110c0 -3493a10,511021 -3493a14,21080 -3493a18,24a53fd8 -3493a1c,a22821 -3493a20,8ca30004 -3493a24,8e0202d0 -3493a28,24440008 -3493a2c,ae0402d0 -3493a30,3c04de00 -3493a34,ac440000 -3493a38,ac430004 -3493a3c,8fbf001c -3493a40,8fb10018 -3493a44,8fb00014 -3493a48,3e00008 -3493a4c,27bd0020 -3493a50,27bdffc8 -3493a54,afbf0034 -3493a58,afb70030 -3493a5c,afb6002c -3493a60,afb50028 -3493a64,afb40024 -3493a68,afb30020 -3493a6c,afb2001c -3493a70,afb10018 -3493a74,afb00014 -3493a78,a0a025 -3493a7c,8c900000 -3493a80,3c138007 -3493a84,3673e298 -3493a88,260f809 -3493a8c,2002025 -3493a90,3c17800a -3493a94,36f7b900 -3493a98,2e0f809 -3493a9c,2002025 -3493aa0,8e0302c0 -3493aa4,24640008 -3493aa8,ae0402c0 -3493aac,3c15da38 -3493ab0,26b50003 -3493ab4,ac750000 -3493ab8,ac620004 -3493abc,3c118042 -3493ac0,26313fd8 -3493ac4,1490c0 -3493ac8,2541021 -3493acc,21080 -3493ad0,2221021 -3493ad4,8c430004 -3493ad8,8e0202c0 -3493adc,24440008 -3493ae0,ae0402c0 -3493ae4,3c16de00 -3493ae8,ac560000 -3493aec,ac430004 -3493af0,2673fd24 -3493af4,24050005 -3493af8,260f809 -3493afc,8e0402d0 -3493b00,ae0202d0 -3493b04,2e0f809 -3493b08,2002025 -3493b0c,8e0302d0 -3493b10,24640008 -3493b14,ae0402d0 -3493b18,ac750000 -3493b1c,ac620004 -3493b20,2549021 -3493b24,129080 -3493b28,2328821 -3493b2c,8e230008 -3493b30,8e0202d0 -3493b34,24440008 -3493b38,ae0402d0 -3493b3c,ac560000 -3493b40,ac430004 -3493b44,8fbf0034 -3493b48,8fb70030 -3493b4c,8fb6002c -3493b50,8fb50028 -3493b54,8fb40024 -3493b58,8fb30020 -3493b5c,8fb2001c -3493b60,8fb10018 -3493b64,8fb00014 -3493b68,3e00008 -3493b6c,27bd0038 -3493b70,27bdffe0 -3493b74,afbf001c -3493b78,afb10018 -3493b7c,afb00014 -3493b80,a08825 -3493b84,8c900000 -3493b88,3c028007 -3493b8c,3442e298 -3493b90,40f809 -3493b94,2002025 -3493b98,3c02800a -3493b9c,3442b900 -3493ba0,40f809 -3493ba4,2002025 -3493ba8,8e0302c0 -3493bac,24640008 -3493bb0,ae0402c0 -3493bb4,3c04da38 -3493bb8,24840003 -3493bbc,ac640000 -3493bc0,ac620004 -3493bc4,3c058042 -3493bc8,1110c0 -3493bcc,511021 -3493bd0,21080 -3493bd4,24a53fd8 -3493bd8,a22821 -3493bdc,8ca30004 -3493be0,8e0202c0 -3493be4,24440008 -3493be8,ae0402c0 -3493bec,3c04de00 -3493bf0,ac440000 -3493bf4,ac430004 -3493bf8,8fbf001c -3493bfc,8fb10018 -3493c00,8fb00014 -3493c04,3e00008 -3493c08,27bd0020 -3493c0c,27bdffe0 -3493c10,afbf001c -3493c14,afb10018 -3493c18,afb00014 -3493c1c,a08825 -3493c20,8c900000 -3493c24,3c028007 -3493c28,3442e298 -3493c2c,40f809 -3493c30,2002025 -3493c34,3c02800a -3493c38,3442b900 -3493c3c,40f809 -3493c40,2002025 -3493c44,8e0302c0 -3493c48,24640008 -3493c4c,ae0402c0 -3493c50,3c04da38 -3493c54,24840003 -3493c58,ac640000 -3493c5c,ac620004 -3493c60,3c038042 -3493c64,24633fd8 -3493c68,1120c0 -3493c6c,911021 -3493c70,21080 -3493c74,621021 -3493c78,8c470008 -3493c7c,8e0602c0 -3493c80,24c50008 -3493c84,ae0502c0 -3493c88,3c05de00 -3493c8c,acc50000 -3493c90,acc70004 -3493c94,8c470004 -3493c98,8e0602c0 -3493c9c,24c80008 -3493ca0,ae0802c0 -3493ca4,acc50000 -3493ca8,acc70004 -3493cac,8c46000c -3493cb0,8e0202c0 -3493cb4,24470008 -3493cb8,ae0702c0 -3493cbc,ac450000 -3493cc0,ac460004 -3493cc4,912021 -3493cc8,42080 -3493ccc,641821 -3493cd0,8c630010 -3493cd4,8e0202c0 -3493cd8,24440008 -3493cdc,ae0402c0 -3493ce0,ac450000 -3493ce4,ac430004 -3493ce8,8fbf001c -3493cec,8fb10018 -3493cf0,8fb00014 -3493cf4,3e00008 -3493cf8,27bd0020 -3493cfc,27bdffe0 -3493d00,afbf001c -3493d04,afb10018 -3493d08,afb00014 -3493d0c,a08825 -3493d10,8c900000 -3493d14,3c028007 -3493d18,3442e298 -3493d1c,40f809 -3493d20,2002025 -3493d24,3c02800a -3493d28,3442b900 -3493d2c,40f809 -3493d30,2002025 -3493d34,8e0302c0 -3493d38,24640008 -3493d3c,ae0402c0 -3493d40,3c04da38 -3493d44,24840003 -3493d48,ac640000 -3493d4c,ac620004 -3493d50,3c048042 -3493d54,24843fd8 -3493d58,1130c0 -3493d5c,d11021 -3493d60,21080 -3493d64,821021 -3493d68,8c470008 -3493d6c,8e0502c0 -3493d70,24a30008 -3493d74,ae0302c0 -3493d78,3c03de00 -3493d7c,aca30000 -3493d80,aca70004 -3493d84,8c470004 -3493d88,8e0502c0 -3493d8c,24a80008 -3493d90,ae0802c0 -3493d94,aca30000 -3493d98,aca70004 -3493d9c,8c47000c -3493da0,8e0502c0 -3493da4,24a80008 -3493da8,ae0802c0 -3493dac,aca30000 -3493db0,aca70004 -3493db4,8c470010 -3493db8,8e0502c0 -3493dbc,24a80008 -3493dc0,ae0802c0 -3493dc4,aca30000 -3493dc8,aca70004 -3493dcc,8c470014 -3493dd0,8e0502c0 -3493dd4,24a80008 -3493dd8,ae0802c0 -3493ddc,aca30000 -3493de0,aca70004 -3493de4,8c470018 -3493de8,8e0502c0 -3493dec,24a80008 -3493df0,ae0802c0 -3493df4,aca30000 -3493df8,aca70004 -3493dfc,8c45001c -3493e00,8e0202c0 -3493e04,24470008 -3493e08,ae0702c0 -3493e0c,ac430000 -3493e10,ac450004 -3493e14,d13021 -3493e18,63080 -3493e1c,862021 -3493e20,8c840020 -3493e24,8e0202c0 -3493e28,24450008 -3493e2c,ae0502c0 -3493e30,ac430000 -3493e34,ac440004 -3493e38,8fbf001c -3493e3c,8fb10018 -3493e40,8fb00014 -3493e44,3e00008 -3493e48,27bd0020 -3493e4c,27bdffe0 -3493e50,afbf001c -3493e54,afb10018 -3493e58,afb00014 -3493e5c,a08825 -3493e60,8c900000 -3493e64,3c028007 -3493e68,3442e298 -3493e6c,40f809 -3493e70,2002025 -3493e74,3c02800a -3493e78,3442b900 -3493e7c,40f809 -3493e80,2002025 -3493e84,8e0302c0 -3493e88,24640008 -3493e8c,ae0402c0 -3493e90,3c04da38 -3493e94,24840003 -3493e98,ac640000 -3493e9c,ac620004 -3493ea0,8e0202c0 -3493ea4,24430008 -3493ea8,ae0302c0 -3493eac,3c03e700 -3493eb0,ac430000 -3493eb4,ac400004 -3493eb8,8e0202c0 -3493ebc,24430008 -3493ec0,ae0302c0 -3493ec4,3c03fa00 -3493ec8,ac430000 -3493ecc,2403ffff -3493ed0,ac430004 -3493ed4,8e0202c0 -3493ed8,24430008 -3493edc,ae0302c0 -3493ee0,3c03fb00 -3493ee4,ac430000 -3493ee8,3c03323c -3493eec,24633cff -3493ef0,ac430004 -3493ef4,3c048042 -3493ef8,24843fd8 -3493efc,1130c0 -3493f00,d11021 -3493f04,21080 -3493f08,821021 -3493f0c,8c470004 -3493f10,8e0502c0 -3493f14,24a30008 -3493f18,ae0302c0 -3493f1c,3c03de00 -3493f20,aca30000 -3493f24,aca70004 -3493f28,8c47000c -3493f2c,8e0502c0 -3493f30,24a80008 -3493f34,ae0802c0 -3493f38,aca30000 -3493f3c,aca70004 -3493f40,8c470010 -3493f44,8e0502c0 -3493f48,24a80008 -3493f4c,ae0802c0 -3493f50,aca30000 -3493f54,aca70004 -3493f58,8c470014 -3493f5c,8e0502c0 -3493f60,24a80008 -3493f64,ae0802c0 -3493f68,aca30000 -3493f6c,aca70004 -3493f70,8c470018 -3493f74,8e0502c0 -3493f78,24a80008 -3493f7c,ae0802c0 -3493f80,aca30000 -3493f84,aca70004 -3493f88,8c45001c -3493f8c,8e0202c0 -3493f90,24470008 -3493f94,ae0702c0 -3493f98,ac430000 -3493f9c,ac450004 -3493fa0,d13021 -3493fa4,63080 -3493fa8,862021 -3493fac,8c840020 -3493fb0,8e0202c0 -3493fb4,24450008 -3493fb8,ae0502c0 -3493fbc,ac430000 -3493fc0,ac440004 -3493fc4,8fbf001c -3493fc8,8fb10018 -3493fcc,8fb00014 -3493fd0,3e00008 -3493fd4,27bd0020 -3493fd8,27bdffe0 -3493fdc,afbf001c -3493fe0,afb10018 -3493fe4,afb00014 -3493fe8,a08825 -3493fec,8c900000 -3493ff0,3c028007 -3493ff4,3442e2c0 -3493ff8,40f809 -3493ffc,2002025 -3494000,3c02800a -3494004,3442b900 -3494008,40f809 -349400c,2002025 -3494010,8e0302d0 -3494014,24640008 -3494018,ae0402d0 -349401c,3c04da38 -3494020,24840003 -3494024,ac640000 -3494028,ac620004 -349402c,3c028042 -3494030,24423fd8 -3494034,1118c0 -3494038,712021 -349403c,42080 -3494040,442021 -3494044,8c860004 -3494048,8e0402d0 -349404c,24850008 -3494050,ae0502d0 -3494054,3c05de00 -3494058,ac850000 -349405c,ac860004 -3494060,711821 -3494064,31880 -3494068,431021 -349406c,8c430008 -3494070,8e0202d0 -3494074,24440008 -3494078,ae0402d0 -349407c,ac450000 -3494080,ac430004 -3494084,8fbf001c -3494088,8fb10018 -349408c,8fb00014 -3494090,3e00008 -3494094,27bd0020 -3494098,27bdffc8 -349409c,afbf0034 -34940a0,afb70030 -34940a4,afb6002c -34940a8,afb50028 -34940ac,afb40024 -34940b0,afb30020 -34940b4,afb2001c -34940b8,afb10018 -34940bc,afb00014 -34940c0,a0a025 -34940c4,8c900000 -34940c8,3c138007 -34940cc,3673e298 -34940d0,260f809 -34940d4,2002025 -34940d8,3c17800a -34940dc,36f7b900 -34940e0,2e0f809 -34940e4,2002025 -34940e8,8e0302c0 -34940ec,24640008 -34940f0,ae0402c0 -34940f4,3c15da38 -34940f8,26b50003 -34940fc,ac750000 -3494100,ac620004 -3494104,3c118042 -3494108,26313fd8 -349410c,1490c0 -3494110,2541021 -3494114,21080 -3494118,2221021 -349411c,8c430004 -3494120,8e0202c0 -3494124,24440008 -3494128,ae0402c0 -349412c,3c16de00 -3494130,ac560000 -3494134,ac430004 -3494138,26730028 -349413c,260f809 -3494140,2002025 -3494144,2e0f809 -3494148,2002025 -349414c,8e0302d0 -3494150,24640008 -3494154,ae0402d0 -3494158,ac750000 -349415c,ac620004 -3494160,2549021 -3494164,129080 -3494168,2328821 -349416c,8e230008 -3494170,8e0202d0 -3494174,24440008 -3494178,ae0402d0 -349417c,ac560000 -3494180,ac430004 -3494184,8fbf0034 -3494188,8fb70030 -349418c,8fb6002c -3494190,8fb50028 -3494194,8fb40024 -3494198,8fb30020 -349419c,8fb2001c -34941a0,8fb10018 -34941a4,8fb00014 -34941a8,3e00008 -34941ac,27bd0038 -34941b0,27bdffc8 -34941b4,afbf0034 -34941b8,afb70030 -34941bc,afb6002c -34941c0,afb50028 -34941c4,afb40024 -34941c8,afb30020 -34941cc,afb2001c -34941d0,afb10018 -34941d4,afb00014 -34941d8,a0a825 -34941dc,8c900000 -34941e0,3c11800a -34941e4,3631ad4c -34941e8,24050001 -34941ec,3c028042 -34941f0,220f809 -34941f4,c44cff08 -34941f8,3c148007 -34941fc,3694e298 -3494200,280f809 -3494204,2002025 -3494208,26310bb4 -349420c,220f809 -3494210,2002025 -3494214,8e0302c0 -3494218,24640008 -349421c,ae0402c0 -3494220,3c17da38 -3494224,26f70003 -3494228,ac770000 -349422c,ac620004 -3494230,3c128042 -3494234,26523fd8 -3494238,1598c0 -349423c,2751021 -3494240,21080 -3494244,2421021 -3494248,8c430004 -349424c,8e0202c0 -3494250,24440008 -3494254,ae0402c0 -3494258,3c16de00 -349425c,ac560000 -3494260,ac430004 -3494264,26940028 -3494268,280f809 -349426c,2002025 -3494270,220f809 -3494274,2002025 -3494278,8e0302d0 -349427c,24640008 -3494280,ae0402d0 -3494284,ac770000 -3494288,ac620004 -349428c,2759821 -3494290,139880 -3494294,2539021 -3494298,8e430008 -349429c,8e0202d0 -34942a0,24440008 -34942a4,ae0402d0 -34942a8,ac560000 -34942ac,ac430004 -34942b0,8fbf0034 -34942b4,8fb70030 -34942b8,8fb6002c -34942bc,8fb50028 -34942c0,8fb40024 -34942c4,8fb30020 -34942c8,8fb2001c -34942cc,8fb10018 -34942d0,8fb00014 -34942d4,3e00008 -34942d8,27bd0038 -34942dc,27bdffc8 -34942e0,afbf0034 -34942e4,afb70030 -34942e8,afb6002c -34942ec,afb50028 -34942f0,afb40024 -34942f4,afb30020 -34942f8,afb2001c -34942fc,afb10018 -3494300,afb00014 -3494304,a0a025 -3494308,8c900000 -349430c,3c138007 -3494310,3673e298 -3494314,260f809 -3494318,2002025 -349431c,3c17800a -3494320,36f7b900 -3494324,2e0f809 -3494328,2002025 -349432c,8e0302c0 -3494330,24640008 -3494334,ae0402c0 -3494338,3c16da38 -349433c,26d60003 -3494340,ac760000 -3494344,ac620004 -3494348,3c118042 -349434c,26313fd8 -3494350,1490c0 -3494354,2541021 -3494358,21080 -349435c,2221021 -3494360,8c440008 -3494364,8e0302c0 -3494368,24650008 -349436c,ae0502c0 -3494370,3c15de00 -3494374,ac750000 -3494378,ac640004 -349437c,8c430004 -3494380,8e0202c0 -3494384,24440008 -3494388,ae0402c0 -349438c,ac550000 -3494390,ac430004 -3494394,26730028 -3494398,260f809 -349439c,2002025 -34943a0,2e0f809 -34943a4,2002025 -34943a8,8e0302d0 -34943ac,24640008 -34943b0,ae0402d0 -34943b4,ac760000 -34943b8,ac620004 -34943bc,2549021 -34943c0,129080 -34943c4,2328821 -34943c8,8e23000c -34943cc,8e0202d0 -34943d0,24440008 -34943d4,ae0402d0 -34943d8,ac550000 -34943dc,ac430004 -34943e0,8fbf0034 -34943e4,8fb70030 -34943e8,8fb6002c -34943ec,8fb50028 -34943f0,8fb40024 -34943f4,8fb30020 -34943f8,8fb2001c -34943fc,8fb10018 -3494400,8fb00014 -3494404,3e00008 -3494408,27bd0038 -349440c,27bdffc8 -3494410,afbf0034 -3494414,afbe0030 -3494418,afb7002c -349441c,afb60028 -3494420,afb50024 -3494424,afb40020 -3494428,afb3001c -349442c,afb20018 -3494430,afb10014 -3494434,afb00010 -3494438,a0a825 -349443c,8c900000 -3494440,3c148007 -3494444,3694e298 -3494448,280f809 -349444c,2002025 -3494450,3c1e800a -3494454,37deb900 -3494458,3c0f809 -349445c,2002025 -3494460,8e0302c0 -3494464,24640008 -3494468,ae0402c0 -349446c,3c17da38 -3494470,26f70003 -3494474,ac770000 -3494478,ac620004 -349447c,3c118042 -3494480,26313fd8 -3494484,1590c0 -3494488,2559821 -349448c,139880 -3494490,2339821 -3494494,8e630004 -3494498,8e0202c0 -349449c,24440008 -34944a0,ae0402c0 -34944a4,3c16de00 -34944a8,ac560000 -34944ac,ac430004 -34944b0,26940028 -34944b4,280f809 -34944b8,2002025 -34944bc,3c0f809 -34944c0,2002025 -34944c4,8e0302d0 -34944c8,24640008 -34944cc,ae0402d0 -34944d0,ac770000 -34944d4,ac620004 -34944d8,8e630008 -34944dc,8e0202d0 -34944e0,24440008 -34944e4,ae0402d0 -34944e8,ac560000 -34944ec,ac430004 -34944f0,8e63000c -34944f4,8e0202d0 -34944f8,24440008 -34944fc,ae0402d0 -3494500,ac560000 -3494504,ac430004 -3494508,8fbf0034 -349450c,8fbe0030 -3494510,8fb7002c -3494514,8fb60028 -3494518,8fb50024 -349451c,8fb40020 -3494520,8fb3001c -3494524,8fb20018 -3494528,8fb10014 -349452c,8fb00010 -3494530,3e00008 -3494534,27bd0038 -3494538,27bdffc8 -349453c,afbf0034 -3494540,afbe0030 -3494544,afb7002c -3494548,afb60028 -349454c,afb50024 -3494550,afb40020 -3494554,afb3001c -3494558,afb20018 -349455c,afb10014 -3494560,afb00010 -3494564,a0a825 -3494568,8c900000 -349456c,3c148007 -3494570,3694e298 -3494574,280f809 -3494578,2002025 -349457c,3c1e800a -3494580,37deb900 -3494584,3c0f809 -3494588,2002025 -349458c,8e0302c0 -3494590,24640008 -3494594,ae0402c0 -3494598,3c17da38 -349459c,26f70003 -34945a0,ac770000 -34945a4,ac620004 -34945a8,3c128042 -34945ac,26523fd8 -34945b0,1598c0 -34945b4,2758821 -34945b8,118880 -34945bc,2518821 -34945c0,8e230008 -34945c4,8e0202c0 -34945c8,24440008 -34945cc,ae0402c0 -34945d0,3c16de00 -34945d4,ac560000 -34945d8,ac430004 -34945dc,8e230004 -34945e0,8e0202c0 -34945e4,24440008 -34945e8,ae0402c0 -34945ec,ac560000 -34945f0,ac430004 -34945f4,26940028 -34945f8,280f809 -34945fc,2002025 -3494600,3c0f809 -3494604,2002025 -3494608,8e0302d0 -349460c,24640008 -3494610,ae0402d0 -3494614,ac770000 -3494618,ac620004 -349461c,8e230010 -3494620,8e0202d0 -3494624,24440008 -3494628,ae0402d0 -349462c,ac560000 -3494630,ac430004 -3494634,8e23000c -3494638,8e0202d0 -349463c,24440008 -3494640,ae0402d0 -3494644,ac560000 -3494648,ac430004 -349464c,8fbf0034 -3494650,8fbe0030 -3494654,8fb7002c -3494658,8fb60028 -349465c,8fb50024 -3494660,8fb40020 -3494664,8fb3001c -3494668,8fb20018 -349466c,8fb10014 -3494670,8fb00010 -3494674,3e00008 -3494678,27bd0038 -349467c,27bdffc8 -3494680,afbf0034 -3494684,afbe0030 -3494688,afb7002c -349468c,afb60028 -3494690,afb50024 -3494694,afb40020 -3494698,afb3001c -349469c,afb20018 -34946a0,afb10014 -34946a4,afb00010 -34946a8,a0b025 -34946ac,8c900000 -34946b0,3c148007 -34946b4,3694e298 -34946b8,280f809 -34946bc,2002025 -34946c0,3c1e800a -34946c4,37deb900 -34946c8,3c0f809 -34946cc,2002025 -34946d0,8e0302c0 -34946d4,24640008 -34946d8,ae0402c0 -34946dc,3c17da38 -34946e0,26f70003 -34946e4,ac770000 -34946e8,ac620004 -34946ec,3c128042 -34946f0,26523fd8 -34946f4,1698c0 -34946f8,2768821 -34946fc,118880 -3494700,2518821 -3494704,8e230008 -3494708,8e0202c0 -349470c,24440008 -3494710,ae0402c0 -3494714,3c15de00 -3494718,ac550000 -349471c,ac430004 -3494720,8e230004 -3494724,8e0202c0 -3494728,24440008 -349472c,ae0402c0 -3494730,ac550000 -3494734,ac430004 -3494738,26940028 -349473c,280f809 -3494740,2002025 -3494744,3c0f809 -3494748,2002025 -349474c,8e0302d0 -3494750,24640008 -3494754,ae0402d0 -3494758,ac770000 -349475c,ac620004 -3494760,8e23000c -3494764,8e0202d0 -3494768,24440008 -349476c,ae0402d0 -3494770,ac550000 -3494774,ac430004 -3494778,8e230010 -349477c,8e0202d0 -3494780,24440008 -3494784,ae0402d0 -3494788,ac550000 -349478c,ac430004 -3494790,8e230014 -3494794,8e0202d0 -3494798,24440008 -349479c,ae0402d0 -34947a0,ac550000 -34947a4,ac430004 -34947a8,8fbf0034 -34947ac,8fbe0030 -34947b0,8fb7002c -34947b4,8fb60028 -34947b8,8fb50024 -34947bc,8fb40020 -34947c0,8fb3001c -34947c4,8fb20018 -34947c8,8fb10014 -34947cc,8fb00010 -34947d0,3e00008 -34947d4,27bd0038 -34947d8,27bdffc8 -34947dc,afbf0034 -34947e0,afbe0030 -34947e4,afb7002c -34947e8,afb60028 -34947ec,afb50024 -34947f0,afb40020 -34947f4,afb3001c -34947f8,afb20018 -34947fc,afb10014 -3494800,afb00010 -3494804,a0b825 -3494808,8c900000 -349480c,3c028042 -3494810,c44cff0c -3494814,3c12800a -3494818,3652a8fc -349481c,24070001 -3494820,44066000 -3494824,240f809 -3494828,46006386 -349482c,3c158007 -3494830,36b5e298 -3494834,2a0f809 -3494838,2002025 -349483c,26521004 -3494840,240f809 -3494844,2002025 -3494848,8e0302c0 -349484c,24640008 -3494850,ae0402c0 -3494854,3c1eda38 -3494858,27de0003 -349485c,ac7e0000 -3494860,ac620004 -3494864,3c138042 -3494868,26733fd8 -349486c,17a0c0 -3494870,2978821 -3494874,118880 -3494878,2718821 -349487c,8e230008 -3494880,8e0202c0 -3494884,24440008 -3494888,ae0402c0 -349488c,3c16de00 -3494890,ac560000 -3494894,ac430004 -3494898,8e230004 -349489c,8e0202c0 -34948a0,24440008 -34948a4,ae0402c0 -34948a8,ac560000 -34948ac,ac430004 -34948b0,26b50028 -34948b4,2a0f809 -34948b8,2002025 -34948bc,240f809 -34948c0,2002025 -34948c4,8e0302d0 -34948c8,24640008 -34948cc,ae0402d0 -34948d0,ac7e0000 -34948d4,ac620004 -34948d8,8e230010 -34948dc,8e0202d0 -34948e0,24440008 -34948e4,ae0402d0 -34948e8,ac560000 -34948ec,ac430004 -34948f0,8e23000c -34948f4,8e0202d0 -34948f8,24440008 -34948fc,ae0402d0 -3494900,ac560000 -3494904,ac430004 -3494908,8fbf0034 -349490c,8fbe0030 -3494910,8fb7002c -3494914,8fb60028 -3494918,8fb50024 -349491c,8fb40020 -3494920,8fb3001c -3494924,8fb20018 -3494928,8fb10014 -349492c,8fb00010 -3494930,3e00008 -3494934,27bd0038 -3494938,27bdffb8 -349493c,afbf0044 -3494940,afb30040 -3494944,afb2003c -3494948,afb10038 -349494c,afb00034 -3494950,809825 -3494954,a09025 -3494958,8c900000 -349495c,3c118007 -3494960,3631e298 -3494964,220f809 -3494968,2002025 -349496c,24020020 -3494970,afa20028 -3494974,afa20024 -3494978,afa00020 -349497c,afa0001c -3494980,24030001 -3494984,afa30018 -3494988,afa20014 -349498c,afa20010 -3494990,263108ec -3494994,3825 -3494998,8e66009c -349499c,2825 -34949a0,220f809 -34949a4,2002025 -34949a8,8e0302c0 -34949ac,24640008 -34949b0,ae0402c0 -34949b4,3c04db06 -34949b8,24840020 -34949bc,ac640000 -34949c0,ac620004 -34949c4,3c02800a -34949c8,3442b900 -34949cc,40f809 -34949d0,2002025 -34949d4,8e0302c0 -34949d8,24640008 -34949dc,ae0402c0 -34949e0,3c04da38 -34949e4,24840003 -34949e8,ac640000 -34949ec,ac620004 -34949f0,3c058042 -34949f4,1210c0 -34949f8,521021 -34949fc,21080 -3494a00,24a53fd8 -3494a04,a22821 -3494a08,8ca30004 -3494a0c,8e0202c0 -3494a10,24440008 -3494a14,ae0402c0 -3494a18,3c04de00 -3494a1c,ac440000 -3494a20,ac430004 -3494a24,8fbf0044 -3494a28,8fb30040 -3494a2c,8fb2003c -3494a30,8fb10038 -3494a34,8fb00034 -3494a38,3e00008 -3494a3c,27bd0048 -3494a40,27bdffb8 -3494a44,afbf0044 -3494a48,afb30040 -3494a4c,afb2003c -3494a50,afb10038 -3494a54,afb00034 -3494a58,809825 -3494a5c,a09025 -3494a60,8c900000 -3494a64,3c118007 -3494a68,3631e298 -3494a6c,220f809 -3494a70,2002025 -3494a74,8e62009c -3494a78,23040 -3494a7c,c23021 -3494a80,63040 -3494a84,24020020 -3494a88,afa20028 -3494a8c,afa20024 -3494a90,afa60020 -3494a94,afa6001c -3494a98,24030001 -3494a9c,afa30018 -3494aa0,afa20014 -3494aa4,afa20010 -3494aa8,263108ec -3494aac,c03825 -3494ab0,2825 -3494ab4,220f809 -3494ab8,2002025 -3494abc,8e0302c0 -3494ac0,24640008 -3494ac4,ae0402c0 -3494ac8,3c04db06 -3494acc,24840020 -3494ad0,ac640000 -3494ad4,ac620004 -3494ad8,3c02800a -3494adc,3442b900 -3494ae0,40f809 -3494ae4,2002025 -3494ae8,8e0302c0 -3494aec,24640008 -3494af0,ae0402c0 -3494af4,3c04da38 -3494af8,24840003 -3494afc,ac640000 -3494b00,ac620004 -3494b04,3c058042 -3494b08,1210c0 -3494b0c,521021 -3494b10,21080 -3494b14,24a53fd8 -3494b18,a22821 -3494b1c,8ca30004 -3494b20,8e0202c0 -3494b24,24440008 -3494b28,ae0402c0 -3494b2c,3c04de00 -3494b30,ac440000 -3494b34,ac430004 -3494b38,8fbf0044 -3494b3c,8fb30040 -3494b40,8fb2003c -3494b44,8fb10038 -3494b48,8fb00034 -3494b4c,3e00008 -3494b50,27bd0048 -3494b54,27bdffb8 -3494b58,afbf0044 -3494b5c,afb30040 -3494b60,afb2003c -3494b64,afb10038 -3494b68,afb00034 -3494b6c,809825 -3494b70,a09025 -3494b74,8c900000 -3494b78,3c118007 -3494b7c,3631e2c0 -3494b80,220f809 -3494b84,2002025 -3494b88,8e63009c -3494b8c,33880 -3494b90,24020020 -3494b94,afa20028 -3494b98,afa20024 -3494b9c,32023 -3494ba0,42040 -3494ba4,afa40020 -3494ba8,afa0001c -3494bac,24040001 -3494bb0,afa40018 -3494bb4,afa20014 -3494bb8,afa20010 -3494bbc,263108c4 -3494bc0,673823 -3494bc4,3025 -3494bc8,2825 -3494bcc,220f809 -3494bd0,2002025 -3494bd4,8e0302d0 -3494bd8,24640008 -3494bdc,ae0402d0 -3494be0,3c04db06 -3494be4,24840020 -3494be8,ac640000 -3494bec,ac620004 -3494bf0,3c02800a -3494bf4,3442b900 -3494bf8,40f809 -3494bfc,2002025 -3494c00,8e0302d0 -3494c04,24640008 -3494c08,ae0402d0 -3494c0c,3c04da38 -3494c10,24840003 -3494c14,ac640000 -3494c18,ac620004 -3494c1c,3c058042 -3494c20,1210c0 -3494c24,521021 -3494c28,21080 -3494c2c,24a53fd8 -3494c30,a22821 -3494c34,8ca30004 -3494c38,8e0202d0 -3494c3c,24440008 -3494c40,ae0402d0 -3494c44,3c04de00 -3494c48,ac440000 -3494c4c,ac430004 -3494c50,8fbf0044 -3494c54,8fb30040 -3494c58,8fb2003c -3494c5c,8fb10038 -3494c60,8fb00034 -3494c64,3e00008 -3494c68,27bd0048 -3494c6c,27bdffb8 -3494c70,afbf0044 -3494c74,afb30040 -3494c78,afb2003c -3494c7c,afb10038 -3494c80,afb00034 -3494c84,809825 -3494c88,a09025 -3494c8c,8c900000 -3494c90,3c118007 -3494c94,3631e2c0 -3494c98,220f809 -3494c9c,2002025 -3494ca0,8e67009c -3494ca4,24020020 -3494ca8,afa20028 -3494cac,afa20024 -3494cb0,afa70020 -3494cb4,afa0001c -3494cb8,24030001 -3494cbc,afa30018 -3494cc0,afa20014 -3494cc4,afa20010 -3494cc8,263108c4 -3494ccc,3025 -3494cd0,2825 -3494cd4,220f809 -3494cd8,2002025 -3494cdc,8e0302d0 -3494ce0,24640008 -3494ce4,ae0402d0 -3494ce8,3c04db06 -3494cec,24840020 -3494cf0,ac640000 -3494cf4,ac620004 -3494cf8,3c02800a -3494cfc,3442b900 -3494d00,40f809 -3494d04,2002025 -3494d08,8e0302d0 -3494d0c,24640008 -3494d10,ae0402d0 -3494d14,3c04da38 -3494d18,24840003 -3494d1c,ac640000 -3494d20,ac620004 -3494d24,3c058042 -3494d28,1210c0 -3494d2c,521021 -3494d30,21080 -3494d34,24a53fd8 -3494d38,a22821 -3494d3c,8ca30004 -3494d40,8e0202d0 -3494d44,24440008 -3494d48,ae0402d0 -3494d4c,3c04de00 -3494d50,ac440000 -3494d54,ac430004 -3494d58,8fbf0044 -3494d5c,8fb30040 -3494d60,8fb2003c -3494d64,8fb10038 -3494d68,8fb00034 -3494d6c,3e00008 -3494d70,27bd0048 -3494d74,27bdffb8 -3494d78,afbf0044 -3494d7c,afb30040 -3494d80,afb2003c -3494d84,afb10038 -3494d88,afb00034 -3494d8c,809825 -3494d90,a09025 -3494d94,8c900000 -3494d98,3c118007 -3494d9c,3631e2c0 -3494da0,220f809 -3494da4,2002025 -3494da8,8e63009c -3494dac,33040 -3494db0,33880 -3494db4,673823 -3494db8,24020020 -3494dbc,afa20028 -3494dc0,afa20024 -3494dc4,62023 -3494dc8,afa40020 -3494dcc,afa3001c -3494dd0,24030001 -3494dd4,afa30018 -3494dd8,afa20014 -3494ddc,afa20010 -3494de0,263108c4 -3494de4,73840 -3494de8,2825 -3494dec,220f809 -3494df0,2002025 -3494df4,8e0302d0 -3494df8,24640008 -3494dfc,ae0402d0 -3494e00,3c04db06 -3494e04,24840020 -3494e08,ac640000 -3494e0c,ac620004 -3494e10,3c02800a -3494e14,3442b900 -3494e18,40f809 -3494e1c,2002025 -3494e20,8e0302d0 -3494e24,24640008 -3494e28,ae0402d0 -3494e2c,3c04da38 -3494e30,24840003 -3494e34,ac640000 -3494e38,ac620004 -3494e3c,3c028042 -3494e40,24423fd8 -3494e44,1218c0 -3494e48,722021 -3494e4c,42080 -3494e50,442021 -3494e54,8c870004 -3494e58,8e0602d0 -3494e5c,24c50008 -3494e60,ae0502d0 -3494e64,3c05de00 -3494e68,acc50000 -3494e6c,acc70004 -3494e70,8c860008 -3494e74,8e0402d0 -3494e78,24870008 -3494e7c,ae0702d0 -3494e80,ac850000 -3494e84,ac860004 -3494e88,721821 -3494e8c,31880 -3494e90,431021 -3494e94,8c43000c -3494e98,8e0202d0 -3494e9c,24440008 -3494ea0,ae0402d0 -3494ea4,ac450000 -3494ea8,ac430004 -3494eac,8fbf0044 -3494eb0,8fb30040 -3494eb4,8fb2003c -3494eb8,8fb10038 -3494ebc,8fb00034 -3494ec0,3e00008 -3494ec4,27bd0048 -3494ec8,27bdffb8 -3494ecc,afbf0044 -3494ed0,afb30040 -3494ed4,afb2003c -3494ed8,afb10038 -3494edc,afb00034 -3494ee0,809825 -3494ee4,a09025 -3494ee8,8c900000 -3494eec,3c118007 -3494ef0,3631e2c0 -3494ef4,220f809 -3494ef8,2002025 -3494efc,8e62009c -3494f00,23040 -3494f04,21080 -3494f08,24030020 -3494f0c,afa30028 -3494f10,afa30024 -3494f14,21823 -3494f18,afa30020 -3494f1c,afa2001c -3494f20,24020001 -3494f24,afa20018 -3494f28,24020040 -3494f2c,afa20014 -3494f30,afa20010 -3494f34,263108c4 -3494f38,63823 -3494f3c,2825 -3494f40,220f809 -3494f44,2002025 -3494f48,8e0302d0 -3494f4c,24640008 -3494f50,ae0402d0 -3494f54,3c04db06 -3494f58,24840020 -3494f5c,ac640000 -3494f60,ac620004 -3494f64,3c02800a -3494f68,3442b900 -3494f6c,40f809 -3494f70,2002025 -3494f74,8e0302d0 -3494f78,24640008 -3494f7c,ae0402d0 -3494f80,3c04da38 -3494f84,24840003 -3494f88,ac640000 -3494f8c,ac620004 -3494f90,8e0202d0 -3494f94,24430008 -3494f98,ae0302d0 -3494f9c,3c05de00 -3494fa0,ac450000 -3494fa4,3c038042 -3494fa8,24633f98 -3494fac,ac430004 -3494fb0,3c028042 -3494fb4,24423fd8 -3494fb8,1218c0 -3494fbc,722021 -3494fc0,42080 -3494fc4,442021 -3494fc8,8c860010 -3494fcc,8e0402d0 -3494fd0,24870008 -3494fd4,ae0702d0 -3494fd8,ac850000 -3494fdc,ac860004 -3494fe0,8e0402d0 -3494fe4,24860008 -3494fe8,ae0602d0 -3494fec,ac850000 -3494ff0,3c068042 -3494ff4,24c63fb8 -3494ff8,ac860004 -3494ffc,721821 -3495000,31880 -3495004,431021 -3495008,8c430004 -349500c,8e0202d0 -3495010,24440008 -3495014,ae0402d0 -3495018,ac450000 -349501c,ac430004 -3495020,8fbf0044 -3495024,8fb30040 -3495028,8fb2003c -349502c,8fb10038 -3495030,8fb00034 -3495034,3e00008 -3495038,27bd0048 -349503c,27bdffb8 -3495040,afbf0044 -3495044,afb30040 -3495048,afb2003c -349504c,afb10038 -3495050,afb00034 -3495054,809825 -3495058,a09025 -349505c,8c900000 -3495060,3c118007 -3495064,3631e2c0 -3495068,220f809 -349506c,2002025 -3495070,8e62009c -3495074,23040 -3495078,21080 -349507c,24030020 -3495080,afa30028 -3495084,afa30024 -3495088,21823 -349508c,afa30020 -3495090,afa2001c -3495094,24020001 -3495098,afa20018 -349509c,24020040 -34950a0,afa20014 -34950a4,afa20010 -34950a8,263108c4 -34950ac,63823 -34950b0,2825 -34950b4,220f809 -34950b8,2002025 -34950bc,8e0302d0 -34950c0,24640008 -34950c4,ae0402d0 -34950c8,3c04db06 -34950cc,24840020 -34950d0,ac640000 -34950d4,ac620004 -34950d8,3c02800a -34950dc,3442b900 -34950e0,40f809 -34950e4,2002025 -34950e8,8e0302d0 -34950ec,24640008 -34950f0,ae0402d0 -34950f4,3c04da38 -34950f8,24840003 -34950fc,ac640000 -3495100,ac620004 -3495104,3c038042 -3495108,24633fd8 -349510c,1220c0 -3495110,921021 -3495114,21080 -3495118,621021 -349511c,8c47000c -3495120,8e0602d0 -3495124,24c50008 -3495128,ae0502d0 -349512c,3c05de00 -3495130,acc50000 -3495134,acc70004 -3495138,8c470010 -349513c,8e0602d0 -3495140,24c80008 -3495144,ae0802d0 -3495148,acc50000 -349514c,acc70004 -3495150,8c460008 -3495154,8e0202d0 -3495158,24470008 -349515c,ae0702d0 -3495160,ac450000 -3495164,ac460004 -3495168,922021 -349516c,42080 -3495170,641821 -3495174,8c630004 -3495178,8e0202d0 -349517c,24440008 -3495180,ae0402d0 -3495184,ac450000 -3495188,ac430004 -349518c,8fbf0044 -3495190,8fb30040 -3495194,8fb2003c -3495198,8fb10038 -349519c,8fb00034 -34951a0,3e00008 -34951a4,27bd0048 -34951a8,27bdffa8 -34951ac,afbf0054 -34951b0,afbe0050 -34951b4,afb7004c -34951b8,afb60048 -34951bc,afb50044 -34951c0,afb40040 -34951c4,afb3003c -34951c8,afb20038 -34951cc,afb10034 -34951d0,afb00030 -34951d4,808825 -34951d8,a0b025 -34951dc,8c900000 -34951e0,3c128007 -34951e4,3652e298 -34951e8,240f809 -34951ec,2002025 -34951f0,8e27009c -34951f4,73023 -34951f8,24020020 -34951fc,afa20028 -3495200,afa20024 -3495204,afa70020 -3495208,afa6001c -349520c,24030001 -3495210,afa30018 -3495214,afa20014 -3495218,afa20010 -349521c,264208ec -3495220,2825 -3495224,40f809 -3495228,2002025 -349522c,8e0302c0 -3495230,24640008 -3495234,ae0402c0 -3495238,3c04db06 -349523c,24840020 -3495240,ac640000 -3495244,ac620004 -3495248,3c1e800a -349524c,37deb900 -3495250,3c0f809 -3495254,2002025 -3495258,8e0302c0 -349525c,24640008 -3495260,ae0402c0 -3495264,3c17da38 -3495268,26f70003 -349526c,ac770000 -3495270,ac620004 -3495274,3c148042 -3495278,26943fd8 -349527c,16a8c0 -3495280,2b68821 -3495284,118880 -3495288,2918821 -349528c,8e230008 -3495290,8e0202c0 -3495294,24440008 -3495298,ae0402c0 -349529c,3c13de00 -34952a0,ac530000 -34952a4,ac430004 -34952a8,8e230004 -34952ac,8e0202c0 -34952b0,24440008 -34952b4,ae0402c0 -34952b8,ac530000 -34952bc,ac430004 -34952c0,8e23000c -34952c4,8e0202c0 -34952c8,24440008 -34952cc,ae0402c0 -34952d0,ac530000 -34952d4,ac430004 -34952d8,8e230010 -34952dc,8e0202c0 -34952e0,24440008 -34952e4,ae0402c0 -34952e8,ac530000 -34952ec,ac430004 -34952f0,26520028 -34952f4,240f809 -34952f8,2002025 -34952fc,3c0f809 -3495300,2002025 -3495304,8e0302d0 -3495308,24640008 -349530c,ae0402d0 -3495310,ac770000 -3495314,ac620004 -3495318,8e230014 -349531c,8e0202d0 -3495320,24440008 -3495324,ae0402d0 -3495328,ac530000 -349532c,ac430004 -3495330,8e230018 -3495334,8e0202d0 -3495338,24440008 -349533c,ae0402d0 -3495340,ac530000 -3495344,ac430004 -3495348,8fbf0054 -349534c,8fbe0050 -3495350,8fb7004c -3495354,8fb60048 -3495358,8fb50044 -349535c,8fb40040 -3495360,8fb3003c -3495364,8fb20038 -3495368,8fb10034 -349536c,8fb00030 -3495370,3e00008 -3495374,27bd0058 -3495378,27bdffa8 -349537c,afbf0054 -3495380,afb70050 -3495384,afb6004c -3495388,afb50048 -349538c,afb40044 -3495390,afb30040 -3495394,afb2003c -3495398,afb10038 -349539c,afb00034 -34953a0,809025 -34953a4,a0a025 -34953a8,8c900000 -34953ac,3c118007 -34953b0,3631e298 -34953b4,220f809 -34953b8,2002025 -34953bc,8e42009c -34953c0,21840 -34953c4,33fc3 -34953c8,73e02 -34953cc,671821 -34953d0,306300ff -34953d4,24040020 -34953d8,afa40028 -34953dc,afa40024 -34953e0,227c3 -34953e4,42642 -34953e8,441021 -34953ec,3042007f -34953f0,441023 -34953f4,afa20020 -34953f8,afa0001c -34953fc,24020001 -3495400,afa20018 -3495404,24020040 +349384c,27bd0048 +3493850,27bdffe8 +3493854,afbf0014 +3493858,c104cb2 +3493860,c104cfc +3493868,3c028011 +349386c,3442f200 +3493870,8c430000 +3493874,3c02802c +3493878,24425880 +349387c,50620068 +3493880,3c028043 +3493884,10600063 +3493888,1025 +349388c,3c028011 +3493890,3442a5d0 +3493894,8c42135c +3493898,1440005e +349389c,1025 +34938a0,3c02801c +34938a4,344284a0 +34938a8,3c030001 +34938ac,431021 +34938b0,94420934 +34938b4,14400057 +34938b8,1025 +34938bc,3c02801c +34938c0,344284a0 +34938c4,944200a4 +34938c8,2442ffd4 +34938cc,3042ffff +34938d0,2c430020 +34938d4,50600008 +34938d8,3c02801d +34938dc,3c038040 +34938e0,246300ff +34938e4,431806 +34938e8,30630001 +34938ec,14600049 +34938f0,1025 +34938f4,3c02801d +34938f8,3442aa30 +34938fc,8c42066c +3493900,3c03fcac +3493904,24632485 +3493908,431024 +349390c,14400041 +3493910,1025 +3493914,3c02801d +3493918,3442aa30 +349391c,94420088 +3493920,30420001 +3493924,1040003b +3493928,1025 +349392c,3c02801d +3493930,3442aa30 +3493934,8c420670 +3493938,3c03000c +349393c,431024 +3493940,14400034 +3493944,1025 +3493948,3c02800e +349394c,3442f1b0 +3493950,8c420000 +3493954,30420020 +3493958,1440002e +349395c,1025 +3493960,3c02801c +3493964,344284a0 +3493968,8c420794 +349396c,14400029 +3493970,1025 +3493974,3c028043 +3493978,9042f566 +349397c,24420001 +3493980,304200ff +3493984,2c430006 +3493988,14600023 +349398c,3c038043 +3493990,3c028043 +3493994,c104d5b +3493998,a040f566 +349399c,c105792 +34939a4,10400012 +34939a8,3c02801c +34939ac,344284a0 +34939b0,944300a4 +34939b4,24020010 +34939b8,14620009 +34939bc,3c028040 +34939c0,90426d30 +34939c4,1440000a +34939c8,3c02801c +34939cc,344284a0 +34939d0,8c421d38 +34939d4,30420400 +34939d8,10400005 +34939e0,c10579d +34939e8,1000000f +34939ec,8fbf0014 +34939f0,c104da1 +34939f8,1000000b +34939fc,8fbf0014 +3493a00,10000004 +3493a04,1025 +3493a08,10000002 +3493a0c,1025 +3493a10,1025 +3493a14,3c038043 +3493a18,10000002 +3493a1c,a062f566 +3493a20,a040f566 +3493a24,8fbf0014 +3493a28,3e00008 +3493a2c,27bd0018 +3493a30,27bdffc0 +3493a34,afbf003c +3493a38,afb60038 +3493a3c,afb50034 +3493a40,afb40030 +3493a44,afb3002c +3493a48,afb20028 +3493a4c,afb10024 +3493a50,afb00020 +3493a54,a09825 +3493a58,1080002e +3493a5c,c08825 +3493a60,10c0002c +3493a64,808025 +3493a68,4c10004 +3493a6c,c0a025 +3493a70,6a023 +3493a74,14a600 +3493a78,14a603 +3493a7c,c106dbd +3493a80,3284ffff +3493a84,10400065 +3493a88,409025 +3493a8c,90430001 +3493a90,3c028040 +3493a94,90421f43 +3493a98,14400006 +3493a9c,60a825 +3493aa0,2402003d +3493aa4,14620071 +3493aa8,328700ff +3493aac,10000004 +3493ab0,86020000 +3493ab4,1860006d +3493ab8,328700ff +3493abc,86020000 +3493ac0,2404000a +3493ac4,10440068 +3493ac8,2404013d +3493acc,10440067 +3493ad0,328700ff +3493ad4,3076ffff +3493ad8,c108b39 +3493adc,2c02025 +3493ae0,10400062 +3493ae4,328700ff +3493ae8,2402003d +3493aec,16a20005 +3493af0,26c4ffff +3493af4,c108c7b +3493af8,24040037 +3493afc,1000005b +3493b00,328700ff +3493b04,c108c7b +3493b08,3084ffff +3493b0c,10000057 +3493b10,328700ff +3493b14,c104c6b +3493b18,9025 +3493b1c,12400061 +3493b20,a2710424 +3493b24,92420001 +3493b28,2442ffdc +3493b2c,304200ff +3493b30,2c420008 +3493b34,1040005c +3493b38,8fbf003c +3493b3c,3c028040 +3493b40,90421f44 +3493b44,10400059 +3493b48,8fb60038 +3493b4c,c106ded +3493b50,2402025 +3493b54,10000054 +3493b58,8fbf003c +3493b5c,8fa40010 +3493b60,8fa50014 +3493b64,8fa60018 +3493b68,c104c1c +3493b6c,8fa7001c +3493b70,3c028043 +3493b74,8c42f580 +3493b78,86040000 +3493b7c,2403000a +3493b80,1483001b +3493b84,80420000 +3493b88,2403007c +3493b8c,56830014 +3493b90,9603001c +3493b94,3c038040 +3493b98,90630024 +3493b9c,54750010 +3493ba0,9603001c +3493ba4,3c038040 +3493ba8,90631dd3 +3493bac,14600006 +3493bb0,3c03801c +3493bb4,3c038043 +3493bb8,8c63f56c +3493bbc,50600008 +3493bc0,9603001c +3493bc4,3c03801c +3493bc8,346384a0 +3493bcc,946400a4 +3493bd0,24030010 +3493bd4,54830001 +3493bd8,2402007c +3493bdc,9603001c +3493be0,3063f01f +3493be4,22140 +3493be8,641825 +3493bec,a603001c +3493bf0,623002c +3493bf4,a2620424 +3493bf8,21023 +3493bfc,21600 +3493c00,21603 +3493c04,10000027 +3493c08,a2620424 +3493c0c,c104c6b +3493c14,10000023 +3493c18,a2710424 +3493c1c,328700ff +3493c20,3c02801c +3493c24,344284a0 +3493c28,904600a5 +3493c2c,2002825 +3493c30,c104ba9 +3493c34,27a40010 +3493c38,97b40018 +3493c3c,8fa20010 +3493c40,8fa30014 +3493c44,431025 +3493c48,1440ffc4 +3493c4c,93b5001a +3493c50,1000ffee +3493c58,c104c6b +3493c60,1000ffb0 +3493c64,a2710424 +3493c68,328700ff +3493c6c,3c02801c +3493c70,344284a0 +3493c74,904600a5 +3493c78,2002825 +3493c7c,c104ba9 +3493c80,27a40010 +3493c84,97b40018 +3493c88,8fa20010 +3493c8c,8fa30014 +3493c90,431025 +3493c94,1440ffb1 +3493c98,93b5001a +3493c9c,1000ffee +3493ca4,8fbf003c +3493ca8,8fb60038 +3493cac,8fb50034 +3493cb0,8fb40030 +3493cb4,8fb3002c +3493cb8,8fb20028 +3493cbc,8fb10024 +3493cc0,8fb00020 +3493cc4,3e00008 +3493cc8,27bd0040 +3493ccc,3c028043 +3493cd0,3e00008 +3493cd4,ac40d918 +3493cd8,27bdffd8 +3493cdc,afbf0024 +3493ce0,afb40020 +3493ce4,afb3001c +3493ce8,afb20018 +3493cec,afb10014 +3493cf0,afb00010 +3493cf4,90910000 +3493cf8,3231007f +3493cfc,2402003e +3493d00,1622000f +3493d04,808025 +3493d08,113e00 +3493d0c,8c820004 +3493d10,21ac2 +3493d14,30631f00 +3493d18,e33821 +3493d1c,213c2 +3493d20,3042000f +3493d24,e23821 +3493d28,3c028043 +3493d2c,8c429570 +3493d30,54470012 +3493d34,3c028043 +3493d38,100000a0 +3493d3c,8e020004 +3493d40,90870000 +3493d44,30e7007f +3493d48,73e00 +3493d4c,8c820004 +3493d50,21c02 +3493d54,306300c0 +3493d58,e33821 +3493d5c,21402 +3493d60,3042003f +3493d64,e23821 +3493d68,3c028043 +3493d6c,8c429570 +3493d70,504700a2 +3493d74,92020006 +3493d78,3c028043 +3493d7c,2403ffff +3493d80,a443956c +3493d84,3c028043 +3493d88,2403ffff +3493d8c,ac439570 +3493d90,92020000 +3493d94,3042007f +3493d98,21040 +3493d9c,3c038043 +3493da0,2463f49c +3493da4,431021 +3493da8,94420000 +3493dac,3403ffff +3493db0,104300a1 +3493db4,24430001 +3493db8,3c048043 +3493dbc,2484f1e0 +3493dc0,441021 +3493dc4,904a0000 +3493dc8,1140009a +3493dcc,3063ffff +3493dd0,92090000 +3493dd4,3129007f +3493dd8,2025 +3493ddc,240b003e +3493de0,3c088043 +3493de4,2508f1e0 +3493de8,152b000e +3493dec,681021 +3493df0,904c0000 +3493df4,24660002 +3493df8,30c6ffff +3493dfc,24630001 +3493e00,3063ffff +3493e04,681821 +3493e08,90650000 +3493e0c,8e020004 +3493e10,21bc2 +3493e14,3063000f +3493e18,214c2 +3493e1c,1000000b +3493e20,3042001f +3493e24,90450000 +3493e28,56182 +3493e2c,24630001 +3493e30,3066ffff +3493e34,30a5003f +3493e38,8e020004 +3493e3c,21c02 +3493e40,3063003f +3493e44,21582 +3493e48,30420003 +3493e4c,14a30010 +3493e50,24c30002 +3493e54,5582000f +3493e58,24840001 +3493e5c,3c028043 +3493e60,2442f1e0 +3493e64,c23021 +3493e68,90c20000 +3493e6c,21200 +3493e70,90c30001 +3493e74,431021 +3493e78,3042ffff +3493e7c,3403ffff +3493e80,54430009 +3493e84,3c048043 +3493e88,1000006c +3493e8c,8fbf0024 +3493e90,24840001 +3493e94,308400ff +3493e98,1544ffd3 +3493e9c,3063ffff +3493ea0,10000065 +3493ea4,3402ffff +3493ea8,2484e628 +3493eac,442821 +3493eb0,90a30000 +3493eb4,31a00 +3493eb8,90a50001 +3493ebc,651821 +3493ec0,3c058043 +3493ec4,a4a3956c +3493ec8,24520003 +3493ecc,3252ffff +3493ed0,24420002 +3493ed4,3042ffff +3493ed8,441021 +3493edc,90540000 +3493ee0,149842 +3493ee4,3c048043 +3493ee8,a080d808 +3493eec,3c028043 +3493ef0,ac479570 +3493ef4,24050100 +3493ef8,3c028000 +3493efc,24422e80 +3493f00,40f809 +3493f04,2484d808 +3493f08,2e940002 +3493f0c,16800027 +3493f10,1825 +3493f14,3025 +3493f18,4025 +3493f1c,3c098043 +3493f20,2529e628 +3493f24,3c0b8043 +3493f28,256bd808 +3493f2c,26420001 +3493f30,3042ffff +3493f34,2492021 +3493f38,90850000 +3493f3c,26520002 +3493f40,491021 +3493f44,90470000 +3493f48,10e00013 +3493f4c,3252ffff +3493f50,605025 +3493f54,1631821 +3493f58,672021 +3493f5c,c01025 +3493f60,a21021 +3493f64,10a00002 +3493f68,304200ff +3493f6c,a0620000 +3493f70,24630001 +3493f74,1483fffb +3493f78,a21021 +3493f7c,a63021 +3493f80,24e2ffff +3493f84,a20018 +3493f88,1012 +3493f8c,c23021 +3493f90,30c600ff +3493f94,ea1821 +3493f98,25080001 +3493f9c,310800ff +3493fa0,113102b +3493fa4,1440ffe2 +3493fa8,26420001 +3493fac,2402003e +3493fb0,56220012 +3493fb4,92020006 +3493fb8,8e020004 +3493fbc,21202 +3493fc0,3042007f +3493fc4,3c038043 +3493fc8,2463d808 +3493fcc,431021 +3493fd0,90430000 +3493fd4,10600018 +3493fd8,3402ffff +3493fdc,3c028043 +3493fe0,9442956c +3493fe4,2442ffff +3493fe8,92040007 +3493fec,441021 +3493ff0,431021 +3493ff4,10000010 +3493ff8,3042ffff +3493ffc,3c038043 +3494000,2463d808 +3494004,431021 +3494008,90430000 +349400c,1060000a +3494010,3402ffff +3494014,3c028043 +3494018,9442956c +349401c,2442ffff +3494020,92040007 +3494024,441021 +3494028,431021 +349402c,10000002 +3494030,3042ffff +3494034,3402ffff +3494038,8fbf0024 +349403c,8fb40020 +3494040,8fb3001c +3494044,8fb20018 +3494048,8fb10014 +349404c,8fb00010 +3494050,3e00008 +3494054,27bd0028 +3494058,8c830004 +349405c,10600017 +3494060,24020001 +3494064,27bdffe8 +3494068,afbf0014 +349406c,c104f36 +3494074,402025 +3494078,3403ffff +349407c,1083000c +3494080,24020001 +3494084,418c2 +3494088,3063ffff +349408c,3c028043 +3494090,8c42d9a0 +3494094,431021 +3494098,90430000 +349409c,30840007 +34940a0,24020080 +34940a4,821007 +34940a8,621024 +34940ac,2102b +34940b0,8fbf0014 +34940b4,3e00008 +34940b8,27bd0018 +34940bc,3e00008 +34940c4,27bdffe8 +34940c8,afbf0014 +34940cc,c104f36 +34940d4,3403ffff +34940d8,1043000b +34940dc,218c2 +34940e0,3063ffff +34940e4,3c048043 +34940e8,8c84d9a0 +34940ec,832021 +34940f0,30420007 +34940f4,24030080 +34940f8,431007 +34940fc,90830000 +3494100,431025 +3494104,a0820000 +3494108,8fbf0014 +349410c,3e00008 +3494110,27bd0018 +3494114,27bdffe8 +3494118,afbf0014 +349411c,afb00010 +3494120,8c8201a0 +3494124,8c8301a4 +3494128,431025 +349412c,10400007 +3494130,808025 +3494134,c101c56 +349413c,c105016 +3494140,24440004 +3494144,1040000d +3494148,8fbf0014 +349414c,240200dc +3494150,a602014a +3494154,9602001c +3494158,24030011 +349415c,10430006 +3494160,2442fffa +3494164,3042ffff +3494168,2c420002 +349416c,14400002 +3494170,2402ffff +3494174,a2020003 +3494178,8fbf0014 +349417c,8fb00010 +3494180,3e00008 +3494184,27bd0018 +3494188,84830000 +349418c,24020015 +3494190,14620009 +3494198,908201b1 +349419c,10400006 +34941a4,8c8201a0 +34941a8,8c8301a4 +34941ac,431025 +34941b0,1440000a +34941b8,27bdffe8 +34941bc,afbf0014 +34941c0,3c028002 +34941c4,24420eb4 +34941c8,40f809 +34941d0,8fbf0014 +34941d4,3e00008 +34941d8,27bd0018 +34941dc,3e00008 +34941e4,27bdffb8 +34941e8,afbf0044 +34941ec,afb10040 +34941f0,afb0003c +34941f4,a08001b0 +34941f8,afa00018 +34941fc,afa0001c +3494200,3c028043 +3494204,8c42f5a0 +3494208,10400008 +349420c,808025 +3494210,3c028043 +3494214,8c43f59c +3494218,2442f59c +349421c,8c420004 +3494220,afa30018 +3494224,1000002e +3494228,afa2001c +349422c,3c028040 +3494230,944269ec +3494234,1040002a +3494238,3c03801c +349423c,346384a0 +3494240,946400a4 +3494244,3085007f +3494248,93a30018 +349424c,30630080 +3494250,651825 +3494254,a3a30018 +3494258,2403003e +349425c,54830019 +3494260,92030003 +3494264,92040003 +3494268,3084000f +349426c,423c0 +3494270,8fa3001c +3494274,3c05fff8 +3494278,24a57fff +349427c,651824 +3494280,641825 +3494284,3c048011 +3494288,3484a5d0 +349428c,90841397 +3494290,3084001f +3494294,424c0 +3494298,3c05ff07 +349429c,34a5ffff +34942a0,651824 +34942a4,641825 +34942a8,3042007f +34942ac,22200 +34942b0,240280ff +34942b4,621024 +34942b8,441025 +34942bc,10000008 +34942c0,afa2001c +34942c4,3c048044 +34942c8,90842098 +34942cc,42180 +34942d0,3063003f +34942d4,641825 +34942d8,a3a3001d +34942dc,a3a2001e +34942e0,c101c56 +34942e4,2002025 +34942e8,408825 +34942ec,27a50018 +34942f0,c104c05 +34942f4,27a40020 +34942f8,8fa20020 +34942fc,afa20018 +3494300,8fa20024 +3494304,afa2001c +3494308,27a50018 +349430c,c104bee +3494310,27a40028 +3494314,8fa60028 +3494318,8fa7002c +349431c,8fa30030 +3494320,8fa20034 +3494324,ae0601a0 +3494328,ae0701a4 +349432c,ae0301a8 +3494330,ae0201ac +3494334,afa30010 +3494338,afa20014 +349433c,c107c09 +3494340,260401b2 +3494344,c105016 +3494348,27a40018 +349434c,50400008 +3494350,8e0201a0 +3494354,ae0001a0 +3494358,ae0001a4 +349435c,ae0001a8 +3494360,ae0001ac +3494364,ae200004 +3494368,ae200008 +349436c,8e0201a0 +3494370,8e0301a4 +3494374,431025 +3494378,50400007 +349437c,96050140 +3494380,8fa2001c +3494384,8fa30018 +3494388,ae230004 +349438c,ae220008 +3494390,1000000e +3494394,1025 +3494398,3c04801c +349439c,3c028002 +34943a0,244206e8 +34943a4,40f809 +34943a8,348484a0 +34943ac,10400008 +34943b0,8fbf0044 +34943b4,3c028002 +34943b8,24420eb4 +34943bc,40f809 +34943c0,2002025 +34943c4,10000001 +34943c8,24020001 +34943cc,8fbf0044 +34943d0,8fb10040 +34943d4,8fb0003c +34943d8,3e00008 +34943dc,27bd0048 +34943e0,27bdffe8 +34943e4,afbf0014 +34943e8,afb00010 +34943ec,808025 +34943f0,3c038011 +34943f4,3463a5d0 +34943f8,8062008e +34943fc,28440010 +3494400,14800010 +3494404,80630094 +3494408,28640010 +349440c,1480000e +3494410,62102a +3494414,3c02800c +3494418,3442dccc +349441c,40f809 +3494424,3c028042 +3494428,c44244c4 +349442c,4602003c +3494434,45020006 +3494438,24100005 +349443c,10000005 +3494440,2001025 +3494444,62102a +3494448,54400001 +349444c,24100005 +3494450,2001025 +3494454,8fbf0014 +3494458,8fb00010 +349445c,3e00008 +3494460,27bd0018 +3494464,27bdffe8 +3494468,afbf0014 +349446c,afb00010 +3494470,808025 +3494474,3c048043 +3494478,c105016 +349447c,2484f59c +3494480,1440000b +3494484,3c028011 +3494488,3202ffff +349448c,2c430019 +3494490,1060007a +3494494,3c0301e2 +3494498,246300c0 +349449c,431806 +34944a0,30630001 +34944a4,10600087 +34944a8,1025 +34944ac,3c028011 +34944b0,3442a5d0 +34944b4,8c420004 +34944b8,14400009 +34944bc,2602fff8 +34944c0,24020010 +34944c4,1202007b +34944c8,24020008 +34944cc,2402000d +34944d0,56020008 +34944d4,3c028040 +34944d8,10000074 +34944dc,1025 +34944e0,3042ffff +34944e4,2c420003 +34944e8,14400072 +34944ec,24020010 +34944f0,3c028040 +34944f4,8c421dc4 +34944f8,10400020 +34944fc,3202ffff +3494500,2c43001a +3494504,1060006d +3494508,3203ffff +349450c,3c030200 +3494510,24630810 +3494514,431806 +3494518,30630001 +349451c,10600065 +3494520,2001025 +3494524,3c028011 +3494528,3442a5d0 +349452c,90430076 +3494530,240200ff +3494534,1062000a +3494538,240300ff +349453c,3c028011 +3494540,3442a5d0 +3494544,9044007c +3494548,1083005e +349454c,2001025 +3494550,c1050f8 +3494554,2002025 +3494558,1000005b +349455c,8fbf0014 +3494560,3c028011 +3494564,3442a5d0 +3494568,9044007c +349456c,14830055 +3494570,24020005 +3494574,10000053 +3494578,2402ffff +349457c,3203ffff +3494580,2c62001a +3494584,1040000f +3494588,2001025 +349458c,3c040200 +3494590,24840810 +3494594,642006 +3494598,30840001 +349459c,1080000a +34945a0,2464fff8 +34945a4,3c048011 +34945a8,3484a5d0 +34945ac,90850076 +34945b0,240400ff +34945b4,14a40004 +34945b8,2464fff8 +34945bc,10000031 +34945c0,2402ffff +34945c4,2464fff8 +34945c8,3084ffff +34945cc,2c840003 +34945d0,10800009 +34945d4,2463fff2 +34945d8,3c038011 +34945dc,3463a5d0 +34945e0,90640077 +34945e4,240300ff +34945e8,54830037 +34945ec,8fbf0014 +34945f0,10000026 +34945f4,2402ffff +34945f8,3063ffff +34945fc,2c630002 +3494600,10600008 +3494604,24030010 +3494608,3c038011 +349460c,3463a5d0 +3494610,90630032 +3494614,5460002c +3494618,8fbf0014 +349461c,1000001d +3494620,2402ffff +3494624,14430008 +3494628,3c038011 +349462c,3463a5d0 +3494630,9064007a +3494634,240300ff +3494638,54830023 +349463c,8fbf0014 +3494640,10000016 +3494644,2402ffff +3494648,24030003 +349464c,1443001d +3494650,3c038011 +3494654,3463a5d0 +3494658,8464002e +349465c,84630030 +3494660,10830010 +3494664,3c038040 +3494668,90631dd2 +349466c,2c630001 +3494670,31823 +3494674,10000013 +3494678,431024 +349467c,10000011 +3494680,1025 +3494684,10000010 +3494688,8fbf0014 +349468c,1000000e +3494690,8fbf0014 +3494694,1000000c +3494698,8fbf0014 +349469c,1000000a +34946a0,8fbf0014 +34946a4,10000007 +34946a8,1025 +34946ac,1000ffb7 +34946b0,3043ffff +34946b4,1000ffb5 +34946b8,3043ffff +34946bc,1000ffc1 +34946c0,2001025 +34946c4,8fbf0014 +34946c8,8fb00010 +34946cc,3e00008 +34946d0,27bd0018 +34946d4,27bdffe8 +34946d8,afbf0014 +34946dc,afb00010 +34946e0,240200ca +34946e4,1482000d +34946e8,e08025 +34946ec,c104c80 +34946f0,c02025 +34946f4,c106ded +34946f8,2002025 +34946fc,92050001 +3494700,3c04801c +3494704,3c028006 +3494708,3442fdcc +349470c,40f809 +3494710,348484a0 +3494714,10000017 +3494718,8fbf0014 +349471c,3c028040 +3494720,90420024 +3494724,10450005 +3494728,3c028040 +349472c,c104c80 +3494730,c02025 +3494734,1000000f +3494738,8fbf0014 +349473c,9042002a +3494740,10400003 +3494748,c104c80 +349474c,c02025 +3494750,c106ded +3494754,2002025 +3494758,92050001 +349475c,3c04801c +3494760,3c028006 +3494764,3442fdcc +3494768,40f809 +349476c,348484a0 +3494770,8fbf0014 +3494774,8fb00010 +3494778,3e00008 +349477c,27bd0018 +3494780,27bdffb8 +3494784,afbf0044 +3494788,afb30040 +349478c,afb2003c +3494790,afb10038 +3494794,afb00034 +3494798,808825 +349479c,c08025 +34947a0,8cd201a0 +34947a4,8cd301a4 +34947a8,8cc301a8 +34947ac,8cc201ac +34947b0,afb20018 +34947b4,afb3001c +34947b8,afa30020 +34947bc,afa20024 +34947c0,c101c56 +34947c4,c02025 +34947c8,8c430004 +34947cc,8c420008 +34947d0,afa30028 +34947d4,2539025 +34947d8,12400005 +34947dc,afa2002c +34947e0,c105016 +34947e4,27a40028 +34947e8,5040000c +34947ec,3c028043 +34947f0,3c028043 +34947f4,24429574 +34947f8,2228821 +34947fc,92250000 +3494800,3c04801c +3494804,3c028006 +3494808,3442fdcc +349480c,40f809 +3494810,348484a0 +3494814,10000085 +3494818,1025 +349481c,8c43d918 +3494820,14600082 +3494824,24020002 +3494828,8e020130 +349482c,1040007e +3494830,3c028043 +3494834,ac50d918 +3494838,3c118043 +349483c,8fa40018 +3494840,8fa5001c +3494844,8fa60020 +3494848,8fa70024 +349484c,ae24d908 +3494850,2631d908 +3494854,ae250004 +3494858,ae260008 +349485c,c106dd8 +3494860,ae27000c +3494864,409825 +3494868,c106dbd +349486c,402025 +3494870,409025 +3494874,c105031 +3494878,27a40028 +349487c,9231000a +3494880,3c038040 +3494884,a0710025 +3494888,82430014 +349488c,460003d +3494890,2403825 +3494894,3c028043 +3494898,ac40d918 +349489c,24020001 +34948a0,a2020116 +34948a4,3c068043 +34948a8,24c6d908 +34948ac,2202825 +34948b0,c1051b5 +34948b4,2602025 +34948b8,3c028040 +34948bc,94440c9a +34948c0,82420014 +34948c4,28430003 +34948c8,54600008 +34948cc,24044803 +34948d0,2442ffed +34948d4,304200ff +34948d8,2c420002 +34948dc,54400003 +34948e0,24044803 +34948e4,10000002 +34948e8,3c028040 +34948ec,3c028040 +34948f0,90420024 +34948f4,10510018 +34948f8,24060004 +34948fc,2402000f +3494900,a602014a +3494904,24020023 +3494908,a6020144 +349490c,a60000b8 +3494910,ae000068 +3494914,ae000060 +3494918,ae00006c +349491c,3c028041 +3494920,2442fb7c +3494924,ae02013c +3494928,3c058010 +349492c,24a243a8 +3494930,afa20014 +3494934,24a743a0 +3494938,afa70010 +349493c,24a54394 +3494940,3c02800c +3494944,3442806c +3494948,40f809 +349494c,2404483b +3494950,10000036 +3494954,24020001 +3494958,3c058010 +349495c,24a243a8 +3494960,afa20014 +3494964,24a743a0 +3494968,afa70010 +349496c,3c02800c +3494970,3442806c +3494974,40f809 +3494978,24a54394 +349497c,1000002b +3494980,24020003 +3494984,3c02800c +3494988,244269a0 +349498c,40f809 +3494990,24040039 +3494994,3c028040 +3494998,90450024 +349499c,b12826 +34949a0,5282b +34949a4,c106dcc +34949a8,2402025 +34949ac,3025 +34949b0,402825 +34949b4,3c04801c +34949b8,3c02800d +34949bc,3442ce14 +34949c0,40f809 +34949c4,348484a0 +34949c8,2402000f +34949cc,a602014a +34949d0,24020023 +34949d4,a6020144 +34949d8,a6000142 +34949dc,a60000b8 +34949e0,ae000068 +34949e4,ae000060 +34949e8,ae00006c +34949ec,3c02801d +34949f0,3442aa30 +34949f4,2403000a +34949f8,a4430110 +34949fc,3c028041 +3494a00,24422ad0 +3494a04,ae02013c +3494a08,2403825 +3494a0c,3c068043 +3494a10,24c6d908 +3494a14,2202825 +3494a18,c1051b5 +3494a1c,2602025 +3494a20,10000002 +3494a24,24020001 +3494a28,24020002 +3494a2c,8fbf0044 +3494a30,8fb30040 +3494a34,8fb2003c +3494a38,8fb10038 +3494a3c,8fb00034 +3494a40,3e00008 +3494a44,27bd0048 +3494a48,27bdffc8 +3494a4c,afbf0034 +3494a50,afb30030 +3494a54,afb2002c +3494a58,afb10028 +3494a5c,afb00024 +3494a60,809025 +3494a64,3825 +3494a68,3025 +3494a6c,802825 +3494a70,c104ba9 +3494a74,27a40010 +3494a78,8fa20010 +3494a7c,8fa30014 +3494a80,431025 +3494a84,54400003 +3494a88,93b3001a +3494a8c,3c028040 +3494a90,90530024 +3494a94,8fa40010 +3494a98,8fa50014 +3494a9c,8fa60018 +3494aa0,c106dd8 +3494aa4,8fa7001c +3494aa8,408025 +3494aac,c106dbd +3494ab0,402025 +3494ab4,408825 +3494ab8,ae400134 +3494abc,3c028040 +3494ac0,a0530025 +3494ac4,3c028040 +3494ac8,90450024 +3494acc,b32826 +3494ad0,5282b +3494ad4,c106dcc +3494ad8,2202025 +3494adc,3025 +3494ae0,402825 +3494ae4,3c04801c +3494ae8,3c02800d +3494aec,3442ce14 +3494af0,40f809 +3494af4,348484a0 +3494af8,2203825 +3494afc,27a60010 +3494b00,2602825 +3494b04,c1051b5 +3494b08,2002025 +3494b0c,8fbf0034 +3494b10,8fb30030 +3494b14,8fb2002c +3494b18,8fb10028 +3494b1c,8fb00024 +3494b20,3e00008 +3494b24,27bd0038 +3494b28,27bdffe8 +3494b2c,afbf0014 +3494b30,afb00010 +3494b34,3c028011 +3494b38,3442a5d0 +3494b3c,94500eec +3494b40,32100002 +3494b44,1600000c +3494b48,3c028040 +3494b4c,90421dd1 +3494b50,50400004 +3494b54,3c028011 +3494b58,c104d15 +3494b5c,24040002 +3494b60,3c028011 +3494b64,3442a5d0 +3494b68,94430eec +3494b6c,34630002 +3494b70,a4430eec +3494b74,3c028040 +3494b78,90431dd1 +3494b7c,14600002 +3494b80,24020001 +3494b84,10102b +3494b88,8fbf0014 +3494b8c,8fb00010 +3494b90,3e00008 +3494b94,27bd0018 +3494b98,27bdffd0 +3494b9c,afbf002c +3494ba0,a7a00020 +3494ba4,3c06ff05 +3494ba8,24070002 +3494bac,c104b6d +3494bb0,27a40010 +3494bb4,8fa40010 +3494bb8,8fa50014 +3494bbc,8fa60018 +3494bc0,c106dd8 +3494bc4,8fa7001c +3494bc8,402025 +3494bcc,2402000c +3494bd0,10820007 +3494bd4,2402003b +3494bd8,14820009 +3494bdc,3c028011 +3494be0,3442a5d0 +3494be4,24030007 +3494be8,10000005 +3494bec,a043007b +3494bf0,3c028011 +3494bf4,3442a5d0 +3494bf8,24030008 +3494bfc,a043007b +3494c00,c106dbd +3494c08,93a3001a +3494c0c,3c048040 +3494c10,a0830025 +3494c14,3c048040 +3494c18,90850024 +3494c1c,a32826 +3494c20,5282b +3494c24,c106dcc +3494c28,402025 +3494c2c,3025 +3494c30,402825 +3494c34,3c04801c +3494c38,3c02800d +3494c3c,3442ce14 +3494c40,40f809 +3494c44,348484a0 +3494c48,8fbf002c +3494c4c,3e00008 +3494c50,27bd0030 +3494c54,9082000b +3494c58,1440000d +3494c5c,94830004 +3494c60,94820006 +3494c64,620018 +3494c68,9082000c +3494c6c,1812 +3494c78,620018 +3494c7c,1812 +3494c80,317c2 +3494c84,431021 +3494c88,3e00008 +3494c8c,21043 +3494c90,94820006 +3494c94,620018 +3494c98,9082000c +3494c9c,1812 +3494ca8,620018 +3494cac,1012 +3494cb0,3e00008 +3494cb8,27bdffe8 +3494cbc,afbf0014 +3494cc0,afb00010 +3494cc4,c105315 +3494cc8,808025 +3494ccc,96030008 +3494cd0,620018 +3494cd4,1012 +3494cd8,8fbf0014 +3494cdc,8fb00010 +3494ce0,3e00008 +3494ce4,27bd0018 +3494ce8,27bdff98 +3494cec,afbf0064 +3494cf0,afb60060 +3494cf4,afb5005c +3494cf8,afb40058 +3494cfc,afb30054 +3494d00,afb20050 +3494d04,afb1004c +3494d08,afb00048 +3494d0c,808025 +3494d10,a09025 +3494d14,c0b025 +3494d18,94a20006 +3494d1c,470018 +3494d20,9812 +3494d24,90b5000b +3494d28,16a0004a +3494d2c,94b10004 +3494d30,90b5000a +3494d34,15ad40 +3494d38,3c0200e0 +3494d3c,2a2a824 +3494d40,11a042 +3494d44,2682ffff +3494d48,30420fff +3494d4c,551025 +3494d50,3c03fd08 +3494d54,431025 +3494d58,afa20010 +3494d5c,c105315 +3494d60,a02025 +3494d64,560018 +3494d68,8e420000 +3494d6c,1812 +3494d70,431021 +3494d74,afa20014 +3494d78,26820007 +3494d7c,21180 +3494d80,3c030003 +3494d84,3463fe00 +3494d88,431024 +3494d8c,551025 +3494d90,3c03f508 +3494d94,431825 +3494d98,afa30018 +3494d9c,3c050700 +3494da0,afa5001c +3494da4,3c03e600 +3494da8,afa30020 +3494dac,afa00024 +3494db0,3c03f400 +3494db4,afa30028 +3494db8,2631ffff +3494dbc,118880 +3494dc0,3231ffff +3494dc4,2673ffff +3494dc8,139880 +3494dcc,32730ffc +3494dd0,111ac0 +3494dd4,3c0400ff +3494dd8,3484f000 +3494ddc,641824 +3494de0,731825 +3494de4,651825 +3494de8,afa3002c +3494dec,3c03e700 +3494df0,afa30030 +3494df4,afa00034 +3494df8,3c03f500 +3494dfc,431025 +3494e00,afa20038 +3494e04,afa0003c +3494e08,3c02f200 +3494e0c,afa20040 +3494e10,118b00 +3494e14,2248824 +3494e18,2338825 +3494e1c,afb10044 +3494e20,27a20010 +3494e24,27a60048 +3494e28,8e030008 +3494e2c,24640008 +3494e30,ae040008 +3494e34,8c450004 +3494e38,8c440000 +3494e3c,ac650004 +3494e40,24420008 +3494e44,1446fff8 +3494e48,ac640000 +3494e4c,1000004f +3494e50,8fbf0064 +3494e54,90b4000a +3494e58,14a540 +3494e5c,3c0200e0 +3494e60,282a024 +3494e64,1514c0 +3494e68,3c030018 +3494e6c,431024 +3494e70,282a025 +3494e74,2622ffff +3494e78,30420fff +3494e7c,541025 +3494e80,3c03fd00 +3494e84,431025 +3494e88,afa20010 +3494e8c,c105315 +3494e90,a02025 +3494e94,560018 +3494e98,8e420000 +3494e9c,1812 +3494ea0,431021 +3494ea4,afa20014 +3494ea8,2ea20002 +3494eac,10400003 +3494eb0,24030010 +3494eb4,24030004 +3494eb8,2a31804 +3494ebc,710018 +3494ec0,1012 +3494ec4,2442003f +3494ec8,21fc3 +3494ecc,3063003f +3494ed0,621821 +3494ed4,318c0 +3494ed8,3c020003 +3494edc,3442fe00 +3494ee0,621824 +3494ee4,741825 +3494ee8,3c02f500 +3494eec,621825 +3494ef0,afa30018 +3494ef4,3c040700 +3494ef8,afa4001c +3494efc,3c02e600 +3494f00,afa20020 +3494f04,afa00024 +3494f08,3c02f400 +3494f0c,afa20028 +3494f10,2622ffff +3494f14,21380 +3494f18,3c0500ff +3494f1c,34a5f000 +3494f20,451024 +3494f24,2673ffff +3494f28,139880 +3494f2c,32730ffc +3494f30,531025 +3494f34,442025 +3494f38,afa4002c +3494f3c,3c04e700 +3494f40,afa40030 +3494f44,afa00034 +3494f48,afa30038 +3494f4c,afa0003c +3494f50,3c03f200 +3494f54,afa30040 +3494f58,afa20044 +3494f5c,27a20010 +3494f60,27a60048 +3494f64,8e030008 +3494f68,24640008 +3494f6c,ae040008 +3494f70,8c450004 +3494f74,8c440000 +3494f78,ac650004 +3494f7c,24420008 +3494f80,1446fff8 +3494f84,ac640000 +3494f88,8fbf0064 +3494f8c,8fb60060 +3494f90,8fb5005c +3494f94,8fb40058 +3494f98,8fb30054 +3494f9c,8fb20050 +3494fa0,8fb1004c +3494fa4,8fb00048 +3494fa8,3e00008 +3494fac,27bd0068 +3494fb0,27bdff80 +3494fb4,afbf007c +3494fb8,afbe0078 +3494fbc,afb70074 +3494fc0,afb60070 +3494fc4,afb5006c +3494fc8,afb40068 +3494fcc,afb30064 +3494fd0,afb20060 +3494fd4,afb1005c +3494fd8,afb00058 +3494fdc,808025 +3494fe0,a0a825 +3494fe4,afa60088 +3494fe8,afa7008c +3494fec,87a20092 +3494ff0,afa20048 +3494ff4,87b10096 +3494ff8,87a3009a +3494ffc,afa3004c +3495000,94b20004 +3495004,121280 +3495008,16200002 +349500c,51001a +3495010,7000d +3495014,1012 +3495018,afa20050 +349501c,94b30006 +3495020,131280 +3495024,14600002 +3495028,43001a +349502c,7000d +3495030,1012 +3495034,afa20054 +3495038,90b7000a +349503c,17bd40 +3495040,3c0200e0 +3495044,2e2b824 +3495048,90b6000b +349504c,2ec20002 +3495050,10400002 +3495054,2c0f025 +3495058,241e0002 +349505c,33de00ff +3495060,1ea4c0 +3495064,3c020018 +3495068,282a024 +349506c,297a025 +3495070,3c02fd00 +3495074,2821025 +3495078,afa20010 +349507c,c105315 +3495080,2a02025 +3495084,8fa30088 +3495088,430018 +349508c,8ea20000 +3495090,1812 +3495094,431021 +3495098,afa20014 +349509c,3c02f500 +34950a0,282a025 +34950a4,afb40018 +34950a8,3c020700 +34950ac,afa2001c +34950b0,3c02e600 +34950b4,afa20020 +34950b8,afa00024 +34950bc,3c02f300 +34950c0,afa20028 +34950c4,24020004 +34950c8,2c22004 +34950cc,2530018 +34950d0,1812 +34950d4,24630001 +34950dc,640018 +34950e0,1812 +34950e4,2463ffff +34950e8,3c21004 +34950ec,14400002 +34950f0,62001a +34950f4,7000d +34950f8,1012 +34950fc,2442ffff +3495100,21300 +3495104,3c0300ff +3495108,3463f000 +349510c,431024 +3495110,2440018 +3495114,2812 +3495118,28a60041 +349511c,14c0000b +3495120,24030800 +3495124,51fc3 +3495128,3063003f +349512c,651821 +3495130,31983 +3495134,246507ff +3495138,14600002 +349513c,a3001a +3495140,7000d +3495144,1812 +3495148,30630fff +349514c,431025 +3495150,3c030700 +3495154,431025 +3495158,afa2002c +349515c,3c02e700 +3495160,afa20030 +3495164,afa00034 +3495168,161cc0 +349516c,3c020018 +3495170,621824 +3495174,2ed60002 +3495178,16c00002 +349517c,771825 +3495180,24040010 +3495184,2440018 +3495188,2012 +349518c,2484003f +3495190,417c3 +3495194,3042003f +3495198,441021 +349519c,210c0 +34951a0,3c040003 +34951a4,3484fe00 +34951a8,441024 +34951ac,431025 +34951b0,3c03f500 +34951b4,431025 +34951b8,afa20038 +34951bc,afa0003c +34951c0,3c02f200 +34951c4,afa20040 +34951c8,2642ffff +34951cc,21380 +34951d0,3c0300ff +34951d4,3463f000 +34951d8,431024 +34951dc,2673ffff +34951e0,139880 +34951e4,32730ffc +34951e8,531025 +34951ec,afa20044 +34951f0,27a20010 +34951f4,27a60048 +34951f8,8e030008 +34951fc,24640008 +3495200,ae040008 +3495204,8c450004 +3495208,8c440000 +349520c,ac650004 +3495210,24420008 +3495214,1446fff8 +3495218,ac640000 +349521c,8fa2008c +3495220,2221021 +3495224,21380 +3495228,3c0400ff +349522c,3484c000 +3495230,441024 +3495234,8fa3004c +3495238,8fa50048 +349523c,651821 +3495240,31880 +3495244,30630ffc +3495248,431025 +349524c,3c03e400 +3495250,431025 +3495254,afa20010 +3495258,8fa2008c +349525c,21380 +3495260,441024 +3495264,51880 +3495268,30630ffc +349526c,431025 +3495270,afa20014 +3495274,3c02e100 +3495278,afa20018 +349527c,afa0001c +3495280,3c02f100 +3495284,afa20020 +3495288,8fa20050 +349528c,21400 +3495290,97a30056 +3495294,431025 +3495298,afa20024 +349529c,27a20010 +34952a0,27a60028 +34952a4,8e030008 +34952a8,24640008 +34952ac,ae040008 +34952b0,8c450004 +34952b4,8c440000 +34952b8,ac650004 +34952bc,24420008 +34952c0,1446fff8 +34952c4,ac640000 +34952c8,8fbf007c +34952cc,8fbe0078 +34952d0,8fb70074 +34952d4,8fb60070 +34952d8,8fb5006c +34952dc,8fb40068 +34952e0,8fb30064 +34952e4,8fb20060 +34952e8,8fb1005c +34952ec,8fb00058 +34952f0,3e00008 +34952f4,27bd0080 +34952f8,27bdff88 +34952fc,afbf0074 +3495300,afbe0070 +3495304,afb7006c +3495308,afb60068 +349530c,afb50064 +3495310,afb40060 +3495314,afb3005c +3495318,afb20058 +349531c,afb10054 +3495320,afb00050 +3495324,87b6008a +3495328,87b1008e +349532c,90a2000b +3495330,144000ab +3495334,87b40092 +3495338,808025 +349533c,a09025 +3495340,c0f025 +3495344,e09825 +3495348,94a20004 +349534c,21280 +3495350,16200002 +3495354,51001a +3495358,7000d +349535c,b812 +3495360,94a20006 +3495364,21280 +3495368,16800002 +349536c,54001a +3495370,7000d +3495374,1012 +3495378,afa20048 +349537c,8c820008 +3495380,24430008 +3495384,ac830008 +3495388,3c03e700 +349538c,ac430000 +3495390,ac400004 +3495394,8c820008 +3495398,24430008 +349539c,ac830008 +34953a0,3c03fc30 +34953a4,34639661 +34953a8,ac430000 +34953ac,3c03552e +34953b0,3463ff7f +34953b4,ac430004 +34953b8,8c820008 +34953bc,24430008 +34953c0,ac830008 +34953c4,3c03fb00 +34953c8,ac430000 +34953cc,240300ff +34953d0,ac430004 +34953d4,90b5000a +34953d8,15ad40 +34953dc,3c0200e0 +34953e0,2a2a824 +34953e4,3c02fd10 +34953e8,2a21025 +34953ec,afa20010 +34953f0,c105315 +34953f4,a02025 +34953f8,5e0018 +34953fc,8e420000 +3495400,1812 +3495404,431021 3495408,afa20014 -349540c,afa20010 -3495410,262208ec -3495414,673823 -3495418,3025 -349541c,2825 -3495420,40f809 -3495424,2002025 -3495428,8e0302c0 -349542c,24640008 -3495430,ae0402c0 -3495434,3c04db06 -3495438,24840020 -349543c,ac640000 -3495440,ac620004 -3495444,3c17800a -3495448,36f7b900 -349544c,2e0f809 -3495450,2002025 -3495454,8e0302c0 -3495458,24640008 -349545c,ae0402c0 -3495460,3c16da38 -3495464,26d60003 -3495468,ac760000 -349546c,ac620004 -3495470,3c128042 -3495474,26523fd8 -3495478,1498c0 -349547c,2741021 -3495480,21080 -3495484,2421021 -3495488,8c430004 -349548c,8e0202c0 -3495490,24440008 -3495494,ae0402c0 -3495498,3c15de00 -349549c,ac550000 -34954a0,ac430004 -34954a4,26310028 -34954a8,220f809 -34954ac,2002025 -34954b0,2e0f809 -34954b4,2002025 -34954b8,8e0302d0 -34954bc,24640008 -34954c0,ae0402d0 -34954c4,ac760000 -34954c8,ac620004 -34954cc,2749821 -34954d0,139880 -34954d4,2539021 -34954d8,8e430008 -34954dc,8e0202d0 -34954e0,24440008 -34954e4,ae0402d0 -34954e8,ac550000 -34954ec,ac430004 -34954f0,8fbf0054 -34954f4,8fb70050 -34954f8,8fb6004c -34954fc,8fb50048 -3495500,8fb40044 -3495504,8fb30040 -3495508,8fb2003c -349550c,8fb10038 -3495510,8fb00034 -3495514,3e00008 -3495518,27bd0058 -349551c,27bdffa8 -3495520,afbf0054 -3495524,afbe0050 -3495528,afb7004c -349552c,afb60048 -3495530,afb50044 -3495534,afb40040 -3495538,afb3003c -349553c,afb20038 -3495540,afb10034 -3495544,afb00030 -3495548,80f025 -349554c,a0a025 -3495550,8c900000 -3495554,3c118007 -3495558,3631e298 -349555c,220f809 -3495560,2002025 -3495564,3c17800a -3495568,36f7b900 -349556c,2e0f809 -3495570,2002025 -3495574,8e0302c0 -3495578,24640008 -349557c,ae0402c0 -3495580,3c16da38 -3495584,26d60003 -3495588,ac760000 -349558c,ac620004 -3495590,3c128042 -3495594,26523fd8 -3495598,1498c0 -349559c,2741021 -34955a0,21080 -34955a4,2421021 -34955a8,8c430004 -34955ac,8e0202c0 -34955b0,24440008 -34955b4,ae0402c0 -34955b8,3c15de00 -34955bc,ac550000 -34955c0,ac430004 -34955c4,26220028 -34955c8,40f809 -34955cc,2002025 -34955d0,8fc2009c -34955d4,23880 -34955d8,e23821 -34955dc,24020040 -34955e0,afa20028 -34955e4,24020020 -34955e8,afa20024 -34955ec,afa00020 -34955f0,afa0001c -34955f4,24030001 -34955f8,afa30018 -34955fc,afa20014 -3495600,afa20010 -3495604,263108ec -3495608,73823 -349560c,3025 -3495610,2825 -3495614,220f809 -3495618,2002025 -349561c,8e0302d0 -3495620,24640008 -3495624,ae0402d0 -3495628,3c04db06 -349562c,24840020 -3495630,ac640000 -3495634,ac620004 -3495638,2e0f809 -349563c,2002025 -3495640,8e0302d0 -3495644,24640008 -3495648,ae0402d0 -349564c,ac760000 -3495650,ac620004 -3495654,2742821 -3495658,52880 -349565c,2459021 -3495660,8e430008 -3495664,8e0202d0 -3495668,24440008 -349566c,ae0402d0 -3495670,ac550000 -3495674,ac430004 -3495678,8fbf0054 -349567c,8fbe0050 -3495680,8fb7004c -3495684,8fb60048 -3495688,8fb50044 -349568c,8fb40040 -3495690,8fb3003c -3495694,8fb20038 -3495698,8fb10034 -349569c,8fb00030 -34956a0,3e00008 -34956a4,27bd0058 -34956a8,27bdffa8 -34956ac,afbf0054 -34956b0,afbe0050 -34956b4,afb7004c -34956b8,afb60048 -34956bc,afb50044 -34956c0,afb40040 -34956c4,afb3003c -34956c8,afb20038 -34956cc,afb10034 -34956d0,afb00030 -34956d4,80b825 -34956d8,a0a825 -34956dc,8c900000 -34956e0,3c128007 -34956e4,3652e298 -34956e8,240f809 -34956ec,2002025 -34956f0,3c11800a -34956f4,3631b900 -34956f8,220f809 -34956fc,2002025 -3495700,8e0302c0 -3495704,24640008 -3495708,ae0402c0 -349570c,3c1eda38 -3495710,27de0003 -3495714,ac7e0000 -3495718,ac620004 -349571c,3c138042 -3495720,26733fd8 -3495724,15a0c0 -3495728,2951021 -349572c,21080 -3495730,2621021 -3495734,8c430004 -3495738,8e0202c0 -349573c,24440008 -3495740,ae0402c0 -3495744,3c16de00 -3495748,ac560000 -349574c,ac430004 -3495750,26420028 -3495754,40f809 -3495758,2002025 -349575c,8ee5009c -3495760,24040020 -3495764,afa40028 -3495768,24030010 -349576c,afa30024 -3495770,51023 -3495774,210c0 -3495778,afa20020 -349577c,afa5001c -3495780,24020001 -3495784,afa20018 -3495788,afa40014 -349578c,afa30010 -3495790,265208ec -3495794,3825 -3495798,3025 -349579c,2825 -34957a0,240f809 -34957a4,2002025 -34957a8,8e0302d0 -34957ac,24640008 -34957b0,ae0402d0 -34957b4,3c04db06 -34957b8,24840020 -34957bc,ac640000 -34957c0,ac620004 -34957c4,2622edec -34957c8,40f809 -34957cc,295a021 -34957d0,2622eef4 -34957d4,24070001 -34957d8,3025 -34957dc,3c038042 -34957e0,c46eff10 -34957e4,3c038042 -34957e8,40f809 -34957ec,c46cff14 -34957f0,26220554 -34957f4,3c040001 -34957f8,24841da0 -34957fc,40f809 -3495800,2e42021 -3495804,220f809 -3495808,2002025 -349580c,8e0302d0 -3495810,24640008 -3495814,ae0402d0 -3495818,ac7e0000 -349581c,ac620004 -3495820,14a080 -3495824,2749821 -3495828,8e630008 -349582c,8e0202d0 -3495830,24440008 -3495834,ae0402d0 -3495838,ac560000 -349583c,2631ee24 -3495840,220f809 -3495844,ac430004 -3495848,8fbf0054 -349584c,8fbe0050 -3495850,8fb7004c -3495854,8fb60048 -3495858,8fb50044 -349585c,8fb40040 -3495860,8fb3003c -3495864,8fb20038 -3495868,8fb10034 -349586c,8fb00030 -3495870,3e00008 -3495874,27bd0058 -3495878,27bdffa0 -349587c,afbf005c -3495880,afbe0058 -3495884,afb70054 -3495888,afb60050 -349588c,afb5004c -3495890,afb40048 -3495894,afb30044 -3495898,afb20040 -349589c,afb1003c -34958a0,afb00038 -34958a4,80b825 -34958a8,a0a825 -34958ac,8c900000 -34958b0,3c128007 -34958b4,3652e298 -34958b8,240f809 -34958bc,2002025 -34958c0,3c11800a -34958c4,3631b900 -34958c8,220f809 -34958cc,2002025 -34958d0,8e0302c0 -34958d4,24640008 -34958d8,ae0402c0 -34958dc,3c16da38 -34958e0,26d60003 -34958e4,ac760000 -34958e8,ac620004 -34958ec,3c028042 -34958f0,24423fd8 -34958f4,1598c0 -34958f8,275a021 -34958fc,14a080 -3495900,afa20030 -3495904,54a021 -3495908,8e830004 -349590c,8e0202c0 -3495910,24440008 -3495914,ae0402c0 -3495918,3c1ede00 -349591c,ac5e0000 -3495920,ac430004 -3495924,26420028 -3495928,40f809 -349592c,2002025 -3495930,220f809 -3495934,2002025 -3495938,8e0302d0 -349593c,24640008 -3495940,ae0402d0 -3495944,ac760000 -3495948,ac620004 -349594c,8e830008 -3495950,8e0202d0 -3495954,24440008 -3495958,ae0402d0 -349595c,ac5e0000 -3495960,ac430004 -3495964,8ee4009c -3495968,24030020 -349596c,afa30028 -3495970,afa30024 -3495974,41080 -3495978,821023 -349597c,21040 -3495980,afa20020 -3495984,afa4001c -3495988,24020001 -349598c,afa20018 -3495990,afa30014 -3495994,afa30010 -3495998,265208ec -349599c,3825 -34959a0,3025 -34959a4,2825 -34959a8,240f809 -34959ac,2002025 -34959b0,8e0302d0 -34959b4,24640008 -34959b8,ae0402d0 -34959bc,3c04db06 -34959c0,24840020 -34959c4,ac640000 -34959c8,ac620004 -34959cc,2622edec -34959d0,40f809 -34959d4,2759821 -34959d8,26220554 -34959dc,3c040001 -34959e0,24841da0 -34959e4,40f809 -34959e8,2e42021 -34959ec,220f809 -34959f0,2002025 -34959f4,8e0302d0 -34959f8,24640008 -34959fc,ae0402d0 -3495a00,ac760000 -3495a04,ac620004 -3495a08,139880 -3495a0c,8fa20030 -3495a10,531021 -3495a14,8c43000c -3495a18,8e0202d0 -3495a1c,24440008 -3495a20,ae0402d0 -3495a24,ac5e0000 -3495a28,2631ee24 -3495a2c,220f809 -3495a30,ac430004 -3495a34,8fbf005c -3495a38,8fbe0058 -3495a3c,8fb70054 -3495a40,8fb60050 -3495a44,8fb5004c -3495a48,8fb40048 -3495a4c,8fb30044 -3495a50,8fb20040 -3495a54,8fb1003c -3495a58,8fb00038 -3495a5c,3e00008 -3495a60,27bd0060 -3495a64,27bdffa0 -3495a68,afbf005c -3495a6c,afbe0058 -3495a70,afb70054 -3495a74,afb60050 -3495a78,afb5004c -3495a7c,afb40048 -3495a80,afb30044 -3495a84,afb20040 -3495a88,afb1003c -3495a8c,afb00038 -3495a90,80b825 -3495a94,a0a825 -3495a98,8c900000 -3495a9c,3c138007 -3495aa0,3673e298 -3495aa4,260f809 -3495aa8,2002025 -3495aac,3c11800a -3495ab0,3631b900 -3495ab4,220f809 -3495ab8,2002025 -3495abc,8e0302c0 -3495ac0,24640008 -3495ac4,ae0402c0 -3495ac8,3c16da38 -3495acc,26d60003 -3495ad0,ac760000 -3495ad4,ac620004 -3495ad8,3c028042 -3495adc,24423fd8 -3495ae0,15a0c0 -3495ae4,2959021 -3495ae8,129080 -3495aec,afa20030 -3495af0,529021 -3495af4,8e430004 -3495af8,8e0202c0 -3495afc,24440008 -3495b00,ae0402c0 -3495b04,3c1ede00 -3495b08,ac5e0000 -3495b0c,ac430004 -3495b10,26620028 -3495b14,40f809 -3495b18,2002025 -3495b1c,220f809 -3495b20,2002025 -3495b24,8e0302d0 -3495b28,24640008 -3495b2c,ae0402d0 -3495b30,ac760000 -3495b34,ac620004 -3495b38,8e430008 -3495b3c,8e0202d0 -3495b40,24440008 -3495b44,ae0402d0 -3495b48,ac5e0000 -3495b4c,ac430004 -3495b50,8ee3009c -3495b54,24050020 -3495b58,afa50028 -3495b5c,24040010 -3495b60,afa40024 -3495b64,31080 -3495b68,621023 -3495b6c,21040 -3495b70,afa20020 -3495b74,afa3001c -3495b78,24020001 -3495b7c,afa20018 -3495b80,afa50014 -3495b84,afa40010 -3495b88,267308ec -3495b8c,3825 -3495b90,3025 -3495b94,2825 -3495b98,260f809 -3495b9c,2002025 -3495ba0,8e0302d0 -3495ba4,24640008 -3495ba8,ae0402d0 -3495bac,3c04db06 -3495bb0,24840020 -3495bb4,ac640000 -3495bb8,ac620004 -3495bbc,2622edec -3495bc0,40f809 -3495bc4,295a021 -3495bc8,26220554 -3495bcc,3c040001 -3495bd0,24841da0 -3495bd4,40f809 -3495bd8,2e42021 -3495bdc,220f809 -3495be0,2002025 -3495be4,8e0302d0 -3495be8,24640008 -3495bec,ae0402d0 -3495bf0,ac760000 -3495bf4,ac620004 -3495bf8,8e430010 -3495bfc,8e0202d0 -3495c00,24440008 -3495c04,ae0402d0 -3495c08,ac5e0000 -3495c0c,ac430004 -3495c10,14a080 -3495c14,8fa20030 -3495c18,541021 -3495c1c,8c43000c -3495c20,8e0202d0 -3495c24,24440008 -3495c28,ae0402d0 -3495c2c,ac5e0000 -3495c30,2631ee24 -3495c34,220f809 -3495c38,ac430004 -3495c3c,8fbf005c -3495c40,8fbe0058 -3495c44,8fb70054 -3495c48,8fb60050 -3495c4c,8fb5004c -3495c50,8fb40048 -3495c54,8fb30044 -3495c58,8fb20040 -3495c5c,8fb1003c -3495c60,8fb00038 -3495c64,3e00008 -3495c68,27bd0060 -3495c6c,27bdffd0 -3495c70,afbf002c -3495c74,afb50028 -3495c78,afb40024 -3495c7c,afb30020 -3495c80,afb2001c -3495c84,afb10018 -3495c88,afb00014 -3495c8c,a09025 -3495c90,3c028042 -3495c94,518c0 -3495c98,651821 -3495c9c,31880 -3495ca0,24423fd8 -3495ca4,431021 -3495ca8,90500008 -3495cac,90550009 -3495cb0,9053000a -3495cb4,9054000b -3495cb8,8c42000c -3495cbc,10400009 -3495cc0,8c910000 -3495cc4,3c028042 -3495cc8,c44cff18 -3495ccc,24070001 -3495cd0,44066000 -3495cd4,3c02800a -3495cd8,3442a8fc -3495cdc,40f809 -3495ce0,46006386 -3495ce4,3c028007 -3495ce8,3442e2c0 -3495cec,40f809 -3495cf0,2202025 -3495cf4,3c02800a -3495cf8,3442b900 -3495cfc,40f809 -3495d00,2202025 -3495d04,8e2302d0 -3495d08,24640008 -3495d0c,ae2402d0 -3495d10,3c04da38 -3495d14,24840003 -3495d18,ac640000 -3495d1c,ac620004 -3495d20,8e2202d0 -3495d24,24430008 -3495d28,ae2302d0 -3495d2c,3c03fb00 -3495d30,ac430000 -3495d34,108600 -3495d38,15ac00 -3495d3c,2158025 -3495d40,2148025 -3495d44,139a00 -3495d48,2138025 -3495d4c,ac500004 -3495d50,3c028042 -3495d54,1218c0 -3495d58,721821 -3495d5c,31880 -3495d60,24423fd8 -3495d64,431021 -3495d68,8c430004 -3495d6c,8e2202d0 -3495d70,24440008 -3495d74,ae2402d0 -3495d78,3c04de00 -3495d7c,ac440000 -3495d80,ac430004 -3495d84,8fbf002c -3495d88,8fb50028 -3495d8c,8fb40024 -3495d90,8fb30020 -3495d94,8fb2001c -3495d98,8fb10018 -3495d9c,8fb00014 -3495da0,3e00008 -3495da4,27bd0030 -3495da8,27bdffb8 -3495dac,afbf0044 -3495db0,afbe0040 -3495db4,afb7003c -3495db8,afb60038 -3495dbc,afb50034 -3495dc0,afb40030 -3495dc4,afb3002c -3495dc8,afb20028 -3495dcc,afb10024 -3495dd0,afb00020 -3495dd4,a0a825 -3495dd8,8c900000 -3495ddc,3c138042 -3495de0,26733fd8 -3495de4,5a0c0 -3495de8,2851021 -3495dec,21080 -3495df0,2621021 -3495df4,90520008 -3495df8,90570009 -3495dfc,9056000a -3495e00,905e000b -3495e04,9051000c -3495e08,9043000d -3495e0c,afa30018 -3495e10,9044000e -3495e14,afa40014 -3495e18,9042000f -3495e1c,afa20010 -3495e20,3c028007 -3495e24,3442e298 -3495e28,40f809 -3495e2c,2002025 -3495e30,3c02800a -3495e34,3442b900 -3495e38,40f809 -3495e3c,2002025 -3495e40,8e0302c0 -3495e44,24640008 -3495e48,ae0402c0 -3495e4c,3c04da38 -3495e50,24840003 -3495e54,ac640000 -3495e58,ac620004 -3495e5c,8e0202c0 -3495e60,24430008 -3495e64,ae0302c0 -3495e68,3c03fc11 -3495e6c,3463fe23 -3495e70,ac430000 -3495e74,2403f7fb -3495e78,ac430004 -3495e7c,8e0202c0 -3495e80,24430008 -3495e84,ae0302c0 -3495e88,3c03fa00 -3495e8c,24630080 -3495e90,ac430000 -3495e94,129600 -3495e98,17bc00 -3495e9c,2579025 -3495ea0,25e9025 -3495ea4,16b200 -3495ea8,2569025 -3495eac,ac520004 -3495eb0,8e0202c0 -3495eb4,24430008 -3495eb8,ae0302c0 -3495ebc,3c03fb00 -3495ec0,ac430000 -3495ec4,118e00 -3495ec8,8fa30018 -3495ecc,31c00 -3495ed0,2238825 -3495ed4,8fa30010 -3495ed8,2238825 -3495edc,8fa40014 -3495ee0,41a00 -3495ee4,2238825 -3495ee8,ac510004 -3495eec,295a021 -3495ef0,14a080 -3495ef4,2749821 -3495ef8,8e630004 -3495efc,8e0202c0 -3495f00,24440008 -3495f04,ae0402c0 -3495f08,3c04de00 -3495f0c,ac440000 -3495f10,ac430004 -3495f14,8fbf0044 -3495f18,8fbe0040 -3495f1c,8fb7003c -3495f20,8fb60038 -3495f24,8fb50034 -3495f28,8fb40030 -3495f2c,8fb3002c -3495f30,8fb20028 -3495f34,8fb10024 -3495f38,8fb00020 +349540c,3c02f510 +3495410,2a21025 +3495414,afa20018 +3495418,3c020708 +349541c,24420200 +3495420,afa2001c +3495424,3c02e600 +3495428,afa20020 +349542c,afa00024 +3495430,3c02f300 +3495434,afa20028 +3495438,96430004 +349543c,96440006 +3495440,830018 +3495444,1012 +3495448,21080 +349544c,24450003 +3495450,217c3 +3495454,3042000f +3495458,451021 +349545c,21103 +3495460,2442ffff +3495464,21300 +3495468,3c0500ff +349546c,34a5f000 +3495470,451024 +3495474,32880 +3495478,28670011 +349547c,14e00008 +3495480,24060800 +3495484,33102 +3495488,24c707ff +349548c,14c00002 +3495490,e6001a +3495494,7000d +3495498,3012 +349549c,30c60fff +34954a0,461025 +34954a4,3c060700 +34954a8,461025 +34954ac,afa2002c +34954b0,3c02e700 +34954b4,afa20030 +34954b8,afa00034 +34954bc,24a2003f +34954c0,210c0 +34954c4,3c050003 +34954c8,34a5fe00 +34954cc,451024 +34954d0,551025 +34954d4,3c05f500 +34954d8,451025 +34954dc,afa20038 +34954e0,3c020008 +34954e4,24420200 +34954e8,afa2003c +34954ec,3c02f200 +34954f0,afa20040 +34954f4,2462ffff +34954f8,21380 +34954fc,3c0300ff +3495500,3463f000 +3495504,431024 +3495508,2484ffff +349550c,42080 +3495510,30840ffc +3495514,441025 +3495518,afa20044 +349551c,27a20010 +3495520,27a60048 +3495524,8e030008 +3495528,24640008 +349552c,ae040008 +3495530,8c450004 +3495534,8c440000 +3495538,ac650004 +349553c,24420008 +3495540,14c2fff8 +3495544,ac640000 +3495548,2331021 +349554c,21380 +3495550,3c0300ff +3495554,3463c000 +3495558,431024 +349555c,296a021 +3495560,14a080 +3495564,32940ffc +3495568,541025 +349556c,3c04e400 +3495570,441025 +3495574,afa20010 +3495578,139b80 +349557c,2639824 +3495580,16b080 +3495584,32d60ffc +3495588,2769825 +349558c,afb30014 +3495590,3c02e100 +3495594,afa20018 +3495598,afa0001c +349559c,3c02f100 +34955a0,afa20020 +34955a4,17bc00 +34955a8,97a2004a +34955ac,2e2b825 +34955b0,afb70024 +34955b4,27a20010 +34955b8,27a60028 +34955bc,8e030008 +34955c0,24640008 +34955c4,ae040008 +34955c8,8c450004 +34955cc,8c440000 +34955d0,ac650004 +34955d4,24420008 +34955d8,1446fff8 +34955dc,ac640000 +34955e0,8fbf0074 +34955e4,8fbe0070 +34955e8,8fb7006c +34955ec,8fb60068 +34955f0,8fb50064 +34955f4,8fb40060 +34955f8,8fb3005c +34955fc,8fb20058 +3495600,8fb10054 +3495604,8fb00050 +3495608,3e00008 +349560c,27bd0078 +3495610,27bdffe0 +3495614,8fa80030 +3495618,8fa20034 +349561c,8faa0038 +3495620,94a30004 +3495624,31a80 +3495628,14400002 +349562c,62001a +3495630,7000d +3495634,4812 +3495638,94a30006 +349563c,471021 +3495640,21380 +3495644,3c0b00ff +3495648,356bf000 +349564c,4b1024 +3495650,1482821 +3495654,52880 +3495658,30a50fff +349565c,451025 +3495660,3c05e400 +3495664,451025 +3495668,afa20000 +349566c,73b80 +3495670,eb3824 +3495674,84080 +3495678,31080fff +349567c,e83825 +3495680,afa70004 +3495684,3c02e100 +3495688,afa20008 +349568c,660018 +3495690,1012 +3495694,21140 +3495698,3042ffff +349569c,afa2000c +34956a0,3c02f100 +34956a4,afa20010 +34956a8,31a80 +34956ac,15400002 +34956b0,6a001a +34956b4,7000d +34956b8,1012 +34956bc,3042ffff +34956c0,94c00 +34956c4,491025 +34956c8,afa20014 +34956cc,afbd0018 +34956d0,27a50018 +34956d4,8c820008 +34956d8,24430008 +34956dc,ac830008 +34956e0,8fa30018 +34956e4,8c670004 +34956e8,8c660000 +34956ec,ac470004 +34956f0,ac460000 +34956f4,24620008 +34956f8,1445fff6 +34956fc,afa20018 +3495700,3e00008 +3495704,27bd0020 +3495708,3c028043 +349570c,3e00008 +3495710,a0407f30 +3495714,3c028043 +3495718,90427f30 +349571c,30420001 +3495720,3c038044 +3495724,24045000 +3495728,ac641f40 +349572c,22080 +3495730,822021 +3495734,42300 +3495738,3c028043 +349573c,24427f38 +3495740,441021 +3495744,24631f40 +3495748,ac620004 +349574c,3e00008 +3495750,ac620008 +3495754,27bdfed8 +3495758,afbf0124 +349575c,afb00120 +3495760,3c02801c +3495764,344284a0 +3495768,8c500000 +349576c,3c028044 +3495770,24431f40 +3495774,8c640008 +3495778,8c630004 +349577c,833023 +3495780,8c471f40 +3495784,e6102b +3495788,1040000f +349578c,3c028044 +3495790,3c028044 +3495794,8c421f4c +3495798,afa20018 +349579c,afa30014 +34957a0,afa40010 +34957a4,3c058042 +34957a8,24a544c8 +34957ac,c0339ed +34957b0,27a40020 +34957b4,27a50020 +34957b8,3c048042 +34957bc,c02bd59 +34957c0,248444f4 +34957c4,3c028044 +34957c8,24421f40 +34957cc,8c430008 +34957d0,24640008 +34957d4,ac440008 +34957d8,3c04df00 +34957dc,ac640000 +34957e0,ac600004 +34957e4,8c430004 +34957e8,8e0202b0 +34957ec,24440008 +34957f0,ae0402b0 +34957f4,3c04de00 +34957f8,ac440000 +34957fc,ac430004 +3495800,3c038043 +3495804,90627f30 +3495808,24420001 +349580c,a0627f30 +3495810,8fbf0124 +3495814,8fb00120 +3495818,3e00008 +349581c,27bd0128 +3495820,27bdff98 +3495824,afbf0064 +3495828,afb10060 +349582c,afb0005c +3495830,3c028043 +3495834,a0407f30 +3495838,afa00010 +349583c,3c0201a0 +3495840,24422000 +3495844,afa20014 +3495848,3c110003 +349584c,362295c0 +3495850,afa20018 +3495854,c108fbd +3495858,27a40010 +349585c,afa0001c +3495860,3c020084 +3495864,24426000 +3495868,afa20020 +349586c,3402b400 +3495870,afa20024 +3495874,c108fbd +3495878,27a4001c +349587c,afa00028 +3495880,3c02007b +3495884,3442d000 +3495888,afa2002c +349588c,3c100008 +3495890,361088a0 +3495894,afb00030 +3495898,c108fbd +349589c,27a40028 +34958a0,afa00034 +34958a4,3c0201a3 +34958a8,3442c000 +34958ac,afa20038 +34958b0,24023b00 +34958b4,afa2003c +34958b8,c108fbd +34958bc,27a40034 +34958c0,afa00040 +34958c4,3c020085 +34958c8,3442e000 +34958cc,afa20044 +34958d0,24021d80 +34958d4,afa20048 +34958d8,c108fbd +34958dc,27a40040 +34958e0,afa0004c +34958e4,3c020092 +34958e8,34428000 +34958ec,afa20050 +34958f0,24024580 +34958f4,afa20054 +34958f8,c108fbd +34958fc,27a4004c +3495900,8fa20010 +3495904,2631a300 +3495908,518821 +349590c,3c038043 +3495910,ac719670 +3495914,24422980 +3495918,3c038043 +349591c,ac629660 +3495920,8fa20028 +3495924,3c038043 +3495928,ac629650 +349592c,3c038043 +3495930,8fa4001c +3495934,ac649640 +3495938,3c048043 +349593c,3c038042 +3495940,24634ae0 +3495944,ac839620 +3495948,3c048043 +349594c,3c038042 +3495950,246367a8 +3495954,ac839610 +3495958,2610f7a0 +349595c,501021 +3495960,3c038043 +3495964,ac629600 +3495968,8fa20034 +349596c,24441e00 +3495970,3c038043 +3495974,ac6495f0 +3495978,24443040 +349597c,3c038043 +3495980,ac6495e0 +3495984,244435c0 +3495988,3c038043 +349598c,ac6495d0 +3495990,8fa30040 +3495994,24631980 +3495998,3c048043 +349599c,ac8395c0 +34959a0,3c038043 +34959a4,ac6295b0 +34959a8,24422940 +34959ac,3c038043 +34959b0,ac6295a0 +34959b4,8fa2004c +34959b8,24423f80 +34959bc,3c038043 +34959c0,ac629590 +34959c4,3c118043 +34959c8,c10532e +34959cc,26249630 +34959d0,408025 +34959d4,c108fae +34959d8,402025 +34959dc,104fc2 +34959e0,1304821 +34959e4,2a100002 +34959e8,16000018 +34959ec,ae229630 +34959f0,94843 +34959f4,3c038042 +34959f8,246352e0 +34959fc,2025 +3495a00,3025 +3495a04,2204025 +3495a08,2407fff0 +3495a0c,8d059630 +3495a10,a42821 +3495a14,90620000 +3495a18,21102 +3495a1c,471025 +3495a20,a0a20000 +3495a24,8d029630 +3495a28,441021 +3495a2c,90650000 +3495a30,a72825 +3495a34,a0450001 +3495a38,24c60001 +3495a3c,24630001 +3495a40,c9102a +3495a44,1440fff1 +3495a48,24840002 +3495a4c,8fbf0064 +3495a50,8fb10060 +3495a54,8fb0005c +3495a58,3e00008 +3495a5c,27bd0068 +3495a60,3c038040 +3495a64,94620c4e +3495a68,24630c4e +3495a6c,94640002 +3495a70,94630004 +3495a74,3c058043 +3495a78,8ca59710 +3495a7c,a4a20000 +3495a80,a4a40002 +3495a84,a4a30004 +3495a88,3c058043 +3495a8c,8ca6970c +3495a90,a4c20000 +3495a94,8ca5970c +3495a98,a4a40004 +3495a9c,a4a30008 +3495aa0,240500ff +3495aa4,1445000a +3495aa8,3c058043 +3495aac,24050046 +3495ab0,14850007 +3495ab4,3c058043 +3495ab8,24050032 +3495abc,14650004 +3495ac0,3c058043 +3495ac4,1825 +3495ac8,2025 +3495acc,240200c8 +3495ad0,8ca59708 +3495ad4,a4a20000 +3495ad8,a4a40002 +3495adc,a4a30004 +3495ae0,3c058043 +3495ae4,8ca59704 +3495ae8,a4a20000 +3495aec,a4a40002 +3495af0,a4a30004 +3495af4,3c028043 +3495af8,8c439700 +3495afc,3c028040 +3495b00,94450c54 +3495b04,24420c54 +3495b08,94440002 +3495b0c,94420004 +3495b10,a4650000 +3495b14,a4640002 +3495b18,a4620004 +3495b1c,3c028043 +3495b20,8c4396fc +3495b24,3c028040 +3495b28,94450c5a +3495b2c,24420c5a +3495b30,94440002 +3495b34,94420004 +3495b38,a4650000 +3495b3c,a4640002 +3495b40,a4620004 +3495b44,3c028043 +3495b48,8c4396f8 +3495b4c,3c028040 +3495b50,94450c60 +3495b54,24420c60 +3495b58,94440002 +3495b5c,94420004 +3495b60,a4650000 +3495b64,a4640002 +3495b68,a4620004 +3495b6c,3c028043 +3495b70,8c4296f4 +3495b74,3c068040 +3495b78,94c30c72 +3495b7c,a4430000 +3495b80,3c028043 +3495b84,8c4396f0 +3495b88,24c20c72 +3495b8c,94440002 +3495b90,a4640000 +3495b94,3c038043 +3495b98,8c6396ec +3495b9c,94440004 +3495ba0,a4640000 +3495ba4,3c038043 +3495ba8,8c6396e8 +3495bac,3c058040 +3495bb0,94a40c78 +3495bb4,a4640000 +3495bb8,3c038043 +3495bbc,8c6496e4 +3495bc0,24a30c78 +3495bc4,94670002 +3495bc8,a4870000 +3495bcc,3c048043 +3495bd0,8c8496e0 +3495bd4,94670004 +3495bd8,a4870000 +3495bdc,3c048043 +3495be0,8c8496dc +3495be4,94c80c72 +3495be8,94470002 +3495bec,94460004 +3495bf0,a4880000 +3495bf4,a4870002 +3495bf8,a4860004 +3495bfc,3c048043 +3495c00,8c8496cc +3495c04,94a60c78 +3495c08,94650002 +3495c0c,94630004 +3495c10,a4860000 +3495c14,a4850002 +3495c18,a4830004 +3495c1c,94420002 +3495c20,3043ffff +3495c24,2c6300ce +3495c28,50600001 +3495c2c,240200cd +3495c30,24420032 +3495c34,3047ffff +3495c38,3c028040 +3495c3c,94420c76 +3495c40,3043ffff +3495c44,2c6300ce +3495c48,50600001 +3495c4c,240200cd +3495c50,24420032 +3495c54,3046ffff +3495c58,3c028040 +3495c5c,94420c78 +3495c60,3043ffff +3495c64,2c6300ce +3495c68,50600001 +3495c6c,240200cd +3495c70,24420032 +3495c74,3044ffff +3495c78,3c028040 +3495c7c,94420c7a +3495c80,3043ffff +3495c84,2c6300ce +3495c88,50600001 +3495c8c,240200cd +3495c90,24420032 +3495c94,3043ffff +3495c98,3c028040 +3495c9c,94420c7c +3495ca0,3045ffff +3495ca4,2ca500ce +3495ca8,50a00001 +3495cac,240200cd +3495cb0,24420032 +3495cb4,3c058043 +3495cb8,8ca896d8 +3495cbc,3c058040 +3495cc0,94a50c72 +3495cc4,30a9ffff +3495cc8,2d2900ce +3495ccc,15200002 +3495cd0,3042ffff +3495cd4,240500cd +3495cd8,24a50032 +3495cdc,a5050000 +3495ce0,a5070002 +3495ce4,a5060004 +3495ce8,3c058043 +3495cec,8ca596c8 +3495cf0,a4a40000 +3495cf4,a4a30002 +3495cf8,a4a20004 +3495cfc,3c028043 +3495d00,8c4396d0 +3495d04,3c028040 +3495d08,94450c72 +3495d0c,24420c72 +3495d10,94440002 +3495d14,94420004 +3495d18,a4650000 +3495d1c,a4640002 +3495d20,a4620004 +3495d24,3c028043 +3495d28,8c4396c0 +3495d2c,3c028040 +3495d30,94450c78 +3495d34,24420c78 +3495d38,94440002 +3495d3c,94420004 +3495d40,a4650000 +3495d44,a4640002 +3495d48,a4620004 +3495d4c,3c028043 +3495d50,8c4396bc +3495d54,3c028040 +3495d58,94460c66 +3495d5c,24440c66 +3495d60,94850002 +3495d64,94840004 +3495d68,a4660000 +3495d6c,a4650002 +3495d70,a4640004 +3495d74,94420c66 +3495d78,3043ffff +3495d7c,2c6300ce +3495d80,50600001 +3495d84,240200cd +3495d88,24420032 +3495d8c,3044ffff +3495d90,3c028040 +3495d94,94420c68 +3495d98,3043ffff +3495d9c,2c6300ce +3495da0,50600001 +3495da4,240200cd +3495da8,24420032 +3495dac,3043ffff +3495db0,3c028040 +3495db4,94420c6a +3495db8,3045ffff +3495dbc,2ca500ce +3495dc0,50a00001 +3495dc4,240200cd +3495dc8,24420032 +3495dcc,3042ffff +3495dd0,3c058043 +3495dd4,8ca596b8 +3495dd8,a4a40000 +3495ddc,a4a30002 +3495de0,a4a20004 +3495de4,3c058043 +3495de8,8ca596b0 +3495dec,a4a40000 +3495df0,a4a30002 +3495df4,3e00008 +3495df8,a4a20004 +3495dfc,3c028011 +3495e00,3442a5d0 +3495e04,8c4200a0 +3495e08,21302 +3495e0c,30420003 +3495e10,21840 +3495e14,621821 +3495e18,3c028042 +3495e1c,24424518 +3495e20,621821 +3495e24,90640000 +3495e28,42600 +3495e2c,90620001 +3495e30,21400 +3495e34,822021 +3495e38,90620002 +3495e3c,21200 +3495e40,3e00008 +3495e44,821021 +3495e48,3c028011 +3495e4c,3442a5d0 +3495e50,8c4208e0 +3495e54,3e00008 +3495e58,2102b +3495e5c,3c028011 +3495e60,3442a5d0 +3495e64,8c4308e0 +3495e68,24630001 +3495e6c,3e00008 +3495e70,ac4308e0 +3495e74,3c028011 +3495e78,3442a5d0 +3495e7c,8c4208e0 +3495e80,1040001c +3495e84,2442ffff +3495e88,27bdffd8 +3495e8c,afbf0024 +3495e90,afb10020 +3495e94,afb0001c +3495e98,3c038011 +3495e9c,3463a5d0 +3495ea0,ac6208e0 +3495ea4,3c108038 +3495ea8,3610e578 +3495eac,24050014 +3495eb0,3c11801d +3495eb4,200f809 +3495eb8,3624aa30 +3495ebc,24020014 +3495ec0,afa20014 +3495ec4,afa00010 +3495ec8,26100130 +3495ecc,3825 +3495ed0,24060003 +3495ed4,3625aa30 +3495ed8,200f809 +3495edc,262484a0 +3495ee0,8fbf0024 +3495ee4,8fb10020 +3495ee8,8fb0001c +3495eec,3e00008 +3495ef0,27bd0028 +3495ef4,3e00008 +3495efc,27bdffd0 +3495f00,afbf002c +3495f04,3c028042 +3495f08,8c434534 +3495f0c,3c02801c +3495f10,344284a0 +3495f14,80450016 +3495f18,2402000c +3495f1c,afa20018 +3495f20,24020006 +3495f24,afa20014 +3495f28,afa30010 +3495f2c,240700de +3495f30,c108a5d +3495f34,2406001a +3495f38,8fbf002c 3495f3c,3e00008 -3495f40,27bd0048 -3495f44,27bdffb8 -3495f48,afbf0044 -3495f4c,afbe0040 -3495f50,afb7003c -3495f54,afb60038 -3495f58,afb50034 -3495f5c,afb40030 -3495f60,afb3002c -3495f64,afb20028 -3495f68,afb10024 -3495f6c,afb00020 -3495f70,a0a825 -3495f74,8c900000 -3495f78,3c138042 -3495f7c,26733fd8 -3495f80,5a0c0 -3495f84,2851021 -3495f88,21080 -3495f8c,2621021 -3495f90,90510008 -3495f94,90570009 -3495f98,9056000a -3495f9c,905e000b -3495fa0,9043000c -3495fa4,afa3001c -3495fa8,9044000d -3495fac,afa40018 -3495fb0,9045000e -3495fb4,afa50014 -3495fb8,9046000f -3495fbc,afa60010 -3495fc0,3c12800a -3495fc4,3652a7f4 -3495fc8,24070001 -3495fcc,3025 -3495fd0,3c028042 -3495fd4,44866000 -3495fd8,240f809 -3495fdc,c44eff1c -3495fe0,3c028042 -3495fe4,c44cff20 -3495fe8,26420108 -3495fec,24070001 -3495ff0,44066000 -3495ff4,40f809 -3495ff8,46006386 -3495ffc,3c028007 -3496000,3442e298 -3496004,40f809 -3496008,2002025 -349600c,2652110c -3496010,240f809 -3496014,2002025 -3496018,8e0302c0 -349601c,24640008 -3496020,ae0402c0 -3496024,3c04da38 -3496028,24840003 -349602c,ac640000 -3496030,ac620004 -3496034,8e0202c0 -3496038,24430008 -349603c,ae0302c0 -3496040,3c03fc11 -3496044,3463fe23 -3496048,ac430000 -349604c,2403f7fb -3496050,ac430004 -3496054,8e0202c0 -3496058,24430008 -349605c,ae0302c0 -3496060,3c03fa00 -3496064,24630080 -3496068,ac430000 -349606c,118e00 -3496070,17bc00 -3496074,2378825 -3496078,23e8825 -349607c,16b200 -3496080,2368825 -3496084,ac510004 -3496088,8e0302c0 -349608c,24620008 -3496090,ae0202c0 -3496094,3c02fb00 -3496098,ac620000 -349609c,8fa2001c -34960a0,21600 -34960a4,8fa40018 -34960a8,42400 -34960ac,441025 -34960b0,8fa60010 -34960b4,461025 -34960b8,8fa50014 -34960bc,52200 -34960c0,441025 -34960c4,ac620004 -34960c8,295a021 -34960cc,14a080 -34960d0,2749821 -34960d4,8e630004 -34960d8,8e0202c0 -34960dc,24440008 -34960e0,ae0402c0 -34960e4,3c04de00 -34960e8,ac440000 -34960ec,ac430004 -34960f0,8fbf0044 -34960f4,8fbe0040 -34960f8,8fb7003c -34960fc,8fb60038 -3496100,8fb50034 -3496104,8fb40030 -3496108,8fb3002c -349610c,8fb20028 -3496110,8fb10024 -3496114,8fb00020 -3496118,3e00008 -349611c,27bd0048 -3496120,27bdff88 -3496124,afbf0074 -3496128,afbe0070 -349612c,afb7006c -3496130,afb60068 -3496134,afb50064 -3496138,afb40060 -349613c,afb3005c -3496140,afb20058 -3496144,afb10054 -3496148,afb00050 -349614c,a0a825 -3496150,8c910000 -3496154,3c028042 -3496158,24423fd8 -349615c,598c0 -3496160,2658021 -3496164,108080 -3496168,afa2004c -349616c,508021 -3496170,9203000c -3496174,afa3002c -3496178,9205000d -349617c,afa50030 -3496180,9206000e -3496184,afa60034 -3496188,9207000f -349618c,afa70038 -3496190,92080010 -3496194,afa8003c -3496198,92090011 -349619c,afa90040 -34961a0,920a0012 -34961a4,afaa0044 -34961a8,920b0013 -34961ac,afab0048 -34961b0,921e0014 -34961b4,920c0015 -34961b8,afac0028 -34961bc,920d0016 -34961c0,afad0024 -34961c4,920e0017 -34961c8,afae0020 -34961cc,920f0018 -34961d0,afaf001c -34961d4,92180019 -34961d8,afb80018 -34961dc,9219001a -34961e0,afb90014 -34961e4,921f001b -34961e8,afbf0010 -34961ec,3c12800a -34961f0,3652a7f4 -34961f4,24070001 -34961f8,3025 -34961fc,3c028042 -3496200,44866000 -3496204,240f809 -3496208,c44eff24 -349620c,3c028042 -3496210,c44cff28 -3496214,26420108 -3496218,24070001 -349621c,44066000 -3496220,40f809 -3496224,46006386 -3496228,3c148007 -349622c,3694e298 -3496230,280f809 -3496234,2202025 -3496238,2652110c -349623c,240f809 -3496240,2202025 -3496244,8e2302c0 -3496248,24640008 -349624c,ae2402c0 -3496250,3c17da38 -3496254,26f70003 -3496258,ac770000 -349625c,ac620004 -3496260,8e2202c0 -3496264,24430008 -3496268,ae2302c0 -349626c,3c16fa00 -3496270,26d60080 -3496274,ac560000 -3496278,1ef600 -349627c,8fac0028 -3496280,c1c00 -3496284,3c3f025 -3496288,8fae0020 -349628c,3cef025 -3496290,8fad0024 -3496294,d1a00 -3496298,3c3f025 -349629c,ac5e0004 -34962a0,8e2302c0 -34962a4,24620008 -34962a8,ae2202c0 -34962ac,3c1efb00 -34962b0,ac7e0000 -34962b4,8faf001c -34962b8,f1600 -34962bc,8fb80018 -34962c0,182400 -34962c4,441025 -34962c8,8fbf0010 -34962cc,5f1025 -34962d0,8fb90014 -34962d4,192200 -34962d8,441025 -34962dc,ac620004 -34962e0,8e030004 -34962e4,8e2202c0 -34962e8,24440008 -34962ec,ae2402c0 -34962f0,3c10de00 -34962f4,ac500000 -34962f8,ac430004 -34962fc,26940028 -3496300,280f809 -3496304,2202025 -3496308,240f809 -349630c,2202025 -3496310,8e2302d0 -3496314,24640008 -3496318,ae2402d0 -349631c,ac770000 -3496320,ac620004 -3496324,8e2302d0 -3496328,24620008 -349632c,ae2202d0 -3496330,ac760000 -3496334,8fa4002c -3496338,41600 -349633c,8fa50030 -3496340,52400 -3496344,441025 -3496348,8fa70038 -349634c,471025 -3496350,8fa60034 -3496354,62200 -3496358,441025 -349635c,ac620004 -3496360,8e2302d0 -3496364,24620008 -3496368,ae2202d0 -349636c,ac7e0000 -3496370,8fa8003c -3496374,81600 -3496378,8fa90040 -349637c,92400 -3496380,441025 -3496384,8fab0048 -3496388,4b1025 -349638c,8faa0044 -3496390,a2200 -3496394,441025 -3496398,ac620004 -349639c,2759821 -34963a0,139880 -34963a4,8fa2004c -34963a8,531021 -34963ac,8c430008 -34963b0,8e2202d0 -34963b4,24440008 -34963b8,ae2402d0 -34963bc,ac500000 -34963c0,ac430004 -34963c4,8fbf0074 -34963c8,8fbe0070 -34963cc,8fb7006c -34963d0,8fb60068 -34963d4,8fb50064 -34963d8,8fb40060 -34963dc,8fb3005c -34963e0,8fb20058 -34963e4,8fb10054 -34963e8,8fb00050 -34963ec,3e00008 -34963f0,27bd0078 -34963f4,27bdff88 -34963f8,afbf0074 -34963fc,afbe0070 -3496400,afb7006c -3496404,afb60068 -3496408,afb50064 -349640c,afb40060 -3496410,afb3005c -3496414,afb20058 -3496418,afb10054 -349641c,afb00050 -3496420,a0a825 -3496424,8c910000 -3496428,3c028042 -349642c,24423fd8 -3496430,598c0 -3496434,2658021 -3496438,108080 -349643c,afa2004c -3496440,508021 -3496444,9203000c -3496448,afa3002c -349644c,9205000d -3496450,afa50030 -3496454,9206000e -3496458,afa60034 -349645c,9207000f -3496460,afa70038 -3496464,92080010 -3496468,afa8003c -349646c,92090011 -3496470,afa90040 -3496474,920a0012 -3496478,afaa0044 -349647c,920b0013 -3496480,afab0048 -3496484,921e0014 -3496488,920c0015 -349648c,afac0028 -3496490,920d0016 -3496494,afad0024 -3496498,920e0017 -349649c,afae0020 -34964a0,920f0018 -34964a4,afaf001c -34964a8,92180019 -34964ac,afb80018 -34964b0,9219001a -34964b4,afb90014 -34964b8,921f001b -34964bc,afbf0010 -34964c0,3c12800a -34964c4,3652a7f4 -34964c8,24070001 -34964cc,3025 -34964d0,3c028042 -34964d4,44866000 -34964d8,240f809 -34964dc,c44eff1c -34964e0,3c028042 -34964e4,c44cff20 -34964e8,26420108 -34964ec,24070001 -34964f0,44066000 -34964f4,40f809 -34964f8,46006386 -34964fc,3c148007 -3496500,3694e298 -3496504,280f809 -3496508,2202025 -349650c,2652110c -3496510,240f809 -3496514,2202025 -3496518,8e2302c0 -349651c,24640008 -3496520,ae2402c0 -3496524,3c17da38 -3496528,26f70003 -349652c,ac770000 -3496530,ac620004 -3496534,8e2202c0 -3496538,24430008 -349653c,ae2302c0 -3496540,3c16fa00 -3496544,26d60080 -3496548,ac560000 -349654c,1ef600 -3496550,8fac0028 -3496554,c1c00 -3496558,3c3f025 -349655c,8fae0020 -3496560,3cef025 -3496564,8fad0024 -3496568,d1a00 -349656c,3c3f025 -3496570,ac5e0004 -3496574,8e2302c0 -3496578,24620008 -349657c,ae2202c0 -3496580,3c1efb00 -3496584,ac7e0000 -3496588,8faf001c -349658c,f1600 -3496590,8fb80018 -3496594,182400 -3496598,441025 -349659c,8fbf0010 -34965a0,5f1025 -34965a4,8fb90014 -34965a8,192200 -34965ac,441025 -34965b0,ac620004 -34965b4,8e030008 -34965b8,8e2202c0 -34965bc,24440008 -34965c0,ae2402c0 -34965c4,3c10de00 -34965c8,ac500000 -34965cc,ac430004 -34965d0,26940028 -34965d4,280f809 -34965d8,2202025 -34965dc,240f809 -34965e0,2202025 -34965e4,8e2302d0 -34965e8,24640008 -34965ec,ae2402d0 -34965f0,ac770000 -34965f4,ac620004 -34965f8,8e2302d0 -34965fc,24620008 -3496600,ae2202d0 -3496604,ac760000 -3496608,8fa4002c -349660c,41600 -3496610,8fa50030 -3496614,52400 -3496618,441025 -349661c,8fa70038 -3496620,471025 -3496624,8fa60034 -3496628,62200 -349662c,441025 -3496630,ac620004 -3496634,8e2302d0 -3496638,24620008 -349663c,ae2202d0 -3496640,ac7e0000 -3496644,8fa8003c -3496648,81600 -349664c,8fa90040 -3496650,92400 -3496654,441025 -3496658,8fab0048 -349665c,4b1025 -3496660,8faa0044 -3496664,a2200 -3496668,441025 -349666c,ac620004 -3496670,2759821 -3496674,139880 -3496678,8fa2004c -349667c,531021 -3496680,8c430004 -3496684,8e2202d0 -3496688,24440008 -349668c,ae2402d0 -3496690,ac500000 -3496694,ac430004 -3496698,8fbf0074 -349669c,8fbe0070 -34966a0,8fb7006c -34966a4,8fb60068 -34966a8,8fb50064 -34966ac,8fb40060 -34966b0,8fb3005c -34966b4,8fb20058 -34966b8,8fb10054 -34966bc,8fb00050 -34966c0,3e00008 -34966c4,27bd0078 -34966c8,27bdff88 -34966cc,afbf0074 -34966d0,afbe0070 -34966d4,afb7006c -34966d8,afb60068 -34966dc,afb50064 -34966e0,afb40060 -34966e4,afb3005c -34966e8,afb20058 -34966ec,afb10054 -34966f0,afb00050 -34966f4,a0a825 -34966f8,8c910000 -34966fc,3c028042 -3496700,24423fd8 -3496704,598c0 -3496708,2658021 -349670c,108080 -3496710,afa2004c -3496714,508021 -3496718,9203000c -349671c,afa3002c -3496720,9205000d -3496724,afa50030 -3496728,9206000e -349672c,afa60034 -3496730,9207000f -3496734,afa70038 -3496738,92080010 -349673c,afa8003c -3496740,92090011 -3496744,afa90040 -3496748,920a0012 -349674c,afaa0044 -3496750,920b0013 -3496754,afab0048 -3496758,921e0014 -349675c,920c0015 -3496760,afac0028 -3496764,920d0016 -3496768,afad0024 -349676c,920e0017 -3496770,afae0020 -3496774,920f0018 -3496778,afaf001c -349677c,92180019 -3496780,afb80018 -3496784,9219001a -3496788,afb90014 -349678c,921f001b -3496790,afbf0010 -3496794,3c12800a -3496798,3652a7f4 -349679c,24070001 -34967a0,3025 -34967a4,3c028042 -34967a8,44866000 -34967ac,240f809 -34967b0,c44eff1c -34967b4,3c028042 -34967b8,c44cff20 -34967bc,26420108 -34967c0,24070001 -34967c4,44066000 -34967c8,40f809 -34967cc,46006386 -34967d0,3c148007 -34967d4,3694e298 -34967d8,280f809 -34967dc,2202025 -34967e0,2652110c -34967e4,240f809 -34967e8,2202025 -34967ec,8e2302c0 -34967f0,24640008 -34967f4,ae2402c0 -34967f8,3c17da38 -34967fc,26f70003 -3496800,ac770000 -3496804,ac620004 -3496808,8e2202c0 -349680c,24430008 -3496810,ae2302c0 -3496814,3c16fa00 -3496818,26d60080 -349681c,ac560000 -3496820,1ef600 -3496824,8fac0028 -3496828,c1c00 -349682c,3c3f025 -3496830,8fae0020 -3496834,3cef025 -3496838,8fad0024 -349683c,d1a00 -3496840,3c3f025 -3496844,ac5e0004 -3496848,8e2302c0 -349684c,24620008 -3496850,ae2202c0 -3496854,3c1efb00 -3496858,ac7e0000 -349685c,8faf001c -3496860,f1600 -3496864,8fb80018 -3496868,182400 -349686c,441025 -3496870,8fbf0010 -3496874,5f1025 -3496878,8fb90014 -349687c,192200 -3496880,441025 -3496884,ac620004 -3496888,8e030004 -349688c,8e2202c0 -3496890,24440008 -3496894,ae2402c0 -3496898,3c10de00 -349689c,ac500000 -34968a0,ac430004 -34968a4,26940028 -34968a8,280f809 -34968ac,2202025 -34968b0,240f809 -34968b4,2202025 -34968b8,8e2302d0 -34968bc,24640008 -34968c0,ae2402d0 -34968c4,ac770000 -34968c8,ac620004 -34968cc,8e2302d0 -34968d0,24620008 -34968d4,ae2202d0 -34968d8,ac760000 -34968dc,8fa4002c -34968e0,41600 -34968e4,8fa50030 -34968e8,52400 -34968ec,441025 -34968f0,8fa70038 -34968f4,471025 -34968f8,8fa60034 -34968fc,62200 -3496900,441025 -3496904,ac620004 -3496908,8e2302d0 -349690c,24620008 -3496910,ae2202d0 -3496914,ac7e0000 -3496918,8fa8003c -349691c,81600 -3496920,8fa90040 -3496924,92400 -3496928,441025 -349692c,8fab0048 -3496930,4b1025 -3496934,8faa0044 -3496938,a2200 -349693c,441025 -3496940,ac620004 -3496944,2759821 -3496948,139880 -349694c,8fa2004c -3496950,531021 -3496954,8c430008 -3496958,8e2202d0 -349695c,24440008 -3496960,ae2402d0 -3496964,ac500000 +3495f40,27bd0030 +3495f44,27bdffd0 +3495f48,afbf002c +3495f4c,3c028042 +3495f50,8c434534 +3495f54,3c028043 +3495f58,944295e4 +3495f5c,23040 +3495f60,c23021 +3495f64,3c028043 +3495f68,94429634 +3495f6c,c23021 +3495f70,63600 +3495f74,63603 +3495f78,24c6001a +3495f7c,3c02801c +3495f80,344284a0 +3495f84,80450017 +3495f88,2402000c +3495f8c,afa20018 +3495f90,24020006 +3495f94,afa20014 +3495f98,afa30010 +3495f9c,240700de +3495fa0,63400 +3495fa4,c108a5d +3495fa8,63403 +3495fac,8fbf002c +3495fb0,3e00008 +3495fb4,27bd0030 +3495fb8,3c02801c +3495fbc,344284a0 +3495fc0,84420014 +3495fc4,441002e +3495fc8,3c058040 +3495fcc,27bdffd8 +3495fd0,afbf0024 +3495fd4,24a30c54 +3495fd8,94620002 +3495fdc,21400 +3495fe0,3c0600ff +3495fe4,461024 +3495fe8,94630004 +3495fec,31a00 +3495ff0,3063ffff +3495ff4,431025 +3495ff8,94a30c54 +3495ffc,31e00 +3496000,431025 +3496004,344200ff +3496008,8c830008 +349600c,24650008 +3496010,ac850008 +3496014,3c05fa00 +3496018,ac650000 +349601c,ac620004 +3496020,3c028043 +3496024,944295e4 +3496028,23840 +349602c,e23821 +3496030,3c028043 +3496034,94429634 +3496038,2442fffe +349603c,e23821 +3496040,73e00 +3496044,73e03 +3496048,24e7000d +349604c,2402000d +3496050,afa20018 +3496054,afa20014 +3496058,240200de +349605c,afa20010 +3496060,73840 +3496064,3025 +3496068,3c058043 +349606c,c1054be +3496070,24a59590 +3496074,8fbf0024 +3496078,3e00008 +349607c,27bd0028 +3496080,3e00008 +3496088,3c02801c +349608c,344284a0 +3496090,94420014 +3496094,30424000 +3496098,1040002e +349609c,3c058040 +34960a0,27bdffd8 +34960a4,afbf0024 +34960a8,24a30c5a +34960ac,94620002 +34960b0,21400 +34960b4,3c0600ff +34960b8,461024 +34960bc,94630004 +34960c0,31a00 +34960c4,3063ffff +34960c8,431025 +34960cc,94a30c5a +34960d0,31e00 +34960d4,431025 +34960d8,344200ff +34960dc,8c830008 +34960e0,24650008 +34960e4,ac850008 +34960e8,3c05fa00 +34960ec,ac650000 +34960f0,ac620004 +34960f4,3c028043 +34960f8,944295e4 +34960fc,23840 +3496100,e23821 +3496104,3c028043 +3496108,94429634 +349610c,2442fffe +3496110,e23821 +3496114,73e00 +3496118,73e03 +349611c,73840 +3496120,2402000d +3496124,afa20018 +3496128,afa20014 +349612c,240200de +3496130,afa20010 +3496134,24e70027 +3496138,24060001 +349613c,3c058043 +3496140,c1054be +3496144,24a59590 +3496148,8fbf0024 +349614c,3e00008 +3496150,27bd0028 +3496154,3e00008 +349615c,3c02801c +3496160,344284a0 +3496164,94420014 +3496168,30421000 +349616c,10400023 +3496170,240700de +3496174,27bdffe0 +3496178,afbf001c +349617c,8c820008 +3496180,24430008 +3496184,ac830008 +3496188,3c03fa00 +349618c,ac430000 +3496190,3c03dcdc +3496194,3463dcff +3496198,ac430004 +349619c,3c028043 +34961a0,944395e4 +34961a4,31040 +34961a8,431021 +34961ac,3c038043 +34961b0,94639634 +34961b4,2463fffe +34961b8,431021 +34961bc,21600 +34961c0,21603 +34961c4,2442000d +34961c8,21040 +34961cc,3c038043 +34961d0,94669594 +34961d4,2403000d +34961d8,afa30014 +34961dc,afa30010 +34961e0,463021 +34961e4,3c058042 +34961e8,c108a2d +34961ec,24a54540 +34961f0,8fbf001c +34961f4,3e00008 +34961f8,27bd0020 +34961fc,3e00008 +3496204,3c02801c +3496208,344284a0 +349620c,94420014 +3496210,30420004 +3496214,1040002e +3496218,3c058040 +349621c,27bdffd8 +3496220,afbf0024 +3496224,24a30c60 +3496228,94620002 +349622c,21400 +3496230,3c0600ff +3496234,461024 +3496238,94630004 +349623c,31a00 +3496240,3063ffff +3496244,431025 +3496248,94a30c60 +349624c,31e00 +3496250,431025 +3496254,344200ff +3496258,8c830008 +349625c,24650008 +3496260,ac850008 +3496264,3c05fa00 +3496268,ac650000 +349626c,ac620004 +3496270,3c028043 +3496274,944295e4 +3496278,23840 +349627c,e23821 +3496280,3c028043 +3496284,94429634 +3496288,2442fffe +349628c,e23821 +3496290,73e00 +3496294,73e03 +3496298,24e7001a +349629c,2402000d +34962a0,afa20018 +34962a4,afa20014 +34962a8,240200de +34962ac,afa20010 +34962b0,73840 +34962b4,24060007 +34962b8,3c058043 +34962bc,c1054be +34962c0,24a59590 +34962c4,8fbf0024 +34962c8,3e00008 +34962cc,27bd0028 +34962d0,3e00008 +34962d8,3c02801c +34962dc,344284a0 +34962e0,94420014 +34962e4,30420008 +34962e8,1040002e +34962ec,3c058040 +34962f0,27bdffd8 +34962f4,afbf0024 +34962f8,24a30c60 +34962fc,94620002 +3496300,21400 +3496304,3c0600ff +3496308,461024 +349630c,94630004 +3496310,31a00 +3496314,3063ffff +3496318,431025 +349631c,94a30c60 +3496320,31e00 +3496324,431025 +3496328,344200ff +349632c,8c830008 +3496330,24650008 +3496334,ac850008 +3496338,3c05fa00 +349633c,ac650000 +3496340,ac620004 +3496344,3c028043 +3496348,944295e4 +349634c,23840 +3496350,e23821 +3496354,3c028043 +3496358,94429634 +349635c,2442fffe +3496360,e23821 +3496364,73e00 +3496368,73e03 +349636c,73840 +3496370,2402000d +3496374,afa20018 +3496378,afa20014 +349637c,240200de +3496380,afa20010 +3496384,24e7005b +3496388,24060006 +349638c,3c058043 +3496390,c1054be +3496394,24a59590 +3496398,8fbf0024 +349639c,3e00008 +34963a0,27bd0028 +34963a4,3e00008 +34963ac,3c02801c +34963b0,344284a0 +34963b4,94420014 +34963b8,30420002 +34963bc,1040002e +34963c0,3c058040 +34963c4,27bdffd8 +34963c8,afbf0024 +34963cc,24a30c60 +34963d0,94620002 +34963d4,21400 +34963d8,3c0600ff +34963dc,461024 +34963e0,94630004 +34963e4,31a00 +34963e8,3063ffff +34963ec,431025 +34963f0,94a30c60 +34963f4,31e00 +34963f8,431025 +34963fc,344200ff +3496400,8c830008 +3496404,24650008 +3496408,ac850008 +349640c,3c05fa00 +3496410,ac650000 +3496414,ac620004 +3496418,3c028043 +349641c,944295e4 +3496420,23840 +3496424,e23821 +3496428,3c028043 +349642c,94429634 +3496430,2442fffe +3496434,e23821 +3496438,73e00 +349643c,73e03 +3496440,24e70027 +3496444,2402000d +3496448,afa20018 +349644c,afa20014 +3496450,240200de +3496454,afa20010 +3496458,73840 +349645c,24060008 +3496460,3c058043 +3496464,c1054be +3496468,24a59590 +349646c,8fbf0024 +3496470,3e00008 +3496474,27bd0028 +3496478,3e00008 +3496480,3c02801c +3496484,344284a0 +3496488,94420014 +349648c,30420001 +3496490,1040002e +3496494,3c058040 +3496498,27bdffd8 +349649c,afbf0024 +34964a0,24a30c60 +34964a4,94620002 +34964a8,21400 +34964ac,3c0600ff +34964b0,461024 +34964b4,94630004 +34964b8,31a00 +34964bc,3063ffff +34964c0,431025 +34964c4,94a30c60 +34964c8,31e00 +34964cc,431025 +34964d0,344200ff +34964d4,8c830008 +34964d8,24650008 +34964dc,ac850008 +34964e0,3c05fa00 +34964e4,ac650000 +34964e8,ac620004 +34964ec,3c028043 +34964f0,944295e4 +34964f4,23840 +34964f8,e23821 +34964fc,3c028043 +3496500,94429634 +3496504,2442fffe +3496508,e23821 +349650c,73e00 +3496510,73e03 +3496514,73840 +3496518,2402000d +349651c,afa20018 +3496520,afa20014 +3496524,240200de +3496528,afa20010 +349652c,24e70041 +3496530,24060009 +3496534,3c058043 +3496538,c1054be +349653c,24a59590 +3496540,8fbf0024 +3496544,3e00008 +3496548,27bd0028 +349654c,3e00008 +3496554,3c02801c +3496558,344284a0 +349655c,94420014 +3496560,30422000 +3496564,10400022 +3496568,24060005 +349656c,27bdffd8 +3496570,afbf0024 +3496574,8c820008 +3496578,24430008 +349657c,ac830008 +3496580,3c03fa00 +3496584,ac430000 +3496588,3c03dcdc +349658c,3463dcff +3496590,ac430004 +3496594,3c028043 +3496598,944295e4 +349659c,23840 +34965a0,e23821 +34965a4,3c028043 +34965a8,94429634 +34965ac,2442fffe +34965b0,e23821 +34965b4,73e00 +34965b8,73e03 +34965bc,24e70034 +34965c0,2402000d +34965c4,afa20018 +34965c8,afa20014 +34965cc,240200de +34965d0,afa20010 +34965d4,73840 +34965d8,3c058043 +34965dc,c1054be +34965e0,24a59590 +34965e4,8fbf0024 +34965e8,3e00008 +34965ec,27bd0028 +34965f0,3e00008 +34965f8,3c02801c +34965fc,344284a0 +3496600,94420014 +3496604,30420020 +3496608,10400022 +349660c,24060003 +3496610,27bdffd8 +3496614,afbf0024 +3496618,8c820008 +349661c,24430008 +3496620,ac830008 +3496624,3c03fa00 +3496628,ac430000 +349662c,3c03dcdc +3496630,3463dcff +3496634,ac430004 +3496638,3c028043 +349663c,944295e4 +3496640,23840 +3496644,e23821 +3496648,3c028043 +349664c,94429634 +3496650,2442fffe +3496654,e23821 +3496658,73e00 +349665c,73e03 +3496660,73840 +3496664,2402000d +3496668,afa20018 +349666c,afa20014 +3496670,240200de +3496674,afa20010 +3496678,24e70075 +349667c,3c058043 +3496680,c1054be +3496684,24a59590 +3496688,8fbf0024 +349668c,3e00008 +3496690,27bd0028 +3496694,3e00008 +349669c,3c02801c +34966a0,344284a0 +34966a4,94420014 +34966a8,30420010 +34966ac,10400022 +34966b0,24060004 +34966b4,27bdffd8 +34966b8,afbf0024 +34966bc,8c820008 +34966c0,24430008 +34966c4,ac830008 +34966c8,3c03fa00 +34966cc,ac430000 +34966d0,3c03dcdc +34966d4,3463dcff +34966d8,ac430004 +34966dc,3c028043 +34966e0,944295e4 +34966e4,23840 +34966e8,e23821 +34966ec,3c028043 +34966f0,94429634 +34966f4,2442fffe +34966f8,e23821 +34966fc,73e00 +3496700,73e03 +3496704,24e70041 +3496708,2402000d +349670c,afa20018 +3496710,afa20014 +3496714,240200de +3496718,afa20010 +349671c,73840 +3496720,3c058043 +3496724,c1054be +3496728,24a59590 +349672c,8fbf0024 +3496730,3e00008 +3496734,27bd0028 +3496738,3e00008 +3496740,3c02801c +3496744,344284a0 +3496748,94420014 +349674c,30420400 +3496750,10400022 +3496754,24060007 +3496758,27bdffd8 +349675c,afbf0024 +3496760,8c820008 +3496764,24430008 +3496768,ac830008 +349676c,3c03fa00 +3496770,ac430000 +3496774,3c03dcdc +3496778,3463dcff +349677c,ac430004 +3496780,3c028043 +3496784,944295e4 +3496788,23840 +349678c,e23821 +3496790,3c028043 +3496794,94429634 +3496798,2442fffe +349679c,e23821 +34967a0,73e00 +34967a4,73e03 +34967a8,73840 +34967ac,2402000d +34967b0,afa20018 +34967b4,afa20014 +34967b8,240200de +34967bc,afa20010 +34967c0,24e7008f +34967c4,3c058043 +34967c8,c1054be +34967cc,24a59590 +34967d0,8fbf0024 +34967d4,3e00008 +34967d8,27bd0028 +34967dc,3e00008 +34967e4,3c02801c +34967e8,344284a0 +34967ec,94420014 +34967f0,30420800 +34967f4,10400022 +34967f8,24060006 +34967fc,27bdffd8 +3496800,afbf0024 +3496804,8c820008 +3496808,24430008 +349680c,ac830008 +3496810,3c03fa00 +3496814,ac430000 +3496818,3c03dcdc +349681c,3463dcff +3496820,ac430004 +3496824,3c028043 +3496828,944295e4 +349682c,23840 +3496830,e23821 +3496834,3c028043 +3496838,94429634 +349683c,2442fffe +3496840,e23821 +3496844,73e00 +3496848,73e03 +349684c,24e7005b +3496850,2402000d +3496854,afa20018 +3496858,afa20014 +349685c,240200de +3496860,afa20010 +3496864,73840 +3496868,3c058043 +349686c,c1054be +3496870,24a59590 +3496874,8fbf0024 +3496878,3e00008 +349687c,27bd0028 +3496880,3e00008 +3496888,3c02801c +349688c,344284a0 +3496890,94420014 +3496894,30420200 +3496898,10400022 +349689c,24060008 +34968a0,27bdffd8 +34968a4,afbf0024 +34968a8,8c820008 +34968ac,24430008 +34968b0,ac830008 +34968b4,3c03fa00 +34968b8,ac430000 +34968bc,3c03dcdc +34968c0,3463dcff +34968c4,ac430004 +34968c8,3c028043 +34968cc,944295e4 +34968d0,23840 +34968d4,e23821 +34968d8,3c028043 +34968dc,94429634 +34968e0,2442fffe +34968e4,e23821 +34968e8,73e00 +34968ec,73e03 +34968f0,73840 +34968f4,2402000d +34968f8,afa20018 +34968fc,afa20014 +3496900,240200de +3496904,afa20010 +3496908,24e700a9 +349690c,3c058043 +3496910,c1054be +3496914,24a59590 +3496918,8fbf0024 +349691c,3e00008 +3496920,27bd0028 +3496924,3e00008 +349692c,3c02801c +3496930,344284a0 +3496934,94420014 +3496938,30420100 +349693c,10400022 +3496940,24060009 +3496944,27bdffd8 +3496948,afbf0024 +349694c,8c820008 +3496950,24430008 +3496954,ac830008 +3496958,3c03fa00 +349695c,ac430000 +3496960,3c03dcdc +3496964,3463dcff 3496968,ac430004 -349696c,8fbf0074 -3496970,8fbe0070 -3496974,8fb7006c -3496978,8fb60068 -349697c,8fb50064 -3496980,8fb40060 -3496984,8fb3005c -3496988,8fb20058 -349698c,8fb10054 -3496990,8fb00050 -3496994,3e00008 -3496998,27bd0078 -349699c,27bdff88 -34969a0,afbf0074 -34969a4,afbe0070 -34969a8,afb7006c -34969ac,afb60068 -34969b0,afb50064 -34969b4,afb40060 -34969b8,afb3005c -34969bc,afb20058 -34969c0,afb10054 -34969c4,afb00050 -34969c8,a09825 -34969cc,8c900000 -34969d0,3c028042 -34969d4,24423fd8 -34969d8,518c0 -34969dc,afa3004c -34969e0,658821 -34969e4,118880 -34969e8,afa20048 -34969ec,518821 -34969f0,92370018 -34969f4,923e0019 -34969f8,9225001a -34969fc,afa50028 -3496a00,9226001b -3496a04,afa6002c -3496a08,9227001c -3496a0c,afa70030 -3496a10,9228001d -3496a14,afa80034 -3496a18,9229001e -3496a1c,afa90038 -3496a20,922a001f -3496a24,afaa003c -3496a28,922b0010 -3496a2c,afab0040 -3496a30,922c0011 -3496a34,afac0044 -3496a38,922d0012 -3496a3c,afad0024 -3496a40,922e0013 -3496a44,afae0020 -3496a48,922f0014 -3496a4c,afaf001c -3496a50,92380015 -3496a54,afb80018 -3496a58,92390016 -3496a5c,afb90014 -3496a60,923f0017 -3496a64,afbf0010 -3496a68,3c128007 -3496a6c,3652e2c0 -3496a70,240f809 -3496a74,2002025 -3496a78,3c15800a -3496a7c,36b5b900 -3496a80,2a0f809 -3496a84,2002025 -3496a88,8e0302d0 -3496a8c,24640008 -3496a90,ae0402d0 -3496a94,3c14da38 -3496a98,26940003 -3496a9c,ac740000 -3496aa0,ac620004 -3496aa4,8e0202d0 -3496aa8,24430008 -3496aac,ae0302d0 -3496ab0,3c16fa00 -3496ab4,26d60080 -3496ab8,ac560000 -3496abc,17be00 -3496ac0,1ef400 -3496ac4,2feb825 -3496ac8,8fa6002c -3496acc,2e6b825 -3496ad0,8fa50028 -3496ad4,51a00 -3496ad8,2e3b825 -3496adc,ac570004 -3496ae0,8e0302d0 -3496ae4,24620008 -3496ae8,ae0202d0 -3496aec,3c1efb00 -3496af0,ac7e0000 -3496af4,8fa70030 -3496af8,71600 -3496afc,8fa80034 -3496b00,82400 -3496b04,441025 -3496b08,8faa003c -3496b0c,4a1025 -3496b10,8fa90038 -3496b14,92200 -3496b18,441025 -3496b1c,ac620004 -3496b20,8e230004 -3496b24,8e0202d0 -3496b28,24440008 -3496b2c,ae0402d0 -3496b30,3c17de00 -3496b34,ac570000 -3496b38,ac430004 -3496b3c,240f809 -3496b40,2002025 -3496b44,2a0f809 -3496b48,2002025 -3496b4c,8e0302d0 -3496b50,24640008 -3496b54,ae0402d0 -3496b58,ac740000 -3496b5c,ac620004 -3496b60,8e0302d0 -3496b64,24620008 -3496b68,ae0202d0 -3496b6c,ac760000 -3496b70,8fab0040 -3496b74,b1600 -3496b78,8fac0044 -3496b7c,c2400 -3496b80,441025 -3496b84,8fae0020 -3496b88,4e1025 -3496b8c,8fad0024 -3496b90,d2200 -3496b94,441025 -3496b98,ac620004 -3496b9c,8e0302d0 -3496ba0,24620008 -3496ba4,ae0202d0 -3496ba8,ac7e0000 -3496bac,8faf001c -3496bb0,f1600 -3496bb4,8fb80018 -3496bb8,182400 -3496bbc,441025 -3496bc0,8fbf0010 -3496bc4,5f1025 -3496bc8,8fb90014 -3496bcc,192200 -3496bd0,441025 -3496bd4,ac620004 -3496bd8,8e230008 -3496bdc,8e0202d0 -3496be0,24440008 -3496be4,ae0402d0 -3496be8,ac570000 -3496bec,ac430004 -3496bf0,2652ffd8 -3496bf4,240f809 -3496bf8,2002025 -3496bfc,2a0f809 -3496c00,2002025 -3496c04,8e0302c0 -3496c08,24640008 -3496c0c,ae0402c0 -3496c10,ac740000 -3496c14,ac620004 -3496c18,8fa4004c -3496c1c,931021 -3496c20,21080 -3496c24,8fa30048 -3496c28,621021 -3496c2c,8c43000c -3496c30,8e0202c0 -3496c34,24440008 -3496c38,ae0402c0 -3496c3c,ac570000 -3496c40,ac430004 -3496c44,8fbf0074 -3496c48,8fbe0070 -3496c4c,8fb7006c -3496c50,8fb60068 -3496c54,8fb50064 -3496c58,8fb40060 -3496c5c,8fb3005c -3496c60,8fb20058 -3496c64,8fb10054 -3496c68,8fb00050 -3496c6c,3e00008 -3496c70,27bd0078 -3496c74,27bdffd0 -3496c78,afbf002c -3496c7c,afb50028 -3496c80,afb40024 -3496c84,afb30020 -3496c88,afb2001c -3496c8c,afb10018 -3496c90,afb00014 -3496c94,a09025 -3496c98,3c028042 -3496c9c,518c0 -3496ca0,651821 -3496ca4,31880 -3496ca8,24423fd8 -3496cac,431021 -3496cb0,90500008 -3496cb4,90540009 -3496cb8,9053000a -3496cbc,9055000b -3496cc0,3c028040 -3496cc4,90420ca4 -3496cc8,10400006 -3496ccc,8c910000 -3496cd0,3c028040 -3496cd4,90500c4d -3496cd8,24420c4c -3496cdc,90540003 -3496ce0,90530005 -3496ce4,3c028007 -3496ce8,3442e2c0 -3496cec,40f809 -3496cf0,2202025 -3496cf4,3c02800a -3496cf8,3442b900 -3496cfc,40f809 -3496d00,2202025 -3496d04,8e2302d0 -3496d08,24640008 -3496d0c,ae2402d0 -3496d10,3c04da38 -3496d14,24840003 -3496d18,ac640000 -3496d1c,ac620004 -3496d20,8e2202d0 -3496d24,24430008 -3496d28,ae2302d0 -3496d2c,3c03fa00 -3496d30,24630080 -3496d34,ac430000 -3496d38,108600 -3496d3c,14a400 -3496d40,2148025 -3496d44,2158025 -3496d48,139a00 -3496d4c,2138025 -3496d50,ac500004 -3496d54,3c028042 -3496d58,1218c0 -3496d5c,721821 -3496d60,31880 -3496d64,24423fd8 -3496d68,431021 -3496d6c,8c430004 -3496d70,8e2202d0 -3496d74,24440008 -3496d78,ae2402d0 -3496d7c,3c04de00 -3496d80,ac440000 -3496d84,ac430004 -3496d88,8fbf002c -3496d8c,8fb50028 -3496d90,8fb40024 -3496d94,8fb30020 -3496d98,8fb2001c -3496d9c,8fb10018 -3496da0,8fb00014 -3496da4,3e00008 -3496da8,27bd0030 -3496dac,27bdffd0 -3496db0,afbf002c -3496db4,afb60028 -3496db8,afb50024 -3496dbc,afb40020 -3496dc0,afb3001c -3496dc4,afb20018 -3496dc8,afb10014 -3496dcc,afb00010 -3496dd0,a09025 -3496dd4,3c028042 -3496dd8,518c0 -3496ddc,651821 -3496de0,31880 -3496de4,24423fd8 -3496de8,431021 -3496dec,90500008 -3496df0,90550009 -3496df4,9054000a -3496df8,9056000b -3496dfc,3c028040 -3496e00,90420ca4 -3496e04,10400006 -3496e08,8c910000 -3496e0c,3c028040 -3496e10,90500c59 -3496e14,24420c58 -3496e18,90550003 -3496e1c,90540005 -3496e20,3c028042 -3496e24,1218c0 -3496e28,721821 -3496e2c,31880 -3496e30,24423fd8 -3496e34,431021 -3496e38,8c42000c -3496e3c,44820000 -3496e40,4410004 -3496e44,46800321 -3496e48,3c028042 -3496e4c,d440ff30 -3496e50,46206300 -3496e54,46206320 -3496e58,3c13800a -3496e5c,3673ad4c -3496e60,24050001 -3496e64,3c028042 -3496e68,c440ff2c -3496e6c,260f809 -3496e70,46006302 -3496e74,3c028007 -3496e78,3442e298 -3496e7c,40f809 -3496e80,2202025 -3496e84,26730bb4 -3496e88,260f809 -3496e8c,2202025 -3496e90,8e2302c0 -3496e94,24640008 -3496e98,ae2402c0 -3496e9c,3c04da38 -3496ea0,24840003 -3496ea4,ac640000 -3496ea8,ac620004 -3496eac,8e2202c0 -3496eb0,24430008 -3496eb4,ae2302c0 -3496eb8,3c03fa00 -3496ebc,24630080 -3496ec0,ac430000 -3496ec4,108600 -3496ec8,15ac00 -3496ecc,2158025 -3496ed0,2168025 -3496ed4,14a200 -3496ed8,2148025 -3496edc,ac500004 -3496ee0,3c028042 -3496ee4,1218c0 -3496ee8,721821 -3496eec,31880 -3496ef0,24423fd8 -3496ef4,431021 -3496ef8,8c430004 -3496efc,8e2202c0 -3496f00,24440008 -3496f04,ae2402c0 -3496f08,3c04de00 -3496f0c,ac440000 -3496f10,ac430004 -3496f14,8fbf002c -3496f18,8fb60028 -3496f1c,8fb50024 -3496f20,8fb40020 -3496f24,8fb3001c -3496f28,8fb20018 -3496f2c,8fb10014 -3496f30,8fb00010 -3496f34,3e00008 -3496f38,27bd0030 -3496f3c,27bdffd0 -3496f40,afbf002c -3496f44,afb60028 -3496f48,afb50024 -3496f4c,afb40020 -3496f50,afb3001c -3496f54,afb20018 -3496f58,afb10014 -3496f5c,afb00010 -3496f60,a09025 -3496f64,3c028042 -3496f68,518c0 -3496f6c,651821 -3496f70,31880 -3496f74,24423fd8 -3496f78,431021 -3496f7c,90500008 -3496f80,90550009 -3496f84,9054000a -3496f88,9056000b -3496f8c,3c028040 -3496f90,90420ca4 -3496f94,10400006 -3496f98,8c910000 -3496f9c,3c028040 -3496fa0,90500c59 -3496fa4,24420c58 -3496fa8,90550003 -3496fac,90540005 -3496fb0,3c028042 -3496fb4,1218c0 -3496fb8,721821 -3496fbc,31880 -3496fc0,24423fd8 -3496fc4,431021 -3496fc8,8c42000c -3496fcc,44820000 -3496fd0,4410004 -3496fd4,46800321 -3496fd8,3c028042 -3496fdc,d440ff30 -3496fe0,46206300 -3496fe4,46206320 -3496fe8,3c13800a -3496fec,3673ad4c -3496ff0,24050001 -3496ff4,3c028042 -3496ff8,c440ff2c -3496ffc,260f809 -3497000,46006302 -3497004,3c028007 -3497008,3442e298 -349700c,40f809 -3497010,2202025 -3497014,26730bb4 -3497018,260f809 -349701c,2202025 -3497020,8e2302c0 -3497024,24640008 -3497028,ae2402c0 -349702c,3c04da38 -3497030,24840003 -3497034,ac640000 -3497038,ac620004 -349703c,8e2202c0 -3497040,24430008 -3497044,ae2302c0 -3497048,3c03fa00 -349704c,24630080 -3497050,ac430000 -3497054,108600 -3497058,15ac00 -349705c,2158025 -3497060,2168025 -3497064,14a200 -3497068,2148025 -349706c,ac500004 -3497070,3c028042 -3497074,1218c0 -3497078,721821 -349707c,31880 -3497080,24423fd8 -3497084,431021 -3497088,8c430004 -349708c,8e2202c0 -3497090,24440008 -3497094,ae2402c0 -3497098,3c04de00 -349709c,ac440000 -34970a0,ac430004 -34970a4,8fbf002c -34970a8,8fb60028 -34970ac,8fb50024 -34970b0,8fb40020 -34970b4,8fb3001c -34970b8,8fb20018 -34970bc,8fb10014 -34970c0,8fb00010 -34970c4,3e00008 -34970c8,27bd0030 -34970cc,27bdffe8 -34970d0,afbf0014 -34970d4,510c0 -34970d8,451021 -34970dc,21080 -34970e0,3c038042 -34970e4,24633fd8 -34970e8,431021 -34970ec,8c420000 -34970f0,40f809 -34970f8,8fbf0014 -34970fc,3e00008 -3497100,27bd0018 -3497104,3e00008 -349710c,24020140 -3497110,3e00008 -3497114,a4821424 -3497118,27bdffe0 -349711c,afbf001c -3497120,afb10018 -3497124,afb00014 -3497128,808025 -349712c,8c8208c4 -3497130,24420001 -3497134,c107d12 -3497138,ac8208c4 -349713c,3c028040 -3497140,94421dd6 -3497144,8e0308c4 -3497148,1462001e -349714c,8fbf001c -3497150,920200b2 -3497154,34420001 -3497158,a20200b2 -349715c,3c04801c -3497160,348484a0 -3497164,3c110001 -3497168,918821 -349716c,86221e1a -3497170,ae020000 -3497174,948200a4 -3497178,a6020066 -349717c,3c108009 -3497180,3602d894 -3497184,40f809 -3497188,261005d4 -349718c,3c04a34b -3497190,200f809 -3497194,3484e820 -3497198,3c028011 -349719c,3442a5d0 -34971a0,2403fff8 -34971a4,a4431412 -34971a8,240200a0 -34971ac,a6221e1a -34971b0,24020014 -34971b4,a2221e15 -34971b8,24020001 -34971bc,a2221e5e -34971c0,8fbf001c -34971c4,8fb10018 -34971c8,8fb00014 -34971cc,3e00008 -34971d0,27bd0020 -34971d4,8c8200a0 -34971d8,34423000 -34971dc,ac8200a0 -34971e0,3c028043 -34971e4,90420fa2 -34971e8,304200ff -34971ec,10400005 -34971f0,52840 -34971f4,3c028010 -34971f8,451021 -34971fc,94428cec -3497200,a4820034 -3497204,3e00008 -349720c,24020001 -3497210,3e00008 -3497214,a082003e -3497218,24020012 -349721c,240600ff -3497220,24070016 -3497224,821821 -3497228,90630074 -349722c,54660004 -3497230,24420001 -3497234,822021 -3497238,3e00008 -349723c,a0850074 -3497240,1447fff9 -3497244,821821 -3497248,3e00008 -3497250,862021 -3497254,908200a8 -3497258,a22825 -349725c,3e00008 -3497260,a08500a8 -3497264,851821 -3497268,906200bc -349726c,23600 -3497270,63603 -3497274,4c20001 -3497278,1025 -349727c,24420001 -3497280,a06200bc -3497284,510c0 -3497288,451023 -349728c,21080 -3497290,821021 -3497294,8c4700e4 -3497298,804300e5 -349729c,3c028040 -34972a0,24421dba -34972a4,451021 -34972a8,90480000 -34972ac,51040 -34972b0,3c068042 -34972b4,24c655d4 -34972b8,461021 -34972bc,481021 -34972c0,80420000 -34972c4,62102a -34972c8,10400009 -34972cc,510c0 -34972d0,451023 -34972d4,21080 -34972d8,822021 -34972dc,24630001 -34972e0,31c00 -34972e4,30e7ffff -34972e8,671825 -34972ec,ac8300e4 -34972f0,3e00008 -34972f8,853021 -34972fc,3c028040 -3497300,24421dba -3497304,a21021 -3497308,90470000 -349730c,51040 -3497310,3c038042 -3497314,246355d4 -3497318,431021 -349731c,471021 -3497320,90c300bc -3497324,33e00 -3497328,73e03 -349732c,4e20001 -3497330,1825 -3497334,90420000 -3497338,431021 -349733c,a0c200bc -3497340,3c028040 -3497344,90421d7a -3497348,1040000b -349734c,510c0 -3497350,24a2fffd -3497354,3042ffff -3497358,2c420005 -349735c,10400006 -3497360,510c0 -3497364,851821 -3497368,906200a8 -349736c,34420001 -3497370,a06200a8 -3497374,510c0 -3497378,451823 -349737c,31880 -3497380,831821 -3497384,3c068040 -3497388,24c61dba -349738c,c53021 -3497390,90c80000 -3497394,53040 -3497398,3c078042 -349739c,24e755d4 -34973a0,c73021 -34973a4,c83021 -34973a8,80c60000 -34973ac,63400 -34973b0,946200e6 -34973b4,c21025 -34973b8,3e00008 -34973bc,ac6200e4 -34973c0,3c028040 -34973c4,24421dba -34973c8,451021 -34973cc,90470000 -34973d0,3c038042 -34973d4,71040 -34973d8,471021 -34973dc,21040 -34973e0,63840 -34973e4,e63821 -34973e8,73880 -34973ec,471021 -34973f0,246354cc -34973f4,621021 -34973f8,90470001 -34973fc,24020008 -3497400,14c20015 -3497404,a04025 -3497408,3c02801c -349740c,344284a0 -3497410,944200a4 -3497414,14a2000a -3497418,510c0 -349741c,3c02801c -3497420,344284a0 -3497424,8c431d3c -3497428,34630004 -349742c,ac431d3c -3497430,8c431d40 -3497434,34630004 -3497438,1000000c -349743c,ac431d40 -3497440,451023 -3497444,21080 -3497448,821021 -349744c,8c4300dc -3497450,34630004 -3497454,ac4300dc -3497458,3c02801c -349745c,344284a0 -3497460,944200a4 -3497464,15020009 -3497468,510c0 -349746c,3c02801c -3497470,344284a0 -3497474,24040001 -3497478,e42004 -349747c,8c431d28 -3497480,641825 -3497484,3e00008 -3497488,ac431d28 -349748c,451823 -3497490,31880 -3497494,831821 -3497498,24050001 -349749c,e52804 -34974a0,8c6200d8 -34974a4,451025 -34974a8,3e00008 -34974ac,ac6200d8 -34974b0,3c028040 -34974b4,24421dba -34974b8,a21021 -34974bc,90430000 -34974c0,31040 -34974c4,431021 -34974c8,21040 -34974cc,61840 -34974d0,661821 -34974d4,31880 -34974d8,431021 -34974dc,3c038042 -34974e0,246354cc -34974e4,431021 -34974e8,90470000 -34974ec,3c028043 -34974f0,24421088 -34974f4,c21021 -34974f8,90420000 -34974fc,1047000e -3497500,24420001 -3497504,304200ff -3497508,3c038043 -349750c,24631088 -3497510,661821 -3497514,14e20008 -3497518,a0620000 -349751c,27bdffe8 -3497520,afbf0014 -3497524,c105cf0 -349752c,8fbf0014 -3497530,3e00008 -3497534,27bd0018 -3497538,3e00008 -3497540,27bdffd8 -3497544,afbf0024 -3497548,afb30020 -349754c,afb2001c -3497550,afb10018 -3497554,afb00014 -3497558,809025 -349755c,a08825 -3497560,c08025 -3497564,3c028040 -3497568,24421dba -349756c,a21021 -3497570,90430000 -3497574,31040 -3497578,431021 -349757c,21040 -3497580,61840 -3497584,661821 -3497588,31880 -349758c,431021 -3497590,3c038042 -3497594,246354cc -3497598,431021 -349759c,90530000 -34975a0,132080 -34975a4,3c028007 -34975a8,244221cc -34975ac,40f809 -34975b0,2642021 -34975b4,3c028043 -34975b8,24421088 -34975bc,2021021 -34975c0,90420000 -34975c4,10530008 -34975c8,3c028043 -34975cc,24421088 -34975d0,501021 -34975d4,a0530000 -34975d8,2003025 -34975dc,2202825 -34975e0,c105cf0 -34975e4,2402025 -34975e8,8fbf0024 -34975ec,8fb30020 -34975f0,8fb2001c -34975f4,8fb10018 -34975f8,8fb00014 -34975fc,3e00008 -3497600,27bd0028 -3497604,24020001 -3497608,a082003d -349760c,24020014 -3497610,a08200cf -3497614,24020140 -3497618,3e00008 -349761c,a4821424 -3497620,24020001 -3497624,a0820032 -3497628,a082003a -349762c,24020030 -3497630,a48213f4 -3497634,3e00008 -3497638,a0820033 -349763c,24020002 -3497640,a0820032 -3497644,24020001 -3497648,a082003a -349764c,a082003c -3497650,24020060 -3497654,a48213f4 -3497658,3e00008 -349765c,a0820033 -3497660,24020007 -3497664,3e00008 -3497668,a082007b -349766c,24020001 -3497670,a21004 -3497674,8c8500a4 -3497678,a22825 -349767c,3e00008 -3497680,ac8500a4 -3497684,27bdffe8 -3497688,afbf0014 -349768c,c104b05 -3497694,8fbf0014 -3497698,3e00008 -349769c,27bd0018 -34976a0,24020010 -34976a4,a0820082 -34976a8,9082009a -34976ac,2442000a -34976b0,3e00008 -34976b4,a082009a -34976b8,3c028043 -34976bc,90420fa2 -34976c0,304200ff -34976c4,10400005 -34976c8,52840 -34976cc,3c028010 -34976d0,451021 -34976d4,94428cec -34976d8,a4820034 -34976dc,3e00008 -34976e4,8482002e -34976e8,28420130 -34976ec,50400001 -34976f0,a08000a4 -34976f4,24020140 -34976f8,3e00008 -34976fc,a4821424 -3497700,27bdffe8 -3497704,afbf0014 -3497708,3c028043 -349770c,90420fa1 -3497710,1040000c -3497714,3c028043 -3497718,94820f06 -349771c,34420040 -3497720,a4820f06 -3497724,3c028043 -3497728,90420fa0 -349772c,54400009 -3497730,94820f06 -3497734,94820ef4 -3497738,3042fb87 -349773c,1000000f -3497740,a4820ef4 -3497744,90420fa0 -3497748,1040000c -3497750,94820f06 -3497754,34420080 -3497758,a4820f06 -349775c,94820ef6 -3497760,24038f00 -3497764,431025 -3497768,a4820ef6 -349776c,94820ee4 -3497770,2403f000 -3497774,431025 -3497778,a4820ee4 -349777c,c107a25 -3497780,30a4ffff -3497784,8fbf0014 -3497788,3e00008 -349778c,27bd0018 -3497790,24020009 -3497794,a082007c -3497798,90820094 -349779c,a22821 -34977a0,3e00008 -34977a4,a0850094 -34977a8,27bdffe8 -34977ac,afbf0014 -34977b0,c107a25 -34977b4,30a4ffff -34977b8,8fbf0014 -34977bc,3e00008 -34977c0,27bd0018 -34977c4,30a2ffff -34977c8,2c420005 -34977cc,1040001a -34977d0,52880 -34977d4,3c028042 -34977d8,2442ff38 -34977dc,451021 -34977e0,8c420000 -34977e4,400008 -34977ec,8c8209a4 -34977f0,34420001 -34977f4,3e00008 -34977f8,ac8209a4 -34977fc,8c8209a4 -3497800,34420002 -3497804,3e00008 -3497808,ac8209a4 -349780c,8c8209a4 -3497810,34420004 +349696c,3c028043 +3496970,944295e4 +3496974,23840 +3496978,e23821 +349697c,3c028043 +3496980,94429634 +3496984,2442fffe +3496988,e23821 +349698c,73e00 +3496990,73e03 +3496994,24e7004e +3496998,2402000d +349699c,afa20018 +34969a0,afa20014 +34969a4,240200de +34969a8,afa20010 +34969ac,73840 +34969b0,3c058043 +34969b4,c1054be +34969b8,24a59590 +34969bc,8fbf0024 +34969c0,3e00008 +34969c4,27bd0028 +34969c8,3e00008 +34969d0,3c028040 +34969d4,90420caf +34969d8,10400034 +34969e0,27bdffe8 +34969e4,afbf0014 +34969e8,afb00010 +34969ec,808025 +34969f0,8c820008 +34969f4,24430008 +34969f8,ac830008 +34969fc,3c03de00 +3496a00,ac430000 +3496a04,3c038043 +3496a08,24639688 +3496a0c,ac430004 +3496a10,8c820008 +3496a14,24430008 +3496a18,ac830008 +3496a1c,3c03e700 +3496a20,ac430000 +3496a24,c1057ee +3496a28,ac400004 +3496a2c,c105822 +3496a30,2002025 +3496a34,c1058b6 +3496a38,2002025 +3496a3c,c105881 +3496a40,2002025 +3496a44,c1058eb +3496a48,2002025 +3496a4c,c105920 +3496a50,2002025 +3496a54,c105955 +3496a58,2002025 +3496a5c,c10597e +3496a60,2002025 +3496a64,c1059a7 +3496a68,2002025 +3496a6c,c1059f9 +3496a70,2002025 +3496a74,c1059d0 +3496a78,2002025 +3496a7c,c105a22 +3496a80,2002025 +3496a84,c105a4b +3496a88,2002025 +3496a8c,c1057bf +3496a90,2002025 +3496a94,c1057d1 +3496a98,2002025 +3496a9c,8fbf0014 +3496aa0,8fb00010 +3496aa4,3e00008 +3496aa8,27bd0018 +3496aac,3e00008 +3496ab4,3c02801c +3496ab8,344284a0 +3496abc,8c420014 +3496ac0,3c03c000 +3496ac4,431024 +3496ac8,14400016 +3496ad0,3c02801c +3496ad4,344284a0 +3496ad8,80430016 +3496adc,319c3 +3496ae0,90420016 +3496ae4,621026 +3496ae8,431023 +3496aec,304200ff +3496af0,2c420008 +3496af4,1040000d +3496afc,3c02801c +3496b00,344284a0 +3496b04,80430017 +3496b08,319c3 +3496b0c,90420017 +3496b10,621026 +3496b14,431023 +3496b18,304200ff +3496b1c,3e00008 +3496b20,2c420008 +3496b24,3e00008 +3496b28,1025 +3496b2c,3e00008 +3496b30,1025 +3496b34,27bdffe0 +3496b38,afbf001c +3496b3c,afb10018 +3496b40,afb00014 +3496b44,a08825 +3496b48,8c900000 +3496b4c,3c028007 +3496b50,3442e1dc +3496b54,40f809 +3496b58,2002025 +3496b5c,3c02800a +3496b60,3442b900 +3496b64,40f809 +3496b68,2002025 +3496b6c,8e0302c0 +3496b70,24640008 +3496b74,ae0402c0 +3496b78,3c04da38 +3496b7c,24840003 +3496b80,ac640000 +3496b84,ac620004 +3496b88,3c058043 +3496b8c,1110c0 +3496b90,511021 +3496b94,21080 +3496b98,24a59758 +3496b9c,a22821 +3496ba0,8ca30004 +3496ba4,8e0202c0 +3496ba8,24440008 +3496bac,ae0402c0 +3496bb0,3c04de00 +3496bb4,ac440000 +3496bb8,ac430004 +3496bbc,8fbf001c +3496bc0,8fb10018 +3496bc4,8fb00014 +3496bc8,3e00008 +3496bcc,27bd0020 +3496bd0,27bdffe0 +3496bd4,afbf001c +3496bd8,afb10018 +3496bdc,afb00014 +3496be0,a08825 +3496be4,8c900000 +3496be8,3c028007 +3496bec,3442e1dc +3496bf0,40f809 +3496bf4,2002025 +3496bf8,3c02800a +3496bfc,3442b900 +3496c00,40f809 +3496c04,2002025 +3496c08,8e0302c0 +3496c0c,24640008 +3496c10,ae0402c0 +3496c14,3c04da38 +3496c18,24840003 +3496c1c,ac640000 +3496c20,ac620004 +3496c24,3c028043 +3496c28,24429758 +3496c2c,1118c0 +3496c30,712021 +3496c34,42080 +3496c38,442021 +3496c3c,8c860004 +3496c40,8e0402c0 +3496c44,24850008 +3496c48,ae0502c0 +3496c4c,3c05de00 +3496c50,ac850000 +3496c54,ac860004 +3496c58,711821 +3496c5c,31880 +3496c60,431021 +3496c64,8c430008 +3496c68,8e0202c0 +3496c6c,24440008 +3496c70,ae0402c0 +3496c74,ac450000 +3496c78,ac430004 +3496c7c,8fbf001c +3496c80,8fb10018 +3496c84,8fb00014 +3496c88,3e00008 +3496c8c,27bd0020 +3496c90,27bdffe0 +3496c94,afbf001c +3496c98,afb10018 +3496c9c,afb00014 +3496ca0,a08825 +3496ca4,8c900000 +3496ca8,24050005 +3496cac,3c028007 +3496cb0,3442dfbc +3496cb4,40f809 +3496cb8,8e0402d0 +3496cbc,ae0202d0 +3496cc0,3c02800a +3496cc4,3442b900 +3496cc8,40f809 +3496ccc,2002025 +3496cd0,8e0302d0 +3496cd4,24640008 +3496cd8,ae0402d0 +3496cdc,3c04da38 +3496ce0,24840003 +3496ce4,ac640000 +3496ce8,ac620004 +3496cec,3c058043 +3496cf0,1110c0 +3496cf4,511021 +3496cf8,21080 +3496cfc,24a59758 +3496d00,a22821 +3496d04,8ca30004 +3496d08,8e0202d0 +3496d0c,24440008 +3496d10,ae0402d0 +3496d14,3c04de00 +3496d18,ac440000 +3496d1c,ac430004 +3496d20,8fbf001c +3496d24,8fb10018 +3496d28,8fb00014 +3496d2c,3e00008 +3496d30,27bd0020 +3496d34,27bdffc8 +3496d38,afbf0034 +3496d3c,afb70030 +3496d40,afb6002c +3496d44,afb50028 +3496d48,afb40024 +3496d4c,afb30020 +3496d50,afb2001c +3496d54,afb10018 +3496d58,afb00014 +3496d5c,a0a025 +3496d60,8c900000 +3496d64,3c138007 +3496d68,3673e298 +3496d6c,260f809 +3496d70,2002025 +3496d74,3c17800a +3496d78,36f7b900 +3496d7c,2e0f809 +3496d80,2002025 +3496d84,8e0302c0 +3496d88,24640008 +3496d8c,ae0402c0 +3496d90,3c15da38 +3496d94,26b50003 +3496d98,ac750000 +3496d9c,ac620004 +3496da0,3c118043 +3496da4,26319758 +3496da8,1490c0 +3496dac,2541021 +3496db0,21080 +3496db4,2221021 +3496db8,8c430004 +3496dbc,8e0202c0 +3496dc0,24440008 +3496dc4,ae0402c0 +3496dc8,3c16de00 +3496dcc,ac560000 +3496dd0,ac430004 +3496dd4,2673fd24 +3496dd8,24050005 +3496ddc,260f809 +3496de0,8e0402d0 +3496de4,ae0202d0 +3496de8,2e0f809 +3496dec,2002025 +3496df0,8e0302d0 +3496df4,24640008 +3496df8,ae0402d0 +3496dfc,ac750000 +3496e00,ac620004 +3496e04,2549021 +3496e08,129080 +3496e0c,2328821 +3496e10,8e230008 +3496e14,8e0202d0 +3496e18,24440008 +3496e1c,ae0402d0 +3496e20,ac560000 +3496e24,ac430004 +3496e28,8fbf0034 +3496e2c,8fb70030 +3496e30,8fb6002c +3496e34,8fb50028 +3496e38,8fb40024 +3496e3c,8fb30020 +3496e40,8fb2001c +3496e44,8fb10018 +3496e48,8fb00014 +3496e4c,3e00008 +3496e50,27bd0038 +3496e54,27bdffe0 +3496e58,afbf001c +3496e5c,afb10018 +3496e60,afb00014 +3496e64,a08825 +3496e68,8c900000 +3496e6c,3c028007 +3496e70,3442e298 +3496e74,40f809 +3496e78,2002025 +3496e7c,3c02800a +3496e80,3442b900 +3496e84,40f809 +3496e88,2002025 +3496e8c,8e0302c0 +3496e90,24640008 +3496e94,ae0402c0 +3496e98,3c04da38 +3496e9c,24840003 +3496ea0,ac640000 +3496ea4,ac620004 +3496ea8,3c058043 +3496eac,1110c0 +3496eb0,511021 +3496eb4,21080 +3496eb8,24a59758 +3496ebc,a22821 +3496ec0,8ca30004 +3496ec4,8e0202c0 +3496ec8,24440008 +3496ecc,ae0402c0 +3496ed0,3c04de00 +3496ed4,ac440000 +3496ed8,ac430004 +3496edc,8fbf001c +3496ee0,8fb10018 +3496ee4,8fb00014 +3496ee8,3e00008 +3496eec,27bd0020 +3496ef0,27bdffe0 +3496ef4,afbf001c +3496ef8,afb10018 +3496efc,afb00014 +3496f00,a08825 +3496f04,8c900000 +3496f08,3c028007 +3496f0c,3442e298 +3496f10,40f809 +3496f14,2002025 +3496f18,3c02800a +3496f1c,3442b900 +3496f20,40f809 +3496f24,2002025 +3496f28,8e0302c0 +3496f2c,24640008 +3496f30,ae0402c0 +3496f34,3c04da38 +3496f38,24840003 +3496f3c,ac640000 +3496f40,ac620004 +3496f44,3c038043 +3496f48,24639758 +3496f4c,1120c0 +3496f50,911021 +3496f54,21080 +3496f58,621021 +3496f5c,8c470008 +3496f60,8e0602c0 +3496f64,24c50008 +3496f68,ae0502c0 +3496f6c,3c05de00 +3496f70,acc50000 +3496f74,acc70004 +3496f78,8c470004 +3496f7c,8e0602c0 +3496f80,24c80008 +3496f84,ae0802c0 +3496f88,acc50000 +3496f8c,acc70004 +3496f90,8c46000c +3496f94,8e0202c0 +3496f98,24470008 +3496f9c,ae0702c0 +3496fa0,ac450000 +3496fa4,ac460004 +3496fa8,912021 +3496fac,42080 +3496fb0,641821 +3496fb4,8c630010 +3496fb8,8e0202c0 +3496fbc,24440008 +3496fc0,ae0402c0 +3496fc4,ac450000 +3496fc8,ac430004 +3496fcc,8fbf001c +3496fd0,8fb10018 +3496fd4,8fb00014 +3496fd8,3e00008 +3496fdc,27bd0020 +3496fe0,27bdffe0 +3496fe4,afbf001c +3496fe8,afb10018 +3496fec,afb00014 +3496ff0,a08825 +3496ff4,8c900000 +3496ff8,3c028007 +3496ffc,3442e298 +3497000,40f809 +3497004,2002025 +3497008,3c02800a +349700c,3442b900 +3497010,40f809 +3497014,2002025 +3497018,8e0302c0 +349701c,24640008 +3497020,ae0402c0 +3497024,3c04da38 +3497028,24840003 +349702c,ac640000 +3497030,ac620004 +3497034,3c048043 +3497038,24849758 +349703c,1130c0 +3497040,d11021 +3497044,21080 +3497048,821021 +349704c,8c470008 +3497050,8e0502c0 +3497054,24a30008 +3497058,ae0302c0 +349705c,3c03de00 +3497060,aca30000 +3497064,aca70004 +3497068,8c470004 +349706c,8e0502c0 +3497070,24a80008 +3497074,ae0802c0 +3497078,aca30000 +349707c,aca70004 +3497080,8c47000c +3497084,8e0502c0 +3497088,24a80008 +349708c,ae0802c0 +3497090,aca30000 +3497094,aca70004 +3497098,8c470010 +349709c,8e0502c0 +34970a0,24a80008 +34970a4,ae0802c0 +34970a8,aca30000 +34970ac,aca70004 +34970b0,8c470014 +34970b4,8e0502c0 +34970b8,24a80008 +34970bc,ae0802c0 +34970c0,aca30000 +34970c4,aca70004 +34970c8,8c470018 +34970cc,8e0502c0 +34970d0,24a80008 +34970d4,ae0802c0 +34970d8,aca30000 +34970dc,aca70004 +34970e0,8c45001c +34970e4,8e0202c0 +34970e8,24470008 +34970ec,ae0702c0 +34970f0,ac430000 +34970f4,ac450004 +34970f8,d13021 +34970fc,63080 +3497100,862021 +3497104,8c840020 +3497108,8e0202c0 +349710c,24450008 +3497110,ae0502c0 +3497114,ac430000 +3497118,ac440004 +349711c,8fbf001c +3497120,8fb10018 +3497124,8fb00014 +3497128,3e00008 +349712c,27bd0020 +3497130,27bdffe0 +3497134,afbf001c +3497138,afb10018 +349713c,afb00014 +3497140,a08825 +3497144,8c900000 +3497148,3c028007 +349714c,3442e298 +3497150,40f809 +3497154,2002025 +3497158,3c02800a +349715c,3442b900 +3497160,40f809 +3497164,2002025 +3497168,8e0302c0 +349716c,24640008 +3497170,ae0402c0 +3497174,3c04da38 +3497178,24840003 +349717c,ac640000 +3497180,ac620004 +3497184,8e0202c0 +3497188,24430008 +349718c,ae0302c0 +3497190,3c03e700 +3497194,ac430000 +3497198,ac400004 +349719c,8e0202c0 +34971a0,24430008 +34971a4,ae0302c0 +34971a8,3c03fa00 +34971ac,ac430000 +34971b0,2403ffff +34971b4,ac430004 +34971b8,8e0202c0 +34971bc,24430008 +34971c0,ae0302c0 +34971c4,3c03fb00 +34971c8,ac430000 +34971cc,3c03323c +34971d0,24633cff +34971d4,ac430004 +34971d8,3c048043 +34971dc,24849758 +34971e0,1130c0 +34971e4,d11021 +34971e8,21080 +34971ec,821021 +34971f0,8c470004 +34971f4,8e0502c0 +34971f8,24a30008 +34971fc,ae0302c0 +3497200,3c03de00 +3497204,aca30000 +3497208,aca70004 +349720c,8c47000c +3497210,8e0502c0 +3497214,24a80008 +3497218,ae0802c0 +349721c,aca30000 +3497220,aca70004 +3497224,8c470010 +3497228,8e0502c0 +349722c,24a80008 +3497230,ae0802c0 +3497234,aca30000 +3497238,aca70004 +349723c,8c470014 +3497240,8e0502c0 +3497244,24a80008 +3497248,ae0802c0 +349724c,aca30000 +3497250,aca70004 +3497254,8c470018 +3497258,8e0502c0 +349725c,24a80008 +3497260,ae0802c0 +3497264,aca30000 +3497268,aca70004 +349726c,8c45001c +3497270,8e0202c0 +3497274,24470008 +3497278,ae0702c0 +349727c,ac430000 +3497280,ac450004 +3497284,d13021 +3497288,63080 +349728c,862021 +3497290,8c840020 +3497294,8e0202c0 +3497298,24450008 +349729c,ae0502c0 +34972a0,ac430000 +34972a4,ac440004 +34972a8,8fbf001c +34972ac,8fb10018 +34972b0,8fb00014 +34972b4,3e00008 +34972b8,27bd0020 +34972bc,27bdffe0 +34972c0,afbf001c +34972c4,afb10018 +34972c8,afb00014 +34972cc,a08825 +34972d0,8c900000 +34972d4,3c028007 +34972d8,3442e2c0 +34972dc,40f809 +34972e0,2002025 +34972e4,3c02800a +34972e8,3442b900 +34972ec,40f809 +34972f0,2002025 +34972f4,8e0302d0 +34972f8,24640008 +34972fc,ae0402d0 +3497300,3c04da38 +3497304,24840003 +3497308,ac640000 +349730c,ac620004 +3497310,3c028043 +3497314,24429758 +3497318,1118c0 +349731c,712021 +3497320,42080 +3497324,442021 +3497328,8c860004 +349732c,8e0402d0 +3497330,24850008 +3497334,ae0502d0 +3497338,3c05de00 +349733c,ac850000 +3497340,ac860004 +3497344,711821 +3497348,31880 +349734c,431021 +3497350,8c430008 +3497354,8e0202d0 +3497358,24440008 +349735c,ae0402d0 +3497360,ac450000 +3497364,ac430004 +3497368,8fbf001c +349736c,8fb10018 +3497370,8fb00014 +3497374,3e00008 +3497378,27bd0020 +349737c,27bdffc8 +3497380,afbf0034 +3497384,afb70030 +3497388,afb6002c +349738c,afb50028 +3497390,afb40024 +3497394,afb30020 +3497398,afb2001c +349739c,afb10018 +34973a0,afb00014 +34973a4,a0a025 +34973a8,8c900000 +34973ac,3c138007 +34973b0,3673e298 +34973b4,260f809 +34973b8,2002025 +34973bc,3c17800a +34973c0,36f7b900 +34973c4,2e0f809 +34973c8,2002025 +34973cc,8e0302c0 +34973d0,24640008 +34973d4,ae0402c0 +34973d8,3c15da38 +34973dc,26b50003 +34973e0,ac750000 +34973e4,ac620004 +34973e8,3c118043 +34973ec,26319758 +34973f0,1490c0 +34973f4,2541021 +34973f8,21080 +34973fc,2221021 +3497400,8c430004 +3497404,8e0202c0 +3497408,24440008 +349740c,ae0402c0 +3497410,3c16de00 +3497414,ac560000 +3497418,ac430004 +349741c,26730028 +3497420,260f809 +3497424,2002025 +3497428,2e0f809 +349742c,2002025 +3497430,8e0302d0 +3497434,24640008 +3497438,ae0402d0 +349743c,ac750000 +3497440,ac620004 +3497444,2549021 +3497448,129080 +349744c,2328821 +3497450,8e230008 +3497454,8e0202d0 +3497458,24440008 +349745c,ae0402d0 +3497460,ac560000 +3497464,ac430004 +3497468,8fbf0034 +349746c,8fb70030 +3497470,8fb6002c +3497474,8fb50028 +3497478,8fb40024 +349747c,8fb30020 +3497480,8fb2001c +3497484,8fb10018 +3497488,8fb00014 +349748c,3e00008 +3497490,27bd0038 +3497494,27bdffc8 +3497498,afbf0034 +349749c,afb70030 +34974a0,afb6002c +34974a4,afb50028 +34974a8,afb40024 +34974ac,afb30020 +34974b0,afb2001c +34974b4,afb10018 +34974b8,afb00014 +34974bc,a0a825 +34974c0,8c900000 +34974c4,3c11800a +34974c8,3631ad4c +34974cc,24050001 +34974d0,3c028042 +34974d4,220f809 +34974d8,c44c45b8 +34974dc,3c148007 +34974e0,3694e298 +34974e4,280f809 +34974e8,2002025 +34974ec,26310bb4 +34974f0,220f809 +34974f4,2002025 +34974f8,8e0302c0 +34974fc,24640008 +3497500,ae0402c0 +3497504,3c17da38 +3497508,26f70003 +349750c,ac770000 +3497510,ac620004 +3497514,3c128043 +3497518,26529758 +349751c,1598c0 +3497520,2751021 +3497524,21080 +3497528,2421021 +349752c,8c430004 +3497530,8e0202c0 +3497534,24440008 +3497538,ae0402c0 +349753c,3c16de00 +3497540,ac560000 +3497544,ac430004 +3497548,26940028 +349754c,280f809 +3497550,2002025 +3497554,220f809 +3497558,2002025 +349755c,8e0302d0 +3497560,24640008 +3497564,ae0402d0 +3497568,ac770000 +349756c,ac620004 +3497570,2759821 +3497574,139880 +3497578,2539021 +349757c,8e430008 +3497580,8e0202d0 +3497584,24440008 +3497588,ae0402d0 +349758c,ac560000 +3497590,ac430004 +3497594,8fbf0034 +3497598,8fb70030 +349759c,8fb6002c +34975a0,8fb50028 +34975a4,8fb40024 +34975a8,8fb30020 +34975ac,8fb2001c +34975b0,8fb10018 +34975b4,8fb00014 +34975b8,3e00008 +34975bc,27bd0038 +34975c0,27bdffc8 +34975c4,afbf0034 +34975c8,afb70030 +34975cc,afb6002c +34975d0,afb50028 +34975d4,afb40024 +34975d8,afb30020 +34975dc,afb2001c +34975e0,afb10018 +34975e4,afb00014 +34975e8,a0a025 +34975ec,8c900000 +34975f0,3c138007 +34975f4,3673e298 +34975f8,260f809 +34975fc,2002025 +3497600,3c17800a +3497604,36f7b900 +3497608,2e0f809 +349760c,2002025 +3497610,8e0302c0 +3497614,24640008 +3497618,ae0402c0 +349761c,3c16da38 +3497620,26d60003 +3497624,ac760000 +3497628,ac620004 +349762c,3c118043 +3497630,26319758 +3497634,1490c0 +3497638,2541021 +349763c,21080 +3497640,2221021 +3497644,8c440008 +3497648,8e0302c0 +349764c,24650008 +3497650,ae0502c0 +3497654,3c15de00 +3497658,ac750000 +349765c,ac640004 +3497660,8c430004 +3497664,8e0202c0 +3497668,24440008 +349766c,ae0402c0 +3497670,ac550000 +3497674,ac430004 +3497678,26730028 +349767c,260f809 +3497680,2002025 +3497684,2e0f809 +3497688,2002025 +349768c,8e0302d0 +3497690,24640008 +3497694,ae0402d0 +3497698,ac760000 +349769c,ac620004 +34976a0,2549021 +34976a4,129080 +34976a8,2328821 +34976ac,8e23000c +34976b0,8e0202d0 +34976b4,24440008 +34976b8,ae0402d0 +34976bc,ac550000 +34976c0,ac430004 +34976c4,8fbf0034 +34976c8,8fb70030 +34976cc,8fb6002c +34976d0,8fb50028 +34976d4,8fb40024 +34976d8,8fb30020 +34976dc,8fb2001c +34976e0,8fb10018 +34976e4,8fb00014 +34976e8,3e00008 +34976ec,27bd0038 +34976f0,27bdffc8 +34976f4,afbf0034 +34976f8,afbe0030 +34976fc,afb7002c +3497700,afb60028 +3497704,afb50024 +3497708,afb40020 +349770c,afb3001c +3497710,afb20018 +3497714,afb10014 +3497718,afb00010 +349771c,a0a825 +3497720,8c900000 +3497724,3c148007 +3497728,3694e298 +349772c,280f809 +3497730,2002025 +3497734,3c1e800a +3497738,37deb900 +349773c,3c0f809 +3497740,2002025 +3497744,8e0302c0 +3497748,24640008 +349774c,ae0402c0 +3497750,3c17da38 +3497754,26f70003 +3497758,ac770000 +349775c,ac620004 +3497760,3c118043 +3497764,26319758 +3497768,1590c0 +349776c,2559821 +3497770,139880 +3497774,2339821 +3497778,8e630004 +349777c,8e0202c0 +3497780,24440008 +3497784,ae0402c0 +3497788,3c16de00 +349778c,ac560000 +3497790,ac430004 +3497794,26940028 +3497798,280f809 +349779c,2002025 +34977a0,3c0f809 +34977a4,2002025 +34977a8,8e0302d0 +34977ac,24640008 +34977b0,ae0402d0 +34977b4,ac770000 +34977b8,ac620004 +34977bc,8e630008 +34977c0,8e0202d0 +34977c4,24440008 +34977c8,ae0402d0 +34977cc,ac560000 +34977d0,ac430004 +34977d4,8e63000c +34977d8,8e0202d0 +34977dc,24440008 +34977e0,ae0402d0 +34977e4,ac560000 +34977e8,ac430004 +34977ec,8fbf0034 +34977f0,8fbe0030 +34977f4,8fb7002c +34977f8,8fb60028 +34977fc,8fb50024 +3497800,8fb40020 +3497804,8fb3001c +3497808,8fb20018 +349780c,8fb10014 +3497810,8fb00010 3497814,3e00008 -3497818,ac8209a4 -349781c,8c8209a4 -3497820,34420008 -3497824,3e00008 -3497828,ac8209a4 -349782c,8c8209a4 -3497830,34420010 -3497834,ac8209a4 -3497838,3e00008 -3497840,24020001 -3497844,10a20007 -3497848,24020002 -349784c,10a2000e -3497850,3c028043 -3497854,14a00013 -3497858,24030001 -349785c,3e00008 -3497860,a043109e -3497864,3c028043 -3497868,24030002 -349786c,a043109e -3497870,8c8200a0 -3497874,2403f1ff -3497878,431024 -349787c,34420200 -3497880,3e00008 -3497884,ac8200a0 -3497888,24030003 -349788c,a043109e -3497890,8c8200a0 -3497894,2403f1ff -3497898,431024 -349789c,34420400 -34978a0,ac8200a0 -34978a4,3e00008 -34978ac,54a00028 -34978b0,94820002 -34978b4,84830012 -34978b8,84820010 -34978bc,3c058040 -34978c0,24a51dba -34978c4,451021 -34978c8,90460000 -34978cc,61040 -34978d0,461021 -34978d4,21040 -34978d8,32840 -34978dc,a32821 -34978e0,52880 -34978e4,451021 -34978e8,3c058042 -34978ec,24a554cc -34978f0,451021 -34978f4,90450000 -34978f8,3c028043 -34978fc,24421088 -3497900,621821 -3497904,90620000 -3497908,45182b -349790c,54600005 -3497910,24420001 -3497914,94820002 -3497918,24420016 -349791c,3e00008 -3497920,3042ffff -3497924,14450008 -349792c,94820002 -3497930,14c00002 -3497934,2403002e -3497938,24030044 -349793c,431021 -3497940,3e00008 -3497944,3042ffff -3497948,3e00008 -349794c,94820002 -3497950,2442005a -3497954,3e00008 -3497958,3042ffff -349795c,14a0001e -3497960,3c038040 -3497964,84860012 -3497968,84820010 -349796c,24631dba -3497970,431021 -3497974,90470000 -3497978,3c038043 -349797c,24631088 -3497980,c31821 -3497984,71040 -3497988,471021 -349798c,21040 -3497990,62840 -3497994,a62821 -3497998,52880 -349799c,451021 -34979a0,3c058042 -34979a4,24a554cc -34979a8,451021 -34979ac,90630000 -34979b0,90420000 -34979b4,62102b -34979b8,10400008 -34979bc,94820002 -34979c0,14e00002 -34979c4,2403002e -34979c8,24030044 -34979cc,431021 -34979d0,3e00008 -34979d4,3042ffff -34979d8,94820002 -34979dc,2442005a -34979e0,3e00008 -34979e4,3042ffff -34979e8,50a00003 -34979ec,84820010 -34979f0,3e00008 -34979f4,94820002 -34979f8,220c0 -34979fc,822023 -3497a00,42080 -3497a04,3c038011 -3497a08,3463a5d0 -3497a0c,641821 -3497a10,806500e5 -3497a14,3c038040 -3497a18,24631dba -3497a1c,431821 -3497a20,90660000 -3497a24,21840 -3497a28,3c048042 -3497a2c,248455d4 -3497a30,641821 -3497a34,661821 -3497a38,80630000 -3497a3c,a3182a -3497a40,14600004 -3497a48,24429123 -3497a4c,3e00008 -3497a50,3042ffff -3497a54,54a00004 -3497a58,24429112 -3497a5c,24429101 -3497a60,3e00008 -3497a64,3042ffff -3497a68,3e00008 -3497a6c,3042ffff -3497a70,3c028040 -3497a74,90426d5c -3497a78,14400003 -3497a80,3e00008 -3497a84,94820002 -3497a88,27bdffe8 -3497a8c,afbf0014 -3497a90,c105e7a -3497a98,8fbf0014 -3497a9c,3e00008 -3497aa0,27bd0018 -3497aa4,84830012 -3497aa8,10600009 -3497aac,84820010 -3497ab0,3c038040 -3497ab4,90631d7a -3497ab8,10600006 -3497abc,94830002 -3497ac0,2463000e -3497ac4,621021 -3497ac8,3e00008 -3497acc,3042ffff -3497ad0,94830002 -3497ad4,431021 -3497ad8,3e00008 -3497adc,3042ffff -3497ae0,2c820131 -3497ae4,1040000b -3497ae8,418c0 -3497aec,641023 -3497af0,21080 -3497af4,3c058042 -3497af8,24a555f8 -3497afc,a21021 -3497b00,80430000 -3497b04,3182b -3497b08,31823 -3497b0c,3e00008 -3497b10,431024 -3497b14,3e00008 -3497b18,1025 -3497b1c,8c820018 -3497b20,14400003 -3497b28,3e00008 -3497b2c,94820002 -3497b30,27bdffe8 -3497b34,afbf0014 -3497b38,40f809 -3497b40,8fbf0014 -3497b44,3e00008 -3497b48,27bd0018 -3497b4c,27bdffe0 -3497b50,afbf001c -3497b54,afa40020 -3497b58,afa50024 -3497b5c,afa60028 -3497b60,afa7002c -3497b64,c105eb8 -3497b68,62402 -3497b6c,8fa3002c -3497b70,afa30010 -3497b74,8fa50020 -3497b78,8fa60024 -3497b7c,8fa70028 -3497b80,8c420008 -3497b84,3c048011 -3497b88,40f809 -3497b8c,3484a5d0 -3497b90,8fbf001c -3497b94,3e00008 -3497b98,27bd0020 -3497b9c,27bdffe8 -3497ba0,afbf0014 -3497ba4,8c82000c -3497ba8,84860012 -3497bac,84850010 -3497bb0,3c048011 -3497bb4,40f809 -3497bb8,3484a5d0 -3497bbc,8fbf0014 -3497bc0,3e00008 -3497bc4,27bd0018 -3497bc8,afa50004 -3497bcc,afa60008 -3497bd0,afa7000c -3497bd4,3e00008 -3497bd8,71402 -3497bdc,afa50004 -3497be0,afa60008 -3497be4,71202 -3497be8,afa7000c -3497bec,304700ff -3497bf0,3c028040 -3497bf4,90420024 -3497bf8,5047000e -3497bfc,9082007d -3497c00,3c028040 -3497c04,9042002b -3497c08,54400003 -3497c0c,71040 -3497c10,10000008 -3497c14,9082007d -3497c18,471021 -3497c1c,21040 -3497c20,3c038040 -3497c24,2463083c -3497c28,431021 -3497c2c,94420004 -3497c30,21382 -3497c34,10400005 -3497c3c,384200ff -3497c40,2102b -3497c44,3e00008 -3497c48,24420008 -3497c4c,3e00008 -3497c50,24020008 -3497c54,afa50004 -3497c58,afa60008 -3497c5c,71202 -3497c60,afa7000c -3497c64,304700ff -3497c68,3c028040 -3497c6c,90420024 -3497c70,50470006 -3497c74,8c8200a0 -3497c78,3c028040 -3497c7c,9042002b -3497c80,54400005 -3497c84,71040 -3497c88,8c8200a0 -3497c8c,21182 -3497c90,10000008 -3497c94,30420007 -3497c98,471021 -3497c9c,21040 -3497ca0,3c038040 -3497ca4,2463083c -3497ca8,431021 -3497cac,94420002 -3497cb0,30420003 -3497cb4,10400005 -3497cbc,38420001 -3497cc0,2102b -3497cc4,3e00008 -3497cc8,24420035 -3497ccc,3e00008 -3497cd0,24020054 -3497cd4,afa50004 -3497cd8,afa60008 -3497cdc,71202 -3497ce0,afa7000c -3497ce4,304700ff -3497ce8,3c028040 -3497cec,90420024 -3497cf0,50470006 -3497cf4,8c8200a0 -3497cf8,3c028040 -3497cfc,9042002b -3497d00,54400005 -3497d04,71040 -3497d08,8c8200a0 -3497d0c,210c2 -3497d10,10000009 -3497d14,30420007 -3497d18,471021 -3497d1c,21040 -3497d20,3c038040 -3497d24,2463083c -3497d28,431021 -3497d2c,94420002 -3497d30,21082 -3497d34,30420003 -3497d38,10400005 -3497d40,38420001 -3497d44,2102b -3497d48,3e00008 -3497d4c,24420033 -3497d50,3e00008 -3497d54,24020032 -3497d58,afa50004 -3497d5c,afa60008 -3497d60,71202 -3497d64,afa7000c -3497d68,304700ff -3497d6c,3c028040 -3497d70,90420024 -3497d74,50470006 -3497d78,8c8200a0 -3497d7c,3c028040 -3497d80,9042002b -3497d84,54400004 -3497d88,71040 -3497d8c,8c8200a0 -3497d90,10000009 -3497d94,30420007 -3497d98,471021 -3497d9c,21040 -3497da0,3c038040 -3497da4,2463083c -3497da8,431021 -3497dac,94420002 -3497db0,21102 -3497db4,30420003 -3497db8,10400005 -3497dc0,38420001 -3497dc4,2102b -3497dc8,3e00008 -3497dcc,24420030 -3497dd0,3e00008 -3497dd4,24020004 -3497dd8,afa50004 -3497ddc,afa60008 -3497de0,71202 -3497de4,afa7000c -3497de8,304700ff -3497dec,3c028040 -3497df0,90420024 -3497df4,10470004 -3497df8,3c028040 -3497dfc,9042002b -3497e00,14400005 -3497e04,71040 -3497e08,8c8300a0 -3497e0c,31b82 -3497e10,10000009 -3497e14,30630007 -3497e18,471021 -3497e1c,21040 -3497e20,3c038040 -3497e24,2463083c -3497e28,431021 -3497e2c,94430002 -3497e30,31982 -3497e34,30630003 -3497e38,10600005 -3497e3c,24040001 -3497e40,14640004 -3497e44,2402007b -3497e48,3e00008 -3497e4c,24020060 -3497e50,24020005 -3497e54,3e00008 -3497e5c,afa50004 -3497e60,afa60008 -3497e64,71202 -3497e68,afa7000c -3497e6c,304700ff -3497e70,3c028040 -3497e74,90420024 -3497e78,10470004 -3497e7c,3c028040 -3497e80,9042002b -3497e84,14400005 -3497e88,71040 -3497e8c,8c8300a0 -3497e90,31b02 -3497e94,10000009 -3497e98,30630003 -3497e9c,471021 -3497ea0,21040 -3497ea4,3c038040 -3497ea8,2463083c -3497eac,431021 -3497eb0,94430002 -3497eb4,31a42 -3497eb8,30630003 -3497ebc,10600005 -3497ec0,24040001 -3497ec4,14640004 -3497ec8,240200c7 -3497ecc,3e00008 -3497ed0,24020046 -3497ed4,24020045 -3497ed8,3e00008 -3497ee0,afa50004 -3497ee4,afa60008 -3497ee8,71202 -3497eec,afa7000c -3497ef0,304700ff -3497ef4,3c028040 -3497ef8,90420024 -3497efc,10470006 -3497f00,3c028043 -3497f04,3c028040 -3497f08,9042002b -3497f0c,54400004 -3497f10,71040 -3497f14,3c028043 -3497f18,10000009 -3497f1c,9042109e -3497f20,471021 -3497f24,21040 -3497f28,3c038040 -3497f2c,2463083c -3497f30,431021 -3497f34,94420002 -3497f38,212c2 -3497f3c,30420007 -3497f40,10400005 -3497f48,38420001 -3497f4c,2102b -3497f50,3e00008 -3497f54,24420037 -3497f58,3e00008 -3497f5c,24020130 -3497f60,afa50004 -3497f64,afa60008 -3497f68,71202 -3497f6c,afa7000c -3497f70,304700ff -3497f74,3c028040 -3497f78,90420024 -3497f7c,50470006 -3497f80,8c8200a0 -3497f84,3c028040 -3497f88,9042002b -3497f8c,54400005 -3497f90,71040 -3497f94,8c8200a0 -3497f98,21502 -3497f9c,10000008 -3497fa0,30420007 -3497fa4,471021 -3497fa8,21040 -3497fac,3c038040 -3497fb0,2463083c -3497fb4,431021 -3497fb8,94420002 -3497fbc,21382 -3497fc0,2c420002 -3497fc4,2c420001 -3497fc8,3e00008 -3497fcc,24420079 -3497fd0,afa50004 -3497fd4,afa60008 -3497fd8,71202 -3497fdc,afa7000c -3497fe0,304700ff -3497fe4,3c028040 -3497fe8,90420024 -3497fec,50470006 -3497ff0,8c8200a0 -3497ff4,3c028040 -3497ff8,9042002b -3497ffc,54400005 -3498000,71040 -3498004,8c8200a0 -3498008,21442 -349800c,10000008 -3498010,30420007 -3498014,471021 -3498018,21040 -349801c,3c038040 -3498020,2463083c -3498024,431021 -3498028,94420000 -349802c,30420003 -3498030,2c420002 -3498034,2c420001 -3498038,3e00008 -349803c,24420077 -3498040,afa50004 -3498044,afa60008 -3498048,71202 -349804c,afa7000c -3498050,304700ff -3498054,3c028040 -3498058,90420024 -349805c,5047000f -3498060,9082003a -3498064,3c028040 -3498068,9042002b -349806c,54400003 -3498070,71040 -3498074,10000009 -3498078,9082003a -349807c,471021 -3498080,21040 -3498084,3c038040 -3498088,2463083c -349808c,431021 -3498090,94420000 -3498094,21082 -3498098,30420003 -349809c,2102b -34980a0,3e00008 -34980a4,244200b9 -34980a8,afa50004 -34980ac,afa60008 -34980b0,afa7000c -34980b4,9083007c -34980b8,240200ff -34980bc,50620007 -34980c0,2402006b -34980c4,80830094 -34980c8,28630006 -34980cc,10600003 -34980d0,2402006a -34980d4,3e00008 -34980d8,24020003 -34980dc,3e00008 -34980e4,afa50004 -34980e8,afa60008 -34980ec,71202 -34980f0,afa7000c -34980f4,304700ff -34980f8,3c028040 -34980fc,90420024 -3498100,10470004 -3498104,3c028040 -3498108,9042002b -349810c,14400003 -3498110,71040 -3498114,10000009 -3498118,9083007b -349811c,471021 -3498120,21040 -3498124,3c038040 -3498128,2463083c -349812c,431021 -3498130,94430000 -3498134,31902 -3498138,30630003 -349813c,10600005 -3498140,240400ff -3498144,14640004 -3498148,2402000c -349814c,3e00008 -3498150,2402003b -3498154,2402003b -3498158,3e00008 -3498160,afa50004 -3498164,afa60008 -3498168,71202 -349816c,afa7000c -3498170,304700ff -3498174,3c028040 -3498178,90420024 -349817c,10470004 -3498180,3c028040 -3498184,9042002b -3498188,14400007 -349818c,71040 -3498190,8c8200a0 -3498194,30420007 -3498198,1440000d -34981a0,3e00008 -34981a4,2402004d -34981a8,471021 -34981ac,21040 -34981b0,3c038040 -34981b4,2463083c -34981b8,431021 -34981bc,94420002 -34981c0,21102 -34981c4,30420003 -34981c8,10400003 -34981d0,3e00008 -34981d4,97a2000c -34981d8,3e00008 -34981dc,2402004d -34981e0,afa50004 -34981e4,afa60008 -34981e8,71202 -34981ec,afa7000c -34981f0,304700ff -34981f4,3c028040 -34981f8,90420024 -34981fc,10470004 -3498200,3c028040 -3498204,9042002b -3498208,14400007 -349820c,71040 -3498210,8c8200a0 -3498214,30420038 -3498218,1440000d -3498220,3e00008 -3498224,2402004d -3498228,471021 -349822c,21040 -3498230,3c038040 -3498234,2463083c -3498238,431021 -349823c,94420002 -3498240,21082 -3498244,30420003 -3498248,10400003 -3498250,3e00008 -3498254,97a2000c -3498258,3e00008 -349825c,2402004d -3498260,afa50004 -3498264,afa60008 -3498268,71202 -349826c,afa7000c -3498270,304700ff -3498274,3c028040 -3498278,90420024 -349827c,10470004 -3498280,3c028040 -3498284,9042002b -3498288,14400009 -349828c,71040 -3498290,8c8200a0 -3498294,3c030001 -3498298,3463c000 -349829c,431024 -34982a0,1440000d -34982a8,3e00008 -34982ac,2402004d -34982b0,471021 -34982b4,21040 -34982b8,3c038040 -34982bc,2463083c -34982c0,431021 -34982c4,94420002 -34982c8,21182 -34982cc,30420003 -34982d0,10400003 -34982d8,3e00008 -34982dc,97a2000c -34982e0,3e00008 -34982e4,2402004d -34982e8,afa50004 -34982ec,afa60008 -34982f0,afa7000c -34982f4,94820eda -34982f8,30420008 -34982fc,14400010 -3498304,90830086 -3498308,2402001b -349830c,1062000e -3498314,90830087 -3498318,1062000d -3498320,90830088 -3498324,1062000c -349832c,90830089 -3498330,1062000b -3498338,3e00008 -349833c,97a2000c -3498340,3e00008 -3498344,240200c8 -3498348,3e00008 -349834c,240200c8 -3498350,3e00008 -3498354,240200c8 -3498358,3e00008 -349835c,240200c8 -3498360,3e00008 -3498364,240200c8 -3498368,afa50004 -349836c,afa60008 -3498370,afa7000c -3498374,8483002e -3498378,28630140 -349837c,14600008 -3498380,71402 -3498384,24030076 -3498388,50430005 -349838c,2402007f -3498390,3842003d -3498394,2c420001 -3498398,3e00008 -349839c,2442007d -34983a0,3e00008 -34983a8,afa50004 -34983ac,afa60008 -34983b0,afa7000c -34983b4,3c038040 -34983b8,8c631d5c -34983bc,1060000d -34983c0,71402 -34983c4,93a3000e -34983c8,3c058040 -34983cc,90a50024 -34983d0,10a30004 -34983d4,3c058040 -34983d8,90a5002b -34983dc,54a00007 -34983e0,32040 -34983e4,9084007c -34983e8,240300ff -34983ec,1083000d -34983f0,2403006a -34983f4,3e00008 -34983fc,831821 -3498400,31840 -3498404,3c048040 -3498408,2484083c -349840c,641821 -3498410,94630000 -3498414,31982 -3498418,30630001 -349841c,1460fff5 -3498420,2403006a -3498424,10430007 -3498428,2403006b -349842c,10430007 -3498430,24030003 -3498434,5043ffef -3498438,240200d5 -349843c,3e00008 -3498444,3e00008 -3498448,240200d6 -349844c,3e00008 -3498450,240200d4 -3498454,3e00008 -349845c,afa50004 -3498460,afa60008 -3498464,afa7000c -3498468,3c038040 -349846c,90631d7d -3498470,1060000c -3498474,71402 -3498478,24030071 -349847c,10430008 -3498480,2c4300af -3498484,50600004 -3498488,24420060 -349848c,24420074 -3498490,3e00008 -3498494,3042ffff -3498498,3e00008 -349849c,3042ffff -34984a0,24020118 -34984a4,3e00008 -34984ac,27bdffb8 -34984b0,afbf0044 -34984b4,afbe0040 -34984b8,afb7003c -34984bc,afb60038 -34984c0,afb50034 -34984c4,afb40030 -34984c8,afb3002c -34984cc,afb20028 -34984d0,afb10024 -34984d4,afb00020 -34984d8,80b025 -34984dc,afa0001c -34984e0,3c100001 -34984e4,26020760 -34984e8,821021 -34984ec,afa20018 -34984f0,8c910000 -34984f4,c01fa1a -34984f8,2202025 -34984fc,8e2202c0 -3498500,24430008 -3498504,ae2302c0 -3498508,3c03fc11 -349850c,34639623 -3498510,ac430000 -3498514,3c03ff2f -3498518,3463ffff -349851c,ac430004 -3498520,2d01021 -3498524,a44009c0 -3498528,a44009be -349852c,94430934 -3498530,24020006 -3498534,14620227 -3498538,3c020001 -349853c,2c21021 -3498540,94420944 -3498544,14400223 -3498548,3c020001 -349854c,2c21021 -3498550,94420948 -3498554,54400232 -3498558,8e2202b0 -349855c,3c020001 -3498560,2c21021 -3498564,84520978 -3498568,9450099e -349856c,944309a6 -3498570,afa3001c -3498574,84460998 -3498578,14c00072 -349857c,2402000a -3498580,3c020001 -3498584,2c21021 -3498588,24030004 -349858c,a44309c0 -3498590,240203e7 -3498594,16020006 -3498598,3c020001 -349859c,2c21021 -34985a0,24030028 -34985a4,a4430974 -34985a8,1000000a -34985ac,24070028 -34985b0,2c21021 -34985b4,84470974 -34985b8,71bc3 -34985bc,e31026 -34985c0,431023 -34985c4,3042ffff -34985c8,2c42001f -34985cc,144000d9 -34985d0,3c020001 -34985d4,3c020001 -34985d8,2c21021 -34985dc,84450982 -34985e0,8449098c -34985e4,28e8ffe2 -34985e8,28e7001f -34985ec,10000051 -34985f0,401825 -34985f4,5080000a -34985f8,a4650982 -34985fc,3c020001 -3498600,2c21021 -3498604,2484ffff -3498608,a4440982 -349860c,94420978 -3498610,2442ffff -3498614,21400 -3498618,100002ff -349861c,21403 -3498620,9462098c -3498624,24420001 -3498628,21400 -349862c,21403 -3498630,284a0004 -3498634,55400001 -3498638,402025 -349863c,41040 -3498640,821021 -3498644,21040 -3498648,451021 -349864c,21400 -3498650,21403 -3498654,284a0018 -3498658,15400002 -349865c,a464098c -3498660,a01025 -3498664,15240033 -3498668,a4620978 -349866c,3c020001 -3498670,2c21021 -3498674,a4520978 -3498678,2405000a -349867c,c0e5149 -3498680,2c02025 -3498684,100000a2 -3498688,24060002 -349868c,14e00029 -3498694,84620982 -3498698,28440005 -349869c,5080000a -34986a0,a4650982 -34986a4,3c030001 -34986a8,2c31821 -34986ac,24420001 -34986b0,a4620982 -34986b4,94620978 -34986b8,24420001 -34986bc,21400 -34986c0,100002d5 -34986c4,21403 -34986c8,9464098c -34986cc,24840001 -34986d0,42400 -34986d4,42403 -34986d8,28820004 -34986dc,50400001 -34986e0,c02025 -34986e4,41040 -34986e8,821021 -34986ec,21040 -34986f0,451021 -34986f4,21400 -34986f8,21403 -34986fc,284a0018 -3498700,15400002 -3498704,a464098c -3498708,a01025 -349870c,15240009 -3498710,a4620978 -3498714,3c020001 -3498718,2c21021 -349871c,a4520978 -3498720,2405000b -3498724,c0e5149 -3498728,2c02025 -349872c,100002b8 -3498730,24060002 -3498734,5500ffaf -3498738,84640982 -349873c,1000ffd3 -3498744,14c2003a -3498748,3c020001 -349874c,2c21021 -3498750,84420974 -3498754,2842001f -3498758,14400188 -349875c,3c020001 -3498760,2c21021 -3498764,a44009bc -3498768,a4400998 -349876c,3c028010 -3498770,244243a8 -3498774,afa20014 -3498778,3c078010 -349877c,24e743a0 -3498780,afa70010 -3498784,24060004 -3498788,3c058010 -349878c,24a54394 -3498790,3c02800c -3498794,3442806c -3498798,40f809 -349879c,24044809 -34987a0,1025 -34987a4,4825 -34987a8,3c058011 -34987ac,34a5a5d0 -34987b0,240800ff -34987b4,24070004 -34987b8,24060006 -34987bc,402025 -34987c0,1201825 -34987c4,a45021 -34987c8,914a0074 -34987cc,51480008 -34987d0,24630001 -34987d4,3c050001 -34987d8,2c52821 -34987dc,a4a40978 -34987e0,a4a20982 -34987e4,a4a3098c -34987e8,10000049 -34987ec,24060001 -34987f0,31c00 -34987f4,31c03 -34987f8,24840006 -34987fc,42400 -3498800,1467fff0 -3498804,42403 -3498808,24420001 -349880c,21400 -3498810,21403 -3498814,5446ffea -3498818,402025 -349881c,2405000b -3498820,c0e5149 -3498824,2c02025 -3498828,10000039 -349882c,3025 -3498830,2c21021 -3498834,84420974 -3498838,2842ffe2 -349883c,1040014f -3498840,3c020001 -3498844,2c21021 -3498848,a44009bc -349884c,a4400998 -3498850,3c028010 -3498854,244243a8 -3498858,afa20014 -349885c,3c078010 -3498860,24e743a0 -3498864,afa70010 -3498868,24060004 -349886c,3c058010 -3498870,24a54394 -3498874,3c02800c -3498878,3442806c -349887c,40f809 -3498880,24044809 -3498884,24020005 -3498888,4825 -349888c,3c058011 -3498890,34a5a5d0 -3498894,240800ff -3498898,24070004 -349889c,2406ffff -34988a0,402025 -34988a4,1201825 -34988a8,a45021 -34988ac,914a0074 -34988b0,51480008 -34988b4,24630001 -34988b8,3c050001 -34988bc,2c52821 -34988c0,a4a40978 -34988c4,a4a20982 -34988c8,a4a3098c -34988cc,10000010 -34988d0,24060001 -34988d4,31c00 -34988d8,31c03 -34988dc,24840006 -34988e0,42400 -34988e4,1467fff0 -34988e8,42403 -34988ec,2442ffff -34988f0,21400 -34988f4,21403 -34988f8,1446ffea -34988fc,402025 -3498900,2405000a -3498904,c0e5149 -3498908,2c02025 -349890c,3025 -3498910,3c020001 -3498914,2c21021 -3498918,84420998 -349891c,14400117 -3498920,3c020001 -3498924,240203e7 -3498928,12020044 -349892c,3c030001 -3498930,3c020001 -3498934,2c21021 -3498938,84420976 -349893c,223c3 -3498940,441826 -3498944,641823 -3498948,3063ffff -349894c,2c63001f -3498950,1460003a -3498954,3c030001 -3498958,2c31821 -349895c,84670978 -3498960,8468098c -3498964,2846001f -3498968,2844ffe2 -349896c,3c030001 -3498970,2c31821 -3498974,3c058011 -3498978,34a5a5d0 -349897c,1000002b -3498980,240900ff -3498984,10400219 -3498988,2442ffff -349898c,a462098c -3498990,94620978 -3498994,2442fffa -3498998,21400 -349899c,21403 -34989a0,a4620978 -34989a4,a21021 -34989a8,90420074 -34989ac,54490208 -34989b0,3c030001 -34989b4,94620982 -34989b8,2442ffff -34989bc,3042ffff -34989c0,2c420004 -34989c4,10400019 -34989cc,10000200 -34989d0,3c030001 -34989d4,10800015 -34989dc,8462098c -34989e0,284a0003 -34989e4,11400201 -34989e8,24420001 -34989ec,a462098c -34989f0,94620978 -34989f4,24420006 -34989f8,21400 -34989fc,21403 -3498a00,a4620978 -3498a04,a21021 -3498a08,90420074 -3498a0c,544901f0 -3498a10,3c030001 -3498a14,94620982 -3498a18,2442ffff -3498a1c,3042ffff -3498a20,2c420004 -3498a24,544001ea -3498a28,3c030001 -3498a2c,50c0ffd5 -3498a30,8462098c -3498a34,1000ffe7 -3498a3c,2c31821 -3498a40,84620978 -3498a44,3044ffff -3498a48,afa4001c -3498a4c,24040004 -3498a50,a46409c0 -3498a54,24030001 -3498a58,14c30006 -3498a5c,24030002 -3498a60,3c038011 -3498a64,3463a5d0 -3498a68,621021 -3498a6c,10000006 -3498a70,90500074 -3498a74,10c30004 -3498a78,3c038011 -3498a7c,3463a5d0 -3498a80,621021 -3498a84,90500074 -3498a88,3c020001 -3498a8c,2c21021 -3498a90,a450099e -3498a94,8fa3001c -3498a98,a44309a6 -3498a9c,60a025 -3498aa0,3c02803a -3498aa4,2442f114 -3498aa8,621021 -3498aac,90430000 -3498ab0,24020009 -3498ab4,10620005 -3498ab8,3c028011 -3498abc,3442a5d0 -3498ac0,8c420004 -3498ac4,14620005 -3498ac8,3c020001 -3498acc,240200ff -3498ad0,16020006 -3498ad4,240203e7 -3498ad8,3c020001 -3498adc,2c21021 -3498ae0,24030001 -3498ae4,a44309be -3498ae8,240203e7 -3498aec,12020090 -3498af0,3c020001 -3498af4,8fa2001c -3498af8,29880 -3498afc,3273ffff -3498b00,3c150001 -3498b04,2d5a821 -3498b08,8ea608b8 -3498b0c,2602825 -3498b10,c0e3be5 -3498b14,8fa40018 -3498b18,8ea30934 -3498b1c,3c020006 -3498b20,1462009a -3498b24,3c020001 -3498b28,96a20944 -3498b2c,14400097 -3498b30,3c020001 -3498b34,96c20020 -3498b38,30430007 -3498b3c,50600093 -3498b40,3c020001 -3498b44,3c03803a -3498b48,2463f114 -3498b4c,283a021 -3498b50,92840000 -3498b54,24030009 -3498b58,10830005 -3498b5c,3c038011 -3498b60,3463a5d0 -3498b64,8c630004 -3498b68,54830063 -3498b6c,3c028010 -3498b70,2403002c -3498b74,1203005f -3498b78,240300ff -3498b7c,1203005d -3498b80,30430002 -3498b84,10600005 -3498b88,30430004 -3498b8c,3c020001 -3498b90,2c21021 -3498b94,1000000d -3498b98,a44009b2 -3498b9c,10600006 -3498ba0,30420001 -3498ba4,3c020001 -3498ba8,2c21021 -3498bac,24030001 -3498bb0,10000006 -3498bb4,a44309b2 -3498bb8,10400005 -3498bbc,3c020001 -3498bc0,2c21021 -3498bc4,24030002 -3498bc8,a44309b2 -3498bcc,3c020001 -3498bd0,2c21021 -3498bd4,a45009ae -3498bd8,8fa3001c -3498bdc,a44309b0 -3498be0,24050003 -3498be4,a4450944 -3498be8,139900 -3498bec,8c4408b8 -3498bf0,932021 -3498bf4,94860000 -3498bf8,61880 -3498bfc,661821 -3498c00,31840 -3498c04,a44309b4 -3498c08,94840002 -3498c0c,41880 -3498c10,641821 -3498c14,31840 -3498c18,a44309b6 -3498c1c,240300ff -3498c20,a44309b8 -3498c24,3c02803a -3498c28,a440eab4 -3498c2c,3c02803a -3498c30,a445eab0 -3498c34,3c02803a -3498c38,2403000a -3498c3c,a443eab8 -3498c40,3202fff7 -3498c44,24030004 -3498c48,1043015e -3498c4c,24020012 -3498c50,1602001a -3498c54,3c028010 -3498c58,24100002 -3498c5c,3c028010 -3498c60,244243a8 -3498c64,afa20014 -3498c68,3c078010 -3498c6c,24e743a0 -3498c70,afa70010 -3498c74,24060004 -3498c78,3c058010 -3498c7c,24a54394 -3498c80,3c02800c -3498c84,3442806c -3498c88,40f809 -3498c8c,2604483e -3498c90,3c020001 -3498c94,2c21021 -3498c98,261000bf -3498c9c,a45009ae -3498ca0,3c03803a -3498ca4,a460eab0 -3498ca8,a44009b8 -3498cac,3c02803a -3498cb0,24030006 -3498cb4,10000034 -3498cb8,a443eab8 -3498cbc,244243a8 -3498cc0,afa20014 -3498cc4,3c078010 -3498cc8,24e743a0 -3498ccc,afa70010 -3498cd0,24060004 -3498cd4,3c058010 -3498cd8,24a54394 -3498cdc,3c02800c -3498ce0,3442806c -3498ce4,40f809 -3498ce8,24044808 -3498cec,10000027 -3498cf0,3c020001 -3498cf4,3c028010 -3498cf8,244243a8 -3498cfc,afa20014 -3498d00,3c078010 -3498d04,24e743a0 -3498d08,afa70010 -3498d0c,24060004 -3498d10,3c058010 -3498d14,24a54394 -3498d18,3c02800c -3498d1c,3442806c -3498d20,40f809 -3498d24,24044806 -3498d28,10000018 -3498d2c,3c020001 -3498d30,2c21021 -3498d34,8c4308c8 -3498d38,a4600030 -3498d3c,8c4308c8 -3498d40,a4600010 -3498d44,8c4308c8 -3498d48,a4600020 -3498d4c,8c4308c8 -3498d50,a4600000 -3498d54,8c4408c8 -3498d58,2403ff38 -3498d5c,a4830032 -3498d60,8c4408c8 -3498d64,a4830022 -3498d68,8c4408c8 -3498d6c,a4830012 -3498d70,8c4208c8 -3498d74,10000004 -3498d78,a4430002 -3498d7c,2c21021 -3498d80,240303e7 -3498d84,a443099e -3498d88,3c020001 -3498d8c,2c21021 -3498d90,84420978 -3498d94,10520021 -3498d98,3c028010 -3498d9c,244243a8 -3498da0,afa20014 -3498da4,3c078010 -3498da8,24e743a0 -3498dac,afa70010 -3498db0,24060004 -3498db4,3c058010 -3498db8,24a54394 -3498dbc,3c02800c -3498dc0,3442806c -3498dc4,40f809 -3498dc8,24044809 -3498dcc,10000014 -3498dd0,8e2202b0 -3498dd4,2c21021 -3498dd8,94430944 -3498ddc,24020003 -3498de0,5462000f -3498de4,8e2202b0 -3498de8,3c020001 -3498dec,2c21021 -3498df0,94420948 -3498df4,5440000a -3498df8,8e2202b0 -3498dfc,3c100001 -3498e00,2d08021 -3498e04,8e0608b8 -3498e08,2825 -3498e0c,c0e3be5 -3498e10,8fa40018 -3498e14,24020004 -3498e18,a60209c0 -3498e1c,8e2202b0 -3498e20,24430008 -3498e24,ae2302b0 -3498e28,3c03fc30 -3498e2c,34639661 -3498e30,ac430000 -3498e34,3c03552e -3498e38,3463ff7f -3498e3c,ac430004 -3498e40,3c020001 -3498e44,2c21021 -3498e48,94430968 -3498e4c,2402ff00 -3498e50,621825 -3498e54,8e2202c0 -3498e58,24440008 -3498e5c,ae2402c0 -3498e60,3c04fa00 -3498e64,ac440000 -3498e68,ac430004 -3498e6c,8e2202c0 +3497818,27bd0038 +349781c,27bdffc8 +3497820,afbf0034 +3497824,afbe0030 +3497828,afb7002c +349782c,afb60028 +3497830,afb50024 +3497834,afb40020 +3497838,afb3001c +349783c,afb20018 +3497840,afb10014 +3497844,afb00010 +3497848,a0a825 +349784c,8c900000 +3497850,3c148007 +3497854,3694e298 +3497858,280f809 +349785c,2002025 +3497860,3c1e800a +3497864,37deb900 +3497868,3c0f809 +349786c,2002025 +3497870,8e0302c0 +3497874,24640008 +3497878,ae0402c0 +349787c,3c17da38 +3497880,26f70003 +3497884,ac770000 +3497888,ac620004 +349788c,3c128043 +3497890,26529758 +3497894,1598c0 +3497898,2758821 +349789c,118880 +34978a0,2518821 +34978a4,8e230008 +34978a8,8e0202c0 +34978ac,24440008 +34978b0,ae0402c0 +34978b4,3c16de00 +34978b8,ac560000 +34978bc,ac430004 +34978c0,8e230004 +34978c4,8e0202c0 +34978c8,24440008 +34978cc,ae0402c0 +34978d0,ac560000 +34978d4,ac430004 +34978d8,26940028 +34978dc,280f809 +34978e0,2002025 +34978e4,3c0f809 +34978e8,2002025 +34978ec,8e0302d0 +34978f0,24640008 +34978f4,ae0402d0 +34978f8,ac770000 +34978fc,ac620004 +3497900,8e230010 +3497904,8e0202d0 +3497908,24440008 +349790c,ae0402d0 +3497910,ac560000 +3497914,ac430004 +3497918,8e23000c +349791c,8e0202d0 +3497920,24440008 +3497924,ae0402d0 +3497928,ac560000 +349792c,ac430004 +3497930,8fbf0034 +3497934,8fbe0030 +3497938,8fb7002c +349793c,8fb60028 +3497940,8fb50024 +3497944,8fb40020 +3497948,8fb3001c +349794c,8fb20018 +3497950,8fb10014 +3497954,8fb00010 +3497958,3e00008 +349795c,27bd0038 +3497960,27bdffc8 +3497964,afbf0034 +3497968,afbe0030 +349796c,afb7002c +3497970,afb60028 +3497974,afb50024 +3497978,afb40020 +349797c,afb3001c +3497980,afb20018 +3497984,afb10014 +3497988,afb00010 +349798c,a0b025 +3497990,8c900000 +3497994,3c148007 +3497998,3694e298 +349799c,280f809 +34979a0,2002025 +34979a4,3c1e800a +34979a8,37deb900 +34979ac,3c0f809 +34979b0,2002025 +34979b4,8e0302c0 +34979b8,24640008 +34979bc,ae0402c0 +34979c0,3c17da38 +34979c4,26f70003 +34979c8,ac770000 +34979cc,ac620004 +34979d0,3c128043 +34979d4,26529758 +34979d8,1698c0 +34979dc,2768821 +34979e0,118880 +34979e4,2518821 +34979e8,8e230008 +34979ec,8e0202c0 +34979f0,24440008 +34979f4,ae0402c0 +34979f8,3c15de00 +34979fc,ac550000 +3497a00,ac430004 +3497a04,8e230004 +3497a08,8e0202c0 +3497a0c,24440008 +3497a10,ae0402c0 +3497a14,ac550000 +3497a18,ac430004 +3497a1c,26940028 +3497a20,280f809 +3497a24,2002025 +3497a28,3c0f809 +3497a2c,2002025 +3497a30,8e0302d0 +3497a34,24640008 +3497a38,ae0402d0 +3497a3c,ac770000 +3497a40,ac620004 +3497a44,8e23000c +3497a48,8e0202d0 +3497a4c,24440008 +3497a50,ae0402d0 +3497a54,ac550000 +3497a58,ac430004 +3497a5c,8e230010 +3497a60,8e0202d0 +3497a64,24440008 +3497a68,ae0402d0 +3497a6c,ac550000 +3497a70,ac430004 +3497a74,8e230014 +3497a78,8e0202d0 +3497a7c,24440008 +3497a80,ae0402d0 +3497a84,ac550000 +3497a88,ac430004 +3497a8c,8fbf0034 +3497a90,8fbe0030 +3497a94,8fb7002c +3497a98,8fb60028 +3497a9c,8fb50024 +3497aa0,8fb40020 +3497aa4,8fb3001c +3497aa8,8fb20018 +3497aac,8fb10014 +3497ab0,8fb00010 +3497ab4,3e00008 +3497ab8,27bd0038 +3497abc,27bdffc8 +3497ac0,afbf0034 +3497ac4,afbe0030 +3497ac8,afb7002c +3497acc,afb60028 +3497ad0,afb50024 +3497ad4,afb40020 +3497ad8,afb3001c +3497adc,afb20018 +3497ae0,afb10014 +3497ae4,afb00010 +3497ae8,a0b825 +3497aec,8c900000 +3497af0,3c028042 +3497af4,c44c45bc +3497af8,3c12800a +3497afc,3652a8fc +3497b00,24070001 +3497b04,44066000 +3497b08,240f809 +3497b0c,46006386 +3497b10,3c158007 +3497b14,36b5e298 +3497b18,2a0f809 +3497b1c,2002025 +3497b20,26521004 +3497b24,240f809 +3497b28,2002025 +3497b2c,8e0302c0 +3497b30,24640008 +3497b34,ae0402c0 +3497b38,3c1eda38 +3497b3c,27de0003 +3497b40,ac7e0000 +3497b44,ac620004 +3497b48,3c138043 +3497b4c,26739758 +3497b50,17a0c0 +3497b54,2978821 +3497b58,118880 +3497b5c,2718821 +3497b60,8e230008 +3497b64,8e0202c0 +3497b68,24440008 +3497b6c,ae0402c0 +3497b70,3c16de00 +3497b74,ac560000 +3497b78,ac430004 +3497b7c,8e230004 +3497b80,8e0202c0 +3497b84,24440008 +3497b88,ae0402c0 +3497b8c,ac560000 +3497b90,ac430004 +3497b94,26b50028 +3497b98,2a0f809 +3497b9c,2002025 +3497ba0,240f809 +3497ba4,2002025 +3497ba8,8e0302d0 +3497bac,24640008 +3497bb0,ae0402d0 +3497bb4,ac7e0000 +3497bb8,ac620004 +3497bbc,8e230010 +3497bc0,8e0202d0 +3497bc4,24440008 +3497bc8,ae0402d0 +3497bcc,ac560000 +3497bd0,ac430004 +3497bd4,8e23000c +3497bd8,8e0202d0 +3497bdc,24440008 +3497be0,ae0402d0 +3497be4,ac560000 +3497be8,ac430004 +3497bec,8fbf0034 +3497bf0,8fbe0030 +3497bf4,8fb7002c +3497bf8,8fb60028 +3497bfc,8fb50024 +3497c00,8fb40020 +3497c04,8fb3001c +3497c08,8fb20018 +3497c0c,8fb10014 +3497c10,8fb00010 +3497c14,3e00008 +3497c18,27bd0038 +3497c1c,27bdffb8 +3497c20,afbf0044 +3497c24,afb30040 +3497c28,afb2003c +3497c2c,afb10038 +3497c30,afb00034 +3497c34,809825 +3497c38,a09025 +3497c3c,8c900000 +3497c40,3c118007 +3497c44,3631e298 +3497c48,220f809 +3497c4c,2002025 +3497c50,24020020 +3497c54,afa20028 +3497c58,afa20024 +3497c5c,afa00020 +3497c60,afa0001c +3497c64,24030001 +3497c68,afa30018 +3497c6c,afa20014 +3497c70,afa20010 +3497c74,263108ec +3497c78,3825 +3497c7c,8e66009c +3497c80,2825 +3497c84,220f809 +3497c88,2002025 +3497c8c,8e0302c0 +3497c90,24640008 +3497c94,ae0402c0 +3497c98,3c04db06 +3497c9c,24840020 +3497ca0,ac640000 +3497ca4,ac620004 +3497ca8,3c02800a +3497cac,3442b900 +3497cb0,40f809 +3497cb4,2002025 +3497cb8,8e0302c0 +3497cbc,24640008 +3497cc0,ae0402c0 +3497cc4,3c04da38 +3497cc8,24840003 +3497ccc,ac640000 +3497cd0,ac620004 +3497cd4,3c058043 +3497cd8,1210c0 +3497cdc,521021 +3497ce0,21080 +3497ce4,24a59758 +3497ce8,a22821 +3497cec,8ca30004 +3497cf0,8e0202c0 +3497cf4,24440008 +3497cf8,ae0402c0 +3497cfc,3c04de00 +3497d00,ac440000 +3497d04,ac430004 +3497d08,8fbf0044 +3497d0c,8fb30040 +3497d10,8fb2003c +3497d14,8fb10038 +3497d18,8fb00034 +3497d1c,3e00008 +3497d20,27bd0048 +3497d24,27bdffb8 +3497d28,afbf0044 +3497d2c,afb30040 +3497d30,afb2003c +3497d34,afb10038 +3497d38,afb00034 +3497d3c,809825 +3497d40,a09025 +3497d44,8c900000 +3497d48,3c118007 +3497d4c,3631e298 +3497d50,220f809 +3497d54,2002025 +3497d58,8e62009c +3497d5c,23040 +3497d60,c23021 +3497d64,63040 +3497d68,24020020 +3497d6c,afa20028 +3497d70,afa20024 +3497d74,afa60020 +3497d78,afa6001c +3497d7c,24030001 +3497d80,afa30018 +3497d84,afa20014 +3497d88,afa20010 +3497d8c,263108ec +3497d90,c03825 +3497d94,2825 +3497d98,220f809 +3497d9c,2002025 +3497da0,8e0302c0 +3497da4,24640008 +3497da8,ae0402c0 +3497dac,3c04db06 +3497db0,24840020 +3497db4,ac640000 +3497db8,ac620004 +3497dbc,3c02800a +3497dc0,3442b900 +3497dc4,40f809 +3497dc8,2002025 +3497dcc,8e0302c0 +3497dd0,24640008 +3497dd4,ae0402c0 +3497dd8,3c04da38 +3497ddc,24840003 +3497de0,ac640000 +3497de4,ac620004 +3497de8,3c058043 +3497dec,1210c0 +3497df0,521021 +3497df4,21080 +3497df8,24a59758 +3497dfc,a22821 +3497e00,8ca30004 +3497e04,8e0202c0 +3497e08,24440008 +3497e0c,ae0402c0 +3497e10,3c04de00 +3497e14,ac440000 +3497e18,ac430004 +3497e1c,8fbf0044 +3497e20,8fb30040 +3497e24,8fb2003c +3497e28,8fb10038 +3497e2c,8fb00034 +3497e30,3e00008 +3497e34,27bd0048 +3497e38,27bdffb8 +3497e3c,afbf0044 +3497e40,afb30040 +3497e44,afb2003c +3497e48,afb10038 +3497e4c,afb00034 +3497e50,809825 +3497e54,a09025 +3497e58,8c900000 +3497e5c,3c118007 +3497e60,3631e2c0 +3497e64,220f809 +3497e68,2002025 +3497e6c,8e63009c +3497e70,33880 +3497e74,24020020 +3497e78,afa20028 +3497e7c,afa20024 +3497e80,32023 +3497e84,42040 +3497e88,afa40020 +3497e8c,afa0001c +3497e90,24040001 +3497e94,afa40018 +3497e98,afa20014 +3497e9c,afa20010 +3497ea0,263108c4 +3497ea4,673823 +3497ea8,3025 +3497eac,2825 +3497eb0,220f809 +3497eb4,2002025 +3497eb8,8e0302d0 +3497ebc,24640008 +3497ec0,ae0402d0 +3497ec4,3c04db06 +3497ec8,24840020 +3497ecc,ac640000 +3497ed0,ac620004 +3497ed4,3c02800a +3497ed8,3442b900 +3497edc,40f809 +3497ee0,2002025 +3497ee4,8e0302d0 +3497ee8,24640008 +3497eec,ae0402d0 +3497ef0,3c04da38 +3497ef4,24840003 +3497ef8,ac640000 +3497efc,ac620004 +3497f00,3c058043 +3497f04,1210c0 +3497f08,521021 +3497f0c,21080 +3497f10,24a59758 +3497f14,a22821 +3497f18,8ca30004 +3497f1c,8e0202d0 +3497f20,24440008 +3497f24,ae0402d0 +3497f28,3c04de00 +3497f2c,ac440000 +3497f30,ac430004 +3497f34,8fbf0044 +3497f38,8fb30040 +3497f3c,8fb2003c +3497f40,8fb10038 +3497f44,8fb00034 +3497f48,3e00008 +3497f4c,27bd0048 +3497f50,27bdffb8 +3497f54,afbf0044 +3497f58,afb30040 +3497f5c,afb2003c +3497f60,afb10038 +3497f64,afb00034 +3497f68,809825 +3497f6c,a09025 +3497f70,8c900000 +3497f74,3c118007 +3497f78,3631e2c0 +3497f7c,220f809 +3497f80,2002025 +3497f84,8e67009c +3497f88,24020020 +3497f8c,afa20028 +3497f90,afa20024 +3497f94,afa70020 +3497f98,afa0001c +3497f9c,24030001 +3497fa0,afa30018 +3497fa4,afa20014 +3497fa8,afa20010 +3497fac,263108c4 +3497fb0,3025 +3497fb4,2825 +3497fb8,220f809 +3497fbc,2002025 +3497fc0,8e0302d0 +3497fc4,24640008 +3497fc8,ae0402d0 +3497fcc,3c04db06 +3497fd0,24840020 +3497fd4,ac640000 +3497fd8,ac620004 +3497fdc,3c02800a +3497fe0,3442b900 +3497fe4,40f809 +3497fe8,2002025 +3497fec,8e0302d0 +3497ff0,24640008 +3497ff4,ae0402d0 +3497ff8,3c04da38 +3497ffc,24840003 +3498000,ac640000 +3498004,ac620004 +3498008,3c058043 +349800c,1210c0 +3498010,521021 +3498014,21080 +3498018,24a59758 +349801c,a22821 +3498020,8ca30004 +3498024,8e0202d0 +3498028,24440008 +349802c,ae0402d0 +3498030,3c04de00 +3498034,ac440000 +3498038,ac430004 +349803c,8fbf0044 +3498040,8fb30040 +3498044,8fb2003c +3498048,8fb10038 +349804c,8fb00034 +3498050,3e00008 +3498054,27bd0048 +3498058,27bdffb8 +349805c,afbf0044 +3498060,afb30040 +3498064,afb2003c +3498068,afb10038 +349806c,afb00034 +3498070,809825 +3498074,a09025 +3498078,8c900000 +349807c,3c118007 +3498080,3631e2c0 +3498084,220f809 +3498088,2002025 +349808c,8e63009c +3498090,33040 +3498094,33880 +3498098,673823 +349809c,24020020 +34980a0,afa20028 +34980a4,afa20024 +34980a8,62023 +34980ac,afa40020 +34980b0,afa3001c +34980b4,24030001 +34980b8,afa30018 +34980bc,afa20014 +34980c0,afa20010 +34980c4,263108c4 +34980c8,73840 +34980cc,2825 +34980d0,220f809 +34980d4,2002025 +34980d8,8e0302d0 +34980dc,24640008 +34980e0,ae0402d0 +34980e4,3c04db06 +34980e8,24840020 +34980ec,ac640000 +34980f0,ac620004 +34980f4,3c02800a +34980f8,3442b900 +34980fc,40f809 +3498100,2002025 +3498104,8e0302d0 +3498108,24640008 +349810c,ae0402d0 +3498110,3c04da38 +3498114,24840003 +3498118,ac640000 +349811c,ac620004 +3498120,3c028043 +3498124,24429758 +3498128,1218c0 +349812c,722021 +3498130,42080 +3498134,442021 +3498138,8c870004 +349813c,8e0602d0 +3498140,24c50008 +3498144,ae0502d0 +3498148,3c05de00 +349814c,acc50000 +3498150,acc70004 +3498154,8c860008 +3498158,8e0402d0 +349815c,24870008 +3498160,ae0702d0 +3498164,ac850000 +3498168,ac860004 +349816c,721821 +3498170,31880 +3498174,431021 +3498178,8c43000c +349817c,8e0202d0 +3498180,24440008 +3498184,ae0402d0 +3498188,ac450000 +349818c,ac430004 +3498190,8fbf0044 +3498194,8fb30040 +3498198,8fb2003c +349819c,8fb10038 +34981a0,8fb00034 +34981a4,3e00008 +34981a8,27bd0048 +34981ac,27bdffb8 +34981b0,afbf0044 +34981b4,afb30040 +34981b8,afb2003c +34981bc,afb10038 +34981c0,afb00034 +34981c4,809825 +34981c8,a09025 +34981cc,8c900000 +34981d0,3c118007 +34981d4,3631e2c0 +34981d8,220f809 +34981dc,2002025 +34981e0,8e62009c +34981e4,23040 +34981e8,21080 +34981ec,24030020 +34981f0,afa30028 +34981f4,afa30024 +34981f8,21823 +34981fc,afa30020 +3498200,afa2001c +3498204,24020001 +3498208,afa20018 +349820c,24020040 +3498210,afa20014 +3498214,afa20010 +3498218,263108c4 +349821c,63823 +3498220,2825 +3498224,220f809 +3498228,2002025 +349822c,8e0302d0 +3498230,24640008 +3498234,ae0402d0 +3498238,3c04db06 +349823c,24840020 +3498240,ac640000 +3498244,ac620004 +3498248,3c02800a +349824c,3442b900 +3498250,40f809 +3498254,2002025 +3498258,8e0302d0 +349825c,24640008 +3498260,ae0402d0 +3498264,3c04da38 +3498268,24840003 +349826c,ac640000 +3498270,ac620004 +3498274,8e0202d0 +3498278,24430008 +349827c,ae0302d0 +3498280,3c05de00 +3498284,ac450000 +3498288,3c038043 +349828c,24639718 +3498290,ac430004 +3498294,3c028043 +3498298,24429758 +349829c,1218c0 +34982a0,722021 +34982a4,42080 +34982a8,442021 +34982ac,8c860010 +34982b0,8e0402d0 +34982b4,24870008 +34982b8,ae0702d0 +34982bc,ac850000 +34982c0,ac860004 +34982c4,8e0402d0 +34982c8,24860008 +34982cc,ae0602d0 +34982d0,ac850000 +34982d4,3c068043 +34982d8,24c69738 +34982dc,ac860004 +34982e0,721821 +34982e4,31880 +34982e8,431021 +34982ec,8c430004 +34982f0,8e0202d0 +34982f4,24440008 +34982f8,ae0402d0 +34982fc,ac450000 +3498300,ac430004 +3498304,8fbf0044 +3498308,8fb30040 +349830c,8fb2003c +3498310,8fb10038 +3498314,8fb00034 +3498318,3e00008 +349831c,27bd0048 +3498320,27bdffb8 +3498324,afbf0044 +3498328,afb30040 +349832c,afb2003c +3498330,afb10038 +3498334,afb00034 +3498338,809825 +349833c,a09025 +3498340,8c900000 +3498344,3c118007 +3498348,3631e2c0 +349834c,220f809 +3498350,2002025 +3498354,8e62009c +3498358,23040 +349835c,21080 +3498360,24030020 +3498364,afa30028 +3498368,afa30024 +349836c,21823 +3498370,afa30020 +3498374,afa2001c +3498378,24020001 +349837c,afa20018 +3498380,24020040 +3498384,afa20014 +3498388,afa20010 +349838c,263108c4 +3498390,63823 +3498394,2825 +3498398,220f809 +349839c,2002025 +34983a0,8e0302d0 +34983a4,24640008 +34983a8,ae0402d0 +34983ac,3c04db06 +34983b0,24840020 +34983b4,ac640000 +34983b8,ac620004 +34983bc,3c02800a +34983c0,3442b900 +34983c4,40f809 +34983c8,2002025 +34983cc,8e0302d0 +34983d0,24640008 +34983d4,ae0402d0 +34983d8,3c04da38 +34983dc,24840003 +34983e0,ac640000 +34983e4,ac620004 +34983e8,3c038043 +34983ec,24639758 +34983f0,1220c0 +34983f4,921021 +34983f8,21080 +34983fc,621021 +3498400,8c47000c +3498404,8e0602d0 +3498408,24c50008 +349840c,ae0502d0 +3498410,3c05de00 +3498414,acc50000 +3498418,acc70004 +349841c,8c470010 +3498420,8e0602d0 +3498424,24c80008 +3498428,ae0802d0 +349842c,acc50000 +3498430,acc70004 +3498434,8c460008 +3498438,8e0202d0 +349843c,24470008 +3498440,ae0702d0 +3498444,ac450000 +3498448,ac460004 +349844c,922021 +3498450,42080 +3498454,641821 +3498458,8c630004 +349845c,8e0202d0 +3498460,24440008 +3498464,ae0402d0 +3498468,ac450000 +349846c,ac430004 +3498470,8fbf0044 +3498474,8fb30040 +3498478,8fb2003c +349847c,8fb10038 +3498480,8fb00034 +3498484,3e00008 +3498488,27bd0048 +349848c,27bdffa8 +3498490,afbf0054 +3498494,afbe0050 +3498498,afb7004c +349849c,afb60048 +34984a0,afb50044 +34984a4,afb40040 +34984a8,afb3003c +34984ac,afb20038 +34984b0,afb10034 +34984b4,afb00030 +34984b8,808825 +34984bc,a0b025 +34984c0,8c900000 +34984c4,3c128007 +34984c8,3652e298 +34984cc,240f809 +34984d0,2002025 +34984d4,8e27009c +34984d8,73023 +34984dc,24020020 +34984e0,afa20028 +34984e4,afa20024 +34984e8,afa70020 +34984ec,afa6001c +34984f0,24030001 +34984f4,afa30018 +34984f8,afa20014 +34984fc,afa20010 +3498500,264208ec +3498504,2825 +3498508,40f809 +349850c,2002025 +3498510,8e0302c0 +3498514,24640008 +3498518,ae0402c0 +349851c,3c04db06 +3498520,24840020 +3498524,ac640000 +3498528,ac620004 +349852c,3c1e800a +3498530,37deb900 +3498534,3c0f809 +3498538,2002025 +349853c,8e0302c0 +3498540,24640008 +3498544,ae0402c0 +3498548,3c17da38 +349854c,26f70003 +3498550,ac770000 +3498554,ac620004 +3498558,3c148043 +349855c,26949758 +3498560,16a8c0 +3498564,2b68821 +3498568,118880 +349856c,2918821 +3498570,8e230008 +3498574,8e0202c0 +3498578,24440008 +349857c,ae0402c0 +3498580,3c13de00 +3498584,ac530000 +3498588,ac430004 +349858c,8e230004 +3498590,8e0202c0 +3498594,24440008 +3498598,ae0402c0 +349859c,ac530000 +34985a0,ac430004 +34985a4,8e23000c +34985a8,8e0202c0 +34985ac,24440008 +34985b0,ae0402c0 +34985b4,ac530000 +34985b8,ac430004 +34985bc,8e230010 +34985c0,8e0202c0 +34985c4,24440008 +34985c8,ae0402c0 +34985cc,ac530000 +34985d0,ac430004 +34985d4,26520028 +34985d8,240f809 +34985dc,2002025 +34985e0,3c0f809 +34985e4,2002025 +34985e8,8e0302d0 +34985ec,24640008 +34985f0,ae0402d0 +34985f4,ac770000 +34985f8,ac620004 +34985fc,8e230014 +3498600,8e0202d0 +3498604,24440008 +3498608,ae0402d0 +349860c,ac530000 +3498610,ac430004 +3498614,8e230018 +3498618,8e0202d0 +349861c,24440008 +3498620,ae0402d0 +3498624,ac530000 +3498628,ac430004 +349862c,8fbf0054 +3498630,8fbe0050 +3498634,8fb7004c +3498638,8fb60048 +349863c,8fb50044 +3498640,8fb40040 +3498644,8fb3003c +3498648,8fb20038 +349864c,8fb10034 +3498650,8fb00030 +3498654,3e00008 +3498658,27bd0058 +349865c,27bdffa8 +3498660,afbf0054 +3498664,afb70050 +3498668,afb6004c +349866c,afb50048 +3498670,afb40044 +3498674,afb30040 +3498678,afb2003c +349867c,afb10038 +3498680,afb00034 +3498684,809025 +3498688,a0a025 +349868c,8c900000 +3498690,3c118007 +3498694,3631e298 +3498698,220f809 +349869c,2002025 +34986a0,8e42009c +34986a4,21840 +34986a8,33fc3 +34986ac,73e02 +34986b0,671821 +34986b4,306300ff +34986b8,24040020 +34986bc,afa40028 +34986c0,afa40024 +34986c4,227c3 +34986c8,42642 +34986cc,441021 +34986d0,3042007f +34986d4,441023 +34986d8,afa20020 +34986dc,afa0001c +34986e0,24020001 +34986e4,afa20018 +34986e8,24020040 +34986ec,afa20014 +34986f0,afa20010 +34986f4,262208ec +34986f8,673823 +34986fc,3025 +3498700,2825 +3498704,40f809 +3498708,2002025 +349870c,8e0302c0 +3498710,24640008 +3498714,ae0402c0 +3498718,3c04db06 +349871c,24840020 +3498720,ac640000 +3498724,ac620004 +3498728,3c17800a +349872c,36f7b900 +3498730,2e0f809 +3498734,2002025 +3498738,8e0302c0 +349873c,24640008 +3498740,ae0402c0 +3498744,3c16da38 +3498748,26d60003 +349874c,ac760000 +3498750,ac620004 +3498754,3c128043 +3498758,26529758 +349875c,1498c0 +3498760,2741021 +3498764,21080 +3498768,2421021 +349876c,8c430004 +3498770,8e0202c0 +3498774,24440008 +3498778,ae0402c0 +349877c,3c15de00 +3498780,ac550000 +3498784,ac430004 +3498788,26310028 +349878c,220f809 +3498790,2002025 +3498794,2e0f809 +3498798,2002025 +349879c,8e0302d0 +34987a0,24640008 +34987a4,ae0402d0 +34987a8,ac760000 +34987ac,ac620004 +34987b0,2749821 +34987b4,139880 +34987b8,2539021 +34987bc,8e430008 +34987c0,8e0202d0 +34987c4,24440008 +34987c8,ae0402d0 +34987cc,ac550000 +34987d0,ac430004 +34987d4,8fbf0054 +34987d8,8fb70050 +34987dc,8fb6004c +34987e0,8fb50048 +34987e4,8fb40044 +34987e8,8fb30040 +34987ec,8fb2003c +34987f0,8fb10038 +34987f4,8fb00034 +34987f8,3e00008 +34987fc,27bd0058 +3498800,27bdffa8 +3498804,afbf0054 +3498808,afbe0050 +349880c,afb7004c +3498810,afb60048 +3498814,afb50044 +3498818,afb40040 +349881c,afb3003c +3498820,afb20038 +3498824,afb10034 +3498828,afb00030 +349882c,80f025 +3498830,a0a025 +3498834,8c900000 +3498838,3c118007 +349883c,3631e298 +3498840,220f809 +3498844,2002025 +3498848,3c17800a +349884c,36f7b900 +3498850,2e0f809 +3498854,2002025 +3498858,8e0302c0 +349885c,24640008 +3498860,ae0402c0 +3498864,3c16da38 +3498868,26d60003 +349886c,ac760000 +3498870,ac620004 +3498874,3c128043 +3498878,26529758 +349887c,1498c0 +3498880,2741021 +3498884,21080 +3498888,2421021 +349888c,8c430004 +3498890,8e0202c0 +3498894,24440008 +3498898,ae0402c0 +349889c,3c15de00 +34988a0,ac550000 +34988a4,ac430004 +34988a8,26220028 +34988ac,40f809 +34988b0,2002025 +34988b4,8fc2009c +34988b8,23880 +34988bc,e23821 +34988c0,24020040 +34988c4,afa20028 +34988c8,24020020 +34988cc,afa20024 +34988d0,afa00020 +34988d4,afa0001c +34988d8,24030001 +34988dc,afa30018 +34988e0,afa20014 +34988e4,afa20010 +34988e8,263108ec +34988ec,73823 +34988f0,3025 +34988f4,2825 +34988f8,220f809 +34988fc,2002025 +3498900,8e0302d0 +3498904,24640008 +3498908,ae0402d0 +349890c,3c04db06 +3498910,24840020 +3498914,ac640000 +3498918,ac620004 +349891c,2e0f809 +3498920,2002025 +3498924,8e0302d0 +3498928,24640008 +349892c,ae0402d0 +3498930,ac760000 +3498934,ac620004 +3498938,2742821 +349893c,52880 +3498940,2459021 +3498944,8e430008 +3498948,8e0202d0 +349894c,24440008 +3498950,ae0402d0 +3498954,ac550000 +3498958,ac430004 +349895c,8fbf0054 +3498960,8fbe0050 +3498964,8fb7004c +3498968,8fb60048 +349896c,8fb50044 +3498970,8fb40040 +3498974,8fb3003c +3498978,8fb20038 +349897c,8fb10034 +3498980,8fb00030 +3498984,3e00008 +3498988,27bd0058 +349898c,27bdffa8 +3498990,afbf0054 +3498994,afbe0050 +3498998,afb7004c +349899c,afb60048 +34989a0,afb50044 +34989a4,afb40040 +34989a8,afb3003c +34989ac,afb20038 +34989b0,afb10034 +34989b4,afb00030 +34989b8,80b825 +34989bc,a0a825 +34989c0,8c900000 +34989c4,3c128007 +34989c8,3652e298 +34989cc,240f809 +34989d0,2002025 +34989d4,3c11800a +34989d8,3631b900 +34989dc,220f809 +34989e0,2002025 +34989e4,8e0302c0 +34989e8,24640008 +34989ec,ae0402c0 +34989f0,3c1eda38 +34989f4,27de0003 +34989f8,ac7e0000 +34989fc,ac620004 +3498a00,3c138043 +3498a04,26739758 +3498a08,15a0c0 +3498a0c,2951021 +3498a10,21080 +3498a14,2621021 +3498a18,8c430004 +3498a1c,8e0202c0 +3498a20,24440008 +3498a24,ae0402c0 +3498a28,3c16de00 +3498a2c,ac560000 +3498a30,ac430004 +3498a34,26420028 +3498a38,40f809 +3498a3c,2002025 +3498a40,8ee5009c +3498a44,24040020 +3498a48,afa40028 +3498a4c,24030010 +3498a50,afa30024 +3498a54,51023 +3498a58,210c0 +3498a5c,afa20020 +3498a60,afa5001c +3498a64,24020001 +3498a68,afa20018 +3498a6c,afa40014 +3498a70,afa30010 +3498a74,265208ec +3498a78,3825 +3498a7c,3025 +3498a80,2825 +3498a84,240f809 +3498a88,2002025 +3498a8c,8e0302d0 +3498a90,24640008 +3498a94,ae0402d0 +3498a98,3c04db06 +3498a9c,24840020 +3498aa0,ac640000 +3498aa4,ac620004 +3498aa8,2622edec +3498aac,40f809 +3498ab0,295a021 +3498ab4,2622eef4 +3498ab8,24070001 +3498abc,3025 +3498ac0,3c038042 +3498ac4,c46e45c0 +3498ac8,3c038042 +3498acc,40f809 +3498ad0,c46c45c4 +3498ad4,26220554 +3498ad8,3c040001 +3498adc,24841da0 +3498ae0,40f809 +3498ae4,2e42021 +3498ae8,220f809 +3498aec,2002025 +3498af0,8e0302d0 +3498af4,24640008 +3498af8,ae0402d0 +3498afc,ac7e0000 +3498b00,ac620004 +3498b04,14a080 +3498b08,2749821 +3498b0c,8e630008 +3498b10,8e0202d0 +3498b14,24440008 +3498b18,ae0402d0 +3498b1c,ac560000 +3498b20,2631ee24 +3498b24,220f809 +3498b28,ac430004 +3498b2c,8fbf0054 +3498b30,8fbe0050 +3498b34,8fb7004c +3498b38,8fb60048 +3498b3c,8fb50044 +3498b40,8fb40040 +3498b44,8fb3003c +3498b48,8fb20038 +3498b4c,8fb10034 +3498b50,8fb00030 +3498b54,3e00008 +3498b58,27bd0058 +3498b5c,27bdffa0 +3498b60,afbf005c +3498b64,afbe0058 +3498b68,afb70054 +3498b6c,afb60050 +3498b70,afb5004c +3498b74,afb40048 +3498b78,afb30044 +3498b7c,afb20040 +3498b80,afb1003c +3498b84,afb00038 +3498b88,80b825 +3498b8c,a0a825 +3498b90,8c900000 +3498b94,3c128007 +3498b98,3652e298 +3498b9c,240f809 +3498ba0,2002025 +3498ba4,3c11800a +3498ba8,3631b900 +3498bac,220f809 +3498bb0,2002025 +3498bb4,8e0302c0 +3498bb8,24640008 +3498bbc,ae0402c0 +3498bc0,3c16da38 +3498bc4,26d60003 +3498bc8,ac760000 +3498bcc,ac620004 +3498bd0,3c028043 +3498bd4,24429758 +3498bd8,1598c0 +3498bdc,275a021 +3498be0,14a080 +3498be4,afa20030 +3498be8,54a021 +3498bec,8e830004 +3498bf0,8e0202c0 +3498bf4,24440008 +3498bf8,ae0402c0 +3498bfc,3c1ede00 +3498c00,ac5e0000 +3498c04,ac430004 +3498c08,26420028 +3498c0c,40f809 +3498c10,2002025 +3498c14,220f809 +3498c18,2002025 +3498c1c,8e0302d0 +3498c20,24640008 +3498c24,ae0402d0 +3498c28,ac760000 +3498c2c,ac620004 +3498c30,8e830008 +3498c34,8e0202d0 +3498c38,24440008 +3498c3c,ae0402d0 +3498c40,ac5e0000 +3498c44,ac430004 +3498c48,8ee4009c +3498c4c,24030020 +3498c50,afa30028 +3498c54,afa30024 +3498c58,41080 +3498c5c,821023 +3498c60,21040 +3498c64,afa20020 +3498c68,afa4001c +3498c6c,24020001 +3498c70,afa20018 +3498c74,afa30014 +3498c78,afa30010 +3498c7c,265208ec +3498c80,3825 +3498c84,3025 +3498c88,2825 +3498c8c,240f809 +3498c90,2002025 +3498c94,8e0302d0 +3498c98,24640008 +3498c9c,ae0402d0 +3498ca0,3c04db06 +3498ca4,24840020 +3498ca8,ac640000 +3498cac,ac620004 +3498cb0,2622edec +3498cb4,40f809 +3498cb8,2759821 +3498cbc,26220554 +3498cc0,3c040001 +3498cc4,24841da0 +3498cc8,40f809 +3498ccc,2e42021 +3498cd0,220f809 +3498cd4,2002025 +3498cd8,8e0302d0 +3498cdc,24640008 +3498ce0,ae0402d0 +3498ce4,ac760000 +3498ce8,ac620004 +3498cec,139880 +3498cf0,8fa20030 +3498cf4,531021 +3498cf8,8c43000c +3498cfc,8e0202d0 +3498d00,24440008 +3498d04,ae0402d0 +3498d08,ac5e0000 +3498d0c,2631ee24 +3498d10,220f809 +3498d14,ac430004 +3498d18,8fbf005c +3498d1c,8fbe0058 +3498d20,8fb70054 +3498d24,8fb60050 +3498d28,8fb5004c +3498d2c,8fb40048 +3498d30,8fb30044 +3498d34,8fb20040 +3498d38,8fb1003c +3498d3c,8fb00038 +3498d40,3e00008 +3498d44,27bd0060 +3498d48,27bdffb8 +3498d4c,afbf0044 +3498d50,afb30040 +3498d54,afb2003c +3498d58,afb10038 +3498d5c,afb00034 +3498d60,809825 +3498d64,a09025 +3498d68,8c900000 +3498d6c,3c118007 +3498d70,3631e2c0 +3498d74,220f809 +3498d78,2002025 +3498d7c,8e64009c +3498d80,24030020 +3498d84,afa30028 +3498d88,afa30024 +3498d8c,41080 +3498d90,821023 +3498d94,21040 +3498d98,afa20020 +3498d9c,afa4001c +3498da0,24020001 +3498da4,afa20018 +3498da8,afa30014 +3498dac,afa30010 +3498db0,263108c4 +3498db4,3825 +3498db8,3025 +3498dbc,2825 +3498dc0,220f809 +3498dc4,2002025 +3498dc8,8e0302d0 +3498dcc,24640008 +3498dd0,ae0402d0 +3498dd4,3c04db06 +3498dd8,24840020 +3498ddc,ac640000 +3498de0,3c11800a +3498de4,3631a6ec +3498de8,220f809 +3498dec,ac620004 +3498df0,26221768 +3498df4,3c040001 +3498df8,24841da0 +3498dfc,40f809 +3498e00,2642021 +3498e04,26221214 +3498e08,40f809 +3498e0c,2002025 +3498e10,8e0302d0 +3498e14,24640008 +3498e18,ae0402d0 +3498e1c,3c04da38 +3498e20,24840003 +3498e24,ac640000 +3498e28,ac620004 +3498e2c,8e0202d0 +3498e30,24430008 +3498e34,ae0302d0 +3498e38,3c03e200 +3498e3c,2463001c +3498e40,ac430000 +3498e44,3c030c18 +3498e48,246349d8 +3498e4c,ac430004 +3498e50,8e0202d0 +3498e54,24430008 +3498e58,ae0302d0 +3498e5c,3c03e300 +3498e60,24631001 +3498e64,ac430000 +3498e68,ac400004 +3498e6c,8e0202d0 3498e70,24430008 -3498e74,ae2302c0 -3498e78,3c03fb00 +3498e74,ae0302d0 +3498e78,3c03d900 3498e7c,ac430000 -3498e80,ac400004 -3498e84,24100001 -3498e88,3c128011 -3498e8c,3652a5d0 -3498e90,3c140001 -3498e94,2d4a021 -3498e98,3c130200 -3498e9c,26730e00 -3498ea0,2501021 -3498ea4,90430068 -3498ea8,240200ff -3498eac,50620014 -3498eb0,26100001 -3498eb4,101180 -3498eb8,244205c0 -3498ebc,8e8308b8 -3498ec0,621821 -3498ec4,8e2202c0 -3498ec8,24440008 -3498ecc,ae2402c0 -3498ed0,3c040100 -3498ed4,24844008 -3498ed8,ac440000 -3498edc,ac430004 -3498ee0,8e2402c0 -3498ee4,afa00010 -3498ee8,24070020 -3498eec,24060020 -3498ef0,c0e5080 -3498ef4,2602825 -3498ef8,ae2202c0 -3498efc,26100001 -3498f00,24020004 -3498f04,5602ffe7 -3498f08,2501021 -3498f0c,8e2202c0 -3498f10,24430008 -3498f14,ae2302c0 -3498f18,3c03e700 -3498f1c,ac430000 -3498f20,ac400004 -3498f24,8e2202c0 -3498f28,24430008 -3498f2c,ae2302c0 -3498f30,3c03fc11 -3498f34,34639623 -3498f38,ac430000 -3498f3c,3c03ff2f -3498f40,3463ffff -3498f44,ac430004 -3498f48,3c14803a -3498f4c,2694f114 -3498f50,9025 -3498f54,8025 -3498f58,3c130001 -3498f5c,2d39821 -3498f60,2417ff00 -3498f64,3c158011 -3498f68,36b5a5d0 -3498f6c,3c1e8010 -3498f70,27de8d2c -3498f74,96630968 -3498f78,771825 -3498f7c,8e2202c0 -3498f80,24440008 -3498f84,ae2402c0 -3498f88,3c04fa00 -3498f8c,ac440000 -3498f90,ac430004 -3498f94,2b01821 -3498f98,90640074 -3498f9c,240300ff -3498fa0,10830057 -3498fa4,2001025 -3498fa8,96630944 -3498fac,54600042 -3498fb0,8e6408b8 -3498fb4,96630948 -3498fb8,5460003f -3498fbc,8e6408b8 -3498fc0,86630998 -3498fc4,5460003c -3498fc8,8e6408b8 -3498fcc,92830000 -3498fd0,24040009 -3498fd4,50640005 -3498fd8,3203ffff -3498fdc,8ea40004 -3498fe0,54640035 -3498fe4,8e6408b8 -3498fe8,3203ffff -3498fec,8fa4001c -3498ff0,54640031 -3498ff4,8e6408b8 -3498ff8,8e6508b8 -3498ffc,26440020 -3499000,b21821 -3499004,94630000 -3499008,2463fffe -349900c,31c00 -3499010,31c03 -3499014,a42821 -3499018,a4a30000 -349901c,8e6508b8 -3499020,b22821 -3499024,a4a30000 -3499028,8e6508b8 -349902c,26460030 -3499030,b21821 -3499034,94630000 -3499038,24630020 -349903c,31c00 -3499040,31c03 -3499044,a62821 -3499048,a4a30000 -349904c,26470010 -3499050,8e6508b8 -3499054,a72821 -3499058,a4a30000 -349905c,8e6508b8 -3499060,b21821 -3499064,94630002 -3499068,24630002 -349906c,31c00 -3499070,31c03 -3499074,a72821 -3499078,a4a30002 -349907c,8e6508b8 -3499080,b22821 -3499084,a4a30002 -3499088,8e6508b8 -349908c,b21821 -3499090,94630002 -3499094,2463ffe0 -3499098,31c00 -349909c,31c03 -34990a0,a62821 -34990a4,a4a30002 -34990a8,8e6508b8 -34990ac,a42021 -34990b0,a4830002 -34990b4,8e6408b8 -34990b8,922021 -34990bc,8e2302c0 -34990c0,24650008 -34990c4,ae2502c0 -34990c8,3c050100 -34990cc,24a54008 -34990d0,ac650000 -34990d4,ac640004 -34990d8,2a21021 -34990dc,90420074 -34990e0,21080 -34990e4,5e1021 -34990e8,afa00010 -34990ec,24070020 -34990f0,24060020 -34990f4,8c450000 -34990f8,c0e5162 -34990fc,8ec40000 -3499100,26100001 -3499104,26520040 -3499108,24020018 -349910c,1602ff99 -3499110,26940001 -3499114,3c020001 -3499118,2c21021 -349911c,84420998 -3499120,54400005 -3499124,8e2202c0 -3499128,2825 -349912c,c0e52c0 -3499130,2c02025 -3499134,8e2202c0 -3499138,24430008 -349913c,ae2302c0 -3499140,3c03e700 -3499144,ac430000 -3499148,ac400004 -349914c,8e2202c0 -3499150,24430008 -3499154,ae2302c0 -3499158,3c03fc30 -349915c,34639661 -3499160,ac430000 -3499164,3c03552e -3499168,3463ff7f -349916c,ac430004 -3499170,3c11803a -3499174,2631eaa0 -3499178,8025 -349917c,241200ff -3499180,3c148011 -3499184,3694a5d0 -3499188,2413000f -349918c,92220000 -3499190,10520007 -3499194,2901021 -3499198,90460074 -349919c,50d20005 -34991a0,26100001 -34991a4,8ec50000 -34991a8,c0e3a84 -34991ac,8fa40018 -34991b0,26100001 -34991b4,1613fff5 -34991b8,26310001 -34991bc,1000002c -34991c0,8fbf0044 -34991c4,3a10000c -34991c8,1000fea4 -34991cc,2e100001 -34991d0,2c31821 -34991d4,84620978 -34991d8,3044ffff -34991dc,afa4001c -34991e0,24040004 -34991e4,1000fe1e -34991e8,a46409c0 -34991ec,3c020001 -34991f0,2c21021 -34991f4,a448098c -34991f8,a4470978 -34991fc,30e3ffff -3499200,afa3001c -3499204,24030004 -3499208,1000fe1f -349920c,a44309c0 -3499210,1000fdc0 -3499214,3c020001 -3499218,3c040001 -349921c,2c42021 -3499220,a4820978 -3499224,3c038011 -3499228,3463a5d0 -349922c,621021 -3499230,90500074 -3499234,84820976 -3499238,223c3 -349923c,441826 -3499240,641823 -3499244,3063ffff -3499248,2c63001f -349924c,1060fdc2 -3499250,3c030001 -3499254,2c31821 -3499258,84620978 -349925c,3044ffff -3499260,afa4001c -3499264,24040004 -3499268,1000fdfd -349926c,a46409c0 -3499270,8fbe0040 -3499274,8fb7003c -3499278,8fb60038 -349927c,8fb50034 -3499280,8fb40030 -3499284,8fb3002c -3499288,8fb20028 -349928c,8fb10024 -3499290,8fb00020 -3499294,3e00008 -3499298,27bd0048 -349929c,27bdffe8 -34992a0,afbf0014 -34992a4,c107e86 -34992ac,c104978 -34992b4,c107897 -34992bc,c103ffa -34992c4,c103fef -34992cc,c106bf0 -34992d4,c1079c6 -34992dc,8fbf0014 -34992e0,3e00008 -34992e4,27bd0018 -34992e8,27bdffe8 -34992ec,afbf0014 -34992f0,c10426d -34992f8,c10265b -3499300,c106918 -3499308,c104a06 -3499310,c1037ff -3499318,c106e82 -3499320,c107e63 -3499328,c10667b -3499330,8fbf0014 -3499334,3e00008 -3499338,27bd0018 -349933c,27bdffe8 -3499340,afbf0014 -3499344,afb00010 -3499348,3c02801c -349934c,84437020 -3499350,24020002 -3499354,1062001c -3499358,3c10801c -349935c,361084a0 -3499360,8e040000 -3499364,c102e52 -3499368,248402a8 -349936c,8e040000 -3499370,c107d1c -3499374,248402a8 -3499378,8e050000 -349937c,24a502a8 -3499380,c102e13 -3499384,2002025 -3499388,8e050000 -349938c,24a502a8 -3499390,c102d28 -3499394,2002025 -3499398,8e040000 -349939c,c10692a -34993a0,248402a8 -34993a4,8e040000 -34993a8,c104de9 -34993ac,248402a8 -34993b0,8e040000 -34993b4,c106ee4 -34993b8,248402a8 -34993bc,8e040000 -34993c0,c1020cf -34993c4,248402a8 -34993c8,c103f7c -34993d0,c107867 -34993d8,8fbf0014 -34993dc,8fb00010 -34993e0,3e00008 -34993e4,27bd0018 -34993e8,27bdffe0 -34993ec,afbf001c -34993f0,afb10018 -34993f4,afb00014 -34993f8,808025 -34993fc,c107eab -3499400,a08825 -3499404,2202825 -3499408,c027368 -349940c,2002025 -3499410,8fbf001c -3499414,8fb10018 -3499418,8fb00014 -349941c,3e00008 -3499420,27bd0020 -3499424,27bdffe8 -3499428,afbf0014 -349942c,c103f55 -3499434,c107e5e -349943c,c106c03 -3499444,c1037f9 -349944c,c106a9b -3499454,c104388 -349945c,c1077b6 -3499464,8fbf0014 -3499468,3e00008 -349946c,27bd0018 -3499470,3c02801c -3499474,344284a0 -3499478,3c030001 -349947c,431021 -3499480,84430988 -3499484,14600022 -3499488,3c02801c -349948c,344284a0 -3499490,3c030001 -3499494,431021 -3499498,84420992 -349949c,14400014 -34994a0,21840 -34994a4,3c028011 -34994a8,3442a5d0 -34994ac,8c420004 -34994b0,14400009 -34994b4,3c028011 -34994b8,3442a5d0 -34994bc,8c4300a0 -34994c0,3c020001 -34994c4,3442c007 -34994c8,621824 -34994cc,14600026 -34994d0,24020001 -34994d4,3c028011 -34994d8,3442a5d0 -34994dc,8c4200a0 -34994e0,21382 -34994e4,30420007 -34994e8,3e00008 -34994ec,2102b -34994f0,621821 -34994f4,3c028011 -34994f8,3442a5d0 -34994fc,8c4200a0 -3499500,621006 -3499504,30420007 -3499508,3e00008 -349950c,2102b -3499510,344284a0 -3499514,3c040001 -3499518,441021 -349951c,84440992 -3499520,1480000a -3499524,3c028011 -3499528,24020003 -349952c,14620007 -3499530,3c028011 -3499534,3442a5d0 -3499538,8c42009c -349953c,3c03000c -3499540,431024 -3499544,3e00008 -3499548,2102b -349954c,3442a5d0 -3499550,9442009c -3499554,42080 -3499558,2463ffff -349955c,832021 -3499560,821007 -3499564,30420001 -3499568,3e00008 -3499570,27bdffd8 -3499574,afbf0024 -3499578,afb30020 -349957c,afb2001c -3499580,afb10018 -3499584,afb00014 -3499588,c08825 -349958c,93a2003b -3499590,8cc30000 -3499594,8cf20000 -3499598,24730001 -349959c,833021 -34995a0,3c030001 -34995a4,661821 -34995a8,a062e306 -34995ac,24030020 -34995b0,1043000a -34995b4,e08025 -34995b8,a04025 -34995bc,2442ffe0 -34995c0,3246ffff -34995c4,304500ff -34995c8,3c028005 -34995cc,3442bce4 -34995d0,40f809 -34995d4,1002025 -34995d8,26520080 -34995dc,ae330000 -34995e0,ae120000 -34995e4,8fbf0024 -34995e8,8fb30020 -34995ec,8fb2001c -34995f0,8fb10018 -34995f4,8fb00014 -34995f8,3e00008 -34995fc,27bd0028 -3499600,27bdffb8 -3499604,afbf0044 -3499608,afb50040 -349960c,afb4003c -3499610,afb30038 -3499614,afb20034 -3499618,afb10030 -349961c,afb0002c -3499620,808025 -3499624,a08825 -3499628,c09025 -349962c,e09825 -3499630,8fa50058 -3499634,1825 -3499638,3c07cccc -349963c,34e7cccd -3499640,27a20018 -3499644,433021 -3499648,a70019 -349964c,2010 -3499650,420c2 -3499654,41080 -3499658,441021 -349965c,21040 -3499660,a21023 -3499664,a0c20000 -3499668,a01025 -349966c,802825 -3499670,602025 -3499674,24630001 -3499678,2c42000a -349967c,1040fff0 -3499680,306300ff -3499684,10600011 -3499688,3a3a021 -349968c,26940017 -3499690,27a20016 -3499694,43a821 -3499698,2a4a823 -349969c,92820000 -34996a0,24420030 -34996a4,304200ff -34996a8,afa20010 -34996ac,2603825 -34996b0,2403025 -34996b4,2202825 -34996b8,c10655c -34996bc,2002025 -34996c0,2694ffff -34996c4,5695fff6 -34996c8,92820000 -34996cc,8fbf0044 -34996d0,8fb50040 -34996d4,8fb4003c -34996d8,8fb30038 -34996dc,8fb20034 -34996e0,8fb10030 -34996e4,8fb0002c -34996e8,3e00008 -34996ec,27bd0048 -34996f0,27bdffd0 -34996f4,afbf002c -34996f8,afb40028 -34996fc,afb30024 -3499700,afb20020 -3499704,afb1001c -3499708,afb00018 -349970c,80a025 -3499710,a09825 -3499714,c09025 -3499718,8fb00040 -349971c,82020000 -3499720,1040000c -3499724,e08825 -3499728,304200ff -349972c,afa20010 -3499730,2203825 -3499734,2403025 -3499738,2602825 -349973c,c10655c -3499740,2802025 -3499744,26100001 -3499748,82020000 -349974c,5440fff7 -3499750,304200ff -3499754,8fbf002c -3499758,8fb40028 -349975c,8fb30024 -3499760,8fb20020 -3499764,8fb1001c -3499768,8fb00018 -349976c,3e00008 -3499770,27bd0030 -3499774,27bdffc0 -3499778,afbf003c -349977c,afb70038 -3499780,afb60034 -3499784,afb50030 -3499788,afb4002c -349978c,afb30028 -3499790,afb20024 -3499794,afb10020 -3499798,afb0001c -349979c,809825 -34997a0,a0a025 -34997a4,c0a825 -34997a8,8fb20050 -34997ac,92430007 -34997b0,240200df -34997b4,1462000c -34997b8,e0b025 -34997bc,24100008 -34997c0,240300df -34997c4,2610ffff -34997c8,2501021 -34997cc,9042ffff -34997d0,5043fffd -34997d4,2610ffff -34997d8,1e000005 -34997dc,8825 -34997e0,10000014 -34997e4,8fbf003c -34997e8,24100008 -34997ec,8825 -34997f0,3c178042 -34997f4,26f77754 -34997f8,2511021 -34997fc,90420000 -3499800,571021 -3499804,90420000 -3499808,afa20010 -349980c,2c03825 -3499810,2a03025 -3499814,2802825 -3499818,c10655c -349981c,2602025 -3499820,26310001 -3499824,230102a -3499828,1440fff4 -349982c,2511021 -3499830,8fbf003c -3499834,8fb70038 -3499838,8fb60034 -349983c,8fb50030 -3499840,8fb4002c -3499844,8fb30028 -3499848,8fb20024 -349984c,8fb10020 -3499850,8fb0001c -3499854,3e00008 -3499858,27bd0040 -349985c,27bdffe0 -3499860,afbf001c -3499864,afb00018 -3499868,a08025 -349986c,240200f1 -3499870,1082001e -3499874,c03825 -3499878,240200f2 -349987c,10820036 -3499880,240300f0 -3499884,14830044 -3499888,1025 -349988c,3c04801c -3499890,3484a578 -3499894,3c030001 -3499898,831821 -349989c,9462e3ce -34998a0,24420001 -34998a4,3042ffff -34998a8,a462e3ce -34998ac,3c03801e -34998b0,621021 -34998b4,90428328 -34998b8,3c038043 -34998bc,24631088 -34998c0,431021 -34998c4,90420000 -34998c8,afa20010 -34998cc,a03025 -34998d0,c106580 -34998d4,24850128 -34998d8,8e020000 -34998dc,2442ffff -34998e0,ae020000 -34998e4,1000002c -34998e8,24020001 -34998ec,3c04801c -34998f0,3484a578 -34998f4,3c030001 -34998f8,831821 -34998fc,9462e3ce -3499900,24420001 -3499904,3042ffff -3499908,a462e3ce -349990c,3c03801e -3499910,621021 -3499914,90428328 -3499918,218c0 -349991c,621823 -3499920,31880 -3499924,3c028011 -3499928,3442a5d0 -349992c,431021 -3499930,904200e5 -3499934,afa20010 -3499938,a03025 -349993c,c106580 -3499940,24850128 -3499944,8e020000 -3499948,2442ffff -349994c,ae020000 -3499950,10000011 -3499954,24020001 -3499958,3c028040 -349995c,90430025 -3499960,318c0 -3499964,3c028040 -3499968,24420034 -349996c,431021 -3499970,afa20010 -3499974,a03025 -3499978,3c05801c -349997c,34a5a6a0 -3499980,c1065dd -3499984,24a4fed8 -3499988,8e020000 -349998c,2442ffff -3499990,ae020000 -3499994,24020001 -3499998,8fbf001c -349999c,8fb00018 -34999a0,3e00008 -34999a4,27bd0020 -34999a8,3c028011 -34999ac,3442a5d0 -34999b0,8c420004 -34999b4,1440000b -34999b8,3c028011 -34999bc,3442a5d0 -34999c0,90430077 -34999c4,240200ff -34999c8,14620006 -34999cc,3c028043 -34999d0,90420fa3 -34999d4,14400003 -34999d8,3c028043 -34999dc,24030001 -34999e0,a0430fa3 -34999e4,3e00008 -34999ec,3c028043 -34999f0,90430fa3 -34999f4,24020001 -34999f8,14620016 -34999fc,3c04801c -3499a00,27bdffe8 -3499a04,afbf0014 -3499a08,3c02800d -3499a0c,3442d464 -3499a10,40f809 -3499a14,3484a578 -3499a18,1440000c -3499a1c,8fbf0014 -3499a20,3025 -3499a24,2405045c -3499a28,3c04801c -3499a2c,3c02800d -3499a30,3442ce14 -3499a34,40f809 -3499a38,348484a0 -3499a3c,3c028043 -3499a40,2403ffff -3499a44,a0430fa3 -3499a48,8fbf0014 -3499a4c,3e00008 -3499a50,27bd0018 -3499a54,3e00008 -3499a5c,27bdffe0 -3499a60,afbf001c -3499a64,3c028040 -3499a68,90420c83 -3499a6c,10400010 -3499a70,3c028040 -3499a74,2406000c -3499a78,3c028043 -3499a7c,8c450fa4 -3499a80,c1073ce -3499a84,27a40010 -3499a88,3c028011 -3499a8c,97a30010 -3499a90,a4435dd2 -3499a94,93a30012 -3499a98,a0435dd4 -3499a9c,97a30010 -3499aa0,a4435dda -3499aa4,93a30012 -3499aa8,a0435ddc -3499aac,3c028040 -3499ab0,90420c84 -3499ab4,10400010 -3499ab8,8fbf001c -3499abc,2406000a -3499ac0,3c028043 -3499ac4,8c450fa4 -3499ac8,c1073ce -3499acc,27a40010 -3499ad0,3c028011 -3499ad4,97a30010 -3499ad8,a4435dce -3499adc,93a30012 -3499ae0,a0435dd0 -3499ae4,97a30010 -3499ae8,a4435dd6 -3499aec,93a30012 -3499af0,a0435dd8 -3499af4,8fbf001c -3499af8,3e00008 -3499afc,27bd0020 -3499b00,3c02801d -3499b04,3442aa30 -3499b08,8c420678 -3499b0c,10400063 -3499b14,8c430130 -3499b18,10600060 -3499b20,8c4201c8 -3499b24,2c43001f -3499b28,1060005c -3499b30,27bdffd8 -3499b34,afbf0024 -3499b38,afb10020 -3499b3c,afb0001c -3499b40,280c0 -3499b44,2028023 -3499b48,108080 -3499b4c,2028023 -3499b50,108100 -3499b54,3c028011 -3499b58,2028021 -3499b5c,3c028040 -3499b60,90420c85 -3499b64,10400018 -3499b68,2610572c -3499b6c,3c118043 -3499b70,24060006 -3499b74,8e250fa4 -3499b78,c1073ce -3499b7c,27a40010 -3499b80,93a20010 -3499b84,a2020192 -3499b88,93a20011 -3499b8c,a2020193 -3499b90,93a20012 -3499b94,a2020194 -3499b98,8e250fa4 -3499b9c,24060006 -3499ba0,24a5000c -3499ba4,c1073ce -3499ba8,27a40010 -3499bac,93a20010 -3499bb0,a202019a -3499bb4,93a20011 -3499bb8,a202019b -3499bbc,93a20012 -3499bc0,1000000c -3499bc4,a202019c -3499bc8,3c028040 -3499bcc,90440c76 -3499bd0,a2040192 -3499bd4,24420c76 -3499bd8,90430001 -3499bdc,a2030193 -3499be0,90420002 -3499be4,a2020194 -3499be8,a204019a -3499bec,a203019b -3499bf0,a202019c -3499bf4,3c028040 -3499bf8,90420c86 -3499bfc,10400018 -3499c00,3c028040 -3499c04,3c118043 -3499c08,24060005 -3499c0c,8e250fa4 -3499c10,c1073ce -3499c14,27a40010 -3499c18,93a20010 -3499c1c,a2020196 -3499c20,93a20011 -3499c24,a2020197 -3499c28,93a20012 -3499c2c,a2020198 -3499c30,8e250fa4 -3499c34,24060005 -3499c38,24a5000a -3499c3c,c1073ce -3499c40,27a40010 -3499c44,93a20010 -3499c48,a202019e -3499c4c,93a20011 -3499c50,a202019f -3499c54,93a20012 -3499c58,1000000b -3499c5c,a20201a0 -3499c60,90440c79 -3499c64,a2040196 -3499c68,24420c79 -3499c6c,90430001 -3499c70,a2030197 -3499c74,90420002 -3499c78,a2020198 -3499c7c,a204019e -3499c80,a203019f -3499c84,a20201a0 -3499c88,8fbf0024 -3499c8c,8fb10020 -3499c90,8fb0001c -3499c94,3e00008 -3499c98,27bd0028 -3499c9c,3e00008 -3499ca4,27bdffd0 -3499ca8,afbf002c -3499cac,afb20028 -3499cb0,afb10024 -3499cb4,afb00020 -3499cb8,3c028040 -3499cbc,90430c7c -3499cc0,240200fa -3499cc4,14620008 -3499cc8,24100001 -3499ccc,3c028040 -3499cd0,24420c7c -3499cd4,90500001 -3499cd8,90420002 -3499cdc,2028025 -3499ce0,321000ff -3499ce4,10802b -3499ce8,3c028040 -3499cec,90430c7f -3499cf0,240200fa -3499cf4,14620008 -3499cf8,24110001 -3499cfc,3c028040 -3499d00,24420c7f -3499d04,90510001 -3499d08,90420002 -3499d0c,2228825 -3499d10,323100ff -3499d14,11882b -3499d18,3c128043 -3499d1c,24060009 -3499d20,8e450fa4 -3499d24,c1073ce -3499d28,27a40010 -3499d2c,8e450fa4 -3499d30,24060009 -3499d34,24a50012 -3499d38,c1073ce -3499d3c,27a40014 -3499d40,24060007 -3499d44,8e450fa4 -3499d48,c1073ce -3499d4c,27a40018 -3499d50,8e450fa4 -3499d54,24060007 -3499d58,24a5000e -3499d5c,c1073ce -3499d60,27a4001c -3499d64,3c02801c -3499d68,344284a0 -3499d6c,8c421c4c -3499d70,10400064 -3499d74,8fbf002c -3499d78,240500da -3499d7c,3c068011 -3499d80,24c65c3c -3499d84,3c088040 -3499d88,3c078040 -3499d8c,3c0a8040 -3499d90,254c0c7f -3499d94,3c098040 -3499d98,252b0c7c -3499d9c,8c430130 -3499da0,50600055 -3499da4,8c420124 -3499da8,84430000 -3499dac,54650052 -3499db0,8c420124 -3499db4,8c43016c -3499db8,320c0 -3499dbc,832023 -3499dc0,42080 -3499dc4,832023 -3499dc8,42100 -3499dcc,2484faf0 -3499dd0,862021 -3499dd4,8c4d0170 -3499dd8,d18c0 -3499ddc,6d1823 -3499de0,31880 -3499de4,6d1823 -3499de8,31900 -3499dec,2463faf0 -3499df0,910d0c87 -3499df4,11a0000e -3499df8,661821 -3499dfc,97ae0010 -3499e00,a48e0192 -3499e04,93ad0012 -3499e08,a08d0194 -3499e0c,a46e0192 -3499e10,a06d0194 -3499e14,97ae0014 -3499e18,a48e019a -3499e1c,93ad0016 -3499e20,a08d019c -3499e24,a46e019a -3499e28,10000012 -3499e2c,a06d019c -3499e30,12000011 -3499e34,90ed0c88 -3499e38,912f0c7c -3499e3c,a08f0192 -3499e40,916e0001 -3499e44,a08e0193 -3499e48,916d0002 -3499e4c,a08d0194 -3499e50,a06f0192 -3499e54,a06e0193 -3499e58,a06d0194 -3499e5c,a08f019a -3499e60,a08e019b -3499e64,a08d019c -3499e68,a06f019a -3499e6c,a06e019b -3499e70,a06d019c -3499e74,90ed0c88 -3499e78,11a0000d -3499e7c,97ae0018 -3499e80,a48e0196 -3499e84,93ad001a -3499e88,a08d0198 -3499e8c,a46e0196 -3499e90,a06d0198 -3499e94,97ae001c -3499e98,a48e019e -3499e9c,93ad001e -3499ea0,a08d01a0 -3499ea4,a46e019e -3499ea8,10000012 -3499eac,a06d01a0 -3499eb0,52200011 -3499eb4,8c420124 -3499eb8,914f0c7f -3499ebc,a08f0196 -3499ec0,918e0001 -3499ec4,a08e0197 -3499ec8,918d0002 -3499ecc,a08d0198 -3499ed0,a06f0196 -3499ed4,a06e0197 -3499ed8,a06d0198 -3499edc,a08f019e -3499ee0,a08e019f -3499ee4,a08d01a0 -3499ee8,a06f019e -3499eec,a06e019f -3499ef0,a06d01a0 -3499ef4,8c420124 -3499ef8,5440ffa9 -3499efc,8c430130 -3499f00,8fbf002c -3499f04,8fb20028 -3499f08,8fb10024 -3499f0c,8fb00020 -3499f10,3e00008 -3499f14,27bd0030 -3499f18,27bdffd8 -3499f1c,afbf001c -3499f20,f7b40020 -3499f24,3c028040 -3499f28,90420c87 -3499f2c,1040000a -3499f30,46006506 -3499f34,24060009 -3499f38,3c028043 -3499f3c,8c450fa4 -3499f40,c1073ce -3499f44,27a40010 -3499f48,93a20010 -3499f4c,93a30011 -3499f50,10000006 -3499f54,93a40012 -3499f58,3c048040 -3499f5c,90820c7c -3499f60,24840c7c -3499f64,90830001 -3499f68,90840002 -3499f6c,240500fa -3499f70,14450043 -3499f74,642825 -3499f78,14a00041 -3499f80,3c028042 -3499f84,c440ff4c -3499f88,4600a002 -3499f8c,3c028042 -3499f90,c442ff50 -3499f94,46020000 -3499f98,3c028042 -3499f9c,c442ff54 -3499fa0,4600103e -3499fa8,45030005 -3499fac,46020001 -3499fb0,4600000d -3499fb4,44020000 -3499fb8,10000006 -3499fbc,304200ff -3499fc0,4600000d -3499fc4,44020000 -3499fc8,3c038000 -3499fcc,431025 -3499fd0,304200ff -3499fd4,3c038042 -3499fd8,c460ff58 -3499fdc,4600a002 -3499fe0,3c038042 -3499fe4,c462ff50 -3499fe8,46020000 -3499fec,3c038042 -3499ff0,c462ff54 -3499ff4,4600103e -3499ffc,45030005 -349a000,46020001 -349a004,4600000d -349a008,44030000 -349a00c,10000006 -349a010,306300ff -349a014,4600000d -349a018,44030000 -349a01c,3c048000 -349a020,641825 -349a024,306300ff -349a028,3c048042 -349a02c,c480ff5c -349a030,4600a002 -349a034,3c048042 -349a038,c482ff60 -349a03c,46020000 -349a040,3c048042 -349a044,c482ff54 -349a048,4600103e -349a050,45030005 -349a054,46020001 -349a058,4600000d -349a05c,44040000 -349a060,10000040 -349a064,308400ff -349a068,4600000d -349a06c,44040000 -349a070,3c058000 -349a074,852025 -349a078,1000003a -349a07c,308400ff -349a080,44820000 -349a088,46800020 -349a08c,46140002 -349a090,3c028042 -349a094,c442ff54 -349a098,4600103e -349a0a0,45030005 -349a0a4,46020001 -349a0a8,4600000d -349a0ac,44020000 -349a0b0,10000006 -349a0b4,304200ff -349a0b8,4600000d -349a0bc,44020000 -349a0c0,3c058000 -349a0c4,451025 -349a0c8,304200ff -349a0cc,44830000 -349a0d4,46800020 -349a0d8,46140002 -349a0dc,3c038042 -349a0e0,c462ff54 -349a0e4,4600103e -349a0ec,45030005 -349a0f0,46020001 -349a0f4,4600000d -349a0f8,44030000 -349a0fc,10000006 -349a100,306300ff -349a104,4600000d -349a108,44030000 -349a10c,3c058000 -349a110,651825 -349a114,306300ff -349a118,44840000 -349a120,46800020 -349a124,46140002 -349a128,3c048042 -349a12c,c482ff54 -349a130,4600103e -349a138,45030005 -349a13c,46020001 -349a140,4600000d -349a144,44040000 -349a148,10000006 -349a14c,308400ff -349a150,4600000d -349a154,44040000 -349a158,3c058000 -349a15c,852025 -349a160,308400ff -349a164,21600 -349a168,42200 -349a16c,441025 -349a170,31c00 -349a174,431025 -349a178,344200ff -349a17c,8fbf001c -349a180,d7b40020 -349a184,3e00008 -349a188,27bd0028 -349a18c,27bdffd8 -349a190,afbf0024 -349a194,afb20020 -349a198,afb1001c -349a19c,afb00018 -349a1a0,3c02801c -349a1a4,344284a0 -349a1a8,90421cda -349a1ac,24030004 -349a1b0,10430015 -349a1b4,2c430005 -349a1b8,50600006 -349a1bc,2442fffb -349a1c0,24030002 -349a1c4,50430008 -349a1c8,3c028040 -349a1cc,10000013 -349a1d0,3c028040 -349a1d4,304200fb -349a1d8,54400010 -349a1dc,3c028040 -349a1e0,10000005 -349a1e4,3c028040 -349a1e8,90500c89 -349a1ec,3c028040 -349a1f0,1000000d -349a1f4,90510c8a -349a1f8,90500c8b -349a1fc,3c028040 -349a200,10000009 -349a204,90510c8c -349a208,3c028040 -349a20c,90500c8d -349a210,3c028040 -349a214,10000004 -349a218,90510c8e -349a21c,90500c8f -349a220,3c028040 -349a224,90510c90 -349a228,2111025 -349a22c,1040005b -349a230,8fbf0024 -349a234,3c128043 -349a238,2406000e -349a23c,8e450fa4 -349a240,c1073ce -349a244,27a40010 -349a248,2406000c -349a24c,8e450fa4 -349a250,c1073ce -349a254,27a40014 -349a258,1200000a -349a25c,3c02801c -349a260,344284a0 -349a264,90431cda -349a268,318c0 -349a26c,3c02800f -349a270,431021 -349a274,97a30010 -349a278,a4438214 -349a27c,93a30012 -349a280,a0438216 -349a284,1220000a -349a288,3c02801c -349a28c,344284a0 -349a290,90431cda -349a294,318c0 -349a298,3c02800f -349a29c,431021 -349a2a0,97a30014 -349a2a4,a4438218 -349a2a8,93a30016 -349a2ac,a043821a -349a2b0,12000010 -349a2b4,3c02801d -349a2b8,3c02801c -349a2bc,344284a0 -349a2c0,97a30010 -349a2c4,a4431cf0 -349a2c8,93a30012 -349a2cc,a0431cf2 -349a2d0,97a30010 -349a2d4,a4431d04 -349a2d8,93a30012 -349a2dc,a0431d06 -349a2e0,97a30010 -349a2e4,a4431d18 -349a2e8,93a30012 -349a2ec,a0431d1a -349a2f0,3c02801d -349a2f4,3442aa30 -349a2f8,8c42067c -349a2fc,10400027 -349a300,8fbf0024 -349a304,8c430130 -349a308,10600025 -349a30c,8fb20020 -349a310,12000010 -349a314,24430234 -349a318,93a40010 -349a31c,44840000 -349a324,46800020 -349a328,e4400234 -349a32c,93a20011 -349a330,44820000 -349a338,46800020 -349a33c,e4600004 -349a340,93a20012 -349a344,44820000 -349a34c,46800020 -349a350,e4600008 -349a354,12200011 -349a358,8fbf0024 -349a35c,93a20014 -349a360,44820000 -349a368,46800020 -349a36c,e4600010 -349a370,93a20015 -349a374,44820000 -349a37c,46800020 -349a380,e4600014 -349a384,93a20016 -349a388,44820000 -349a390,46800020 -349a394,e4600018 -349a398,8fbf0024 -349a39c,8fb20020 -349a3a0,8fb1001c -349a3a4,8fb00018 -349a3a8,3e00008 -349a3ac,27bd0028 -349a3b0,27bdffe0 -349a3b4,afbf001c -349a3b8,24060014 -349a3bc,3c028043 -349a3c0,8c450fa4 -349a3c4,c1073ce -349a3c8,27a40010 -349a3cc,3c028040 -349a3d0,90420c96 -349a3d4,30430001 -349a3d8,1060000a -349a3dc,30430002 -349a3e0,3c038040 -349a3e4,93a40010 -349a3e8,a0640c97 -349a3ec,24630c97 -349a3f0,93a40011 -349a3f4,a0640001 -349a3f8,93a40012 -349a3fc,a0640002 -349a400,30430002 -349a404,10600009 -349a408,30420004 -349a40c,3c038040 -349a410,24630c97 -349a414,93a40010 -349a418,a0640003 -349a41c,93a40011 -349a420,a0640004 -349a424,93a40012 -349a428,a0640005 -349a42c,1040000a -349a430,8fbf001c -349a434,3c028040 -349a438,24420c97 -349a43c,93a30010 -349a440,a0430006 -349a444,93a30011 -349a448,a0430007 -349a44c,93a30012 -349a450,a0430008 -349a454,8fbf001c -349a458,3e00008 -349a45c,27bd0020 -349a460,27bdffe8 -349a464,afbf0014 -349a468,3c038043 -349a46c,8c620fa4 -349a470,24420001 -349a474,c106697 -349a478,ac620fa4 -349a47c,c1066c0 -349a484,c106729 -349a48c,c106863 -349a494,c1068ec -349a49c,8fbf0014 -349a4a0,3e00008 -349a4a4,27bd0018 -349a4a8,27bdff78 -349a4ac,afbf0084 -349a4b0,afbe0080 -349a4b4,afb1007c -349a4b8,afb00078 -349a4bc,3a0f025 -349a4c0,3c028043 -349a4c4,94420fac -349a4c8,10400043 -349a4cc,3a08825 -349a4d0,3c02801c -349a4d4,344284a0 -349a4d8,3c030001 -349a4dc,431021 -349a4e0,94430934 -349a4e4,24020006 -349a4e8,1462003b -349a4ec,808025 -349a4f0,c106ee0 -349a4f8,10400008 -349a4fc,3c028043 -349a500,3c02801c -349a504,344284a0 -349a508,3c030001 -349a50c,431021 -349a510,94420948 -349a514,14400030 -349a518,3c028043 -349a51c,90420fa8 -349a520,5440002f -349a524,3c028042 -349a528,10000046 -349a52c,3c028042 -349a530,8e020008 -349a534,24430008 -349a538,ae030008 -349a53c,3c03de00 -349a540,ac430000 -349a544,3c038042 -349a548,24633f08 -349a54c,ac430004 -349a550,8e020008 -349a554,24430008 -349a558,ae030008 -349a55c,3c03e700 -349a560,ac430000 -349a564,ac400004 -349a568,8e020008 -349a56c,24430008 -349a570,ae030008 -349a574,3c03fc11 -349a578,34639623 -349a57c,ac430000 -349a580,3c03ff2f -349a584,3463ffff -349a588,ac430004 -349a58c,8e020008 -349a590,24430008 -349a594,ae030008 -349a598,3c03fa00 -349a59c,ac430000 -349a5a0,3c03d716 -349a5a4,24630dff -349a5a8,ac430004 -349a5ac,24070005 -349a5b0,c1078a2 -349a5b4,24060009 -349a5b8,afa00010 -349a5bc,3825 -349a5c0,2406000a -349a5c4,24050005 -349a5c8,c1078d4 -349a5cc,2002025 -349a5d0,10000033 -349a5d4,220e825 -349a5d8,10000031 -349a5dc,220e825 -349a5e0,2442ff64 -349a5e4,27c30018 -349a5e8,24480020 -349a5ec,8c470000 -349a5f0,8c460004 -349a5f4,8c450008 -349a5f8,8c44000c -349a5fc,ac670000 -349a600,ac660004 -349a604,ac650008 -349a608,ac64000c -349a60c,24420010 -349a610,1448fff6 -349a614,24630010 -349a618,8c460000 -349a61c,8c450004 -349a620,8c440008 -349a624,ac660000 -349a628,ac650004 -349a62c,ac640008 -349a630,9442000c -349a634,a462000c -349a638,27c40018 -349a63c,1000ffbc -349a640,24050030 -349a644,2442ff94 -349a648,27c30048 -349a64c,24480020 -349a650,8c470000 -349a654,8c460004 -349a658,8c450008 -349a65c,8c44000c -349a660,ac670000 -349a664,ac660004 -349a668,ac650008 -349a66c,ac64000c -349a670,24420010 -349a674,1448fff6 -349a678,24630010 -349a67c,8c450000 -349a680,8c440004 -349a684,ac650000 -349a688,ac640004 -349a68c,94420008 -349a690,a4620008 -349a694,27c40048 -349a698,1000ffa5 -349a69c,2405003a -349a6a0,3c0e825 -349a6a4,8fbf0084 -349a6a8,8fbe0080 -349a6ac,8fb1007c -349a6b0,8fb00078 -349a6b4,3e00008 -349a6b8,27bd0088 -349a6bc,27bdffb0 -349a6c0,801025 -349a6c4,3025 -349a6c8,3c07801c -349a6cc,34e784a0 -349a6d0,3c080001 -349a6d4,24040014 -349a6d8,240d0015 -349a6dc,240e0013 -349a6e0,61900 -349a6e4,661821 -349a6e8,31880 -349a6ec,e31821 -349a6f0,1031821 -349a6f4,246517b0 -349a6f8,afbd0048 -349a6fc,246317f0 -349a700,8cac0000 -349a704,8cab0004 -349a708,8caa0008 -349a70c,8ca9000c -349a710,8faf0048 -349a714,adec0000 -349a718,8fac0048 -349a71c,ad8b0004 -349a720,8fab0048 -349a724,ad6a0008 -349a728,8faa0048 -349a72c,ad49000c -349a730,24a50010 -349a734,8fa90048 -349a738,25290010 -349a73c,14a3fff0 -349a740,afa90048 -349a744,8ca30000 -349a748,ad230000 -349a74c,61900 -349a750,661821 -349a754,31880 -349a758,e31821 -349a75c,1031821 -349a760,846317b0 -349a764,50640008 -349a768,a7a30000 -349a76c,106d0005 -349a770,24c60001 -349a774,14ceffdb -349a778,61900 -349a77c,10000016 -349a780,3c05801c -349a784,a7a30000 -349a788,afbd0048 -349a78c,401825 -349a790,27a80040 -349a794,8fa40048 -349a798,8c870000 -349a79c,8c860004 -349a7a0,8c850008 -349a7a4,8c84000c -349a7a8,ac670000 -349a7ac,ac660004 -349a7b0,ac650008 -349a7b4,ac64000c -349a7b8,8fa40048 -349a7bc,24840010 -349a7c0,afa40048 -349a7c4,1488fff3 -349a7c8,24630010 -349a7cc,8c840000 -349a7d0,10000014 -349a7d4,ac640000 -349a7d8,34a584a0 -349a7dc,3c030001 -349a7e0,a32821 -349a7e4,24a317b0 -349a7e8,402025 -349a7ec,24a517f0 -349a7f0,8c690000 -349a7f4,8c680004 -349a7f8,8c670008 -349a7fc,8c66000c -349a800,ac890000 -349a804,ac880004 -349a808,ac870008 -349a80c,ac86000c -349a810,24630010 -349a814,1465fff6 -349a818,24840010 -349a81c,8c630000 -349a820,ac830000 -349a824,3e00008 -349a828,27bd0050 -349a82c,afa40000 -349a830,afa50004 -349a834,afa60008 -349a838,afa7000c -349a83c,8fa20044 -349a840,18400013 -349a844,1825 -349a848,3825 -349a84c,3c088042 -349a850,2508ffc8 -349a854,24090010 -349a858,a33021 -349a85c,1072021 -349a860,80c60000 -349a864,80840000 -349a868,54c40006 -349a86c,3825 -349a870,24e70001 -349a874,54e90004 -349a878,24630001 -349a87c,3e00008 -349a880,601025 -349a884,24630001 -349a888,1443fff4 -349a88c,a33021 -349a890,3e00008 -349a898,3e00008 -349a8a0,afa40000 -349a8a4,afa50004 -349a8a8,afa60008 -349a8ac,afa7000c -349a8b0,8faa0044 -349a8b4,19400030 -349a8b8,2546ffff -349a8bc,2402fffc -349a8c0,c23024 -349a8c4,24a20004 -349a8c8,c23021 -349a8cc,a01825 -349a8d0,24040006 -349a8d4,3c0900ff -349a8d8,3529ffff -349a8dc,240cfffb -349a8e0,24020004 -349a8e4,455823 -349a8e8,80620000 -349a8ec,5444001e -349a8f0,24630004 -349a8f4,8c620000 -349a8f8,491024 -349a8fc,4a402a -349a900,51000019 -349a904,24630004 -349a908,8c68fffc -349a90c,1094024 -349a910,481023 -349a914,2442fff4 -349a918,4c1024 -349a91c,54400012 -349a920,24630004 -349a924,80670004 -349a928,14e40009 -349a92c,1631021 -349a930,24080001 -349a934,24420004 -349a938,a23821 -349a93c,80e70000 -349a940,10e4fffc -349a944,25080001 -349a948,10000003 -349a94c,30e700ff -349a950,24080001 -349a954,30e700ff -349a958,14e80003 -349a95c,24630004 -349a960,3e00008 -349a964,2442fffc -349a968,5466ffe0 -349a96c,80620000 -349a970,3e00008 -349a974,2402ffff -349a978,3e00008 -349a97c,2402ffff -349a980,afa40000 -349a984,afa50004 -349a988,afa60008 -349a98c,afa7000c -349a990,8fa20044 -349a994,a21021 -349a998,8c420000 -349a99c,3c0300ff -349a9a0,3463ffff -349a9a4,431024 -349a9a8,a21021 -349a9ac,8c420000 -349a9b0,431024 -349a9b4,24420010 -349a9b8,a22821 -349a9bc,8fa20048 -349a9c0,2442000c -349a9c4,24030001 -349a9c8,24040002 -349a9cc,240d0002 -349a9d0,240e0009 -349a9d4,240f0006 -349a9d8,94a90002 -349a9dc,94ab0004 -349a9e0,8c480004 -349a9e4,94a70000 -349a9e8,8c460000 -349a9ec,14e60017 -349a9f0,8c4a0008 -349a9f4,15280017 -349a9fc,156a0017 -349aa04,506d000d -349aa08,24a50010 -349aa0c,506e000b -349aa10,24a50010 -349aa14,90a60008 -349aa18,50cf0006 -349aa1c,28860015 -349aa20,3c028043 -349aa24,24030001 -349aa28,a0430fa8 -349aa2c,3e00008 -349aa30,1025 -349aa34,10c0000b -349aa38,24a50010 -349aa3c,2442000c -349aa40,24840001 -349aa44,1000ffe4 -349aa48,24630001 -349aa4c,3e00008 -349aa50,1025 -349aa54,3e00008 -349aa58,1025 -349aa5c,3e00008 -349aa60,1025 -349aa64,3e00008 -349aa68,24020001 -349aa6c,3c028043 -349aa70,94420fac -349aa74,14400089 -349aa78,3c028043 -349aa7c,27bdff58 -349aa80,afbf00a4 -349aa84,afb100a0 -349aa88,afb0009c -349aa8c,90420faa -349aa90,1040006d -349aa94,3c028043 -349aa98,90420fa9 -349aa9c,10400072 -349aaa0,8fbf00a4 -349aaa4,1000007a -349aaa8,8fb100a0 -349aaac,16020077 -349aab0,8fbf00a4 -349aab4,3c028043 -349aab8,90420fa9 -349aabc,54400074 -349aac0,8fb100a0 -349aac4,3c118042 -349aac8,10000004 -349aacc,26317854 -349aad0,10000002 -349aad4,26317950 -349aad8,26317854 -349aadc,1010c0 -349aae0,3c03800f -349aae4,34638ff8 -349aae8,431021 -349aaec,8c430004 -349aaf0,8c420000 -349aaf4,621023 -349aaf8,afa20044 -349aafc,27a20060 -349ab00,27a30010 -349ab04,27a80090 -349ab08,8c470000 -349ab0c,8c460004 -349ab10,8c450008 -349ab14,8c44000c -349ab18,ac670000 -349ab1c,ac660004 -349ab20,ac650008 -349ab24,ac64000c -349ab28,24420010 -349ab2c,1448fff6 -349ab30,24630010 -349ab34,8c420000 -349ab38,ac620000 -349ab3c,8fa40050 -349ab40,8fa50054 -349ab44,8fa60058 -349ab48,c106a0b -349ab4c,8fa7005c -349ab50,afa20044 -349ab54,27a20060 -349ab58,27a30010 -349ab5c,27a80090 -349ab60,8c470000 -349ab64,8c460004 -349ab68,8c450008 -349ab6c,8c44000c -349ab70,ac670000 -349ab74,ac660004 -349ab78,ac650008 -349ab7c,ac64000c -349ab80,24420010 -349ab84,1448fff6 -349ab88,24630010 -349ab8c,8c420000 -349ab90,ac620000 -349ab94,8fa40050 -349ab98,8fa50054 -349ab9c,8fa60058 -349aba0,c106a28 -349aba4,8fa7005c -349aba8,2403ffff -349abac,10430036 -349abb0,27a30010 -349abb4,afb10048 -349abb8,afa20044 -349abbc,27a20060 -349abc0,27a80090 -349abc4,8c470000 -349abc8,8c460004 -349abcc,8c450008 -349abd0,8c44000c -349abd4,ac670000 -349abd8,ac660004 -349abdc,ac650008 -349abe0,ac64000c -349abe4,24420010 -349abe8,1448fff6 -349abec,24630010 -349abf0,8c420000 -349abf4,ac620000 -349abf8,8fa40050 -349abfc,8fa50054 -349ac00,8fa60058 -349ac04,c106a60 -349ac08,8fa7005c -349ac0c,14400005 -349ac10,24020014 -349ac14,3c028043 -349ac18,24030001 -349ac1c,1000001a -349ac20,a4430fac -349ac24,16020005 -349ac28,3c028043 -349ac2c,3c028043 -349ac30,24030001 -349ac34,10000014 -349ac38,a0430faa -349ac3c,24030001 -349ac40,10000011 -349ac44,a0430fa9 -349ac48,c1069af -349ac4c,27a40050 -349ac50,87b00050 -349ac54,24020014 -349ac58,1602ff94 -349ac5c,24020015 -349ac60,1000ff9b -349ac64,3c118042 -349ac68,c1069af -349ac6c,27a40050 -349ac70,87b00050 -349ac74,24020014 -349ac78,12020003 -349ac7c,24020015 -349ac80,1202ff95 -349ac84,3c118042 -349ac88,8fbf00a4 -349ac8c,8fb100a0 -349ac90,8fb0009c +3498e80,3c030023 +3498e84,24630405 +3498e88,ac430004 +3498e8c,8e0202d0 +3498e90,24430008 +3498e94,ae0302d0 +3498e98,3c03d9fe +3498e9c,3463fbff +3498ea0,ac430000 +3498ea4,ac400004 +3498ea8,8e0202d0 +3498eac,24430008 +3498eb0,ae0302d0 +3498eb4,3c03d9ff +3498eb8,3463ffff +3498ebc,ac430000 +3498ec0,3c03000e +3498ec4,ac430004 +3498ec8,3c058043 +3498ecc,1210c0 +3498ed0,521021 +3498ed4,21080 +3498ed8,24a59758 +3498edc,a22821 +3498ee0,8ca30004 +3498ee4,8e0202d0 +3498ee8,24440008 +3498eec,ae0402d0 +3498ef0,3c04de00 +3498ef4,ac440000 +3498ef8,26310038 +3498efc,220f809 +3498f00,ac430004 +3498f04,8fbf0044 +3498f08,8fb30040 +3498f0c,8fb2003c +3498f10,8fb10038 +3498f14,8fb00034 +3498f18,3e00008 +3498f1c,27bd0048 +3498f20,27bdffa0 +3498f24,afbf005c +3498f28,afbe0058 +3498f2c,afb70054 +3498f30,afb60050 +3498f34,afb5004c +3498f38,afb40048 +3498f3c,afb30044 +3498f40,afb20040 +3498f44,afb1003c +3498f48,afb00038 +3498f4c,80b825 +3498f50,a0a825 +3498f54,8c900000 +3498f58,3c138007 +3498f5c,3673e298 +3498f60,260f809 +3498f64,2002025 +3498f68,3c11800a +3498f6c,3631b900 +3498f70,220f809 +3498f74,2002025 +3498f78,8e0302c0 +3498f7c,24640008 +3498f80,ae0402c0 +3498f84,3c16da38 +3498f88,26d60003 +3498f8c,ac760000 +3498f90,ac620004 +3498f94,3c028043 +3498f98,24429758 +3498f9c,15a0c0 +3498fa0,2959021 +3498fa4,129080 +3498fa8,afa20030 +3498fac,529021 +3498fb0,8e430004 +3498fb4,8e0202c0 +3498fb8,24440008 +3498fbc,ae0402c0 +3498fc0,3c1ede00 +3498fc4,ac5e0000 +3498fc8,ac430004 +3498fcc,26620028 +3498fd0,40f809 +3498fd4,2002025 +3498fd8,220f809 +3498fdc,2002025 +3498fe0,8e0302d0 +3498fe4,24640008 +3498fe8,ae0402d0 +3498fec,ac760000 +3498ff0,ac620004 +3498ff4,8e430008 +3498ff8,8e0202d0 +3498ffc,24440008 +3499000,ae0402d0 +3499004,ac5e0000 +3499008,ac430004 +349900c,8ee3009c +3499010,24050020 +3499014,afa50028 +3499018,24040010 +349901c,afa40024 +3499020,31080 +3499024,621023 +3499028,21040 +349902c,afa20020 +3499030,afa3001c +3499034,24020001 +3499038,afa20018 +349903c,afa50014 +3499040,afa40010 +3499044,267308ec +3499048,3825 +349904c,3025 +3499050,2825 +3499054,260f809 +3499058,2002025 +349905c,8e0302d0 +3499060,24640008 +3499064,ae0402d0 +3499068,3c04db06 +349906c,24840020 +3499070,ac640000 +3499074,ac620004 +3499078,2622edec +349907c,40f809 +3499080,295a021 +3499084,26220554 +3499088,3c040001 +349908c,24841da0 +3499090,40f809 +3499094,2e42021 +3499098,220f809 +349909c,2002025 +34990a0,8e0302d0 +34990a4,24640008 +34990a8,ae0402d0 +34990ac,ac760000 +34990b0,ac620004 +34990b4,8e430010 +34990b8,8e0202d0 +34990bc,24440008 +34990c0,ae0402d0 +34990c4,ac5e0000 +34990c8,ac430004 +34990cc,14a080 +34990d0,8fa20030 +34990d4,541021 +34990d8,8c43000c +34990dc,8e0202d0 +34990e0,24440008 +34990e4,ae0402d0 +34990e8,ac5e0000 +34990ec,2631ee24 +34990f0,220f809 +34990f4,ac430004 +34990f8,8fbf005c +34990fc,8fbe0058 +3499100,8fb70054 +3499104,8fb60050 +3499108,8fb5004c +349910c,8fb40048 +3499110,8fb30044 +3499114,8fb20040 +3499118,8fb1003c +349911c,8fb00038 +3499120,3e00008 +3499124,27bd0060 +3499128,27bdffd0 +349912c,afbf002c +3499130,afb50028 +3499134,afb40024 +3499138,afb30020 +349913c,afb2001c +3499140,afb10018 +3499144,afb00014 +3499148,a09025 +349914c,3c028043 +3499150,518c0 +3499154,651821 +3499158,31880 +349915c,24429758 +3499160,431021 +3499164,90500008 +3499168,90550009 +349916c,9053000a +3499170,9054000b +3499174,8c42000c +3499178,10400009 +349917c,8c910000 +3499180,3c028042 +3499184,c44c45c8 +3499188,24070001 +349918c,44066000 +3499190,3c02800a +3499194,3442a8fc +3499198,40f809 +349919c,46006386 +34991a0,3c028007 +34991a4,3442e2c0 +34991a8,40f809 +34991ac,2202025 +34991b0,3c02800a +34991b4,3442b900 +34991b8,40f809 +34991bc,2202025 +34991c0,8e2302d0 +34991c4,24640008 +34991c8,ae2402d0 +34991cc,3c04da38 +34991d0,24840003 +34991d4,ac640000 +34991d8,ac620004 +34991dc,8e2202d0 +34991e0,24430008 +34991e4,ae2302d0 +34991e8,3c03fb00 +34991ec,ac430000 +34991f0,108600 +34991f4,15ac00 +34991f8,2158025 +34991fc,2148025 +3499200,139a00 +3499204,2138025 +3499208,ac500004 +349920c,3c028043 +3499210,1218c0 +3499214,721821 +3499218,31880 +349921c,24429758 +3499220,431021 +3499224,8c430004 +3499228,8e2202d0 +349922c,24440008 +3499230,ae2402d0 +3499234,3c04de00 +3499238,ac440000 +349923c,ac430004 +3499240,8fbf002c +3499244,8fb50028 +3499248,8fb40024 +349924c,8fb30020 +3499250,8fb2001c +3499254,8fb10018 +3499258,8fb00014 +349925c,3e00008 +3499260,27bd0030 +3499264,27bdffb8 +3499268,afbf0044 +349926c,afbe0040 +3499270,afb7003c +3499274,afb60038 +3499278,afb50034 +349927c,afb40030 +3499280,afb3002c +3499284,afb20028 +3499288,afb10024 +349928c,afb00020 +3499290,a0a825 +3499294,8c900000 +3499298,3c138043 +349929c,26739758 +34992a0,5a0c0 +34992a4,2851021 +34992a8,21080 +34992ac,2621021 +34992b0,90520008 +34992b4,90570009 +34992b8,9056000a +34992bc,905e000b +34992c0,9051000c +34992c4,9043000d +34992c8,afa30018 +34992cc,9044000e +34992d0,afa40014 +34992d4,9042000f +34992d8,afa20010 +34992dc,3c028007 +34992e0,3442e298 +34992e4,40f809 +34992e8,2002025 +34992ec,3c02800a +34992f0,3442b900 +34992f4,40f809 +34992f8,2002025 +34992fc,8e0302c0 +3499300,24640008 +3499304,ae0402c0 +3499308,3c04da38 +349930c,24840003 +3499310,ac640000 +3499314,ac620004 +3499318,8e0202c0 +349931c,24430008 +3499320,ae0302c0 +3499324,3c03fc11 +3499328,3463fe23 +349932c,ac430000 +3499330,2403f7fb +3499334,ac430004 +3499338,8e0202c0 +349933c,24430008 +3499340,ae0302c0 +3499344,3c03fa00 +3499348,24630080 +349934c,ac430000 +3499350,129600 +3499354,17bc00 +3499358,2579025 +349935c,25e9025 +3499360,16b200 +3499364,2569025 +3499368,ac520004 +349936c,8e0202c0 +3499370,24430008 +3499374,ae0302c0 +3499378,3c03fb00 +349937c,ac430000 +3499380,118e00 +3499384,8fa30018 +3499388,31c00 +349938c,2238825 +3499390,8fa30010 +3499394,2238825 +3499398,8fa40014 +349939c,41a00 +34993a0,2238825 +34993a4,ac510004 +34993a8,295a021 +34993ac,14a080 +34993b0,2749821 +34993b4,8e630004 +34993b8,8e0202c0 +34993bc,24440008 +34993c0,ae0402c0 +34993c4,3c04de00 +34993c8,ac440000 +34993cc,ac430004 +34993d0,8fbf0044 +34993d4,8fbe0040 +34993d8,8fb7003c +34993dc,8fb60038 +34993e0,8fb50034 +34993e4,8fb40030 +34993e8,8fb3002c +34993ec,8fb20028 +34993f0,8fb10024 +34993f4,8fb00020 +34993f8,3e00008 +34993fc,27bd0048 +3499400,27bdffb8 +3499404,afbf0044 +3499408,afbe0040 +349940c,afb7003c +3499410,afb60038 +3499414,afb50034 +3499418,afb40030 +349941c,afb3002c +3499420,afb20028 +3499424,afb10024 +3499428,afb00020 +349942c,a0a825 +3499430,8c900000 +3499434,3c138043 +3499438,26739758 +349943c,5a0c0 +3499440,2851021 +3499444,21080 +3499448,2621021 +349944c,90510008 +3499450,90570009 +3499454,9056000a +3499458,905e000b +349945c,9043000c +3499460,afa3001c +3499464,9044000d +3499468,afa40018 +349946c,9045000e +3499470,afa50014 +3499474,9046000f +3499478,afa60010 +349947c,3c12800a +3499480,3652a7f4 +3499484,24070001 +3499488,3025 +349948c,3c028042 +3499490,44866000 +3499494,240f809 +3499498,c44e45cc +349949c,3c028042 +34994a0,c44c45d0 +34994a4,26420108 +34994a8,24070001 +34994ac,44066000 +34994b0,40f809 +34994b4,46006386 +34994b8,3c028007 +34994bc,3442e298 +34994c0,40f809 +34994c4,2002025 +34994c8,2652110c +34994cc,240f809 +34994d0,2002025 +34994d4,8e0302c0 +34994d8,24640008 +34994dc,ae0402c0 +34994e0,3c04da38 +34994e4,24840003 +34994e8,ac640000 +34994ec,ac620004 +34994f0,8e0202c0 +34994f4,24430008 +34994f8,ae0302c0 +34994fc,3c03fc11 +3499500,3463fe23 +3499504,ac430000 +3499508,2403f7fb +349950c,ac430004 +3499510,8e0202c0 +3499514,24430008 +3499518,ae0302c0 +349951c,3c03fa00 +3499520,24630080 +3499524,ac430000 +3499528,118e00 +349952c,17bc00 +3499530,2378825 +3499534,23e8825 +3499538,16b200 +349953c,2368825 +3499540,ac510004 +3499544,8e0302c0 +3499548,24620008 +349954c,ae0202c0 +3499550,3c02fb00 +3499554,ac620000 +3499558,8fa2001c +349955c,21600 +3499560,8fa40018 +3499564,42400 +3499568,441025 +349956c,8fa60010 +3499570,461025 +3499574,8fa50014 +3499578,52200 +349957c,441025 +3499580,ac620004 +3499584,295a021 +3499588,14a080 +349958c,2749821 +3499590,8e630004 +3499594,8e0202c0 +3499598,24440008 +349959c,ae0402c0 +34995a0,3c04de00 +34995a4,ac440000 +34995a8,ac430004 +34995ac,8fbf0044 +34995b0,8fbe0040 +34995b4,8fb7003c +34995b8,8fb60038 +34995bc,8fb50034 +34995c0,8fb40030 +34995c4,8fb3002c +34995c8,8fb20028 +34995cc,8fb10024 +34995d0,8fb00020 +34995d4,3e00008 +34995d8,27bd0048 +34995dc,27bdff88 +34995e0,afbf0074 +34995e4,afbe0070 +34995e8,afb7006c +34995ec,afb60068 +34995f0,afb50064 +34995f4,afb40060 +34995f8,afb3005c +34995fc,afb20058 +3499600,afb10054 +3499604,afb00050 +3499608,a0a825 +349960c,8c910000 +3499610,3c028043 +3499614,24429758 +3499618,598c0 +349961c,2658021 +3499620,108080 +3499624,afa2004c +3499628,508021 +349962c,9203000c +3499630,afa3002c +3499634,9205000d +3499638,afa50030 +349963c,9206000e +3499640,afa60034 +3499644,9207000f +3499648,afa70038 +349964c,92080010 +3499650,afa8003c +3499654,92090011 +3499658,afa90040 +349965c,920a0012 +3499660,afaa0044 +3499664,920b0013 +3499668,afab0048 +349966c,921e0014 +3499670,920c0015 +3499674,afac0028 +3499678,920d0016 +349967c,afad0024 +3499680,920e0017 +3499684,afae0020 +3499688,920f0018 +349968c,afaf001c +3499690,92180019 +3499694,afb80018 +3499698,9219001a +349969c,afb90014 +34996a0,921f001b +34996a4,afbf0010 +34996a8,3c12800a +34996ac,3652a7f4 +34996b0,24070001 +34996b4,3025 +34996b8,3c028042 +34996bc,44866000 +34996c0,240f809 +34996c4,c44e45d4 +34996c8,3c028042 +34996cc,c44c45d8 +34996d0,26420108 +34996d4,24070001 +34996d8,44066000 +34996dc,40f809 +34996e0,46006386 +34996e4,3c148007 +34996e8,3694e298 +34996ec,280f809 +34996f0,2202025 +34996f4,2652110c +34996f8,240f809 +34996fc,2202025 +3499700,8e2302c0 +3499704,24640008 +3499708,ae2402c0 +349970c,3c17da38 +3499710,26f70003 +3499714,ac770000 +3499718,ac620004 +349971c,8e2202c0 +3499720,24430008 +3499724,ae2302c0 +3499728,3c16fa00 +349972c,26d60080 +3499730,ac560000 +3499734,1ef600 +3499738,8fac0028 +349973c,c1c00 +3499740,3c3f025 +3499744,8fae0020 +3499748,3cef025 +349974c,8fad0024 +3499750,d1a00 +3499754,3c3f025 +3499758,ac5e0004 +349975c,8e2302c0 +3499760,24620008 +3499764,ae2202c0 +3499768,3c1efb00 +349976c,ac7e0000 +3499770,8faf001c +3499774,f1600 +3499778,8fb80018 +349977c,182400 +3499780,441025 +3499784,8fbf0010 +3499788,5f1025 +349978c,8fb90014 +3499790,192200 +3499794,441025 +3499798,ac620004 +349979c,8e030004 +34997a0,8e2202c0 +34997a4,24440008 +34997a8,ae2402c0 +34997ac,3c10de00 +34997b0,ac500000 +34997b4,ac430004 +34997b8,26940028 +34997bc,280f809 +34997c0,2202025 +34997c4,240f809 +34997c8,2202025 +34997cc,8e2302d0 +34997d0,24640008 +34997d4,ae2402d0 +34997d8,ac770000 +34997dc,ac620004 +34997e0,8e2302d0 +34997e4,24620008 +34997e8,ae2202d0 +34997ec,ac760000 +34997f0,8fa4002c +34997f4,41600 +34997f8,8fa50030 +34997fc,52400 +3499800,441025 +3499804,8fa70038 +3499808,471025 +349980c,8fa60034 +3499810,62200 +3499814,441025 +3499818,ac620004 +349981c,8e2302d0 +3499820,24620008 +3499824,ae2202d0 +3499828,ac7e0000 +349982c,8fa8003c +3499830,81600 +3499834,8fa90040 +3499838,92400 +349983c,441025 +3499840,8fab0048 +3499844,4b1025 +3499848,8faa0044 +349984c,a2200 +3499850,441025 +3499854,ac620004 +3499858,2759821 +349985c,139880 +3499860,8fa2004c +3499864,531021 +3499868,8c430008 +349986c,8e2202d0 +3499870,24440008 +3499874,ae2402d0 +3499878,ac500000 +349987c,ac430004 +3499880,8fbf0074 +3499884,8fbe0070 +3499888,8fb7006c +349988c,8fb60068 +3499890,8fb50064 +3499894,8fb40060 +3499898,8fb3005c +349989c,8fb20058 +34998a0,8fb10054 +34998a4,8fb00050 +34998a8,3e00008 +34998ac,27bd0078 +34998b0,27bdff88 +34998b4,afbf0074 +34998b8,afbe0070 +34998bc,afb7006c +34998c0,afb60068 +34998c4,afb50064 +34998c8,afb40060 +34998cc,afb3005c +34998d0,afb20058 +34998d4,afb10054 +34998d8,afb00050 +34998dc,a0a825 +34998e0,8c910000 +34998e4,3c028043 +34998e8,24429758 +34998ec,598c0 +34998f0,2658021 +34998f4,108080 +34998f8,afa2004c +34998fc,508021 +3499900,9203000c +3499904,afa3002c +3499908,9205000d +349990c,afa50030 +3499910,9206000e +3499914,afa60034 +3499918,9207000f +349991c,afa70038 +3499920,92080010 +3499924,afa8003c +3499928,92090011 +349992c,afa90040 +3499930,920a0012 +3499934,afaa0044 +3499938,920b0013 +349993c,afab0048 +3499940,921e0014 +3499944,920c0015 +3499948,afac0028 +349994c,920d0016 +3499950,afad0024 +3499954,920e0017 +3499958,afae0020 +349995c,920f0018 +3499960,afaf001c +3499964,92180019 +3499968,afb80018 +349996c,9219001a +3499970,afb90014 +3499974,921f001b +3499978,afbf0010 +349997c,3c12800a +3499980,3652a7f4 +3499984,24070001 +3499988,3025 +349998c,3c028042 +3499990,44866000 +3499994,240f809 +3499998,c44e45cc +349999c,3c028042 +34999a0,c44c45d0 +34999a4,26420108 +34999a8,24070001 +34999ac,44066000 +34999b0,40f809 +34999b4,46006386 +34999b8,3c148007 +34999bc,3694e298 +34999c0,280f809 +34999c4,2202025 +34999c8,2652110c +34999cc,240f809 +34999d0,2202025 +34999d4,8e2302c0 +34999d8,24640008 +34999dc,ae2402c0 +34999e0,3c17da38 +34999e4,26f70003 +34999e8,ac770000 +34999ec,ac620004 +34999f0,8e2202c0 +34999f4,24430008 +34999f8,ae2302c0 +34999fc,3c16fa00 +3499a00,26d60080 +3499a04,ac560000 +3499a08,1ef600 +3499a0c,8fac0028 +3499a10,c1c00 +3499a14,3c3f025 +3499a18,8fae0020 +3499a1c,3cef025 +3499a20,8fad0024 +3499a24,d1a00 +3499a28,3c3f025 +3499a2c,ac5e0004 +3499a30,8e2302c0 +3499a34,24620008 +3499a38,ae2202c0 +3499a3c,3c1efb00 +3499a40,ac7e0000 +3499a44,8faf001c +3499a48,f1600 +3499a4c,8fb80018 +3499a50,182400 +3499a54,441025 +3499a58,8fbf0010 +3499a5c,5f1025 +3499a60,8fb90014 +3499a64,192200 +3499a68,441025 +3499a6c,ac620004 +3499a70,8e030008 +3499a74,8e2202c0 +3499a78,24440008 +3499a7c,ae2402c0 +3499a80,3c10de00 +3499a84,ac500000 +3499a88,ac430004 +3499a8c,26940028 +3499a90,280f809 +3499a94,2202025 +3499a98,240f809 +3499a9c,2202025 +3499aa0,8e2302d0 +3499aa4,24640008 +3499aa8,ae2402d0 +3499aac,ac770000 +3499ab0,ac620004 +3499ab4,8e2302d0 +3499ab8,24620008 +3499abc,ae2202d0 +3499ac0,ac760000 +3499ac4,8fa4002c +3499ac8,41600 +3499acc,8fa50030 +3499ad0,52400 +3499ad4,441025 +3499ad8,8fa70038 +3499adc,471025 +3499ae0,8fa60034 +3499ae4,62200 +3499ae8,441025 +3499aec,ac620004 +3499af0,8e2302d0 +3499af4,24620008 +3499af8,ae2202d0 +3499afc,ac7e0000 +3499b00,8fa8003c +3499b04,81600 +3499b08,8fa90040 +3499b0c,92400 +3499b10,441025 +3499b14,8fab0048 +3499b18,4b1025 +3499b1c,8faa0044 +3499b20,a2200 +3499b24,441025 +3499b28,ac620004 +3499b2c,2759821 +3499b30,139880 +3499b34,8fa2004c +3499b38,531021 +3499b3c,8c430004 +3499b40,8e2202d0 +3499b44,24440008 +3499b48,ae2402d0 +3499b4c,ac500000 +3499b50,ac430004 +3499b54,8fbf0074 +3499b58,8fbe0070 +3499b5c,8fb7006c +3499b60,8fb60068 +3499b64,8fb50064 +3499b68,8fb40060 +3499b6c,8fb3005c +3499b70,8fb20058 +3499b74,8fb10054 +3499b78,8fb00050 +3499b7c,3e00008 +3499b80,27bd0078 +3499b84,27bdff88 +3499b88,afbf0074 +3499b8c,afbe0070 +3499b90,afb7006c +3499b94,afb60068 +3499b98,afb50064 +3499b9c,afb40060 +3499ba0,afb3005c +3499ba4,afb20058 +3499ba8,afb10054 +3499bac,afb00050 +3499bb0,a0a825 +3499bb4,8c910000 +3499bb8,3c028043 +3499bbc,24429758 +3499bc0,598c0 +3499bc4,2658021 +3499bc8,108080 +3499bcc,afa2004c +3499bd0,508021 +3499bd4,9203000c +3499bd8,afa3002c +3499bdc,9205000d +3499be0,afa50030 +3499be4,9206000e +3499be8,afa60034 +3499bec,9207000f +3499bf0,afa70038 +3499bf4,92080010 +3499bf8,afa8003c +3499bfc,92090011 +3499c00,afa90040 +3499c04,920a0012 +3499c08,afaa0044 +3499c0c,920b0013 +3499c10,afab0048 +3499c14,921e0014 +3499c18,920c0015 +3499c1c,afac0028 +3499c20,920d0016 +3499c24,afad0024 +3499c28,920e0017 +3499c2c,afae0020 +3499c30,920f0018 +3499c34,afaf001c +3499c38,92180019 +3499c3c,afb80018 +3499c40,9219001a +3499c44,afb90014 +3499c48,921f001b +3499c4c,afbf0010 +3499c50,3c12800a +3499c54,3652a7f4 +3499c58,24070001 +3499c5c,3025 +3499c60,3c028042 +3499c64,44866000 +3499c68,240f809 +3499c6c,c44e45cc +3499c70,3c028042 +3499c74,c44c45d0 +3499c78,26420108 +3499c7c,24070001 +3499c80,44066000 +3499c84,40f809 +3499c88,46006386 +3499c8c,3c148007 +3499c90,3694e298 +3499c94,280f809 +3499c98,2202025 +3499c9c,2652110c +3499ca0,240f809 +3499ca4,2202025 +3499ca8,8e2302c0 +3499cac,24640008 +3499cb0,ae2402c0 +3499cb4,3c17da38 +3499cb8,26f70003 +3499cbc,ac770000 +3499cc0,ac620004 +3499cc4,8e2202c0 +3499cc8,24430008 +3499ccc,ae2302c0 +3499cd0,3c16fa00 +3499cd4,26d60080 +3499cd8,ac560000 +3499cdc,1ef600 +3499ce0,8fac0028 +3499ce4,c1c00 +3499ce8,3c3f025 +3499cec,8fae0020 +3499cf0,3cef025 +3499cf4,8fad0024 +3499cf8,d1a00 +3499cfc,3c3f025 +3499d00,ac5e0004 +3499d04,8e2302c0 +3499d08,24620008 +3499d0c,ae2202c0 +3499d10,3c1efb00 +3499d14,ac7e0000 +3499d18,8faf001c +3499d1c,f1600 +3499d20,8fb80018 +3499d24,182400 +3499d28,441025 +3499d2c,8fbf0010 +3499d30,5f1025 +3499d34,8fb90014 +3499d38,192200 +3499d3c,441025 +3499d40,ac620004 +3499d44,8e030004 +3499d48,8e2202c0 +3499d4c,24440008 +3499d50,ae2402c0 +3499d54,3c10de00 +3499d58,ac500000 +3499d5c,ac430004 +3499d60,26940028 +3499d64,280f809 +3499d68,2202025 +3499d6c,240f809 +3499d70,2202025 +3499d74,8e2302d0 +3499d78,24640008 +3499d7c,ae2402d0 +3499d80,ac770000 +3499d84,ac620004 +3499d88,8e2302d0 +3499d8c,24620008 +3499d90,ae2202d0 +3499d94,ac760000 +3499d98,8fa4002c +3499d9c,41600 +3499da0,8fa50030 +3499da4,52400 +3499da8,441025 +3499dac,8fa70038 +3499db0,471025 +3499db4,8fa60034 +3499db8,62200 +3499dbc,441025 +3499dc0,ac620004 +3499dc4,8e2302d0 +3499dc8,24620008 +3499dcc,ae2202d0 +3499dd0,ac7e0000 +3499dd4,8fa8003c +3499dd8,81600 +3499ddc,8fa90040 +3499de0,92400 +3499de4,441025 +3499de8,8fab0048 +3499dec,4b1025 +3499df0,8faa0044 +3499df4,a2200 +3499df8,441025 +3499dfc,ac620004 +3499e00,2759821 +3499e04,139880 +3499e08,8fa2004c +3499e0c,531021 +3499e10,8c430008 +3499e14,8e2202d0 +3499e18,24440008 +3499e1c,ae2402d0 +3499e20,ac500000 +3499e24,ac430004 +3499e28,8fbf0074 +3499e2c,8fbe0070 +3499e30,8fb7006c +3499e34,8fb60068 +3499e38,8fb50064 +3499e3c,8fb40060 +3499e40,8fb3005c +3499e44,8fb20058 +3499e48,8fb10054 +3499e4c,8fb00050 +3499e50,3e00008 +3499e54,27bd0078 +3499e58,27bdff88 +3499e5c,afbf0074 +3499e60,afbe0070 +3499e64,afb7006c +3499e68,afb60068 +3499e6c,afb50064 +3499e70,afb40060 +3499e74,afb3005c +3499e78,afb20058 +3499e7c,afb10054 +3499e80,afb00050 +3499e84,a09825 +3499e88,8c900000 +3499e8c,3c028043 +3499e90,24429758 +3499e94,518c0 +3499e98,afa3004c +3499e9c,658821 +3499ea0,118880 +3499ea4,afa20048 +3499ea8,518821 +3499eac,92370018 +3499eb0,923e0019 +3499eb4,9225001a +3499eb8,afa50028 +3499ebc,9226001b +3499ec0,afa6002c +3499ec4,9227001c +3499ec8,afa70030 +3499ecc,9228001d +3499ed0,afa80034 +3499ed4,9229001e +3499ed8,afa90038 +3499edc,922a001f +3499ee0,afaa003c +3499ee4,922b0010 +3499ee8,afab0040 +3499eec,922c0011 +3499ef0,afac0044 +3499ef4,922d0012 +3499ef8,afad0024 +3499efc,922e0013 +3499f00,afae0020 +3499f04,922f0014 +3499f08,afaf001c +3499f0c,92380015 +3499f10,afb80018 +3499f14,92390016 +3499f18,afb90014 +3499f1c,923f0017 +3499f20,afbf0010 +3499f24,3c128007 +3499f28,3652e2c0 +3499f2c,240f809 +3499f30,2002025 +3499f34,3c15800a +3499f38,36b5b900 +3499f3c,2a0f809 +3499f40,2002025 +3499f44,8e0302d0 +3499f48,24640008 +3499f4c,ae0402d0 +3499f50,3c14da38 +3499f54,26940003 +3499f58,ac740000 +3499f5c,ac620004 +3499f60,8e0202d0 +3499f64,24430008 +3499f68,ae0302d0 +3499f6c,3c16fa00 +3499f70,26d60080 +3499f74,ac560000 +3499f78,17be00 +3499f7c,1ef400 +3499f80,2feb825 +3499f84,8fa6002c +3499f88,2e6b825 +3499f8c,8fa50028 +3499f90,51a00 +3499f94,2e3b825 +3499f98,ac570004 +3499f9c,8e0302d0 +3499fa0,24620008 +3499fa4,ae0202d0 +3499fa8,3c1efb00 +3499fac,ac7e0000 +3499fb0,8fa70030 +3499fb4,71600 +3499fb8,8fa80034 +3499fbc,82400 +3499fc0,441025 +3499fc4,8faa003c +3499fc8,4a1025 +3499fcc,8fa90038 +3499fd0,92200 +3499fd4,441025 +3499fd8,ac620004 +3499fdc,8e230004 +3499fe0,8e0202d0 +3499fe4,24440008 +3499fe8,ae0402d0 +3499fec,3c17de00 +3499ff0,ac570000 +3499ff4,ac430004 +3499ff8,240f809 +3499ffc,2002025 +349a000,2a0f809 +349a004,2002025 +349a008,8e0302d0 +349a00c,24640008 +349a010,ae0402d0 +349a014,ac740000 +349a018,ac620004 +349a01c,8e0302d0 +349a020,24620008 +349a024,ae0202d0 +349a028,ac760000 +349a02c,8fab0040 +349a030,b1600 +349a034,8fac0044 +349a038,c2400 +349a03c,441025 +349a040,8fae0020 +349a044,4e1025 +349a048,8fad0024 +349a04c,d2200 +349a050,441025 +349a054,ac620004 +349a058,8e0302d0 +349a05c,24620008 +349a060,ae0202d0 +349a064,ac7e0000 +349a068,8faf001c +349a06c,f1600 +349a070,8fb80018 +349a074,182400 +349a078,441025 +349a07c,8fbf0010 +349a080,5f1025 +349a084,8fb90014 +349a088,192200 +349a08c,441025 +349a090,ac620004 +349a094,8e230008 +349a098,8e0202d0 +349a09c,24440008 +349a0a0,ae0402d0 +349a0a4,ac570000 +349a0a8,ac430004 +349a0ac,2652ffd8 +349a0b0,240f809 +349a0b4,2002025 +349a0b8,2a0f809 +349a0bc,2002025 +349a0c0,8e0302c0 +349a0c4,24640008 +349a0c8,ae0402c0 +349a0cc,ac740000 +349a0d0,ac620004 +349a0d4,8fa4004c +349a0d8,931021 +349a0dc,21080 +349a0e0,8fa30048 +349a0e4,621021 +349a0e8,8c43000c +349a0ec,8e0202c0 +349a0f0,24440008 +349a0f4,ae0402c0 +349a0f8,ac570000 +349a0fc,ac430004 +349a100,8fbf0074 +349a104,8fbe0070 +349a108,8fb7006c +349a10c,8fb60068 +349a110,8fb50064 +349a114,8fb40060 +349a118,8fb3005c +349a11c,8fb20058 +349a120,8fb10054 +349a124,8fb00050 +349a128,3e00008 +349a12c,27bd0078 +349a130,27bdffd0 +349a134,afbf002c +349a138,afb50028 +349a13c,afb40024 +349a140,afb30020 +349a144,afb2001c +349a148,afb10018 +349a14c,afb00014 +349a150,a09025 +349a154,3c028043 +349a158,518c0 +349a15c,651821 +349a160,31880 +349a164,24429758 +349a168,431021 +349a16c,90500008 +349a170,90540009 +349a174,9053000a +349a178,9055000b +349a17c,3c028040 +349a180,90420cac +349a184,10400006 +349a188,8c910000 +349a18c,3c028040 +349a190,90500c55 +349a194,24420c54 +349a198,90540003 +349a19c,90530005 +349a1a0,3c028007 +349a1a4,3442e2c0 +349a1a8,40f809 +349a1ac,2202025 +349a1b0,3c02800a +349a1b4,3442b900 +349a1b8,40f809 +349a1bc,2202025 +349a1c0,8e2302d0 +349a1c4,24640008 +349a1c8,ae2402d0 +349a1cc,3c04da38 +349a1d0,24840003 +349a1d4,ac640000 +349a1d8,ac620004 +349a1dc,8e2202d0 +349a1e0,24430008 +349a1e4,ae2302d0 +349a1e8,3c03fa00 +349a1ec,24630080 +349a1f0,ac430000 +349a1f4,108600 +349a1f8,14a400 +349a1fc,2148025 +349a200,2158025 +349a204,139a00 +349a208,2138025 +349a20c,ac500004 +349a210,3c028043 +349a214,1218c0 +349a218,721821 +349a21c,31880 +349a220,24429758 +349a224,431021 +349a228,8c430004 +349a22c,8e2202d0 +349a230,24440008 +349a234,ae2402d0 +349a238,3c04de00 +349a23c,ac440000 +349a240,ac430004 +349a244,8fbf002c +349a248,8fb50028 +349a24c,8fb40024 +349a250,8fb30020 +349a254,8fb2001c +349a258,8fb10018 +349a25c,8fb00014 +349a260,3e00008 +349a264,27bd0030 +349a268,27bdffd0 +349a26c,afbf002c +349a270,afb60028 +349a274,afb50024 +349a278,afb40020 +349a27c,afb3001c +349a280,afb20018 +349a284,afb10014 +349a288,afb00010 +349a28c,a09025 +349a290,3c028043 +349a294,518c0 +349a298,651821 +349a29c,31880 +349a2a0,24429758 +349a2a4,431021 +349a2a8,90500008 +349a2ac,90550009 +349a2b0,9054000a +349a2b4,9056000b +349a2b8,3c028040 +349a2bc,90420cac +349a2c0,10400006 +349a2c4,8c910000 +349a2c8,3c028040 +349a2cc,90500c61 +349a2d0,24420c60 +349a2d4,90550003 +349a2d8,90540005 +349a2dc,3c028043 +349a2e0,1218c0 +349a2e4,721821 +349a2e8,31880 +349a2ec,24429758 +349a2f0,431021 +349a2f4,8c42000c +349a2f8,44820000 +349a2fc,4410004 +349a300,46800321 +349a304,3c028042 +349a308,d44045e0 +349a30c,46206300 +349a310,46206320 +349a314,3c13800a +349a318,3673ad4c +349a31c,24050001 +349a320,3c028042 +349a324,c44045dc +349a328,260f809 +349a32c,46006302 +349a330,3c028007 +349a334,3442e298 +349a338,40f809 +349a33c,2202025 +349a340,26730bb4 +349a344,260f809 +349a348,2202025 +349a34c,8e2302c0 +349a350,24640008 +349a354,ae2402c0 +349a358,3c04da38 +349a35c,24840003 +349a360,ac640000 +349a364,ac620004 +349a368,8e2202c0 +349a36c,24430008 +349a370,ae2302c0 +349a374,3c03fa00 +349a378,24630080 +349a37c,ac430000 +349a380,108600 +349a384,15ac00 +349a388,2158025 +349a38c,2168025 +349a390,14a200 +349a394,2148025 +349a398,ac500004 +349a39c,3c028043 +349a3a0,1218c0 +349a3a4,721821 +349a3a8,31880 +349a3ac,24429758 +349a3b0,431021 +349a3b4,8c430004 +349a3b8,8e2202c0 +349a3bc,24440008 +349a3c0,ae2402c0 +349a3c4,3c04de00 +349a3c8,ac440000 +349a3cc,ac430004 +349a3d0,8fbf002c +349a3d4,8fb60028 +349a3d8,8fb50024 +349a3dc,8fb40020 +349a3e0,8fb3001c +349a3e4,8fb20018 +349a3e8,8fb10014 +349a3ec,8fb00010 +349a3f0,3e00008 +349a3f4,27bd0030 +349a3f8,27bdffd0 +349a3fc,afbf002c +349a400,afb60028 +349a404,afb50024 +349a408,afb40020 +349a40c,afb3001c +349a410,afb20018 +349a414,afb10014 +349a418,afb00010 +349a41c,a09025 +349a420,3c028043 +349a424,518c0 +349a428,651821 +349a42c,31880 +349a430,24429758 +349a434,431021 +349a438,90500008 +349a43c,90550009 +349a440,9054000a +349a444,9056000b +349a448,3c028040 +349a44c,90420cac +349a450,10400006 +349a454,8c910000 +349a458,3c028040 +349a45c,90500c61 +349a460,24420c60 +349a464,90550003 +349a468,90540005 +349a46c,3c028043 +349a470,1218c0 +349a474,721821 +349a478,31880 +349a47c,24429758 +349a480,431021 +349a484,8c42000c +349a488,44820000 +349a48c,4410004 +349a490,46800321 +349a494,3c028042 +349a498,d44045e0 +349a49c,46206300 +349a4a0,46206320 +349a4a4,3c13800a +349a4a8,3673ad4c +349a4ac,24050001 +349a4b0,3c028042 +349a4b4,c44045dc +349a4b8,260f809 +349a4bc,46006302 +349a4c0,3c028007 +349a4c4,3442e298 +349a4c8,40f809 +349a4cc,2202025 +349a4d0,26730bb4 +349a4d4,260f809 +349a4d8,2202025 +349a4dc,8e2302c0 +349a4e0,24640008 +349a4e4,ae2402c0 +349a4e8,3c04da38 +349a4ec,24840003 +349a4f0,ac640000 +349a4f4,ac620004 +349a4f8,8e2202c0 +349a4fc,24430008 +349a500,ae2302c0 +349a504,3c03fa00 +349a508,24630080 +349a50c,ac430000 +349a510,108600 +349a514,15ac00 +349a518,2158025 +349a51c,2168025 +349a520,14a200 +349a524,2148025 +349a528,ac500004 +349a52c,3c028043 +349a530,1218c0 +349a534,721821 +349a538,31880 +349a53c,24429758 +349a540,431021 +349a544,8c430004 +349a548,8e2202c0 +349a54c,24440008 +349a550,ae2402c0 +349a554,3c04de00 +349a558,ac440000 +349a55c,ac430004 +349a560,8fbf002c +349a564,8fb60028 +349a568,8fb50024 +349a56c,8fb40020 +349a570,8fb3001c +349a574,8fb20018 +349a578,8fb10014 +349a57c,8fb00010 +349a580,3e00008 +349a584,27bd0030 +349a588,3e00008 +349a590,27bdffe0 +349a594,afbf001c +349a598,afb20018 +349a59c,afb10014 +349a5a0,afb00010 +349a5a4,a08825 +349a5a8,8c900000 +349a5ac,3c028007 +349a5b0,3442e298 +349a5b4,40f809 +349a5b8,2002025 +349a5bc,8e0202c0 +349a5c0,24430008 +349a5c4,ae0302c0 +349a5c8,3c12de00 +349a5cc,ac520000 +349a5d0,3c038042 +349a5d4,24634588 +349a5d8,ac430004 +349a5dc,3c02800a +349a5e0,3442b900 +349a5e4,40f809 +349a5e8,2002025 +349a5ec,8e0302c0 +349a5f0,24640008 +349a5f4,ae0402c0 +349a5f8,3c04da38 +349a5fc,24840002 +349a600,ac640000 +349a604,ac620004 +349a608,3c028043 +349a60c,24429758 +349a610,1118c0 +349a614,712021 +349a618,42080 +349a61c,442021 +349a620,8c850004 +349a624,8e0402c0 +349a628,24860008 +349a62c,ae0602c0 +349a630,ac920000 +349a634,ac850004 +349a638,711821 +349a63c,31880 +349a640,431021 +349a644,8c430008 +349a648,8e0202c0 +349a64c,24440008 +349a650,ae0402c0 +349a654,ac520000 +349a658,ac430004 +349a65c,8fbf001c +349a660,8fb20018 +349a664,8fb10014 +349a668,8fb00010 +349a66c,3e00008 +349a670,27bd0020 +349a674,27bdffa0 +349a678,afbf005c +349a67c,afbe0058 +349a680,afb70054 +349a684,afb60050 +349a688,afb5004c +349a68c,afb40048 +349a690,afb30044 +349a694,afb20040 +349a698,afb1003c +349a69c,afb00038 +349a6a0,a09025 +349a6a4,8c900000 +349a6a8,3c028043 +349a6ac,24429758 +349a6b0,518c0 +349a6b4,afa30034 +349a6b8,658821 +349a6bc,118880 +349a6c0,afa20030 +349a6c4,518821 +349a6c8,9225000c +349a6cc,afa50010 +349a6d0,9226000d +349a6d4,afa60014 +349a6d8,9227000e +349a6dc,afa70018 +349a6e0,9228000f +349a6e4,afa8001c +349a6e8,92290010 +349a6ec,afa90020 +349a6f0,922a0011 +349a6f4,afaa0024 +349a6f8,922b0012 +349a6fc,afab0028 +349a700,922c0013 +349a704,afac002c +349a708,3c14800a +349a70c,3694b900 +349a710,280f809 +349a714,2002025 +349a718,8e0302d0 +349a71c,24640008 +349a720,ae0402d0 +349a724,3c13da38 +349a728,267e0002 +349a72c,ac7e0000 +349a730,ac620004 +349a734,8e1502d4 +349a738,26b5ffc0 +349a73c,ae1502d4 +349a740,2696fdbc +349a744,2a02825 +349a748,3c178042 +349a74c,2c0f809 +349a750,26e44548 +349a754,8e0202d0 +349a758,24430008 +349a75c,ae0302d0 +349a760,26730001 +349a764,ac530000 +349a768,ac550004 +349a76c,280f809 +349a770,2002025 +349a774,8e0302c0 +349a778,24640008 +349a77c,ae0402c0 +349a780,ac7e0000 +349a784,ac620004 +349a788,8e1402c4 +349a78c,2694ffc0 +349a790,ae1402c4 +349a794,2802825 +349a798,2c0f809 +349a79c,26e44548 +349a7a0,8e0202c0 +349a7a4,24430008 +349a7a8,ae0302c0 +349a7ac,ac530000 +349a7b0,ac540004 +349a7b4,8e0202d4 +349a7b8,2444fff8 +349a7bc,ae0402d4 +349a7c0,3c05df00 +349a7c4,ac45fff8 +349a7c8,ac40fffc +349a7cc,8e0302d0 +349a7d0,24620008 +349a7d4,ae0202d0 +349a7d8,3c02db06 +349a7dc,24460024 +349a7e0,ac660000 +349a7e4,ac640004 +349a7e8,8e0302c4 +349a7ec,2464fff8 +349a7f0,ae0402c4 +349a7f4,ac65fff8 +349a7f8,ac60fffc +349a7fc,8e0302c0 +349a800,24650008 +349a804,ae0502c0 +349a808,24420020 +349a80c,ac620000 +349a810,ac640004 +349a814,3c138007 +349a818,3673e2c0 +349a81c,260f809 +349a820,2002025 +349a824,8e0302d0 +349a828,24620008 +349a82c,ae0202d0 +349a830,3c14fa00 +349a834,26940080 +349a838,ac740000 +349a83c,8fa50010 +349a840,51600 +349a844,8fa60014 +349a848,62400 +349a84c,441025 +349a850,8fa8001c +349a854,481025 +349a858,8fa70018 +349a85c,72200 +349a860,441025 +349a864,ac620004 +349a868,8e0302d0 +349a86c,24620008 +349a870,ae0202d0 +349a874,3c15fb00 +349a878,ac750000 +349a87c,8fa90020 +349a880,91600 +349a884,8faa0024 +349a888,a2400 +349a88c,441025 +349a890,8fac002c +349a894,4c1025 +349a898,8fab0028 +349a89c,b2200 +349a8a0,441025 +349a8a4,ac620004 +349a8a8,8e230004 +349a8ac,8e0202d0 +349a8b0,24440008 +349a8b4,ae0402d0 +349a8b8,3c11de00 +349a8bc,ac510000 +349a8c0,ac430004 +349a8c4,2673ffd8 +349a8c8,260f809 +349a8cc,2002025 +349a8d0,8e0202c0 +349a8d4,24430008 +349a8d8,ae0302c0 +349a8dc,ac540000 +349a8e0,2403aaff +349a8e4,ac430004 +349a8e8,8e0202c0 +349a8ec,24430008 +349a8f0,ae0302c0 +349a8f4,ac550000 +349a8f8,3c039678 +349a8fc,246300ff +349a900,ac430004 +349a904,8fa40034 +349a908,921021 +349a90c,21080 +349a910,8fa30030 +349a914,621021 +349a918,8c430008 +349a91c,8e0202c0 +349a920,24440008 +349a924,ae0402c0 +349a928,ac510000 +349a92c,ac430004 +349a930,8fbf005c +349a934,8fbe0058 +349a938,8fb70054 +349a93c,8fb60050 +349a940,8fb5004c +349a944,8fb40048 +349a948,8fb30044 +349a94c,8fb20040 +349a950,8fb1003c +349a954,8fb00038 +349a958,3e00008 +349a95c,27bd0060 +349a960,27bdffa8 +349a964,afbf0054 +349a968,afbe0050 +349a96c,afb7004c +349a970,afb60048 +349a974,afb50044 +349a978,afb40040 +349a97c,afb3003c +349a980,afb20038 +349a984,afb10034 +349a988,afb00030 +349a98c,8c900000 +349a990,3c028043 +349a994,518c0 +349a998,651821 +349a99c,31880 +349a9a0,24429758 +349a9a4,431021 +349a9a8,90520010 +349a9ac,90430011 +349a9b0,afa30010 +349a9b4,905e0012 +349a9b8,3c028040 +349a9bc,90420cac +349a9c0,10400007 +349a9c4,a0a025 +349a9c8,3c028040 +349a9cc,90520c49 +349a9d0,24420c48 +349a9d4,90430003 +349a9d8,afa30010 +349a9dc,905e0005 +349a9e0,3c028043 +349a9e4,24429758 +349a9e8,1418c0 +349a9ec,afa30028 +349a9f0,748821 +349a9f4,118880 +349a9f8,afa20024 +349a9fc,518821 +349aa00,92250014 +349aa04,afa50014 +349aa08,92260015 +349aa0c,afa60018 +349aa10,92270016 +349aa14,afa7001c +349aa18,92280017 +349aa1c,afa80020 +349aa20,3c138007 +349aa24,3673e2c0 +349aa28,260f809 +349aa2c,2002025 +349aa30,3c16800a +349aa34,36d6b900 +349aa38,2c0f809 +349aa3c,2002025 +349aa40,8e0302d0 +349aa44,24640008 +349aa48,ae0402d0 +349aa4c,3c15da38 +349aa50,26b50003 +349aa54,ac750000 +349aa58,ac620004 +349aa5c,8e230014 +349aa60,8e0202d0 +349aa64,24440008 +349aa68,ae0402d0 +349aa6c,3c17de00 +349aa70,ac570000 +349aa74,ac430004 +349aa78,260f809 +349aa7c,2002025 +349aa80,2c0f809 +349aa84,2002025 +349aa88,8e0302d0 +349aa8c,24640008 +349aa90,ae0402d0 +349aa94,ac750000 +349aa98,ac620004 +349aa9c,129600 +349aaa0,1ef200 +349aaa4,25e9025 +349aaa8,8fa90010 +349aaac,91400 +349aab0,2429025 +349aab4,36520040 +349aab8,8e0202d0 +349aabc,24430008 +349aac0,ae0302d0 +349aac4,3c1efa00 +349aac8,27de0080 +349aacc,ac5e0000 +349aad0,ac520004 +349aad4,8fa50014 +349aad8,51600 +349aadc,8fa60018 +349aae0,61c00 +349aae4,431025 +349aae8,8fa80020 +349aaec,481025 +349aaf0,8fa7001c +349aaf4,71a00 +349aaf8,432825 +349aafc,8e0202d0 +349ab00,24430008 +349ab04,ae0302d0 +349ab08,3c06fb00 +349ab0c,ac460000 +349ab10,afa50010 +349ab14,ac450004 +349ab18,8e23000c +349ab1c,8e0202d0 +349ab20,24440008 +349ab24,ae0402d0 +349ab28,ac570000 +349ab2c,ac430004 +349ab30,260f809 +349ab34,2002025 +349ab38,2c0f809 +349ab3c,2002025 +349ab40,8e0302d0 +349ab44,24640008 +349ab48,ae0402d0 +349ab4c,ac750000 +349ab50,ac620004 +349ab54,8e0202d0 +349ab58,24430008 +349ab5c,ae0302d0 +349ab60,ac5e0000 +349ab64,ac520004 +349ab68,8e0202d0 +349ab6c,24430008 +349ab70,ae0302d0 +349ab74,3c06fb00 +349ab78,ac460000 +349ab7c,8fa50010 +349ab80,ac450004 +349ab84,8e230004 +349ab88,8e0202d0 +349ab8c,24440008 +349ab90,ae0402d0 +349ab94,ac570000 +349ab98,ac430004 +349ab9c,260f809 +349aba0,2002025 +349aba4,2c0f809 +349aba8,2002025 +349abac,8e0302d0 +349abb0,24640008 +349abb4,ae0402d0 +349abb8,ac750000 +349abbc,ac620004 +349abc0,8e230008 +349abc4,8e0202d0 +349abc8,24440008 +349abcc,ae0402d0 +349abd0,ac570000 +349abd4,ac430004 +349abd8,2673ffd8 +349abdc,260f809 +349abe0,2002025 +349abe4,2c0f809 +349abe8,2002025 +349abec,8e0302c0 +349abf0,24640008 +349abf4,ae0402c0 +349abf8,ac750000 +349abfc,ac620004 +349ac00,8fa40028 +349ac04,941021 +349ac08,21080 +349ac0c,8fa30024 +349ac10,621021 +349ac14,8c430010 +349ac18,8e0202c0 +349ac1c,24440008 +349ac20,ae0402c0 +349ac24,ac570000 +349ac28,ac430004 +349ac2c,8fbf0054 +349ac30,8fbe0050 +349ac34,8fb7004c +349ac38,8fb60048 +349ac3c,8fb50044 +349ac40,8fb40040 +349ac44,8fb3003c +349ac48,8fb20038 +349ac4c,8fb10034 +349ac50,8fb00030 +349ac54,3e00008 +349ac58,27bd0058 +349ac5c,27bdffe8 +349ac60,afbf0014 +349ac64,510c0 +349ac68,451021 +349ac6c,21080 +349ac70,3c038043 +349ac74,24639758 +349ac78,431021 +349ac7c,8c420000 +349ac80,40f809 +349ac88,8fbf0014 +349ac8c,3e00008 +349ac90,27bd0018 349ac94,3e00008 -349ac98,27bd00a8 -349ac9c,3e00008 -349aca4,27bdffe8 -349aca8,afbf0014 -349acac,801025 -349acb0,2c430193 -349acb4,10600006 -349acb8,a02025 -349acbc,210c0 -349acc0,3c03800f -349acc4,34638ff8 -349acc8,10000008 -349accc,431021 -349acd0,3c031fff -349acd4,3463fe6d -349acd8,431021 -349acdc,210c0 -349ace0,3c038040 -349ace4,24631c9c -349ace8,621021 -349acec,8c450000 -349acf0,8c460004 -349acf4,3c028000 -349acf8,24420df0 -349acfc,40f809 -349ad00,c53023 -349ad04,8fbf0014 -349ad08,3e00008 -349ad0c,27bd0018 -349ad10,27bdffe8 -349ad14,afbf0014 -349ad18,801025 -349ad1c,a02025 -349ad20,a4450000 -349ad24,c106b29 -349ad28,8c450004 -349ad2c,8fbf0014 -349ad30,3e00008 -349ad34,27bd0018 -349ad38,27bdffe8 -349ad3c,afbf0014 -349ad40,afb00010 -349ad44,802825 -349ad48,3c028043 -349ad4c,24420fb0 -349ad50,244400c0 -349ad54,94430000 -349ad58,1065000a -349ad5c,408025 -349ad60,54600005 -349ad64,24420008 -349ad68,c106b44 -349ad6c,402025 -349ad70,10000005 -349ad74,2001025 -349ad78,5444fff7 -349ad7c,94430000 -349ad80,8025 -349ad84,2001025 -349ad88,8fbf0014 -349ad8c,8fb00010 -349ad90,3e00008 -349ad94,27bd0018 -349ad98,3c03801c -349ad9c,346384a0 -349ada0,8c620000 -349ada4,8c860004 -349ada8,8c4502d0 -349adac,24a70008 -349adb0,ac4702d0 -349adb4,3c02db06 -349adb8,24420018 -349adbc,aca20000 -349adc0,aca60004 -349adc4,8c650000 -349adc8,8c840004 -349adcc,8ca302c0 -349add0,24660008 -349add4,aca602c0 -349add8,ac620000 -349addc,3e00008 -349ade0,ac640004 -349ade4,27bdffe0 -349ade8,afbf0014 -349adec,f7b40018 -349adf0,3c02800a -349adf4,3442a78c -349adf8,40f809 -349adfc,46006506 -349ae00,2442000c -349ae04,2025 -349ae08,1000000a -349ae0c,2405000c -349ae10,c4600000 -349ae14,46140002 -349ae18,e4600000 -349ae1c,24630004 -349ae20,5462fffc -349ae24,c4600000 -349ae28,24840004 -349ae2c,10850003 -349ae30,24420010 -349ae34,1000fff6 -349ae38,2443fff4 -349ae3c,8fbf0014 -349ae40,d7b40018 -349ae44,3e00008 -349ae48,27bd0020 -349ae4c,27bdffd8 -349ae50,afbf0024 -349ae54,afb30020 -349ae58,afb2001c -349ae5c,afb10018 -349ae60,afb00014 -349ae64,809825 -349ae68,a09025 -349ae6c,c08025 -349ae70,3c118002 -349ae74,26222438 -349ae78,3025 -349ae7c,2002825 -349ae80,40f809 -349ae84,2402025 -349ae88,26312554 -349ae8c,3025 -349ae90,2002825 -349ae94,220f809 -349ae98,2402025 -349ae9c,2602825 -349aea0,c105c33 -349aea4,2002025 -349aea8,8fbf0024 -349aeac,8fb30020 -349aeb0,8fb2001c -349aeb4,8fb10018 -349aeb8,8fb00014 -349aebc,3e00008 -349aec0,27bd0028 -349aec4,44860000 -349aec8,24020063 -349aecc,54820005 -349aed0,84a30000 -349aed4,3c028042 -349aed8,c4420018 -349aedc,3e00008 -349aee0,46020002 -349aee4,240200f1 -349aee8,14620009 -349aeec,24020046 -349aef0,10820005 -349aef4,2402002f -349aef8,14820005 -349aefc,3c028042 -349af00,3e00008 -349af04,c4400014 -349af08,3c028042 -349af0c,c4400014 -349af10,3e00008 -349af18,27bdffd8 -349af1c,afbf001c -349af20,afb20018 -349af24,afb10014 -349af28,afb00010 -349af2c,f7b40020 -349af30,41202 -349af34,afa40028 -349af38,a09025 -349af3c,c08825 -349af40,4487a000 -349af44,305000ff -349af48,c106b4e -349af4c,42402 -349af50,10400015 -349af54,8fbf001c -349af58,c106b66 -349af5c,402025 -349af60,44800000 -349af68,4600a032 -349af70,45030008 -349af74,2604ffff -349af78,4406a000 -349af7c,2402825 -349af80,c106bb1 -349af84,2002025 -349af88,c106b79 -349af8c,46000306 -349af90,2604ffff -349af94,2203025 -349af98,2402825 -349af9c,c106b93 -349afa0,308400ff -349afa4,8fbf001c -349afa8,8fb20018 -349afac,8fb10014 -349afb0,8fb00010 -349afb4,d7b40020 -349afb8,3e00008 -349afbc,27bd0028 -349afc0,27bdffe0 -349afc4,afbf001c -349afc8,afb10018 -349afcc,afb00014 -349afd0,3c108043 -349afd4,26100fb0 -349afd8,261100c0 -349afdc,a6000000 -349afe0,c107e8b -349afe4,24041e70 -349afe8,ae020004 -349afec,26100008 -349aff0,5611fffb -349aff4,a6000000 -349aff8,8fbf001c -349affc,8fb10018 -349b000,8fb00014 -349b004,3e00008 -349b008,27bd0020 -349b00c,3c028043 -349b010,24420fb0 -349b014,244300c0 -349b018,a4400000 -349b01c,24420008 -349b020,5443fffe -349b024,a4400000 -349b028,3e00008 -349b030,27bdffd8 -349b034,afbf0024 -349b038,afb00020 -349b03c,afa5002c -349b040,afa60030 -349b044,10a00017 -349b048,afa70034 -349b04c,808025 -349b050,97a40034 -349b054,97a20038 -349b058,afa50010 -349b05c,afa60014 -349b060,afa70018 -349b064,8fa30038 -349b068,14400002 -349b06c,afa3001c -349b070,801025 -349b074,a7a20018 -349b078,8fa40010 -349b07c,8fa50014 -349b080,8fa60018 -349b084,c105ed3 -349b088,8fa7001c -349b08c,c105eb8 -349b090,402025 -349b094,94430004 -349b098,a6030000 -349b09c,90420006 -349b0a0,a2020002 -349b0a4,8fbf0024 -349b0a8,8fb00020 -349b0ac,3e00008 -349b0b0,27bd0028 -349b0b4,27bdffd0 -349b0b8,afbf002c -349b0bc,afb00028 -349b0c0,808025 -349b0c4,30e700ff -349b0c8,90c600a5 -349b0cc,c1040bf -349b0d0,27a40018 -349b0d4,8fa20024 -349b0d8,afa20010 -349b0dc,8fa50018 -349b0e0,8fa6001c -349b0e4,8fa70020 -349b0e8,c106c0c -349b0ec,2002025 -349b0f0,8fbf002c -349b0f4,8fb00028 -349b0f8,3e00008 -349b0fc,27bd0030 -349b100,27bdffc0 -349b104,afbf003c -349b108,afb10038 -349b10c,afb00034 -349b110,808025 -349b114,a08825 -349b118,a7a00018 -349b11c,a3a0001a -349b120,90870197 -349b124,3c02801c -349b128,344284a0 -349b12c,904600a5 -349b130,802825 -349b134,c1040bf -349b138,27a4001c -349b13c,8fa2001c -349b140,50400020 -349b144,860501bc -349b148,8e020194 -349b14c,5040001d -349b150,860501bc -349b154,82030184 -349b158,31100 -349b15c,431021 -349b160,21080 -349b164,2221021 -349b168,3c030001 -349b16c,621021 -349b170,844317b0 -349b174,24020148 -349b178,50620012 -349b17c,860501bc -349b180,8fa20028 -349b184,afa20010 -349b188,8fa5001c -349b18c,8fa60020 -349b190,8fa70024 -349b194,c106c0c -349b198,27a40018 -349b19c,97a20018 -349b1a0,5040000d -349b1a4,8fbf003c -349b1a8,3825 -349b1ac,2203025 -349b1b0,2002825 -349b1b4,c106bc6 -349b1b8,8fa40018 -349b1bc,10000006 -349b1c0,8fbf003c -349b1c4,3c028005 -349b1c8,244270c0 -349b1cc,40f809 -349b1d0,2202025 -349b1d4,8fbf003c -349b1d8,8fb10038 -349b1dc,8fb00034 -349b1e0,3e00008 -349b1e4,27bd0040 -349b1e8,27bdffd0 -349b1ec,afbf002c -349b1f0,afb10028 -349b1f4,afb00024 -349b1f8,a7a00018 -349b1fc,a3a0001a -349b200,8c83019c -349b204,10600023 -349b208,1025 -349b20c,808025 -349b210,a08825 -349b214,8c8201a8 -349b218,afa20010 -349b21c,8c85019c -349b220,8c8601a0 -349b224,8c8701a4 -349b228,c106c0c -349b22c,27a40018 -349b230,97a30018 -349b234,10600017 -349b238,1025 -349b23c,82030116 -349b240,24020001 -349b244,10620009 -349b248,3c028042 -349b24c,c1043c7 -349b250,2002025 +349ac9c,24020140 +349aca0,3e00008 +349aca4,a4821424 +349aca8,27bdffe0 +349acac,afbf001c +349acb0,afb10018 +349acb4,afb00014 +349acb8,808025 +349acbc,8c8208c4 +349acc0,24420001 +349acc4,c108e2f +349acc8,ac8208c4 +349accc,3c028040 +349acd0,94421e6a +349acd4,8e0308c4 +349acd8,1462001e +349acdc,8fbf001c +349ace0,920200b2 +349ace4,34420001 +349ace8,a20200b2 +349acec,3c04801c +349acf0,348484a0 +349acf4,3c110001 +349acf8,918821 +349acfc,86221e1a +349ad00,ae020000 +349ad04,948200a4 +349ad08,a6020066 +349ad0c,3c108009 +349ad10,3602d894 +349ad14,40f809 +349ad18,261005d4 +349ad1c,3c04a34b +349ad20,200f809 +349ad24,3484e820 +349ad28,3c028011 +349ad2c,3442a5d0 +349ad30,2403fff8 +349ad34,a4431412 +349ad38,240200a0 +349ad3c,a6221e1a +349ad40,24020014 +349ad44,a2221e15 +349ad48,24020001 +349ad4c,a2221e5e +349ad50,8fbf001c +349ad54,8fb10018 +349ad58,8fb00014 +349ad5c,3e00008 +349ad60,27bd0020 +349ad64,8c8200a0 +349ad68,34423000 +349ad6c,ac8200a0 +349ad70,3c028044 +349ad74,90421f52 +349ad78,304200ff +349ad7c,10400005 +349ad80,52840 +349ad84,3c028010 +349ad88,451021 +349ad8c,94428cec +349ad90,a4820034 +349ad94,3e00008 +349ad9c,24020001 +349ada0,3e00008 +349ada4,a082003e +349ada8,24020012 +349adac,240600ff +349adb0,24070016 +349adb4,821821 +349adb8,90630074 +349adbc,54660004 +349adc0,24420001 +349adc4,822021 +349adc8,3e00008 +349adcc,a0850074 +349add0,1447fff9 +349add4,821821 +349add8,3e00008 +349ade0,862021 +349ade4,908200a8 +349ade8,a22825 +349adec,3e00008 +349adf0,a08500a8 +349adf4,851821 +349adf8,906200bc +349adfc,23600 +349ae00,63603 +349ae04,4c20001 +349ae08,1025 +349ae0c,24420001 +349ae10,a06200bc +349ae14,510c0 +349ae18,451023 +349ae1c,21080 +349ae20,821021 +349ae24,8c4700e4 +349ae28,804300e5 +349ae2c,3c028040 +349ae30,24421e4e +349ae34,451021 +349ae38,90480000 +349ae3c,51040 +349ae40,3c068043 +349ae44,24c6af04 +349ae48,461021 +349ae4c,481021 +349ae50,80420000 +349ae54,62102a +349ae58,10400009 +349ae5c,510c0 +349ae60,451023 +349ae64,21080 +349ae68,822021 +349ae6c,24630001 +349ae70,31c00 +349ae74,30e7ffff +349ae78,671825 +349ae7c,ac8300e4 +349ae80,3e00008 +349ae88,853021 +349ae8c,3c028040 +349ae90,24421e4e +349ae94,a21021 +349ae98,90470000 +349ae9c,51040 +349aea0,3c038043 +349aea4,2463af04 +349aea8,431021 +349aeac,471021 +349aeb0,90c300bc +349aeb4,33e00 +349aeb8,73e03 +349aebc,4e20001 +349aec0,1825 +349aec4,90420000 +349aec8,431021 +349aecc,a0c200bc +349aed0,3c028040 +349aed4,90421de2 +349aed8,1040000b +349aedc,510c0 +349aee0,24a2fffd +349aee4,3042ffff +349aee8,2c420005 +349aeec,10400006 +349aef0,510c0 +349aef4,851821 +349aef8,906200a8 +349aefc,34420001 +349af00,a06200a8 +349af04,510c0 +349af08,451823 +349af0c,31880 +349af10,831821 +349af14,3c068040 +349af18,24c61e4e +349af1c,c53021 +349af20,90c80000 +349af24,53040 +349af28,3c078043 +349af2c,24e7af04 +349af30,c73021 +349af34,c83021 +349af38,80c60000 +349af3c,63400 +349af40,946200e6 +349af44,c21025 +349af48,3e00008 +349af4c,ac6200e4 +349af50,3c028040 +349af54,24421e4e +349af58,451021 +349af5c,90470000 +349af60,3c038043 +349af64,71040 +349af68,471021 +349af6c,21040 +349af70,63840 +349af74,e63821 +349af78,73880 +349af7c,471021 +349af80,2463adfc +349af84,621021 +349af88,90470001 +349af8c,24020008 +349af90,14c20015 +349af94,a04025 +349af98,3c02801c +349af9c,344284a0 +349afa0,944200a4 +349afa4,14a2000a +349afa8,510c0 +349afac,3c02801c +349afb0,344284a0 +349afb4,8c431d3c +349afb8,34630004 +349afbc,ac431d3c +349afc0,8c431d40 +349afc4,34630004 +349afc8,1000000c +349afcc,ac431d40 +349afd0,451023 +349afd4,21080 +349afd8,821021 +349afdc,8c4300dc +349afe0,34630004 +349afe4,ac4300dc +349afe8,3c02801c +349afec,344284a0 +349aff0,944200a4 +349aff4,15020009 +349aff8,510c0 +349affc,3c02801c +349b000,344284a0 +349b004,24040001 +349b008,e42004 +349b00c,8c431d28 +349b010,641825 +349b014,3e00008 +349b018,ac431d28 +349b01c,451823 +349b020,31880 +349b024,831821 +349b028,24050001 +349b02c,e52804 +349b030,8c6200d8 +349b034,451025 +349b038,3e00008 +349b03c,ac6200d8 +349b040,3c028040 +349b044,24421e4e +349b048,a21021 +349b04c,90430000 +349b050,31040 +349b054,431021 +349b058,21040 +349b05c,61840 +349b060,661821 +349b064,31880 +349b068,431021 +349b06c,3c038043 +349b070,2463adfc +349b074,431021 +349b078,90470000 +349b07c,3c028044 +349b080,24422040 +349b084,c21021 +349b088,90420000 +349b08c,1047000e +349b090,24420001 +349b094,304200ff +349b098,3c038044 +349b09c,24632040 +349b0a0,661821 +349b0a4,14e20008 +349b0a8,a0620000 +349b0ac,27bdffe8 +349b0b0,afbf0014 +349b0b4,c106bd4 +349b0bc,8fbf0014 +349b0c0,3e00008 +349b0c4,27bd0018 +349b0c8,3e00008 +349b0d0,27bdffd8 +349b0d4,afbf0024 +349b0d8,afb30020 +349b0dc,afb2001c +349b0e0,afb10018 +349b0e4,afb00014 +349b0e8,809025 +349b0ec,a08825 +349b0f0,c08025 +349b0f4,3c028040 +349b0f8,24421e4e +349b0fc,a21021 +349b100,90430000 +349b104,31040 +349b108,431021 +349b10c,21040 +349b110,61840 +349b114,661821 +349b118,31880 +349b11c,431021 +349b120,3c038043 +349b124,2463adfc +349b128,431021 +349b12c,90530000 +349b130,132080 +349b134,3c028007 +349b138,244221cc +349b13c,40f809 +349b140,2642021 +349b144,3c028044 +349b148,24422040 +349b14c,2021021 +349b150,90420000 +349b154,10530008 +349b158,3c028044 +349b15c,24422040 +349b160,501021 +349b164,a0530000 +349b168,2003025 +349b16c,2202825 +349b170,c106bd4 +349b174,2402025 +349b178,8fbf0024 +349b17c,8fb30020 +349b180,8fb2001c +349b184,8fb10018 +349b188,8fb00014 +349b18c,3e00008 +349b190,27bd0028 +349b194,24020001 +349b198,a082003d +349b19c,24020014 +349b1a0,a08200cf +349b1a4,24020140 +349b1a8,3e00008 +349b1ac,a4821424 +349b1b0,24020001 +349b1b4,a0820032 +349b1b8,a082003a +349b1bc,24020030 +349b1c0,a48213f4 +349b1c4,3e00008 +349b1c8,a0820033 +349b1cc,24020002 +349b1d0,a0820032 +349b1d4,24020001 +349b1d8,a082003a +349b1dc,a082003c +349b1e0,24020060 +349b1e4,a48213f4 +349b1e8,3e00008 +349b1ec,a0820033 +349b1f0,24020007 +349b1f4,3e00008 +349b1f8,a082007b +349b1fc,24020001 +349b200,a21004 +349b204,8c8500a4 +349b208,a22825 +349b20c,3e00008 +349b210,ac8500a4 +349b214,27bdffe8 +349b218,afbf0014 +349b21c,c105797 +349b224,8fbf0014 +349b228,3e00008 +349b22c,27bd0018 +349b230,24020010 +349b234,a0820082 +349b238,9082009a +349b23c,2442000a +349b240,3e00008 +349b244,a082009a +349b248,3c028044 +349b24c,90421f52 +349b250,304200ff 349b254,10400005 -349b258,3c028042 -349b25c,8c427ea0 -349b260,2021026 -349b264,1000000b -349b268,2c420001 -349b26c,8c437ea0 -349b270,10700008 -349b274,24020001 -349b278,3c028042 -349b27c,8c47001c -349b280,2203025 -349b284,2002825 -349b288,c106bc6 -349b28c,8fa40018 -349b290,24020001 -349b294,8fbf002c -349b298,8fb10028 -349b29c,8fb00024 -349b2a0,3e00008 -349b2a4,27bd0030 -349b2a8,27bdffd8 -349b2ac,afbf0024 -349b2b0,afb10020 -349b2b4,afb0001c -349b2b8,808025 -349b2bc,a08825 -349b2c0,3c028042 -349b2c4,8c42ffdc -349b2c8,afa20010 -349b2cc,3825 -349b2d0,a03025 -349b2d4,802825 -349b2d8,c106c2d -349b2dc,27a40010 -349b2e0,3c028042 -349b2e4,8c47001c -349b2e8,2203025 -349b2ec,2002825 -349b2f0,c106bc6 -349b2f4,8fa40010 -349b2f8,8fbf0024 -349b2fc,8fb10020 -349b300,8fb0001c -349b304,3e00008 -349b308,27bd0028 -349b30c,27bdffd0 -349b310,afbf002c -349b314,afb10028 -349b318,afb00024 -349b31c,808025 -349b320,a7a00018 -349b324,a3a0001a -349b328,9083001d -349b32c,24020011 -349b330,1462000e -349b334,a08825 -349b338,3825 -349b33c,a03025 -349b340,802825 -349b344,c106c2d -349b348,27a40018 -349b34c,3c028042 -349b350,8c470020 -349b354,2203025 -349b358,2002825 -349b35c,c106bc6 -349b360,8fa40018 -349b364,10000025 -349b368,8fbf002c -349b36c,8c82019c -349b370,1040001e -349b374,3c028001 -349b378,8c8201a8 -349b37c,afa20010 -349b380,8c85019c -349b384,8c8601a0 -349b388,8c8701a4 -349b38c,c106c0c -349b390,27a40018 -349b394,97a20018 -349b398,10400018 -349b39c,8fbf002c -349b3a0,82030116 -349b3a4,24020001 -349b3a8,10620006 -349b3ac,3c028042 -349b3b0,c1043c7 -349b3b4,2002025 -349b3b8,14400010 -349b3bc,8fbf002c -349b3c0,3c028042 -349b3c4,8c427ea0 -349b3c8,1050000b -349b3cc,3c028042 -349b3d0,8c47001c -349b3d4,2203025 -349b3d8,2002825 -349b3dc,c106bc6 -349b3e0,8fa40018 -349b3e4,10000005 -349b3e8,8fbf002c -349b3ec,24423268 -349b3f0,40f809 -349b3f8,8fbf002c -349b3fc,8fb10028 -349b400,8fb00024 -349b404,3e00008 -349b408,27bd0030 -349b40c,27bdffd8 -349b410,afbf0024 -349b414,afb10020 -349b418,afb0001c -349b41c,808025 -349b420,a08825 -349b424,3c028042 -349b428,8c42ffe0 -349b42c,afa20010 -349b430,2407004f -349b434,a03025 -349b438,802825 -349b43c,c106c2d -349b440,27a40010 -349b444,3c028042 -349b448,8c470024 -349b44c,2203025 -349b450,2002825 -349b454,c106bc6 -349b458,8fa40010 -349b45c,8fbf0024 -349b460,8fb10020 -349b464,8fb0001c -349b468,3e00008 -349b46c,27bd0028 -349b470,27bdffd8 -349b474,afbf0024 -349b478,afb10020 -349b47c,afb0001c -349b480,808025 -349b484,a08825 -349b488,3c028042 -349b48c,8c42ffe4 -349b490,afa20010 -349b494,3825 -349b498,a03025 -349b49c,802825 -349b4a0,c106c2d -349b4a4,27a40010 -349b4a8,3c028042 -349b4ac,8c470028 -349b4b0,2203025 -349b4b4,2002825 -349b4b8,c106bc6 -349b4bc,8fa40010 -349b4c0,8fbf0024 -349b4c4,8fb10020 -349b4c8,8fb0001c -349b4cc,3e00008 -349b4d0,27bd0028 -349b4d4,27bdffd8 -349b4d8,afbf0024 -349b4dc,afb10020 -349b4e0,afb0001c -349b4e4,808025 -349b4e8,a08825 -349b4ec,3c028042 -349b4f0,8c42ffe8 -349b4f4,afa20010 -349b4f8,2407000c -349b4fc,a03025 -349b500,802825 -349b504,c106c2d -349b508,27a40010 -349b50c,3c028042 -349b510,8c47002c -349b514,2203025 -349b518,2002825 -349b51c,c106bc6 -349b520,8fa40010 -349b524,8fbf0024 -349b528,8fb10020 -349b52c,8fb0001c +349b258,52840 +349b25c,3c028010 +349b260,451021 +349b264,94428cec +349b268,a4820034 +349b26c,3e00008 +349b274,8482002e +349b278,28420130 +349b27c,50400001 +349b280,a08000a4 +349b284,24020140 +349b288,3e00008 +349b28c,a4821424 +349b290,3c028044 +349b294,90421f51 +349b298,1040001c +349b29c,3c028044 +349b2a0,94820f06 +349b2a4,34420040 +349b2a8,a4820f06 +349b2ac,3c028044 +349b2b0,90421f50 +349b2b4,1440002a +349b2b8,3c02801c +349b2bc,94820ef4 +349b2c0,3042fb87 +349b2c4,a4820ef4 +349b2c8,3c02801c +349b2cc,344284a0 +349b2d0,944300a4 +349b2d4,24020052 +349b2d8,1462001a +349b2dc,3c02801c +349b2e0,1000002b +349b2e4,344284a0 +349b2e8,84430000 +349b2ec,54660004 +349b2f0,8c420124 +349b2f4,24030002 +349b2f8,3e00008 +349b2fc,a4430158 +349b300,5440fffa +349b304,84430000 +349b308,3c028044 +349b30c,90421f50 +349b310,1040000c +349b318,94820f06 +349b31c,34420080 +349b320,a4820f06 +349b324,94820ef6 +349b328,24038f00 +349b32c,431025 +349b330,a4820ef6 +349b334,94820ee4 +349b338,2403f000 +349b33c,431025 +349b340,a4820ee4 +349b344,27bdffe8 +349b348,afbf0014 +349b34c,c108b42 +349b350,30a4ffff +349b354,8fbf0014 +349b358,3e00008 +349b35c,27bd0018 +349b360,344284a0 +349b364,944300a4 +349b368,24020052 +349b36c,5462ffeb +349b370,94820f06 +349b374,3c02801c +349b378,344284a0 +349b37c,8c421c6c +349b380,1440ffd9 +349b384,24060100 +349b388,1000ffe4 +349b38c,94820f06 +349b390,8c421c6c +349b394,1440ffd4 +349b398,24060100 +349b39c,1000ffe9 +349b3a4,24020009 +349b3a8,a082007c +349b3ac,90820094 +349b3b0,a22821 +349b3b4,3e00008 +349b3b8,a0850094 +349b3bc,27bdffe8 +349b3c0,afbf0014 +349b3c4,c108b42 +349b3c8,30a4ffff +349b3cc,8fbf0014 +349b3d0,3e00008 +349b3d4,27bd0018 +349b3d8,30a2ffff +349b3dc,2c420005 +349b3e0,1040001a +349b3e4,52880 +349b3e8,3c028042 +349b3ec,244245e8 +349b3f0,451021 +349b3f4,8c420000 +349b3f8,400008 +349b400,8c8209a4 +349b404,34420001 +349b408,3e00008 +349b40c,ac8209a4 +349b410,8c8209a4 +349b414,34420002 +349b418,3e00008 +349b41c,ac8209a4 +349b420,8c8209a4 +349b424,34420004 +349b428,3e00008 +349b42c,ac8209a4 +349b430,8c8209a4 +349b434,34420008 +349b438,3e00008 +349b43c,ac8209a4 +349b440,8c8209a4 +349b444,34420010 +349b448,ac8209a4 +349b44c,3e00008 +349b454,24020001 +349b458,10a20007 +349b45c,24020002 +349b460,10a2000e +349b464,3c028044 +349b468,14a00013 +349b46c,24030001 +349b470,3e00008 +349b474,a0432096 +349b478,3c028044 +349b47c,24030002 +349b480,a0432096 +349b484,8c8200a0 +349b488,2403f1ff +349b48c,431024 +349b490,34420200 +349b494,3e00008 +349b498,ac8200a0 +349b49c,24030003 +349b4a0,a0432096 +349b4a4,8c8200a0 +349b4a8,2403f1ff +349b4ac,431024 +349b4b0,34420400 +349b4b4,ac8200a0 +349b4b8,3e00008 +349b4c0,54a00028 +349b4c4,94820002 +349b4c8,84830012 +349b4cc,84820010 +349b4d0,3c058040 +349b4d4,24a51e4e +349b4d8,451021 +349b4dc,90460000 +349b4e0,61040 +349b4e4,461021 +349b4e8,21040 +349b4ec,32840 +349b4f0,a32821 +349b4f4,52880 +349b4f8,451021 +349b4fc,3c058043 +349b500,24a5adfc +349b504,451021 +349b508,90450000 +349b50c,3c028044 +349b510,24422040 +349b514,621821 +349b518,90620000 +349b51c,45182b +349b520,54600005 +349b524,24420001 +349b528,94820002 +349b52c,24420016 349b530,3e00008 -349b534,27bd0028 -349b538,27bdffc0 -349b53c,afbf003c -349b540,afb10038 -349b544,afb00034 -349b548,808025 -349b54c,afa00018 -349b550,afa0001c -349b554,afa00020 -349b558,afa00024 -349b55c,9482001c -349b560,24030001 -349b564,14430008 -349b568,a08825 -349b56c,24070015 -349b570,90a600a5 -349b574,802825 -349b578,c1040bf -349b57c,27a40018 -349b580,10000088 -349b584,afa00028 -349b588,24030007 -349b58c,14430008 -349b590,24030a0c -349b594,24070058 -349b598,90a600a5 -349b59c,802825 -349b5a0,c1040bf -349b5a4,27a40018 -349b5a8,1000007e -349b5ac,afa00028 -349b5b0,14430007 -349b5b4,24030008 -349b5b8,3c051001 -349b5bc,34a5000a -349b5c0,c104019 -349b5c4,27a40018 -349b5c8,10000076 -349b5cc,afa00028 -349b5d0,1443000a -349b5d4,2403010d -349b5d8,3c028040 -349b5dc,90426d5c -349b5e0,50400070 -349b5e4,afa00028 -349b5e8,3c051001 -349b5ec,c104019 -349b5f0,27a40018 -349b5f4,1000006b -349b5f8,afa00028 -349b5fc,1443000b -349b600,24030208 -349b604,3c028040 -349b608,90426d5c -349b60c,50400065 -349b610,afa00028 -349b614,3c051001 -349b618,34a50001 -349b61c,c104019 -349b620,27a40018 -349b624,1000005f -349b628,afa00028 -349b62c,1443000b -349b630,2403030d -349b634,3c028040 -349b638,90426d5c -349b63c,50400059 -349b640,afa00028 -349b644,3c051001 -349b648,34a50002 -349b64c,c104019 -349b650,27a40018 -349b654,10000053 -349b658,afa00028 -349b65c,1443000b -349b660,24030409 -349b664,3c028040 -349b668,90426d5c -349b66c,5040004d -349b670,afa00028 -349b674,3c051001 -349b678,34a50003 -349b67c,c104019 -349b680,27a40018 -349b684,10000047 -349b688,afa00028 -349b68c,1443000b -349b690,2403050d -349b694,3c028040 -349b698,90426d5c -349b69c,50400041 -349b6a0,afa00028 -349b6a4,3c051001 -349b6a8,34a50004 -349b6ac,c104019 -349b6b0,27a40018 -349b6b4,1000003b -349b6b8,afa00028 -349b6bc,1443000b -349b6c0,24030609 -349b6c4,3c028040 -349b6c8,90426d5c -349b6cc,50400035 -349b6d0,afa00028 -349b6d4,3c051001 -349b6d8,34a50005 -349b6dc,c104019 -349b6e0,27a40018 -349b6e4,1000002f -349b6e8,afa00028 -349b6ec,1443000b -349b6f0,2403070d -349b6f4,3c028040 -349b6f8,90426d5c -349b6fc,50400029 -349b700,afa00028 -349b704,3c051001 -349b708,34a50006 -349b70c,c104019 -349b710,27a40018 -349b714,10000023 -349b718,afa00028 -349b71c,1443000b -349b720,2403080a -349b724,3c028040 -349b728,90426d5c -349b72c,5040001d -349b730,afa00028 -349b734,3c051001 -349b738,34a50007 -349b73c,c104019 -349b740,27a40018 -349b744,10000017 -349b748,afa00028 -349b74c,1443000b -349b750,2403090d -349b754,3c028040 -349b758,90426d5c -349b75c,50400011 -349b760,afa00028 -349b764,3c051001 -349b768,34a50008 -349b76c,c104019 -349b770,27a40018 -349b774,1000000b -349b778,afa00028 -349b77c,14430008 -349b780,3c028040 -349b784,90426d5c -349b788,50400006 -349b78c,afa00028 -349b790,3c051001 -349b794,34a50009 -349b798,c104019 -349b79c,27a40018 -349b7a0,afa00028 -349b7a4,8fa20024 -349b7a8,afa20010 -349b7ac,8fa50018 -349b7b0,8fa6001c -349b7b4,8fa70020 -349b7b8,c106c0c -349b7bc,27a40028 -349b7c0,97a20028 -349b7c4,10400008 -349b7c8,2203025 -349b7cc,3c028042 -349b7d0,8c470014 -349b7d4,2002825 -349b7d8,c106bc6 -349b7dc,8fa40028 -349b7e0,10000005 -349b7e4,8fbf003c -349b7e8,2002825 -349b7ec,c106b93 -349b7f0,92040141 -349b7f4,8fbf003c -349b7f8,8fb10038 -349b7fc,8fb00034 -349b800,3e00008 -349b804,27bd0040 -349b808,27bdffc0 -349b80c,afbf003c -349b810,afb10038 -349b814,afb00034 -349b818,808025 -349b81c,afa00018 -349b820,afa0001c -349b824,afa00020 -349b828,afa00024 -349b82c,9482001c -349b830,2c42000a -349b834,1040002a -349b838,a08825 -349b83c,9483001c -349b840,31880 -349b844,3c028042 -349b848,2442ffec -349b84c,431021 -349b850,8c420000 -349b854,400008 -349b85c,24070034 -349b860,90a600a5 -349b864,802825 -349b868,c1040bf -349b86c,27a40018 -349b870,1000001c -349b874,afa00028 -349b878,2407003e -349b87c,90a600a5 -349b880,802825 -349b884,c1040bf -349b888,27a40018 -349b88c,10000015 -349b890,afa00028 -349b894,24070003 -349b898,90a600a5 -349b89c,802825 -349b8a0,c1040bf -349b8a4,27a40018 -349b8a8,1000000e -349b8ac,afa00028 -349b8b0,24070065 -349b8b4,90a600a5 -349b8b8,802825 -349b8bc,c1040bf -349b8c0,27a40018 -349b8c4,10000007 -349b8c8,afa00028 -349b8cc,24070055 -349b8d0,90a600a5 -349b8d4,802825 -349b8d8,c1040bf -349b8dc,27a40018 -349b8e0,afa00028 -349b8e4,8fa20024 -349b8e8,afa20010 -349b8ec,8fa50018 -349b8f0,8fa6001c -349b8f4,8fa70020 -349b8f8,c106c0c -349b8fc,27a40028 -349b900,97a20028 -349b904,10400008 -349b908,2203025 -349b90c,3c028042 -349b910,8c470014 -349b914,2002825 -349b918,c106bc6 -349b91c,8fa40028 -349b920,10000005 -349b924,8fbf003c -349b928,2002825 -349b92c,c106b93 -349b930,92040147 -349b934,8fbf003c -349b938,8fb10038 -349b93c,8fb00034 +349b534,3042ffff +349b538,14450008 +349b540,94820002 +349b544,14c00002 +349b548,2403002e +349b54c,24030044 +349b550,431021 +349b554,3e00008 +349b558,3042ffff +349b55c,3e00008 +349b560,94820002 +349b564,2442005a +349b568,3e00008 +349b56c,3042ffff +349b570,14a0001e +349b574,3c038040 +349b578,84860012 +349b57c,84820010 +349b580,24631e4e +349b584,431021 +349b588,90470000 +349b58c,3c038044 +349b590,24632040 +349b594,c31821 +349b598,71040 +349b59c,471021 +349b5a0,21040 +349b5a4,62840 +349b5a8,a62821 +349b5ac,52880 +349b5b0,451021 +349b5b4,3c058043 +349b5b8,24a5adfc +349b5bc,451021 +349b5c0,90630000 +349b5c4,90420000 +349b5c8,62102b +349b5cc,10400008 +349b5d0,94820002 +349b5d4,14e00002 +349b5d8,2403002e +349b5dc,24030044 +349b5e0,431021 +349b5e4,3e00008 +349b5e8,3042ffff +349b5ec,94820002 +349b5f0,2442005a +349b5f4,3e00008 +349b5f8,3042ffff +349b5fc,50a00003 +349b600,84820010 +349b604,3e00008 +349b608,94820002 +349b60c,220c0 +349b610,822023 +349b614,42080 +349b618,3c038011 +349b61c,3463a5d0 +349b620,641821 +349b624,806500e5 +349b628,3c038040 +349b62c,24631e4e +349b630,431821 +349b634,90660000 +349b638,21840 +349b63c,3c048043 +349b640,2484af04 +349b644,641821 +349b648,661821 +349b64c,80630000 +349b650,a3182a +349b654,14600004 +349b65c,24429123 +349b660,3e00008 +349b664,3042ffff +349b668,54a00004 +349b66c,24429112 +349b670,24429101 +349b674,3e00008 +349b678,3042ffff +349b67c,3e00008 +349b680,3042ffff +349b684,3c028040 +349b688,90426d30 +349b68c,14400003 +349b694,3e00008 +349b698,94820002 +349b69c,27bdffe8 +349b6a0,afbf0014 +349b6a4,c106d7f +349b6ac,8fbf0014 +349b6b0,3e00008 +349b6b4,27bd0018 +349b6b8,84830012 +349b6bc,10600009 +349b6c0,84820010 +349b6c4,3c038040 +349b6c8,90631de2 +349b6cc,10600006 +349b6d0,94830002 +349b6d4,2463000e +349b6d8,621021 +349b6dc,3e00008 +349b6e0,3042ffff +349b6e4,94830002 +349b6e8,431021 +349b6ec,3e00008 +349b6f0,3042ffff +349b6f4,2c820131 +349b6f8,1040000b +349b6fc,418c0 +349b700,641023 +349b704,21080 +349b708,3c058043 +349b70c,24a5af28 +349b710,a21021 +349b714,80430000 +349b718,3182b +349b71c,31823 +349b720,3e00008 +349b724,431024 +349b728,3e00008 +349b72c,1025 +349b730,8c820018 +349b734,14400003 +349b73c,3e00008 +349b740,94820002 +349b744,27bdffe8 +349b748,afbf0014 +349b74c,40f809 +349b754,8fbf0014 +349b758,3e00008 +349b75c,27bd0018 +349b760,27bdffe0 +349b764,afbf001c +349b768,afa40020 +349b76c,afa50024 +349b770,afa60028 +349b774,afa7002c +349b778,c106dbd +349b77c,62402 +349b780,8fa30028 +349b784,afa30010 +349b788,8fa3002c +349b78c,afa30014 +349b790,8fa60020 +349b794,8fa70024 +349b798,8c420008 +349b79c,3c048011 +349b7a0,40f809 +349b7a4,3484a5d0 +349b7a8,8fbf001c +349b7ac,3e00008 +349b7b0,27bd0020 +349b7b4,27bdffe8 +349b7b8,afbf0014 +349b7bc,8c82000c +349b7c0,84860012 +349b7c4,84850010 +349b7c8,3c048011 +349b7cc,40f809 +349b7d0,3484a5d0 +349b7d4,8fbf0014 +349b7d8,3e00008 +349b7dc,27bd0018 +349b7e0,afa60008 +349b7e4,afa7000c +349b7e8,3e00008 +349b7ec,97a20010 +349b7f0,afa60008 +349b7f4,afa7000c +349b7f8,93a20012 +349b7fc,3c038040 +349b800,90630024 +349b804,10620004 +349b808,3c038040 +349b80c,9063002b +349b810,14600003 +349b814,21840 +349b818,10000008 +349b81c,9082007d +349b820,621021 +349b824,21040 +349b828,3c038040 +349b82c,2463083c +349b830,431021 +349b834,94420004 +349b838,21382 +349b83c,10400005 +349b844,384200ff +349b848,2102b +349b84c,3e00008 +349b850,24420008 +349b854,3e00008 +349b858,24020008 +349b85c,afa60008 +349b860,afa7000c +349b864,93a20012 +349b868,3c038040 +349b86c,90630024 +349b870,10620004 +349b874,3c038040 +349b878,9063002b +349b87c,14600005 +349b880,21840 +349b884,8c8200a0 +349b888,21182 +349b88c,10000008 +349b890,30420007 +349b894,621021 +349b898,21040 +349b89c,3c038040 +349b8a0,2463083c +349b8a4,431021 +349b8a8,94420002 +349b8ac,30420003 +349b8b0,10400005 +349b8b8,38420001 +349b8bc,2102b +349b8c0,3e00008 +349b8c4,24420035 +349b8c8,3e00008 +349b8cc,24020054 +349b8d0,afa60008 +349b8d4,afa7000c +349b8d8,93a20012 +349b8dc,3c038040 +349b8e0,90630024 +349b8e4,10620004 +349b8e8,3c038040 +349b8ec,9063002b +349b8f0,14600005 +349b8f4,21840 +349b8f8,8c8200a0 +349b8fc,210c2 +349b900,10000009 +349b904,30420007 +349b908,621021 +349b90c,21040 +349b910,3c038040 +349b914,2463083c +349b918,431021 +349b91c,94420002 +349b920,21082 +349b924,30420003 +349b928,10400005 +349b930,38420001 +349b934,2102b +349b938,3e00008 +349b93c,24420033 349b940,3e00008 -349b944,27bd0040 -349b948,27bdffd8 -349b94c,afbf0024 -349b950,afb10020 -349b954,afb0001c -349b958,808025 -349b95c,a08825 -349b960,3c028042 -349b964,8c42ffdc -349b968,afa20010 -349b96c,2407003e -349b970,a03025 -349b974,802825 -349b978,c106c2d -349b97c,27a40010 -349b980,3c028042 -349b984,8c470014 -349b988,2203025 -349b98c,2002825 -349b990,c106bc6 -349b994,8fa40010 -349b998,8fbf0024 -349b99c,8fb10020 -349b9a0,8fb0001c -349b9a4,3e00008 -349b9a8,27bd0028 -349b9ac,3c028011 -349b9b0,3442a5d0 -349b9b4,8442002e -349b9b8,28440051 -349b9bc,14800008 -349b9c0,24030010 -349b9c4,284400a1 -349b9c8,14800005 -349b9cc,24030018 -349b9d0,284200f1 -349b9d4,14400002 -349b9d8,24030020 -349b9dc,2403002c -349b9e0,3c028011 -349b9e4,3442a5d0 -349b9e8,84420030 -349b9ec,62182a -349b9f0,14600003 -349b9f8,3e00008 -349b9fc,2102a -349ba00,3e00008 -349ba04,1025 -349ba08,27bdffe8 -349ba0c,afbf0014 -349ba10,afb00010 -349ba14,3c028040 -349ba18,90420c94 -349ba1c,10400023 -349ba20,3c028040 -349ba24,3c028043 -349ba28,9042107d -349ba2c,1440001f -349ba30,3c028040 -349ba34,3c028040 -349ba38,94421dd6 -349ba3c,2442ffff -349ba40,3c038011 -349ba44,3463a5d0 -349ba48,8c6308c4 -349ba4c,14620017 -349ba50,3c028040 -349ba54,3c02800c -349ba58,3442ab18 -349ba5c,40f809 -349ba60,2025 -349ba64,3c038043 -349ba68,9463107e -349ba6c,1062000e -349ba70,3c10800c -349ba74,261064a0 -349ba78,2825 -349ba7c,3c028042 -349ba80,200f809 -349ba84,c44c0030 -349ba88,26104678 -349ba8c,200f809 -349ba90,2025 -349ba94,3c038043 -349ba98,a462107e -349ba9c,3c028043 -349baa0,24030001 -349baa4,a043107c -349baa8,3c028040 -349baac,90420c95 -349bab0,10400030 -349bab4,8fbf0014 -349bab8,c106e6b -349bac0,1040001e -349bac4,3c028043 -349bac8,3c02800c -349bacc,3442ab18 -349bad0,40f809 -349bad4,2025 -349bad8,3c038043 -349badc,9463107e -349bae0,14620006 -349bae4,3c10800c -349bae8,3c028043 -349baec,9042107c -349baf0,10400020 -349baf4,8fbf0014 -349baf8,3c10800c -349bafc,261064a0 -349bb00,2825 -349bb04,3c028042 -349bb08,200f809 -349bb0c,c44c0034 -349bb10,26104678 -349bb14,200f809 -349bb18,2025 -349bb1c,3c038043 -349bb20,a462107e -349bb24,3c028043 -349bb28,24030001 -349bb2c,a043107d -349bb30,3c028043 -349bb34,1000000e -349bb38,a040107c -349bb3c,9042107d -349bb40,1040000c -349bb44,8fbf0014 -349bb48,3c028042 -349bb4c,c44c0038 -349bb50,3c02800c -349bb54,244264a0 -349bb58,40f809 -349bb5c,2825 -349bb60,3c028043 -349bb64,a040107d -349bb68,3c028043 -349bb6c,a440107e -349bb70,8fbf0014 -349bb74,8fb00010 -349bb78,3e00008 -349bb7c,27bd0018 -349bb80,3c028040 -349bb84,80420ca9 -349bb88,3e00008 -349bb8c,2102b -349bb90,3c028040 -349bb94,80420ca9 -349bb98,104000d1 -349bba0,27bdff90 -349bba4,afbf006c -349bba8,afb50068 -349bbac,afb40064 -349bbb0,afb30060 -349bbb4,afb2005c -349bbb8,afb10058 -349bbbc,afb00054 -349bbc0,c10365c -349bbc4,808825 -349bbc8,144000bd -349bbcc,8fbf006c -349bbd0,3c02801d -349bbd4,3442aa30 -349bbd8,8c420670 -349bbdc,3c030800 -349bbe0,431024 -349bbe4,544000b7 -349bbe8,8fb50068 -349bbec,3c02800c -349bbf0,3442ab18 -349bbf4,40f809 -349bbf8,2025 -349bbfc,3c038043 -349bc00,94631070 -349bc04,1062000b -349bc08,3c028043 -349bc0c,24030001 -349bc10,ac431074 -349bc14,3c02800c -349bc18,3442ab18 -349bc1c,40f809 -349bc20,2025 -349bc24,3c038043 -349bc28,a4621070 -349bc2c,3c028043 -349bc30,ac401078 -349bc34,3c028043 -349bc38,8c431074 -349bc3c,24020001 -349bc40,1062000a -349bc44,3c02801c -349bc48,344284a0 -349bc4c,3c030001 -349bc50,431021 -349bc54,94430934 -349bc58,24020006 -349bc5c,14620098 -349bc60,8fbf006c -349bc64,10000090 -349bc68,3c028043 -349bc6c,3c028043 -349bc70,94420fac -349bc74,10400011 -349bc78,3c02801c -349bc7c,344284a0 -349bc80,3c030001 -349bc84,431021 -349bc88,94430934 -349bc8c,24020006 -349bc90,14620015 -349bc94,3c028040 -349bc98,3c02801c -349bc9c,344284a0 -349bca0,3c030001 -349bca4,431021 -349bca8,94420948 -349bcac,1440000b -349bcb0,3c028043 -349bcb4,10000082 -349bcb8,8fbf006c -349bcbc,344284a0 -349bcc0,3c030001 -349bcc4,431021 -349bcc8,94430934 -349bccc,24020006 -349bcd0,14620005 -349bcd4,3c028040 -349bcd8,3c028043 -349bcdc,ac401078 -349bce0,10000026 -349bce4,241300ff -349bce8,90430ca8 -349bcec,24020001 -349bcf0,10620072 -349bcf4,3c028043 -349bcf8,8c421078 -349bcfc,2c430006 -349bd00,1060000a -349bd04,2c43006a -349bd08,21a00 -349bd0c,621023 -349bd10,3c03cccc -349bd14,3463cccd -349bd18,430019 -349bd1c,1010 -349bd20,21082 -349bd24,10000015 -349bd28,305300ff -349bd2c,14600013 -349bd30,241300ff -349bd34,2c4300ba -349bd38,1060000b -349bd3c,21a00 -349bd40,621023 -349bd44,24429769 -349bd48,3c03cccc -349bd4c,3463cccd -349bd50,430019 -349bd54,1010 -349bd58,29982 -349bd5c,139827 -349bd60,10000006 -349bd64,327300ff -349bd68,3c028043 -349bd6c,ac401078 -349bd70,3c028043 -349bd74,10000051 -349bd78,ac401074 -349bd7c,3c038043 -349bd80,8c621078 -349bd84,24420001 -349bd88,ac621078 -349bd8c,3c128042 -349bd90,26527a4c -349bd94,8025 -349bd98,3c14800c -349bd9c,3694ab18 -349bda0,2415002f -349bda4,280f809 -349bda8,2025 -349bdac,8e430000 -349bdb0,50430007 -349bdb4,2e02002f -349bdb8,26100001 -349bdbc,321000ff -349bdc0,1615fff8 -349bdc4,26520004 -349bdc8,1000003d -349bdcc,8fbf006c -349bdd0,1040003a -349bdd4,101040 -349bdd8,501021 -349bddc,210c0 -349bde0,501021 -349bde4,21040 -349bde8,3c038040 -349bdec,24630ca9 -349bdf0,621821 -349bdf4,27a20018 -349bdf8,27a5004a -349bdfc,80640000 -349be00,10800004 -349be04,a0440000 -349be08,24420001 -349be0c,14a2fffb -349be10,24630001 -349be14,8e220008 -349be18,24430008 -349be1c,ae230008 -349be20,3c10fa00 -349be24,ac500000 -349be28,ac530004 -349be2c,24070006 -349be30,24060008 -349be34,24050008 -349be38,c1078a2 -349be3c,27a40018 -349be40,afa00010 -349be44,3825 -349be48,2406000b -349be4c,24050006 -349be50,c1078d4 -349be54,2202025 -349be58,8e220008 -349be5c,24430008 -349be60,ae230008 -349be64,ac500000 -349be68,2403ff00 -349be6c,2639825 -349be70,ac530004 -349be74,24070006 -349be78,24060007 -349be7c,24050007 -349be80,c1078a2 -349be84,27a40018 -349be88,afa00010 -349be8c,3825 -349be90,2406000b -349be94,24050006 -349be98,c1078d4 -349be9c,2202025 -349bea0,10000007 -349bea4,8fbf006c -349bea8,94420fac -349beac,5040ff8b -349beb0,3c028043 -349beb4,1000ff79 -349beb8,3c02801c -349bebc,8fbf006c -349bec0,8fb50068 -349bec4,8fb40064 -349bec8,8fb30060 -349becc,8fb2005c -349bed0,8fb10058 -349bed4,8fb00054 +349b944,24020032 +349b948,afa60008 +349b94c,afa7000c +349b950,93a20012 +349b954,3c038040 +349b958,90630024 +349b95c,10620004 +349b960,3c038040 +349b964,9063002b +349b968,14600004 +349b96c,21840 +349b970,8c8200a0 +349b974,10000009 +349b978,30420007 +349b97c,621021 +349b980,21040 +349b984,3c038040 +349b988,2463083c +349b98c,431021 +349b990,94420002 +349b994,21102 +349b998,30420003 +349b99c,10400005 +349b9a4,38420001 +349b9a8,2102b +349b9ac,3e00008 +349b9b0,24420030 +349b9b4,3e00008 +349b9b8,24020004 +349b9bc,afa60008 +349b9c0,afa7000c +349b9c4,93a20012 +349b9c8,3c038040 +349b9cc,90630024 +349b9d0,50620006 +349b9d4,8c8300a0 +349b9d8,3c038040 +349b9dc,9063002b +349b9e0,54600005 +349b9e4,21840 +349b9e8,8c8300a0 +349b9ec,31b82 +349b9f0,10000009 +349b9f4,30630007 +349b9f8,621021 +349b9fc,21040 +349ba00,3c038040 +349ba04,2463083c +349ba08,431021 +349ba0c,94430002 +349ba10,31982 +349ba14,30630003 +349ba18,10600005 +349ba1c,24040001 +349ba20,14640004 +349ba24,2402007b +349ba28,3e00008 +349ba2c,24020060 +349ba30,24020005 +349ba34,3e00008 +349ba3c,afa60008 +349ba40,afa7000c +349ba44,93a20012 +349ba48,3c038040 +349ba4c,90630024 +349ba50,50620006 +349ba54,8c8300a0 +349ba58,3c038040 +349ba5c,9063002b +349ba60,54600005 +349ba64,21840 +349ba68,8c8300a0 +349ba6c,31b02 +349ba70,10000009 +349ba74,30630003 +349ba78,621021 +349ba7c,21040 +349ba80,3c038040 +349ba84,2463083c +349ba88,431021 +349ba8c,94430002 +349ba90,31a42 +349ba94,30630003 +349ba98,10600005 +349ba9c,24040001 +349baa0,14640004 +349baa4,240200c7 +349baa8,3e00008 +349baac,24020046 +349bab0,24020045 +349bab4,3e00008 +349babc,afa60008 +349bac0,afa7000c +349bac4,93a20012 +349bac8,3c038040 +349bacc,90630024 +349bad0,10620004 +349bad4,3c038040 +349bad8,9063002b +349badc,14600004 +349bae0,21840 +349bae4,3c028044 +349bae8,10000009 +349baec,90422096 +349baf0,621021 +349baf4,21040 +349baf8,3c038040 +349bafc,2463083c +349bb00,431021 +349bb04,94420002 +349bb08,212c2 +349bb0c,30420007 +349bb10,10400005 +349bb18,38420001 +349bb1c,2102b +349bb20,3e00008 +349bb24,24420037 +349bb28,3e00008 +349bb2c,24020130 +349bb30,afa60008 +349bb34,afa7000c +349bb38,93a20012 +349bb3c,3c038040 +349bb40,90630024 +349bb44,10620004 +349bb48,3c038040 +349bb4c,9063002b +349bb50,14600005 +349bb54,21840 +349bb58,8c8200a0 +349bb5c,21502 +349bb60,10000008 +349bb64,30420007 +349bb68,621021 +349bb6c,21040 +349bb70,3c038040 +349bb74,2463083c +349bb78,431021 +349bb7c,94420002 +349bb80,21382 +349bb84,2c420002 +349bb88,2c420001 +349bb8c,3e00008 +349bb90,24420079 +349bb94,afa60008 +349bb98,afa7000c +349bb9c,93a20012 +349bba0,3c038040 +349bba4,90630024 +349bba8,10620004 +349bbac,3c038040 +349bbb0,9063002b +349bbb4,14600005 +349bbb8,21840 +349bbbc,8c8200a0 +349bbc0,21442 +349bbc4,10000008 +349bbc8,30420007 +349bbcc,621021 +349bbd0,21040 +349bbd4,3c038040 +349bbd8,2463083c +349bbdc,431021 +349bbe0,94420000 +349bbe4,30420003 +349bbe8,2c420002 +349bbec,2c420001 +349bbf0,3e00008 +349bbf4,24420077 +349bbf8,afa60008 +349bbfc,afa7000c +349bc00,93a20012 +349bc04,3c038040 +349bc08,90630024 +349bc0c,10620004 +349bc10,3c038040 +349bc14,9063002b +349bc18,14600003 +349bc1c,21840 +349bc20,10000009 +349bc24,9082003a +349bc28,621021 +349bc2c,21040 +349bc30,3c038040 +349bc34,2463083c +349bc38,431021 +349bc3c,94420000 +349bc40,21082 +349bc44,30420003 +349bc48,2102b +349bc4c,3e00008 +349bc50,244200b9 +349bc54,afa60008 +349bc58,afa7000c +349bc5c,9083007c +349bc60,240200ff +349bc64,50620007 +349bc68,2402006b +349bc6c,80830094 +349bc70,28630006 +349bc74,10600003 +349bc78,2402006a +349bc7c,3e00008 +349bc80,24020003 +349bc84,3e00008 +349bc8c,afa60008 +349bc90,afa7000c +349bc94,93a20012 +349bc98,3c038040 +349bc9c,90630024 +349bca0,5062000f +349bca4,9083007b +349bca8,3c038040 +349bcac,9063002b +349bcb0,54600003 +349bcb4,21840 +349bcb8,10000009 +349bcbc,9083007b +349bcc0,621021 +349bcc4,21040 +349bcc8,3c038040 +349bccc,2463083c +349bcd0,431021 +349bcd4,94430000 +349bcd8,31902 +349bcdc,30630003 +349bce0,10600005 +349bce4,240400ff +349bce8,14640004 +349bcec,2402000c +349bcf0,3e00008 +349bcf4,2402003b +349bcf8,2402003b +349bcfc,3e00008 +349bd04,afa60008 +349bd08,afa7000c +349bd0c,93a20012 +349bd10,3c038040 +349bd14,90630024 +349bd18,10620004 +349bd1c,3c038040 +349bd20,9063002b +349bd24,14600007 +349bd28,21840 +349bd2c,8c8200a0 +349bd30,30420007 +349bd34,1440000d +349bd3c,3e00008 +349bd40,2402004d +349bd44,621021 +349bd48,21040 +349bd4c,3c038040 +349bd50,2463083c +349bd54,431021 +349bd58,94420002 +349bd5c,21102 +349bd60,30420003 +349bd64,10400003 +349bd6c,3e00008 +349bd70,97a20010 +349bd74,3e00008 +349bd78,2402004d +349bd7c,afa60008 +349bd80,afa7000c +349bd84,93a20012 +349bd88,3c038040 +349bd8c,90630024 +349bd90,10620004 +349bd94,3c038040 +349bd98,9063002b +349bd9c,14600007 +349bda0,21840 +349bda4,8c8200a0 +349bda8,30420038 +349bdac,1440000d +349bdb4,3e00008 +349bdb8,2402004d +349bdbc,621021 +349bdc0,21040 +349bdc4,3c038040 +349bdc8,2463083c +349bdcc,431021 +349bdd0,94420002 +349bdd4,21082 +349bdd8,30420003 +349bddc,10400003 +349bde4,3e00008 +349bde8,97a20010 +349bdec,3e00008 +349bdf0,2402004d +349bdf4,afa60008 +349bdf8,afa7000c +349bdfc,93a20012 +349be00,3c038040 +349be04,90630024 +349be08,10620004 +349be0c,3c038040 +349be10,9063002b +349be14,14600009 +349be18,21840 +349be1c,8c8200a0 +349be20,3c030001 +349be24,3463c000 +349be28,431024 +349be2c,1440000d +349be34,3e00008 +349be38,2402004d +349be3c,621021 +349be40,21040 +349be44,3c038040 +349be48,2463083c +349be4c,431021 +349be50,94420002 +349be54,21182 +349be58,30420003 +349be5c,10400003 +349be64,3e00008 +349be68,97a20010 +349be6c,3e00008 +349be70,2402004d +349be74,afa60008 +349be78,afa7000c +349be7c,94820eda +349be80,30420008 +349be84,14400010 +349be8c,90830086 +349be90,2402001b +349be94,1062000e +349be9c,90830087 +349bea0,1062000d +349bea8,90830088 +349beac,1062000c +349beb4,90830089 +349beb8,1062000b +349bec0,3e00008 +349bec4,97a20010 +349bec8,3e00008 +349becc,240200c8 +349bed0,3e00008 +349bed4,240200c8 349bed8,3e00008 -349bedc,27bd0070 +349bedc,240200c8 349bee0,3e00008 -349bee8,27bdffa0 -349beec,afbf005c -349bef0,afb10058 -349bef4,afb00054 -349bef8,c10365c -349befc,808025 -349bf00,14400033 -349bf04,8fbf005c -349bf08,3c028040 -349bf0c,80420ca9 -349bf10,10400030 -349bf14,8fb10058 -349bf18,3c038040 -349bf1c,24630ecf -349bf20,27a20018 -349bf24,27a4004a -349bf28,80650000 -349bf2c,10a00004 -349bf30,a0450000 -349bf34,24420001 -349bf38,1482fffb -349bf3c,24630001 -349bf40,8e020008 -349bf44,24430008 -349bf48,ae030008 -349bf4c,3c11fa00 -349bf50,ac510000 -349bf54,240300ff -349bf58,ac430004 -349bf5c,24070006 -349bf60,24060008 -349bf64,24050008 -349bf68,c1078a2 -349bf6c,27a40018 -349bf70,afa00010 -349bf74,3825 -349bf78,2406000b -349bf7c,24050006 -349bf80,c1078d4 -349bf84,2002025 -349bf88,8e020008 -349bf8c,24430008 -349bf90,ae030008 -349bf94,ac510000 -349bf98,2403ffff -349bf9c,ac430004 -349bfa0,24070006 -349bfa4,24060007 -349bfa8,24050007 -349bfac,c1078a2 -349bfb0,27a40018 -349bfb4,afa00010 -349bfb8,3825 -349bfbc,2406000b -349bfc0,24050006 -349bfc4,c1078d4 -349bfc8,2002025 -349bfcc,8fbf005c -349bfd0,8fb10058 -349bfd4,8fb00054 -349bfd8,3e00008 -349bfdc,27bd0060 -349bfe0,27bdfe28 -349bfe4,afbf01d4 -349bfe8,afb001d0 -349bfec,808025 -349bff0,3c03801c -349bff4,346384a0 -349bff8,946400a4 -349bffc,2403003e -349c000,1483000a -349c004,94a20018 -349c008,3c038011 -349c00c,3463a5d0 -349c010,90631397 -349c014,3063001f -349c018,306300ff -349c01c,31840 -349c020,431021 -349c024,24420040 -349c028,3042ffff -349c02c,24030015 -349c030,a7a30010 -349c034,a7a20026 -349c038,a7a0002c -349c03c,3825 -349c040,90c600a5 -349c044,27a50010 -349c048,c1040bf -349c04c,27a401c0 -349c050,8fa201c0 -349c054,50400015 -349c058,ae000000 -349c05c,afa201ac -349c060,8fa201c4 -349c064,afa201b0 -349c068,8fa201c8 -349c06c,afa201b4 -349c070,8fa201cc -349c074,afa201b8 -349c078,c1043c7 -349c07c,27a40010 -349c080,5440000a -349c084,ae000000 -349c088,8fa201c0 -349c08c,ae020000 -349c090,8fa201c4 -349c094,ae020004 -349c098,8fa201c8 -349c09c,ae020008 -349c0a0,8fa201cc -349c0a4,10000004 -349c0a8,ae02000c -349c0ac,ae000004 -349c0b0,ae000008 -349c0b4,ae00000c -349c0b8,2001025 -349c0bc,8fbf01d4 -349c0c0,8fb001d0 -349c0c4,3e00008 -349c0c8,27bd01d8 -349c0cc,27bdffc8 -349c0d0,afbf0034 -349c0d4,afb30030 -349c0d8,afb2002c -349c0dc,afb10028 -349c0e0,afb00024 -349c0e4,808025 -349c0e8,a08825 -349c0ec,3c02801c -349c0f0,344284a0 -349c0f4,944300a4 -349c0f8,2402003e -349c0fc,1462000a -349c100,94920018 -349c104,3c028011 -349c108,3442a5d0 -349c10c,90421397 -349c110,3042001f -349c114,304200ff -349c118,21040 -349c11c,2421021 -349c120,24420040 -349c124,3052ffff -349c128,6200025 -349c12c,8fbf0034 -349c130,3c06801c -349c134,34c684a0 -349c138,2002825 -349c13c,c106ff8 -349c140,27a40010 -349c144,8fa20010 -349c148,1040000c -349c14c,3c02800c -349c150,3c138043 -349c154,a6728614 -349c158,2203025 -349c15c,26050024 -349c160,3c04801c -349c164,3c028001 -349c168,244238b0 -349c16c,40f809 -349c170,348484a0 -349c174,10000011 -349c178,a6608614 -349c17c,3442dccc -349c180,40f809 -349c188,3c028042 -349c18c,c442003c -349c190,4600103c -349c198,45000009 -349c19c,8fbf0034 -349c1a0,2203025 -349c1a4,26050024 -349c1a8,3c04801c -349c1ac,3c028001 -349c1b0,24423678 -349c1b4,40f809 -349c1b8,348484a0 -349c1bc,8fbf0034 -349c1c0,8fb30030 -349c1c4,8fb2002c -349c1c8,8fb10028 -349c1cc,8fb00024 -349c1d0,3e00008 -349c1d4,27bd0038 -349c1d8,27bdffe8 -349c1dc,afbf0014 -349c1e0,afb00010 -349c1e4,80820116 -349c1e8,18400003 -349c1ec,808025 -349c1f0,2442ffff -349c1f4,a0820116 -349c1f8,960201a2 -349c1fc,24422ee0 -349c200,a60201a2 -349c204,8e02013c -349c208,40f809 -349c20c,2002025 -349c210,3c028006 -349c214,244236c4 -349c218,40f809 -349c21c,860401a2 -349c220,960301a0 -349c224,44831000 -349c22c,468010a0 -349c230,46001002 -349c234,96020014 -349c238,44821000 -349c240,468010a0 -349c244,46020000 -349c248,3c028042 -349c24c,c4420040 -349c250,4600103e -349c258,45030005 -349c25c,46020001 -349c260,4600000d -349c264,44020000 -349c268,10000006 -349c26c,a60200b4 -349c270,4600000d -349c274,44020000 -349c278,3c048000 -349c27c,441025 -349c280,a60200b4 -349c284,920201a4 -349c288,1040000b -349c28c,8fbf0014 -349c290,5460000a -349c294,8fb00010 -349c298,82020116 -349c29c,54400007 -349c2a0,8fb00010 -349c2a4,24020800 -349c2a8,a60201a0 -349c2ac,24020040 -349c2b0,a2020116 -349c2b4,8fbf0014 -349c2b8,8fb00010 -349c2bc,3e00008 -349c2c0,27bd0018 -349c2c4,27bdfe28 -349c2c8,afbf01d4 -349c2cc,afb001d0 -349c2d0,808025 -349c2d4,24020015 -349c2d8,a7a20010 -349c2dc,94a20018 -349c2e0,a7a20026 -349c2e4,a7a0002c -349c2e8,3825 -349c2ec,90c600a5 -349c2f0,27a50010 -349c2f4,c1040bf -349c2f8,27a401c0 -349c2fc,8fa201c0 -349c300,50400015 -349c304,ae000000 -349c308,afa201ac -349c30c,8fa201c4 -349c310,afa201b0 -349c314,8fa201c8 -349c318,afa201b4 -349c31c,8fa201cc -349c320,afa201b8 -349c324,c1043c7 -349c328,27a40010 -349c32c,5440000a -349c330,ae000000 -349c334,8fa201c0 -349c338,ae020000 -349c33c,8fa201c4 -349c340,ae020004 -349c344,8fa201c8 -349c348,ae020008 -349c34c,8fa201cc -349c350,10000004 -349c354,ae02000c -349c358,ae000004 -349c35c,ae000008 -349c360,ae00000c -349c364,2001025 -349c368,8fbf01d4 -349c36c,8fb001d0 -349c370,3e00008 -349c374,27bd01d8 -349c378,27bdffe8 -349c37c,afbf0014 -349c380,afb00010 -349c384,3c028040 -349c388,90421d8b -349c38c,10400008 -349c390,a08025 -349c394,3c028011 -349c398,3442a5d0 -349c39c,8c4200a4 -349c3a0,3c030020 -349c3a4,431024 -349c3a8,10400035 -349c3ac,3c020501 -349c3b0,9082018c -349c3b4,2c420012 -349c3b8,10400034 -349c3bc,3c020501 -349c3c0,9083018c -349c3c4,31880 -349c3c8,3c028042 -349c3cc,24420044 -349c3d0,431021 -349c3d4,8c420000 -349c3d8,400008 -349c3e0,3c028040 -349c3e4,90421d86 -349c3e8,5040002a -349c3ec,3c020501 -349c3f0,c1079c0 -349c3f4,2404000a -349c3f8,10000030 -349c3fc,8e030000 -349c400,3c028040 -349c404,90421d87 -349c408,50400024 -349c40c,3c020501 -349c410,c1079c0 -349c414,2404000b -349c418,10000028 -349c41c,8e030000 -349c420,3c028040 -349c424,90421d85 -349c428,5040001e -349c42c,3c020501 -349c430,c1079c0 -349c434,2404000d -349c438,10000020 -349c43c,8e030000 -349c440,3c028040 -349c444,90421d88 -349c448,50400018 -349c44c,3c020501 -349c450,c1079c0 -349c454,2404000c -349c458,10000018 -349c45c,8e030000 -349c460,3c028040 -349c464,90421d89 -349c468,50400012 -349c46c,3c020501 -349c470,c1079c0 -349c474,2404001d -349c478,10000010 -349c47c,8e030000 -349c480,1000000d -349c484,24421ca0 -349c488,3c020501 -349c48c,1000000a -349c490,24421ca0 -349c494,10000008 -349c498,24421ca0 -349c49c,10000006 -349c4a0,24421ca0 -349c4a4,10000004 -349c4a8,24421ca0 -349c4ac,10000002 -349c4b0,24421ca0 -349c4b4,24421ca0 -349c4b8,8e030000 -349c4bc,8c6402c4 -349c4c0,2485fff0 -349c4c4,ac6502c4 -349c4c8,3c05fd10 -349c4cc,ac85fff0 -349c4d0,ac82fff4 -349c4d4,8c6202c4 -349c4d8,3c04df00 -349c4dc,ac440008 -349c4e0,ac40000c -349c4e4,8c6402c4 -349c4e8,8c6202c0 -349c4ec,24450008 -349c4f0,ac6502c0 -349c4f4,3c03db06 -349c4f8,24630024 -349c4fc,ac430000 -349c500,ac440004 -349c504,3c050500 -349c508,24a55290 -349c50c,3c028002 -349c510,34428048 -349c514,40f809 -349c518,2002025 -349c51c,8fbf0014 -349c520,8fb00010 -349c524,3e00008 -349c528,27bd0018 -349c52c,9483001c -349c530,3066001f -349c534,2cc7001a -349c538,10e00013 -349c53c,801025 -349c540,27bdffe8 -349c544,afbf0014 -349c548,afb00010 -349c54c,a02025 -349c550,3c108043 -349c554,94450018 -349c558,a6058614 -349c55c,30633f00 -349c560,24450024 -349c564,3c028001 -349c568,24423678 -349c56c,40f809 -349c570,c33025 -349c574,a6008614 -349c578,8fbf0014 -349c57c,8fb00010 -349c580,3e00008 -349c584,27bd0018 -349c588,3e00008 -349c590,94820014 -349c594,3046001f -349c598,2cc2001a -349c59c,10400015 -349c5a0,801825 -349c5a4,27bdffe8 -349c5a8,afbf0014 -349c5ac,afb00010 -349c5b0,a02025 -349c5b4,846201a4 -349c5b8,3c108043 -349c5bc,94650016 -349c5c0,a6058614 -349c5c4,3042003f -349c5c8,21200 -349c5cc,c23025 -349c5d0,3c028001 -349c5d4,24423678 -349c5d8,40f809 -349c5dc,24650024 -349c5e0,a6008614 -349c5e4,8fbf0014 -349c5e8,8fb00010 -349c5ec,3e00008 -349c5f0,27bd0018 -349c5f4,3e00008 -349c5fc,27bdfe28 -349c600,afbf01d4 -349c604,afb001d0 -349c608,808025 -349c60c,24020015 -349c610,a7a20010 -349c614,94a20016 -349c618,a7a20026 -349c61c,a7a0002c -349c620,3825 -349c624,90c600a5 -349c628,27a50010 -349c62c,c1040bf -349c630,27a401c0 -349c634,8fa201c0 -349c638,50400015 -349c63c,ae000000 -349c640,afa201ac -349c644,8fa201c4 -349c648,afa201b0 -349c64c,8fa201c8 -349c650,afa201b4 -349c654,8fa201cc -349c658,afa201b8 -349c65c,c1043c7 -349c660,27a40010 -349c664,5440000a -349c668,ae000000 -349c66c,8fa201c0 -349c670,ae020000 -349c674,8fa201c4 -349c678,ae020004 -349c67c,8fa201c8 -349c680,ae020008 -349c684,8fa201cc -349c688,10000004 -349c68c,ae02000c -349c690,ae000004 -349c694,ae000008 -349c698,ae00000c -349c69c,2001025 -349c6a0,8fbf01d4 -349c6a4,8fb001d0 -349c6a8,3e00008 -349c6ac,27bd01d8 -349c6b0,27bdffe0 -349c6b4,afbf001c -349c6b8,afb10018 -349c6bc,afb00014 -349c6c0,808825 -349c6c4,a08025 -349c6c8,c1079c0 -349c6cc,24040005 -349c6d0,3c038040 -349c6d4,90631d8b -349c6d8,50600009 -349c6dc,922301a6 -349c6e0,3c038011 -349c6e4,3463a5d0 -349c6e8,8c6300a4 -349c6ec,3c040020 -349c6f0,641824 -349c6f4,50600033 -349c6f8,8e030000 -349c6fc,922301a6 -349c700,2c630012 -349c704,1060002e -349c708,3c038042 -349c70c,922401a6 -349c710,42080 -349c714,2463008c -349c718,641821 -349c71c,8c630000 -349c720,600008 -349c728,3c038040 -349c72c,90631d86 -349c730,50600024 -349c734,8e030000 -349c738,c1079c0 -349c73c,24040006 -349c740,10000020 -349c744,8e030000 -349c748,3c038040 -349c74c,90631d87 -349c750,5060001c -349c754,8e030000 -349c758,c1079c0 -349c75c,24040007 -349c760,10000018 -349c764,8e030000 -349c768,3c038040 -349c76c,90631d85 -349c770,50600014 -349c774,8e030000 -349c778,c1079c0 -349c77c,24040009 -349c780,10000010 -349c784,8e030000 -349c788,3c038040 -349c78c,90631d88 -349c790,5060000c -349c794,8e030000 -349c798,c1079c0 -349c79c,24040008 -349c7a0,10000008 -349c7a4,8e030000 -349c7a8,3c038040 -349c7ac,90631d89 -349c7b0,50600004 -349c7b4,8e030000 -349c7b8,c1079c0 -349c7bc,2404001c -349c7c0,8e030000 -349c7c4,8c6402c4 -349c7c8,2485ffd0 -349c7cc,ac6502c4 -349c7d0,3c06fd50 -349c7d4,ac86ffd0 -349c7d8,24450200 -349c7dc,ac85ffd4 -349c7e0,8c6502c4 -349c7e4,3c04df00 -349c7e8,aca40008 -349c7ec,aca0000c -349c7f0,8c6502c4 -349c7f4,3c07fd10 -349c7f8,aca70010 -349c7fc,aca20014 -349c800,8c6502c4 -349c804,aca40018 -349c808,aca0001c -349c80c,8c6502c4 -349c810,aca60020 -349c814,24420a00 -349c818,aca20024 -349c81c,8c6202c4 -349c820,ac440028 -349c824,ac40002c -349c828,8c6402c4 -349c82c,8c6202c0 -349c830,24450008 -349c834,ac6502c0 -349c838,3c03db06 -349c83c,24630024 -349c840,ac430000 -349c844,ac440004 -349c848,3c050600 -349c84c,24a50960 -349c850,3c028002 -349c854,34428048 -349c858,40f809 -349c85c,2002025 -349c860,8fbf001c -349c864,8fb10018 -349c868,8fb00014 -349c86c,3e00008 -349c870,27bd0020 -349c874,27bdffe0 -349c878,afbf001c -349c87c,afb20018 -349c880,afb10014 -349c884,afb00010 -349c888,808825 -349c88c,3c028008 -349c890,24421628 -349c894,40f809 -349c898,a08025 -349c89c,2403ffff -349c8a0,1443000d -349c8a4,8fbf001c -349c8a8,92230008 -349c8ac,2c630013 -349c8b0,1060000a -349c8b4,8fb20018 -349c8b8,92320009 -349c8bc,2002825 -349c8c0,3c028008 -349c8c4,244212f0 -349c8c8,40f809 -349c8cc,2202025 -349c8d0,a2320009 -349c8d4,8fbf001c -349c8d8,8fb20018 -349c8dc,8fb10014 -349c8e0,8fb00010 -349c8e4,3e00008 -349c8e8,27bd0020 -349c8ec,27bdffd8 -349c8f0,afbf0024 -349c8f4,afb10020 -349c8f8,afb0001c -349c8fc,a08825 -349c900,c08025 -349c904,3c028042 -349c908,c44000d8 -349c90c,3c028042 -349c910,8c4700d4 -349c914,3c028002 -349c918,24422cf4 +349bee4,240200c8 +349bee8,3e00008 +349beec,240200c8 +349bef0,afa60008 +349bef4,afa7000c +349bef8,8483002e +349befc,28630140 +349bf00,14600008 +349bf04,97a20010 +349bf08,24030076 +349bf0c,50430005 +349bf10,2402007f +349bf14,3842003d +349bf18,2c420001 +349bf1c,3e00008 +349bf20,2442007d +349bf24,3e00008 +349bf2c,afa60008 +349bf30,afa7000c +349bf34,3c038040 +349bf38,8c631dc4 +349bf3c,1060000d +349bf40,97a20010 +349bf44,93a30012 +349bf48,3c058040 +349bf4c,90a50024 +349bf50,10a30004 +349bf54,3c058040 +349bf58,90a5002b +349bf5c,54a00007 +349bf60,32040 +349bf64,9084007c +349bf68,240300ff +349bf6c,1083000d +349bf70,2403006a +349bf74,3e00008 +349bf7c,831821 +349bf80,31840 +349bf84,3c048040 +349bf88,2484083c +349bf8c,641821 +349bf90,94630000 +349bf94,31982 +349bf98,30630001 +349bf9c,1460fff5 +349bfa0,2403006a +349bfa4,10430007 +349bfa8,2403006b +349bfac,10430007 +349bfb0,24030003 +349bfb4,5043ffef +349bfb8,240200d5 +349bfbc,3e00008 +349bfc4,3e00008 +349bfc8,240200d6 +349bfcc,3e00008 +349bfd0,240200d4 +349bfd4,3e00008 +349bfdc,afa60008 +349bfe0,afa7000c +349bfe4,97a20010 +349bfe8,24030071 +349bfec,14430029 +349bff0,3c038040 +349bff4,3c038040 +349bff8,90636d30 +349bffc,14600015 +349c000,3c038040 +349c004,3c038040 +349c008,90636d31 +349c00c,10600011 +349c010,3c038040 +349c014,93a50012 +349c018,3c038040 +349c01c,90630024 +349c020,14a3000c +349c024,3c038040 +349c028,90840081 +349c02c,2403000f +349c030,10830007 +349c034,3c03801c +349c038,346384a0 +349c03c,3c040001 +349c040,641821 +349c044,80631cbc +349c048,1460000e +349c050,3c038040 +349c054,90631de5 +349c058,1460000c +349c060,3e00008 +349c068,50600004 +349c06c,24420060 +349c070,24420074 +349c074,3e00008 +349c078,3042ffff +349c07c,3e00008 +349c080,3042ffff +349c084,3e00008 +349c088,24020072 +349c08c,3e00008 +349c090,24020118 +349c094,90631de5 +349c098,1460fff3 +349c09c,2c4300af +349c0a0,3e00008 +349c0a8,27bdffb8 +349c0ac,afbf0044 +349c0b0,afbe0040 +349c0b4,afb7003c +349c0b8,afb60038 +349c0bc,afb50034 +349c0c0,afb40030 +349c0c4,afb3002c +349c0c8,afb20028 +349c0cc,afb10024 +349c0d0,afb00020 +349c0d4,80b025 +349c0d8,afa0001c +349c0dc,3c100001 +349c0e0,26020760 +349c0e4,821021 +349c0e8,afa20018 +349c0ec,8c910000 +349c0f0,c01fa1a +349c0f4,2202025 +349c0f8,8e2202c0 +349c0fc,24430008 +349c100,ae2302c0 +349c104,3c03fc11 +349c108,34639623 +349c10c,ac430000 +349c110,3c03ff2f +349c114,3463ffff +349c118,ac430004 +349c11c,2d01021 +349c120,a44009c0 +349c124,a44009be +349c128,94430934 +349c12c,24020006 +349c130,14620227 +349c134,3c020001 +349c138,2c21021 +349c13c,94420944 +349c140,14400223 +349c144,3c020001 +349c148,2c21021 +349c14c,94420948 +349c150,54400232 +349c154,8e2202b0 +349c158,3c020001 +349c15c,2c21021 +349c160,84520978 +349c164,9450099e +349c168,944309a6 +349c16c,afa3001c +349c170,84460998 +349c174,14c00072 +349c178,2402000a +349c17c,3c020001 +349c180,2c21021 +349c184,24030004 +349c188,a44309c0 +349c18c,240203e7 +349c190,16020006 +349c194,3c020001 +349c198,2c21021 +349c19c,24030028 +349c1a0,a4430974 +349c1a4,1000000a +349c1a8,24070028 +349c1ac,2c21021 +349c1b0,84470974 +349c1b4,71bc3 +349c1b8,e31026 +349c1bc,431023 +349c1c0,3042ffff +349c1c4,2c42001f +349c1c8,144000d9 +349c1cc,3c020001 +349c1d0,3c020001 +349c1d4,2c21021 +349c1d8,84450982 +349c1dc,8449098c +349c1e0,28e8ffe2 +349c1e4,28e7001f +349c1e8,10000051 +349c1ec,401825 +349c1f0,5080000a +349c1f4,a4650982 +349c1f8,3c020001 +349c1fc,2c21021 +349c200,2484ffff +349c204,a4440982 +349c208,94420978 +349c20c,2442ffff +349c210,21400 +349c214,100002ff +349c218,21403 +349c21c,9462098c +349c220,24420001 +349c224,21400 +349c228,21403 +349c22c,284a0004 +349c230,55400001 +349c234,402025 +349c238,41040 +349c23c,821021 +349c240,21040 +349c244,451021 +349c248,21400 +349c24c,21403 +349c250,284a0018 +349c254,15400002 +349c258,a464098c +349c25c,a01025 +349c260,15240033 +349c264,a4620978 +349c268,3c020001 +349c26c,2c21021 +349c270,a4520978 +349c274,2405000a +349c278,c0e5149 +349c27c,2c02025 +349c280,100000a2 +349c284,24060002 +349c288,14e00029 +349c290,84620982 +349c294,28440005 +349c298,5080000a +349c29c,a4650982 +349c2a0,3c030001 +349c2a4,2c31821 +349c2a8,24420001 +349c2ac,a4620982 +349c2b0,94620978 +349c2b4,24420001 +349c2b8,21400 +349c2bc,100002d5 +349c2c0,21403 +349c2c4,9464098c +349c2c8,24840001 +349c2cc,42400 +349c2d0,42403 +349c2d4,28820004 +349c2d8,50400001 +349c2dc,c02025 +349c2e0,41040 +349c2e4,821021 +349c2e8,21040 +349c2ec,451021 +349c2f0,21400 +349c2f4,21403 +349c2f8,284a0018 +349c2fc,15400002 +349c300,a464098c +349c304,a01025 +349c308,15240009 +349c30c,a4620978 +349c310,3c020001 +349c314,2c21021 +349c318,a4520978 +349c31c,2405000b +349c320,c0e5149 +349c324,2c02025 +349c328,100002b8 +349c32c,24060002 +349c330,5500ffaf +349c334,84640982 +349c338,1000ffd3 +349c340,14c2003a +349c344,3c020001 +349c348,2c21021 +349c34c,84420974 +349c350,2842001f +349c354,14400188 +349c358,3c020001 +349c35c,2c21021 +349c360,a44009bc +349c364,a4400998 +349c368,3c028010 +349c36c,244243a8 +349c370,afa20014 +349c374,3c078010 +349c378,24e743a0 +349c37c,afa70010 +349c380,24060004 +349c384,3c058010 +349c388,24a54394 +349c38c,3c02800c +349c390,3442806c +349c394,40f809 +349c398,24044809 +349c39c,1025 +349c3a0,4825 +349c3a4,3c058011 +349c3a8,34a5a5d0 +349c3ac,240800ff +349c3b0,24070004 +349c3b4,24060006 +349c3b8,402025 +349c3bc,1201825 +349c3c0,a45021 +349c3c4,914a0074 +349c3c8,51480008 +349c3cc,24630001 +349c3d0,3c050001 +349c3d4,2c52821 +349c3d8,a4a40978 +349c3dc,a4a20982 +349c3e0,a4a3098c +349c3e4,10000049 +349c3e8,24060001 +349c3ec,31c00 +349c3f0,31c03 +349c3f4,24840006 +349c3f8,42400 +349c3fc,1467fff0 +349c400,42403 +349c404,24420001 +349c408,21400 +349c40c,21403 +349c410,5446ffea +349c414,402025 +349c418,2405000b +349c41c,c0e5149 +349c420,2c02025 +349c424,10000039 +349c428,3025 +349c42c,2c21021 +349c430,84420974 +349c434,2842ffe2 +349c438,1040014f +349c43c,3c020001 +349c440,2c21021 +349c444,a44009bc +349c448,a4400998 +349c44c,3c028010 +349c450,244243a8 +349c454,afa20014 +349c458,3c078010 +349c45c,24e743a0 +349c460,afa70010 +349c464,24060004 +349c468,3c058010 +349c46c,24a54394 +349c470,3c02800c +349c474,3442806c +349c478,40f809 +349c47c,24044809 +349c480,24020005 +349c484,4825 +349c488,3c058011 +349c48c,34a5a5d0 +349c490,240800ff +349c494,24070004 +349c498,2406ffff +349c49c,402025 +349c4a0,1201825 +349c4a4,a45021 +349c4a8,914a0074 +349c4ac,51480008 +349c4b0,24630001 +349c4b4,3c050001 +349c4b8,2c52821 +349c4bc,a4a40978 +349c4c0,a4a20982 +349c4c4,a4a3098c +349c4c8,10000010 +349c4cc,24060001 +349c4d0,31c00 +349c4d4,31c03 +349c4d8,24840006 +349c4dc,42400 +349c4e0,1467fff0 +349c4e4,42403 +349c4e8,2442ffff +349c4ec,21400 +349c4f0,21403 +349c4f4,1446ffea +349c4f8,402025 +349c4fc,2405000a +349c500,c0e5149 +349c504,2c02025 +349c508,3025 +349c50c,3c020001 +349c510,2c21021 +349c514,84420998 +349c518,14400117 +349c51c,3c020001 +349c520,240203e7 +349c524,12020044 +349c528,3c030001 +349c52c,3c020001 +349c530,2c21021 +349c534,84420976 +349c538,223c3 +349c53c,441826 +349c540,641823 +349c544,3063ffff +349c548,2c63001f +349c54c,1460003a +349c550,3c030001 +349c554,2c31821 +349c558,84670978 +349c55c,8468098c +349c560,2846001f +349c564,2844ffe2 +349c568,3c030001 +349c56c,2c31821 +349c570,3c058011 +349c574,34a5a5d0 +349c578,1000002b +349c57c,240900ff +349c580,10400219 +349c584,2442ffff +349c588,a462098c +349c58c,94620978 +349c590,2442fffa +349c594,21400 +349c598,21403 +349c59c,a4620978 +349c5a0,a21021 +349c5a4,90420074 +349c5a8,54490208 +349c5ac,3c030001 +349c5b0,94620982 +349c5b4,2442ffff +349c5b8,3042ffff +349c5bc,2c420004 +349c5c0,10400019 +349c5c8,10000200 +349c5cc,3c030001 +349c5d0,10800015 +349c5d8,8462098c +349c5dc,284a0003 +349c5e0,11400201 +349c5e4,24420001 +349c5e8,a462098c +349c5ec,94620978 +349c5f0,24420006 +349c5f4,21400 +349c5f8,21403 +349c5fc,a4620978 +349c600,a21021 +349c604,90420074 +349c608,544901f0 +349c60c,3c030001 +349c610,94620982 +349c614,2442ffff +349c618,3042ffff +349c61c,2c420004 +349c620,544001ea +349c624,3c030001 +349c628,50c0ffd5 +349c62c,8462098c +349c630,1000ffe7 +349c638,2c31821 +349c63c,84620978 +349c640,3044ffff +349c644,afa4001c +349c648,24040004 +349c64c,a46409c0 +349c650,24030001 +349c654,14c30006 +349c658,24030002 +349c65c,3c038011 +349c660,3463a5d0 +349c664,621021 +349c668,10000006 +349c66c,90500074 +349c670,10c30004 +349c674,3c038011 +349c678,3463a5d0 +349c67c,621021 +349c680,90500074 +349c684,3c020001 +349c688,2c21021 +349c68c,a450099e +349c690,8fa3001c +349c694,a44309a6 +349c698,60a025 +349c69c,3c02803a +349c6a0,2442f114 +349c6a4,621021 +349c6a8,90430000 +349c6ac,24020009 +349c6b0,10620005 +349c6b4,3c028011 +349c6b8,3442a5d0 +349c6bc,8c420004 +349c6c0,14620005 +349c6c4,3c020001 +349c6c8,240200ff +349c6cc,16020006 +349c6d0,240203e7 +349c6d4,3c020001 +349c6d8,2c21021 +349c6dc,24030001 +349c6e0,a44309be +349c6e4,240203e7 +349c6e8,12020090 +349c6ec,3c020001 +349c6f0,8fa2001c +349c6f4,29880 +349c6f8,3273ffff +349c6fc,3c150001 +349c700,2d5a821 +349c704,8ea608b8 +349c708,2602825 +349c70c,c0e3be5 +349c710,8fa40018 +349c714,8ea30934 +349c718,3c020006 +349c71c,1462009a +349c720,3c020001 +349c724,96a20944 +349c728,14400097 +349c72c,3c020001 +349c730,96c20020 +349c734,30430007 +349c738,50600093 +349c73c,3c020001 +349c740,3c03803a +349c744,2463f114 +349c748,283a021 +349c74c,92840000 +349c750,24030009 +349c754,10830005 +349c758,3c038011 +349c75c,3463a5d0 +349c760,8c630004 +349c764,54830063 +349c768,3c028010 +349c76c,2403002c +349c770,1203005f +349c774,240300ff +349c778,1203005d +349c77c,30430002 +349c780,10600005 +349c784,30430004 +349c788,3c020001 +349c78c,2c21021 +349c790,1000000d +349c794,a44009b2 +349c798,10600006 +349c79c,30420001 +349c7a0,3c020001 +349c7a4,2c21021 +349c7a8,24030001 +349c7ac,10000006 +349c7b0,a44309b2 +349c7b4,10400005 +349c7b8,3c020001 +349c7bc,2c21021 +349c7c0,24030002 +349c7c4,a44309b2 +349c7c8,3c020001 +349c7cc,2c21021 +349c7d0,a45009ae +349c7d4,8fa3001c +349c7d8,a44309b0 +349c7dc,24050003 +349c7e0,a4450944 +349c7e4,139900 +349c7e8,8c4408b8 +349c7ec,932021 +349c7f0,94860000 +349c7f4,61880 +349c7f8,661821 +349c7fc,31840 +349c800,a44309b4 +349c804,94840002 +349c808,41880 +349c80c,641821 +349c810,31840 +349c814,a44309b6 +349c818,240300ff +349c81c,a44309b8 +349c820,3c02803a +349c824,a440eab4 +349c828,3c02803a +349c82c,a445eab0 +349c830,3c02803a +349c834,2403000a +349c838,a443eab8 +349c83c,3202fff7 +349c840,24030004 +349c844,1043015e +349c848,24020012 +349c84c,1602001a +349c850,3c028010 +349c854,24100002 +349c858,3c028010 +349c85c,244243a8 +349c860,afa20014 +349c864,3c078010 +349c868,24e743a0 +349c86c,afa70010 +349c870,24060004 +349c874,3c058010 +349c878,24a54394 +349c87c,3c02800c +349c880,3442806c +349c884,40f809 +349c888,2604483e +349c88c,3c020001 +349c890,2c21021 +349c894,261000bf +349c898,a45009ae +349c89c,3c03803a +349c8a0,a460eab0 +349c8a4,a44009b8 +349c8a8,3c02803a +349c8ac,24030006 +349c8b0,10000034 +349c8b4,a443eab8 +349c8b8,244243a8 +349c8bc,afa20014 +349c8c0,3c078010 +349c8c4,24e743a0 +349c8c8,afa70010 +349c8cc,24060004 +349c8d0,3c058010 +349c8d4,24a54394 +349c8d8,3c02800c +349c8dc,3442806c +349c8e0,40f809 +349c8e4,24044808 +349c8e8,10000027 +349c8ec,3c020001 +349c8f0,3c028010 +349c8f4,244243a8 +349c8f8,afa20014 +349c8fc,3c078010 +349c900,24e743a0 +349c904,afa70010 +349c908,24060004 +349c90c,3c058010 +349c910,24a54394 +349c914,3c02800c +349c918,3442806c 349c91c,40f809 -349c920,e7a00010 -349c924,14400018 -349c928,8fbf0024 -349c92c,3c028040 -349c930,90421d76 -349c934,50400015 -349c938,8fb10020 -349c93c,24020043 -349c940,12020005 -349c944,24020044 -349c948,1202000a -349c94c,24050079 -349c950,1000000e -349c954,8fb10020 -349c958,24050078 -349c95c,3c028006 -349c960,3442fdcc -349c964,40f809 -349c968,2202025 -349c96c,10000006 -349c970,8fbf0024 -349c974,3c028006 -349c978,3442fdcc -349c97c,40f809 -349c980,2202025 -349c984,8fbf0024 -349c988,8fb10020 -349c98c,8fb0001c -349c990,3e00008 -349c994,27bd0028 -349c998,3c028011 -349c99c,3442a5d0 -349c9a0,8c4309a4 -349c9a4,38620001 -349c9a8,30640002 -349c9ac,14800002 -349c9b0,30420001 -349c9b4,34420002 -349c9b8,30640004 -349c9bc,50800001 -349c9c0,34420004 -349c9c4,30640008 -349c9c8,50800001 -349c9cc,34420008 -349c9d0,30630010 -349c9d4,50600001 -349c9d8,34420010 -349c9dc,3e00008 -349c9e4,3c028040 -349c9e8,90421d7e -349c9ec,1040000c -349c9f4,27bdffe8 -349c9f8,afbf0014 -349c9fc,c107266 -349ca04,3c038040 -349ca08,90631d7f -349ca0c,431024 -349ca10,2c420001 -349ca14,8fbf0014 -349ca18,3e00008 -349ca1c,27bd0018 -349ca20,3e00008 -349ca24,24020001 -349ca28,27bdfe28 -349ca2c,afbf01d4 -349ca30,afb001d0 -349ca34,808025 -349ca38,24020015 -349ca3c,a7a20010 -349ca40,94a20018 -349ca44,a7a20026 -349ca48,a7a0002c -349ca4c,3825 -349ca50,90c600a5 -349ca54,27a50010 -349ca58,c1040bf -349ca5c,27a401c0 -349ca60,8fa201c0 -349ca64,50400015 -349ca68,ae000000 -349ca6c,afa201ac -349ca70,8fa201c4 -349ca74,afa201b0 -349ca78,8fa201c8 -349ca7c,afa201b4 -349ca80,8fa201cc -349ca84,afa201b8 -349ca88,c1043c7 -349ca8c,27a40010 -349ca90,5440000a -349ca94,ae000000 -349ca98,8fa201c0 -349ca9c,ae020000 -349caa0,8fa201c4 -349caa4,ae020004 -349caa8,8fa201c8 -349caac,ae020008 -349cab0,8fa201cc -349cab4,10000004 -349cab8,ae02000c -349cabc,ae000004 -349cac0,ae000008 -349cac4,ae00000c -349cac8,2001025 -349cacc,8fbf01d4 -349cad0,8fb001d0 -349cad4,3e00008 -349cad8,27bd01d8 -349cadc,27bdfe28 -349cae0,afbf01d4 -349cae4,afb001d0 -349cae8,808025 -349caec,24020015 -349caf0,a7a20010 -349caf4,94a20018 -349caf8,a7a20026 -349cafc,a7a0002c -349cb00,3825 -349cb04,90c600a5 -349cb08,27a50010 -349cb0c,c1040bf -349cb10,27a401c0 -349cb14,8fa201c0 -349cb18,50400015 -349cb1c,ae000000 -349cb20,afa201ac -349cb24,8fa201c4 -349cb28,afa201b0 -349cb2c,8fa201c8 -349cb30,afa201b4 -349cb34,8fa201cc -349cb38,afa201b8 -349cb3c,c1043c7 -349cb40,27a40010 -349cb44,5440000a -349cb48,ae000000 -349cb4c,8fa201c0 -349cb50,ae020000 -349cb54,8fa201c4 -349cb58,ae020004 -349cb5c,8fa201c8 -349cb60,ae020008 -349cb64,8fa201cc -349cb68,10000004 -349cb6c,ae02000c -349cb70,ae000004 -349cb74,ae000008 -349cb78,ae00000c -349cb7c,2001025 -349cb80,8fbf01d4 -349cb84,8fb001d0 -349cb88,3e00008 -349cb8c,27bd01d8 -349cb90,27bdffd8 -349cb94,afbf0024 -349cb98,afb30020 -349cb9c,afb2001c -349cba0,afb10018 -349cba4,afb00014 -349cba8,84820000 -349cbac,24030111 -349cbb0,14430081 -349cbb4,a08025 -349cbb8,9482001c -349cbbc,21202 -349cbc0,30420001 -349cbc4,54400089 -349cbc8,3c130600 -349cbcc,10000083 -349cbd0,3c110501 -349cbd4,9082019c -349cbd8,263318a0 -349cbdc,263208a0 -349cbe0,26317870 -349cbe4,3c038040 -349cbe8,90631d8b -349cbec,10600009 -349cbf0,2c430012 -349cbf4,3c038011 -349cbf8,3463a5d0 -349cbfc,8c6300a4 -349cc00,3c040020 -349cc04,641824 -349cc08,50600035 -349cc0c,8e030000 -349cc10,2c430012 -349cc14,10600031 -349cc18,21080 -349cc1c,3c038042 -349cc20,246300dc -349cc24,621021 -349cc28,8c420000 -349cc2c,400008 -349cc34,3c028040 -349cc38,90421d86 -349cc3c,50400028 -349cc40,8e030000 -349cc44,c1079c0 -349cc48,24040001 -349cc4c,10000023 -349cc50,409025 -349cc54,3c028040 -349cc58,90421d87 -349cc5c,50400020 -349cc60,8e030000 -349cc64,c1079c0 -349cc68,24040002 -349cc6c,1000001b -349cc70,409025 -349cc74,3c028040 -349cc78,90421d85 -349cc7c,50400018 -349cc80,8e030000 -349cc84,c1079c0 -349cc88,24040003 -349cc8c,10000013 -349cc90,409025 -349cc94,3c028040 -349cc98,90421d88 -349cc9c,50400010 -349cca0,8e030000 -349cca4,c1079c0 -349cca8,24040004 -349ccac,1000000b -349ccb0,409025 -349ccb4,3c028040 -349ccb8,90421d89 -349ccbc,50400008 -349ccc0,8e030000 -349ccc4,c1079c0 -349ccc8,2404001a -349cccc,409025 -349ccd0,c1079c0 -349ccd4,2404001b -349ccd8,409825 -349ccdc,8e030000 -349cce0,8c6402c4 -349cce4,2482ffe0 -349cce8,ac6202c4 -349ccec,3c07fd10 -349ccf0,ac87ffe0 -349ccf4,ac92ffe4 -349ccf8,8c6202c4 -349ccfc,3c06df00 -349cd00,ac460008 -349cd04,ac40000c -349cd08,8c6202c4 -349cd0c,8c6502c0 -349cd10,24a40008 -349cd14,ac6402c0 -349cd18,3c04db06 -349cd1c,24880024 -349cd20,aca80000 -349cd24,aca20004 -349cd28,8c6202c4 -349cd2c,ac470010 -349cd30,ac530014 -349cd34,8c6202c4 -349cd38,ac460018 -349cd3c,ac40001c -349cd40,8c6502c4 -349cd44,24a50010 -349cd48,8c6202c0 -349cd4c,24460008 -349cd50,ac6602c0 -349cd54,24840028 -349cd58,ac440000 -349cd5c,ac450004 -349cd60,2202825 -349cd64,3c028002 -349cd68,34428048 -349cd6c,40f809 -349cd70,2002025 -349cd74,8fbf0024 -349cd78,8fb30020 -349cd7c,8fb2001c -349cd80,8fb10018 -349cd84,8fb00014 -349cd88,3e00008 -349cd8c,27bd0028 -349cd90,3c130600 -349cd94,26731000 -349cd98,3c120600 -349cd9c,265117c0 -349cda0,3c028040 -349cda4,90421d8b -349cda8,1040ffcc -349cdac,1025 -349cdb0,1000ff91 -349cdb4,3c038011 -349cdb8,24030117 -349cdbc,1043fff4 -349cdc0,2403011d -349cdc4,1043ff83 -349cdc8,3c110501 -349cdcc,263318a0 -349cdd0,263208a0 -349cdd4,1000fff2 -349cdd8,26317870 -349cddc,263318a0 -349cde0,263208a0 -349cde4,10000004 -349cde8,26317870 -349cdec,26731000 -349cdf0,3c120600 -349cdf4,265117c0 -349cdf8,1000ff7a -349cdfc,9082018d -349ce00,27bdffe8 -349ce04,afbf0014 -349ce08,c1072e4 -349ce10,8fbf0014 -349ce14,3e00008 -349ce18,27bd0018 -349ce1c,8482014a -349ce20,14400008 -349ce28,27bdffe8 -349ce2c,afbf0014 -349ce30,c1072e4 -349ce38,8fbf0014 -349ce3c,3e00008 -349ce40,27bd0018 -349ce44,3e00008 -349ce4c,27bdffe8 -349ce50,afbf0014 -349ce54,c1072e4 -349ce5c,8fbf0014 -349ce60,3e00008 -349ce64,27bd0018 -349ce68,9482001c -349ce6c,3046001f -349ce70,2cc7001a -349ce74,10e00014 -349ce78,801825 -349ce7c,27bdffe8 -349ce80,afbf0014 -349ce84,afb00010 -349ce88,a02025 -349ce8c,3c108043 -349ce90,94650018 -349ce94,a6058614 -349ce98,21042 -349ce9c,30423f00 -349cea0,c23025 -349cea4,3c028001 -349cea8,24423678 -349ceac,40f809 -349ceb0,24650024 -349ceb4,a6008614 -349ceb8,8fbf0014 -349cebc,8fb00010 -349cec0,3e00008 -349cec4,27bd0018 -349cec8,3e00008 -349ced0,801825 -349ced4,a02025 -349ced8,9462001c -349cedc,2c450680 -349cee0,10a00013 -349cee4,23182 -349cee8,27bdffe8 -349ceec,afbf0014 -349cef0,afb00010 -349cef4,3c108043 -349cef8,94650018 -349cefc,a6058614 -349cf00,21200 -349cf04,30423f00 -349cf08,463025 -349cf0c,3c028001 -349cf10,24423678 -349cf14,40f809 -349cf18,24650024 -349cf1c,a6008614 -349cf20,8fbf0014 -349cf24,8fb00010 -349cf28,3e00008 -349cf2c,27bd0018 +349c920,24044806 +349c924,10000018 +349c928,3c020001 +349c92c,2c21021 +349c930,8c4308c8 +349c934,a4600030 +349c938,8c4308c8 +349c93c,a4600010 +349c940,8c4308c8 +349c944,a4600020 +349c948,8c4308c8 +349c94c,a4600000 +349c950,8c4408c8 +349c954,2403ff38 +349c958,a4830032 +349c95c,8c4408c8 +349c960,a4830022 +349c964,8c4408c8 +349c968,a4830012 +349c96c,8c4208c8 +349c970,10000004 +349c974,a4430002 +349c978,2c21021 +349c97c,240303e7 +349c980,a443099e +349c984,3c020001 +349c988,2c21021 +349c98c,84420978 +349c990,10520021 +349c994,3c028010 +349c998,244243a8 +349c99c,afa20014 +349c9a0,3c078010 +349c9a4,24e743a0 +349c9a8,afa70010 +349c9ac,24060004 +349c9b0,3c058010 +349c9b4,24a54394 +349c9b8,3c02800c +349c9bc,3442806c +349c9c0,40f809 +349c9c4,24044809 +349c9c8,10000014 +349c9cc,8e2202b0 +349c9d0,2c21021 +349c9d4,94430944 +349c9d8,24020003 +349c9dc,5462000f +349c9e0,8e2202b0 +349c9e4,3c020001 +349c9e8,2c21021 +349c9ec,94420948 +349c9f0,5440000a +349c9f4,8e2202b0 +349c9f8,3c100001 +349c9fc,2d08021 +349ca00,8e0608b8 +349ca04,2825 +349ca08,c0e3be5 +349ca0c,8fa40018 +349ca10,24020004 +349ca14,a60209c0 +349ca18,8e2202b0 +349ca1c,24430008 +349ca20,ae2302b0 +349ca24,3c03fc30 +349ca28,34639661 +349ca2c,ac430000 +349ca30,3c03552e +349ca34,3463ff7f +349ca38,ac430004 +349ca3c,3c020001 +349ca40,2c21021 +349ca44,94430968 +349ca48,2402ff00 +349ca4c,621825 +349ca50,8e2202c0 +349ca54,24440008 +349ca58,ae2402c0 +349ca5c,3c04fa00 +349ca60,ac440000 +349ca64,ac430004 +349ca68,8e2202c0 +349ca6c,24430008 +349ca70,ae2302c0 +349ca74,3c03fb00 +349ca78,ac430000 +349ca7c,ac400004 +349ca80,24100001 +349ca84,3c128011 +349ca88,3652a5d0 +349ca8c,3c140001 +349ca90,2d4a021 +349ca94,3c130200 +349ca98,26730e00 +349ca9c,2501021 +349caa0,90430068 +349caa4,240200ff +349caa8,50620014 +349caac,26100001 +349cab0,101180 +349cab4,244205c0 +349cab8,8e8308b8 +349cabc,621821 +349cac0,8e2202c0 +349cac4,24440008 +349cac8,ae2402c0 +349cacc,3c040100 +349cad0,24844008 +349cad4,ac440000 +349cad8,ac430004 +349cadc,8e2402c0 +349cae0,afa00010 +349cae4,24070020 +349cae8,24060020 +349caec,c0e5080 +349caf0,2602825 +349caf4,ae2202c0 +349caf8,26100001 +349cafc,24020004 +349cb00,5602ffe7 +349cb04,2501021 +349cb08,8e2202c0 +349cb0c,24430008 +349cb10,ae2302c0 +349cb14,3c03e700 +349cb18,ac430000 +349cb1c,ac400004 +349cb20,8e2202c0 +349cb24,24430008 +349cb28,ae2302c0 +349cb2c,3c03fc11 +349cb30,34639623 +349cb34,ac430000 +349cb38,3c03ff2f +349cb3c,3463ffff +349cb40,ac430004 +349cb44,3c14803a +349cb48,2694f114 +349cb4c,9025 +349cb50,8025 +349cb54,3c130001 +349cb58,2d39821 +349cb5c,2417ff00 +349cb60,3c158011 +349cb64,36b5a5d0 +349cb68,3c1e8010 +349cb6c,27de8d2c +349cb70,96630968 +349cb74,771825 +349cb78,8e2202c0 +349cb7c,24440008 +349cb80,ae2402c0 +349cb84,3c04fa00 +349cb88,ac440000 +349cb8c,ac430004 +349cb90,2b01821 +349cb94,90640074 +349cb98,240300ff +349cb9c,10830057 +349cba0,2001025 +349cba4,96630944 +349cba8,54600042 +349cbac,8e6408b8 +349cbb0,96630948 +349cbb4,5460003f +349cbb8,8e6408b8 +349cbbc,86630998 +349cbc0,5460003c +349cbc4,8e6408b8 +349cbc8,92830000 +349cbcc,24040009 +349cbd0,50640005 +349cbd4,3203ffff +349cbd8,8ea40004 +349cbdc,54640035 +349cbe0,8e6408b8 +349cbe4,3203ffff +349cbe8,8fa4001c +349cbec,54640031 +349cbf0,8e6408b8 +349cbf4,8e6508b8 +349cbf8,26440020 +349cbfc,b21821 +349cc00,94630000 +349cc04,2463fffe +349cc08,31c00 +349cc0c,31c03 +349cc10,a42821 +349cc14,a4a30000 +349cc18,8e6508b8 +349cc1c,b22821 +349cc20,a4a30000 +349cc24,8e6508b8 +349cc28,26460030 +349cc2c,b21821 +349cc30,94630000 +349cc34,24630020 +349cc38,31c00 +349cc3c,31c03 +349cc40,a62821 +349cc44,a4a30000 +349cc48,26470010 +349cc4c,8e6508b8 +349cc50,a72821 +349cc54,a4a30000 +349cc58,8e6508b8 +349cc5c,b21821 +349cc60,94630002 +349cc64,24630002 +349cc68,31c00 +349cc6c,31c03 +349cc70,a72821 +349cc74,a4a30002 +349cc78,8e6508b8 +349cc7c,b22821 +349cc80,a4a30002 +349cc84,8e6508b8 +349cc88,b21821 +349cc8c,94630002 +349cc90,2463ffe0 +349cc94,31c00 +349cc98,31c03 +349cc9c,a62821 +349cca0,a4a30002 +349cca4,8e6508b8 +349cca8,a42021 +349ccac,a4830002 +349ccb0,8e6408b8 +349ccb4,922021 +349ccb8,8e2302c0 +349ccbc,24650008 +349ccc0,ae2502c0 +349ccc4,3c050100 +349ccc8,24a54008 +349cccc,ac650000 +349ccd0,ac640004 +349ccd4,2a21021 +349ccd8,90420074 +349ccdc,21080 +349cce0,5e1021 +349cce4,afa00010 +349cce8,24070020 +349ccec,24060020 +349ccf0,8c450000 +349ccf4,c0e5162 +349ccf8,8ec40000 +349ccfc,26100001 +349cd00,26520040 +349cd04,24020018 +349cd08,1602ff99 +349cd0c,26940001 +349cd10,3c020001 +349cd14,2c21021 +349cd18,84420998 +349cd1c,54400005 +349cd20,8e2202c0 +349cd24,2825 +349cd28,c0e52c0 +349cd2c,2c02025 +349cd30,8e2202c0 +349cd34,24430008 +349cd38,ae2302c0 +349cd3c,3c03e700 +349cd40,ac430000 +349cd44,ac400004 +349cd48,8e2202c0 +349cd4c,24430008 +349cd50,ae2302c0 +349cd54,3c03fc30 +349cd58,34639661 +349cd5c,ac430000 +349cd60,3c03552e +349cd64,3463ff7f +349cd68,ac430004 +349cd6c,3c11803a +349cd70,2631eaa0 +349cd74,8025 +349cd78,241200ff +349cd7c,3c148011 +349cd80,3694a5d0 +349cd84,2413000f +349cd88,92220000 +349cd8c,10520007 +349cd90,2901021 +349cd94,90460074 +349cd98,50d20005 +349cd9c,26100001 +349cda0,8ec50000 +349cda4,c0e3a84 +349cda8,8fa40018 +349cdac,26100001 +349cdb0,1613fff5 +349cdb4,26310001 +349cdb8,1000002c +349cdbc,8fbf0044 +349cdc0,3a10000c +349cdc4,1000fea4 +349cdc8,2e100001 +349cdcc,2c31821 +349cdd0,84620978 +349cdd4,3044ffff +349cdd8,afa4001c +349cddc,24040004 +349cde0,1000fe1e +349cde4,a46409c0 +349cde8,3c020001 +349cdec,2c21021 +349cdf0,a448098c +349cdf4,a4470978 +349cdf8,30e3ffff +349cdfc,afa3001c +349ce00,24030004 +349ce04,1000fe1f +349ce08,a44309c0 +349ce0c,1000fdc0 +349ce10,3c020001 +349ce14,3c040001 +349ce18,2c42021 +349ce1c,a4820978 +349ce20,3c038011 +349ce24,3463a5d0 +349ce28,621021 +349ce2c,90500074 +349ce30,84820976 +349ce34,223c3 +349ce38,441826 +349ce3c,641823 +349ce40,3063ffff +349ce44,2c63001f +349ce48,1060fdc2 +349ce4c,3c030001 +349ce50,2c31821 +349ce54,84620978 +349ce58,3044ffff +349ce5c,afa4001c +349ce60,24040004 +349ce64,1000fdfd +349ce68,a46409c0 +349ce6c,8fbe0040 +349ce70,8fb7003c +349ce74,8fb60038 +349ce78,8fb50034 +349ce7c,8fb40030 +349ce80,8fb3002c +349ce84,8fb20028 +349ce88,8fb10024 +349ce8c,8fb00020 +349ce90,3e00008 +349ce94,27bd0048 +349ce98,27bdffe8 +349ce9c,afbf0014 +349cea0,c108fa9 +349cea8,c105608 +349ceb0,c104af4 +349ceb8,c104ae9 +349cec0,c107bed +349cec8,c108ae3 +349ced0,8fbf0014 +349ced4,3e00008 +349ced8,27bd0018 +349cedc,27bdffe8 +349cee0,afbf0014 +349cee4,c1055c5 +349ceec,c104e14 +349cef4,c102d65 +349cefc,c107919 +349cf04,c105698 +349cf0c,c1040e0 +349cf14,c107e43 +349cf1c,c108f7f +349cf24,c107670 +349cf2c,8fbf0014 349cf30,3e00008 -349cf38,801025 -349cf3c,14c00002 -349cf40,a6001b -349cf44,7000d -349cf48,2810 -349cf4c,3812 -349cf50,3c03aaaa -349cf54,3463aaab -349cf58,e30019 -349cf5c,1810 -349cf60,31882 -349cf64,32040 -349cf68,831821 -349cf6c,31840 -349cf70,e31823 -349cf74,44850000 -349cf78,4a10004 -349cf7c,468000a1 -349cf80,3c048042 -349cf84,d4800140 -349cf88,46201080 -349cf8c,462010a0 -349cf90,44860000 -349cf94,4c10004 -349cf98,46800021 -349cf9c,3c048042 -349cfa0,d4840140 -349cfa4,46240000 -349cfa8,46200020 -349cfac,46001083 -349cfb0,3c048042 -349cfb4,c4840148 -349cfb8,46022101 -349cfbc,24640001 -349cfc0,3c068042 -349cfc4,24c60124 -349cfc8,32840 -349cfcc,a32821 -349cfd0,c52821 -349cfd4,90a50001 -349cfd8,44850000 -349cfe0,46800020 -349cfe4,46040002 -349cfe8,42840 -349cfec,a42821 -349cff0,c53021 -349cff4,90c50001 -349cff8,44853000 -349d000,468031a0 -349d004,46023182 -349d008,46060000 -349d00c,3c058042 -349d010,c4a6014c -349d014,4600303e -349d01c,45030005 -349d020,46060001 -349d024,4600000d -349d028,44050000 -349d02c,10000006 -349d030,30a700ff -349d034,4600000d -349d038,44050000 -349d03c,3c068000 -349d040,a62825 -349d044,30a700ff -349d048,3c068042 -349d04c,24c60124 -349d050,32840 -349d054,a32821 -349d058,c52821 -349d05c,90a50002 -349d060,44850000 -349d068,46800020 -349d06c,46040002 -349d070,42840 -349d074,a42821 -349d078,c53021 -349d07c,90c50002 -349d080,44853000 -349d088,468031a0 -349d08c,46023182 -349d090,46060000 -349d094,3c058042 -349d098,c4a6014c -349d09c,4600303e -349d0a4,45030005 -349d0a8,46060001 -349d0ac,4600000d -349d0b0,44050000 -349d0b4,10000006 -349d0b8,30a600ff -349d0bc,4600000d -349d0c0,44050000 -349d0c4,3c068000 -349d0c8,a62825 -349d0cc,30a600ff -349d0d0,32840 -349d0d4,a31821 -349d0d8,3c088042 -349d0dc,25080124 -349d0e0,681821 -349d0e4,90650000 -349d0e8,44850000 -349d0f0,46800020 -349d0f4,46040002 -349d0f8,41840 -349d0fc,641821 -349d100,681821 -349d104,90630000 -349d108,44832000 -349d110,46802120 -349d114,46022082 -349d118,46020000 -349d11c,3c038042 -349d120,c462014c -349d124,4600103e -349d12c,45030005 -349d130,46020001 -349d134,4600000d -349d138,44030000 -349d13c,10000006 -349d140,a0430000 -349d144,4600000d -349d148,44030000 -349d14c,3c048000 -349d150,641825 -349d154,a0430000 -349d158,a0470001 -349d15c,3e00008 -349d160,a0460002 -349d164,3c028011 -349d168,3442a5d0 -349d16c,24030140 -349d170,a4431424 -349d174,90440032 -349d178,41840 -349d17c,641821 -349d180,31900 -349d184,3e00008 -349d188,a0430033 -349d18c,3c048042 -349d190,8c837b08 -349d194,3c020019 -349d198,2442660d -349d19c,620018 -349d1a0,1012 -349d1a4,3c033c6e -349d1a8,3463f35f -349d1ac,431021 -349d1b0,3e00008 -349d1b4,ac827b08 -349d1b8,3c028042 -349d1bc,3e00008 -349d1c0,ac447b08 -349d1c4,3c028043 -349d1c8,8c431080 -349d1cc,3c028042 -349d1d0,3e00008 -349d1d4,ac437b08 -349d1d8,3c048042 -349d1dc,8c837b08 -349d1e0,3c020019 -349d1e4,2442660d -349d1e8,620018 -349d1ec,1012 -349d1f0,3c033c6e -349d1f4,3463f35f -349d1f8,431021 -349d1fc,ac827b08 -349d200,21242 -349d204,3c033f80 -349d208,431025 -349d20c,3c038042 -349d210,c4600150 -349d214,44821000 -349d218,3e00008 -349d21c,46001001 -349d220,3c048042 -349d224,8c837b08 -349d228,3c020019 -349d22c,2442660d -349d230,620018 -349d234,1012 -349d238,3c033c6e -349d23c,3463f35f -349d240,431021 -349d244,ac827b08 -349d248,21242 -349d24c,3c033f80 -349d250,431025 -349d254,3c038042 -349d258,c4600154 -349d25c,44821000 -349d260,3e00008 -349d264,46001001 -349d268,27bdffd8 -349d26c,afbf0024 -349d270,afb30020 -349d274,afb2001c -349d278,afb10018 -349d27c,afb00014 -349d280,808025 -349d284,3c028042 -349d288,94467f28 -349d28c,3c128011 -349d290,3652a5d0 -349d294,82421357 -349d298,21040 -349d29c,3c118010 -349d2a0,2631bf00 -349d2a4,511021 -349d2a8,24051fe0 -349d2ac,a62823 -349d2b0,94420000 -349d2b4,a22821 -349d2b8,30a5ffff -349d2bc,3c138005 -349d2c0,26737030 -349d2c4,852821 -349d2c8,3c028042 -349d2cc,260f809 -349d2d0,8c447f24 -349d2d4,82421357 -349d2d8,21040 -349d2dc,511021 -349d2e0,94450000 -349d2e4,24a51450 -349d2e8,24060018 -349d2ec,2052821 -349d2f0,3c048043 -349d2f4,260f809 -349d2f8,24841088 -349d2fc,8fbf0024 -349d300,8fb30020 -349d304,8fb2001c -349d308,8fb10018 -349d30c,8fb00014 -349d310,3e00008 -349d314,27bd0028 -349d318,10c00009 -349d31c,3c028009 -349d320,27bdffe8 -349d324,afbf0014 -349d328,24421474 -349d32c,40f809 -349d334,8fbf0014 -349d338,3e00008 -349d33c,27bd0018 -349d340,3e00008 -349d348,27bdffd0 -349d34c,afbf002c -349d350,afb60028 -349d354,afb50024 -349d358,afb40020 -349d35c,afb3001c -349d360,afb20018 -349d364,afb10014 -349d368,afb00010 -349d36c,3c038011 -349d370,3463a5d0 -349d374,a4601352 -349d378,1025 -349d37c,3c058011 -349d380,34a5b924 -349d384,602025 -349d388,24630002 -349d38c,94840000 -349d390,441021 -349d394,1465fffb -349d398,3042ffff -349d39c,3c038043 -349d3a0,24631088 -349d3a4,3c058043 -349d3a8,24a510a0 -349d3ac,24630002 -349d3b0,9464fffe -349d3b4,441021 -349d3b8,1465fffc -349d3bc,3042ffff -349d3c0,3c038042 -349d3c4,8c647f24 -349d3c8,3c038042 -349d3cc,94637f28 -349d3d0,33042 -349d3d4,2c630002 -349d3d8,1460000a -349d3dc,3c108011 -349d3e0,24840002 -349d3e4,9485fffe -349d3e8,451021 -349d3ec,24630001 -349d3f0,3063ffff -349d3f4,66282b -349d3f8,14a0fff9 -349d3fc,3042ffff -349d400,3c108011 -349d404,3610a5d0 -349d408,a6021352 -349d40c,82021357 -349d410,21040 -349d414,3c118010 -349d418,2631bf00 -349d41c,511021 -349d420,94440000 -349d424,3c130800 -349d428,24070001 -349d42c,24061450 -349d430,2002825 -349d434,c1074c6 -349d438,932021 -349d43c,82021357 -349d440,24420003 -349d444,21040 -349d448,511021 -349d44c,94440000 -349d450,24070001 -349d454,24061450 -349d458,2002825 -349d45c,c1074c6 -349d460,932021 -349d464,3c168042 -349d468,96c67f28 -349d46c,3c158042 -349d470,82021357 -349d474,21040 -349d478,511021 -349d47c,24121fe0 -349d480,2462023 -349d484,94420000 -349d488,822021 -349d48c,3084ffff -349d490,24070001 -349d494,8ea57f24 -349d498,c1074c6 -349d49c,932021 -349d4a0,82021357 -349d4a4,21040 -349d4a8,511021 -349d4ac,94440000 -349d4b0,24841450 -349d4b4,3084ffff -349d4b8,24070001 -349d4bc,24060018 -349d4c0,3c148043 -349d4c4,26851088 -349d4c8,c1074c6 -349d4cc,932021 -349d4d0,96c67f28 -349d4d4,82021357 -349d4d8,24420003 -349d4dc,21040 -349d4e0,511021 -349d4e4,2462023 -349d4e8,94420000 -349d4ec,822021 -349d4f0,3084ffff -349d4f4,24070001 -349d4f8,8ea57f24 -349d4fc,c1074c6 -349d500,932021 -349d504,82021357 -349d508,24420003 -349d50c,21040 -349d510,511021 -349d514,94440000 -349d518,24841450 -349d51c,3084ffff -349d520,24070001 -349d524,24060018 -349d528,26851088 -349d52c,c1074c6 -349d530,932021 -349d534,8fbf002c -349d538,8fb60028 -349d53c,8fb50024 -349d540,8fb40020 -349d544,8fb3001c -349d548,8fb20018 -349d54c,8fb10014 -349d550,8fb00010 -349d554,3e00008 -349d558,27bd0030 -349d55c,27bdffa8 -349d560,afbf0054 -349d564,afbe0050 -349d568,afb7004c -349d56c,afb60048 -349d570,afb50044 -349d574,afb40040 -349d578,afb3003c -349d57c,afb20038 -349d580,afb10034 -349d584,afb00030 -349d588,809825 -349d58c,a08825 -349d590,34058000 -349d594,3c028000 -349d598,24422e80 -349d59c,40f809 -349d5a0,8e240000 -349d5a4,3825 -349d5a8,34068000 -349d5ac,8e250000 -349d5b0,c1074c6 -349d5b4,3c040800 -349d5b8,3c028011 -349d5bc,3442a5d0 -349d5c0,9442000c -349d5c4,afa20024 -349d5c8,3c158010 -349d5cc,26b5bf00 -349d5d0,26a20004 -349d5d4,afa20018 -349d5d8,3c178005 -349d5dc,26f77030 -349d5e0,3c028011 -349d5e4,3456a5d0 -349d5e8,3c038043 -349d5ec,afa30020 -349d5f0,24631088 -349d5f4,afa3001c -349d5f8,3c1e8042 -349d5fc,3c038042 -349d600,afa30010 -349d604,3450b924 -349d608,3c128043 -349d60c,265210a0 -349d610,3c028042 -349d614,afa20028 -349d618,afb50014 -349d61c,96b40000 -349d620,8e250000 -349d624,24061354 -349d628,b42821 -349d62c,2e0f809 -349d630,2c02025 -349d634,26821450 -349d638,8e250000 -349d63c,24060018 -349d640,a22821 -349d644,2e0f809 -349d648,8fa4001c -349d64c,97c67f28 -349d650,2861023 -349d654,24421fe0 -349d658,8e250000 -349d65c,a22821 -349d660,8fa20010 -349d664,2e0f809 -349d668,8c447f24 -349d66c,96c71352 -349d670,a6c01352 -349d674,2c01825 -349d678,1025 -349d67c,602025 -349d680,24630002 -349d684,94840000 -349d688,441021 -349d68c,1470fffb -349d690,3042ffff -349d694,8fa30020 -349d698,24631088 -349d69c,24630002 -349d6a0,9464fffe -349d6a4,441021 -349d6a8,1472fffc -349d6ac,3042ffff -349d6b0,8fa30010 -349d6b4,8c647f24 -349d6b8,97c37f28 -349d6bc,33042 -349d6c0,2c630002 -349d6c4,14600009 -349d6cc,24840002 -349d6d0,9485fffe -349d6d4,451021 -349d6d8,24630001 -349d6dc,3063ffff -349d6e0,66282b -349d6e4,14a0fff9 -349d6e8,3042ffff -349d6ec,50e20077 -349d6f0,26b50002 -349d6f4,8fa20014 -349d6f8,94540006 -349d6fc,8e250000 -349d700,24061354 -349d704,b42821 -349d708,2e0f809 -349d70c,2c02025 -349d710,97c67f28 -349d714,2861023 -349d718,24421fe0 -349d71c,8e250000 -349d720,a22821 -349d724,8fa20010 -349d728,2e0f809 -349d72c,8c447f24 -349d730,96c71352 -349d734,a6c01352 -349d738,2c01825 -349d73c,1025 -349d740,602025 -349d744,24630002 -349d748,94840000 -349d74c,441021 -349d750,1470fffb -349d754,3042ffff -349d758,8fa30010 -349d75c,8c647f24 -349d760,97c37f28 -349d764,33042 -349d768,2c630002 -349d76c,14600009 -349d774,24840002 -349d778,9485fffe -349d77c,451021 -349d780,24630001 -349d784,3063ffff -349d788,66282b -349d78c,14a0fff9 -349d790,3042ffff -349d794,50e2003b -349d798,8fa20014 -349d79c,3c148000 -349d7a0,26942e80 -349d7a4,24050004 -349d7a8,280f809 -349d7ac,2c02025 -349d7b0,24050004 -349d7b4,3c028011 -349d7b8,280f809 -349d7bc,3444a5d4 -349d7c0,24050004 -349d7c4,3c028011 -349d7c8,280f809 -349d7cc,3444a5da -349d7d0,24050004 -349d7d4,3c028011 -349d7d8,280f809 -349d7dc,3444a5dc -349d7e0,24050004 -349d7e4,3c028011 -349d7e8,280f809 -349d7ec,3444a5e0 -349d7f0,24050004 -349d7f4,3c028011 -349d7f8,280f809 -349d7fc,3444a5e4 -349d800,24050004 -349d804,3c028011 -349d808,280f809 -349d80c,3444a5e8 -349d810,8fa30028 -349d814,8c627b0c -349d818,40f809 -349d820,3c028011 -349d824,3443a5d0 -349d828,1025 -349d82c,602025 -349d830,24630002 -349d834,94840000 -349d838,441021 -349d83c,1470fffb -349d840,3042ffff -349d844,a6c21352 -349d848,8fa20014 -349d84c,94440006 -349d850,24070001 -349d854,24061450 -349d858,2c02825 -349d85c,3c020800 -349d860,c1074c6 -349d864,822021 -349d868,8fa20010 -349d86c,8c447f24 -349d870,3c028000 -349d874,24422e80 -349d878,40f809 -349d87c,97c57f28 -349d880,8fa20014 -349d884,94540000 -349d888,24070001 -349d88c,24061450 -349d890,2c02825 -349d894,3c020800 -349d898,c1074c6 -349d89c,2822021 -349d8a0,97c67f28 -349d8a4,2862023 -349d8a8,24841fe0 -349d8ac,3084ffff -349d8b0,24070001 -349d8b4,8fa30010 -349d8b8,8c657f24 -349d8bc,3c020800 -349d8c0,c1074c6 -349d8c4,822021 -349d8c8,26b50002 -349d8cc,8fa20018 -349d8d0,5455ff52 -349d8d4,afb50014 -349d8d8,34058000 -349d8dc,3c028000 -349d8e0,24422e80 -349d8e4,40f809 -349d8e8,8e240000 -349d8ec,3825 -349d8f0,34068000 -349d8f4,8e250000 -349d8f8,c1074c6 -349d8fc,3c040800 -349d900,3c028011 -349d904,3442a5d0 -349d908,8fa30024 -349d90c,a443000c -349d910,3c148010 -349d914,9682bf00 -349d918,24420022 -349d91c,8e250000 -349d920,3c100001 -349d924,3610c9ee -349d928,3c128005 -349d92c,26527030 -349d930,24060002 -349d934,a22821 -349d938,240f809 -349d93c,2702021 -349d940,2695bf00 -349d944,96a20002 -349d948,24420022 -349d94c,8e250000 -349d950,26040002 -349d954,24060002 -349d958,a22821 -349d95c,240f809 -349d960,2642021 -349d964,9682bf00 -349d968,24420022 -349d96c,8e250000 -349d970,26040004 -349d974,24060002 -349d978,a22821 -349d97c,240f809 -349d980,2642021 -349d984,9682bf00 -349d988,24420024 -349d98c,8e250000 -349d990,26040006 -349d994,24060008 -349d998,a22821 -349d99c,240f809 -349d9a0,2642021 -349d9a4,96a20002 -349d9a8,24420024 -349d9ac,8e250000 -349d9b0,2604000e -349d9b4,24060008 -349d9b8,a22821 -349d9bc,240f809 -349d9c0,2642021 -349d9c4,9682bf00 -349d9c8,24420024 -349d9cc,8e250000 -349d9d0,26040016 -349d9d4,24060008 -349d9d8,a22821 -349d9dc,240f809 -349d9e0,2642021 -349d9e4,9682bf00 -349d9e8,2442002e -349d9ec,8e250000 -349d9f0,2604001e -349d9f4,24060002 -349d9f8,a22821 -349d9fc,240f809 -349da00,2642021 -349da04,96a20002 -349da08,2442002e -349da0c,8e250000 -349da10,26040020 -349da14,24060002 -349da18,a22821 -349da1c,240f809 -349da20,2642021 -349da24,9682bf00 -349da28,2442002e -349da2c,8e250000 -349da30,26040022 -349da34,24060002 -349da38,a22821 -349da3c,240f809 -349da40,2642021 -349da44,9682bf00 -349da48,244200a4 -349da4c,8e250000 -349da50,26040026 -349da54,24060004 -349da58,a22821 -349da5c,240f809 -349da60,2642021 -349da64,96a20002 -349da68,244200a4 -349da6c,8e250000 -349da70,2604002a -349da74,24060004 -349da78,a22821 -349da7c,240f809 -349da80,2642021 -349da84,9682bf00 -349da88,244200a4 -349da8c,8e250000 -349da90,2604002e -349da94,24060004 -349da98,a22821 -349da9c,240f809 -349daa0,2642021 -349daa4,9682bf00 -349daa8,2442002c -349daac,8e250000 -349dab0,26040032 -349dab4,24060002 -349dab8,a22821 -349dabc,240f809 -349dac0,2642021 -349dac4,96a20002 -349dac8,2442002c -349dacc,8e250000 -349dad0,26040034 -349dad4,24060002 -349dad8,a22821 -349dadc,240f809 -349dae0,2642021 -349dae4,9682bf00 -349dae8,2442002c -349daec,8e250000 -349daf0,26040036 -349daf4,24060002 -349daf8,a22821 -349dafc,240f809 -349db00,2642021 -349db04,9682bf00 -349db08,244200cf -349db0c,8e250000 -349db10,26040038 -349db14,24060001 -349db18,a22821 -349db1c,240f809 -349db20,2642021 -349db24,96a20002 -349db28,244200cf -349db2c,8e250000 -349db30,26040039 -349db34,24060001 -349db38,a22821 -349db3c,240f809 -349db40,2642021 -349db44,9682bf00 -349db48,244200cf -349db4c,8e250000 -349db50,2604003a -349db54,24060001 -349db58,a22821 -349db5c,240f809 -349db60,2642021 -349db64,8fbf0054 -349db68,8fbe0050 -349db6c,8fb7004c -349db70,8fb60048 -349db74,8fb50044 -349db78,8fb40040 -349db7c,8fb3003c -349db80,8fb20038 -349db84,8fb10034 -349db88,8fb00030 -349db8c,3e00008 -349db90,27bd0058 -349db94,27bdffd0 -349db98,afbf002c -349db9c,afb60028 -349dba0,afb50024 -349dba4,afb40020 -349dba8,afb3001c -349dbac,afb20018 -349dbb0,afb10014 -349dbb4,afb00010 -349dbb8,809025 -349dbbc,a08025 -349dbc0,8ca30000 -349dbc4,3c150002 -349dbc8,959821 -349dbcc,8662ca38 -349dbd0,21040 -349dbd4,3c148010 -349dbd8,2694bf00 -349dbdc,541021 -349dbe0,94560000 -349dbe4,8662ca50 -349dbe8,21040 -349dbec,541021 -349dbf0,94440000 -349dbf4,3c118005 -349dbf8,26317030 -349dbfc,24061fe0 -349dc00,762821 -349dc04,220f809 -349dc08,642021 -349dc0c,8e030000 -349dc10,8662ca50 -349dc14,24420003 -349dc18,21040 -349dc1c,541021 -349dc20,94440000 -349dc24,24061fe0 -349dc28,762821 -349dc2c,220f809 -349dc30,642021 -349dc34,24070001 -349dc38,34068000 -349dc3c,8e050000 -349dc40,c1074c6 -349dc44,3c040800 -349dc48,8664ca50 -349dc4c,41040 -349dc50,541021 -349dc54,94540000 -349dc58,26820022 -349dc5c,8e050000 -349dc60,3403e4f7 -349dc64,832021 -349dc68,42040 -349dc6c,24060002 -349dc70,a22821 -349dc74,220f809 -349dc78,2442021 -349dc7c,26820024 -349dc80,8e050000 -349dc84,8664ca50 -349dc88,2484393e -349dc8c,420c0 -349dc90,24840004 -349dc94,24060008 -349dc98,a22821 -349dc9c,220f809 -349dca0,2442021 -349dca4,2682002e -349dca8,8e050000 -349dcac,8664ca50 -349dcb0,3403e506 -349dcb4,832021 -349dcb8,42040 -349dcbc,24060002 -349dcc0,a22821 -349dcc4,220f809 -349dcc8,2442021 -349dccc,268200a4 -349dcd0,8e050000 -349dcd4,8664ca50 -349dcd8,24847285 -349dcdc,42080 -349dce0,24060004 -349dce4,a22821 -349dce8,220f809 -349dcec,2442021 -349dcf0,2682002c -349dcf4,8e050000 -349dcf8,8664ca50 -349dcfc,3403e510 -349dd00,832021 -349dd04,42040 -349dd08,24060002 -349dd0c,a22821 -349dd10,220f809 -349dd14,2442021 -349dd18,269400cf -349dd1c,8e050000 -349dd20,8664ca50 -349dd24,26b5ca26 -349dd28,952021 -349dd2c,24060001 -349dd30,b42821 -349dd34,220f809 -349dd38,2442021 -349dd3c,8fbf002c -349dd40,8fb60028 -349dd44,8fb50024 -349dd48,8fb40020 -349dd4c,8fb3001c -349dd50,8fb20018 -349dd54,8fb10014 -349dd58,8fb00010 -349dd5c,3e00008 -349dd60,27bd0030 -349dd64,27bdffe8 -349dd68,afbf0014 -349dd6c,afb00010 -349dd70,c1074c6 -349dd74,e08025 -349dd78,3c028042 -349dd7c,94467f28 -349dd80,3c028011 -349dd84,3442a5d0 -349dd88,80431357 -349dd8c,31840 -349dd90,3c028010 -349dd94,2442bf00 -349dd98,621821 -349dd9c,24021fe0 -349dda0,461023 -349dda4,94630000 -349dda8,431021 -349ddac,3042ffff -349ddb0,2003825 -349ddb4,3c038042 -349ddb8,8c657f24 -349ddbc,3c040800 -349ddc0,c1074c6 -349ddc4,442021 -349ddc8,8fbf0014 -349ddcc,8fb00010 -349ddd0,3e00008 -349ddd4,27bd0018 -349ddd8,27bdffe0 -349dddc,afbf001c -349dde0,afb20018 -349dde4,afb10014 -349dde8,afb00010 -349ddec,a08025 -349ddf0,e08825 -349ddf4,3c028011 -349ddf8,3442a5d0 -349ddfc,80421357 -349de00,21040 -349de04,3c038010 -349de08,2463bf00 -349de0c,431021 -349de10,94460000 -349de14,24d21450 -349de18,24050b90 -349de1c,3c028000 -349de20,24422e80 -349de24,40f809 -349de28,2122021 -349de2c,3c028040 -349de30,8c421b9c -349de34,1040000b -349de38,3c028040 -349de3c,24421b9c -349de40,2123021 -349de44,90440003 -349de48,94430000 -349de4c,c31821 -349de50,a0640000 -349de54,24420004 -349de58,8c430000 -349de5c,5460fffa -349de60,90440003 -349de64,2203825 -349de68,34068000 -349de6c,2002825 -349de70,c1074c6 -349de74,3c040800 -349de78,8fbf001c -349de7c,8fb20018 -349de80,8fb10014 -349de84,8fb00010 -349de88,3e00008 -349de8c,27bd0020 -349de90,24a20002 -349de94,24a50082 -349de98,24065700 -349de9c,24070004 -349dea0,9443fffe -349dea4,50660008 -349dea8,24420004 -349deac,50600006 -349deb0,24420004 -349deb4,94430000 -349deb8,2c630004 -349debc,54600001 -349dec0,a4470000 -349dec4,24420004 -349dec8,5445fff6 -349decc,9443fffe -349ded0,3e00008 -349ded8,3c028011 -349dedc,3442a5d0 -349dee0,8c431360 -349dee4,1060002b -349dee8,1025 -349deec,2c620004 -349def0,10400028 -349def4,2402ffff -349def8,3c02801c -349defc,344284a0 -349df00,8c4900b0 -349df04,91220000 -349df08,24040014 -349df0c,10440020 -349df10,306b00ff -349df14,306300ff -349df18,33080 -349df1c,1202025 -349df20,24070018 -349df24,3c0a00ff -349df28,354affff -349df2c,24080014 -349df30,54470010 -349df34,24840008 -349df38,8c830004 -349df3c,6a1824 -349df40,661821 -349df44,1231821 -349df48,1601025 -349df4c,8c65fffc -349df50,50a00004 -349df54,2442ffff -349df58,21600 -349df5c,1000000d -349df60,21603 -349df64,304200ff -349df68,1440fff8 -349df6c,2463fffc -349df70,24840008 -349df74,90820000 -349df78,1448ffed -349df80,10000004 -349df84,1025 -349df88,10000002 -349df8c,2402ffff -349df90,1025 -349df94,3c038043 -349df98,3e00008 -349df9c,a06210a0 -349dfa0,27bdffe0 -349dfa4,afbf001c -349dfa8,afb10018 -349dfac,afb00014 -349dfb0,3c02801c -349dfb4,344284a0 -349dfb8,3c030001 -349dfbc,431021 -349dfc0,84451e1a -349dfc4,3c038042 -349dfc8,24637b10 -349dfcc,1025 -349dfd0,2406000a -349dfd4,8c640000 -349dfd8,14850028 -349dfdc,408025 -349dfe0,24060dff -349dfe4,24050001 -349dfe8,3c11801c -349dfec,3c028009 -349dff0,3442d94c -349dff4,40f809 -349dff8,362484a0 -349dffc,3c028011 -349e000,3442a5d0 -349e004,102880 -349e008,b01821 -349e00c,31880 -349e010,3c048042 -349e014,24847b10 -349e018,641821 -349e01c,8c670004 -349e020,8c660008 -349e024,8c63000c -349e028,ac471384 -349e02c,ac461388 -349e030,ac43138c -349e034,b02821 -349e038,52880 -349e03c,852021 -349e040,94830010 -349e044,a4431390 -349e048,24030002 -349e04c,ac431364 -349e050,363184a0 -349e054,3c020001 -349e058,2221021 -349e05c,24030014 -349e060,a0431e15 -349e064,962300a4 -349e068,24020005 -349e06c,14620047 -349e070,8fbf001c -349e074,1000003d -349e078,3c02801c -349e07c,24420001 -349e080,1446ffd4 -349e084,24630014 -349e088,1000002a -349e08c,3c02801c -349e090,24050001 -349e094,3c10801c -349e098,3c028009 -349e09c,3442d94c -349e0a0,40f809 -349e0a4,360484a0 -349e0a8,3c028011 -349e0ac,3442a5d0 -349e0b0,3c038042 -349e0b4,c4600158 -349e0b8,e4401384 -349e0bc,3c038042 -349e0c0,c460015c -349e0c4,e4401388 -349e0c8,3c038042 -349e0cc,c4600160 -349e0d0,e440138c -349e0d4,24032332 -349e0d8,a4431390 -349e0dc,24030002 -349e0e0,ac431364 -349e0e4,360284a0 -349e0e8,3c030001 -349e0ec,431021 -349e0f0,24030014 -349e0f4,10000024 -349e0f8,a0431e15 -349e0fc,344284a0 -349e100,3c030001 -349e104,431021 -349e108,3c038011 -349e10c,3463a5d0 -349e110,8c640000 -349e114,a4441e1a -349e118,24040002 -349e11c,a0441e5e -349e120,2404fffe -349e124,ac641364 -349e128,24030014 -349e12c,10000016 -349e130,a0431e15 -349e134,344284a0 -349e138,944300a4 -349e13c,24020005 -349e140,1462ffee -349e144,3c02801c -349e148,344284a0 -349e14c,3c030001 -349e150,431021 -349e154,80431cbc -349e158,24020015 -349e15c,1462ffe7 -349e160,3c02801c -349e164,1000ffca -349e168,24060dff -349e16c,344284a0 -349e170,3c030001 -349e174,431021 -349e178,80431cbc -349e17c,24020015 -349e180,1062ffc3 -349e184,24060dff -349e188,8fbf001c -349e18c,8fb10018 -349e190,8fb00014 -349e194,3e00008 -349e198,27bd0020 -349e19c,3c028043 -349e1a0,9042109e -349e1a4,1440002b -349e1a8,3c028011 -349e1ac,3442a5d0 -349e1b0,94420070 -349e1b4,3042f000 -349e1b8,24032000 -349e1bc,10430025 -349e1c0,3c02801c -349e1c4,344284a0 -349e1c8,944300a4 -349e1cc,24020005 -349e1d0,14620010 -349e1d4,3c02801d -349e1d8,3c02801c -349e1dc,344284a0 -349e1e0,3c030001 -349e1e4,431021 -349e1e8,80421cbc -349e1ec,14400009 -349e1f0,3c02801d -349e1f4,3442aa30 -349e1f8,c442002c -349e1fc,3c028042 -349e200,c4400164 -349e204,4602003c -349e20c,45010011 -349e210,3c02801d -349e214,3442aa30 -349e218,8c42066c -349e21c,3c030800 -349e220,431024 -349e224,1040000b -349e228,3c028006 -349e22c,27bdffe8 -349e230,afbf0014 -349e234,244246f0 -349e238,40f809 -349e23c,240428cd -349e240,c1077e8 -349e248,8fbf0014 -349e24c,3e00008 -349e250,27bd0018 -349e254,3e00008 -349e25c,27bdffe8 -349e260,afbf0014 -349e264,c107e8b -349e268,24040400 -349e26c,3c038043 -349e270,ac6210a4 -349e274,3c038043 -349e278,ac6210a8 -349e27c,8fbf0014 -349e280,3e00008 -349e284,27bd0018 -349e288,80830000 -349e28c,10600025 -349e290,6025 -349e294,3c028043 -349e298,8c4a10a4 -349e29c,254a0400 -349e2a0,3c028043 -349e2a4,8c4810a8 -349e2a8,1025 -349e2ac,3c0bff00 -349e2b0,256b0fff -349e2b4,30c60fff -349e2b8,240ef000 -349e2bc,240d0001 -349e2c0,10a482b -349e2c4,55200005 -349e2c8,a1030000 -349e2cc,11800016 -349e2d0,3c038043 -349e2d4,3e00008 -349e2d8,ac6810a8 -349e2dc,30a90fff -349e2e0,94b00 -349e2e4,8d030000 -349e2e8,6b1824 -349e2ec,691825 -349e2f0,6e1824 -349e2f4,661825 -349e2f8,ad030000 -349e2fc,25080004 -349e300,a72821 -349e304,24420001 -349e308,821821 -349e30c,80630000 -349e310,1460ffeb -349e314,1a06025 -349e318,3c038043 -349e31c,3e00008 -349e320,ac6810a8 -349e324,1025 -349e328,3e00008 -349e330,27bdffe8 -349e334,afbf0014 -349e338,3c028042 -349e33c,c1078a2 -349e340,94473eb4 -349e344,8fbf0014 -349e348,3e00008 -349e34c,27bd0018 -349e350,27bdffb0 -349e354,afbf004c -349e358,afbe0048 -349e35c,afb70044 -349e360,afb60040 -349e364,afb5003c -349e368,afb40038 -349e36c,afb30034 -349e370,afb20030 -349e374,afb1002c -349e378,afb00028 -349e37c,afa40050 -349e380,a0b825 -349e384,c0b025 -349e388,e0a825 -349e38c,8fbe0060 -349e390,8825 -349e394,3c148042 -349e398,26943eb0 -349e39c,3c028043 -349e3a0,afa20020 -349e3a4,3c138043 -349e3a8,3c1238e3 -349e3ac,36528e39 -349e3b0,1130c0 -349e3b4,d13021 -349e3b8,24070012 -349e3bc,63040 -349e3c0,2802825 -349e3c4,c1046ee -349e3c8,8fa40050 -349e3cc,8fa20020 -349e3d0,8c5010a4 -349e3d4,8e6210a8 -349e3d8,202102b -349e3dc,50400025 -349e3e0,26310001 -349e3e4,82020000 -349e3e8,2002825 -349e3ec,2442ffe0 -349e3f0,520018 -349e3f4,1810 -349e3f8,31883 -349e3fc,227c3 -349e400,641823 -349e404,14710016 -349e408,26100004 -349e40c,8ca70000 -349e410,73b02 -349e414,30e70fff -349e418,520018 -349e41c,1810 -349e420,31883 -349e424,641823 -349e428,330c0 -349e42c,c33021 -349e430,63040 -349e434,afb60018 -349e438,afb70014 -349e43c,8ca30000 -349e440,30630fff -349e444,7e1821 -349e448,afa30010 -349e44c,f53821 -349e450,463023 -349e454,2802825 -349e458,c10493a -349e45c,8fa40050 -349e460,8e6210a8 -349e464,202102b -349e468,5440ffdf -349e46c,82020000 -349e470,26310001 -349e474,24020006 -349e478,1622ffce -349e47c,1130c0 -349e480,3c028043 -349e484,8c4310a4 -349e488,3c028043 -349e48c,ac4310a8 -349e490,8fbf004c -349e494,8fbe0048 -349e498,8fb70044 -349e49c,8fb60040 -349e4a0,8fb5003c -349e4a4,8fb40038 -349e4a8,8fb30034 -349e4ac,8fb20030 -349e4b0,8fb1002c -349e4b4,8fb00028 -349e4b8,3e00008 -349e4bc,27bd0050 -349e4c0,27bdffe0 -349e4c4,afbf001c -349e4c8,3c028042 -349e4cc,24423eb0 -349e4d0,afa00010 -349e4d4,3825 -349e4d8,94460006 -349e4dc,c1078d4 -349e4e0,94450004 -349e4e4,8fbf001c -349e4e8,3e00008 -349e4ec,27bd0020 -349e4f0,27bdffa8 -349e4f4,afbf0054 -349e4f8,afbe0050 -349e4fc,afb7004c -349e500,afb60048 -349e504,afb50044 -349e508,afb40040 -349e50c,afb3003c -349e510,afb20038 -349e514,afb10034 -349e518,afb00030 -349e51c,809825 -349e520,c08825 -349e524,e0a025 -349e528,87b2006e -349e52c,87b50072 -349e530,4a10003 -349e534,3825 -349e538,52823 -349e53c,24070001 -349e540,8025 -349e544,3c066666 -349e548,24c66667 -349e54c,27a20020 -349e550,502021 -349e554,a60018 -349e558,1810 -349e55c,31883 -349e560,517c3 -349e564,621823 -349e568,31080 -349e56c,431021 -349e570,21040 -349e574,a21023 -349e578,a0820000 -349e57c,a01025 -349e580,602825 -349e584,200b025 -349e588,26100001 -349e58c,2842000a -349e590,1040ffee -349e594,321000ff -349e598,10000025 -349e59c,8e620008 -349e5a0,94453e64 -349e5a4,2403825 -349e5a8,2803025 -349e5ac,2252823 -349e5b0,3c048042 -349e5b4,c1078a2 -349e5b8,24840168 -349e5bc,afa00010 -349e5c0,3825 -349e5c4,2a03025 -349e5c8,2402825 -349e5cc,c1078d4 -349e5d0,2602025 -349e5d4,12000031 -349e5d8,3b0b821 -349e5dc,26f7001f -349e5e0,27a2001e -349e5e4,501021 -349e5e8,56b023 -349e5ec,3c1e8042 -349e5f0,27de3e60 -349e5f4,afb50018 -349e5f8,afb20014 -349e5fc,afb40010 -349e600,2203825 -349e604,92e60000 -349e608,3c02825 -349e60c,c1047a0 -349e610,2602025 -349e614,2518821 -349e618,118c00 -349e61c,26f7ffff -349e620,16f6fff4 -349e624,118c03 -349e628,1000001d -349e62c,2001025 -349e630,24430008 -349e634,ae630008 -349e638,3c03fcff -349e63c,346397ff -349e640,ac430000 -349e644,3c03ff2d -349e648,3463feff -349e64c,ac430004 -349e650,93a20068 -349e654,21600 -349e658,93a30069 -349e65c,31c00 -349e660,431025 -349e664,93a3006b -349e668,431025 -349e66c,93a3006a -349e670,31a00 -349e674,431025 -349e678,8e630008 -349e67c,24640008 -349e680,ae640008 -349e684,3c04fa00 -349e688,ac640000 -349e68c,10e0ffd1 -349e690,ac620004 -349e694,1000ffc2 -349e698,3c028042 -349e69c,2001025 -349e6a0,8fbf0054 -349e6a4,8fbe0050 -349e6a8,8fb7004c -349e6ac,8fb60048 -349e6b0,8fb50044 -349e6b4,8fb40040 -349e6b8,8fb3003c -349e6bc,8fb20038 -349e6c0,8fb10034 -349e6c4,8fb00030 -349e6c8,3e00008 -349e6cc,27bd0058 -349e6d0,27bdffd8 -349e6d4,afbf0024 -349e6d8,24020010 -349e6dc,afa20018 -349e6e0,24020008 -349e6e4,afa20014 -349e6e8,8fa20038 -349e6ec,c10793c -349e6f0,afa20010 -349e6f4,8fbf0024 -349e6f8,3e00008 -349e6fc,27bd0028 -349e700,3c028042 -349e704,42100 -349e708,24427bd8 -349e70c,441021 -349e710,3e00008 -349e714,8c420004 -349e718,27bdffe0 -349e71c,afbf001c -349e720,afb10018 -349e724,afb00014 -349e728,3c108042 -349e72c,26107bdc -349e730,3c118042 -349e734,26317dcc -349e738,8e020004 -349e73c,50400004 -349e740,26100010 -349e744,c107e9a -349e748,2002025 -349e74c,26100010 -349e750,5611fffa -349e754,8e020004 -349e758,8fbf001c -349e75c,8fb10018 -349e760,8fb00014 -349e764,3e00008 -349e768,27bd0020 -349e76c,2c82002c -349e770,50400004 -349e774,2484ffde -349e778,2484ffdf -349e77c,3e00008 -349e780,3082ffff -349e784,3e00008 -349e788,3082ffff -349e78c,3c028042 -349e790,2442017a -349e794,1825 -349e798,24060016 -349e79c,84450000 -349e7a0,50a40006 -349e7a4,3c028042 -349e7a8,24630001 -349e7ac,1466fffb -349e7b0,2442001c -349e7b4,3e00008 -349e7b8,1025 -349e7bc,320c0 -349e7c0,831823 -349e7c4,31880 -349e7c8,24420174 -349e7cc,431021 -349e7d0,3e00008 -349e7d4,94420002 -349e7d8,2482ffdf -349e7dc,3042ffff -349e7e0,2c42000b -349e7e4,14400007 -349e7e8,2484ffd3 -349e7ec,3084ffff -349e7f0,2c84000b -349e7f4,14800005 -349e7fc,3e00008 -349e804,3e00008 -349e808,24020017 -349e80c,3e00008 -349e810,24020016 -349e814,2c84002c -349e818,14800002 -349e81c,24020021 -349e820,2402002d -349e824,3e00008 -349e82c,2c84002c -349e830,14800002 -349e834,2402002b -349e838,24020037 -349e83c,3e00008 -349e844,2482ffdf -349e848,3042ffff -349e84c,2c42000b -349e850,14400005 -349e858,2482ffd3 -349e85c,3042ffff -349e860,3e00008 -349e864,2c42000b -349e868,3e00008 -349e86c,24020001 -349e870,2482ffd2 -349e874,3042ffff -349e878,2c42000a -349e87c,14400003 -349e880,3884003d +349cf34,27bd0018 +349cf38,27bdffe0 +349cf3c,afbf001c +349cf40,afb10018 +349cf44,afb00014 +349cf48,3c02801c +349cf4c,84437020 +349cf50,24020002 +349cf54,10620012 +349cf58,3c108044 +349cf5c,c10355c +349cf60,26041f40 +349cf64,c108e39 +349cf68,26041f40 +349cf6c,26051f40 +349cf70,3c11801c +349cf74,c10351d +349cf78,362484a0 +349cf7c,26051f40 +349cf80,c103432 +349cf84,362484a0 +349cf88,c10792b +349cf8c,26041f40 +349cf90,c105a74 +349cf94,26041f40 +349cf98,c107ea1 +349cf9c,26041f40 +349cfa0,c1055d5 +349cfa8,c108580 +349cfb0,c1089eb +349cfb8,8fbf001c +349cfbc,8fb10018 +349cfc0,8fb00014 +349cfc4,3e00008 +349cfc8,27bd0020 +349cfcc,27bdffe0 +349cfd0,afbf001c +349cfd4,afb10018 +349cfd8,afb00014 +349cfdc,808025 +349cfe0,c108fdd +349cfe4,a08825 +349cfe8,2202825 +349cfec,c027368 +349cff0,2002025 +349cff4,8fbf001c +349cff8,8fb10018 +349cffc,8fb00014 +349d000,3e00008 +349d004,27bd0020 +349d008,27bdffe8 +349d00c,afbf0014 +349d010,c104aa2 +349d018,c108f7a +349d020,c107c00 +349d028,c1040da +349d030,c107a98 +349d038,c104f33 +349d040,c10893a +349d048,8fbf0014 +349d04c,3e00008 +349d050,27bd0018 +349d054,3c02801c +349d058,344284a0 +349d05c,3c030001 +349d060,431021 +349d064,84430988 +349d068,14600022 +349d06c,3c02801c +349d070,344284a0 +349d074,3c030001 +349d078,431021 +349d07c,84420992 +349d080,14400014 +349d084,21840 +349d088,3c028011 +349d08c,3442a5d0 +349d090,8c420004 +349d094,14400009 +349d098,3c028011 +349d09c,3442a5d0 +349d0a0,8c4300a0 +349d0a4,3c020001 +349d0a8,3442c007 +349d0ac,621824 +349d0b0,14600026 +349d0b4,24020001 +349d0b8,3c028011 +349d0bc,3442a5d0 +349d0c0,8c4200a0 +349d0c4,21382 +349d0c8,30420007 +349d0cc,3e00008 +349d0d0,2102b +349d0d4,621821 +349d0d8,3c028011 +349d0dc,3442a5d0 +349d0e0,8c4200a0 +349d0e4,621006 +349d0e8,30420007 +349d0ec,3e00008 +349d0f0,2102b +349d0f4,344284a0 +349d0f8,3c040001 +349d0fc,441021 +349d100,84440992 +349d104,1480000a +349d108,3c028011 +349d10c,24020003 +349d110,14620007 +349d114,3c028011 +349d118,3442a5d0 +349d11c,8c42009c +349d120,3c03000c +349d124,431024 +349d128,3e00008 +349d12c,2102b +349d130,3442a5d0 +349d134,9442009c +349d138,42080 +349d13c,2463ffff +349d140,832021 +349d144,821007 +349d148,30420001 +349d14c,3e00008 +349d154,27bdffd8 +349d158,afbf0024 +349d15c,afb30020 +349d160,afb2001c +349d164,afb10018 +349d168,afb00014 +349d16c,c08825 +349d170,93a2003b +349d174,8cc30000 +349d178,8cf20000 +349d17c,24730001 +349d180,833021 +349d184,3c030001 +349d188,661821 +349d18c,a062e306 +349d190,24030020 +349d194,1043000a +349d198,e08025 +349d19c,a04025 +349d1a0,2442ffe0 +349d1a4,3246ffff +349d1a8,304500ff +349d1ac,3c028005 +349d1b0,3442bce4 +349d1b4,40f809 +349d1b8,1002025 +349d1bc,26520080 +349d1c0,ae330000 +349d1c4,ae120000 +349d1c8,8fbf0024 +349d1cc,8fb30020 +349d1d0,8fb2001c +349d1d4,8fb10018 +349d1d8,8fb00014 +349d1dc,3e00008 +349d1e0,27bd0028 +349d1e4,27bdffb8 +349d1e8,afbf0044 +349d1ec,afb50040 +349d1f0,afb4003c +349d1f4,afb30038 +349d1f8,afb20034 +349d1fc,afb10030 +349d200,afb0002c +349d204,808025 +349d208,a08825 +349d20c,c09025 +349d210,e09825 +349d214,8fa50058 +349d218,1825 +349d21c,3c07cccc +349d220,34e7cccd +349d224,27a20018 +349d228,433021 +349d22c,a70019 +349d230,2010 +349d234,420c2 +349d238,41080 +349d23c,441021 +349d240,21040 +349d244,a21023 +349d248,a0c20000 +349d24c,a01025 +349d250,802825 +349d254,602025 +349d258,24630001 +349d25c,2c42000a +349d260,1040fff0 +349d264,306300ff +349d268,10600011 +349d26c,3a3a021 +349d270,26940017 +349d274,27a20016 +349d278,43a821 +349d27c,2a4a823 +349d280,92820000 +349d284,24420030 +349d288,304200ff +349d28c,afa20010 +349d290,2603825 +349d294,2403025 +349d298,2202825 +349d29c,c107455 +349d2a0,2002025 +349d2a4,2694ffff +349d2a8,5695fff6 +349d2ac,92820000 +349d2b0,8fbf0044 +349d2b4,8fb50040 +349d2b8,8fb4003c +349d2bc,8fb30038 +349d2c0,8fb20034 +349d2c4,8fb10030 +349d2c8,8fb0002c +349d2cc,3e00008 +349d2d0,27bd0048 +349d2d4,27bdffd0 +349d2d8,afbf002c +349d2dc,afb40028 +349d2e0,afb30024 +349d2e4,afb20020 +349d2e8,afb1001c +349d2ec,afb00018 +349d2f0,80a025 +349d2f4,a09825 +349d2f8,c09025 +349d2fc,8fb00040 +349d300,82020000 +349d304,1040000c +349d308,e08825 +349d30c,304200ff +349d310,afa20010 +349d314,2203825 +349d318,2403025 +349d31c,2602825 +349d320,c107455 +349d324,2802025 +349d328,26100001 +349d32c,82020000 +349d330,5440fff7 +349d334,304200ff +349d338,8fbf002c +349d33c,8fb40028 +349d340,8fb30024 +349d344,8fb20020 +349d348,8fb1001c +349d34c,8fb00018 +349d350,3e00008 +349d354,27bd0030 +349d358,27bdffc0 +349d35c,afbf003c +349d360,afb70038 +349d364,afb60034 +349d368,afb50030 +349d36c,afb4002c +349d370,afb30028 +349d374,afb20024 +349d378,afb10020 +349d37c,afb0001c +349d380,809825 +349d384,a0a025 +349d388,c0a825 +349d38c,8fb20050 +349d390,92430007 +349d394,240200df +349d398,1462000c +349d39c,e0b025 +349d3a0,24100008 +349d3a4,240300df +349d3a8,2610ffff +349d3ac,2501021 +349d3b0,9042ffff +349d3b4,5043fffd +349d3b8,2610ffff +349d3bc,1e000005 +349d3c0,8825 +349d3c4,10000014 +349d3c8,8fbf003c +349d3cc,24100008 +349d3d0,8825 +349d3d4,3c178043 +349d3d8,26f7d084 +349d3dc,2511021 +349d3e0,90420000 +349d3e4,571021 +349d3e8,90420000 +349d3ec,afa20010 +349d3f0,2c03825 +349d3f4,2a03025 +349d3f8,2802825 +349d3fc,c107455 +349d400,2602025 +349d404,26310001 +349d408,230102a +349d40c,1440fff4 +349d410,2511021 +349d414,8fbf003c +349d418,8fb70038 +349d41c,8fb60034 +349d420,8fb50030 +349d424,8fb4002c +349d428,8fb30028 +349d42c,8fb20024 +349d430,8fb10020 +349d434,8fb0001c +349d438,3e00008 +349d43c,27bd0040 +349d440,27bdffe0 +349d444,afbf001c +349d448,afb00018 +349d44c,a08025 +349d450,240200f2 +349d454,10820041 +349d458,c03825 +349d45c,2c8200f3 +349d460,10400008 +349d464,240200f0 +349d468,5082000b +349d46c,3c04801c +349d470,240200f1 +349d474,5082001f +349d478,3c04801c +349d47c,10000131 +349d480,1025 +349d484,240200f3 +349d488,50820045 +349d48c,3c028011 +349d490,1000012c +349d494,1025 +349d498,3484a578 +349d49c,3c030001 +349d4a0,831821 +349d4a4,9462e3ce +349d4a8,24420001 +349d4ac,3042ffff +349d4b0,a462e3ce +349d4b4,3c03801e +349d4b8,621021 +349d4bc,90428328 +349d4c0,3c038044 +349d4c4,24632040 +349d4c8,431021 +349d4cc,90420000 +349d4d0,afa20010 +349d4d4,a03025 +349d4d8,c107479 +349d4dc,24850128 +349d4e0,8e020000 +349d4e4,2442ffff +349d4e8,ae020000 +349d4ec,10000115 +349d4f0,24020001 +349d4f4,3484a578 +349d4f8,3c030001 +349d4fc,831821 +349d500,9462e3ce +349d504,24420001 +349d508,3042ffff +349d50c,a462e3ce +349d510,3c03801e +349d514,621021 +349d518,90428328 +349d51c,218c0 +349d520,621823 +349d524,31880 +349d528,3c028011 +349d52c,3442a5d0 +349d530,431021 +349d534,904200e5 +349d538,afa20010 +349d53c,a03025 +349d540,c107479 +349d544,24850128 +349d548,8e020000 +349d54c,2442ffff +349d550,ae020000 +349d554,100000fb +349d558,24020001 +349d55c,3c028040 +349d560,90430025 +349d564,318c0 +349d568,3c028040 +349d56c,24420034 +349d570,431021 +349d574,afa20010 +349d578,a03025 +349d57c,3c05801c +349d580,34a5a6a0 +349d584,c1074d6 +349d588,24a4fed8 +349d58c,8e020000 +349d590,2442ffff +349d594,ae020000 +349d598,100000ea +349d59c,24020001 +349d5a0,3442a5d0 +349d5a4,844213b0 +349d5a8,240300c5 +349d5ac,1043006e +349d5b0,284300c6 +349d5b4,1060002c +349d5b8,240302b2 +349d5bc,24030028 +349d5c0,10430073 +349d5c4,28430029 +349d5c8,10600017 +349d5cc,24030088 +349d5d0,24030008 +349d5d4,104300bd +349d5d8,28430009 +349d5dc,1060000e +349d5e0,24030010 +349d5e4,10400056 +349d5e8,24030004 +349d5ec,5043005f +349d5f0,3c028043 +349d5f4,100000c8 +349d5f8,3c028042 +349d5fc,24631111 +349d600,431006 +349d604,30420001 +349d608,504000c3 +349d60c,3c028042 +349d610,100000b8 +349d614,3c028043 +349d618,5043007c +349d61c,3c028043 +349d620,100000bd +349d624,3c028042 +349d628,1043009e +349d62c,28430089 +349d630,10600009 +349d634,24030098 +349d638,24030037 +349d63c,5043007d +349d640,3c028043 +349d644,24030082 +349d648,50430084 +349d64c,3c028043 +349d650,100000b1 +349d654,3c028042 +349d658,50430089 +349d65c,3c028043 +349d660,100000ad +349d664,3c028042 +349d668,10430071 +349d66c,284302b3 +349d670,10600013 +349d674,24030423 +349d678,24030175 +349d67c,10430058 +349d680,28430176 +349d684,10600008 +349d688,2403024e +349d68c,24030165 +349d690,10430053 +349d694,24030169 +349d698,50430048 +349d69c,3c028043 +349d6a0,1000009d +349d6a4,3c028042 +349d6a8,10430043 +349d6ac,24030252 +349d6b0,50430024 +349d6b4,3c028043 +349d6b8,10000097 +349d6bc,3c028042 +349d6c0,10430051 +349d6c4,28430424 +349d6c8,10600014 +349d6cc,24030467 +349d6d0,240303f4 +349d6d4,10430060 +349d6d8,284303f5 +349d6dc,10600008 +349d6e0,24030407 +349d6e4,240302f5 +349d6e8,1043005b +349d6ec,240303f0 +349d6f0,5043005a +349d6f4,3c028043 +349d6f8,10000087 +349d6fc,3c028042 +349d700,50430024 +349d704,3c028043 +349d708,2403041b +349d70c,50430079 +349d710,3c028043 +349d714,10000080 +349d718,3c028042 +349d71c,50430075 +349d720,3c028043 +349d724,2442facc +349d728,3042ffff +349d72c,2c430019 +349d730,1460ffb2 +349d734,3c030111 +349d738,10000077 +349d73c,3c028042 +349d740,3c028043 +349d744,24429283 +349d748,afa20010 +349d74c,2003025 +349d750,3c05801c +349d754,34a5a6a0 +349d758,c1074b5 +349d75c,24a4fed8 +349d760,10000075 +349d764,8e020000 +349d768,3c028043 +349d76c,24429299 +349d770,afa20010 +349d774,2003025 +349d778,3c05801c +349d77c,34a5a6a0 +349d780,c1074b5 +349d784,24a4fed8 +349d788,1000006b +349d78c,8e020000 +349d790,3c028043 +349d794,244292af +349d798,afa20010 +349d79c,2003025 +349d7a0,3c05801c +349d7a4,34a5a6a0 +349d7a8,c1074b5 +349d7ac,24a4fed8 +349d7b0,10000061 +349d7b4,8e020000 +349d7b8,3c028043 +349d7bc,244292c5 +349d7c0,afa20010 +349d7c4,2003025 +349d7c8,3c05801c +349d7cc,34a5a6a0 +349d7d0,c1074b5 +349d7d4,24a4fed8 +349d7d8,10000057 +349d7dc,8e020000 +349d7e0,3c028043 +349d7e4,244292db +349d7e8,afa20010 +349d7ec,2003025 +349d7f0,3c05801c +349d7f4,34a5a6a0 +349d7f8,c1074b5 +349d7fc,24a4fed8 +349d800,1000004d +349d804,8e020000 +349d808,3c028043 +349d80c,244292f1 +349d810,afa20010 +349d814,2003025 +349d818,3c05801c +349d81c,34a5a6a0 +349d820,c1074b5 +349d824,24a4fed8 +349d828,10000043 +349d82c,8e020000 +349d830,3c028043 +349d834,24429307 +349d838,afa20010 +349d83c,2003025 +349d840,3c05801c +349d844,34a5a6a0 +349d848,c1074b5 +349d84c,24a4fed8 +349d850,10000039 +349d854,8e020000 +349d858,3c028043 +349d85c,2442931d +349d860,afa20010 +349d864,2003025 +349d868,3c05801c +349d86c,34a5a6a0 +349d870,c1074b5 +349d874,24a4fed8 +349d878,1000002f +349d87c,8e020000 +349d880,24429333 +349d884,afa20010 +349d888,a03025 +349d88c,3c05801c +349d890,34a5a6a0 +349d894,c1074b5 +349d898,24a4fed8 +349d89c,10000026 +349d8a0,8e020000 +349d8a4,3c028043 +349d8a8,24429349 +349d8ac,afa20010 +349d8b0,a03025 +349d8b4,3c05801c +349d8b8,34a5a6a0 +349d8bc,c1074b5 +349d8c0,24a4fed8 +349d8c4,1000001c +349d8c8,8e020000 +349d8cc,3c028043 +349d8d0,24429375 +349d8d4,afa20010 +349d8d8,a03025 +349d8dc,3c05801c +349d8e0,34a5a6a0 +349d8e4,c1074b5 +349d8e8,24a4fed8 +349d8ec,10000012 +349d8f0,8e020000 +349d8f4,2442938b +349d8f8,afa20010 +349d8fc,2003025 +349d900,3c05801c +349d904,34a5a6a0 +349d908,c1074b5 +349d90c,24a4fed8 +349d910,10000009 +349d914,8e020000 +349d918,244245fc +349d91c,afa20010 +349d920,2003025 +349d924,3c05801c +349d928,34a5a6a0 +349d92c,c1074b5 +349d930,24a4fed8 +349d934,8e020000 +349d938,2442ffff +349d93c,ae020000 +349d940,24020001 +349d944,8fbf001c +349d948,8fb00018 +349d94c,3e00008 +349d950,27bd0020 +349d954,3c028011 +349d958,3442a5d0 +349d95c,8c420004 +349d960,1440000b +349d964,3c028011 +349d968,3442a5d0 +349d96c,90430077 +349d970,240200ff +349d974,14620006 +349d978,3c028044 +349d97c,90421f54 +349d980,14400003 +349d984,3c028044 +349d988,24030001 +349d98c,a0431f54 +349d990,3e00008 +349d998,3c028011 +349d99c,3442a5d0 +349d9a0,90430081 +349d9a4,2402000f +349d9a8,10620003 +349d9ac,3c028044 +349d9b0,24030001 +349d9b4,a0431f53 +349d9b8,3e00008 +349d9c0,27bdffe8 +349d9c4,afbf0014 +349d9c8,3c04801c +349d9cc,3c02800d +349d9d0,3442d464 +349d9d4,40f809 +349d9d8,3484a578 +349d9dc,1440001e +349d9e0,8fbf0014 +349d9e4,3c028044 +349d9e8,90431f54 +349d9ec,24020001 +349d9f0,1462000c +349d9f4,3c028044 +349d9f8,3025 +349d9fc,2405045c +349da00,3c04801c +349da04,3c02800d +349da08,3442ce14 +349da0c,40f809 +349da10,348484a0 +349da14,3c028044 +349da18,2403ffff +349da1c,1000000d +349da20,a0431f54 +349da24,90421f53 +349da28,1040000b +349da2c,8fbf0014 +349da30,3025 +349da34,2405045d +349da38,3c04801c +349da3c,3c02800d +349da40,3442ce14 +349da44,40f809 +349da48,348484a0 +349da4c,3c028044 +349da50,a0401f53 +349da54,8fbf0014 +349da58,3e00008 +349da5c,27bd0018 +349da60,27bdffe0 +349da64,afbf001c +349da68,3c028040 +349da6c,90420c8b +349da70,10400010 +349da74,3c028040 +349da78,2406000c +349da7c,3c028044 +349da80,8c451f58 +349da84,c10849f +349da88,27a40010 +349da8c,3c028011 +349da90,97a30010 +349da94,a4435dd2 +349da98,93a30012 +349da9c,a0435dd4 +349daa0,97a30010 +349daa4,a4435dda +349daa8,93a30012 +349daac,a0435ddc +349dab0,3c028040 +349dab4,90420c8c +349dab8,10400010 +349dabc,8fbf001c +349dac0,2406000a +349dac4,3c028044 +349dac8,8c451f58 +349dacc,c10849f +349dad0,27a40010 +349dad4,3c028011 +349dad8,97a30010 +349dadc,a4435dce +349dae0,93a30012 +349dae4,a0435dd0 +349dae8,97a30010 +349daec,a4435dd6 +349daf0,93a30012 +349daf4,a0435dd8 +349daf8,8fbf001c +349dafc,3e00008 +349db00,27bd0020 +349db04,3c02801d +349db08,3442aa30 +349db0c,8c420678 +349db10,10400063 +349db18,8c430130 +349db1c,10600060 +349db24,8c4201c8 +349db28,2c43001f +349db2c,1060005c +349db34,27bdffd8 +349db38,afbf0024 +349db3c,afb10020 +349db40,afb0001c +349db44,280c0 +349db48,2028023 +349db4c,108080 +349db50,2028023 +349db54,108100 +349db58,3c028011 +349db5c,2028021 +349db60,3c028040 +349db64,90420c8d +349db68,10400018 +349db6c,2610572c +349db70,3c118044 +349db74,24060006 +349db78,8e251f58 +349db7c,c10849f +349db80,27a40010 +349db84,93a20010 +349db88,a2020192 +349db8c,93a20011 +349db90,a2020193 +349db94,93a20012 +349db98,a2020194 +349db9c,8e251f58 +349dba0,24060006 +349dba4,24a5000c +349dba8,c10849f +349dbac,27a40010 +349dbb0,93a20010 +349dbb4,a202019a +349dbb8,93a20011 +349dbbc,a202019b +349dbc0,93a20012 +349dbc4,1000000c +349dbc8,a202019c +349dbcc,3c028040 +349dbd0,90440c7e +349dbd4,a2040192 +349dbd8,24420c7e +349dbdc,90430001 +349dbe0,a2030193 +349dbe4,90420002 +349dbe8,a2020194 +349dbec,a204019a +349dbf0,a203019b +349dbf4,a202019c +349dbf8,3c028040 +349dbfc,90420c8e +349dc00,10400018 +349dc04,3c028040 +349dc08,3c118044 +349dc0c,24060005 +349dc10,8e251f58 +349dc14,c10849f +349dc18,27a40010 +349dc1c,93a20010 +349dc20,a2020196 +349dc24,93a20011 +349dc28,a2020197 +349dc2c,93a20012 +349dc30,a2020198 +349dc34,8e251f58 +349dc38,24060005 +349dc3c,24a5000a +349dc40,c10849f +349dc44,27a40010 +349dc48,93a20010 +349dc4c,a202019e +349dc50,93a20011 +349dc54,a202019f +349dc58,93a20012 +349dc5c,1000000b +349dc60,a20201a0 +349dc64,90440c81 +349dc68,a2040196 +349dc6c,24420c81 +349dc70,90430001 +349dc74,a2030197 +349dc78,90420002 +349dc7c,a2020198 +349dc80,a204019e +349dc84,a203019f +349dc88,a20201a0 +349dc8c,8fbf0024 +349dc90,8fb10020 +349dc94,8fb0001c +349dc98,3e00008 +349dc9c,27bd0028 +349dca0,3e00008 +349dca8,27bdffd0 +349dcac,afbf002c +349dcb0,afb20028 +349dcb4,afb10024 +349dcb8,afb00020 +349dcbc,3c028040 +349dcc0,90430c84 +349dcc4,240200fa +349dcc8,14620008 +349dccc,24100001 +349dcd0,3c028040 +349dcd4,24420c84 +349dcd8,90500001 +349dcdc,90420002 +349dce0,2028025 +349dce4,321000ff +349dce8,10802b +349dcec,3c028040 +349dcf0,90430c87 +349dcf4,240200fa +349dcf8,14620008 +349dcfc,24110001 +349dd00,3c028040 +349dd04,24420c87 +349dd08,90510001 +349dd0c,90420002 +349dd10,2228825 +349dd14,323100ff +349dd18,11882b +349dd1c,3c128044 +349dd20,24060009 +349dd24,8e451f58 +349dd28,c10849f +349dd2c,27a40010 +349dd30,8e451f58 +349dd34,24060009 +349dd38,24a50012 +349dd3c,c10849f +349dd40,27a40014 +349dd44,24060007 +349dd48,8e451f58 +349dd4c,c10849f +349dd50,27a40018 +349dd54,8e451f58 +349dd58,24060007 +349dd5c,24a5000e +349dd60,c10849f +349dd64,27a4001c +349dd68,3c02801c +349dd6c,344284a0 +349dd70,8c421c4c +349dd74,10400064 +349dd78,8fbf002c +349dd7c,240500da +349dd80,3c068011 +349dd84,24c65c3c +349dd88,3c088040 +349dd8c,3c078040 +349dd90,3c0a8040 +349dd94,254c0c87 +349dd98,3c098040 +349dd9c,252b0c84 +349dda0,8c430130 +349dda4,50600055 +349dda8,8c420124 +349ddac,84430000 +349ddb0,54650052 +349ddb4,8c420124 +349ddb8,8c43016c +349ddbc,320c0 +349ddc0,832023 +349ddc4,42080 +349ddc8,832023 +349ddcc,42100 +349ddd0,2484faf0 +349ddd4,862021 +349ddd8,8c4d0170 +349dddc,d18c0 +349dde0,6d1823 +349dde4,31880 +349dde8,6d1823 +349ddec,31900 +349ddf0,2463faf0 +349ddf4,910d0c8f +349ddf8,11a0000e +349ddfc,661821 +349de00,97ae0010 +349de04,a48e0192 +349de08,93ad0012 +349de0c,a08d0194 +349de10,a46e0192 +349de14,a06d0194 +349de18,97ae0014 +349de1c,a48e019a +349de20,93ad0016 +349de24,a08d019c +349de28,a46e019a +349de2c,10000012 +349de30,a06d019c +349de34,12000011 +349de38,90ed0c90 +349de3c,912f0c84 +349de40,a08f0192 +349de44,916e0001 +349de48,a08e0193 +349de4c,916d0002 +349de50,a08d0194 +349de54,a06f0192 +349de58,a06e0193 +349de5c,a06d0194 +349de60,a08f019a +349de64,a08e019b +349de68,a08d019c +349de6c,a06f019a +349de70,a06e019b +349de74,a06d019c +349de78,90ed0c90 +349de7c,11a0000d +349de80,97ae0018 +349de84,a48e0196 +349de88,93ad001a +349de8c,a08d0198 +349de90,a46e0196 +349de94,a06d0198 +349de98,97ae001c +349de9c,a48e019e +349dea0,93ad001e +349dea4,a08d01a0 +349dea8,a46e019e +349deac,10000012 +349deb0,a06d01a0 +349deb4,52200011 +349deb8,8c420124 +349debc,914f0c87 +349dec0,a08f0196 +349dec4,918e0001 +349dec8,a08e0197 +349decc,918d0002 +349ded0,a08d0198 +349ded4,a06f0196 +349ded8,a06e0197 +349dedc,a06d0198 +349dee0,a08f019e +349dee4,a08e019f +349dee8,a08d01a0 +349deec,a06f019e +349def0,a06e019f +349def4,a06d01a0 +349def8,8c420124 +349defc,5440ffa9 +349df00,8c430130 +349df04,8fbf002c +349df08,8fb20028 +349df0c,8fb10024 +349df10,8fb00020 +349df14,3e00008 +349df18,27bd0030 +349df1c,27bdffd8 +349df20,afbf001c +349df24,f7b40020 +349df28,3c028040 +349df2c,90420c8f +349df30,1040000a +349df34,46006506 +349df38,24060009 +349df3c,3c028044 +349df40,8c451f58 +349df44,c10849f +349df48,27a40010 +349df4c,93a20010 +349df50,93a30011 +349df54,10000006 +349df58,93a40012 +349df5c,3c048040 +349df60,90820c84 +349df64,24840c84 +349df68,90830001 +349df6c,90840002 +349df70,240500fa +349df74,14450043 +349df78,642825 +349df7c,14a00041 +349df84,3c028042 +349df88,c440460c +349df8c,4600a002 +349df90,3c028042 +349df94,c4424610 +349df98,46020000 +349df9c,3c028042 +349dfa0,c4424614 +349dfa4,4600103e +349dfac,45030005 +349dfb0,46020001 +349dfb4,4600000d +349dfb8,44020000 +349dfbc,10000006 +349dfc0,304200ff +349dfc4,4600000d +349dfc8,44020000 +349dfcc,3c038000 +349dfd0,431025 +349dfd4,304200ff +349dfd8,3c038042 +349dfdc,c4604618 +349dfe0,4600a002 +349dfe4,3c038042 +349dfe8,c4624610 +349dfec,46020000 +349dff0,3c038042 +349dff4,c4624614 +349dff8,4600103e +349e000,45030005 +349e004,46020001 +349e008,4600000d +349e00c,44030000 +349e010,10000006 +349e014,306300ff +349e018,4600000d +349e01c,44030000 +349e020,3c048000 +349e024,641825 +349e028,306300ff +349e02c,3c048042 +349e030,c480461c +349e034,4600a002 +349e038,3c048042 +349e03c,c4824620 +349e040,46020000 +349e044,3c048042 +349e048,c4824614 +349e04c,4600103e +349e054,45030005 +349e058,46020001 +349e05c,4600000d +349e060,44040000 +349e064,10000040 +349e068,308400ff +349e06c,4600000d +349e070,44040000 +349e074,3c058000 +349e078,852025 +349e07c,1000003a +349e080,308400ff +349e084,44820000 +349e08c,46800020 +349e090,46140002 +349e094,3c028042 +349e098,c4424614 +349e09c,4600103e +349e0a4,45030005 +349e0a8,46020001 +349e0ac,4600000d +349e0b0,44020000 +349e0b4,10000006 +349e0b8,304200ff +349e0bc,4600000d +349e0c0,44020000 +349e0c4,3c058000 +349e0c8,451025 +349e0cc,304200ff +349e0d0,44830000 +349e0d8,46800020 +349e0dc,46140002 +349e0e0,3c038042 +349e0e4,c4624614 +349e0e8,4600103e +349e0f0,45030005 +349e0f4,46020001 +349e0f8,4600000d +349e0fc,44030000 +349e100,10000006 +349e104,306300ff +349e108,4600000d +349e10c,44030000 +349e110,3c058000 +349e114,651825 +349e118,306300ff +349e11c,44840000 +349e124,46800020 +349e128,46140002 +349e12c,3c048042 +349e130,c4824614 +349e134,4600103e +349e13c,45030005 +349e140,46020001 +349e144,4600000d +349e148,44040000 +349e14c,10000006 +349e150,308400ff +349e154,4600000d +349e158,44040000 +349e15c,3c058000 +349e160,852025 +349e164,308400ff +349e168,21600 +349e16c,42200 +349e170,441025 +349e174,31c00 +349e178,431025 +349e17c,344200ff +349e180,8fbf001c +349e184,d7b40020 +349e188,3e00008 +349e18c,27bd0028 +349e190,27bdffd8 +349e194,afbf0024 +349e198,afb20020 +349e19c,afb1001c +349e1a0,afb00018 +349e1a4,3c02801c +349e1a8,344284a0 +349e1ac,90421cda +349e1b0,24030004 +349e1b4,10430015 +349e1b8,2c430005 +349e1bc,50600006 +349e1c0,2442fffb +349e1c4,24030002 +349e1c8,50430008 +349e1cc,3c028040 +349e1d0,10000013 +349e1d4,3c028040 +349e1d8,304200fb +349e1dc,54400010 +349e1e0,3c028040 +349e1e4,10000005 +349e1e8,3c028040 +349e1ec,90500c91 +349e1f0,3c028040 +349e1f4,1000000d +349e1f8,90510c92 +349e1fc,90500c93 +349e200,3c028040 +349e204,10000009 +349e208,90510c94 +349e20c,3c028040 +349e210,90500c95 +349e214,3c028040 +349e218,10000004 +349e21c,90510c96 +349e220,90500c97 +349e224,3c028040 +349e228,90510c98 +349e22c,2111025 +349e230,1040005b +349e234,8fbf0024 +349e238,3c128044 +349e23c,2406000e +349e240,8e451f58 +349e244,c10849f +349e248,27a40010 +349e24c,2406000c +349e250,8e451f58 +349e254,c10849f +349e258,27a40014 +349e25c,1200000a +349e260,3c02801c +349e264,344284a0 +349e268,90431cda +349e26c,318c0 +349e270,3c02800f +349e274,431021 +349e278,97a30010 +349e27c,a4438214 +349e280,93a30012 +349e284,a0438216 +349e288,1220000a +349e28c,3c02801c +349e290,344284a0 +349e294,90431cda +349e298,318c0 +349e29c,3c02800f +349e2a0,431021 +349e2a4,97a30014 +349e2a8,a4438218 +349e2ac,93a30016 +349e2b0,a043821a +349e2b4,12000010 +349e2b8,3c02801d +349e2bc,3c02801c +349e2c0,344284a0 +349e2c4,97a30010 +349e2c8,a4431cf0 +349e2cc,93a30012 +349e2d0,a0431cf2 +349e2d4,97a30010 +349e2d8,a4431d04 +349e2dc,93a30012 +349e2e0,a0431d06 +349e2e4,97a30010 +349e2e8,a4431d18 +349e2ec,93a30012 +349e2f0,a0431d1a +349e2f4,3c02801d +349e2f8,3442aa30 +349e2fc,8c42067c +349e300,10400027 +349e304,8fbf0024 +349e308,8c430130 +349e30c,10600025 +349e310,8fb20020 +349e314,12000010 +349e318,24430234 +349e31c,93a40010 +349e320,44840000 +349e328,46800020 +349e32c,e4400234 +349e330,93a20011 +349e334,44820000 +349e33c,46800020 +349e340,e4600004 +349e344,93a20012 +349e348,44820000 +349e350,46800020 +349e354,e4600008 +349e358,12200011 +349e35c,8fbf0024 +349e360,93a20014 +349e364,44820000 +349e36c,46800020 +349e370,e4600010 +349e374,93a20015 +349e378,44820000 +349e380,46800020 +349e384,e4600014 +349e388,93a20016 +349e38c,44820000 +349e394,46800020 +349e398,e4600018 +349e39c,8fbf0024 +349e3a0,8fb20020 +349e3a4,8fb1001c +349e3a8,8fb00018 +349e3ac,3e00008 +349e3b0,27bd0028 +349e3b4,27bdffe0 +349e3b8,afbf001c +349e3bc,24060014 +349e3c0,3c028044 +349e3c4,8c451f58 +349e3c8,c10849f +349e3cc,27a40010 +349e3d0,3c028040 +349e3d4,90420c9e +349e3d8,30430001 +349e3dc,1060000a +349e3e0,30430002 +349e3e4,3c038040 +349e3e8,93a40010 +349e3ec,a0640c9f +349e3f0,24630c9f +349e3f4,93a40011 +349e3f8,a0640001 +349e3fc,93a40012 +349e400,a0640002 +349e404,30430002 +349e408,10600009 +349e40c,30420004 +349e410,3c038040 +349e414,24630c9f +349e418,93a40010 +349e41c,a0640003 +349e420,93a40011 +349e424,a0640004 +349e428,93a40012 +349e42c,a0640005 +349e430,1040000a +349e434,8fbf001c +349e438,3c028040 +349e43c,24420c9f +349e440,93a30010 +349e444,a0430006 +349e448,93a30011 +349e44c,a0430007 +349e450,93a30012 +349e454,a0430008 +349e458,8fbf001c +349e45c,3e00008 +349e460,27bd0020 +349e464,27bdffe8 +349e468,afbf0014 +349e46c,3c038044 +349e470,8c621f58 +349e474,24420001 +349e478,c107698 +349e47c,ac621f58 +349e480,c1076c1 +349e488,c10772a +349e490,c107864 +349e498,c1078ed +349e4a0,8fbf0014 +349e4a4,3e00008 +349e4a8,27bd0018 +349e4ac,27bdff78 +349e4b0,afbf0084 +349e4b4,afbe0080 +349e4b8,afb0007c +349e4bc,3a0f025 +349e4c0,3c028044 +349e4c4,94421f60 +349e4c8,10400041 +349e4cc,3a03825 +349e4d0,3c02801c +349e4d4,344284a0 +349e4d8,3c030001 +349e4dc,431021 +349e4e0,94430934 +349e4e4,24020006 +349e4e8,5462006b +349e4ec,e0e825 +349e4f0,3c028040 +349e4f4,90420cb0 +349e4f8,10400008 +349e4fc,3c028044 +349e500,3c02801c +349e504,344284a0 +349e508,3c030001 +349e50c,431021 +349e510,94420948 +349e514,1440002e +349e518,3c028044 +349e51c,90421f5c +349e520,5440002d +349e524,3c028042 +349e528,10000044 +349e52c,3c028042 +349e530,e08025 +349e534,8c820008 +349e538,24430008 +349e53c,ac830008 +349e540,3c03de00 +349e544,ac430000 +349e548,3c038043 +349e54c,24639688 +349e550,ac430004 +349e554,8c820008 +349e558,24430008 +349e55c,ac830008 +349e560,3c03e700 +349e564,ac430000 +349e568,ac400004 +349e56c,8c820008 +349e570,24430008 +349e574,ac830008 +349e578,3c03fc11 +349e57c,34639623 +349e580,ac430000 +349e584,3c03ff2f +349e588,3463ffff +349e58c,ac430004 +349e590,8c820008 +349e594,24430008 +349e598,ac830008 +349e59c,3c03fa00 +349e5a0,ac430000 +349e5a4,3c03d716 +349e5a8,24630dff +349e5ac,ac430004 +349e5b0,2402000a +349e5b4,afa20014 +349e5b8,24020005 +349e5bc,afa20010 +349e5c0,c108a2d +349e5c4,24070009 +349e5c8,10000033 +349e5cc,200e825 +349e5d0,10000031 +349e5d4,e0e825 +349e5d8,24424624 +349e5dc,27c30018 +349e5e0,244a0020 +349e5e4,8c490000 +349e5e8,8c480004 +349e5ec,8c460008 +349e5f0,8c45000c +349e5f4,ac690000 +349e5f8,ac680004 +349e5fc,ac660008 +349e600,ac65000c +349e604,24420010 +349e608,144afff6 +349e60c,24630010 +349e610,8c480000 +349e614,8c460004 +349e618,8c450008 +349e61c,ac680000 +349e620,ac660004 +349e624,ac650008 +349e628,9442000c +349e62c,a462000c +349e630,27c50018 +349e634,1000ffbe +349e638,24060030 +349e63c,24424654 +349e640,27c30048 +349e644,244a0020 +349e648,8c490000 +349e64c,8c480004 +349e650,8c460008 +349e654,8c45000c +349e658,ac690000 +349e65c,ac680004 +349e660,ac660008 +349e664,ac65000c +349e668,24420010 +349e66c,144afff6 +349e670,24630010 +349e674,8c460000 +349e678,8c450004 +349e67c,ac660000 +349e680,ac650004 +349e684,94420008 +349e688,a4620008 +349e68c,27c50048 +349e690,1000ffa7 +349e694,2406003a +349e698,3c0e825 +349e69c,8fbf0084 +349e6a0,8fbe0080 +349e6a4,8fb0007c +349e6a8,3e00008 +349e6ac,27bd0088 +349e6b0,27bdffb0 +349e6b4,801025 +349e6b8,3025 +349e6bc,3c07801c +349e6c0,34e784a0 +349e6c4,3c080001 +349e6c8,24040014 +349e6cc,240d0015 +349e6d0,240e0013 +349e6d4,61900 +349e6d8,661821 +349e6dc,31880 +349e6e0,e31821 +349e6e4,1031821 +349e6e8,246517b0 +349e6ec,afbd0048 +349e6f0,246317f0 +349e6f4,8cac0000 +349e6f8,8cab0004 +349e6fc,8caa0008 +349e700,8ca9000c +349e704,8faf0048 +349e708,adec0000 +349e70c,8fac0048 +349e710,ad8b0004 +349e714,8fab0048 +349e718,ad6a0008 +349e71c,8faa0048 +349e720,ad49000c +349e724,24a50010 +349e728,8fa90048 +349e72c,25290010 +349e730,14a3fff0 +349e734,afa90048 +349e738,8ca30000 +349e73c,ad230000 +349e740,61900 +349e744,661821 +349e748,31880 +349e74c,e31821 +349e750,1031821 +349e754,846317b0 +349e758,50640008 +349e75c,a7a30000 +349e760,106d0005 +349e764,24c60001 +349e768,14ceffdb +349e76c,61900 +349e770,10000016 +349e774,3c05801c +349e778,a7a30000 +349e77c,afbd0048 +349e780,401825 +349e784,27a80040 +349e788,8fa40048 +349e78c,8c870000 +349e790,8c860004 +349e794,8c850008 +349e798,8c84000c +349e79c,ac670000 +349e7a0,ac660004 +349e7a4,ac650008 +349e7a8,ac64000c +349e7ac,8fa40048 +349e7b0,24840010 +349e7b4,afa40048 +349e7b8,1488fff3 +349e7bc,24630010 +349e7c0,8c840000 +349e7c4,10000014 +349e7c8,ac640000 +349e7cc,34a584a0 +349e7d0,3c030001 +349e7d4,a32821 +349e7d8,24a317b0 +349e7dc,402025 +349e7e0,24a517f0 +349e7e4,8c690000 +349e7e8,8c680004 +349e7ec,8c670008 +349e7f0,8c66000c +349e7f4,ac890000 +349e7f8,ac880004 +349e7fc,ac870008 +349e800,ac86000c +349e804,24630010 +349e808,1465fff6 +349e80c,24840010 +349e810,8c630000 +349e814,ac830000 +349e818,3e00008 +349e81c,27bd0050 +349e820,afa40000 +349e824,afa50004 +349e828,afa60008 +349e82c,afa7000c +349e830,8fa20044 +349e834,18400013 +349e838,1825 +349e83c,3825 +349e840,3c088042 +349e844,25084688 +349e848,24090010 +349e84c,a33021 +349e850,1072021 +349e854,80c60000 +349e858,80840000 +349e85c,54c40006 +349e860,3825 +349e864,24e70001 +349e868,54e90004 +349e86c,24630001 +349e870,3e00008 +349e874,601025 +349e878,24630001 +349e87c,1443fff4 +349e880,a33021 349e884,3e00008 -349e888,2c820001 349e88c,3e00008 -349e890,24020001 -349e894,27bdffe8 -349e898,afbf0014 -349e89c,c1079db -349e8a4,3c038011 -349e8a8,3463a5d0 -349e8ac,24040001 -349e8b0,442004 -349e8b4,8c620b64 -349e8b8,441025 -349e8bc,ac620b64 -349e8c0,8fbf0014 -349e8c4,3e00008 -349e8c8,27bd0018 -349e8cc,27bdffe8 -349e8d0,afbf0014 -349e8d4,c1079db -349e8dc,3c048011 -349e8e0,3484a5d0 -349e8e4,24030001 -349e8e8,431804 -349e8ec,31827 -349e8f0,8c820b64 -349e8f4,621824 -349e8f8,ac830b64 -349e8fc,8fbf0014 -349e900,3e00008 -349e904,27bd0018 -349e908,27bdffe8 -349e90c,afbf0014 -349e910,c1079db -349e918,24030001 -349e91c,431004 -349e920,3c038011 -349e924,3463a5d0 -349e928,8c630b64 -349e92c,431024 -349e930,2102b -349e934,8fbf0014 -349e938,3e00008 -349e93c,27bd0018 -349e940,27bdffe0 -349e944,afbf001c -349e948,afb10018 -349e94c,afb00014 -349e950,808825 -349e954,a08025 -349e958,c107a11 -349e95c,a02025 -349e960,1040000f -349e964,1825 -349e968,24020022 -349e96c,12020003 -349e970,2402002e -349e974,1602000b -349e978,601025 -349e97c,c107a42 -349e980,2202025 -349e984,10400006 -349e988,1825 -349e98c,c107a25 -349e990,2002025 -349e994,c107a33 -349e998,2202025 -349e99c,24030001 -349e9a0,601025 -349e9a4,8fbf001c -349e9a8,8fb10018 -349e9ac,8fb00014 -349e9b0,3e00008 -349e9b4,27bd0020 -349e9b8,27bdffe8 -349e9bc,afbf0014 -349e9c0,c1079db -349e9c8,3c038011 -349e9cc,3463a5d0 -349e9d0,24040001 -349e9d4,442004 -349e9d8,8c620b9c -349e9dc,441025 -349e9e0,ac620b9c -349e9e4,8fbf0014 -349e9e8,3e00008 -349e9ec,27bd0018 -349e9f0,27bdffe8 -349e9f4,afbf0014 -349e9f8,c1079db -349ea00,3c048011 -349ea04,3484a5d0 -349ea08,24030001 -349ea0c,431804 -349ea10,31827 -349ea14,8c820b9c -349ea18,621824 -349ea1c,ac830b9c -349ea20,8fbf0014 -349ea24,3e00008 -349ea28,27bd0018 -349ea2c,27bdffe8 -349ea30,afbf0014 -349ea34,afb00010 -349ea38,c1079db -349ea3c,808025 -349ea40,24030001 -349ea44,431804 -349ea48,3c028011 -349ea4c,3442a5d0 -349ea50,8c420b9c -349ea54,621824 -349ea58,3182b -349ea5c,2605ffd3 -349ea60,30a5ffff -349ea64,2ca5000b -349ea68,10a0000c -349ea6c,601025 -349ea70,3c048040 -349ea74,94846134 -349ea78,14800009 -349ea7c,8fbf0014 -349ea80,3c028011 -349ea84,3442a5d0 -349ea88,9042008a -349ea8c,202102b -349ea90,54400001 -349ea94,24030001 -349ea98,601025 -349ea9c,8fbf0014 -349eaa0,8fb00010 -349eaa4,3e00008 -349eaa8,27bd0018 -349eaac,27bdffe8 -349eab0,afbf0014 -349eab4,c1079db -349eabc,3c038011 -349eac0,3463a5d0 -349eac4,24440004 -349eac8,24020001 -349eacc,821004 -349ead0,8c640b9c -349ead4,441025 -349ead8,ac620b9c -349eadc,8fbf0014 -349eae0,3e00008 -349eae4,27bd0018 -349eae8,27bdffe8 -349eaec,afbf0014 -349eaf0,c1079db -349eaf8,24430004 -349eafc,24020001 -349eb00,621004 -349eb04,3c038011 -349eb08,3463a5d0 -349eb0c,8c630b9c -349eb10,431024 -349eb14,2102b -349eb18,8fbf0014 -349eb1c,3e00008 -349eb20,27bd0018 -349eb24,27bdffd8 -349eb28,afbf0024 -349eb2c,afb30020 -349eb30,afb2001c -349eb34,afb10018 -349eb38,afb00014 -349eb3c,c107a11 -349eb40,808825 -349eb44,1040001b -349eb48,2201025 -349eb4c,2e22002c -349eb50,54400004 -349eb54,24020021 -349eb58,2402002d -349eb5c,10000002 -349eb60,24120037 -349eb64,2412002b -349eb68,232182b -349eb6c,10600003 -349eb70,408025 -349eb74,26300001 -349eb78,3210ffff -349eb7c,10000005 -349eb80,409825 -349eb84,3210ffff -349eb88,250182b -349eb8c,54600001 -349eb90,2608025 -349eb94,12110007 -349eb98,2201025 -349eb9c,c107a42 -349eba0,2002025 -349eba4,5040fff7 -349eba8,26100001 -349ebac,2008825 -349ebb0,2201025 -349ebb4,8fbf0024 -349ebb8,8fb30020 -349ebbc,8fb2001c -349ebc0,8fb10018 -349ebc4,8fb00014 -349ebc8,3e00008 -349ebcc,27bd0028 -349ebd0,27bdffd8 -349ebd4,afbf0024 -349ebd8,afb30020 -349ebdc,afb2001c -349ebe0,afb10018 -349ebe4,afb00014 -349ebe8,c107a11 -349ebec,808825 -349ebf0,1040001b -349ebf4,2201025 -349ebf8,2e22002c -349ebfc,54400004 -349ec00,24120021 -349ec04,2412002d -349ec08,10000002 -349ec0c,24020037 -349ec10,2402002b -349ec14,251182b -349ec18,10600003 -349ec1c,408025 -349ec20,2630ffff -349ec24,3210ffff -349ec28,10000005 -349ec2c,409825 -349ec30,3210ffff -349ec34,212182b -349ec38,54600001 -349ec3c,2608025 -349ec40,12110007 -349ec44,2201025 -349ec48,c107a42 -349ec4c,2002025 -349ec50,5040fff7 -349ec54,2610ffff -349ec58,2008825 -349ec5c,2201025 -349ec60,8fbf0024 -349ec64,8fb30020 -349ec68,8fb2001c -349ec6c,8fb10018 -349ec70,8fb00014 -349ec74,3e00008 -349ec78,27bd0028 -349ec7c,27bdffc8 -349ec80,afbf0034 -349ec84,afbe0030 -349ec88,afb7002c -349ec8c,afb60028 -349ec90,afb50024 -349ec94,afb40020 -349ec98,afb3001c -349ec9c,afb20018 -349eca0,afb10014 -349eca4,afb00010 -349eca8,80a025 -349ecac,a09825 -349ecb0,a0b825 -349ecb4,309e00ff -349ecb8,3c028011 -349ecbc,3442a5d0 -349ecc0,451021 -349ecc4,a05e0074 -349ecc8,24110001 -349eccc,3c128011 -349ecd0,3652a5d0 -349ecd4,3c168006 -349ecd8,36d6fb50 -349ecdc,3c15801c -349ece0,36b584a0 -349ece4,2630ffff -349ece8,2501021 -349ecec,9042006c -349ecf0,16e20007 -349ecf4,2501021 -349ecf8,2511021 -349ecfc,a05e0068 -349ed00,3225ffff -349ed04,2c0f809 -349ed08,2a02025 -349ed0c,2501021 -349ed10,80420044 -349ed14,14530003 -349ed18,2508021 -349ed1c,2511021 -349ed20,a0540040 -349ed24,8202004e -349ed28,54530004 -349ed2c,26310001 -349ed30,2511021 -349ed34,a054004a -349ed38,26310001 -349ed3c,24020004 -349ed40,1622ffe9 -349ed44,2630ffff -349ed48,8fbf0034 -349ed4c,8fbe0030 -349ed50,8fb7002c -349ed54,8fb60028 -349ed58,8fb50024 -349ed5c,8fb40020 -349ed60,8fb3001c -349ed64,8fb20018 -349ed68,8fb10014 -349ed6c,8fb00010 -349ed70,3e00008 -349ed74,27bd0038 -349ed78,27bdffe8 -349ed7c,afbf0014 -349ed80,afb00010 -349ed84,c107a42 -349ed88,808025 -349ed8c,10400008 -349ed90,8fbf0014 -349ed94,c107a8b -349ed98,2002025 -349ed9c,14400004 -349eda0,8fbf0014 -349eda4,c107a6e -349eda8,2002025 -349edac,8fbf0014 -349edb0,8fb00010 -349edb4,3e00008 -349edb8,27bd0018 -349edbc,27bdffe8 -349edc0,afbf0014 -349edc4,c107a8b -349edc8,24040037 -349edcc,8fbf0014 +349e894,afa40000 +349e898,afa50004 +349e89c,afa60008 +349e8a0,afa7000c +349e8a4,8faa0044 +349e8a8,19400030 +349e8ac,2546ffff +349e8b0,2402fffc +349e8b4,c23024 +349e8b8,24a20004 +349e8bc,c23021 +349e8c0,a01825 +349e8c4,24040006 +349e8c8,3c0900ff +349e8cc,3529ffff +349e8d0,240cfffb +349e8d4,24020004 +349e8d8,455823 +349e8dc,80620000 +349e8e0,5444001e +349e8e4,24630004 +349e8e8,8c620000 +349e8ec,491024 +349e8f0,4a402a +349e8f4,51000019 +349e8f8,24630004 +349e8fc,8c68fffc +349e900,1094024 +349e904,481023 +349e908,2442fff4 +349e90c,4c1024 +349e910,54400012 +349e914,24630004 +349e918,80670004 +349e91c,14e40009 +349e920,1631021 +349e924,24080001 +349e928,24420004 +349e92c,a23821 +349e930,80e70000 +349e934,10e4fffc +349e938,25080001 +349e93c,10000003 +349e940,30e700ff +349e944,24080001 +349e948,30e700ff +349e94c,14e80003 +349e950,24630004 +349e954,3e00008 +349e958,2442fffc +349e95c,5466ffe0 +349e960,80620000 +349e964,3e00008 +349e968,2402ffff +349e96c,3e00008 +349e970,2402ffff +349e974,afa40000 +349e978,afa50004 +349e97c,afa60008 +349e980,afa7000c +349e984,8fa20044 +349e988,a21021 +349e98c,8c420000 +349e990,3c0300ff +349e994,3463ffff +349e998,431024 +349e99c,a21021 +349e9a0,8c420000 +349e9a4,431024 +349e9a8,24420010 +349e9ac,a22821 +349e9b0,8fa20048 +349e9b4,2442000c +349e9b8,24030001 +349e9bc,24040002 +349e9c0,240d0002 +349e9c4,240e0009 +349e9c8,240f0006 +349e9cc,94a90002 +349e9d0,94ab0004 +349e9d4,8c480004 +349e9d8,94a70000 +349e9dc,8c460000 +349e9e0,14e60017 +349e9e4,8c4a0008 +349e9e8,15280017 +349e9f0,156a0017 +349e9f8,506d000d +349e9fc,24a50010 +349ea00,506e000b +349ea04,24a50010 +349ea08,90a60008 +349ea0c,50cf0006 +349ea10,28860015 +349ea14,3c028044 +349ea18,24030001 +349ea1c,a0431f5c +349ea20,3e00008 +349ea24,1025 +349ea28,10c0000b +349ea2c,24a50010 +349ea30,2442000c +349ea34,24840001 +349ea38,1000ffe4 +349ea3c,24630001 +349ea40,3e00008 +349ea44,1025 +349ea48,3e00008 +349ea4c,1025 +349ea50,3e00008 +349ea54,1025 +349ea58,3e00008 +349ea5c,24020001 +349ea60,3c028044 +349ea64,94421f60 +349ea68,14400089 +349ea6c,3c028044 +349ea70,27bdff58 +349ea74,afbf00a4 +349ea78,afb100a0 +349ea7c,afb0009c +349ea80,90421f5e +349ea84,1040006d +349ea88,3c028044 +349ea8c,90421f5d +349ea90,10400072 +349ea94,8fbf00a4 +349ea98,1000007a +349ea9c,8fb100a0 +349eaa0,16020077 +349eaa4,8fbf00a4 +349eaa8,3c028044 +349eaac,90421f5d +349eab0,54400074 +349eab4,8fb100a0 +349eab8,3c118043 +349eabc,10000004 +349eac0,2631d184 +349eac4,10000002 +349eac8,2631d280 +349eacc,2631d184 +349ead0,1010c0 +349ead4,3c03800f +349ead8,34638ff8 +349eadc,431021 +349eae0,8c430004 +349eae4,8c420000 +349eae8,621023 +349eaec,afa20044 +349eaf0,27a20060 +349eaf4,27a30010 +349eaf8,27a80090 +349eafc,8c470000 +349eb00,8c460004 +349eb04,8c450008 +349eb08,8c44000c +349eb0c,ac670000 +349eb10,ac660004 +349eb14,ac650008 +349eb18,ac64000c +349eb1c,24420010 +349eb20,1448fff6 +349eb24,24630010 +349eb28,8c420000 +349eb2c,ac620000 +349eb30,8fa40050 +349eb34,8fa50054 +349eb38,8fa60058 +349eb3c,c107a08 +349eb40,8fa7005c +349eb44,afa20044 +349eb48,27a20060 +349eb4c,27a30010 +349eb50,27a80090 +349eb54,8c470000 +349eb58,8c460004 +349eb5c,8c450008 +349eb60,8c44000c +349eb64,ac670000 +349eb68,ac660004 +349eb6c,ac650008 +349eb70,ac64000c +349eb74,24420010 +349eb78,1448fff6 +349eb7c,24630010 +349eb80,8c420000 +349eb84,ac620000 +349eb88,8fa40050 +349eb8c,8fa50054 +349eb90,8fa60058 +349eb94,c107a25 +349eb98,8fa7005c +349eb9c,2403ffff +349eba0,10430036 +349eba4,27a30010 +349eba8,afb10048 +349ebac,afa20044 +349ebb0,27a20060 +349ebb4,27a80090 +349ebb8,8c470000 +349ebbc,8c460004 +349ebc0,8c450008 +349ebc4,8c44000c +349ebc8,ac670000 +349ebcc,ac660004 +349ebd0,ac650008 +349ebd4,ac64000c +349ebd8,24420010 +349ebdc,1448fff6 +349ebe0,24630010 +349ebe4,8c420000 +349ebe8,ac620000 +349ebec,8fa40050 +349ebf0,8fa50054 +349ebf4,8fa60058 +349ebf8,c107a5d +349ebfc,8fa7005c +349ec00,14400005 +349ec04,24020014 +349ec08,3c028044 +349ec0c,24030001 +349ec10,1000001a +349ec14,a4431f60 +349ec18,16020005 +349ec1c,3c028044 +349ec20,3c028044 +349ec24,24030001 +349ec28,10000014 +349ec2c,a0431f5e +349ec30,24030001 +349ec34,10000011 +349ec38,a0431f5d +349ec3c,c1079ac +349ec40,27a40050 +349ec44,87b00050 +349ec48,24020014 +349ec4c,1602ff94 +349ec50,24020015 +349ec54,1000ff9b +349ec58,3c118043 +349ec5c,c1079ac +349ec60,27a40050 +349ec64,87b00050 +349ec68,24020014 +349ec6c,12020003 +349ec70,24020015 +349ec74,1202ff95 +349ec78,3c118043 +349ec7c,8fbf00a4 +349ec80,8fb100a0 +349ec84,8fb0009c +349ec88,3e00008 +349ec8c,27bd00a8 +349ec90,3e00008 +349ec98,27bdffe8 +349ec9c,afbf0014 +349eca0,801025 +349eca4,2c430193 +349eca8,10600006 +349ecac,a02025 +349ecb0,210c0 +349ecb4,3c03800f +349ecb8,34638ff8 +349ecbc,10000008 +349ecc0,431021 +349ecc4,3c031fff +349ecc8,3463fe6d +349eccc,431021 +349ecd0,210c0 +349ecd4,3c038040 +349ecd8,24631cb4 +349ecdc,621021 +349ece0,8c450000 +349ece4,8c460004 +349ece8,3c028000 +349ecec,24420df0 +349ecf0,40f809 +349ecf4,c53023 +349ecf8,8fbf0014 +349ecfc,3e00008 +349ed00,27bd0018 +349ed04,27bdffe8 +349ed08,afbf0014 +349ed0c,801025 +349ed10,a02025 +349ed14,a4450000 +349ed18,c107b26 +349ed1c,8c450004 +349ed20,8fbf0014 +349ed24,3e00008 +349ed28,27bd0018 +349ed2c,27bdffe8 +349ed30,afbf0014 +349ed34,afb00010 +349ed38,802825 +349ed3c,3c028044 +349ed40,24421f64 +349ed44,244400c0 +349ed48,94430000 +349ed4c,1065000a +349ed50,408025 +349ed54,54600005 +349ed58,24420008 +349ed5c,c107b41 +349ed60,402025 +349ed64,10000005 +349ed68,2001025 +349ed6c,5444fff7 +349ed70,94430000 +349ed74,8025 +349ed78,2001025 +349ed7c,8fbf0014 +349ed80,8fb00010 +349ed84,3e00008 +349ed88,27bd0018 +349ed8c,3c03801c +349ed90,346384a0 +349ed94,8c620000 +349ed98,8c860004 +349ed9c,8c4502d0 +349eda0,24a70008 +349eda4,ac4702d0 +349eda8,3c02db06 +349edac,24420018 +349edb0,aca20000 +349edb4,aca60004 +349edb8,8c650000 +349edbc,8c840004 +349edc0,8ca302c0 +349edc4,24660008 +349edc8,aca602c0 +349edcc,ac620000 349edd0,3e00008 -349edd4,27bd0018 -349edd8,27bdffe8 +349edd4,ac640004 +349edd8,27bdffe0 349eddc,afbf0014 -349ede0,afb00010 -349ede4,3086ffff -349ede8,24c3ffd5 -349edec,3063ffff -349edf0,2c630003 -349edf4,14600006 -349edf8,a08025 -349edfc,24c6ffd1 -349ee00,30c6ffff -349ee04,2cc6000a -349ee08,10c0000b -349ee0c,2001025 -349ee10,c1079e3 -349ee18,10400006 -349ee1c,402025 -349ee20,c107a8b -349ee28,2c420001 -349ee2c,21023 -349ee30,2028024 -349ee34,2001025 -349ee38,8fbf0014 -349ee3c,8fb00010 -349ee40,3e00008 -349ee44,27bd0018 -349ee48,27bdffc8 -349ee4c,afbf0034 -349ee50,afb70030 -349ee54,afb6002c -349ee58,afb50028 -349ee5c,afb40024 -349ee60,afb30020 -349ee64,afb2001c -349ee68,afb10018 -349ee6c,afb00014 -349ee70,80a825 -349ee74,a08825 -349ee78,c09025 -349ee7c,9825 -349ee80,1025 -349ee84,3c108011 -349ee88,3610a5d0 -349ee8c,30d600ff -349ee90,24170001 -349ee94,3c148006 -349ee98,3694fb50 -349ee9c,2021821 -349eea0,90630074 -349eea4,54710019 -349eea8,24420001 -349eeac,2021021 -349eeb0,a0560074 -349eeb4,92020069 -349eeb8,5051000a -349eebc,2e09825 -349eec0,9202006a -349eec4,50510009 -349eec8,24130002 -349eecc,9202006b -349eed0,14510015 -349eed4,24130004 -349eed8,24130003 -349eedc,10000004 -349eee0,24020003 -349eee4,10000002 -349eee8,2e01025 -349eeec,24020002 -349eef0,2021021 -349eef4,a0560068 -349eef8,2602825 -349eefc,280f809 -349ef00,2a02025 -349ef04,10000009 -349ef08,26620001 -349ef0c,21400 -349ef10,21403 -349ef14,28430018 -349ef18,1460ffe1 -349ef1c,2021821 -349ef20,10000004 -349ef24,2402825 -349ef28,26620001 -349ef2c,1000ffdb -349ef30,2e09825 -349ef34,c107a50 -349ef38,2202025 -349ef3c,531025 -349ef40,2102b -349ef44,8fbf0034 -349ef48,8fb70030 -349ef4c,8fb6002c -349ef50,8fb50028 -349ef54,8fb40024 -349ef58,8fb30020 -349ef5c,8fb2001c -349ef60,8fb10018 -349ef64,8fb00014 -349ef68,3e00008 -349ef6c,27bd0038 -349ef70,27bdffe8 -349ef74,afbf0014 -349ef78,c107a42 -349ef7c,24040033 -349ef80,1440000e -349ef88,c107a42 -349ef8c,24040034 -349ef90,1440000a -349ef98,c107a42 -349ef9c,24040035 -349efa0,14400006 -349efa8,c107a42 -349efac,24040036 -349efb0,401825 -349efb4,10600005 -349efb8,24020037 -349efbc,c107a8b -349efc0,24040036 -349efc4,2102b -349efc8,24420036 -349efcc,8fbf0014 -349efd0,3e00008 -349efd4,27bd0018 -349efd8,27bdffe8 -349efdc,afbf0014 -349efe0,c107a42 -349efe4,2404002f -349efe8,10400005 -349eff0,c107a8b -349eff4,2404002f -349eff8,5040000a -349effc,2403002d -349f000,c107a42 -349f004,24040031 -349f008,10400006 -349f00c,24030037 -349f010,c107a8b -349f014,24040031 -349f018,14400002 -349f01c,24030037 -349f020,2403002d -349f024,601025 -349f028,8fbf0014 -349f02c,3e00008 -349f030,27bd0018 -349f034,3c02801d -349f038,3442aa30 -349f03c,80420683 -349f040,38420006 -349f044,3e00008 -349f048,2c420001 -349f04c,3c028011 -349f050,3442a5d0 -349f054,8c430b9c -349f058,310c2 -349f05c,319c2 -349f060,431026 -349f064,3042000f -349f068,10400032 -349f06c,3c028011 -349f070,3442a5d0 -349f074,94420ef6 -349f078,30430100 -349f07c,1060000a -349f080,30430200 -349f084,3c038011 -349f088,3463a5d0 -349f08c,94630ee4 -349f090,30631000 -349f094,54600004 -349f098,30430200 -349f09c,a08001db -349f0a0,3e00008 -349f0a4,240270a5 -349f0a8,1060000b -349f0ac,30430400 -349f0b0,3c038011 -349f0b4,3463a5d0 -349f0b8,94630ee4 -349f0bc,30632000 -349f0c0,54600005 -349f0c4,30430400 -349f0c8,24020002 -349f0cc,a08201db -349f0d0,3e00008 -349f0d4,240270c4 -349f0d8,5060000b -349f0dc,30420800 -349f0e0,3c038011 -349f0e4,3463a5d0 -349f0e8,94630ee4 -349f0ec,30634000 -349f0f0,54600005 -349f0f4,30420800 -349f0f8,24020001 -349f0fc,a08201db -349f100,3e00008 -349f104,240270c5 -349f108,1040001c -349f110,3c028011 -349f114,3442a5d0 -349f118,84430ee4 -349f11c,460001e -349f120,240270ac -349f124,24020003 -349f128,a08201db -349f12c,3e00008 -349f130,240270c6 -349f134,3442a5d0 -349f138,94420ef6 -349f13c,30430800 -349f140,14600010 -349f144,30430400 -349f148,14600010 -349f14c,3c038011 -349f150,3463a5d0 -349f154,94640ef4 -349f158,30830010 -349f15c,30420100 -349f160,621025 -349f164,1440000b -349f168,30840008 -349f16c,1080000a -349f170,240270a1 -349f174,3e00008 -349f178,240270a6 -349f17c,3e00008 -349f180,240270ac -349f184,3e00008 -349f188,240270ac -349f18c,3e00008 -349f190,240270c7 -349f194,240270c7 -349f198,3e00008 -349f1a0,27bdffe0 -349f1a4,afbf001c -349f1a8,afb20018 -349f1ac,afb10014 -349f1b0,afb00010 -349f1b4,808025 -349f1b8,908201db -349f1bc,21040 -349f1c0,3c038042 -349f1c4,2463016c -349f1c8,431021 -349f1cc,84440000 -349f1d0,3c028011 -349f1d4,3442a5d0 -349f1d8,94420034 -349f1dc,44102a -349f1e0,1040000a -349f1e4,a08825 -349f1e8,240570a8 -349f1ec,3c02800d -349f1f0,3442ce80 -349f1f4,40f809 -349f1f8,2202025 -349f1fc,24020001 -349f200,a20201dc -349f204,10000077 -349f208,24020005 -349f20c,42023 -349f210,42400 -349f214,3c028007 -349f218,244221cc -349f21c,40f809 -349f220,42403 -349f224,920201db -349f228,54400009 -349f22c,920301db -349f230,3c028011 -349f234,3442a5d0 -349f238,94430ee4 -349f23c,34631000 -349f240,a4430ee4 -349f244,c107aab -349f248,24040024 -349f24c,920301db -349f250,24020002 -349f254,54620009 -349f258,920301db -349f25c,3c028011 -349f260,3442a5d0 -349f264,94430ee4 -349f268,34632000 -349f26c,a4430ee4 -349f270,c107aab -349f274,24040025 -349f278,920301db -349f27c,24020001 -349f280,54620009 -349f284,920301db -349f288,3c028011 -349f28c,3442a5d0 -349f290,94430ee4 -349f294,34634000 -349f298,a4430ee4 -349f29c,c107aab -349f2a0,24040026 -349f2a4,920301db -349f2a8,24020003 -349f2ac,14620009 -349f2b0,3c028011 -349f2b4,3442a5d0 -349f2b8,94430ee4 -349f2bc,24048000 -349f2c0,641825 -349f2c4,a4430ee4 -349f2c8,c107aab -349f2cc,24040027 -349f2d0,3c028011 -349f2d4,3442a5d0 -349f2d8,8c420b9c -349f2dc,291c2 -349f2e0,3252000f -349f2e4,210c2 -349f2e8,3042000f -349f2ec,1242002f -349f2f0,2402000f -349f2f4,c107a8b -349f2f8,24040025 -349f2fc,1040000c -349f304,c107aba -349f308,24040025 -349f30c,14400008 -349f310,240570c4 -349f314,3c02800d -349f318,3442ce80 -349f31c,40f809 -349f320,2202025 -349f324,24020002 -349f328,10000031 -349f32c,a20201db -349f330,c107a8b -349f334,24040026 -349f338,1040000c -349f340,c107aba -349f344,24040026 -349f348,14400008 -349f34c,240570c5 -349f350,3c02800d -349f354,3442ce80 -349f358,40f809 -349f35c,2202025 -349f360,24020001 -349f364,10000022 -349f368,a20201db -349f36c,c107a8b -349f370,24040027 -349f374,1040000d -349f378,2402000f -349f37c,c107aba -349f380,24040027 -349f384,14400009 -349f388,2402000f -349f38c,240570c6 -349f390,3c02800d -349f394,3442ce80 -349f398,40f809 -349f39c,2202025 -349f3a0,24020003 -349f3a4,10000012 -349f3a8,a20201db -349f3ac,16420008 -349f3b0,240570a7 -349f3b4,240570a9 -349f3b8,3c02800d -349f3bc,3442ce80 -349f3c0,40f809 -349f3c4,2202025 -349f3c8,10000006 -349f3cc,24020006 -349f3d0,3c02800d -349f3d4,3442ce80 -349f3d8,40f809 -349f3dc,2202025 -349f3e0,24020008 -349f3e4,a20201db -349f3e8,24020001 -349f3ec,a60201ec -349f3f0,8fbf001c -349f3f4,8fb20018 -349f3f8,8fb10014 -349f3fc,8fb00010 +349ede0,f7b40018 +349ede4,3c02800a +349ede8,3442a78c +349edec,40f809 +349edf0,46006506 +349edf4,2442000c +349edf8,2025 +349edfc,1000000a +349ee00,2405000c +349ee04,c4600000 +349ee08,46140002 +349ee0c,e4600000 +349ee10,24630004 +349ee14,5462fffc +349ee18,c4600000 +349ee1c,24840004 +349ee20,10850003 +349ee24,24420010 +349ee28,1000fff6 +349ee2c,2443fff4 +349ee30,8fbf0014 +349ee34,d7b40018 +349ee38,3e00008 +349ee3c,27bd0020 +349ee40,27bdffd8 +349ee44,afbf0024 +349ee48,afb30020 +349ee4c,afb2001c +349ee50,afb10018 +349ee54,afb00014 +349ee58,809825 +349ee5c,a09025 +349ee60,c08025 +349ee64,3c118002 +349ee68,26222438 +349ee6c,3025 +349ee70,2002825 +349ee74,40f809 +349ee78,2402025 +349ee7c,26312554 +349ee80,3025 +349ee84,2002825 +349ee88,220f809 +349ee8c,2402025 +349ee90,2602825 +349ee94,c106b17 +349ee98,2002025 +349ee9c,8fbf0024 +349eea0,8fb30020 +349eea4,8fb2001c +349eea8,8fb10018 +349eeac,8fb00014 +349eeb0,3e00008 +349eeb4,27bd0028 +349eeb8,44860000 +349eebc,24020063 +349eec0,54820005 +349eec4,84a30000 +349eec8,3c028042 +349eecc,c44246d8 +349eed0,3e00008 +349eed4,46020002 +349eed8,240200f1 +349eedc,14620009 +349eee0,24020046 +349eee4,10820005 +349eee8,2402002f +349eeec,14820005 +349eef0,3c028042 +349eef4,3e00008 +349eef8,c44046d4 +349eefc,3c028042 +349ef00,c44046d4 +349ef04,3e00008 +349ef0c,27bdffd8 +349ef10,afbf001c +349ef14,afb20018 +349ef18,afb10014 +349ef1c,afb00010 +349ef20,f7b40020 +349ef24,41202 +349ef28,afa40028 +349ef2c,a09025 +349ef30,c08825 +349ef34,4487a000 +349ef38,305000ff +349ef3c,c107b4b +349ef40,42402 +349ef44,10400015 +349ef48,8fbf001c +349ef4c,c107b63 +349ef50,402025 +349ef54,44800000 +349ef5c,4600a032 +349ef64,45030008 +349ef68,2604ffff +349ef6c,4406a000 +349ef70,2402825 +349ef74,c107bae +349ef78,2002025 +349ef7c,c107b76 +349ef80,46000306 +349ef84,2604ffff +349ef88,2203025 +349ef8c,2402825 +349ef90,c107b90 +349ef94,308400ff +349ef98,8fbf001c +349ef9c,8fb20018 +349efa0,8fb10014 +349efa4,8fb00010 +349efa8,d7b40020 +349efac,3e00008 +349efb0,27bd0028 +349efb4,27bdffe0 +349efb8,afbf001c +349efbc,afb10018 +349efc0,afb00014 +349efc4,3c108044 +349efc8,26101f64 +349efcc,261100c0 +349efd0,a6000000 +349efd4,c108fae +349efd8,24041e70 +349efdc,ae020004 +349efe0,26100008 +349efe4,5611fffb +349efe8,a6000000 +349efec,8fbf001c +349eff0,8fb10018 +349eff4,8fb00014 +349eff8,3e00008 +349effc,27bd0020 +349f000,3c028044 +349f004,24421f64 +349f008,244300c0 +349f00c,a4400000 +349f010,24420008 +349f014,5443fffe +349f018,a4400000 +349f01c,3e00008 +349f024,27bdffd8 +349f028,afbf0024 +349f02c,afb00020 +349f030,afa60030 +349f034,c73025 +349f038,10c00019 +349f03c,afa70034 +349f040,808025 +349f044,97a40038 +349f048,97a2003c +349f04c,8fa30030 +349f050,afa30010 +349f054,afa70014 +349f058,8fa30038 +349f05c,afa30018 +349f060,8fa3003c +349f064,14400002 +349f068,afa3001c +349f06c,801025 +349f070,a7a20018 +349f074,8fa40010 +349f078,8fa50014 +349f07c,8fa60018 +349f080,c106dd8 +349f084,8fa7001c +349f088,c106dbd +349f08c,402025 +349f090,94430004 +349f094,a6030000 +349f098,90420006 +349f09c,a2020002 +349f0a0,8fbf0024 +349f0a4,8fb00020 +349f0a8,3e00008 +349f0ac,27bd0028 +349f0b0,27bdffd0 +349f0b4,afbf002c +349f0b8,afb00028 +349f0bc,808025 +349f0c0,30e700ff +349f0c4,90c600a5 +349f0c8,c104ba9 +349f0cc,27a40018 +349f0d0,8fa20020 +349f0d4,afa20010 +349f0d8,8fa20024 +349f0dc,afa20014 +349f0e0,8fa60018 +349f0e4,8fa7001c +349f0e8,c107c09 +349f0ec,2002025 +349f0f0,8fbf002c +349f0f4,8fb00028 +349f0f8,3e00008 +349f0fc,27bd0030 +349f100,27bdffc0 +349f104,afbf003c +349f108,afb10038 +349f10c,afb00034 +349f110,808025 +349f114,a08825 +349f118,a7a00018 +349f11c,a3a0001a +349f120,90870197 +349f124,3c02801c +349f128,344284a0 +349f12c,904600a5 +349f130,802825 +349f134,c104ba9 +349f138,27a40020 +349f13c,8fa20020 +349f140,8fa30024 +349f144,431025 +349f148,50400021 +349f14c,860501bc +349f150,8e020194 +349f154,5040001e +349f158,860501bc +349f15c,82030184 +349f160,31100 +349f164,431021 +349f168,21080 +349f16c,2221021 +349f170,3c030001 +349f174,621021 +349f178,844317b0 +349f17c,24020148 +349f180,50620013 +349f184,860501bc +349f188,8fa20028 +349f18c,afa20010 +349f190,8fa2002c +349f194,afa20014 +349f198,8fa60020 +349f19c,8fa70024 +349f1a0,c107c09 +349f1a4,27a40018 +349f1a8,97a20018 +349f1ac,5040000d +349f1b0,8fbf003c +349f1b4,3825 +349f1b8,2203025 +349f1bc,2002825 +349f1c0,c107bc3 +349f1c4,8fa40018 +349f1c8,10000006 +349f1cc,8fbf003c +349f1d0,3c028005 +349f1d4,244270c0 +349f1d8,40f809 +349f1dc,2202025 +349f1e0,8fbf003c +349f1e4,8fb10038 +349f1e8,8fb00034 +349f1ec,3e00008 +349f1f0,27bd0040 +349f1f4,27bdffd8 +349f1f8,afbf0024 +349f1fc,afb10020 +349f200,afb0001c +349f204,808025 +349f208,a08825 +349f20c,3c028042 +349f210,8c42469c +349f214,afa20010 +349f218,3825 +349f21c,a03025 +349f220,802825 +349f224,c107c2c +349f228,27a40010 +349f22c,3c028042 +349f230,8c4746dc +349f234,2203025 +349f238,2002825 +349f23c,c107bc3 +349f240,8fa40010 +349f244,8fbf0024 +349f248,8fb10020 +349f24c,8fb0001c +349f250,3e00008 +349f254,27bd0028 +349f258,27bdffd8 +349f25c,afbf0024 +349f260,afb10020 +349f264,afb0001c +349f268,808025 +349f26c,a7a00010 +349f270,a3a00012 +349f274,9083001d +349f278,24020011 +349f27c,1462000e +349f280,a08825 +349f284,3825 +349f288,a03025 +349f28c,802825 +349f290,c107c2c +349f294,27a40010 +349f298,3c028042 +349f29c,8c4746e0 +349f2a0,2203025 +349f2a4,2002825 +349f2a8,c107bc3 +349f2ac,8fa40010 +349f2b0,10000006 +349f2b4,8fbf0024 +349f2b8,3c028001 +349f2bc,24423268 +349f2c0,40f809 +349f2c8,8fbf0024 +349f2cc,8fb10020 +349f2d0,8fb0001c +349f2d4,3e00008 +349f2d8,27bd0028 +349f2dc,27bdffd8 +349f2e0,afbf0024 +349f2e4,afb10020 +349f2e8,afb0001c +349f2ec,808025 +349f2f0,a08825 +349f2f4,3c028042 +349f2f8,8c4246a0 +349f2fc,afa20010 +349f300,2407004f +349f304,a03025 +349f308,802825 +349f30c,c107c2c +349f310,27a40010 +349f314,3c028042 +349f318,8c4746e4 +349f31c,2203025 +349f320,2002825 +349f324,c107bc3 +349f328,8fa40010 +349f32c,8fbf0024 +349f330,8fb10020 +349f334,8fb0001c +349f338,3e00008 +349f33c,27bd0028 +349f340,27bdffd8 +349f344,afbf0024 +349f348,afb10020 +349f34c,afb0001c +349f350,808025 +349f354,a08825 +349f358,3c028042 +349f35c,8c4246a4 +349f360,afa20010 +349f364,3825 +349f368,a03025 +349f36c,802825 +349f370,c107c2c +349f374,27a40010 +349f378,3c028042 +349f37c,8c4746e8 +349f380,2203025 +349f384,2002825 +349f388,c107bc3 +349f38c,8fa40010 +349f390,8fbf0024 +349f394,8fb10020 +349f398,8fb0001c +349f39c,3e00008 +349f3a0,27bd0028 +349f3a4,27bdffd8 +349f3a8,afbf0024 +349f3ac,afb10020 +349f3b0,afb0001c +349f3b4,808025 +349f3b8,a08825 +349f3bc,3c028042 +349f3c0,8c4246a8 +349f3c4,afa20010 +349f3c8,2407000c +349f3cc,a03025 +349f3d0,802825 +349f3d4,c107c2c +349f3d8,27a40010 +349f3dc,3c028042 +349f3e0,8c4746ec +349f3e4,2203025 +349f3e8,2002825 +349f3ec,c107bc3 +349f3f0,8fa40010 +349f3f4,8fbf0024 +349f3f8,8fb10020 +349f3fc,8fb0001c 349f400,3e00008 -349f404,27bd0020 -349f408,3c028011 -349f40c,3442a5d0 -349f410,84420ef6 -349f414,441000a -349f41c,3c028011 -349f420,3442a5d0 -349f424,8c420b9c -349f428,211c2 -349f42c,3042000f -349f430,3842000f -349f434,2102b -349f438,3e00008 -349f43c,21040 -349f440,3e00008 -349f444,24020002 -349f448,3c028043 -349f44c,24030001 -349f450,ac4310ac -349f454,3c038043 -349f458,8c6210b0 -349f45c,2c440006 -349f460,50800001 -349f464,24020005 -349f468,3e00008 -349f46c,ac6210b0 -349f470,27bdffb8 -349f474,afbf0044 -349f478,afbe0040 -349f47c,afb6003c -349f480,afb50038 -349f484,afb40034 -349f488,afb30030 -349f48c,afb2002c -349f490,afb10028 -349f494,afb00024 -349f498,3a0f025 -349f49c,3c028040 -349f4a0,94421dd4 -349f4a4,10400127 -349f4a8,3a0a825 -349f4ac,3c02801d -349f4b0,3442aa30 -349f4b4,8c42066c -349f4b8,3c033000 -349f4bc,24630483 -349f4c0,431024 -349f4c4,1440011f -349f4c8,808025 -349f4cc,3c02801c -349f4d0,344284a0 -349f4d4,8c430008 -349f4d8,3c02800f -349f4dc,8c4213ec -349f4e0,54620119 -349f4e4,2a0e825 -349f4e8,3c028011 -349f4ec,3442a5d0 -349f4f0,8c47135c -349f4f4,14e00113 -349f4f8,3c02800e -349f4fc,3442f1b0 -349f500,8c420000 -349f504,30420020 -349f508,1440010e -349f50c,3c028043 -349f510,8c4310ac -349f514,24020001 -349f518,1062000a -349f51c,3c02801c -349f520,344284a0 -349f524,3c030001 -349f528,431021 -349f52c,94430934 -349f530,24020006 -349f534,54620104 -349f538,2a0e825 -349f53c,10000009 -349f540,3c038043 -349f544,344284a0 -349f548,3c030001 -349f54c,431021 -349f550,94430934 -349f554,24020006 -349f558,14620007 -349f55c,3c028043 -349f560,3c038043 -349f564,8c6210b0 -349f568,3042001f -349f56c,ac6210b0 -349f570,10000022 -349f574,241300ff -349f578,8c4210b0 -349f57c,2c430006 -349f580,1060000a -349f584,2c43006a -349f588,29a00 -349f58c,2629823 -349f590,3c02cccc -349f594,3442cccd -349f598,2620019 -349f59c,9810 -349f5a0,139882 -349f5a4,10000015 -349f5a8,327300ff -349f5ac,14600013 -349f5b0,241300ff -349f5b4,2c4300ba -349f5b8,1060000b -349f5bc,21a00 -349f5c0,621023 -349f5c4,24429769 -349f5c8,3c03cccc -349f5cc,3463cccd -349f5d0,430019 -349f5d4,1010 -349f5d8,29982 -349f5dc,139827 -349f5e0,10000006 -349f5e4,327300ff -349f5e8,3c028043 -349f5ec,ac4010ac -349f5f0,3c028043 -349f5f4,100000d3 -349f5f8,ac4010b0 -349f5fc,3c038043 -349f600,8c6210b0 -349f604,24420001 -349f608,ac6210b0 -349f60c,3c028011 -349f610,3442a5d0 -349f614,8c4808c4 -349f618,19000011 -349f61c,1001025 -349f620,e05025 -349f624,3c056666 -349f628,24a56667 -349f62c,254a0001 -349f630,401825 -349f634,450018 -349f638,2010 -349f63c,42083 -349f640,217c3 -349f644,2863000a -349f648,1060fff8 -349f64c,821023 -349f650,15400005 -349f654,3c028040 -349f658,10000002 -349f65c,240a0001 -349f660,240a0001 -349f664,3c028040 -349f668,94451dd6 -349f66c,18a00010 -349f670,a01025 -349f674,3c066666 -349f678,24c66667 -349f67c,24e70001 -349f680,401825 -349f684,460018 -349f688,2010 -349f68c,42083 -349f690,217c3 -349f694,2863000a -349f698,1060fff8 -349f69c,821023 -349f6a0,54e00005 -349f6a4,1473821 -349f6a8,10000002 -349f6ac,24070001 -349f6b0,24070001 -349f6b4,1473821 -349f6b8,24f40001 -349f6bc,3c028042 -349f6c0,24423eb0 -349f6c4,94430004 -349f6c8,740018 -349f6cc,2012 -349f6d0,3c038042 -349f6d4,24633e90 -349f6d8,94660004 -349f6dc,862021 -349f6e0,497c2 -349f6e4,2449021 -349f6e8,129043 -349f6ec,129023 -349f6f0,265200a0 -349f6f4,94420006 -349f6f8,44820000 -349f700,46800021 -349f704,3c028042 -349f708,d44603e0 -349f70c,46260002 -349f710,3c028042 -349f714,d44203e8 -349f718,46201001 -349f71c,3c028042 -349f720,d44403f0 -349f724,46240000 -349f728,4620000d -349f72c,44060000 -349f730,94620006 -349f734,44820000 -349f73c,46800021 -349f740,46260002 -349f744,46201081 -349f748,3c028042 -349f74c,d44003f8 -349f750,46201080 -349f754,46241080 -349f758,4620100d -349f75c,44110000 -349f760,24e20009 -349f764,210c2 -349f768,210c0 -349f76c,3a2e823 -349f770,27a40020 -349f774,941021 -349f778,19400015 -349f77c,a0400000 -349f780,2549ffff -349f784,894821 -349f788,806025 -349f78c,3c0b6666 -349f790,256b6667 -349f794,10b0018 -349f798,1810 -349f79c,31883 -349f7a0,817c3 -349f7a4,621823 -349f7a8,31080 -349f7ac,431021 -349f7b0,21040 -349f7b4,1021023 -349f7b8,24420030 -349f7bc,a1220000 -349f7c0,604025 -349f7c4,1201025 -349f7c8,1582fff2 -349f7cc,2529ffff -349f7d0,8a1021 -349f7d4,2403002f -349f7d8,a0430000 -349f7dc,147102a -349f7e0,10400012 -349f7e4,873821 -349f7e8,8a5021 -349f7ec,3c086666 -349f7f0,25086667 -349f7f4,a80018 -349f7f8,1810 -349f7fc,31883 -349f800,517c3 -349f804,621823 -349f808,31080 -349f80c,431021 -349f810,21040 -349f814,a21023 -349f818,24420030 -349f81c,a0e20000 -349f820,24e7ffff -349f824,14eafff3 -349f828,602825 -349f82c,8e020008 -349f830,24430008 -349f834,ae030008 -349f838,3c03de00 -349f83c,ac430000 -349f840,3c038042 -349f844,24633f08 -349f848,ac430004 -349f84c,8e020008 -349f850,24430008 -349f854,ae030008 -349f858,3c03e700 -349f85c,ac430000 -349f860,ac400004 -349f864,8e020008 -349f868,24430008 -349f86c,ae030008 -349f870,3c03fc11 -349f874,34639623 -349f878,ac430000 -349f87c,3c03ff2f -349f880,3463ffff -349f884,ac430004 -349f888,8e030008 -349f88c,24620008 -349f890,ae020008 -349f894,3c16fa00 -349f898,ac760000 -349f89c,3c02dad3 -349f8a0,24420b00 -349f8a4,2621025 -349f8a8,ac620004 -349f8ac,c1078cc -349f8b0,2402825 -349f8b4,3c028042 -349f8b8,94423eb4 -349f8bc,540018 -349f8c0,a012 -349f8c4,292a021 -349f8c8,8e020008 -349f8cc,24430008 -349f8d0,ae030008 -349f8d4,ac560000 -349f8d8,3c03f4ec -349f8dc,24633000 -349f8e0,2639825 -349f8e4,ac530004 -349f8e8,3c028043 -349f8ec,8c4610b0 -349f8f0,63042 -349f8f4,24070001 -349f8f8,30c6000f -349f8fc,3c128042 -349f900,26453e90 -349f904,c1046ee -349f908,2002025 -349f90c,26453e90 -349f910,94a20006 -349f914,afa20018 -349f918,94a20004 -349f91c,afa20014 -349f920,afb10010 -349f924,2803825 -349f928,3025 -349f92c,c10493a -349f930,2002025 -349f934,c107930 -349f938,2002025 -349f93c,10000002 -349f940,2a0e825 -349f944,2a0e825 -349f948,3c0e825 -349f94c,8fbf0044 -349f950,8fbe0040 -349f954,8fb6003c -349f958,8fb50038 -349f95c,8fb40034 -349f960,8fb30030 -349f964,8fb2002c -349f968,8fb10028 -349f96c,8fb00024 -349f970,3e00008 -349f974,27bd0048 -349f978,3c028040 -349f97c,a0405658 -349f980,3c028040 -349f984,3e00008 -349f988,ac40565c -349f98c,3c028040 -349f990,90420ca5 -349f994,1040001e -349f998,3c04801c -349f99c,27bdffe8 -349f9a0,afbf0014 -349f9a4,3c02800d -349f9a8,3442d464 -349f9ac,40f809 -349f9b0,3484a578 -349f9b4,24030004 -349f9b8,10430012 -349f9bc,3c02801c -349f9c0,344284a0 -349f9c4,94420324 -349f9c8,2442fffa -349f9cc,3042fffa -349f9d0,1440000d -349f9d4,8fbf0014 -349f9d8,3c02801c -349f9dc,344284a0 -349f9e0,90430017 -349f9e4,31823 -349f9e8,a0430017 -349f9ec,90430023 -349f9f0,31823 -349f9f4,a0430023 -349f9f8,90430029 -349f9fc,31823 -349fa00,a0430029 -349fa04,8fbf0014 -349fa08,3e00008 -349fa0c,27bd0018 -349fa10,3e00008 -349fa18,3c038043 -349fa1c,3c028060 -349fa20,24421000 -349fa24,3e00008 -349fa28,ac6210b4 -349fa2c,3082000f -349fa30,10400009 -349fa34,3c038043 -349fa38,417c3 -349fa3c,21702 -349fa40,821821 -349fa44,3063000f -349fa48,431023 -349fa4c,24420010 -349fa50,822021 -349fa54,3c038043 -349fa58,8c6210b4 -349fa5c,442021 -349fa60,3e00008 -349fa64,ac6410b4 -349fa68,27bdffe8 -349fa6c,afbf0014 -349fa70,afb00010 -349fa74,808025 -349fa78,c107e8b -349fa7c,8c840008 -349fa80,402025 -349fa84,ae020000 -349fa88,8e060008 -349fa8c,3c028000 -349fa90,24420df0 -349fa94,40f809 -349fa98,8e050004 -349fa9c,8fbf0014 -349faa0,8fb00010 -349faa4,3e00008 -349faa8,27bd0018 -349faac,3c02800f -349fab0,a0401640 -349fab4,3c028043 -349fab8,a04010b8 -349fabc,3c028011 -349fac0,3442a5d0 -349fac4,8c420004 -349fac8,14400086 -349facc,3c028011 -349fad0,3442a5d0 -349fad4,8c421360 -349fad8,2c420004 -349fadc,10400081 -349fae0,3c028011 -349fae4,3442a5d0 -349fae8,8c420000 -349faec,240301fd -349faf0,14430005 -349faf4,3c038011 -349faf8,3c02800f -349fafc,24030001 -349fb00,3e00008 -349fb04,a0431640 -349fb08,3463a5d0 -349fb0c,94630ed6 -349fb10,30630100 -349fb14,1460000a -349fb18,3c038011 -349fb1c,24030157 -349fb20,10430003 -349fb24,240301f9 -349fb28,14430005 -349fb2c,3c038011 -349fb30,3c02800f -349fb34,24030002 -349fb38,3e00008 -349fb3c,a0431640 -349fb40,3463a5d0 -349fb44,94630edc -349fb48,30640400 -349fb4c,54800016 -349fb50,3c028011 -349fb54,240404da -349fb58,10440005 -349fb5c,2404ffbf -349fb60,441024 -349fb64,2404019d -349fb68,14440005 +349f404,27bd0028 +349f408,27bdffb8 +349f40c,afbf0044 +349f410,afb10040 +349f414,afb0003c +349f418,808025 +349f41c,afa00018 +349f420,afa0001c +349f424,afa00020 +349f428,afa00024 +349f42c,9482001c +349f430,24030001 +349f434,14430008 +349f438,a08825 +349f43c,24070015 +349f440,90a600a5 +349f444,802825 +349f448,c104ba9 +349f44c,27a40018 +349f450,10000093 +349f454,afa00028 +349f458,24030007 +349f45c,14430008 +349f460,24030a0c +349f464,24070058 +349f468,90a600a5 +349f46c,802825 +349f470,c104ba9 +349f474,27a40018 +349f478,10000089 +349f47c,afa00028 +349f480,14430008 +349f484,24030008 +349f488,a7a00030 +349f48c,3c061001 +349f490,2407000a +349f494,c104b6d +349f498,27a40018 +349f49c,10000080 +349f4a0,afa00028 +349f4a4,1443000b +349f4a8,2403010d +349f4ac,3c028040 +349f4b0,90426d30 +349f4b4,5040007a +349f4b8,afa00028 +349f4bc,3c061001 +349f4c0,3825 +349f4c4,c104b6d +349f4c8,27a40018 +349f4cc,10000074 +349f4d0,afa00028 +349f4d4,1443000c +349f4d8,24030208 +349f4dc,3c028040 +349f4e0,90426d30 +349f4e4,5040006e +349f4e8,afa00028 +349f4ec,a7a00030 +349f4f0,3c061001 +349f4f4,24070001 +349f4f8,c104b6d +349f4fc,27a40018 +349f500,10000067 +349f504,afa00028 +349f508,1443000c +349f50c,2403030d +349f510,3c028040 +349f514,90426d30 +349f518,50400061 +349f51c,afa00028 +349f520,a7a00030 +349f524,3c061001 +349f528,24070002 +349f52c,c104b6d +349f530,27a40018 +349f534,1000005a +349f538,afa00028 +349f53c,1443000c +349f540,24030409 +349f544,3c028040 +349f548,90426d30 +349f54c,50400054 +349f550,afa00028 +349f554,a7a00030 +349f558,3c061001 +349f55c,24070003 +349f560,c104b6d +349f564,27a40018 +349f568,1000004d +349f56c,afa00028 +349f570,1443000c +349f574,2403050d +349f578,3c028040 +349f57c,90426d30 +349f580,50400047 +349f584,afa00028 +349f588,a7a00030 +349f58c,3c061001 +349f590,24070004 +349f594,c104b6d +349f598,27a40018 +349f59c,10000040 +349f5a0,afa00028 +349f5a4,1443000c +349f5a8,24030609 +349f5ac,3c028040 +349f5b0,90426d30 +349f5b4,5040003a +349f5b8,afa00028 +349f5bc,a7a00030 +349f5c0,3c061001 +349f5c4,24070005 +349f5c8,c104b6d +349f5cc,27a40018 +349f5d0,10000033 +349f5d4,afa00028 +349f5d8,1443000c +349f5dc,2403070d +349f5e0,3c028040 +349f5e4,90426d30 +349f5e8,5040002d +349f5ec,afa00028 +349f5f0,a7a00030 +349f5f4,3c061001 +349f5f8,24070006 +349f5fc,c104b6d +349f600,27a40018 +349f604,10000026 +349f608,afa00028 +349f60c,1443000c +349f610,2403080a +349f614,3c028040 +349f618,90426d30 +349f61c,50400020 +349f620,afa00028 +349f624,a7a00030 +349f628,3c061001 +349f62c,24070007 +349f630,c104b6d +349f634,27a40018 +349f638,10000019 +349f63c,afa00028 +349f640,1443000c +349f644,2403090d +349f648,3c028040 +349f64c,90426d30 +349f650,50400013 +349f654,afa00028 +349f658,a7a00030 +349f65c,3c061001 +349f660,24070008 +349f664,c104b6d +349f668,27a40018 +349f66c,1000000c +349f670,afa00028 +349f674,14430009 +349f678,3c028040 +349f67c,90426d30 +349f680,50400007 +349f684,afa00028 +349f688,a7a00030 +349f68c,3c061001 +349f690,24070009 +349f694,c104b6d +349f698,27a40018 +349f69c,afa00028 +349f6a0,8fa20020 +349f6a4,afa20010 +349f6a8,8fa20024 +349f6ac,afa20014 +349f6b0,8fa60018 +349f6b4,8fa7001c +349f6b8,c107c09 +349f6bc,27a40028 +349f6c0,97a20028 +349f6c4,10400008 +349f6c8,2203025 +349f6cc,3c028042 +349f6d0,8c4746d4 +349f6d4,2002825 +349f6d8,c107bc3 +349f6dc,8fa40028 +349f6e0,10000005 +349f6e4,8fbf0044 +349f6e8,2002825 +349f6ec,c107b90 +349f6f0,92040141 +349f6f4,8fbf0044 +349f6f8,8fb10040 +349f6fc,8fb0003c +349f700,3e00008 +349f704,27bd0048 +349f708,27bdffc0 +349f70c,afbf003c +349f710,afb10038 +349f714,afb00034 +349f718,808025 +349f71c,afa00018 +349f720,afa0001c +349f724,afa00020 +349f728,afa00024 +349f72c,9482001c +349f730,2c42000a +349f734,1040002a +349f738,a08825 +349f73c,9483001c +349f740,31880 +349f744,3c028042 +349f748,244246ac +349f74c,431021 +349f750,8c420000 +349f754,400008 +349f75c,24070034 +349f760,90a600a5 +349f764,802825 +349f768,c104ba9 +349f76c,27a40018 +349f770,1000001c +349f774,afa00028 +349f778,2407003e +349f77c,90a600a5 +349f780,802825 +349f784,c104ba9 +349f788,27a40018 +349f78c,10000015 +349f790,afa00028 +349f794,24070003 +349f798,90a600a5 +349f79c,802825 +349f7a0,c104ba9 +349f7a4,27a40018 +349f7a8,1000000e +349f7ac,afa00028 +349f7b0,24070065 +349f7b4,90a600a5 +349f7b8,802825 +349f7bc,c104ba9 +349f7c0,27a40018 +349f7c4,10000007 +349f7c8,afa00028 +349f7cc,24070055 +349f7d0,90a600a5 +349f7d4,802825 +349f7d8,c104ba9 +349f7dc,27a40018 +349f7e0,afa00028 +349f7e4,8fa20020 +349f7e8,afa20010 +349f7ec,8fa20024 +349f7f0,afa20014 +349f7f4,8fa60018 +349f7f8,8fa7001c +349f7fc,c107c09 +349f800,27a40028 +349f804,97a20028 +349f808,10400008 +349f80c,2203025 +349f810,3c028042 +349f814,8c4746d4 +349f818,2002825 +349f81c,c107bc3 +349f820,8fa40028 +349f824,10000005 +349f828,8fbf003c +349f82c,2002825 +349f830,c107b90 +349f834,92040147 +349f838,8fbf003c +349f83c,8fb10038 +349f840,8fb00034 +349f844,3e00008 +349f848,27bd0040 +349f84c,27bdffd8 +349f850,afbf0024 +349f854,afb10020 +349f858,afb0001c +349f85c,808025 +349f860,a08825 +349f864,3c028042 +349f868,8c42469c +349f86c,afa20010 +349f870,2407003e +349f874,a03025 +349f878,802825 +349f87c,c107c2c +349f880,27a40010 +349f884,3c028042 +349f888,8c4746d4 +349f88c,2203025 +349f890,2002825 +349f894,c107bc3 +349f898,8fa40010 +349f89c,8fbf0024 +349f8a0,8fb10020 +349f8a4,8fb0001c +349f8a8,3e00008 +349f8ac,27bd0028 +349f8b0,3c028011 +349f8b4,3442a5d0 +349f8b8,8442002e +349f8bc,28440051 +349f8c0,14800008 +349f8c4,24030010 +349f8c8,284400a1 +349f8cc,14800005 +349f8d0,24030018 +349f8d4,284200f1 +349f8d8,14400002 +349f8dc,24030020 +349f8e0,2403002c +349f8e4,3c028011 +349f8e8,3442a5d0 +349f8ec,84420030 +349f8f0,62182a +349f8f4,14600003 +349f8fc,3e00008 +349f900,2102a +349f904,3e00008 +349f908,1025 +349f90c,27bdffe8 +349f910,afbf0014 +349f914,afb00010 +349f918,3c028040 +349f91c,90420c9c +349f920,10400023 +349f924,3c028040 +349f928,3c028044 +349f92c,90422031 +349f930,1440001f +349f934,3c028040 +349f938,3c028040 +349f93c,94421e6a +349f940,2442ffff +349f944,3c038011 +349f948,3463a5d0 +349f94c,8c6308c4 +349f950,14620017 +349f954,3c028040 +349f958,3c02800c +349f95c,3442ab18 +349f960,40f809 +349f964,2025 +349f968,3c038044 +349f96c,94632032 +349f970,1062000e +349f974,3c10800c +349f978,261064a0 +349f97c,2825 +349f980,3c028042 +349f984,200f809 +349f988,c44c46f0 +349f98c,26104678 +349f990,200f809 +349f994,2025 +349f998,3c038044 +349f99c,a4622032 +349f9a0,3c028044 +349f9a4,24030001 +349f9a8,a0432030 +349f9ac,3c028040 +349f9b0,90420c9d +349f9b4,10400030 +349f9b8,8fbf0014 +349f9bc,c107e2c +349f9c4,1040001e +349f9c8,3c028044 +349f9cc,3c02800c +349f9d0,3442ab18 +349f9d4,40f809 +349f9d8,2025 +349f9dc,3c038044 +349f9e0,94632032 +349f9e4,14620006 +349f9e8,3c10800c +349f9ec,3c028044 +349f9f0,90422030 +349f9f4,10400020 +349f9f8,8fbf0014 +349f9fc,3c10800c +349fa00,261064a0 +349fa04,2825 +349fa08,3c028042 +349fa0c,200f809 +349fa10,c44c46f4 +349fa14,26104678 +349fa18,200f809 +349fa1c,2025 +349fa20,3c038044 +349fa24,a4622032 +349fa28,3c028044 +349fa2c,24030001 +349fa30,a0432031 +349fa34,3c028044 +349fa38,1000000e +349fa3c,a0402030 +349fa40,90422031 +349fa44,1040000c +349fa48,8fbf0014 +349fa4c,3c028042 +349fa50,c44c46f8 +349fa54,3c02800c +349fa58,244264a0 +349fa5c,40f809 +349fa60,2825 +349fa64,3c028044 +349fa68,a0402031 +349fa6c,3c028044 +349fa70,a4402032 +349fa74,8fbf0014 +349fa78,8fb00010 +349fa7c,3e00008 +349fa80,27bd0018 +349fa84,3c028040 +349fa88,90420cb0 +349fa8c,104000ef +349fa94,27bdff90 +349fa98,afbf006c +349fa9c,afb50068 +349faa0,afb40064 +349faa4,afb30060 +349faa8,afb2005c +349faac,afb10058 +349fab0,afb00054 +349fab4,c103edc +349fab8,808825 +349fabc,144000db +349fac0,8fbf006c +349fac4,3c02801d +349fac8,3442aa30 +349facc,8c420670 +349fad0,3c030800 +349fad4,431024 +349fad8,544000d5 +349fadc,8fb50068 +349fae0,3c02800c +349fae4,3442ab18 +349fae8,40f809 +349faec,2025 +349faf0,3c038044 +349faf4,94632024 +349faf8,1062000b +349fafc,3c028044 +349fb00,24030001 +349fb04,ac432028 +349fb08,3c02800c +349fb0c,3442ab18 +349fb10,40f809 +349fb14,2025 +349fb18,3c038044 +349fb1c,a4622024 +349fb20,3c028044 +349fb24,ac40202c +349fb28,3c028044 +349fb2c,8c432028 +349fb30,24020001 +349fb34,1062000a +349fb38,3c02801c +349fb3c,344284a0 +349fb40,3c030001 +349fb44,431021 +349fb48,94430934 +349fb4c,24020006 +349fb50,146200b6 +349fb54,8fbf006c +349fb58,100000ae +349fb5c,3c028044 +349fb60,3c028044 +349fb64,94421f60 +349fb68,10400011 349fb6c,3c02801c -349fb70,3c02800f -349fb74,24030003 -349fb78,3e00008 -349fb7c,a0431640 -349fb80,344284a0 -349fb84,944200a4 -349fb88,2442ffa8 -349fb8c,2c420002 -349fb90,10400005 -349fb94,3c028011 -349fb98,3c02800f -349fb9c,24030003 -349fba0,3e00008 -349fba4,a0431640 -349fba8,3442a5d0 -349fbac,8c4200a4 -349fbb0,30420007 -349fbb4,24040007 -349fbb8,5444001f -349fbbc,30630200 -349fbc0,3c028011 -349fbc4,3442a5d0 -349fbc8,8c42037c -349fbcc,30420002 -349fbd0,54400019 -349fbd4,30630200 -349fbd8,3c02801c -349fbdc,344284a0 -349fbe0,944200a4 -349fbe4,2442ffae -349fbe8,2c420002 -349fbec,50400012 -349fbf0,30630200 -349fbf4,3c028043 -349fbf8,24040002 -349fbfc,a04410b8 -349fc00,3c028011 -349fc04,3442a5d0 -349fc08,8c420000 -349fc0c,24040191 -349fc10,10440008 -349fc14,24040205 -349fc18,10440006 -349fc1c,240400db -349fc20,10440004 -349fc24,3c02800f -349fc28,24030005 -349fc2c,3e00008 -349fc30,a0431640 -349fc34,30630200 -349fc38,1460002a -349fc3c,3c02801c -349fc40,344284a0 -349fc44,3c030001 -349fc48,431021 -349fc4c,84431e1a -349fc50,240204d6 -349fc54,14620005 -349fc58,3c02801c -349fc5c,3c02800f -349fc60,24030002 -349fc64,3e00008 -349fc68,a0431640 -349fc6c,344284a0 -349fc70,944200a4 -349fc74,2c430054 -349fc78,50600006 -349fc7c,2442ffa0 -349fc80,2c420052 -349fc84,14400017 -349fc88,3c028043 -349fc8c,10000006 -349fc90,904210b8 -349fc94,3042ffff -349fc98,2c420002 -349fc9c,10400011 -349fca0,3c028043 -349fca4,904210b8 -349fca8,14400005 -349fcac,3c028011 -349fcb0,3c028043 -349fcb4,24030001 -349fcb8,a04310b8 -349fcbc,3c028011 -349fcc0,3442a5d0 -349fcc4,8c420000 -349fcc8,240300db -349fccc,10430005 -349fcd0,24030195 -349fcd4,10430003 -349fcd8,3c02800f -349fcdc,24030002 -349fce0,a0431640 -349fce4,3e00008 -349fcf0,33c2 -349fcf4,664399c4 -349fcf8,cc45ffc6 -349fcfc,ff47ffc8 -349fd00,ff49e0ca -349fd04,c24ba3cc -349fd08,854d660d -349fd0c,440f2200 -349fd10,85d1a352 -349fd14,c2d3e045 -349fd18,80407988 -349fd1c,80407990 -349fd20,80407998 -349fd24,804079e8 -349fd28,80407a18 -349fd2c,3f000000 -349fd30,44bb8000 -349fd34,c5480000 -349fd38,4528c000 -349fd3c,45034000 -349fd40,2d000000 -349fd44,2e001010 -349fd48,40040000 -349fd50,3fe99999 -349fd54,9999999a -349fd58,41200000 -349fd5c,4d510000 -349fd60,4e6f726d -349fd64,616c0000 -349fd68,40140000 -349fd70,40440000 -349fd78,41a00000 -349fd7c,44610000 -349fd80,41f00000 -349fd84,c2480000 -349fd88,42480000 -349fd8c,c0006 -349fd90,e000f -349fd94,30008 -349fd98,9000a -349fd9c,1 -349fda0,20012 -349fda4,1010101 -349fda8,1010101 -349fdac,1010101 -349fdb0,1010101 -349fdb4,1010101 -349fdd0,1010000 -349fdd8,1010101 -349fddc,1000101 -349fde0,10101 -349fde4,10000 -349fde8,bdcccccd -349fdec,3dcccccd -349fdf0,2f000000 -349fdf4,2b242525 -349fdf8,26262626 -349fdfc,27272727 -349fe00,27272727 -349fe04,ff4e -349fe08,51f4ec30 -349fe0c,5751f4ec -349fe10,306051f4 -349fe14,ec306951 -349fe18,f4ec3072 -349fe1c,51000000 -349fe20,97ff6350 -349fe24,45ff5028 -349fe28,57456397 -349fe2c,ff5e45ff -349fe30,9f006545 -349fe34,ff63ff6c -349fe38,45fff063 -349fe3c,7345ffff -349fe40,ff503aff -349fe44,ffff573a -349fe48,ffffff5e -349fe4c,3affffff -349fe50,653affff -349fe54,ff6c3aff -349fe58,ffff733a -349fe5c,5a0c00 -349fe60,720c0096 -349fe64,c009618 -349fe68,1652a00 -349fe6c,4e2a005a -349fe70,2a000000 -349fe74,80423ed0 -349fe78,80423ec0 -349fe7c,80423e40 -349fe84,47656e65 -349fe88,72617465 -349fe8c,64207769 -349fe90,7468204f -349fe94,6f545200 -349fe98,53706f69 -349fe9c,6c657220 -349fea0,61766169 -349fea4,6c61626c -349fea8,65000000 -349feac,506c616e -349feb0,646f6d69 -349feb4,7a657200 -349feb8,576f726c -349febc,64000000 -349fec0,8040ff34 -349fec4,8040fe48 -349fec8,8040fe78 -349fecc,8040feb0 -349fed0,8040fee4 -349fed4,8040ff0c -349fed8,3f000000 -349fedc,c8ff6482 -349fee0,82ffff64 -349fee4,64ff5aff -349fee8,c80000 -349fef0,ff0046 -349fef4,320000 -349fef8,f4ec30ff -349fefc,de001a -349ff00,c060d0d -349ff04,53000000 -349ff08,3fc8f5c3 -349ff0c,3f333333 -349ff10,c0000000 -349ff14,c1000000 -349ff18,3fc00000 -349ff1c,40a00000 -349ff20,3f4ccccd -349ff24,41700000 -349ff28,3fa00000 -349ff2c,4048f5c3 -349ff30,41f00000 -349ff38,804177ec -349ff3c,804177fc -349ff40,8041780c -349ff44,8041781c -349ff48,8041782c -349ff4c,43510000 -349ff50,41100000 -349ff54,4f000000 -349ff58,42080000 -349ff5c,c20c0000 -349ff60,420c0000 -349ff64,52616369 -349ff68,6e672061 -349ff6c,64766973 -349ff70,6f72793a -349ff74,206d6f64 -349ff78,656c2073 -349ff7c,6b656c65 -349ff80,746f6e20 -349ff84,6d697373 -349ff88,696e6720 -349ff8c,646c6973 -349ff90,74000000 -349ff94,52616369 -349ff98,6e672061 -349ff9c,64766973 -349ffa0,6f72793a -349ffa4,20697272 -349ffa8,6567756c -349ffac,6172206d -349ffb0,6f64656c -349ffb4,20736b65 -349ffb8,6c65746f -349ffbc,6e000000 -349ffc0,a -349ffc4,5 -349ffc8,21506c61 -349ffcc,7941734d -349ffd0,616e6966 -349ffd4,65737430 -349ffdc,bd1400 -349ffe0,bd1300 -349ffe4,15c6300 -349ffe8,de2f00 -349ffec,8041b85c -349fff0,8041b878 -349fff4,8041b894 -349fff8,8041b8b0 -349fffc,8041b8cc -34a0000,8041b85c -34a0004,8041b878 -34a0008,8041b894 -34a000c,8041b8b0 -34a0010,8041b8cc -34a0014,3f800000 -34a0018,3f000000 -34a001c,41c80000 -34a0020,41200000 -34a0024,3fa00000 -34a0028,40000000 -34a002c,40200000 -34a0030,3f8facc5 -34a0034,3f64115e -34a0038,3f800000 -34a003c,3f000000 -34a0040,4f000000 -34a0044,8041c488 -34a0048,8041c488 -34a004c,8041c420 -34a0050,8041c488 -34a0054,8041c488 -34a0058,8041c488 -34a005c,8041c488 -34a0060,8041c488 -34a0064,8041c488 -34a0068,8041c488 -34a006c,8041c488 -34a0070,8041c488 -34a0074,8041c3e0 -34a0078,8041c400 -34a007c,8041c440 -34a0080,8041c440 -34a0084,8041c460 -34a0088,8041c460 -34a008c,8041c7c0 -34a0090,8041c7c0 -34a0094,8041c768 -34a0098,8041c7c0 -34a009c,8041c7c0 -34a00a0,8041c7c0 -34a00a4,8041c7c0 -34a00a8,8041c7c0 -34a00ac,8041c7c0 -34a00b0,8041c7c0 -34a00b4,8041c7c0 -34a00b8,8041c7c0 -34a00bc,8041c728 -34a00c0,8041c748 -34a00c4,8041c788 -34a00c8,8041c788 -34a00cc,8041c7a8 -34a00d0,8041c7a8 -34a00d4,42480000 -34a00d8,41200000 -34a00dc,8041ccdc -34a00e0,8041ccdc -34a00e4,8041cc74 -34a00e8,8041ccdc -34a00ec,8041ccdc -34a00f0,8041ccdc -34a00f4,8041ccdc -34a00f8,8041ccdc -34a00fc,8041ccdc -34a0100,8041ccdc -34a0104,8041ccdc -34a0108,8041ccdc -34a010c,8041cc34 -34a0110,8041cc54 -34a0114,8041cc94 -34a0118,8041cc94 -34a011c,8041ccb4 -34a0120,8041ccb4 -34a0124,e01010e0 -34a0128,e01010e0 -34a012c,1010e0e0 -34a0130,1010e0e0 -34a0134,10e0e010 -34a0138,10000000 -34a0140,41f00000 -34a0148,3f800000 -34a014c,4f000000 -34a0150,3f800000 -34a0154,3fc00000 -34a0158,c53f7000 -34a015c,43be0000 -34a0160,c57e2000 -34a0164,442f0000 -34a0168,2d000000 -34a016c,a001e -34a0170,140032 -34a0174,21 -34a0178,2002c -34a0190,10022 -34a0194,3002d -34a01ac,20023 -34a01b0,1002b -34a01c8,30024 -34a01cc,12003a -34a01e4,40025 -34a01e8,10003b -34a0200,50026 -34a0204,11003c -34a021c,60027 -34a0220,13003d -34a0238,70028 -34a023c,15003e -34a0254,80029 -34a0258,16003f -34a0270,9002a -34a0274,170040 -34a028c,a002b -34a0290,140041 -34a02a8,b002d -34a02ac,5002f -34a02c4,c002e -34a02c8,60030 -34a02e0,d002f -34a02e4,70031 -34a02fc,e0030 -34a0300,80032 -34a0318,f0031 -34a031c,90033 -34a0334,100032 -34a0338,a0034 -34a0350,110033 -34a0354,b0035 -34a036c,120034 -34a0370,c0036 -34a0388,130035 -34a038c,d0037 -34a03a4,140036 -34a03a8,e0038 -34a03c0,150037 -34a03c4,f0039 -34a03e0,3ff80000 -34a03e8,406e0000 -34a03f0,3ff00000 -34a03f8,40080000 -34a0458,7f024429 -34a045c,3c334133 -34a0460,41334633 -34a0464,44297f02 -34a0494,5409 -34a0498,4dc548ff -34a049c,41ff43ff -34a04a0,47ff49ff -34a04a4,43ff20c5 -34a04a8,c0000 -34a04d4,3f75 -34a04d8,49ff33ff -34a04dc,28ff2dff -34a04e0,33ff39ff -34a04e4,3cff00ff -34a04e8,770000 -34a0514,329d -34a0518,37ff1bff -34a051c,21ff28ff -34a0520,2fff35ff -34a0524,3cff00ff -34a0528,9d0000 -34a0554,329e -34a0558,35ff21ff -34a055c,28ff06ff -34a0560,9ff3cff -34a0564,42ff00ff -34a0568,9e0000 -34a0594,359e -34a0598,39ff27ff -34a059c,2eff00ff -34a05a0,2ff42ff -34a05a4,48ff00ff -34a05a8,9e0000 -34a05d4,3a9e -34a05d8,3eff2eff -34a05dc,35ff00ff -34a05e0,dff48ff -34a05e4,4dff00ff -34a05e8,9e0000 -34a0614,3e9e -34a0618,42ff35ff -34a061c,3bff1bff -34a0620,27ff4dff -34a0624,53ff00ff -34a0628,9e0000 -34a0654,439e -34a0658,47ff3bff -34a065c,41ff47ff -34a0660,4dff52ff -34a0664,58ff00ff -34a0668,9e0000 -34a0694,4d9e -34a0698,4dff41ff -34a069c,47ff4dff -34a06a0,52ff57ff -34a06a4,5cff00ff -34a06a8,9e0000 -34a06c4,3f04474f -34a06c8,3e663e66 -34a06cc,43664666 -34a06d0,48664d66 -34a06d4,57665bc5 -34a06d8,53ff47ff -34a06dc,4dff52ff -34a06e0,57ff5cff -34a06e4,60ff0eff -34a06e8,19c56666 -34a06ec,66666466 -34a06f0,61665f66 -34a06f4,5c665a66 -34a06f8,504f3f04 -34a0700,6605 -34a0704,4ec34bff -34a0708,41ff41ff -34a070c,45ff48ff -34a0710,4cff4fff -34a0714,55ff59ff -34a0718,4fff4dff -34a071c,52ff57ff -34a0720,5cff60ff -34a0724,64ff61ff -34a0728,67ff66ff -34a072c,64ff62ff -34a0730,60ff5dff -34a0734,5bff57ff -34a0738,49ff0ec3 -34a073c,50000 -34a0740,3958 -34a0744,44ff31ff -34a0748,20ff25ff -34a074c,2bff31ff -34a0750,38ff3eff -34a0754,44ff49ff -34a0758,4dff52ff -34a075c,57ff5cff -34a0760,60ff64ff -34a0764,68ff67ff -34a0768,64ff60ff -34a076c,5cff58ff -34a0770,53ff4eff -34a0774,48ff43ff -34a0778,32ff00ff -34a077c,580000 -34a0780,2f71 -34a0784,36ff1dff -34a0788,1fff26ff -34a078c,2dff34ff -34a0790,3aff41ff -34a0794,47ff4cff -34a0798,52ff57ff -34a079c,5cff60ff -34a07a0,64ff68ff -34a07a4,67ff64ff -34a07a8,60ff5bff -34a07ac,57ff51ff -34a07b0,4cff46ff -34a07b4,40ff3aff -34a07b8,27ff00ff -34a07bc,710000 -34a07c0,2f71 -34a07c4,36ff21ff -34a07c8,16ff00ff -34a07cc,ff00ff -34a07d0,2cff47ff -34a07d4,4cff52ff -34a07d8,57ff5cff -34a07dc,60ff64ff -34a07e0,67ff67ff -34a07e4,64ff60ff -34a07e8,5bff57ff -34a07ec,52ff0dff -34a07f0,ff00ff -34a07f4,aff33ff -34a07f8,21ff00ff -34a07fc,710000 -34a0800,3371 -34a0804,3aff28ff -34a0808,22ff0fff -34a080c,13ff19ff -34a0810,39ff4cff -34a0814,52ff57ff -34a0818,5bff60ff -34a081c,64ff67ff -34a0820,67ff64ff -34a0824,60ff5cff -34a0828,57ff52ff -34a082c,4cff1dff -34a0830,12ff14ff -34a0834,19ff2dff -34a0838,1bff00ff -34a083c,710000 -34a0840,3871 -34a0844,3dff2fff -34a0848,33ff3aff -34a084c,40ff46ff -34a0850,4cff51ff -34a0854,57ff5bff -34a0858,60ff64ff -34a085c,67ff68ff -34a0860,64ff60ff -34a0864,5cff57ff -34a0868,52ff4cff -34a086c,47ff41ff -34a0870,3aff34ff -34a0874,2dff26ff -34a0878,12ff00ff -34a087c,710000 -34a0880,3569 -34a0884,37ff33ff -34a0888,3aff40ff -34a088c,46ff4cff -34a0890,51ff57ff -34a0894,5bff60ff -34a0898,64ff67ff -34a089c,68ff64ff -34a08a0,60ff5cff -34a08a4,57ff52ff -34a08a8,4dff47ff -34a08ac,41ff3aff -34a08b0,34ff2dff -34a08b4,26ff1fff -34a08b8,6ff00ff -34a08bc,690000 -34a08c0,1e21 -34a08c4,2f600ff -34a08c8,ff00ff -34a08cc,ff00ff -34a08d0,ff00ff -34a08d4,2ff1eff -34a08d8,60ff68ff -34a08dc,64ff60ff -34a08e0,5cff57ff -34a08e4,52ff2cff -34a08e8,6ff00ff -34a08ec,ff00ff -34a08f0,ff00ff -34a08f4,ff00ff -34a08f8,ff00f6 -34a08fc,210000 -34a0904,3b00ae -34a0908,cc00cc -34a090c,cc00cc -34a0910,cc00cc -34a0914,cc03ec -34a0918,62ff64ff -34a091c,60ff5cff -34a0920,57ff52ff -34a0924,4dff00ff -34a0928,ec00cc -34a092c,cc00cc -34a0930,cc00cc -34a0934,cc00cc -34a0938,ae003b -34a0954,5f9e -34a0958,65ff60ff -34a095c,5cff57ff -34a0960,52ff4dff -34a0964,47ff00ff -34a0968,9e0000 -34a0994,659e -34a0998,63ff5cff -34a099c,57ff52ff -34a09a0,4dff47ff -34a09a4,41ff00ff -34a09a8,9e0000 -34a09d4,649e -34a09d8,61ff58ff -34a09dc,53ff35ff -34a09e0,31ff41ff -34a09e4,3bff00ff -34a09e8,9e0000 -34a0a14,609e -34a0a18,5eff53ff -34a0a1c,4dff00ff -34a0a20,ff3bff -34a0a24,35ff00ff -34a0a28,9e0000 -34a0a54,5d9e -34a0a58,5bff4dff -34a0a5c,48ff00ff -34a0a60,6ff35ff -34a0a64,2eff00ff -34a0a68,9e0000 -34a0a94,5a9e -34a0a98,57ff48ff -34a0a9c,42ff03ff -34a0aa0,cff2eff -34a0aa4,28ff00ff -34a0aa8,9e0000 -34a0ad4,559e -34a0ad8,53ff42ff -34a0adc,3cff2dff -34a0ae0,28ff28ff -34a0ae4,1fff00ff -34a0ae8,9e0000 -34a0b14,4b91 -34a0b18,44ff33ff -34a0b1c,35ff2fff -34a0b20,28ff1fff -34a0b24,7ff00ff -34a0b28,900000 -34a0b54,1229 -34a0b58,f700ff -34a0b5c,ff00ff -34a0b60,ff00ff -34a0b64,ff00f8 -34a0b68,2e0000 -34a0b98,30008c -34a0b9c,990099 -34a0ba0,990099 -34a0ba4,8c0030 -34a0c40,db000 -34a0c44,db000 -34a0c48,db000 -34a0c4c,cb000 -34a0c50,cb000 -34a0c54,ca000 -34a0c5c,db000 -34a0c60,db000 -34a0c78,e8ac00 -34a0c7c,e8ac00 -34a0c80,e8ac00 -34a0c84,e8ac00 -34a0cac,d77d0 -34a0cb0,2e3ab0 -34a0cb4,7d0c90 -34a0cb8,8ffffffd -34a0cbc,c96e00 -34a0cc0,2e4ac00 -34a0cc4,effffff4 -34a0cc8,ab0e500 -34a0ccc,c95e000 -34a0cd0,e59c000 -34a0ce8,79000 -34a0cec,5ceeb40 -34a0cf0,cc8a990 -34a0cf4,da79000 -34a0cf8,8ecb400 -34a0cfc,4adda0 -34a0d00,797e2 -34a0d04,c88aae0 -34a0d08,6ceed70 -34a0d0c,79000 -34a0d10,79000 -34a0d20,6dea0000 -34a0d24,c94d6000 -34a0d28,c94d6033 -34a0d2c,6deb6bc6 -34a0d30,8cb600 -34a0d34,7ca4cec4 -34a0d38,3109c3bb -34a0d3c,9c3bb -34a0d40,2ced4 -34a0d58,4cefb00 -34a0d5c,ad50000 -34a0d60,8e30000 -34a0d64,9ec0000 -34a0d68,7e4db0ab -34a0d6c,bb05e8aa -34a0d70,bc008ed6 -34a0d74,7e936ed0 -34a0d78,8ded9ea -34a0d90,ca000 -34a0d94,ca000 -34a0d98,ca000 -34a0d9c,ca000 -34a0dc0,c900 -34a0dc4,7e200 -34a0dc8,cb000 -34a0dcc,e8000 -34a0dd0,6f3000 -34a0dd4,8e0000 -34a0dd8,8e0000 -34a0ddc,6f4000 -34a0de0,e8000 -34a0de4,cb000 -34a0de8,7e200 -34a0dec,c900 -34a0df8,bb0000 -34a0dfc,5e4000 -34a0e00,ca000 -34a0e04,ad000 -34a0e08,7e100 -34a0e0c,6f400 -34a0e10,6f400 -34a0e14,7e100 -34a0e18,ad000 -34a0e1c,ca000 -34a0e20,5e4000 -34a0e24,bb0000 -34a0e38,a8000 -34a0e3c,c8a8ab0 -34a0e40,3beda10 -34a0e44,3beda10 -34a0e48,c8a8ab0 -34a0e4c,a8000 -34a0e74,ca000 -34a0e78,ca000 -34a0e7c,ca000 -34a0e80,affffff8 -34a0e84,ca000 -34a0e88,ca000 -34a0e8c,ca000 -34a0ec4,dd000 -34a0ec8,ec000 -34a0ecc,4f8000 -34a0ed0,9d0000 -34a0ef4,dffb00 -34a0f34,ec000 -34a0f38,ec000 -34a0f50,bc0 -34a0f54,4e60 -34a0f58,bc00 -34a0f5c,3e800 -34a0f60,ad000 -34a0f64,1e9000 -34a0f68,9e2000 -34a0f6c,da0000 -34a0f70,7e30000 -34a0f74,cb00000 -34a0f78,6e500000 -34a0f88,3ceeb00 -34a0f8c,bd57e90 -34a0f90,e900bd0 -34a0f94,5f7009e0 -34a0f98,6f6cb9e0 -34a0f9c,5f7009e0 -34a0fa0,e900bd0 -34a0fa4,bd57e90 -34a0fa8,3ceeb00 -34a0fc0,affe000 -34a0fc4,8e000 -34a0fc8,8e000 -34a0fcc,8e000 -34a0fd0,8e000 -34a0fd4,8e000 -34a0fd8,8e000 -34a0fdc,8e000 -34a0fe0,8ffffe0 -34a0ff8,8deea00 -34a0ffc,c837e90 -34a1000,cc0 -34a1004,2ea0 -34a1008,bd20 -34a100c,bd400 -34a1010,bd4000 -34a1014,bd40000 -34a1018,2fffffd0 -34a1030,7ceea00 -34a1034,c837e90 -34a1038,cb0 -34a103c,27e90 -34a1040,bffb00 -34a1044,27da0 -34a1048,ad0 -34a104c,5c627db0 -34a1050,9deeb30 -34a1068,2de00 -34a106c,bde00 -34a1070,7d9e00 -34a1074,2d79e00 -34a1078,bb09e00 -34a107c,6e409e00 -34a1080,9ffffff7 -34a1084,9e00 -34a1088,9e00 -34a10a0,cffff50 -34a10a4,ca00000 -34a10a8,ca00000 -34a10ac,ceeea00 -34a10b0,38e90 -34a10b4,bc0 -34a10b8,bc0 -34a10bc,5c638e90 -34a10c0,9deda00 -34a10d8,aeec30 -34a10dc,ae83980 -34a10e0,e900000 -34a10e4,4faeec40 -34a10e8,6fd55dc0 -34a10ec,5f9009e0 -34a10f0,e9009e0 -34a10f4,cd55dc0 -34a10f8,3ceec40 -34a1110,5fffffd0 -34a1114,da0 -34a1118,7e40 -34a111c,cc00 -34a1120,4e800 -34a1124,ad000 -34a1128,da000 -34a112c,8e4000 -34a1130,cc0000 -34a1148,5ceec30 -34a114c,dc45db0 -34a1150,e900bd0 -34a1154,bc45d90 -34a1158,4dffc20 -34a115c,1db45cc0 -34a1160,5f6009e0 -34a1164,2eb35cd0 -34a1168,7deec50 -34a1180,6deeb00 -34a1184,db37e90 -34a1188,5f500bd0 -34a118c,5f500be0 -34a1190,db37ee0 -34a1194,6dedbe0 -34a1198,bc0 -34a119c,9749e70 -34a11a0,5ded800 -34a11c0,ec000 -34a11c4,ec000 -34a11d4,ec000 -34a11d8,ec000 -34a11f8,ec000 -34a11fc,ec000 -34a120c,dd000 -34a1210,ec000 -34a1214,4f8000 -34a1218,9d0000 -34a1230,29c8 -34a1234,7bed93 -34a1238,8dda4000 -34a123c,8dda4000 -34a1240,7bec93 -34a1244,29c8 -34a126c,affffff8 -34a1278,affffff8 -34a12a0,ac810000 -34a12a4,4adeb600 -34a12a8,6add6 -34a12ac,6add6 -34a12b0,4adeb600 -34a12b4,ac810000 -34a12d0,4beec30 -34a12d4,9a46ea0 -34a12d8,1da0 -34a12dc,2cd30 -34a12e0,cc100 -34a12e4,e9000 -34a12ec,e9000 -34a12f0,e9000 -34a1308,1aeed70 -34a130c,cd739e4 -34a1310,7e2000c9 -34a1314,ba0aeeca -34a1318,d76e64da -34a131c,d69c00aa -34a1320,d76e64da -34a1324,ba0aeeca -34a1328,6e400000 -34a132c,ad83000 -34a1330,8dee90 -34a1340,3ed000 -34a1344,9de600 -34a1348,cbcb00 -34a134c,3e8ad00 -34a1350,8e26f60 -34a1354,cc00ea0 -34a1358,2effffd0 -34a135c,8e5008f5 -34a1360,cd0001ea -34a1378,effec40 -34a137c,e905dc0 -34a1380,e900ae0 -34a1384,e905dc0 -34a1388,efffd50 -34a138c,e904bd2 -34a1390,e9005f6 -34a1394,e904be3 -34a1398,effed80 -34a13b0,9ded80 -34a13b4,8e936b0 -34a13b8,db00000 -34a13bc,3f900000 -34a13c0,5f700000 -34a13c4,1e900000 -34a13c8,db00000 -34a13cc,8e947b0 -34a13d0,9ded80 -34a13e8,5ffed800 -34a13ec,5f65ae80 -34a13f0,5f600cd0 -34a13f4,5f6009e0 -34a13f8,5f6009f0 -34a13fc,5f6009e0 -34a1400,5f600cd0 -34a1404,5f65ae80 -34a1408,5ffed800 -34a1420,dffffe0 -34a1424,db00000 -34a1428,db00000 -34a142c,db00000 -34a1430,dffffc0 -34a1434,db00000 -34a1438,db00000 -34a143c,db00000 -34a1440,dfffff0 -34a1458,bfffff4 -34a145c,bd00000 -34a1460,bd00000 -34a1464,bd00000 -34a1468,bffffc0 -34a146c,bd00000 -34a1470,bd00000 -34a1474,bd00000 -34a1478,bd00000 -34a1490,1aeed60 -34a1494,be738a0 -34a1498,4e900000 -34a149c,8f400000 -34a14a0,9f10bff2 -34a14a4,7f4007f2 -34a14a8,4e9007f2 -34a14ac,be739f2 -34a14b0,1beed90 -34a14c8,5f6009e0 -34a14cc,5f6009e0 -34a14d0,5f6009e0 -34a14d4,5f6009e0 -34a14d8,5fffffe0 -34a14dc,5f6009e0 -34a14e0,5f6009e0 -34a14e4,5f6009e0 -34a14e8,5f6009e0 -34a1500,dffffb0 -34a1504,db000 -34a1508,db000 -34a150c,db000 -34a1510,db000 -34a1514,db000 -34a1518,db000 -34a151c,db000 -34a1520,dffffb0 -34a1538,cfff40 -34a153c,7f40 -34a1540,7f40 -34a1544,7f40 -34a1548,7f40 -34a154c,7f30 -34a1550,75009e00 -34a1554,8d64dc00 -34a1558,2beec500 -34a1570,5f6009e7 -34a1574,5f609e70 -34a1578,5f69e700 -34a157c,5fbe8000 -34a1580,5fedb000 -34a1584,5f87e800 -34a1588,5f60ae40 -34a158c,5f601dc0 -34a1590,5f6006ea -34a15a8,cc00000 -34a15ac,cc00000 -34a15b0,cc00000 -34a15b4,cc00000 -34a15b8,cc00000 -34a15bc,cc00000 -34a15c0,cc00000 -34a15c4,cc00000 -34a15c8,cfffff7 -34a15e0,afa00cf8 -34a15e4,aed02ee8 -34a15e8,add59be8 -34a15ec,adaac8e8 -34a15f0,ad5de1e8 -34a15f4,ad0db0e8 -34a15f8,ad0000e8 -34a15fc,ad0000e8 -34a1600,ad0000e8 -34a1618,5fc008e0 -34a161c,5fe608e0 -34a1620,5fcb08e0 -34a1624,5f7e48e0 -34a1628,5f5ca8e0 -34a162c,5f57e8e0 -34a1630,5f50dce0 -34a1634,5f509ee0 -34a1638,5f502ee0 -34a1650,4ceeb20 -34a1654,cd56ea0 -34a1658,3e800ae0 -34a165c,7f5008f2 -34a1660,7f4008f4 -34a1664,7f5008f2 -34a1668,3e800ae0 -34a166c,cd56eb0 -34a1670,4ceeb20 -34a1688,dffed60 -34a168c,db05ce2 -34a1690,db006f6 -34a1694,db006f6 -34a1698,db05ce2 -34a169c,dffed60 -34a16a0,db00000 -34a16a4,db00000 -34a16a8,db00000 -34a16c0,4ceeb20 -34a16c4,cd56ea0 -34a16c8,3e800ae0 -34a16cc,7f5008f2 -34a16d0,7f4008f4 -34a16d4,7f5008f1 -34a16d8,3e800ad0 -34a16dc,cd56ea0 -34a16e0,4cefc20 -34a16e4,ae50 -34a16e8,c80 -34a16f8,5ffeeb20 -34a16fc,5f717eb0 -34a1700,5f700cd0 -34a1704,5f716ea0 -34a1708,5fffea00 -34a170c,5f72ae40 -34a1710,5f700db0 -34a1714,5f7008e5 -34a1718,5f7000db -34a1730,6ceeb30 -34a1734,dc45a90 -34a1738,4f600000 -34a173c,ec60000 -34a1740,5ceeb40 -34a1744,6cc0 -34a1748,8e0 -34a174c,c735cd0 -34a1750,8deec50 -34a1768,cffffffb -34a176c,db000 -34a1770,db000 -34a1774,db000 -34a1778,db000 -34a177c,db000 -34a1780,db000 -34a1784,db000 -34a1788,db000 -34a17a0,4f7009e0 -34a17a4,4f7009e0 -34a17a8,4f7009e0 -34a17ac,4f7009e0 -34a17b0,4f7009e0 -34a17b4,3f7009e0 -34a17b8,2e700ad0 -34a17bc,dc45dc0 -34a17c0,5ceec40 -34a17d8,ad0003e8 -34a17dc,6f5008e3 -34a17e0,e900bc0 -34a17e4,bc00d90 -34a17e8,8e15e40 -34a17ec,2e7ad00 -34a17f0,cbca00 -34a17f4,9de600 -34a17f8,3ed000 -34a1810,e80000ad -34a1814,da0000cb -34a1818,cb0000da -34a181c,ac0ec0e8 -34a1820,8d6de1e5 -34a1824,6e9bd8e0 -34a1828,1ec8acd0 -34a182c,de37ec0 -34a1830,cd00ea0 -34a1848,6e7007e7 -34a184c,ad21db0 -34a1850,2daad20 -34a1854,7ee700 -34a1858,3ee200 -34a185c,bdda00 -34a1860,7e67e60 -34a1864,3ea00bd0 -34a1868,bd2004e9 -34a1880,ae2005e8 -34a1884,2da00cc0 -34a1888,7e57e50 -34a188c,ccda00 -34a1890,4ed200 -34a1894,db000 -34a1898,db000 -34a189c,db000 -34a18a0,db000 -34a18b8,efffff8 -34a18bc,bd3 -34a18c0,7e70 -34a18c4,3ea00 -34a18c8,bd100 -34a18cc,8e5000 -34a18d0,4e90000 -34a18d4,cc00000 -34a18d8,1ffffffa -34a18e8,4ffc00 -34a18ec,4f5000 -34a18f0,4f5000 -34a18f4,4f5000 -34a18f8,4f5000 -34a18fc,4f5000 -34a1900,4f5000 -34a1904,4f5000 -34a1908,4f5000 -34a190c,4f5000 -34a1910,4f5000 -34a1914,4ffc00 -34a1928,6e500000 -34a192c,cb00000 -34a1930,7e30000 -34a1934,da0000 -34a1938,9e2000 -34a193c,1e9000 -34a1940,ad000 -34a1944,3e800 -34a1948,bc00 -34a194c,4e60 -34a1950,bc0 -34a1958,dfe000 -34a195c,8e000 -34a1960,8e000 -34a1964,8e000 -34a1968,8e000 -34a196c,8e000 -34a1970,8e000 -34a1974,8e000 -34a1978,8e000 -34a197c,8e000 -34a1980,8e000 -34a1984,dfe000 -34a1998,5ed200 -34a199c,dcdb00 -34a19a0,ad25e80 -34a19a4,7e5007e5 -34a19fc,fffffffd -34a1a04,2ca0000 -34a1a08,2c9000 -34a1a48,5ceeb10 -34a1a4c,b936da0 -34a1a50,bc0 -34a1a54,8deffc0 -34a1a58,3e930bd0 -34a1a5c,4f827ed0 -34a1a60,aeedbd0 -34a1a70,d900000 -34a1a74,d900000 -34a1a78,d900000 -34a1a7c,d900000 -34a1a80,dbdec40 -34a1a84,de65dc0 -34a1a88,db008e0 -34a1a8c,da007f2 -34a1a90,db008e0 -34a1a94,de64db0 -34a1a98,dbdec40 -34a1ab8,8ded70 -34a1abc,7e936a0 -34a1ac0,cc00000 -34a1ac4,db00000 -34a1ac8,cc00000 -34a1acc,7e936a0 -34a1ad0,8ded70 -34a1ae0,bc0 -34a1ae4,bc0 -34a1ae8,bc0 -34a1aec,bc0 -34a1af0,5dedcc0 -34a1af4,dc48ec0 -34a1af8,5f600cc0 -34a1afc,7f300bc0 -34a1b00,5f600cc0 -34a1b04,dc48ec0 -34a1b08,5dedcc0 -34a1b28,3beec30 -34a1b2c,cd54cc0 -34a1b30,4f6007e0 -34a1b34,6ffffff3 -34a1b38,4f500000 -34a1b3c,cc538c0 -34a1b40,3beec60 -34a1b50,5ded0 -34a1b54,cb200 -34a1b58,d9000 -34a1b5c,e8000 -34a1b60,dffffd0 -34a1b64,e8000 -34a1b68,e8000 -34a1b6c,e8000 -34a1b70,e8000 -34a1b74,e8000 -34a1b78,e8000 -34a1b98,5dedcc0 -34a1b9c,dc48ec0 -34a1ba0,5f600cc0 -34a1ba4,7f300bc0 -34a1ba8,5f600cc0 -34a1bac,dc48ec0 -34a1bb0,5dedcb0 -34a1bb4,ca0 -34a1bb8,9947e60 -34a1bbc,4cee900 -34a1bc0,da00000 -34a1bc4,da00000 -34a1bc8,da00000 -34a1bcc,da00000 -34a1bd0,dbded40 -34a1bd4,de65da0 -34a1bd8,db00bc0 -34a1bdc,da00bc0 -34a1be0,da00bc0 -34a1be4,da00bc0 -34a1be8,da00bc0 -34a1bf8,bc000 -34a1c08,9ffc000 -34a1c0c,bc000 -34a1c10,bc000 -34a1c14,bc000 -34a1c18,bc000 -34a1c1c,bc000 -34a1c20,effffe0 -34a1c30,7e000 -34a1c40,7ffe000 -34a1c44,7e000 -34a1c48,7e000 -34a1c4c,7e000 -34a1c50,7e000 -34a1c54,7e000 -34a1c58,7e000 -34a1c5c,7e000 -34a1c60,1bd000 -34a1c64,dfe7000 -34a1c68,bc00000 -34a1c6c,bc00000 -34a1c70,bc00000 -34a1c74,bc00000 -34a1c78,bc03dc2 -34a1c7c,bc3db00 -34a1c80,bddc000 -34a1c84,bfce500 -34a1c88,bd0cd10 -34a1c8c,bc03db0 -34a1c90,bc007e8 -34a1ca0,eff4000 -34a1ca4,5f4000 -34a1ca8,5f4000 -34a1cac,5f4000 -34a1cb0,5f4000 -34a1cb4,5f4000 -34a1cb8,5f4000 -34a1cbc,5f4000 -34a1cc0,4f5000 -34a1cc4,ea000 -34a1cc8,8efb0 -34a1ce8,8dddaec0 -34a1cec,8e4dc5e4 -34a1cf0,8d0cb0e6 -34a1cf4,8d0ba0e7 -34a1cf8,8d0ba0e7 -34a1cfc,8d0ba0e7 -34a1d00,8d0ba0e7 -34a1d20,dbded40 -34a1d24,de65da0 -34a1d28,db00bc0 -34a1d2c,da00bc0 -34a1d30,da00bc0 -34a1d34,da00bc0 -34a1d38,da00bc0 -34a1d58,4ceeb20 -34a1d5c,cd56da0 -34a1d60,1e700ad0 -34a1d64,5f6008e0 -34a1d68,1e700ad0 -34a1d6c,cd46db0 -34a1d70,4ceeb20 -34a1d90,dbdec30 -34a1d94,de65db0 -34a1d98,db009e0 -34a1d9c,da007e0 -34a1da0,db008e0 -34a1da4,de65db0 -34a1da8,dbeec40 -34a1dac,d900000 -34a1db0,d900000 -34a1db4,d900000 -34a1dc8,4cedcc0 -34a1dcc,cc47ec0 -34a1dd0,1e700cc0 -34a1dd4,5f600bc0 -34a1dd8,2e700cc0 -34a1ddc,cc47ec0 -34a1de0,5cedbc0 -34a1de4,ac0 -34a1de8,ac0 -34a1dec,ac0 -34a1e00,ccdef9 -34a1e04,ce8300 -34a1e08,cb0000 -34a1e0c,ca0000 -34a1e10,ca0000 -34a1e14,ca0000 -34a1e18,ca0000 -34a1e38,4ceea10 -34a1e3c,bd45b60 -34a1e40,bd40000 -34a1e44,3bddb20 -34a1e48,4da0 -34a1e4c,b945ea0 -34a1e50,5ceeb20 -34a1e68,8e0000 -34a1e6c,8e0000 -34a1e70,6fffffb0 -34a1e74,8e0000 -34a1e78,8e0000 -34a1e7c,8e0000 -34a1e80,8e0000 -34a1e84,6e7000 -34a1e88,befb0 -34a1ea8,da00bc0 -34a1eac,da00bc0 -34a1eb0,da00bc0 -34a1eb4,da00bc0 -34a1eb8,da00bc0 -34a1ebc,bd47ec0 -34a1ec0,5dedbc0 -34a1ee0,6e3007e3 -34a1ee4,d900bc0 -34a1ee8,ad01e80 -34a1eec,5e48e20 -34a1ef0,dacb00 -34a1ef4,9de700 -34a1ef8,3ee000 -34a1f18,e80000ac -34a1f1c,ca0000ca -34a1f20,ac0db0e7 -34a1f24,6e3dd5e2 -34a1f28,eabcad0 -34a1f2c,ce79eb0 -34a1f30,ae15f80 -34a1f50,3da00bc0 -34a1f54,6e69e40 -34a1f58,9ee700 -34a1f5c,2ed000 -34a1f60,ccda00 -34a1f64,9e46e70 -34a1f68,6e7009e4 -34a1f88,6e5005e5 -34a1f8c,da00bd0 -34a1f90,9e00e90 -34a1f94,3e78e30 -34a1f98,cccc00 -34a1f9c,7ee700 -34a1fa0,de000 -34a1fa4,da000 -34a1fa8,8e5000 -34a1fac,dea0000 -34a1fc0,bffffc0 -34a1fc4,5e70 -34a1fc8,3d900 -34a1fcc,cb000 -34a1fd0,bd2000 -34a1fd4,9e40000 -34a1fd8,dffffc0 -34a1fe8,6dea0 -34a1fec,bd300 -34a1ff0,cb000 -34a1ff4,cb000 -34a1ff8,5ea000 -34a1ffc,bfd2000 -34a2000,7e9000 -34a2004,db000 -34a2008,cb000 -34a200c,cb000 -34a2010,bd400 -34a2014,5dea0 -34a2020,ca000 -34a2024,ca000 -34a2028,ca000 -34a202c,ca000 -34a2030,ca000 -34a2034,ca000 -34a2038,ca000 -34a203c,ca000 -34a2040,ca000 -34a2044,ca000 -34a2048,ca000 -34a204c,ca000 -34a2050,ca000 -34a2058,bed3000 -34a205c,4e9000 -34a2060,da000 -34a2064,ca000 -34a2068,bc400 -34a206c,5efa0 -34a2070,bd500 -34a2074,cb000 -34a2078,da000 -34a207c,da000 -34a2080,5e8000 -34a2084,bec2000 -34a20a8,5ded83a7 -34a20ac,9838dec3 -34a20c8,f0f0f0f0 -34a20cc,f0f0f0f0 -34a20d0,f0f0f0f0 -34a20d4,f0f0f0f0 -34a20d8,f0f0f0f0 -34a20dc,f0f0f0f0 -34a20e0,dff0f0f0 -34a20e4,f0f0f0f0 -34a20e8,f0f0f0f0 -34a20ec,f0f0f0df -34a20f0,dff0f0f0 -34a20f4,f0f0f0f0 -34a20f8,f0f0f0f0 -34a20fc,f0f0f0df -34a2100,dfcff0f0 -34a2104,f0f0f0f0 -34a2108,f0f0f0f0 -34a210c,f0f0cfcf -34a2110,cfcff0f0 -34a2114,f0f0f0f0 -34a2118,f0f0f0f0 -34a211c,f0f0cfcf -34a2120,cfcfcff0 -34a2124,f0f0f0f0 -34a2128,f0f0f0f0 -34a212c,f0cfcfcf -34a2130,cfcfcff0 -34a2134,f0f0f0f0 -34a2138,f0f0f0f0 -34a213c,f0cfcfcf -34a2140,cfcfcfcf -34a2144,f0f0f0f0 -34a2148,f0f0f0f0 -34a214c,cfcfcfcf -34a2150,cfbfbfbf -34a2154,f0f0f0f0 -34a2158,f0f0f0f0 -34a215c,bfbfbfbf -34a2160,bfbfbfbf -34a2164,f0f0f0f0 -34a2168,f0f0f0bf -34a216c,bfbfbfbf -34a2170,bfbfbfbf -34a2174,bff0f0f0 -34a2178,f0f0f0bf -34a217c,bfbff0f0 -34a2180,f0f0f0f0 -34a2184,f0f0f0f0 -34a2188,f0f0f0f0 -34a218c,f0f0f0f0 -34a2190,f0f0f0f0 -34a2194,f0f0f0f0 -34a2198,f0f0f0f0 -34a219c,f0f0f0f0 -34a21a0,f0f0f0f0 -34a21a4,f0f0f0f0 -34a21a8,f0f0f0f0 -34a21ac,f0f0f0f0 -34a21b0,f0f0f0f0 -34a21b4,f0f0f0f0 -34a21b8,f0f0f0f0 -34a21bc,f0f0f0f0 -34a21c0,f0f0f0f0 -34a21c4,f0f0f0f0 -34a21c8,f0f0f0f0 -34a21cc,f0f0f0f0 -34a21d0,f0f0f0f0 -34a21d4,f0f0f0f0 -34a21d8,f0f0f0f0 -34a21dc,f0f0f0cf -34a21e0,cff0f0f0 -34a21e4,f0f0f0f0 -34a21e8,f0f0f0f0 -34a21ec,f0f0f0cf -34a21f0,cfcff0f0 -34a21f4,f0f0f0f0 -34a21f8,f0f0f0f0 -34a21fc,f0f0bfcf -34a2200,cfcff0f0 -34a2204,f0f0f0f0 -34a2208,f0f0f0f0 -34a220c,f0f0bfcf -34a2210,cfcff0f0 -34a2214,f0f0f0f0 -34a2218,f0f0f0f0 -34a221c,f0bfcfbf -34a2220,bfbfbff0 -34a2224,f0f0f0f0 -34a2228,f0f0f0f0 -34a222c,f0bfbfbf -34a2230,bfbfbff0 -34a2234,f0f0f0f0 -34a2238,f0f0f0f0 -34a223c,bfbfbfbf -34a2240,bfbfbfbf -34a2244,f0f0f0f0 -34a2248,f0f0f0f0 -34a224c,bfbfbfbf -34a2250,bfbfbfbf -34a2254,f0f0f0f0 -34a2258,f0f0f0f0 -34a225c,bfbfbfbf -34a2260,bfbfbfaf -34a2264,f0f0f0f0 -34a2268,f0f0f0af -34a226c,bfbfbfbf -34a2270,afafaff0 -34a2274,f0f0f0f0 -34a2278,f0f0f0bf -34a227c,bfbfaff0 -34a2280,f0f0f0f0 -34a2284,f0f0f0f0 -34a2288,f0f0f0f0 -34a228c,f0f0f0f0 -34a2290,f0f0f0f0 -34a2294,f0f0f0f0 -34a2298,f0f0f0f0 -34a229c,f0f0f0f0 -34a22a0,f0f0f0f0 -34a22a4,f0f0f0f0 -34a22a8,f0f0f0f0 -34a22ac,f0f0f0f0 -34a22b0,f0f0f0f0 -34a22b4,f0f0f0f0 -34a22b8,f0f0f0f0 -34a22bc,f0f0f0f0 -34a22c0,f0f0f0f0 -34a22c4,f0f0f0f0 -34a22c8,f0f0f0f0 -34a22cc,f0f0f0f0 -34a22d0,f0f0f0f0 -34a22d4,f0f0f0f0 -34a22d8,f0f0f0f0 -34a22dc,f0f0f0ef -34a22e0,eff0f0f0 -34a22e4,f0f0f0f0 -34a22e8,f0f0f0f0 -34a22ec,f0f0f0ef -34a22f0,bfbff0f0 -34a22f4,f0f0f0f0 -34a22f8,f0f0f0f0 -34a22fc,f0f0dfdf -34a2300,bfbff0f0 -34a2304,f0f0f0f0 -34a2308,f0f0f0f0 -34a230c,f0f0dfbf -34a2310,afaff0f0 -34a2314,f0f0f0f0 -34a2318,f0f0f0f0 -34a231c,f0dfdfaf -34a2320,afafaff0 -34a2324,f0f0f0f0 -34a2328,f0f0f0f0 -34a232c,f0dfafaf -34a2330,afafaff0 -34a2334,f0f0f0f0 -34a2338,f0f0f0f0 -34a233c,dfdfafaf -34a2340,afafaff0 -34a2344,f0f0f0f0 -34a2348,f0f0f0f0 -34a234c,dfdfafaf -34a2350,afafaf9f -34a2354,f0f0f0f0 -34a2358,f0f0f0f0 -34a235c,cfafafaf -34a2360,afaf9f9f -34a2364,f0f0f0f0 -34a2368,f0f0f0cf -34a236c,cfafafaf -34a2370,9f9ff0f0 -34a2374,f0f0f0f0 -34a2378,f0f0f0cf -34a237c,afafaf9f -34a2380,f0f0f0f0 -34a2384,f0f0f0f0 -34a2388,f0f0f0cf -34a238c,aff0f0f0 -34a2390,f0f0f0f0 -34a2394,f0f0f0f0 -34a2398,f0f0f0f0 -34a239c,f0f0f0f0 -34a23a0,f0f0f0f0 -34a23a4,f0f0f0f0 -34a23a8,f0f0f0f0 -34a23ac,f0f0f0f0 -34a23b0,f0f0f0f0 -34a23b4,f0f0f0f0 -34a23b8,f0f0f0f0 -34a23bc,f0f0f0f0 -34a23c0,f0f0f0f0 -34a23c4,f0f0f0f0 -34a23c8,f0f0f0f0 -34a23cc,f0f0f0f0 -34a23d0,f0f0f0f0 -34a23d4,f0f0f0f0 -34a23d8,f0f0f0f0 -34a23dc,f0f0f0ff -34a23e0,ff9ff0f0 -34a23e4,f0f0f0f0 -34a23e8,f0f0f0f0 -34a23ec,f0f0ffff -34a23f0,ff9ff0f0 -34a23f4,f0f0f0f0 -34a23f8,f0f0f0f0 -34a23fc,f0f0ffff -34a2400,9f9ff0f0 -34a2404,f0f0f0f0 -34a2408,f0f0f0f0 -34a240c,f0f0ffff -34a2410,9f9ff0f0 -34a2414,f0f0f0f0 -34a2418,f0f0f0f0 -34a241c,f0efef9f -34a2420,9f9f9ff0 -34a2424,f0f0f0f0 -34a2428,f0f0f0f0 -34a242c,f0efef9f -34a2430,9f9f8ff0 -34a2434,f0f0f0f0 -34a2438,f0f0f0f0 -34a243c,f0efef9f -34a2440,9f8f8ff0 -34a2444,f0f0f0f0 -34a2448,f0f0f0f0 -34a244c,efef9f9f -34a2450,8f8f8ff0 -34a2454,f0f0f0f0 -34a2458,f0f0f0f0 -34a245c,efef9f8f -34a2460,8f8f8ff0 -34a2464,f0f0f0f0 -34a2468,f0f0f0ef -34a246c,efef8f8f -34a2470,8f8ff0f0 -34a2474,f0f0f0f0 -34a2478,f0f0f0ef -34a247c,ef8f8f8f -34a2480,f0f0f0f0 -34a2484,f0f0f0f0 -34a2488,f0f0f0ef -34a248c,ef8f8ff0 -34a2490,f0f0f0f0 -34a2494,f0f0f0f0 -34a2498,f0f0f0f0 -34a249c,8ff0f0f0 -34a24a0,f0f0f0f0 -34a24a4,f0f0f0f0 -34a24a8,f0f0f0f0 -34a24ac,f0f0f0f0 -34a24b0,f0f0f0f0 -34a24b4,f0f0f0f0 -34a24b8,f0f0f0f0 -34a24bc,f0f0f0f0 -34a24c0,f0f0f0f0 -34a24c4,f0f0f0f0 -34a24c8,f0f0f0f0 -34a24cc,f0f0f0f0 -34a24d0,f0f0f0f0 -34a24d4,f0f0f0f0 -34a24d8,f0f0f0f0 -34a24dc,f0f0f0ff -34a24e0,ff7ff0f0 -34a24e4,f0f0f0f0 -34a24e8,f0f0f0f0 -34a24ec,f0f0ffff -34a24f0,ff7ff0f0 -34a24f4,f0f0f0f0 -34a24f8,f0f0f0f0 -34a24fc,f0f0ffff -34a2500,ff7ff0f0 -34a2504,f0f0f0f0 -34a2508,f0f0f0f0 -34a250c,f0f0ffff -34a2510,7f7ff0f0 -34a2514,f0f0f0f0 -34a2518,f0f0f0f0 -34a251c,f0ffffff -34a2520,7f7ff0f0 -34a2524,f0f0f0f0 -34a2528,f0f0f0f0 -34a252c,f0ffffff -34a2530,7f7ff0f0 -34a2534,f0f0f0f0 -34a2538,f0f0f0f0 -34a253c,f0ffff7f -34a2540,7f7f7ff0 -34a2544,f0f0f0f0 -34a2548,f0f0f0f0 -34a254c,ffffff7f -34a2550,7f7f6ff0 -34a2554,f0f0f0f0 -34a2558,f0f0f0f0 -34a255c,ffffff7f -34a2560,7f6f6ff0 -34a2564,f0f0f0f0 -34a2568,f0f0f0f0 -34a256c,ffffff7f -34a2570,7f6ff0f0 -34a2574,f0f0f0f0 -34a2578,f0f0f0f0 -34a257c,ffff7f7f -34a2580,f0f0f0f0 -34a2584,f0f0f0f0 -34a2588,f0f0f0ff -34a258c,ffff7ff0 -34a2590,f0f0f0f0 -34a2594,f0f0f0f0 -34a2598,f0f0f0f0 -34a259c,fffff0f0 -34a25a0,f0f0f0f0 -34a25a4,f0f0f0f0 -34a25a8,f0f0f0f0 -34a25ac,f0f0f0f0 -34a25b0,f0f0f0f0 -34a25b4,f0f0f0f0 -34a25b8,f0f0f0f0 -34a25bc,f0f0f0f0 -34a25c0,f0f0f0f0 -34a25c4,f0f0f0f0 -34a25c8,f0f0f0f0 -34a25cc,f0f0f0f0 -34a25d0,f0f0f0f0 -34a25d4,f0f0f0f0 -34a25d8,f0f0f0f0 -34a25dc,f0f0ffff -34a25e0,ff5ff0f0 -34a25e4,f0f0f0f0 -34a25e8,f0f0f0f0 -34a25ec,f0f0ffff -34a25f0,ff5ff0f0 -34a25f4,f0f0f0f0 -34a25f8,f0f0f0f0 -34a25fc,f0f0ffff -34a2600,ff5ff0f0 -34a2604,f0f0f0f0 -34a2608,f0f0f0f0 -34a260c,f0f0ffff -34a2610,ff5ff0f0 -34a2614,f0f0f0f0 -34a2618,f0f0f0f0 -34a261c,f0f0ffff -34a2620,ff5ff0f0 -34a2624,f0f0f0f0 -34a2628,f0f0f0f0 -34a262c,f0ffffff -34a2630,5f5ff0f0 -34a2634,f0f0f0f0 -34a2638,f0f0f0f0 -34a263c,f0ffffff -34a2640,5f5ff0f0 -34a2644,f0f0f0f0 -34a2648,f0f0f0f0 -34a264c,f0ffffff -34a2650,5f5ff0f0 -34a2654,f0f0f0f0 -34a2658,f0f0f0f0 -34a265c,f0ffffff -34a2660,5f5ff0f0 -34a2664,f0f0f0f0 -34a2668,f0f0f0f0 -34a266c,ffffffff -34a2670,5ff0f0f0 -34a2674,f0f0f0f0 -34a2678,f0f0f0f0 -34a267c,ffffff5f -34a2680,5ff0f0f0 -34a2684,f0f0f0f0 -34a2688,f0f0f0f0 -34a268c,ffffff5f -34a2690,f0f0f0f0 -34a2694,f0f0f0f0 -34a2698,f0f0f0f0 -34a269c,ffffff5f -34a26a0,f0f0f0f0 -34a26a4,f0f0f0f0 -34a26a8,f0f0f0f0 -34a26ac,f0f0fff0 -34a26b0,f0f0f0f0 -34a26b4,f0f0f0f0 -34a26b8,f0f0f0f0 -34a26bc,f0f0f0f0 -34a26c0,f0f0f0f0 -34a26c4,f0f0f0f0 -34a26c8,f0f0f0f0 -34a26cc,f0f0f0f0 -34a26d0,f0f0f0f0 -34a26d4,f0f0f0f0 -34a26d8,f0f0f0f0 -34a26dc,f0f0ffff -34a26e0,fffff0f0 -34a26e4,f0f0f0f0 -34a26e8,f0f0f0f0 -34a26ec,f0f0ffff -34a26f0,fffff0f0 -34a26f4,f0f0f0f0 -34a26f8,f0f0f0f0 -34a26fc,f0f0ffff -34a2700,ff3ff0f0 -34a2704,f0f0f0f0 -34a2708,f0f0f0f0 -34a270c,f0f0ffff -34a2710,ff3ff0f0 -34a2714,f0f0f0f0 -34a2718,f0f0f0f0 -34a271c,f0f0ffff -34a2720,ff3ff0f0 -34a2724,f0f0f0f0 -34a2728,f0f0f0f0 -34a272c,f0f0ffff -34a2730,ff3ff0f0 -34a2734,f0f0f0f0 -34a2738,f0f0f0f0 -34a273c,f0f0ffff -34a2740,ff3ff0f0 -34a2744,f0f0f0f0 -34a2748,f0f0f0f0 -34a274c,f0ffffff -34a2750,ff3ff0f0 -34a2754,f0f0f0f0 -34a2758,f0f0f0f0 -34a275c,f0ffffff -34a2760,fff0f0f0 -34a2764,f0f0f0f0 -34a2768,f0f0f0f0 -34a276c,f0ffffff -34a2770,fff0f0f0 -34a2774,f0f0f0f0 -34a2778,f0f0f0f0 -34a277c,f0ffffff -34a2780,fff0f0f0 -34a2784,f0f0f0f0 -34a2788,f0f0f0f0 -34a278c,f0ffffff -34a2790,fff0f0f0 -34a2794,f0f0f0f0 -34a2798,f0f0f0f0 -34a279c,f0ffffff -34a27a0,fff0f0f0 -34a27a4,f0f0f0f0 -34a27a8,f0f0f0f0 -34a27ac,f0f0f0ff -34a27b0,f0f0f0f0 -34a27b4,f0f0f0f0 -34a27b8,f0f0f0f0 -34a27bc,f0f0f0f0 -34a27c0,f0f0f0f0 -34a27c4,f0f0f0f0 -34a27c8,f0f0f0f0 -34a27cc,f0f0f0f0 -34a27d0,f0f0f0f0 -34a27d4,f0f0f0f0 -34a27d8,f0f0f0f0 -34a27dc,f0f0ffff -34a27e0,fffff0f0 -34a27e4,f0f0f0f0 -34a27e8,f0f0f0f0 -34a27ec,f0f0ffff -34a27f0,fffff0f0 -34a27f4,f0f0f0f0 -34a27f8,f0f0f0f0 -34a27fc,f0f0ffff -34a2800,fffff0f0 -34a2804,f0f0f0f0 -34a2808,f0f0f0f0 -34a280c,f0f0ffff -34a2810,fffff0f0 -34a2814,f0f0f0f0 -34a2818,f0f0f0f0 -34a281c,f0f0ffff -34a2820,fffff0f0 -34a2824,f0f0f0f0 -34a2828,f0f0f0f0 -34a282c,f0f0ffff -34a2830,fffff0f0 -34a2834,f0f0f0f0 -34a2838,f0f0f0f0 -34a283c,f0f0ffff -34a2840,fffff0f0 -34a2844,f0f0f0f0 -34a2848,f0f0f0f0 -34a284c,f0f0ffff -34a2850,fffff0f0 -34a2854,f0f0f0f0 -34a2858,f0f0f0f0 -34a285c,f0f0ffff -34a2860,fffff0f0 -34a2864,f0f0f0f0 -34a2868,f0f0f0f0 -34a286c,f0f0ffff -34a2870,fffff0f0 -34a2874,f0f0f0f0 -34a2878,f0f0f0f0 -34a287c,f0f0ffff -34a2880,fffff0f0 -34a2884,f0f0f0f0 -34a2888,f0f0f0f0 -34a288c,f0f0ffff -34a2890,fffff0f0 -34a2894,f0f0f0f0 -34a2898,f0f0f0f0 -34a289c,f0f0ffff -34a28a0,fffff0f0 -34a28a4,f0f0f0f0 -34a28a8,f0f0f0f0 -34a28ac,f0f0ffff -34a28b0,fffff0f0 -34a28b4,f0f0f0f0 -34a28b8,f0f0f0f0 -34a28bc,f0f0f0f0 -34a28c0,f0f0f0f0 -34a28c4,f0f0f0f0 -34a28c8,f0f0f0f0 -34a28cc,f0f0f0f0 -34a28d0,f0f0f0f0 -34a28d4,f0f0f0f0 -34a28d8,f0f0f0f0 -34a28dc,f0f0ffff -34a28e0,fffff0f0 -34a28e4,f0f0f0f0 -34a28e8,f0f0f0f0 -34a28ec,f0f0ffff -34a28f0,fffff0f0 -34a28f4,f0f0f0f0 -34a28f8,f0f0f0f0 -34a28fc,f0f03fff -34a2900,fffff0f0 -34a2904,f0f0f0f0 -34a2908,f0f0f0f0 -34a290c,f0f03fff -34a2910,fffff0f0 -34a2914,f0f0f0f0 -34a2918,f0f0f0f0 -34a291c,f0f03fff -34a2920,fffff0f0 -34a2924,f0f0f0f0 -34a2928,f0f0f0f0 -34a292c,f0f03fff -34a2930,fffff0f0 -34a2934,f0f0f0f0 -34a2938,f0f0f0f0 -34a293c,f0f03fff -34a2940,fffff0f0 -34a2944,f0f0f0f0 -34a2948,f0f0f0f0 -34a294c,f0f03fff -34a2950,fffffff0 -34a2954,f0f0f0f0 -34a2958,f0f0f0f0 -34a295c,f0f0f0ff -34a2960,fffffff0 -34a2964,f0f0f0f0 -34a2968,f0f0f0f0 -34a296c,f0f0f0ff -34a2970,fffffff0 -34a2974,f0f0f0f0 -34a2978,f0f0f0f0 -34a297c,f0f0f0ff -34a2980,fffffff0 -34a2984,f0f0f0f0 -34a2988,f0f0f0f0 -34a298c,f0f0f0ff -34a2990,fffffff0 -34a2994,f0f0f0f0 -34a2998,f0f0f0f0 -34a299c,f0f0f0ff -34a29a0,fffffff0 -34a29a4,f0f0f0f0 -34a29a8,f0f0f0f0 -34a29ac,f0f0f0f0 -34a29b0,fff0f0f0 -34a29b4,f0f0f0f0 -34a29b8,f0f0f0f0 -34a29bc,f0f0f0f0 -34a29c0,f0f0f0f0 -34a29c4,f0f0f0f0 -34a29c8,f0f0f0f0 -34a29cc,f0f0f0f0 -34a29d0,f0f0f0f0 -34a29d4,f0f0f0f0 -34a29d8,f0f0f0f0 -34a29dc,f0f05fff -34a29e0,fffff0f0 -34a29e4,f0f0f0f0 -34a29e8,f0f0f0f0 -34a29ec,f0f05fff -34a29f0,fffff0f0 -34a29f4,f0f0f0f0 -34a29f8,f0f0f0f0 -34a29fc,f0f05fff -34a2a00,fffff0f0 -34a2a04,f0f0f0f0 -34a2a08,f0f0f0f0 -34a2a0c,f0f05fff -34a2a10,fffff0f0 -34a2a14,f0f0f0f0 -34a2a18,f0f0f0f0 -34a2a1c,f0f05fff -34a2a20,fffff0f0 -34a2a24,f0f0f0f0 -34a2a28,f0f0f0f0 -34a2a2c,f0f05f5f -34a2a30,fffffff0 -34a2a34,f0f0f0f0 -34a2a38,f0f0f0f0 -34a2a3c,f0f05f5f -34a2a40,fffffff0 -34a2a44,f0f0f0f0 -34a2a48,f0f0f0f0 -34a2a4c,f0f05f5f -34a2a50,fffffff0 -34a2a54,f0f0f0f0 -34a2a58,f0f0f0f0 -34a2a5c,f0f05f5f -34a2a60,fffffff0 -34a2a64,f0f0f0f0 -34a2a68,f0f0f0f0 -34a2a6c,f0f0f05f -34a2a70,ffffffff -34a2a74,f0f0f0f0 -34a2a78,f0f0f0f0 -34a2a7c,f0f0f05f -34a2a80,5fffffff -34a2a84,f0f0f0f0 -34a2a88,f0f0f0f0 -34a2a8c,f0f0f0f0 -34a2a90,5fffffff -34a2a94,f0f0f0f0 -34a2a98,f0f0f0f0 -34a2a9c,f0f0f0f0 -34a2aa0,5fffffff -34a2aa4,f0f0f0f0 -34a2aa8,f0f0f0f0 -34a2aac,f0f0f0f0 -34a2ab0,f0fff0f0 -34a2ab4,f0f0f0f0 -34a2ab8,f0f0f0f0 -34a2abc,f0f0f0f0 -34a2ac0,f0f0f0f0 -34a2ac4,f0f0f0f0 -34a2ac8,f0f0f0f0 -34a2acc,f0f0f0f0 -34a2ad0,f0f0f0f0 -34a2ad4,f0f0f0f0 -34a2ad8,f0f0f0f0 -34a2adc,f0f07fff -34a2ae0,fff0f0f0 -34a2ae4,f0f0f0f0 -34a2ae8,f0f0f0f0 -34a2aec,f0f07fff -34a2af0,fffff0f0 -34a2af4,f0f0f0f0 -34a2af8,f0f0f0f0 -34a2afc,f0f07fff -34a2b00,fffff0f0 -34a2b04,f0f0f0f0 -34a2b08,f0f0f0f0 -34a2b0c,f0f07f7f -34a2b10,fffff0f0 -34a2b14,f0f0f0f0 -34a2b18,f0f0f0f0 -34a2b1c,f0f07f7f -34a2b20,fffffff0 -34a2b24,f0f0f0f0 -34a2b28,f0f0f0f0 -34a2b2c,f0f07f7f -34a2b30,fffffff0 -34a2b34,f0f0f0f0 -34a2b38,f0f0f0f0 -34a2b3c,f07f7f7f -34a2b40,7ffffff0 -34a2b44,f0f0f0f0 -34a2b48,f0f0f0f0 -34a2b4c,f06f7f7f -34a2b50,7fffffff -34a2b54,f0f0f0f0 -34a2b58,f0f0f0f0 -34a2b5c,f06f6f7f -34a2b60,7fffffff -34a2b64,f0f0f0f0 -34a2b68,f0f0f0f0 -34a2b6c,f0f06f7f -34a2b70,7fffffff -34a2b74,f0f0f0f0 -34a2b78,f0f0f0f0 -34a2b7c,f0f0f0f0 -34a2b80,7f7fffff -34a2b84,f0f0f0f0 -34a2b88,f0f0f0f0 -34a2b8c,f0f0f0f0 -34a2b90,f07fffff -34a2b94,fff0f0f0 -34a2b98,f0f0f0f0 -34a2b9c,f0f0f0f0 -34a2ba0,f0f0ffff -34a2ba4,f0f0f0f0 -34a2ba8,f0f0f0f0 -34a2bac,f0f0f0f0 -34a2bb0,f0f0f0f0 -34a2bb4,f0f0f0f0 -34a2bb8,f0f0f0f0 -34a2bbc,f0f0f0f0 -34a2bc0,f0f0f0f0 -34a2bc4,f0f0f0f0 -34a2bc8,f0f0f0f0 -34a2bcc,f0f0f0f0 -34a2bd0,f0f0f0f0 -34a2bd4,f0f0f0f0 -34a2bd8,f0f0f0f0 -34a2bdc,f0f09fff -34a2be0,fff0f0f0 -34a2be4,f0f0f0f0 -34a2be8,f0f0f0f0 -34a2bec,f0f09fff -34a2bf0,fffff0f0 -34a2bf4,f0f0f0f0 -34a2bf8,f0f0f0f0 -34a2bfc,f0f09f9f -34a2c00,fffff0f0 -34a2c04,f0f0f0f0 -34a2c08,f0f0f0f0 -34a2c0c,f0f09f9f -34a2c10,fffff0f0 -34a2c14,f0f0f0f0 -34a2c18,f0f0f0f0 -34a2c1c,f09f9f9f -34a2c20,9fffeff0 -34a2c24,f0f0f0f0 -34a2c28,f0f0f0f0 -34a2c2c,f08f9f9f -34a2c30,9fefeff0 -34a2c34,f0f0f0f0 -34a2c38,f0f0f0f0 -34a2c3c,f08f8f9f -34a2c40,9fefeff0 -34a2c44,f0f0f0f0 -34a2c48,f0f0f0f0 -34a2c4c,f08f8f8f -34a2c50,9f9fefef -34a2c54,f0f0f0f0 -34a2c58,f0f0f0f0 -34a2c5c,f08f8f8f -34a2c60,8f9fefef -34a2c64,f0f0f0f0 -34a2c68,f0f0f0f0 -34a2c6c,f0f08f8f -34a2c70,8f8fefef -34a2c74,eff0f0f0 -34a2c78,f0f0f0f0 -34a2c7c,f0f0f0f0 -34a2c80,8f8f8fef -34a2c84,eff0f0f0 -34a2c88,f0f0f0f0 -34a2c8c,f0f0f0f0 -34a2c90,f08f8fef -34a2c94,eff0f0f0 -34a2c98,f0f0f0f0 -34a2c9c,f0f0f0f0 -34a2ca0,f0f0f08f -34a2ca4,f0f0f0f0 -34a2ca8,f0f0f0f0 -34a2cac,f0f0f0f0 -34a2cb0,f0f0f0f0 -34a2cb4,f0f0f0f0 -34a2cb8,f0f0f0f0 -34a2cbc,f0f0f0f0 -34a2cc0,f0f0f0f0 -34a2cc4,f0f0f0f0 -34a2cc8,f0f0f0f0 -34a2ccc,f0f0f0f0 -34a2cd0,f0f0f0f0 -34a2cd4,f0f0f0f0 -34a2cd8,f0f0f0f0 -34a2cdc,f0f0f0ef -34a2ce0,eff0f0f0 -34a2ce4,f0f0f0f0 -34a2ce8,f0f0f0f0 -34a2cec,f0f0bfbf -34a2cf0,eff0f0f0 -34a2cf4,f0f0f0f0 -34a2cf8,f0f0f0f0 -34a2cfc,f0f0bfbf -34a2d00,dfdff0f0 -34a2d04,f0f0f0f0 -34a2d08,f0f0f0f0 -34a2d0c,f0f0afbf -34a2d10,bfdff0f0 -34a2d14,f0f0f0f0 -34a2d18,f0f0f0f0 -34a2d1c,f0afafaf -34a2d20,afdfdff0 -34a2d24,f0f0f0f0 -34a2d28,f0f0f0f0 -34a2d2c,f0afafaf -34a2d30,afafdff0 -34a2d34,f0f0f0f0 -34a2d38,f0f0f0f0 -34a2d3c,f0afafaf -34a2d40,afafdfdf -34a2d44,f0f0f0f0 -34a2d48,f0f0f0f0 -34a2d4c,9fafafaf -34a2d50,afafdfdf -34a2d54,f0f0f0f0 -34a2d58,f0f0f0f0 -34a2d5c,9f9fafaf -34a2d60,afafafcf -34a2d64,f0f0f0f0 -34a2d68,f0f0f0f0 -34a2d6c,f0f09f9f -34a2d70,afafafcf -34a2d74,cff0f0f0 -34a2d78,f0f0f0f0 -34a2d7c,f0f0f0f0 -34a2d80,9fafafaf -34a2d84,cff0f0f0 -34a2d88,f0f0f0f0 -34a2d8c,f0f0f0f0 -34a2d90,f0f0f0af -34a2d94,cff0f0f0 -34a2d98,f0f0f0f0 -34a2d9c,f0f0f0f0 -34a2da0,f0f0f0f0 -34a2da4,f0f0f0f0 -34a2da8,f0f0f0f0 -34a2dac,f0f0f0f0 -34a2db0,f0f0f0f0 -34a2db4,f0f0f0f0 -34a2db8,f0f0f0f0 -34a2dbc,f0f0f0f0 -34a2dc0,f0f0f0f0 -34a2dc4,f0f0f0f0 -34a2dc8,f0f0f0f0 -34a2dcc,f0f0f0f0 -34a2dd0,f0f0f0f0 -34a2dd4,f0f0f0f0 -34a2dd8,f0f0f0f0 -34a2ddc,f0f0f0cf -34a2de0,cff0f0f0 -34a2de4,f0f0f0f0 -34a2de8,f0f0f0f0 -34a2dec,f0f0cfcf -34a2df0,cff0f0f0 -34a2df4,f0f0f0f0 -34a2df8,f0f0f0f0 -34a2dfc,f0f0cfcf -34a2e00,cfbff0f0 -34a2e04,f0f0f0f0 -34a2e08,f0f0f0f0 -34a2e0c,f0f0cfcf -34a2e10,cfbff0f0 -34a2e14,f0f0f0f0 -34a2e18,f0f0f0f0 -34a2e1c,f0bfbfbf -34a2e20,cfcfbff0 -34a2e24,f0f0f0f0 -34a2e28,f0f0f0f0 -34a2e2c,f0bfbfbf -34a2e30,bfbfbff0 -34a2e34,f0f0f0f0 -34a2e38,f0f0f0f0 -34a2e3c,bfbfbfbf -34a2e40,bfbfbfbf -34a2e44,f0f0f0f0 -34a2e48,f0f0f0f0 -34a2e4c,bfbfbfbf -34a2e50,bfbfbfbf -34a2e54,f0f0f0f0 -34a2e58,f0f0f0f0 -34a2e5c,afafbfbf -34a2e60,bfbfbfbf -34a2e64,f0f0f0f0 -34a2e68,f0f0f0f0 -34a2e6c,f0afafaf -34a2e70,bfbfbfbf -34a2e74,aff0f0f0 -34a2e78,f0f0f0f0 -34a2e7c,f0f0f0f0 -34a2e80,f0afbfbf -34a2e84,bff0f0f0 -34a2e88,f0f0f0f0 -34a2e8c,f0f0f0f0 -34a2e90,f0f0f0f0 -34a2e94,f0f0f0f0 -34a2e98,f0f0f0f0 -34a2e9c,f0f0f0f0 -34a2ea0,f0f0f0f0 -34a2ea4,f0f0f0f0 -34a2ea8,f0f0f0f0 -34a2eac,f0f0f0f0 -34a2eb0,f0f0f0f0 -34a2eb4,f0f0f0f0 -34a2eb8,f0f0f0f0 -34a2ebc,f0f0f0f0 -34a2ec0,f0f0f0f0 -34a2ec4,f0f0f0f0 -34a2ec8,f0f0f0f0 -34a2ecc,f0f0f0f0 -34a2ed0,f0f0f0f0 -34a2ed4,f0f0f0f0 -34a2ed8,f0f0f0f0 -34a2edc,f0f0f0df -34a2ee0,f0f0f0f0 -34a2ee4,f0f0f0f0 -34a2ee8,f0f0f0f0 -34a2eec,f0f0f0df -34a2ef0,dff0f0f0 -34a2ef4,f0f0f0f0 -34a2ef8,f0f0f0f0 -34a2efc,f0f0cfdf -34a2f00,dff0f0f0 -34a2f04,f0f0f0f0 -34a2f08,f0f0f0f0 -34a2f0c,f0f0cfcf -34a2f10,cfcff0f0 -34a2f14,f0f0f0f0 -34a2f18,f0f0f0f0 -34a2f1c,f0cfcfcf -34a2f20,cfcff0f0 -34a2f24,f0f0f0f0 -34a2f28,f0f0f0f0 -34a2f2c,f0cfcfcf -34a2f30,cfcfcff0 -34a2f34,f0f0f0f0 -34a2f38,f0f0f0f0 -34a2f3c,cfcfcfcf -34a2f40,cfcfcff0 -34a2f44,f0f0f0f0 -34a2f48,f0f0f0f0 -34a2f4c,bfbfcfcf -34a2f50,cfcfcfcf -34a2f54,f0f0f0f0 -34a2f58,f0f0f0f0 -34a2f5c,bfbfbfbf -34a2f60,bfbfbfbf -34a2f64,f0f0f0f0 -34a2f68,f0f0f0bf -34a2f6c,bfbfbfbf -34a2f70,bfbfbfbf -34a2f74,bff0f0f0 -34a2f78,f0f0f0f0 -34a2f7c,f0f0f0f0 -34a2f80,f0f0bfbf -34a2f84,bff0f0f0 -34a2f88,f0f0f0f0 -34a2f8c,f0f0f0f0 -34a2f90,f0f0f0f0 -34a2f94,f0f0f0f0 -34a2f98,f0f0f0f0 -34a2f9c,f0f0f0f0 -34a2fa0,f0f0f0f0 -34a2fa4,f0f0f0f0 -34a2fa8,f0f0f0f0 -34a2fac,f0f0f0f0 -34a2fb0,f0f0f0f0 -34a2fb4,f0f0f0f0 -34a2fb8,f0f0f0f0 -34a2fbc,f0f0f0f0 -34a2fc0,f0f0f0f0 -34a2fc4,f0f0f0f0 -34a2fc8,f0f0f0f0 -34a2fcc,f0f0f0f0 -34a2fd0,f0f0f0f0 -34a2fd4,f0f0f0f0 -34a2fd8,f0f0f0f0 -34a2fdc,f0f0f0df -34a2fe0,dff0f0f0 -34a2fe4,f0f0f0f0 -34a2fe8,f0f0f0f0 -34a2fec,f0f0f0df -34a2ff0,dff0f0f0 -34a2ff4,f0f0f0f0 -34a2ff8,f0f0f0f0 -34a2ffc,f0f0dfdf -34a3000,dfdff0f0 -34a3004,f0f0f0f0 -34a3008,f0f0f0f0 -34a300c,f0f0dfdf -34a3010,dfdff0f0 -34a3014,f0f0f0f0 -34a3018,f0f0f0f0 -34a301c,f0f0cfcf -34a3020,cfcff0f0 -34a3024,f0f0f0f0 -34a3028,f0f0f0f0 -34a302c,f0cfcfcf -34a3030,cfcfcff0 -34a3034,f0f0f0f0 -34a3038,f0f0f0f0 -34a303c,f0cfcfcf -34a3040,cfcfcff0 -34a3044,f0f0f0f0 -34a3048,f0f0f0f0 -34a304c,cfcfcfcf -34a3050,cfcfcfcf -34a3054,f0f0f0f0 -34a3058,f0f0f0f0 -34a305c,cfcfcfcf -34a3060,cfcfcfcf -34a3064,f0f0f0f0 -34a3068,f0f0f0bf -34a306c,bfbfbfbf -34a3070,bfbfbfbf -34a3074,bff0f0f0 -34a3078,f0f0f0f0 -34a307c,f0f0f0f0 -34a3080,f0f0f0f0 -34a3084,f0f0f0f0 -34a3088,f0f0f0f0 -34a308c,f0f0f0f0 -34a3090,f0f0f0f0 -34a3094,f0f0f0f0 -34a3098,f0f0f0f0 -34a309c,f0f0f0f0 -34a30a0,f0f0f0f0 -34a30a4,f0f0f0f0 -34a30a8,f0f0f0f0 -34a30ac,f0f0f0f0 -34a30b0,f0f0f0f0 -34a30b4,f0f0f0f0 -34a30b8,f0f0f0f0 -34a30bc,f0f0f0f0 -34a30c0,f0f0f0f0 -34a30c4,f0f0f0f0 -34a30c8,8041fcf0 -34a30cc,a -34a30d0,486f6f6b -34a30d4,73686f74 -34a30ec,100 -34a30f0,b4c6f -34a30f4,6e677368 -34a30f8,6f740000 -34a3110,2000003 -34a3114,426f7700 -34a3130,300 -34a3134,4d426f -34a3138,6d622062 -34a313c,61670000 -34a3154,400003e -34a3158,44656b75 -34a315c,20536869 -34a3160,656c6400 -34a3174,500 -34a3178,3f4879 -34a317c,6c69616e -34a3180,20536869 -34a3184,656c6400 -34a3198,6000040 -34a319c,4d697272 -34a31a0,6f722053 -34a31a4,6869656c -34a31a8,64000000 -34a31b8,700 -34a31bc,74f63 -34a31c0,6172696e -34a31c4,61000000 -34a31dc,8000009 -34a31e0,426f6d62 -34a31e4,63687500 -34a31fc,900 -34a3200,e426f -34a3204,6f6d6572 -34a3208,616e6700 -34a3220,a000011 -34a3224,48616d6d -34a3228,65720000 -34a3240,b00 -34a3244,14426f -34a3248,74746c65 -34a3264,c00003b -34a3268,4b530000 -34a3284,d00 -34a3288,3d4247 -34a328c,53000000 -34a32a8,e000045 -34a32ac,49726f6e -34a32b0,73000000 -34a32c8,f00 -34a32cc,46486f -34a32d0,76657273 -34a32ec,10000050 -34a32f0,53747231 -34a330c,1100 -34a3310,515374 -34a3314,72320000 -34a3330,12000052 -34a3334,53747233 -34a3350,1300 -34a3354,535363 -34a3358,616c6500 -34a3374,14000066 -34a3378,466f7265 -34a337c,7374204d -34a3380,65640000 -34a3394,1500 -34a3398,674669 -34a339c,7265204d -34a33a0,65640000 -34a33b8,16000068 -34a33bc,57617465 -34a33c0,72204d65 -34a33c4,64000000 -34a33d8,1700 -34a33dc,695370 -34a33e0,69726974 -34a33e4,204d6564 -34a33fc,1800006a -34a3400,53686164 -34a3404,6f77204d -34a3408,65640000 -34a341c,1900 -34a3420,6b4c69 -34a3424,67687420 -34a3428,4d656400 -34a3440,1a00006c -34a3444,456d6572 -34a3448,616c6400 -34a3460,1b00 -34a3464,6d5275 -34a3468,62790000 -34a3484,1c00006e -34a3488,53617070 -34a348c,68697265 -34a34a8,40f -34a34ac,476f686d -34a34b0,61000000 -34a34c8,100 -34a34cc,40b4b44 -34a34ec,2000301 -34a34f0,42617269 -34a350c,300 -34a3510,c5047 -34a3530,4000305 -34a3534,566f6c76 -34a3550,500 -34a3554,4174d6f -34a3558,72706800 -34a3574,6000413 -34a3578,426f6e67 -34a357c,6f000000 -34a3594,700 -34a3598,8d5477 -34a359c,696e0000 -34a35b8,800041f -34a35bc,47616e6f -34a35c0,6e646f72 -34a35c4,66000000 -34a35d8,900 -34a35dc,5174761 -34a35e0,6e6f6e00 -34a35fc,443 -34a3600,4b460000 -34a361c,100 -34a3620,11e4c57 -34a3640,20000fc -34a3644,53464d00 -34a3660,300 -34a3664,1574c4c -34a3668,52000000 -34a3684,40000b1 -34a3688,4d61726b -34a368c,65740000 -34a36a4,500 -34a36a8,1384843 -34a36ac,2f4f4743 -34a36c8,60000db -34a36cc,4b616b00 -34a36e8,700 -34a36ec,e44759 -34a370c,800013d -34a3710,444d5420 -34a3714,284b616b -34a3718,29000000 -34a372c,900 -34a3730,1bd444d -34a3734,54202843 -34a3738,72617465 -34a373c,72290000 -34a3750,a00014d -34a3754,476f726f -34a3758,6e204369 -34a375c,74790000 -34a3770,b00 -34a3774,ea5a52 -34a3794,c000108 -34a3798,5a440000 -34a37b4,d00 -34a37b8,2255a46 -34a37d8,e000102 -34a37dc,4c480000 -34a37f8,f00 -34a37fc,1174756 -34a381c,10000129 -34a3820,47460000 -34a383c,1100 -34a3840,1304857 -34a3860,12000123 -34a3864,436f6c6f -34a3868,73737573 -34a3888,44656b75 -34a38a4,100 -34a38a8,4446f -34a38ac,646f6e67 -34a38b0,6f000000 -34a38c8,2000028 -34a38cc,4a616275 -34a38e8,300 -34a38ec,169466f -34a38f0,72657374 -34a390c,4000165 -34a3910,46697265 -34a392c,500 -34a3930,105761 -34a3934,74657200 -34a3950,6000037 -34a3954,53686164 -34a3958,6f770000 -34a3970,700 -34a3974,825370 -34a3978,69726974 -34a3994,8000098 -34a3998,426f7457 -34a39b4,900 -34a39b8,884963 -34a39bc,65000000 -34a39d8,a000486 -34a39dc,48696465 -34a39e0,6f757400 -34a39f8,b00 -34a39fc,84754 -34a3a00,47000000 -34a3a1c,c000467 -34a3a20,47616e6f -34a3a24,6e204361 -34a3a28,73746c65 -34a3a40,44756e -34a3a44,67656f6e -34a3a48,73000000 -34a3a50,14f7665 -34a3a54,72776f72 -34a3a58,6c640000 -34a3a60,2426f73 -34a3a64,73657300 -34a3a70,3497465 -34a3a74,6d730000 -34a3a80,4537769 -34a3a84,74636820 -34a3a88,41676500 -34a3a90,542756e -34a3a94,6e792048 -34a3a98,6f6f6400 -34a3aa0,5000000 -34a3aa4,e0e01000 -34a3aa8,10208 -34a3aac,3040507 -34a3ab0,6000000 -34a3ab4,5c8c800 -34a3ab8,ff00 -34a3abc,1ff3c00 -34a3ac0,20064ff -34a3ac4,4c832ff -34a3ac8,3ff8200 -34a3acc,100f44 -34a3ad0,656b7500 -34a3ad8,ffff -34a3adc,ffffffff -34a3ae0,ffff0110 -34a3ae4,1f446f64 -34a3ae8,6f6e676f -34a3af0,ffffffff -34a3af4,ffffff -34a3af8,2100f4a -34a3afc,61627500 -34a3b04,ffff -34a3b08,ffffffff -34a3b0c,ffff03d0 -34a3b10,1f466f72 -34a3b14,65737400 -34a3b1c,ffffffff -34a3b20,ffffffff -34a3b24,4d01f46 -34a3b28,69726500 -34a3b30,ffff -34a3b34,ffffffff -34a3b38,ffff05d0 -34a3b3c,1f576174 -34a3b40,65720000 -34a3b48,ffffffff -34a3b4c,ffffffff -34a3b50,7d01f53 -34a3b54,6861646f -34a3b58,77000000 -34a3b5c,406 -34a3b60,7ff0405 -34a3b64,60706d0 -34a3b68,1f537069 -34a3b6c,72697400 -34a3b74,b0e0cff -34a3b78,d0fffff -34a3b7c,8900742 -34a3b80,6f745700 -34a3b88,3ff -34a3b8c,ffffffff -34a3b90,ffff0910 -34a3b94,7496365 -34a3ba0,102ffff -34a3ba4,ffffffff -34a3ba8,ca00048 -34a3bac,6964656f -34a3bb0,75740000 -34a3bb4,ffff -34a3bb8,ffffffff -34a3bbc,ffff0b80 -34a3bc0,475447 -34a3bcc,8090aff -34a3bd0,8090aff -34a3bd4,dc00047 -34a3bd8,616e6f6e -34a3be0,1011 -34a3be4,12151213 -34a3be8,14ff1080 -34a3bec,436865 -34a3bf0,73742047 -34a3bf4,616d6500 -34a3bf8,ffffffff -34a3bfc,ffffffff -34a3c00,d -34a3c08,3f000000 -34a3c14,3f000000 -34a3c1c,ffffff00 -34a3c20,ffff00 -34a3c24,ffff0000 -34a3c28,ff00 -34a3c2c,ff000000 -34a3c30,2 -34a3c38,3f800000 -34a3c44,41200000 -34a3c48,41200000 -34a3c4c,500080d -34a3c50,1051508 -34a3c54,d01052a -34a3c58,80d0127 -34a3c5c,27031000 -34a3c60,33270010 -34a3c64,4d510b -34a3c68,2000000 -34a3c6c,c004e00 -34a3c70,c015a00 -34a3c74,c026600 -34a3c78,c037200 -34a3c7c,c047e00 -34a3c80,c058a00 -34a3c84,c064e0c -34a3c88,75a0c -34a3c8c,c09660c -34a3c90,a720c -34a3c94,c0c7e0c -34a3c98,c0d8a0c -34a3c9c,c0e4e18 -34a3ca0,c0f5a18 -34a3ca4,c106618 -34a3ca8,c117218 -34a3cac,c127e18 -34a3cb0,c138a18 -34a3cb4,ffff -34a3cb8,ffff -34a3cbc,ffff -34a3cc0,ffff -34a3cc4,ffff -34a3cc8,ffff -34a3ccc,ffff -34a3cd0,ffff -34a3cd4,ffff -34a3cd8,ffff -34a3cdc,ffff -34a3ce0,ffff -34a3ce4,ffff -34a3ce8,ffff -34a3cec,c3b7e2a -34a3cf0,c3c8a2a -34a3cf4,c3d962a -34a3cf8,ffff -34a3cfc,c3e7e36 -34a3d00,b3f8b37 -34a3d04,b409737 -34a3d08,ffff -34a3d0c,c417e42 -34a3d10,c428a42 -34a3d14,c439642 -34a3d18,ffff -34a3d1c,c447e4f -34a3d20,c458a4f -34a3d24,c46964f -34a3d28,ffff -34a3d2c,c149600 -34a3d30,ffff -34a3d34,2c061b31 -34a3d38,2c072931 -34a3d3c,2c083731 -34a3d40,2a096f51 -34a3d44,2c0a722a -34a3d48,ffff -34a3d4c,2c00370a -34a3d50,2c01371a -34a3d54,2c022922 -34a3d58,2c031b1a -34a3d5c,2c041b0a -34a3d60,2c052902 -34a3d64,ffff -34a3d68,ffff -34a3d6c,1 -34a3d70,30006 -34a3d74,70009 -34a3d78,b000e -34a3d7c,f0010 -34a3d80,110019 -34a3d84,1a002b -34a3d88,2c002e -34a3d8c,300032 -34a3d90,35003c -34a3d94,400041 -34a3d98,460051 -34a3d9c,540109 -34a3da0,10b010c -34a3da4,10e010f -34a3da8,1100113 -34a3dac,80423ed0 -34a3db0,80423ec0 -34a3db8,1 -34a3dbc,1 -34a3dc0,2 -34a3dc4,1 -34a3dc8,2 -34a3dcc,2 -34a3dd0,3 -34a3dd4,1 -34a3dd8,2 -34a3ddc,2 -34a3de0,3 -34a3de4,2 -34a3de8,3 -34a3dec,3 -34a3df0,4 -34a3df4,84858683 -34a3df8,8e960000 -34a3dfc,9293948e -34a3e00,8c007978 -34a3e04,58000000 -34a3e08,87000000 -34a3e14,100010 -34a3e18,a0400 -34a3e1c,1000000 -34a3e24,100010 -34a3e28,50301 -34a3e2c,1000000 -34a3e34,100010 -34a3e38,a0301 -34a3e3c,1000000 -34a3e44,100010 -34a3e48,20002 -34a3e4c,2000000 -34a3e54,80008 -34a3e58,a0301 -34a3e5c,1000000 -34a3e64,80010 -34a3e68,a0401 -34a3e6c,1000000 -34a3e74,100010 -34a3e78,30301 -34a3e7c,1000000 -34a3e84,100018 -34a3e88,10301 -34a3e8c,1000000 -34a3e94,100010 -34a3e98,100301 -34a3e9c,1000000 -34a3ea4,200020 -34a3ea8,10302 -34a3eac,2000000 -34a3eb4,8000e -34a3eb8,5f0301 -34a3ebc,1000000 -34a3ec4,180018 -34a3ec8,140003 -34a3ecc,4000000 -34a3ed4,200020 -34a3ed8,5a0003 -34a3edc,4000000 -34a3ee4,100010 -34a3ee8,60301 -34a3eec,1000000 -34a3ef4,100010 -34a3ef8,30003 -34a3efc,4000000 -34a3f00,df000000 -34a3f08,e7000000 -34a3f10,d9000000 -34a3f18,ed000000 -34a3f1c,5003c0 -34a3f20,ef002cf0 -34a3f24,504244 -34a3f28,df000000 -34a3f30,80112f1a -34a3f34,80112f14 -34a3f38,80112f0e -34a3f3c,80112f08 -34a3f40,8011320a -34a3f44,80113204 -34a3f48,801131fe -34a3f4c,801131f8 -34a3f50,801131f2 -34a3f54,801131ec -34a3f58,801131e6 -34a3f5c,801131e0 -34a3f60,8012be1e -34a3f64,8012be20 -34a3f68,8012be1c -34a3f6c,8012be12 -34a3f70,8012be14 -34a3f74,8012be10 -34a3f78,801c7672 -34a3f7c,801c767a -34a3f80,801c7950 -34a3f84,8011bd50 -34a3f88,8011bd38 -34a3f8c,801d8b9e -34a3f90,801d8b92 -34a3f98,e7000000 -34a3fa0,fa000080 -34a3fa4,ffffffff -34a3fa8,fb000000 -34a3fac,5b3312ff -34a3fb0,df000000 -34a3fb8,e7000000 -34a3fc0,fa000060 -34a3fc4,ffffffff -34a3fc8,fb000000 -34a3fcc,ff7b00ff -34a3fd0,df000000 -34a3fd8,80414098 -34a3fdc,6000670 -34a3fe0,6000750 -34a3ffc,80415da8 -34a4000,6000800 -34a4004,ffffffff -34a4008,3c505aff -34a4020,80415c6c -34a4024,6000ae0 -34a4028,c800ff -34a4044,80415c6c -34a4048,6000ae0 -34a404c,ff3200ff -34a4068,80415c6c -34a406c,6000ae0 -34a4070,96ffff -34a408c,80415c6c -34a4090,6000ae0 -34a4094,ff9600ff -34a40b0,80415c6c -34a40b4,6000ae0 -34a40b8,c832ffff -34a40d4,80415c6c -34a40d8,6000ae0 -34a40dc,c8ff00ff -34a40f8,80414b54 -34a40fc,60000e0 -34a411c,80416120 -34a4120,6000ca0 -34a4124,6000f08 -34a4128,ffaaffff -34a412c,ff0064ff -34a4130,ffffffff -34a4134,8c7800ff -34a4138,6e7467ff -34a413c,262724ff -34a4140,80413a50 -34a4144,6000960 -34a4148,6000c50 -34a4164,804138ec -34a4168,6000cb0 -34a416c,6000e18 -34a4188,804138ec -34a418c,6001af0 -34a4190,6000e18 -34a41ac,804138ec -34a41b0,6002830 -34a41b4,6000e18 -34a41d0,804138ec -34a41d4,6003610 -34a41d8,6000e18 -34a41f4,804138ec -34a41f8,6004330 -34a41fc,6000e18 -34a4218,804138ec -34a421c,6005220 -34a4220,6000e18 -34a423c,80414a40 -34a4240,6000e90 -34a4260,80413fd8 -34a4264,6001290 -34a4268,6001470 -34a4284,80413fd8 -34a4288,6001290 -34a428c,6001590 -34a42a8,80413c0c -34a42ac,6000990 -34a42b0,60008d0 -34a42b4,6000930 -34a42b8,6000a80 -34a42cc,80413c0c -34a42d0,6000990 -34a42d4,60008f0 -34a42d8,6000950 -34a42dc,6000a80 -34a42f0,80413c0c -34a42f4,6000990 -34a42f8,6000910 -34a42fc,6000970 -34a4300,6000a80 -34a4314,80413c0c -34a4318,6000b90 -34a431c,6000ad0 -34a4320,6000b30 -34a4324,6000d98 -34a4338,80413c0c -34a433c,6000b90 -34a4340,6000af0 -34a4344,6000b50 -34a4348,6000d98 -34a435c,80413c0c -34a4360,6000b90 -34a4364,6000b10 -34a4368,6000b70 -34a436c,6000d98 -34a4380,80413b70 -34a4384,60004d0 -34a43a4,80413b70 -34a43a8,60003c0 -34a43c8,80413b70 -34a43cc,6000a50 -34a43ec,80413b70 -34a43f0,6000580 -34a4410,80413b70 -34a4414,6000ee0 -34a4434,80413b70 -34a4438,60009a0 -34a4458,80413b70 -34a445c,6000b70 -34a447c,80413cfc -34a4480,6001850 -34a4484,6001750 -34a4488,6001790 -34a448c,60019a0 -34a4490,60017b0 -34a4494,6001a28 -34a4498,60017d0 -34a449c,6001ad8 -34a44a0,80413cfc -34a44a4,6001850 -34a44a8,6001770 -34a44ac,60017f0 -34a44b0,60019a0 -34a44b4,6001810 -34a44b8,6001a28 -34a44bc,6001830 -34a44c0,6001ad8 -34a44c4,80413b70 -34a44c8,6000f60 -34a44e8,80413b70 -34a44ec,6000340 -34a450c,80413b70 -34a4510,6000b90 -34a4530,80413b70 -34a4534,6001830 -34a4554,80413850 -34a4558,60004b0 -34a4578,804138ec -34a457c,6000fd0 -34a4580,6001008 -34a459c,8041503c -34a45a0,6000aa0 -34a45a4,6000a20 -34a45a8,6000a60 -34a45ac,6000cc8 -34a45c0,8041503c -34a45c4,6000aa0 -34a45c8,6000a40 -34a45cc,6000a80 -34a45d0,6000cc8 -34a45e4,80413b70 -34a45e8,6000c70 -34a4608,80413b70 -34a460c,6000750 -34a462c,80413b70 -34a4630,6001240 -34a4650,80414098 -34a4654,60008c0 -34a4658,6000af8 -34a4674,80414098 -34a4678,6001060 -34a467c,6001288 -34a4698,80414098 -34a469c,6000ac0 -34a46a0,6000d50 -34a46bc,80413b70 -34a46c0,60007e0 -34a46e0,80413b70 -34a46e4,6000940 -34a4704,80413b70 -34a4708,6000a30 -34a4728,80413b70 -34a472c,6000990 -34a474c,80414098 -34a4750,6000d80 -34a4754,6001010 -34a4770,804151a8 -34a4774,6001438 -34a4778,6001270 -34a477c,60012d0 -34a4780,6001790 -34a4784,6001330 -34a4788,6001848 -34a4794,804151a8 -34a4798,6001438 -34a479c,6001290 -34a47a0,60012f0 -34a47a4,6001790 -34a47a8,6001388 -34a47ac,6001848 -34a47b8,804151a8 -34a47bc,6001438 -34a47c0,60012b0 -34a47c4,6001310 -34a47c8,6001790 -34a47cc,60013e0 -34a47d0,6001848 -34a47dc,80415378 -34a47e0,6000fb0 -34a47e4,60011c8 -34a4800,80414098 -34a4804,6000cc0 -34a4808,6000d60 -34a4824,80413c0c -34a4828,6001560 -34a482c,60014e0 -34a4830,6001520 -34a4834,6001608 -34a4848,80413c0c -34a484c,6001560 -34a4850,6001500 -34a4854,6001540 -34a4858,6001608 -34a486c,80413b70 -34a4870,6000580 -34a4890,80414c6c -34a4894,6000600 -34a48b4,80413b70 -34a48b8,60007e0 -34a48d8,80413b70 -34a48dc,60009d0 -34a48fc,80413b70 -34a4900,60008e0 -34a4920,80414938 -34a4924,6000600 -34a4944,804142dc -34a4948,6001630 -34a494c,60015f0 -34a4950,6001948 -34a4968,804141b0 -34a496c,60008e0 -34a4970,6000ae0 -34a498c,80414098 -34a4990,60008e0 -34a4994,6000b58 -34a49b0,80414098 -34a49b4,6001630 -34a49b8,6001a98 -34a49d4,80413b70 -34a49d8,6000810 -34a49f8,80414538 -34a49fc,6001540 -34a4a00,60014c0 -34a4a04,6001860 -34a4a08,6001500 -34a4a1c,80414538 -34a4a20,6001540 -34a4a24,60014e0 -34a4a28,6001860 -34a4a2c,6001520 -34a4a40,804142dc -34a4a44,60005e0 -34a4a48,6000560 -34a4a4c,6000768 -34a4a64,804142dc -34a4a68,60005e0 -34a4a6c,6000580 -34a4a70,6000768 -34a4a88,804142dc -34a4a8c,60005e0 -34a4a90,60005a0 -34a4a94,6000768 -34a4aac,804142dc -34a4ab0,60005e0 -34a4ab4,60005c0 -34a4ab8,6000768 -34a4ad0,80413b70 -34a4ad4,60009d0 -34a4af4,80414098 -34a4af8,6000bc0 -34a4afc,6000e58 -34a4b18,80414098 -34a4b1c,60013d0 -34a4b20,60016b0 -34a4b3c,80414098 -34a4b40,6000680 -34a4b44,6000768 -34a4b60,80413b70 -34a4b64,60008b0 -34a4b84,80413b70 -34a4b88,60009d0 -34a4ba8,80414098 -34a4bac,6000f00 -34a4bb0,6001188 -34a4bcc,80414938 -34a4bd0,60006e0 -34a4bf0,80414098 -34a4bf4,60009c0 -34a4bf8,6000af0 -34a4c14,80413b70 -34a4c18,6000960 -34a4c38,804139ac -34a4c3c,6000440 -34a4c5c,80414098 -34a4c60,6000d60 -34a4c64,6001060 -34a4c80,80413850 -34a4c84,60014f8 -34a4ca4,80413850 -34a4ca8,6001398 -34a4cc8,80413850 -34a4ccc,60010e8 -34a4cec,804142dc -34a4cf0,6001630 -34a4cf4,6001610 -34a4cf8,6001948 -34a4d10,80413b70 -34a4d14,6001850 -34a4d34,8041440c -34a4d38,6000ae0 -34a4d3c,6000ca0 -34a4d40,6000d00 -34a4d58,8041440c -34a4d5c,6000ae0 -34a4d60,6000cc0 -34a4d64,6000d00 -34a4d7c,8041440c -34a4d80,6000ae0 -34a4d84,6000ce0 -34a4d88,6000d00 -34a4da0,8041551c -34a4da4,6000330 -34a4da8,6000438 -34a4dc4,80414d74 -34a4dc8,6000920 -34a4dcc,60009e0 -34a4dd0,6000a40 -34a4de8,80414d74 -34a4dec,6000920 -34a4df0,6000a00 -34a4df4,6000a40 -34a4e0c,80414d74 -34a4e10,6000920 -34a4e14,6000a20 -34a4e18,6000a40 -34a4e30,804156a8 -34a4e34,6000c60 -34a4e38,6000f08 -34a4e54,80414098 -34a4e58,6000830 -34a4e5c,6000b20 -34a4e78,80414098 -34a4e7c,6000830 -34a4e80,6000a70 -34a4e9c,80415a64 -34a4ea0,6000990 -34a4ea4,6000be0 -34a4ea8,6000cf0 -34a4eac,6000950 -34a4ec0,80415878 -34a4ec4,6000bd0 -34a4ec8,6000db8 -34a4ecc,6000ef0 -34a4ee4,8041467c -34a4ee8,6000b70 -34a4eec,6000af0 -34a4ef0,6000f48 -34a4ef4,6000b30 -34a4ef8,6000ff0 -34a4f08,804147d8 -34a4f0c,60005e0 -34a4f10,60004a0 -34a4f14,60006f0 -34a4f18,6000540 -34a4f2c,804147d8 -34a4f30,60005e0 -34a4f34,60004c0 -34a4f38,60006f0 -34a4f3c,6000560 -34a4f50,804147d8 -34a4f54,60005e0 -34a4f58,60004e0 -34a4f5c,60006f0 -34a4f60,6000580 -34a4f74,80415a64 -34a4f78,6000990 -34a4f7c,6000be0 -34a4f80,6000cf0 -34a4f84,6000970 -34a4f98,80414538 -34a4f9c,60005e0 -34a4fa0,6000500 -34a4fa4,60006f0 -34a4fa8,60005a0 -34a4fbc,80414538 -34a4fc0,60005e0 -34a4fc4,6000520 -34a4fc8,60006f0 -34a4fcc,60005c0 -34a4fe0,8041467c -34a4fe4,6000b70 -34a4fe8,6000b10 -34a4fec,6000f48 -34a4ff0,6000b50 -34a4ff4,6000ff0 -34a5004,80413b70 -34a5008,6000960 -34a5028,8041551c -34a502c,6004db0 -34a5030,6004eb8 -34a504c,80413b70 -34a5050,6000a30 -34a5070,80415da8 -34a5074,60017c0 -34a5078,ffffffff -34a507c,3c505aff -34a5094,80415c6c -34a5098,6000f70 -34a509c,c800ff -34a50a0,1 -34a50b8,80415c6c -34a50bc,6000f70 -34a50c0,ff3200ff -34a50c4,1 -34a50dc,80415c6c -34a50e0,6000f70 -34a50e4,96ffff -34a50e8,1 -34a5100,80415c6c -34a5104,6000f70 -34a5108,ff9600ff -34a510c,1 -34a5124,80415c6c -34a5128,6000f70 -34a512c,c832ffff -34a5130,1 -34a5148,80415c6c -34a514c,6000f70 -34a5150,c8ff00ff -34a5154,1 -34a516c,8041699c -34a5170,60006a0 -34a5174,60008e0 -34a5178,6001280 -34a517c,ba3f3aff -34a5180,a5231eff -34a5184,1695d2ff -34a5188,54c7fff -34a5190,80413e4c -34a5194,6001850 -34a5198,6001750 -34a519c,6001790 -34a51a0,60019a0 -34a51a4,60017b0 -34a51a8,6001a28 -34a51ac,60017d0 -34a51b0,6001ad8 -34a51b4,80415f44 -34a51b8,6001060 -34a51bc,94e97bff -34a51c0,2ccf1aff -34a51d8,80415f44 -34a51dc,6000f00 -34a51e0,fd9884ff -34a51e4,ed1612ff -34a51fc,80415f44 -34a5200,6000f40 -34a5204,4c9deeff -34a5208,77aeeff -34a5220,80415f44 -34a5224,6001080 -34a5228,facd8fff -34a522c,f5b433ff -34a5244,80415f44 -34a5248,6000fc0 -34a524c,9454ebff -34a5250,7a18ddff -34a5268,80415f44 -34a526c,6000ff0 -34a5270,fad1faff -34a5274,e9b3efff -34a528c,80415f44 -34a5290,6001110 -34a5294,fefb9cff -34a5298,e3e312ff -34a52b0,80415f44 -34a52b4,6001110 -34a52b8,ffffffff -34a52bc,8c8c8cff -34a52d4,80415f44 -34a52d8,6000dd0 -34a52dc,6e7467ff -34a52e0,262724ff -34a52f8,80415f44 -34a52fc,6001080 -34a5300,c79b42ff -34a5304,9f7937ff -34a531c,804163f4 -34a5320,60006d0 -34a5324,6001590 -34a5328,94e97bff -34a532c,2ccf1aff -34a5330,ffffffff -34a5334,8c7800ff -34a5340,804163f4 -34a5344,60006a0 -34a5348,6001500 -34a534c,fd9884ff -34a5350,ed1612ff -34a5354,ffffffff -34a5358,8c7800ff -34a5364,804163f4 -34a5368,60008f0 -34a536c,6001790 -34a5370,4c9deeff -34a5374,77aeeff -34a5378,ffffffff -34a537c,8c7800ff -34a5388,804166c8 -34a538c,6000e30 -34a5390,60016d0 -34a5394,facd8fff -34a5398,f5b433ff -34a539c,ffffffff -34a53a0,8c7800ff -34a53ac,804163f4 -34a53b0,6000490 -34a53b4,6001350 -34a53b8,9454ebff -34a53bc,7a18ddff -34a53c0,ffffffff -34a53c4,8c7800ff -34a53d0,80416120 -34a53d4,6000ca0 -34a53d8,6000f08 -34a53dc,6e7467ff -34a53e0,262724ff -34a53e4,ffffffff -34a53e8,8c7800ff -34a53f4,80416c74 -34a53f8,6000da0 -34a53fc,5a5affff -34a5418,80416dac -34a541c,6000960 -34a5420,ffa000ff -34a543c,80416dac -34a5440,6000960 -34a5444,ffa000ff -34a5448,1 -34a5460,80416f3c -34a5464,6000e10 -34a5468,ffa000ff -34a546c,1 -34a5484,80416f3c -34a5488,6000e10 -34a548c,ffa000ff -34a54a8,80414ec8 -34a54ac,6000aa0 -34a54b0,6000a40 -34a54b4,6000a80 -34a54b8,6000cc8 -34a54cc,ffff0000 -34a54d0,2051f -34a54d4,ffffff02 -34a54d8,50800ff -34a54dc,ff03ffff -34a54e0,3 -34a54e4,5090064 -34a54e8,ff05ffff -34a54ec,5 -34a54f0,51fffff -34a54f4,ff01ffff -34a54f8,1 -34a54fc,50100ff -34a5500,60501 -34a5504,ff0006 -34a5508,ffff0000 -34a550c,100a03 -34a5510,ffff10 -34a5514,509c8c8 -34a5518,90511 -34a551c,c8c80009 -34a5520,508c832 -34a5524,ff0b0a08 -34a5528,c832ff0b -34a552c,51cc8c8 -34a5530,2051c -34a5534,c8c80002 -34a5538,50cff3c -34a553c,6060c -34a5540,ff3c0006 -34a5544,51b0064 -34a5548,ff09031b -34a554c,64ff09 -34a5550,505ff3c -34a5554,2ffff -34a5558,2 -34a555c,50200ff -34a5560,dffff -34a5564,d -34a5568,ffff0000 -34a556c,51f -34a5570,ffff00 -34a5574,50ac8c8 -34a5578,8ffff -34a557c,8 -34a5580,ffff0000 -34a5584,170500 -34a5588,64ff17 -34a558c,50bc8c8 -34a5590,11ffff -34a5594,11 -34a5598,51200ff -34a559c,ff08ffff -34a55a0,8 -34a55a4,509ff3c -34a55a8,e0501 -34a55ac,ff3c000e -34a55b0,ffff0000 -34a55b4,c050b -34a55b8,c832ff0c -34a55bc,ffff0000 -34a55c0,30502 -34a55c4,64ff03 -34a55c8,50e00ff -34a55cc,6ffff -34a55d0,6 -34a55d8,506 -34a55dc,8050602 -34a55e0,5070506 -34a55e4,3020000 -34a55e8,903 -34a55ec,4040203 -34a55f4,6060000 -34a5614,4d8e90a9 -34a5618,ce2000 -34a561c,804181e0 -34a5620,80417104 -34a5624,ffffffff -34a5628,b000000 -34a5630,4d8c90aa -34a5634,bb1200 -34a5638,80417bc8 -34a563c,80417104 -34a5640,ffffffff -34a5644,c000000 -34a564c,4d0990ab -34a5650,d92800 -34a5654,804183a8 -34a5658,80417104 -34a565c,ffffffff -34a5660,ff000000 -34a5668,53030031 -34a566c,e9350c -34a5670,80417bc8 -34a5674,80417104 -34a5678,ffffffff -34a567c,ff000000 -34a5684,53060030 -34a5688,e7330c -34a568c,80417bc8 -34a5690,80417104 -34a5694,ffffffff -34a5698,ff000000 -34a56a0,530e0035 -34a56a4,e8340c -34a56a8,80417bc8 -34a56ac,80417104 -34a56b0,ffffffff -34a56b4,ff000000 -34a56bc,4d0090ac -34a56c0,c71b00 -34a56c4,80417bc8 -34a56c8,80417104 -34a56cc,ffffffff -34a56d0,d000000 -34a56d8,530a0036 -34a56dc,dd2d0c -34a56e0,80417bc8 -34a56e4,80417104 -34a56e8,ffffffff -34a56ec,ff000000 -34a56f4,530b004f -34a56f8,dd2e0c -34a56fc,80417bc8 -34a5700,80417104 -34a5704,ffffffff -34a5708,ff000000 -34a5710,530f0039 -34a5714,ea360c -34a5718,80417bc8 -34a571c,80417104 -34a5720,ffffffff -34a5724,ff000000 -34a572c,53230069 -34a5730,ef3b0c -34a5734,80417bc8 -34a5738,80417700 -34a573c,23ffff -34a5740,ff000000 -34a5748,5308003a -34a574c,de2f0c -34a5750,80417bc8 -34a5754,80417104 -34a5758,ffffffff -34a575c,ff000000 -34a5764,53110038 -34a5768,f6410c -34a576c,80417bc8 -34a5770,80417104 -34a5774,ffffffff -34a5778,ff000000 -34a5780,532f0002 -34a5784,1095e0c -34a5788,80417bc8 -34a578c,804177a8 -34a5790,2fffff -34a5794,ff000000 -34a579c,53140042 -34a57a0,c6010c -34a57a4,80417bc8 -34a57a8,80417104 -34a57ac,ffffffff -34a57b0,ff000000 -34a57b8,53150043 -34a57bc,eb380c -34a57c0,80417bc8 -34a57c4,80417104 -34a57c8,ffffffff -34a57cc,ff000000 -34a57d4,53160044 -34a57d8,eb370c -34a57dc,80417bc8 -34a57e0,80417104 -34a57e4,ffffffff -34a57e8,ff000000 -34a57f0,53170045 -34a57f4,eb390c -34a57f8,80417bc8 -34a57fc,80417104 -34a5800,ffffffff -34a5804,ff000000 -34a580c,53180046 -34a5810,c6010c -34a5814,80417bc8 -34a5818,80417104 -34a581c,ffffffff -34a5820,ff000000 -34a5828,531a0098 -34a582c,df300c -34a5830,80417bc8 -34a5834,80417104 -34a5838,ffffffff -34a583c,ff000000 -34a5844,531b0099 -34a5848,10b450c -34a584c,804182e8 -34a5850,80417104 -34a5854,ffffffff -34a5858,ff000000 -34a5860,53100048 -34a5864,f33e00 -34a5868,80417bc8 -34a586c,80417104 -34a5870,ffffffff -34a5874,ff000000 -34a587c,53250010 -34a5880,1364f0c -34a5884,80417bc8 -34a5888,804177a8 -34a588c,25ffff -34a5890,ff000000 -34a5898,53260011 -34a589c,135320c -34a58a0,80417bc8 -34a58a4,804177a8 -34a58a8,26ffff -34a58ac,ff000000 -34a58b4,5322000b -34a58b8,109440c -34a58bc,80417bc8 -34a58c0,804177a8 -34a58c4,22ffff -34a58c8,ff000000 -34a58d0,53240012 -34a58d4,134310c -34a58d8,80417bc8 -34a58dc,804177a8 -34a58e0,24ffff -34a58e4,ff000000 -34a58ec,53270013 -34a58f0,137500c -34a58f4,80417bc8 -34a58f8,804177a8 -34a58fc,27ffff -34a5900,ff000000 -34a5908,532b0017 -34a590c,138510c -34a5910,80417bc8 -34a5914,804177a8 -34a5918,2bffff -34a591c,ff000000 -34a5924,532d9001 -34a5928,da290c -34a592c,80417bc8 -34a5930,804177a8 -34a5934,2dffff -34a5938,ff000000 -34a5940,532e000b -34a5944,109440c -34a5948,80417bc8 -34a594c,804177a8 -34a5950,2effff -34a5954,ff000000 -34a595c,53300003 -34a5960,141540c -34a5964,80417bc8 -34a5968,804177a8 -34a596c,30ffff -34a5970,ff000000 -34a5978,53310004 -34a597c,140530c -34a5980,80417bc8 -34a5984,804177a8 -34a5988,31ffff -34a598c,ff000000 -34a5994,53320005 -34a5998,f5400c -34a599c,80417bc8 -34a59a0,804177a8 -34a59a4,32ffff -34a59a8,ff000000 -34a59b0,53330008 -34a59b4,143560c -34a59b8,80417bc8 -34a59bc,804177a8 -34a59c0,33ffff -34a59c4,ff000000 -34a59cc,53340009 -34a59d0,146570c -34a59d4,80417bc8 -34a59d8,804177a8 -34a59dc,34ffff -34a59e0,ff000000 -34a59e8,5335000d -34a59ec,1495a0c -34a59f0,80417bc8 -34a59f4,804177a8 -34a59f8,35ffff -34a59fc,ff000000 -34a5a04,5336000e -34a5a08,13f520c -34a5a0c,80417bc8 -34a5a10,804177a8 -34a5a14,36ffff -34a5a18,ff000000 -34a5a20,5337000a -34a5a24,142550c -34a5a28,80417bc8 -34a5a2c,804177a8 -34a5a30,37ffff -34a5a34,ff000000 -34a5a3c,533b00a4 -34a5a40,18d740c -34a5a44,80417bc8 -34a5a48,80417104 -34a5a4c,ffffffff -34a5a50,ff000000 -34a5a58,533d004b -34a5a5c,f8430c -34a5a60,80417bc8 -34a5a64,80417104 -34a5a68,ffffffff -34a5a6c,ff000000 -34a5a74,533e90ad -34a5a78,cb1d00 -34a5a7c,80417bc8 -34a5a80,80417104 -34a5a84,ffffffff -34a5a88,ff000000 -34a5a90,533f90ae -34a5a94,dc2c00 -34a5a98,80417bc8 -34a5a9c,80417104 -34a5aa0,ffffffff -34a5aa4,ff000000 -34a5aac,5340004e -34a5ab0,ee3a0c -34a5ab4,80417bc8 -34a5ab8,80417104 -34a5abc,ffffffff -34a5ac0,ff000000 -34a5ac8,534290af -34a5acc,f23c0c -34a5ad0,80417bc8 -34a5ad4,80417104 -34a5ad8,ffffffff -34a5adc,ff000000 -34a5ae4,534390b0 -34a5ae8,f23d0c -34a5aec,80417bc8 -34a5af0,80417104 -34a5af4,ffffffff -34a5af8,ff000000 -34a5b00,53450053 -34a5b04,118470c -34a5b08,80417bc8 -34a5b0c,80417104 -34a5b10,ffffffff -34a5b14,ff000000 -34a5b1c,53460054 -34a5b20,1575f0c -34a5b24,80417bc8 -34a5b28,80417104 -34a5b2c,ffffffff -34a5b30,ff000000 -34a5b38,534b0056 -34a5b3c,be160c -34a5b40,80417bc8 -34a5b44,80417104 -34a5b48,ffffffff -34a5b4c,ff000000 -34a5b54,534c0057 -34a5b58,be170c -34a5b5c,80417bc8 -34a5b60,80417104 -34a5b64,ffffffff -34a5b68,ff000000 -34a5b70,534d0058 -34a5b74,bf180c -34a5b78,80417bc8 -34a5b7c,80417104 -34a5b80,ffffffff -34a5b84,ff000000 -34a5b8c,534e0059 -34a5b90,bf190c -34a5b94,80417bc8 -34a5b98,80417104 -34a5b9c,ffffffff -34a5ba0,ff000000 -34a5ba8,534f005a -34a5bac,bf1a0c -34a5bb0,80417bc8 -34a5bb4,80417104 -34a5bb8,ffffffff -34a5bbc,ff000000 -34a5bc4,5351005b -34a5bc8,12d490c -34a5bcc,80417bc8 -34a5bd0,80417104 -34a5bd4,ffffffff -34a5bd8,ff000000 -34a5be0,5352005c -34a5be4,12d4a0c -34a5be8,80417bc8 -34a5bec,80417104 -34a5bf0,ffffffff -34a5bf4,ff000000 -34a5bfc,535300cd -34a5c00,db2a0c -34a5c04,80417bc8 -34a5c08,80417840 -34a5c0c,1ffff -34a5c10,ff000000 -34a5c18,535400ce -34a5c1c,db2b0c -34a5c20,80417bc8 -34a5c24,80417840 -34a5c28,2ffff -34a5c2c,ff000000 -34a5c34,536f0068 -34a5c38,c8210c -34a5c3c,80417bc8 -34a5c40,80417104 -34a5c44,ffffffff -34a5c48,ff000000 -34a5c50,5370007b -34a5c54,d7240c -34a5c58,80417bc8 -34a5c5c,80417104 -34a5c60,ffffffff -34a5c64,ff000000 -34a5c6c,5341004a -34a5c70,10e460c -34a5c74,80417bc8 -34a5c78,80417660 -34a5c7c,ffffffff -34a5c80,ff000000 -34a5c88,4d5890b3 -34a5c8c,1194800 -34a5c90,80418260 -34a5c94,80417104 -34a5c98,ffffffff -34a5c9c,10000000 -34a5ca4,3d7200c6 -34a5ca8,bd1310 -34a5cac,80418368 -34a5cb0,804176e4 -34a5cb4,ffffffff -34a5cb8,ff000000 -34a5cc0,3e7a00c2 -34a5cc4,bd1410 -34a5cc8,80418368 -34a5ccc,8041710c -34a5cd0,ffffffff -34a5cd4,ff000000 -34a5cdc,537400c7 -34a5ce0,b90a02 -34a5ce4,80417bc8 -34a5ce8,80417104 -34a5cec,ffffffff -34a5cf0,ff000000 -34a5cf8,53750067 -34a5cfc,b80b00 -34a5d00,80417bc8 -34a5d04,80417104 -34a5d08,ffffffff -34a5d0c,ff000000 -34a5d14,53760066 -34a5d18,c81c00 -34a5d1c,80417bc8 -34a5d20,80417104 -34a5d24,ffffffff -34a5d28,ff000000 -34a5d30,53770060 -34a5d34,aa020d -34a5d38,80417bc8 -34a5d3c,80417104 -34a5d40,ffffffff -34a5d44,ff000000 -34a5d4c,53780052 -34a5d50,cd1e00 -34a5d54,80417bc8 -34a5d58,80417104 -34a5d5c,ffffffff -34a5d60,ff000000 -34a5d68,53790052 -34a5d6c,cd1f00 -34a5d70,80417bc8 -34a5d74,80417104 -34a5d78,ffffffff -34a5d7c,ff000000 -34a5d84,5356005e -34a5d88,d1220c -34a5d8c,80417bc8 -34a5d90,804176b8 -34a5d94,1ffff -34a5d98,ff000000 -34a5da0,5357005f -34a5da4,d1230c -34a5da8,80417bc8 -34a5dac,804176b8 -34a5db0,2ffff -34a5db4,ff000000 -34a5dbc,5321009a -34a5dc0,da290c -34a5dc4,80417bc8 -34a5dc8,804177a8 -34a5dcc,21ffff -34a5dd0,ff000000 -34a5dd8,4d8390b1 -34a5ddc,b70900 -34a5de0,80417bc8 -34a5de4,80417104 -34a5de8,ffffffff -34a5dec,3000000 -34a5df4,4d9290b2 -34a5df8,d82500 -34a5dfc,80418160 -34a5e00,80417104 -34a5e04,ffffffff -34a5e08,8000000 -34a5e10,4d9390b2 -34a5e14,d82600 -34a5e18,80418160 -34a5e1c,80417104 -34a5e20,ffffffff -34a5e24,9000000 -34a5e2c,4d9490b2 -34a5e30,d82700 -34a5e34,80418160 -34a5e38,80417104 -34a5e3c,ffffffff -34a5e40,a000000 -34a5e48,4d84006f -34a5e4c,17f6d00 -34a5e50,80417bc8 -34a5e54,80417104 -34a5e58,ffffffff -34a5e64,4d8500cc -34a5e68,17f6e00 -34a5e6c,80417bc8 -34a5e70,80417104 -34a5e74,ffffffff -34a5e78,1000000 -34a5e80,4d8600f0 -34a5e84,17f6f00 -34a5e88,80417bc8 -34a5e8c,80417104 -34a5e90,ffffffff -34a5e94,2000000 -34a5e9c,3d7200c6 -34a5ea0,bd1310 -34a5ea4,80417bc8 -34a5ea8,8041710c -34a5eac,ffffffff -34a5eb0,ff000000 -34a5eb8,53820098 -34a5ebc,df300c -34a5ec0,80417bc8 -34a5ec4,80417104 -34a5ec8,ffffffff -34a5ecc,ff000000 -34a5ed4,53280014 -34a5ed8,1505b0c -34a5edc,80417bc8 -34a5ee0,804177a8 -34a5ee4,28ffff -34a5ee8,ff000000 -34a5ef0,53290015 -34a5ef4,1515c0c -34a5ef8,80417bc8 -34a5efc,804177a8 -34a5f00,29ffff -34a5f04,ff000000 -34a5f0c,532a0016 -34a5f10,1525d0c -34a5f14,80417bc8 -34a5f18,804177a8 -34a5f1c,2affff -34a5f20,ff000000 -34a5f28,53500079 -34a5f2c,147580c -34a5f30,80417bc8 -34a5f34,80417104 -34a5f38,ffffffff -34a5f3c,ff000000 -34a5f44,4d8700f1 -34a5f48,17f7100 -34a5f4c,80417bc8 -34a5f50,80417104 -34a5f54,ffffffff -34a5f58,13000000 -34a5f60,4d8800f2 -34a5f64,17f7200 -34a5f68,80417bc8 -34a5f6c,80417104 -34a5f70,ffffffff -34a5f74,14000000 -34a5f7c,533d000c -34a5f80,f8430c -34a5f84,80417bc8 -34a5f88,8041720c -34a5f8c,ffffffff -34a5f90,ff000000 -34a5f98,53040070 -34a5f9c,158600c -34a5fa0,80417bc8 -34a5fa4,80417104 -34a5fa8,ffffffff -34a5fac,ff000000 -34a5fb4,530c0071 -34a5fb8,158610c -34a5fbc,80417bc8 -34a5fc0,80417104 -34a5fc4,ffffffff -34a5fc8,ff000000 -34a5fd0,53120072 -34a5fd4,158620c -34a5fd8,80417bc8 -34a5fdc,80417104 -34a5fe0,ffffffff -34a5fe4,ff000000 -34a5fec,5b7100b4 -34a5ff0,15c630e -34a5ff4,80417bc8 -34a5ff8,80417104 -34a5ffc,ffffffff -34a6000,ff000000 -34a6008,530500ad -34a600c,15d640c -34a6010,80417bc8 -34a6014,80417104 -34a6018,ffffffff -34a601c,ff000000 -34a6024,530d00ae -34a6028,15d650c -34a602c,80417bc8 -34a6030,80417104 -34a6034,ffffffff -34a6038,ff000000 -34a6040,531300af -34a6044,15d660c -34a6048,80417bc8 -34a604c,80417104 -34a6050,ffffffff -34a6054,ff000000 -34a605c,53470007 -34a6060,17b6c0c -34a6064,80417bc8 -34a6068,80417104 -34a606c,ffffffff -34a6070,ff000000 -34a6078,53480007 -34a607c,17b6c0c -34a6080,80417bc8 -34a6084,80417104 -34a6088,ffffffff -34a608c,ff000000 -34a6094,4d8a90ac -34a6098,c71b00 -34a609c,80417bc8 -34a60a0,80417104 -34a60a4,ffffffff -34a60a8,d000000 -34a60b0,4d8b90ac -34a60b4,c71b00 -34a60b8,80417bc8 -34a60bc,80417104 -34a60c0,ffffffff -34a60c4,d000000 -34a60cc,4d8c90aa -34a60d0,bb1200 -34a60d4,80417bc8 -34a60d8,80417104 -34a60dc,ffffffff -34a60e0,c000000 -34a60e8,4d8d90aa -34a60ec,bb1200 -34a60f0,80417bc8 -34a60f4,80417104 -34a60f8,ffffffff -34a60fc,c000000 -34a6104,4d0290a9 -34a6108,ce2000 -34a610c,804181e0 -34a6110,80417104 -34a6114,ffffffff -34a6118,b000000 -34a6120,4d8f90a9 -34a6124,ce2000 -34a6128,804181e0 -34a612c,80417104 -34a6130,ffffffff -34a6134,b000000 -34a613c,4d9090a9 -34a6140,ce2000 -34a6144,804181e0 -34a6148,80417104 -34a614c,ffffffff -34a6150,b000000 -34a6158,4d9190a9 -34a615c,ce2000 -34a6160,804181e0 -34a6164,80417104 -34a6168,ffffffff -34a616c,b000000 -34a6174,4d9590b3 -34a6178,1194800 -34a617c,80418260 -34a6180,80417104 -34a6184,ffffffff -34a6188,10000000 -34a6190,4d9690ab -34a6194,d92800 -34a6198,804183a8 -34a619c,80417104 -34a61a0,ffffffff -34a61a4,ff000000 -34a61ac,4d9790ab -34a61b0,d92800 -34a61b4,804183a8 -34a61b8,80417104 -34a61bc,ffffffff -34a61c0,ff000000 -34a61c8,53190047 -34a61cc,f43f0c -34a61d0,80417bc8 -34a61d4,80417104 -34a61d8,ffffffff -34a61dc,ff000000 -34a61e4,531d007a -34a61e8,174680c -34a61ec,80417bc8 -34a61f0,80417104 -34a61f4,ffffffff -34a61f8,ff000000 -34a6200,531c005d -34a6204,173670c -34a6208,80417bc8 -34a620c,80417104 -34a6210,ffffffff -34a6214,ff000000 -34a621c,53200097 -34a6220,1766a0c -34a6224,80417bc8 -34a6228,80417104 -34a622c,ffffffff -34a6230,ff000000 -34a6238,531e00f9 -34a623c,176700c -34a6240,80417bc8 -34a6244,80417104 -34a6248,ffffffff -34a624c,ff000000 -34a6254,534100f3 -34a6258,aa020d -34a625c,8041845c -34a6260,80417264 -34a6264,10ffff -34a6268,ff000000 -34a626c,80417a70 -34a6270,4d8400f4 -34a6274,17f6d00 -34a6278,80417bc8 -34a627c,80417104 -34a6280,ffffffff -34a6284,ff000000 -34a628c,4d8500f5 -34a6290,17f6e00 -34a6294,80417bc8 -34a6298,80417104 -34a629c,ffffffff -34a62a0,ff000000 -34a62a8,4d8600f6 -34a62ac,17f6f00 -34a62b0,80417bc8 -34a62b4,80417104 -34a62b8,ffffffff -34a62bc,ff000000 -34a62c4,4d8700f7 -34a62c8,17f7100 -34a62cc,80417bc8 -34a62d0,80417104 -34a62d4,ffffffff -34a62d8,ff000000 -34a62e0,537a00fa -34a62e4,bd1410 -34a62e8,80418368 -34a62ec,8041710c -34a62f0,ffffffff -34a62f4,ff000000 -34a62fc,53980090 -34a6300,c71b00 -34a6304,80417bc8 -34a6308,80417104 -34a630c,ffffffff -34a6310,ff000000 -34a6318,53990091 -34a631c,c71b00 -34a6320,80417bc8 -34a6324,80417104 -34a6328,ffffffff -34a632c,ff000000 -34a6334,539a00a7 -34a6338,bb1200 -34a633c,80417bc8 -34a6340,80417104 -34a6344,ffffffff -34a6348,ff000000 -34a6350,539b00a8 -34a6354,bb1200 -34a6358,80417bc8 -34a635c,80417104 -34a6360,ffffffff -34a6364,ff000000 -34a636c,5349006c -34a6370,17b730c -34a6374,80417bc8 -34a6378,80417104 -34a637c,ffffffff -34a6380,ff000000 -34a6388,53419002 -34a638c,c -34a6390,80417bc8 -34a6394,80417684 -34a6398,ffffffff -34a639c,ff000000 -34a63a4,3e4190c2 -34a63a8,bd1410 -34a63ac,80417bc8 -34a63b0,8041710c -34a63b4,ffffffff -34a63b8,ff000000 -34a63c0,3e4190c6 -34a63c4,bd1310 -34a63c8,80417bc8 -34a63cc,8041710c -34a63d0,ffffffff -34a63d4,ff000000 -34a63dc,534190fa -34a63e0,bd1410 -34a63e4,80417bc8 -34a63e8,8041710c -34a63ec,ffffffff -34a63f0,ff000000 -34a63f8,ffffffff -34a63fc,dd2d0c -34a6400,80417bdc -34a6404,80417104 -34a6408,ffffffff -34a640c,ff000000 -34a6414,ffffffff -34a6418,147580c -34a641c,80417c54 -34a6420,80417104 -34a6424,ffffffff -34a6428,ff000000 -34a6430,ffffffff -34a6434,bf180c -34a6438,80417cd4 -34a643c,80417104 -34a6440,ffffffff -34a6444,ff000000 -34a644c,ffffffff -34a6450,e9350c -34a6454,80417d58 -34a6458,80417104 -34a645c,ffffffff -34a6460,ff000000 -34a6468,ffffffff -34a646c,e7330c -34a6470,80417dd8 -34a6474,80417104 -34a6478,ffffffff -34a647c,ff000000 -34a6484,ffffffff -34a6488,d1220c -34a648c,80417e5c -34a6490,80417104 -34a6494,ffffffff -34a6498,ff000000 -34a64a0,ffffffff -34a64a4,db2a0c -34a64a8,80417ee0 -34a64ac,80417104 -34a64b0,ffffffff -34a64b4,ff000000 -34a64bc,ffffffff -34a64c0,bb1200 -34a64c4,80417f60 -34a64c8,80417104 -34a64cc,ffffffff -34a64d0,ff000000 -34a64d8,ffffffff -34a64dc,c71b00 -34a64e0,80417fd0 -34a64e4,80417104 -34a64e8,ffffffff -34a64ec,ff000000 -34a64f4,ffffffff -34a64f8,d9280c -34a64fc,804180a8 -34a6500,80417104 -34a6504,ffffffff -34a6508,ff000000 -34a6510,ffffffff -34a6514,cd1e0c -34a6518,80418040 -34a651c,80417104 -34a6520,ffffffff -34a6524,ff000000 -34a652c,ffffffff -34a6530,10e460c -34a6534,804180e4 -34a6538,80417104 -34a653c,ffffffff -34a6540,ff000000 -34a6548,534190a0 -34a654c,c6010c -34a6550,80417bc8 -34a6554,80417218 -34a6558,15ffff -34a655c,ff000000 -34a6564,534190a1 -34a6568,c6010c -34a656c,80417bc8 -34a6570,80417218 -34a6574,16ffff -34a6578,ff000000 -34a6580,534190a2 -34a6584,c6010c -34a6588,80417bc8 -34a658c,80417218 -34a6590,17ffff -34a6594,ff000000 -34a659c,534190a3 -34a65a0,1776b0c -34a65a4,80417bc8 -34a65a8,80417218 -34a65ac,18ffff -34a65b0,ff000000 -34a65b8,534190a4 -34a65bc,f43f0c -34a65c0,80417bc8 -34a65c4,80417218 -34a65c8,19ffff -34a65cc,ff000000 -34a65d4,534190a5 -34a65d8,173670c -34a65dc,80417bc8 -34a65e0,80417218 -34a65e4,1cffff -34a65e8,ff000000 -34a65f0,534190a6 -34a65f4,174680c -34a65f8,80417bc8 -34a65fc,80417218 -34a6600,1dffff -34a6604,ff000000 -34a660c,534190a7 -34a6610,176700c -34a6614,80417bc8 -34a6618,80417218 -34a661c,1effff -34a6620,ff000000 -34a6628,534190a8 -34a662c,1766a0c -34a6630,80417bc8 -34a6634,80417218 -34a6638,20ffff -34a663c,ff000000 -34a6644,53410006 -34a6648,b90a02 -34a664c,8041845c -34a6650,80417250 -34a6654,10003 -34a6658,ff000000 -34a6660,5341001c -34a6664,b90a02 -34a6668,8041845c -34a666c,80417250 -34a6670,10004 -34a6674,ff000000 -34a667c,5341001d -34a6680,b90a02 -34a6684,8041845c -34a6688,80417250 -34a668c,10005 -34a6690,ff000000 -34a6698,5341001e -34a669c,b90a02 -34a66a0,8041845c -34a66a4,80417250 -34a66a8,10006 -34a66ac,ff000000 -34a66b4,5341002a -34a66b8,b90a02 -34a66bc,8041845c -34a66c0,80417250 -34a66c4,10007 -34a66c8,ff000000 -34a66d0,53410061 -34a66d4,b90a02 -34a66d8,8041845c -34a66dc,80417250 -34a66e0,1000a -34a66e4,ff000000 -34a66ec,53410062 -34a66f0,b80b00 -34a66f4,80417bc8 -34a66f8,80417250 -34a66fc,20000 -34a6700,ff000000 -34a6708,53410063 -34a670c,b80b00 -34a6710,80417bc8 -34a6714,80417250 -34a6718,20001 -34a671c,ff000000 -34a6724,53410064 -34a6728,b80b00 -34a672c,80417bc8 -34a6730,80417250 -34a6734,20002 -34a6738,ff000000 -34a6740,53410065 -34a6744,b80b00 -34a6748,80417bc8 -34a674c,80417250 -34a6750,20003 -34a6754,ff000000 -34a675c,5341007c -34a6760,b80b00 -34a6764,80417bc8 -34a6768,80417250 -34a676c,20004 -34a6770,ff000000 -34a6778,5341007d -34a677c,b80b00 -34a6780,80417bc8 -34a6784,80417250 -34a6788,20005 -34a678c,ff000000 -34a6794,5341007e -34a6798,b80b00 -34a679c,80417bc8 -34a67a0,80417250 -34a67a4,20006 -34a67a8,ff000000 -34a67b0,5341007f -34a67b4,b80b00 -34a67b8,80417bc8 -34a67bc,80417250 -34a67c0,20007 -34a67c4,ff000000 -34a67cc,534100a2 -34a67d0,b80b00 -34a67d4,80417bc8 -34a67d8,80417250 -34a67dc,20008 -34a67e0,ff000000 -34a67e8,53410087 -34a67ec,b80b00 -34a67f0,80417bc8 -34a67f4,80417250 -34a67f8,20009 -34a67fc,ff000000 -34a6804,53410088 -34a6808,c81c00 -34a680c,80417bc8 -34a6810,80417250 -34a6814,40000 -34a6818,ff000000 -34a6820,53410089 -34a6824,c81c00 -34a6828,80417bc8 -34a682c,80417250 -34a6830,40001 -34a6834,ff000000 -34a683c,5341008a -34a6840,c81c00 -34a6844,80417bc8 -34a6848,80417250 -34a684c,40002 -34a6850,ff000000 -34a6858,5341008b -34a685c,c81c00 -34a6860,80417bc8 -34a6864,80417250 -34a6868,40003 -34a686c,ff000000 -34a6874,5341008c -34a6878,c81c00 -34a687c,80417bc8 -34a6880,80417250 -34a6884,40004 -34a6888,ff000000 -34a6890,5341008e -34a6894,c81c00 -34a6898,80417bc8 -34a689c,80417250 -34a68a0,40005 -34a68a4,ff000000 -34a68ac,5341008f -34a68b0,c81c00 -34a68b4,80417bc8 -34a68b8,80417250 -34a68bc,40006 -34a68c0,ff000000 -34a68c8,534100a3 -34a68cc,c81c00 -34a68d0,80417bc8 -34a68d4,80417250 -34a68d8,40007 -34a68dc,ff000000 -34a68e4,534100a5 -34a68e8,c81c00 -34a68ec,80417bc8 -34a68f0,80417250 -34a68f4,40008 -34a68f8,ff000000 -34a6900,53410092 -34a6904,c81c00 -34a6908,80417bc8 -34a690c,80417250 -34a6910,40009 -34a6914,ff000000 -34a691c,53410093 -34a6920,aa020d -34a6924,8041845c -34a6928,80417264 -34a692c,3ffff -34a6930,ff000000 -34a6934,804179e8 -34a6938,53410094 -34a693c,aa020d -34a6940,8041845c -34a6944,80417264 -34a6948,4ffff -34a694c,ff000000 -34a6950,804179e8 -34a6954,53410095 -34a6958,aa020d -34a695c,8041845c -34a6960,80417264 -34a6964,5ffff -34a6968,ff000000 -34a696c,804179e8 -34a6970,534100a6 -34a6974,aa020d -34a6978,8041845c -34a697c,80417264 -34a6980,6ffff -34a6984,ff000000 -34a6988,804179e8 -34a698c,534100a9 -34a6990,aa020d -34a6994,8041845c -34a6998,80417264 -34a699c,7ffff -34a69a0,ff000000 -34a69a4,804179e8 -34a69a8,5341009b -34a69ac,aa020d -34a69b0,8041845c -34a69b4,80417264 -34a69b8,8ffff -34a69bc,ff000000 -34a69c0,804179e8 -34a69c4,5341009f -34a69c8,aa020d -34a69cc,8041845c -34a69d0,80417264 -34a69d4,bffff -34a69d8,ff000000 -34a69dc,804179e8 -34a69e0,534100a0 -34a69e4,aa020d -34a69e8,8041845c -34a69ec,80417264 -34a69f0,cffff -34a69f4,ff000000 -34a69f8,804179e8 -34a69fc,534100a1 -34a6a00,aa020d -34a6a04,8041845c -34a6a08,80417264 -34a6a0c,dffff -34a6a10,ff000000 -34a6a14,804179e8 -34a6a18,534100e9 -34a6a1c,194130c -34a6a20,80417bc8 -34a6a24,80417604 -34a6a28,ffffffff -34a6a2c,ff000000 -34a6a34,534100e4 -34a6a38,cd1e0c -34a6a3c,80417bc8 -34a6a40,80417620 -34a6a44,ffffffff -34a6a48,ff000000 -34a6a50,534100e8 -34a6a54,cd1f0c -34a6a58,80417bc8 -34a6a5c,8041763c -34a6a60,ffffffff -34a6a64,ff000000 -34a6a6c,53419091 -34a6a70,196780c -34a6a74,80417bc8 -34a6a78,8041766c -34a6a7c,6ffff -34a6a80,ff000000 -34a6a88,53419092 -34a6a8c,196790c -34a6a90,80417bc8 -34a6a94,8041766c -34a6a98,7ffff -34a6a9c,ff000000 -34a6aa4,53419093 -34a6aa8,1967a0c -34a6aac,80417bc8 -34a6ab0,8041766c -34a6ab4,8ffff -34a6ab8,ff000000 -34a6ac0,53419094 -34a6ac4,1967b0c -34a6ac8,80417bc8 -34a6acc,8041766c -34a6ad0,9ffff -34a6ad4,ff000000 -34a6adc,53419095 -34a6ae0,1967c0c -34a6ae4,80417bc8 -34a6ae8,8041766c -34a6aec,affff -34a6af0,ff000000 -34a6af8,53419096 -34a6afc,1967d0c -34a6b00,80417bc8 -34a6b04,8041766c -34a6b08,bffff -34a6b0c,ff000000 -34a6b14,5341909a -34a6b18,b6040c -34a6b1c,80417bc8 -34a6b20,8041766c -34a6b24,cffff -34a6b28,ff000000 -34a6b30,5341909b -34a6b34,b6060c -34a6b38,80417bc8 -34a6b3c,8041766c -34a6b40,dffff -34a6b44,ff000000 -34a6b4c,5341909c -34a6b50,b6030c -34a6b54,80417bc8 -34a6b58,8041766c -34a6b5c,effff -34a6b60,ff000000 -34a6b68,5341909d -34a6b6c,b6080c -34a6b70,80417bc8 -34a6b74,8041766c -34a6b78,fffff -34a6b7c,ff000000 -34a6b84,5341909e -34a6b88,b6050c -34a6b8c,80417bc8 -34a6b90,8041766c -34a6b94,10ffff -34a6b98,ff000000 -34a6ba0,5341909f -34a6ba4,b6070c -34a6ba8,80417bc8 -34a6bac,8041766c -34a6bb0,11ffff -34a6bb4,ff000000 -34a6bbc,534100f8 -34a6bc0,d1230c -34a6bc4,80417bc8 -34a6bc8,804171d4 -34a6bcc,3ffff -34a6bd0,ff000000 -34a6bd8,53149099 -34a6bdc,10b450c -34a6be0,80417bc8 -34a6be4,80417104 -34a6be8,ffffffff -34a6bec,ff000000 -34a6bf4,53419048 -34a6bf8,f33e0c -34a6bfc,80417bc8 -34a6c00,804176a0 -34a6c04,ffffffff -34a6c08,ff000000 -34a6c10,53419003 -34a6c14,193760c -34a6c18,80417bc8 -34a6c1c,80417118 -34a6c20,ffffffff -34a6c24,ff000000 -34a6c2c,53419200 -34a6c30,195770d -34a6c34,80417bc8 -34a6c38,804172f8 -34a6c3c,30001 -34a6c40,ff000000 -34a6c44,80417aa4 -34a6c48,53419200 -34a6c4c,195770d -34a6c50,80417bc8 -34a6c54,804172f8 -34a6c58,40001 -34a6c5c,ff000000 -34a6c60,80417aa4 -34a6c64,53419200 -34a6c68,195770d -34a6c6c,80417bc8 -34a6c70,804172f8 -34a6c74,50001 -34a6c78,ff000000 -34a6c7c,80417aa4 -34a6c80,53419200 -34a6c84,195770d -34a6c88,80417bc8 -34a6c8c,804172f8 -34a6c90,60001 -34a6c94,ff000000 -34a6c98,80417aa4 -34a6c9c,53419200 -34a6ca0,195770d -34a6ca4,80417bc8 -34a6ca8,804172f8 -34a6cac,70001 -34a6cb0,ff000000 -34a6cb4,80417aa4 -34a6cb8,53419200 -34a6cbc,195770d -34a6cc0,80417bc8 -34a6cc4,804172f8 -34a6cc8,80000 -34a6ccc,ff000000 -34a6cd0,80417aa4 -34a6cd4,53419200 -34a6cd8,195770d -34a6cdc,80417bc8 -34a6ce0,804172f8 -34a6ce4,b0000 -34a6ce8,ff000000 -34a6cec,80417aa4 -34a6cf0,53419200 -34a6cf4,195770d -34a6cf8,80417bc8 -34a6cfc,804172f8 -34a6d00,c0000 -34a6d04,ff000000 -34a6d08,80417aa4 -34a6d0c,53419200 -34a6d10,195770d -34a6d14,80417bc8 -34a6d18,804172f8 -34a6d1c,d0000 -34a6d20,ff000000 -34a6d24,80417aa4 -34a6d28,53419019 -34a6d2c,1977e0c -34a6d30,80417bc8 -34a6d34,80417790 -34a6d38,14ffff -34a6d3c,ff000000 -34a6d44,53419019 -34a6d48,1977e0c -34a6d4c,80417bc8 -34a6d50,80417790 -34a6d54,affff -34a6d58,ff000000 -34a6d60,53419019 -34a6d64,1977e0c -34a6d68,80417bc8 -34a6d6c,80417790 -34a6d70,5ffff -34a6d74,ff000000 -34a6d7c,53419200 -34a6d80,195770d -34a6d84,80417bc8 -34a6d88,804172f8 -34a6d8c,100000 -34a6d90,ff000000 -34a6d94,80417aa4 -34a6d98,4d85901b -34a6d9c,198720d -34a6da0,80417bc8 -34a6da4,804174b0 -34a6da8,10000 -34a6dac,ff000000 -34a6db0,804178ac -34a6db4,4d85901c -34a6db8,198720d -34a6dbc,80417bc8 -34a6dc0,804174b0 -34a6dc4,90001 -34a6dc8,ff000000 -34a6dcc,804178ac -34a6dd0,4d85901d -34a6dd4,198720d -34a6dd8,80417bc8 -34a6ddc,804174b0 -34a6de0,90002 -34a6de4,ff000000 -34a6de8,804178ac -34a6dec,4d85901e -34a6df0,198720d -34a6df4,80417bc8 -34a6df8,804174b0 -34a6dfc,80003 -34a6e00,ff000000 -34a6e04,804178ac -34a6e08,4d85901f -34a6e0c,198720d -34a6e10,80417bc8 -34a6e14,804174b0 -34a6e18,70004 -34a6e1c,ff000000 -34a6e20,804178ac -34a6e24,4d859020 -34a6e28,198720d -34a6e2c,80417bc8 -34a6e30,804174b0 -34a6e34,70005 -34a6e38,ff000000 -34a6e3c,804178ac -34a6e40,4d859021 -34a6e44,198720d -34a6e48,80417bc8 -34a6e4c,804174b0 -34a6e50,70006 -34a6e54,ff000000 -34a6e58,804178ac -34a6e5c,4d859022 -34a6e60,198720d -34a6e64,80417bc8 -34a6e68,804174b0 -34a6e6c,70007 -34a6e70,ff000000 -34a6e74,804178ac -34a6e78,4d859023 -34a6e7c,198720d -34a6e80,80417bc8 -34a6e84,804174b0 -34a6e88,b0008 -34a6e8c,ff000000 -34a6e90,804178ac -34a6e94,4d859024 -34a6e98,198720d -34a6e9c,80417bc8 -34a6ea0,804174b0 -34a6ea4,b0009 -34a6ea8,ff000000 -34a6eac,804178ac -34a6eb0,4d859025 -34a6eb4,198720d -34a6eb8,80417bc8 -34a6ebc,804174b0 -34a6ec0,b000a -34a6ec4,ff000000 -34a6ec8,804178ac -34a6ecc,4d859026 -34a6ed0,198720d -34a6ed4,80417bc8 -34a6ed8,804174b0 -34a6edc,6000b -34a6ee0,ff000000 -34a6ee4,804178ac -34a6ee8,4d859027 -34a6eec,198720d -34a6ef0,80417bc8 -34a6ef4,804174b0 -34a6ef8,6000c -34a6efc,ff000000 -34a6f00,804178ac -34a6f04,4d859028 -34a6f08,198720d -34a6f0c,80417bc8 -34a6f10,804174b0 -34a6f14,6000d -34a6f18,ff000000 -34a6f1c,804178ac -34a6f20,4d859029 -34a6f24,198720d -34a6f28,80417bc8 -34a6f2c,804174b0 -34a6f30,6000e -34a6f34,ff000000 -34a6f38,804178ac -34a6f3c,4d85902a -34a6f40,198720d -34a6f44,80417bc8 -34a6f48,804174b0 -34a6f4c,6000f -34a6f50,ff000000 -34a6f54,804178ac -34a6f58,4d85902b -34a6f5c,198720d -34a6f60,80417bc8 -34a6f64,804174b0 -34a6f68,d0010 -34a6f6c,ff000000 -34a6f70,804178ac -34a6f74,4d85902c -34a6f78,198720d -34a6f7c,80417bc8 -34a6f80,804174b0 -34a6f84,d0011 -34a6f88,ff000000 -34a6f8c,804178ac -34a6f90,4d85902d -34a6f94,198720d -34a6f98,80417bc8 -34a6f9c,804174b0 -34a6fa0,d0012 -34a6fa4,ff000000 -34a6fa8,804178ac -34a6fac,4d85902e -34a6fb0,198720d -34a6fb4,80417bc8 -34a6fb8,804174b0 -34a6fbc,d0013 -34a6fc0,ff000000 -34a6fc4,804178ac -34a6fc8,4d85902f -34a6fcc,198720d -34a6fd0,80417bc8 -34a6fd4,804174b0 -34a6fd8,d0014 -34a6fdc,ff000000 -34a6fe0,804178ac -34a6fe4,4d859030 -34a6fe8,198720d -34a6fec,80417bc8 -34a6ff0,804174b0 -34a6ff4,d0015 -34a6ff8,ff000000 -34a6ffc,804178ac -34a7000,4d41901b -34a7004,d17f0d -34a7008,80417bc8 -34a700c,80417540 -34a7010,10000 -34a7014,ff000000 -34a7018,8041795c -34a701c,4d41901c -34a7020,d17f0d -34a7024,80417bc8 -34a7028,80417540 -34a702c,90001 -34a7030,ff000000 -34a7034,8041795c -34a7038,4d41901d -34a703c,d17f0d -34a7040,80417bc8 -34a7044,80417540 -34a7048,90002 -34a704c,ff000000 -34a7050,8041795c -34a7054,4d41901e -34a7058,d17f0d -34a705c,80417bc8 -34a7060,80417540 -34a7064,80003 -34a7068,ff000000 -34a706c,8041795c -34a7070,4d41901f -34a7074,d17f0d -34a7078,80417bc8 -34a707c,80417540 -34a7080,70004 -34a7084,ff000000 -34a7088,8041795c -34a708c,4d419020 -34a7090,d17f0d -34a7094,80417bc8 -34a7098,80417540 -34a709c,70005 -34a70a0,ff000000 -34a70a4,8041795c -34a70a8,4d419021 -34a70ac,d17f0d -34a70b0,80417bc8 -34a70b4,80417540 -34a70b8,70006 -34a70bc,ff000000 -34a70c0,8041795c -34a70c4,4d419022 -34a70c8,d17f0d -34a70cc,80417bc8 -34a70d0,80417540 -34a70d4,70007 -34a70d8,ff000000 -34a70dc,8041795c -34a70e0,4d419023 -34a70e4,d17f0d -34a70e8,80417bc8 -34a70ec,80417540 -34a70f0,b0008 -34a70f4,ff000000 -34a70f8,8041795c -34a70fc,4d419024 -34a7100,d17f0d -34a7104,80417bc8 -34a7108,80417540 -34a710c,b0009 -34a7110,ff000000 -34a7114,8041795c -34a7118,4d419025 -34a711c,d17f0d -34a7120,80417bc8 -34a7124,80417540 -34a7128,b000a -34a712c,ff000000 -34a7130,8041795c -34a7134,4d419026 -34a7138,d17f0d -34a713c,80417bc8 -34a7140,80417540 -34a7144,6000b -34a7148,ff000000 -34a714c,8041795c -34a7150,4d419027 -34a7154,d17f0d -34a7158,80417bc8 -34a715c,80417540 -34a7160,6000c -34a7164,ff000000 -34a7168,8041795c -34a716c,4d419028 -34a7170,d17f0d -34a7174,80417bc8 -34a7178,80417540 -34a717c,6000d -34a7180,ff000000 -34a7184,8041795c -34a7188,4d419029 -34a718c,d17f0d -34a7190,80417bc8 -34a7194,80417540 -34a7198,6000e -34a719c,ff000000 -34a71a0,8041795c -34a71a4,4d41902a -34a71a8,d17f0d -34a71ac,80417bc8 -34a71b0,80417540 -34a71b4,6000f -34a71b8,ff000000 -34a71bc,8041795c -34a71c0,4d41902b -34a71c4,d17f0d -34a71c8,80417bc8 -34a71cc,80417540 -34a71d0,d0010 -34a71d4,ff000000 -34a71d8,8041795c -34a71dc,4d41902c -34a71e0,d17f0d -34a71e4,80417bc8 -34a71e8,80417540 -34a71ec,d0011 -34a71f0,ff000000 -34a71f4,8041795c -34a71f8,4d41902d -34a71fc,d17f0d -34a7200,80417bc8 -34a7204,80417540 -34a7208,d0012 -34a720c,ff000000 -34a7210,8041795c -34a7214,4d41902e -34a7218,d17f0d -34a721c,80417bc8 -34a7220,80417540 -34a7224,d0013 -34a7228,ff000000 -34a722c,8041795c -34a7230,4d41902f -34a7234,d17f0d -34a7238,80417bc8 -34a723c,80417540 -34a7240,d0014 -34a7244,ff000000 -34a7248,8041795c -34a724c,4d419030 -34a7250,d17f0d -34a7254,80417bc8 -34a7258,80417540 -34a725c,d0015 -34a7260,ff000000 -34a7264,8041795c -34a7268,5341908c -34a726c,1a8900c -34a7270,80417bc8 -34a7274,804177c4 -34a7278,ffff -34a727c,ff000000 -34a7284,5341908d -34a7288,1aa910c -34a728c,80417bc8 -34a7290,804177c4 -34a7294,1ffff -34a7298,ff000000 -34a72a0,5341908e -34a72a4,1aa920c -34a72a8,80417bc8 -34a72ac,804177c4 -34a72b0,2ffff -34a72b4,ff000000 -34a72bc,5341908f -34a72c0,1a9930c -34a72c4,80417bc8 -34a72c8,804177c4 -34a72cc,3ffff -34a72d0,ff000000 -34a72d8,53419090 -34a72dc,1a9940c -34a72e0,80417bc8 -34a72e4,804177c4 -34a72e8,4ffff -34a72ec,ff000000 -34a72f4,53410006 -34a72f8,1a38a02 -34a72fc,80417bc8 -34a7300,80417250 -34a7304,10003 -34a7308,ff000000 -34a7310,5341001c -34a7314,1a48b02 -34a7318,80417bc8 -34a731c,80417250 -34a7320,10004 -34a7324,ff000000 -34a732c,5341001d -34a7330,1a58c02 -34a7334,80417bc8 -34a7338,80417250 -34a733c,10005 -34a7340,ff000000 -34a7348,5341001e -34a734c,1a68d02 -34a7350,80417bc8 -34a7354,80417250 -34a7358,10006 -34a735c,ff000000 -34a7364,5341002a -34a7368,1a78e02 -34a736c,80417bc8 -34a7370,80417250 -34a7374,10007 -34a7378,ff000000 -34a7380,53410061 -34a7384,b98f02 -34a7388,80417bc8 -34a738c,80417250 -34a7390,1000a -34a7394,ff000000 -34a739c,53410093 -34a73a0,199800d -34a73a4,80417bc8 -34a73a8,80417264 -34a73ac,3ffff -34a73b0,ff000000 -34a73b4,804179e8 -34a73b8,53410094 -34a73bc,19a810d -34a73c0,80417bc8 -34a73c4,80417264 -34a73c8,4ffff -34a73cc,ff000000 -34a73d0,804179e8 -34a73d4,53410095 -34a73d8,19b820d -34a73dc,80417bc8 -34a73e0,80417264 -34a73e4,5ffff -34a73e8,ff000000 -34a73ec,804179e8 -34a73f0,534100a6 -34a73f4,19c830d -34a73f8,80417bc8 -34a73fc,80417264 -34a7400,6ffff -34a7404,ff000000 -34a7408,804179e8 -34a740c,534100a9 -34a7410,19d840d -34a7414,80417bc8 -34a7418,80417264 -34a741c,7ffff -34a7420,ff000000 -34a7424,804179e8 -34a7428,5341009b -34a742c,19e850d -34a7430,80417bc8 -34a7434,80417264 -34a7438,8ffff -34a743c,ff000000 -34a7440,804179e8 -34a7444,5341009f -34a7448,19f860d -34a744c,80417bc8 -34a7450,80417264 -34a7454,bffff -34a7458,ff000000 -34a745c,804179e8 -34a7460,534100a0 -34a7464,1a0870d -34a7468,80417bc8 -34a746c,80417264 -34a7470,cffff -34a7474,ff000000 -34a7478,804179e8 -34a747c,534100a1 -34a7480,1a1880d -34a7484,80417bc8 -34a7488,80417264 -34a748c,dffff -34a7490,ff000000 -34a7494,804179e8 -34a7498,534100f3 -34a749c,1a2890d -34a74a0,80417bc8 -34a74a4,80417264 -34a74a8,10ffff -34a74ac,ff000000 -34a74b0,80417a70 -34a7738,534190b4 -34a773c,db950c -34a7740,80417bc8 -34a7744,80417840 -34a7748,ffff -34a774c,ff000000 -34a7754,30313233 -34a7758,34353637 -34a775c,38393f3f -34a7760,3f3f3f3f -34a7764,3f3f3f3f -34a7768,3f3f3f3f -34a776c,3f3f3f3f -34a7770,3f3f3f3f -34a7774,3f3f3f3f -34a7778,3f3f3f3f -34a777c,3f3f3f3f -34a7780,3f3f3f3f -34a7784,3f3f3f3f -34a7788,3f3f3f3f -34a778c,3f3f3f3f -34a7790,3f3f3f3f -34a7794,3f3f3f3f -34a7798,3f3f3f3f -34a779c,3f3f3f3f -34a77a0,3f3f3f3f -34a77a4,3f3f3f3f -34a77a8,3f3f3f3f -34a77ac,3f3f3f3f -34a77b0,3f3f3f3f -34a77b4,3f3f3f3f -34a77b8,3f3f3f3f -34a77bc,3f3f3f3f -34a77c0,3f3f3f3f -34a77c4,3f3f3f3f -34a77c8,3f3f3f3f -34a77cc,3f3f3f3f -34a77d0,3f3f3f3f -34a77d4,3f3f3f3f -34a77d8,3f3f3f3f -34a77dc,3f3f3f3f -34a77e0,3f3f3f3f -34a77e4,3f3f3f3f -34a77e8,3f3f3f3f -34a77ec,3f3f3f3f -34a77f0,3f3f3f3f -34a77f4,3f3f3f3f -34a77f8,3f3f3f3f -34a77fc,3f3f3f41 -34a7800,42434445 -34a7804,46474849 -34a7808,4a4b4c4d -34a780c,4e4f5051 -34a7810,52535455 -34a7814,56575859 -34a7818,5a616263 -34a781c,64656667 -34a7820,68696a6b -34a7824,6c6d6e6f -34a7828,70717273 -34a782c,74757677 -34a7830,78797a20 -34a7834,3f3f213a -34a7838,2d28293f -34a783c,3f2c2e2f -34a7840,3f3f3f3f -34a7844,3f3f3f3f -34a7848,3f3f3f3f -34a784c,3f3f3f3f -34a7850,3f3f3f3f -34a7858,948 -34a7860,fffc -34a7864,ff98 -34a786c,25f -34a7878,ff54 -34a787c,32 -34a7880,ff42 -34a7884,2b9 -34a7890,339 -34a7894,5 -34a7898,b -34a789c,ff56 -34a78a0,39 -34a78a4,c0 -34a78a8,2b7 -34a78b4,331 -34a78b8,8 -34a78bc,4 -34a78c4,ff99 -34a78c8,fff9 -34a78cc,3e4 -34a78d0,ff37 -34a78d4,ffff -34a78d8,fe93 -34a78dc,fd62 -34a78f0,2b8 -34a78f4,ff51 -34a78f8,1d2 -34a78fc,245 -34a7908,202 -34a7914,2b8 -34a7918,ff51 -34a791c,fe2e -34a7920,241 -34a792c,20d -34a7938,291 -34a793c,fdf5 -34a7940,16f -34a7950,ffc7 -34a7954,d31 -34a7968,3b1 -34a7974,fe71 -34a7978,45 -34a797c,ff07 -34a7980,51a -34a798c,4e8 -34a7990,5 -34a7994,b -34a7998,fe74 -34a799c,4c -34a79a0,108 -34a79a4,518 -34a79b0,4e9 -34a79b4,6 -34a79b8,3 -34a79c0,15 -34a79c4,fff9 -34a79c8,570 -34a79cc,fefd -34a79d4,fed6 -34a79d8,fd44 -34a79ec,40f -34a79f0,ff54 -34a79f4,2a8 -34a79f8,397 -34a7a04,2f2 -34a7a10,40f -34a7a14,ff53 -34a7a18,fd58 -34a7a1c,397 -34a7a28,2f2 -34a7a34,3d2 -34a7a38,fd4c -34a7a3c,156 -34a7a4c,2 -34a7a50,18 -34a7a54,19 -34a7a58,1a -34a7a5c,1b -34a7a60,1c -34a7a64,1d -34a7a68,1e -34a7a6c,1f -34a7a70,26 -34a7a74,27 -34a7a78,28 -34a7a7c,29 -34a7a80,2a -34a7a84,2c -34a7a88,2d -34a7a8c,2e -34a7a90,2f -34a7a94,30 -34a7a98,38 -34a7a9c,3a -34a7aa0,3c -34a7aa4,3e -34a7aa8,3f -34a7aac,40 -34a7ab0,42 -34a7ab4,4a -34a7ab8,4b -34a7abc,4c -34a7ac0,4e -34a7ac4,4f -34a7ac8,50 -34a7acc,55 -34a7ad0,56 -34a7ad4,58 -34a7ad8,5a -34a7adc,5b -34a7ae0,5c -34a7ae4,5f -34a7ae8,60 -34a7aec,61 -34a7af0,62 -34a7af4,63 -34a7af8,64 -34a7afc,65 -34a7b00,6b -34a7b04,6c -34a7b08,1 -34a7b0c,8008ffc0 -34a7b10,1d9 -34a7b14,c4b5e000 -34a7b18,c1a00000 -34a7b1c,44ad0000 -34a7b20,70590000 -34a7b24,311 -34a7b28,45b6e000 -34a7b2c,c1a00000 -34a7b30,4568d000 -34a7b34,b1c70000 -34a7b38,4da -34a7b3c,44f74000 -34a7b40,c2100000 -34a7b44,c455c000 -34a7b48,c0000000 -34a7b4c,1dd -34a7b50,457f2000 -34a7b54,44570000 -34a7b58,c47e8000 -34a7b5c,80000000 -34a7b60,219 -34a7b64,c54cc000 -34a7b68,c4812000 -34a7b6c,4535c000 -34a7b70,2bdc0000 -34a7b74,3d4 -34a7b78,c5139000 -34a7b80,44188000 -34a7b84,80000000 -34a7b88,21d -34a7b8c,c46ec000 -34a7b90,c4a34000 -34a7b94,45d38000 -34a7b98,80000000 -34a7b9c,328 -34a7ba0,c2da0000 -34a7ba4,41300000 -34a7ba8,c1100000 -34a7bac,8e350000 -34a7bb0,560 -34a7bb4,c4640000 -34a7bb8,c4a5c000 -34a7bbc,4553f000 -34a7bc4,10e -34a7bc8,c4bb8000 -34a7bcc,43160000 -34a7bd0,44c80000 -34a7bd4,80000000 -34a7be8,1 -34a7bf8,2 -34a7c08,3 -34a7c18,4 -34a7c28,5 -34a7c38,6 -34a7c48,7 -34a7c58,8 -34a7c68,9 -34a7c78,a -34a7c88,b -34a7c98,c -34a7ca8,d -34a7cf8,12 -34a7d08,13 -34a7d18,14 -34a7d28,15 -34a7d38,16 -34a7d48,17 -34a7d58,18 -34a7d68,19 -34a7d78,1a -34a7d88,1b -34a7d98,1c -34a7da8,1d -34a7db8,1e +349fb70,344284a0 +349fb74,3c030001 +349fb78,431021 +349fb7c,94430934 +349fb80,24020006 +349fb84,14620015 +349fb88,3c028040 +349fb8c,3c02801c +349fb90,344284a0 +349fb94,3c030001 +349fb98,431021 +349fb9c,94420948 +349fba0,1440000b +349fba4,3c028044 +349fba8,100000a0 +349fbac,8fbf006c +349fbb0,344284a0 +349fbb4,3c030001 +349fbb8,431021 +349fbbc,94430934 +349fbc0,24020006 +349fbc4,14620005 +349fbc8,3c028040 +349fbcc,3c028044 +349fbd0,ac40202c +349fbd4,10000026 +349fbd8,241300ff +349fbdc,90430cb0 +349fbe0,24020002 +349fbe4,10620090 +349fbe8,3c028044 +349fbec,8c42202c +349fbf0,2c430006 +349fbf4,1060000a +349fbf8,2c43006a +349fbfc,21a00 +349fc00,621023 +349fc04,3c03cccc +349fc08,3463cccd +349fc0c,430019 +349fc10,1010 +349fc14,21082 +349fc18,10000015 +349fc1c,305300ff +349fc20,14600013 +349fc24,241300ff +349fc28,2c4300ba +349fc2c,1060000b +349fc30,21a00 +349fc34,621023 +349fc38,24429769 +349fc3c,3c03cccc +349fc40,3463cccd +349fc44,430019 +349fc48,1010 +349fc4c,29982 +349fc50,139827 +349fc54,10000006 +349fc58,327300ff +349fc5c,3c028044 +349fc60,ac40202c +349fc64,3c028044 +349fc68,1000006f +349fc6c,ac402028 +349fc70,3c038044 +349fc74,8c62202c +349fc78,24420001 +349fc7c,ac62202c +349fc80,3c128043 +349fc84,2652d37c +349fc88,8025 +349fc8c,3c14800c +349fc90,3694ab18 +349fc94,2415002f +349fc98,280f809 +349fc9c,2025 +349fca0,8e430000 +349fca4,54430006 +349fca8,26100001 +349fcac,2e02002f +349fcb0,14400008 +349fcb4,108600 +349fcb8,1000005c +349fcbc,8fbf006c +349fcc0,321000ff +349fcc4,1615fff4 +349fcc8,26520004 +349fccc,10000057 +349fcd0,8fbf006c +349fcd4,108603 +349fcd8,101040 +349fcdc,501021 +349fce0,210c0 +349fce4,501021 +349fce8,21040 +349fcec,3c038040 +349fcf0,24630cb1 +349fcf4,621821 +349fcf8,27a20018 +349fcfc,27a5004a +349fd00,80640000 +349fd04,10800004 +349fd08,a0440000 +349fd0c,24420001 +349fd10,14a2fffb +349fd14,24630001 +349fd18,8e220008 +349fd1c,24430008 +349fd20,ae230008 +349fd24,3c03de00 +349fd28,ac430000 +349fd2c,3c038043 +349fd30,24639688 +349fd34,ac430004 +349fd38,8e220008 +349fd3c,24430008 +349fd40,ae230008 +349fd44,3c03fc11 +349fd48,34639623 +349fd4c,ac430000 +349fd50,3c03ff2f +349fd54,3463ffff +349fd58,ac430004 +349fd5c,8e220008 +349fd60,24430008 +349fd64,ae230008 +349fd68,3c10e700 +349fd6c,ac500000 +349fd70,ac400004 +349fd74,8e220008 +349fd78,24430008 +349fd7c,ae230008 +349fd80,3c15fa00 +349fd84,ac550000 +349fd88,ac530004 +349fd8c,2414000b +349fd90,afb40014 +349fd94,24120006 +349fd98,afb20010 +349fd9c,24070008 +349fda0,24060008 +349fda4,27a50018 +349fda8,c108a2d +349fdac,2202025 +349fdb0,8e220008 +349fdb4,24430008 +349fdb8,ae230008 +349fdbc,ac500000 +349fdc0,ac400004 +349fdc4,8e220008 +349fdc8,24430008 +349fdcc,ae230008 +349fdd0,ac550000 +349fdd4,2403ff00 +349fdd8,2639825 +349fddc,ac530004 +349fde0,afb40014 +349fde4,afb20010 +349fde8,24070007 +349fdec,24060007 +349fdf0,27a50018 +349fdf4,c108a2d +349fdf8,2202025 +349fdfc,8e220008 +349fe00,24430008 +349fe04,ae230008 +349fe08,ac500000 +349fe0c,10000006 +349fe10,ac400004 +349fe14,94421f60 +349fe18,5040ff6d +349fe1c,3c028044 +349fe20,1000ff5b +349fe24,3c02801c +349fe28,8fbf006c +349fe2c,8fb50068 +349fe30,8fb40064 +349fe34,8fb30060 +349fe38,8fb2005c +349fe3c,8fb10058 +349fe40,8fb00054 +349fe44,3e00008 +349fe48,27bd0070 +349fe4c,3e00008 +349fe54,3c028040 +349fe58,90420cb0 +349fe5c,10400053 +349fe60,3c038040 +349fe64,27bdff98 +349fe68,afbf0064 +349fe6c,afb40060 +349fe70,afb3005c +349fe74,afb20058 +349fe78,afb10054 +349fe7c,afb00050 +349fe80,808025 +349fe84,24630ed7 +349fe88,27a20018 +349fe8c,27a4004a +349fe90,80650000 +349fe94,10a00004 +349fe98,a0450000 +349fe9c,24420001 +349fea0,1444fffb +349fea4,24630001 +349fea8,8e020008 +349feac,24430008 +349feb0,ae030008 +349feb4,3c03de00 +349feb8,ac430000 +349febc,3c038043 +349fec0,24639688 +349fec4,ac430004 +349fec8,8e020008 +349fecc,24430008 +349fed0,ae030008 +349fed4,3c03fc11 +349fed8,34639623 +349fedc,ac430000 +349fee0,3c03ff2f +349fee4,3463ffff +349fee8,ac430004 +349feec,8e020008 +349fef0,24430008 +349fef4,ae030008 +349fef8,3c14e700 +349fefc,ac540000 +349ff00,ac400004 +349ff04,8e020008 +349ff08,24430008 +349ff0c,ae030008 +349ff10,3c13fa00 +349ff14,ac530000 +349ff18,240300ff +349ff1c,ac430004 +349ff20,2412000b +349ff24,afb20014 +349ff28,24110006 +349ff2c,afb10010 +349ff30,240700dd +349ff34,24060008 +349ff38,27a50018 +349ff3c,c108a2d +349ff40,2002025 +349ff44,8e020008 +349ff48,24430008 +349ff4c,ae030008 +349ff50,ac540000 +349ff54,ac400004 +349ff58,8e020008 +349ff5c,24430008 +349ff60,ae030008 +349ff64,ac530000 +349ff68,2403ffff +349ff6c,ac430004 +349ff70,afb20014 +349ff74,afb10010 +349ff78,240700dc +349ff7c,24060007 +349ff80,27a50018 +349ff84,c108a2d +349ff88,2002025 +349ff8c,8fbf0064 +349ff90,8fb40060 +349ff94,8fb3005c +349ff98,8fb20058 +349ff9c,8fb10054 +349ffa0,8fb00050 +349ffa4,3e00008 +349ffa8,27bd0068 +349ffac,3e00008 +349ffb4,27bdffe0 +349ffb8,afbf001c +349ffbc,afb20018 +349ffc0,afb10014 +349ffc4,afb00010 +349ffc8,809025 +349ffcc,c101c56 +349ffd0,a08025 +349ffd4,600002c +349ffd8,408825 +349ffdc,8c420008 +349ffe0,10400019 +349ffe4,3c02800c +349ffe8,c105016 +349ffec,26240004 +349fff0,14400015 +349fff4,3c02800c +349fff8,3c028043 +349fffc,8e240004 +34a0000,8e230008 +34a0004,ac44f59c +34a0008,2451f59c +34a000c,ae230004 +34a0010,2003025 +34a0014,26450024 +34a0018,3c04801c +34a001c,3c028001 +34a0020,244238b0 +34a0024,40f809 +34a0028,348484a0 +34a002c,24050008 +34a0030,3c028000 +34a0034,24422e80 +34a0038,40f809 +34a003c,2202025 +34a0040,10000012 +34a0044,8fbf001c +34a0048,3442dccc +34a004c,40f809 +34a0054,3c028042 +34a0058,c44246fc +34a005c,4600103c +34a0064,45000009 +34a0068,8fbf001c +34a006c,2003025 +34a0070,26450024 +34a0074,3c04801c +34a0078,3c028001 +34a007c,24423678 +34a0080,40f809 +34a0084,348484a0 +34a0088,8fbf001c +34a008c,8fb20018 +34a0090,8fb10014 +34a0094,8fb00010 +34a0098,3e00008 +34a009c,27bd0020 +34a00a0,27bdffe8 +34a00a4,afbf0014 +34a00a8,afb00010 +34a00ac,80820116 +34a00b0,18400003 +34a00b4,808025 +34a00b8,2442ffff +34a00bc,a0820116 +34a00c0,960201a2 +34a00c4,24422ee0 +34a00c8,a60201a2 +34a00cc,8e02013c +34a00d0,40f809 +34a00d4,2002025 +34a00d8,3c028006 +34a00dc,244236c4 +34a00e0,40f809 +34a00e4,860401a2 +34a00e8,960301a0 +34a00ec,44831000 +34a00f4,468010a0 +34a00f8,46001002 +34a00fc,96020014 +34a0100,44821000 +34a0108,468010a0 +34a010c,46020000 +34a0110,3c028042 +34a0114,c4424700 +34a0118,4600103e +34a0120,45030005 +34a0124,46020001 +34a0128,4600000d +34a012c,44020000 +34a0130,10000006 +34a0134,a60200b4 +34a0138,4600000d +34a013c,44020000 +34a0140,3c048000 +34a0144,441025 +34a0148,a60200b4 +34a014c,920201a4 +34a0150,1040000b +34a0154,8fbf0014 +34a0158,5460000a +34a015c,8fb00010 +34a0160,82020116 +34a0164,54400007 +34a0168,8fb00010 +34a016c,24020800 +34a0170,a60201a0 +34a0174,24020040 +34a0178,a2020116 +34a017c,8fbf0014 +34a0180,8fb00010 +34a0184,3e00008 +34a0188,27bd0018 +34a018c,27bdffe8 +34a0190,afbf0014 +34a0194,afb00010 +34a0198,3c028040 +34a019c,90421df3 +34a01a0,10400008 +34a01a4,a08025 +34a01a8,3c028011 +34a01ac,3442a5d0 +34a01b0,8c4200a4 +34a01b4,3c030020 +34a01b8,431024 +34a01bc,10400035 +34a01c0,3c020501 +34a01c4,9082018c +34a01c8,2c420012 +34a01cc,10400034 +34a01d0,3c020501 +34a01d4,9083018c +34a01d8,31880 +34a01dc,3c028042 +34a01e0,24424704 +34a01e4,431021 +34a01e8,8c420000 +34a01ec,400008 +34a01f4,3c028040 +34a01f8,90421dee +34a01fc,5040002a +34a0200,3c020501 +34a0204,c108add +34a0208,2404000a +34a020c,10000030 +34a0210,8e030000 +34a0214,3c028040 +34a0218,90421def +34a021c,50400024 +34a0220,3c020501 +34a0224,c108add +34a0228,2404000b +34a022c,10000028 +34a0230,8e030000 +34a0234,3c028040 +34a0238,90421ded +34a023c,5040001e +34a0240,3c020501 +34a0244,c108add +34a0248,2404000d +34a024c,10000020 +34a0250,8e030000 +34a0254,3c028040 +34a0258,90421df0 +34a025c,50400018 +34a0260,3c020501 +34a0264,c108add +34a0268,2404000c +34a026c,10000018 +34a0270,8e030000 +34a0274,3c028040 +34a0278,90421df1 +34a027c,50400012 +34a0280,3c020501 +34a0284,c108add +34a0288,2404001d +34a028c,10000010 +34a0290,8e030000 +34a0294,1000000d +34a0298,24421ca0 +34a029c,3c020501 +34a02a0,1000000a +34a02a4,24421ca0 +34a02a8,10000008 +34a02ac,24421ca0 +34a02b0,10000006 +34a02b4,24421ca0 +34a02b8,10000004 +34a02bc,24421ca0 +34a02c0,10000002 +34a02c4,24421ca0 +34a02c8,24421ca0 +34a02cc,8e030000 +34a02d0,8c6402c4 +34a02d4,2485fff0 +34a02d8,ac6502c4 +34a02dc,3c05fd10 +34a02e0,ac85fff0 +34a02e4,ac82fff4 +34a02e8,8c6202c4 +34a02ec,3c04df00 +34a02f0,ac440008 +34a02f4,ac40000c +34a02f8,8c6402c4 +34a02fc,8c6202c0 +34a0300,24450008 +34a0304,ac6502c0 +34a0308,3c03db06 +34a030c,24630024 +34a0310,ac430000 +34a0314,ac440004 +34a0318,3c050500 +34a031c,24a55290 +34a0320,3c028002 +34a0324,34428048 +34a0328,40f809 +34a032c,2002025 +34a0330,8fbf0014 +34a0334,8fb00010 +34a0338,3e00008 +34a033c,27bd0018 +34a0340,27bdffd8 +34a0344,afbf0024 +34a0348,afb30020 +34a034c,afb2001c +34a0350,afb10018 +34a0354,afb00014 +34a0358,808025 +34a035c,a09825 +34a0360,9492001c +34a0364,c101c56 +34a0368,3252001f +34a036c,408825 +34a0370,8c420008 +34a0374,10400018 +34a0378,3242ffff +34a037c,c105016 +34a0380,26240004 +34a0384,14400014 +34a0388,3242ffff +34a038c,3c028043 +34a0390,8e240004 +34a0394,8e230008 +34a0398,ac44f59c +34a039c,2451f59c +34a03a0,ae230004 +34a03a4,3025 +34a03a8,26050024 +34a03ac,3c028001 +34a03b0,24423678 +34a03b4,40f809 +34a03b8,2602025 +34a03bc,24050008 +34a03c0,3c028000 +34a03c4,24422e80 +34a03c8,40f809 +34a03cc,2202025 +34a03d0,1000000d +34a03d4,8fbf0024 +34a03d8,2c42001a +34a03dc,1040000a +34a03e0,8fbf0024 +34a03e4,9606001c +34a03e8,30c63f00 +34a03ec,2463025 +34a03f0,26050024 +34a03f4,3c028001 +34a03f8,24423678 +34a03fc,40f809 +34a0400,2602025 +34a0404,8fbf0024 +34a0408,8fb30020 +34a040c,8fb2001c +34a0410,8fb10018 +34a0414,8fb00014 +34a0418,3e00008 +34a041c,27bd0028 +34a0420,27bdffd8 +34a0424,afbf0024 +34a0428,afb40020 +34a042c,afb3001c +34a0430,afb20018 +34a0434,afb10014 +34a0438,afb00010 +34a043c,808025 +34a0440,a09825 +34a0444,849401a4 +34a0448,94920014 +34a044c,c101c56 +34a0450,3252001f +34a0454,408825 +34a0458,8c420008 +34a045c,10400018 +34a0460,3242ffff +34a0464,c105016 +34a0468,26240004 +34a046c,14400014 +34a0470,3242ffff +34a0474,3c028043 +34a0478,8e240004 +34a047c,8e230008 +34a0480,ac44f59c +34a0484,2451f59c +34a0488,ae230004 +34a048c,3025 +34a0490,26050024 +34a0494,3c028001 +34a0498,24423678 +34a049c,40f809 +34a04a0,2602025 +34a04a4,24050008 +34a04a8,3c028000 +34a04ac,24422e80 +34a04b0,40f809 +34a04b4,2202025 +34a04b8,1000000d +34a04bc,8fbf0024 +34a04c0,2c42001a +34a04c4,1040000a +34a04c8,8fbf0024 +34a04cc,3286003f +34a04d0,63200 +34a04d4,2463025 +34a04d8,26050024 +34a04dc,3c028001 +34a04e0,24423678 +34a04e4,40f809 +34a04e8,2602025 +34a04ec,8fbf0024 +34a04f0,8fb40020 +34a04f4,8fb3001c +34a04f8,8fb20018 +34a04fc,8fb10014 +34a0500,8fb00010 +34a0504,3e00008 +34a0508,27bd0028 +34a050c,27bdffe0 +34a0510,afbf001c +34a0514,afb10018 +34a0518,afb00014 +34a051c,808825 +34a0520,a08025 +34a0524,c108add +34a0528,24040005 +34a052c,3c038040 +34a0530,90631df3 +34a0534,50600009 +34a0538,922301a6 +34a053c,3c038011 +34a0540,3463a5d0 +34a0544,8c6300a4 +34a0548,3c040020 +34a054c,641824 +34a0550,50600033 +34a0554,8e030000 +34a0558,922301a6 +34a055c,2c630012 +34a0560,1060002e +34a0564,3c038042 +34a0568,922401a6 +34a056c,42080 +34a0570,2463474c +34a0574,641821 +34a0578,8c630000 +34a057c,600008 +34a0584,3c038040 +34a0588,90631dee +34a058c,50600024 +34a0590,8e030000 +34a0594,c108add +34a0598,24040006 +34a059c,10000020 +34a05a0,8e030000 +34a05a4,3c038040 +34a05a8,90631def +34a05ac,5060001c +34a05b0,8e030000 +34a05b4,c108add +34a05b8,24040007 +34a05bc,10000018 +34a05c0,8e030000 +34a05c4,3c038040 +34a05c8,90631ded +34a05cc,50600014 +34a05d0,8e030000 +34a05d4,c108add +34a05d8,24040009 +34a05dc,10000010 +34a05e0,8e030000 +34a05e4,3c038040 +34a05e8,90631df0 +34a05ec,5060000c +34a05f0,8e030000 +34a05f4,c108add +34a05f8,24040008 +34a05fc,10000008 +34a0600,8e030000 +34a0604,3c038040 +34a0608,90631df1 +34a060c,50600004 +34a0610,8e030000 +34a0614,c108add +34a0618,2404001c +34a061c,8e030000 +34a0620,8c6402c4 +34a0624,2485ffd0 +34a0628,ac6502c4 +34a062c,3c06fd50 +34a0630,ac86ffd0 +34a0634,24450200 +34a0638,ac85ffd4 +34a063c,8c6502c4 +34a0640,3c04df00 +34a0644,aca40008 +34a0648,aca0000c +34a064c,8c6502c4 +34a0650,3c07fd10 +34a0654,aca70010 +34a0658,aca20014 +34a065c,8c6502c4 +34a0660,aca40018 +34a0664,aca0001c +34a0668,8c6502c4 +34a066c,aca60020 +34a0670,24420a00 +34a0674,aca20024 +34a0678,8c6202c4 +34a067c,ac440028 +34a0680,ac40002c +34a0684,8c6402c4 +34a0688,8c6202c0 +34a068c,24450008 +34a0690,ac6502c0 +34a0694,3c03db06 +34a0698,24630024 +34a069c,ac430000 +34a06a0,ac440004 +34a06a4,3c050600 +34a06a8,24a50960 +34a06ac,3c028002 +34a06b0,34428048 +34a06b4,40f809 +34a06b8,2002025 +34a06bc,8fbf001c +34a06c0,8fb10018 +34a06c4,8fb00014 +34a06c8,3e00008 +34a06cc,27bd0020 +34a06d0,27bdffb8 +34a06d4,afbf0044 +34a06d8,afb30040 +34a06dc,afb2003c +34a06e0,afb10038 +34a06e4,afb00034 +34a06e8,809825 +34a06ec,a08825 +34a06f0,c09025 +34a06f4,e08025 +34a06f8,afa00020 +34a06fc,c101c56 +34a0700,afa00024 +34a0704,26070001 +34a0708,30e700ff +34a070c,94460000 +34a0710,27a50020 +34a0714,c101c58 +34a0718,2602025 +34a071c,27a50020 +34a0720,c104c05 +34a0724,27a40028 +34a0728,8fa20028 +34a072c,afa20020 +34a0730,8fa2002c +34a0734,afa20024 +34a0738,27a50020 +34a073c,c101ce3 +34a0740,27a40010 +34a0744,8fa20010 +34a0748,8fa30014 +34a074c,431025 +34a0750,10400016 +34a0754,123400 +34a0758,3c138043 +34a075c,8fa20020 +34a0760,ae62f59c +34a0764,2673f59c +34a0768,8fa20024 +34a076c,ae620004 +34a0770,63403 +34a0774,2202825 +34a0778,3c04801c +34a077c,3c028001 +34a0780,244238b0 +34a0784,40f809 +34a0788,348484a0 +34a078c,408025 +34a0790,24050008 +34a0794,3c028000 +34a0798,24422e80 +34a079c,40f809 +34a07a0,2602025 +34a07a4,1000000a +34a07a8,2001025 +34a07ac,63403 +34a07b0,2202825 +34a07b4,3c04801c +34a07b8,3c028001 +34a07bc,244238b0 +34a07c0,40f809 +34a07c4,348484a0 +34a07c8,408025 +34a07cc,2001025 +34a07d0,8fbf0044 +34a07d4,8fb30040 +34a07d8,8fb2003c +34a07dc,8fb10038 +34a07e0,8fb00034 +34a07e4,3e00008 +34a07e8,27bd0048 +34a07ec,27bdffe0 +34a07f0,afbf001c +34a07f4,afb20018 +34a07f8,afb10014 +34a07fc,afb00010 +34a0800,808825 +34a0804,3c028008 +34a0808,24421628 +34a080c,40f809 +34a0810,a08025 +34a0814,2403ffff +34a0818,1443000d +34a081c,8fbf001c +34a0820,92230008 +34a0824,2c630013 +34a0828,1060000a +34a082c,8fb20018 +34a0830,92320009 +34a0834,2002825 +34a0838,3c028008 +34a083c,244212f0 +34a0840,40f809 +34a0844,2202025 +34a0848,a2320009 +34a084c,8fbf001c +34a0850,8fb20018 +34a0854,8fb10014 +34a0858,8fb00010 +34a085c,3e00008 +34a0860,27bd0020 +34a0864,27bdffd8 +34a0868,afbf0024 +34a086c,afb10020 +34a0870,afb0001c +34a0874,a08825 +34a0878,c08025 +34a087c,3c028042 +34a0880,c4404798 +34a0884,3c028042 +34a0888,8c474794 +34a088c,3c028002 +34a0890,24422bd4 +34a0894,40f809 +34a0898,e7a00010 +34a089c,14400018 +34a08a0,8fbf0024 +34a08a4,3c028040 +34a08a8,90421dde +34a08ac,50400015 +34a08b0,8fb10020 +34a08b4,24020043 +34a08b8,12020005 +34a08bc,24020044 +34a08c0,1202000a +34a08c4,24050079 +34a08c8,1000000e +34a08cc,8fb10020 +34a08d0,24050078 +34a08d4,3c028006 +34a08d8,3442fdcc +34a08dc,40f809 +34a08e0,2202025 +34a08e4,10000006 +34a08e8,8fbf0024 +34a08ec,3c028006 +34a08f0,3442fdcc +34a08f4,40f809 +34a08f8,2202025 +34a08fc,8fbf0024 +34a0900,8fb10020 +34a0904,8fb0001c +34a0908,3e00008 +34a090c,27bd0028 +34a0910,3c028011 +34a0914,3442a5d0 +34a0918,8c4309a4 +34a091c,38620001 +34a0920,30640002 +34a0924,14800002 +34a0928,30420001 +34a092c,34420002 +34a0930,30640004 +34a0934,50800001 +34a0938,34420004 +34a093c,30640008 +34a0940,50800001 +34a0944,34420008 +34a0948,30630010 +34a094c,50600001 +34a0950,34420010 +34a0954,3e00008 +34a095c,3c028040 +34a0960,90421de6 +34a0964,1040000c +34a096c,27bdffe8 +34a0970,afbf0014 +34a0974,c108244 +34a097c,3c038040 +34a0980,90631de7 +34a0984,431024 +34a0988,2c420001 +34a098c,8fbf0014 +34a0990,3e00008 +34a0994,27bd0018 +34a0998,3e00008 +34a099c,24020001 +34a09a0,27bdffb8 +34a09a4,afbf0044 +34a09a8,afb30040 +34a09ac,afb2003c +34a09b0,afb10038 +34a09b4,afb00034 +34a09b8,809025 +34a09bc,a08825 +34a09c0,c09825 +34a09c4,e08025 +34a09c8,afa00020 +34a09cc,c101c56 +34a09d0,afa00024 +34a09d4,26070001 +34a09d8,30e700ff +34a09dc,94460000 +34a09e0,27a50020 +34a09e4,c101c58 +34a09e8,2402025 +34a09ec,27a50020 +34a09f0,c104c05 +34a09f4,27a40028 +34a09f8,8fa20028 +34a09fc,afa20020 +34a0a00,8fa2002c +34a0a04,afa20024 +34a0a08,27a50020 +34a0a0c,c101ce3 +34a0a10,27a40010 +34a0a14,8fa20010 +34a0a18,8fa30014 +34a0a1c,431025 +34a0a20,10400016 +34a0a24,133400 +34a0a28,3c128043 +34a0a2c,8fa20020 +34a0a30,ae42f59c +34a0a34,2652f59c +34a0a38,8fa20024 +34a0a3c,ae420004 +34a0a40,3025 +34a0a44,2202825 +34a0a48,3c04801c +34a0a4c,3c028001 +34a0a50,24423678 +34a0a54,40f809 +34a0a58,348484a0 +34a0a5c,408025 +34a0a60,24050008 +34a0a64,3c028000 +34a0a68,24422e80 +34a0a6c,40f809 +34a0a70,2402025 +34a0a74,1000000a +34a0a78,2001025 +34a0a7c,63403 +34a0a80,2202825 +34a0a84,3c04801c +34a0a88,3c028001 +34a0a8c,24423678 +34a0a90,40f809 +34a0a94,348484a0 +34a0a98,408025 +34a0a9c,2001025 +34a0aa0,8fbf0044 +34a0aa4,8fb30040 +34a0aa8,8fb2003c +34a0aac,8fb10038 +34a0ab0,8fb00034 +34a0ab4,3e00008 +34a0ab8,27bd0048 +34a0abc,27bdffc0 +34a0ac0,afbf003c +34a0ac4,afb20038 +34a0ac8,afb10034 +34a0acc,afb00030 +34a0ad0,809025 +34a0ad4,a08825 +34a0ad8,c08025 +34a0adc,afa00020 +34a0ae0,c101c56 +34a0ae4,afa00024 +34a0ae8,26070001 +34a0aec,30e700ff +34a0af0,94460000 +34a0af4,27a50020 +34a0af8,c101c58 +34a0afc,2402025 +34a0b00,27a50020 +34a0b04,c104c05 +34a0b08,27a40028 +34a0b0c,8fa20028 +34a0b10,afa20020 +34a0b14,8fa2002c +34a0b18,afa20024 +34a0b1c,27a50020 +34a0b20,c101ce3 +34a0b24,27a40010 +34a0b28,8fa20010 +34a0b2c,8fa30014 +34a0b30,431025 +34a0b34,10400016 +34a0b38,24060004 +34a0b3c,3c128043 +34a0b40,8fa20020 +34a0b44,ae42f59c +34a0b48,2652f59c +34a0b4c,8fa20024 +34a0b50,ae420004 +34a0b54,3025 +34a0b58,2202825 +34a0b5c,3c04801c +34a0b60,3c028001 +34a0b64,24423678 +34a0b68,40f809 +34a0b6c,348484a0 +34a0b70,408025 +34a0b74,24050008 +34a0b78,3c028000 +34a0b7c,24422e80 +34a0b80,40f809 +34a0b84,2402025 +34a0b88,10000009 +34a0b8c,2001025 +34a0b90,2202825 +34a0b94,3c04801c +34a0b98,3c028001 +34a0b9c,24423678 +34a0ba0,40f809 +34a0ba4,348484a0 +34a0ba8,408025 +34a0bac,2001025 +34a0bb0,8fbf003c +34a0bb4,8fb20038 +34a0bb8,8fb10034 +34a0bbc,8fb00030 +34a0bc0,3e00008 +34a0bc4,27bd0040 +34a0bc8,27bdffc0 +34a0bcc,afbf003c +34a0bd0,afb20038 +34a0bd4,afb10034 +34a0bd8,afb00030 +34a0bdc,809025 +34a0be0,a08825 +34a0be4,c08025 +34a0be8,afa00020 +34a0bec,c101c56 +34a0bf0,afa00024 +34a0bf4,26070004 +34a0bf8,30e700ff +34a0bfc,94460000 +34a0c00,27a50020 +34a0c04,c101c58 +34a0c08,2402025 +34a0c0c,27a50020 +34a0c10,c104c05 +34a0c14,27a40028 +34a0c18,8fa20028 +34a0c1c,afa20020 +34a0c20,8fa2002c +34a0c24,afa20024 +34a0c28,27a50020 +34a0c2c,c101ce3 +34a0c30,27a40010 +34a0c34,8fa20010 +34a0c38,8fa30014 +34a0c3c,431025 +34a0c40,10400015 +34a0c44,3025 +34a0c48,3c128043 +34a0c4c,8fa20020 +34a0c50,ae42f59c +34a0c54,2652f59c +34a0c58,8fa20024 +34a0c5c,ae420004 +34a0c60,2202825 +34a0c64,3c04801c +34a0c68,3c028001 +34a0c6c,24423678 +34a0c70,40f809 +34a0c74,348484a0 +34a0c78,408025 +34a0c7c,24050008 +34a0c80,3c028000 +34a0c84,24422e80 +34a0c88,40f809 +34a0c8c,2402025 +34a0c90,10000009 +34a0c94,2001025 +34a0c98,2202825 +34a0c9c,3c04801c +34a0ca0,3c028001 +34a0ca4,24423678 +34a0ca8,40f809 +34a0cac,348484a0 +34a0cb0,408025 +34a0cb4,2001025 +34a0cb8,8fbf003c +34a0cbc,8fb20038 +34a0cc0,8fb10034 +34a0cc4,8fb00030 +34a0cc8,3e00008 +34a0ccc,27bd0040 +34a0cd0,27bdffc0 +34a0cd4,afbf003c +34a0cd8,afb20038 +34a0cdc,afb10034 +34a0ce0,afb00030 +34a0ce4,809025 +34a0ce8,a08825 +34a0cec,c08025 +34a0cf0,afa00020 +34a0cf4,c101c56 +34a0cf8,afa00024 +34a0cfc,26070006 +34a0d00,30e700ff +34a0d04,94460000 +34a0d08,27a50020 +34a0d0c,c101c58 +34a0d10,2402025 +34a0d14,27a50020 +34a0d18,c104c05 +34a0d1c,27a40028 +34a0d20,8fa20028 +34a0d24,afa20020 +34a0d28,8fa2002c +34a0d2c,afa20024 +34a0d30,27a50020 +34a0d34,c101ce3 +34a0d38,27a40010 +34a0d3c,8fa20010 +34a0d40,8fa30014 +34a0d44,431025 +34a0d48,10400016 +34a0d4c,103400 +34a0d50,3c128043 +34a0d54,8fa20020 +34a0d58,ae42f59c +34a0d5c,2652f59c +34a0d60,8fa20024 +34a0d64,ae420004 +34a0d68,3025 +34a0d6c,2202825 +34a0d70,3c04801c +34a0d74,3c028001 +34a0d78,24423678 +34a0d7c,40f809 +34a0d80,348484a0 +34a0d84,408025 +34a0d88,24050008 +34a0d8c,3c028000 +34a0d90,24422e80 +34a0d94,40f809 +34a0d98,2402025 +34a0d9c,1000000a +34a0da0,2001025 +34a0da4,63403 +34a0da8,2202825 +34a0dac,3c04801c +34a0db0,3c028001 +34a0db4,24423678 +34a0db8,40f809 +34a0dbc,348484a0 +34a0dc0,408025 +34a0dc4,2001025 +34a0dc8,8fbf003c +34a0dcc,8fb20038 +34a0dd0,8fb10034 +34a0dd4,8fb00030 +34a0dd8,3e00008 +34a0ddc,27bd0040 +34a0de0,27bdffd8 +34a0de4,afbf0024 +34a0de8,afb30020 +34a0dec,afb2001c +34a0df0,afb10018 +34a0df4,afb00014 +34a0df8,84820000 +34a0dfc,24030111 +34a0e00,14430081 +34a0e04,a08025 +34a0e08,9482001c +34a0e0c,21202 +34a0e10,30420001 +34a0e14,54400089 +34a0e18,3c130600 +34a0e1c,10000083 +34a0e20,3c110501 +34a0e24,9082019c +34a0e28,263318a0 +34a0e2c,263208a0 +34a0e30,26317870 +34a0e34,3c038040 +34a0e38,90631df3 +34a0e3c,10600009 +34a0e40,2c430012 +34a0e44,3c038011 +34a0e48,3463a5d0 +34a0e4c,8c6300a4 +34a0e50,3c040020 +34a0e54,641824 +34a0e58,50600035 +34a0e5c,8e030000 +34a0e60,2c430012 +34a0e64,10600031 +34a0e68,21080 +34a0e6c,3c038042 +34a0e70,2463479c +34a0e74,621021 +34a0e78,8c420000 +34a0e7c,400008 +34a0e84,3c028040 +34a0e88,90421dee +34a0e8c,50400028 +34a0e90,8e030000 +34a0e94,c108add +34a0e98,24040001 +34a0e9c,10000023 +34a0ea0,409025 +34a0ea4,3c028040 +34a0ea8,90421def +34a0eac,50400020 +34a0eb0,8e030000 +34a0eb4,c108add +34a0eb8,24040002 +34a0ebc,1000001b +34a0ec0,409025 +34a0ec4,3c028040 +34a0ec8,90421ded +34a0ecc,50400018 +34a0ed0,8e030000 +34a0ed4,c108add +34a0ed8,24040003 +34a0edc,10000013 +34a0ee0,409025 +34a0ee4,3c028040 +34a0ee8,90421df0 +34a0eec,50400010 +34a0ef0,8e030000 +34a0ef4,c108add +34a0ef8,24040004 +34a0efc,1000000b +34a0f00,409025 +34a0f04,3c028040 +34a0f08,90421df1 +34a0f0c,50400008 +34a0f10,8e030000 +34a0f14,c108add +34a0f18,2404001a +34a0f1c,409025 +34a0f20,c108add +34a0f24,2404001b +34a0f28,409825 +34a0f2c,8e030000 +34a0f30,8c6402c4 +34a0f34,2482ffe0 +34a0f38,ac6202c4 +34a0f3c,3c07fd10 +34a0f40,ac87ffe0 +34a0f44,ac92ffe4 +34a0f48,8c6202c4 +34a0f4c,3c06df00 +34a0f50,ac460008 +34a0f54,ac40000c +34a0f58,8c6202c4 +34a0f5c,8c6502c0 +34a0f60,24a40008 +34a0f64,ac6402c0 +34a0f68,3c04db06 +34a0f6c,24880024 +34a0f70,aca80000 +34a0f74,aca20004 +34a0f78,8c6202c4 +34a0f7c,ac470010 +34a0f80,ac530014 +34a0f84,8c6202c4 +34a0f88,ac460018 +34a0f8c,ac40001c +34a0f90,8c6502c4 +34a0f94,24a50010 +34a0f98,8c6202c0 +34a0f9c,24460008 +34a0fa0,ac6602c0 +34a0fa4,24840028 +34a0fa8,ac440000 +34a0fac,ac450004 +34a0fb0,2202825 +34a0fb4,3c028002 +34a0fb8,34428048 +34a0fbc,40f809 +34a0fc0,2002025 +34a0fc4,8fbf0024 +34a0fc8,8fb30020 +34a0fcc,8fb2001c +34a0fd0,8fb10018 +34a0fd4,8fb00014 +34a0fd8,3e00008 +34a0fdc,27bd0028 +34a0fe0,3c130600 +34a0fe4,26731000 +34a0fe8,3c120600 +34a0fec,265117c0 +34a0ff0,3c028040 +34a0ff4,90421df3 +34a0ff8,1040ffcc +34a0ffc,1025 +34a1000,1000ff91 +34a1004,3c038011 +34a1008,24030117 +34a100c,1043fff4 +34a1010,2403011d +34a1014,1043ff83 +34a1018,3c110501 +34a101c,263318a0 +34a1020,263208a0 +34a1024,1000fff2 +34a1028,26317870 +34a102c,263318a0 +34a1030,263208a0 +34a1034,10000004 +34a1038,26317870 +34a103c,26731000 +34a1040,3c120600 +34a1044,265117c0 +34a1048,1000ff7a +34a104c,9082018d +34a1050,27bdffe8 +34a1054,afbf0014 +34a1058,c108378 +34a1060,8fbf0014 +34a1064,3e00008 +34a1068,27bd0018 +34a106c,8482014a +34a1070,14400008 +34a1078,27bdffe8 +34a107c,afbf0014 +34a1080,c108378 +34a1088,8fbf0014 +34a108c,3e00008 +34a1090,27bd0018 +34a1094,3e00008 +34a109c,27bdffe8 +34a10a0,afbf0014 +34a10a4,c108378 +34a10ac,8fbf0014 +34a10b0,3e00008 +34a10b4,27bd0018 +34a10b8,27bdffe0 +34a10bc,afbf001c +34a10c0,afb20018 +34a10c4,afb10014 +34a10c8,afb00010 +34a10cc,808025 +34a10d0,c101c56 +34a10d4,a09025 +34a10d8,408825 +34a10dc,8c420008 +34a10e0,5040001a +34a10e4,9602001c +34a10e8,c105016 +34a10ec,26240004 +34a10f0,54400016 +34a10f4,9602001c +34a10f8,3c028043 +34a10fc,8e240004 +34a1100,8e230008 +34a1104,ac44f59c +34a1108,2451f59c +34a110c,ae230004 +34a1110,9606001c +34a1114,63042 +34a1118,30c63f00 +34a111c,26050024 +34a1120,3c028001 +34a1124,24423678 +34a1128,40f809 +34a112c,2402025 +34a1130,24050008 +34a1134,3c028000 +34a1138,24422e80 +34a113c,40f809 +34a1140,2202025 +34a1144,1000000e +34a1148,8fbf001c +34a114c,3046001f +34a1150,2cc3001a +34a1154,1060000a +34a1158,8fbf001c +34a115c,21042 +34a1160,30423f00 +34a1164,c23025 +34a1168,26050024 +34a116c,3c028001 +34a1170,24423678 +34a1174,40f809 +34a1178,2402025 +34a117c,8fbf001c +34a1180,8fb20018 +34a1184,8fb10014 +34a1188,8fb00010 +34a118c,3e00008 +34a1190,27bd0020 +34a1194,27bdffd8 +34a1198,afbf0024 +34a119c,afb40020 +34a11a0,afb3001c +34a11a4,afb20018 +34a11a8,afb10014 +34a11ac,afb00010 +34a11b0,808025 +34a11b4,a09825 +34a11b8,9492001c +34a11bc,c101c56 +34a11c0,12a182 +34a11c4,408825 +34a11c8,8c420008 +34a11cc,10400019 +34a11d0,2e82001a +34a11d4,c105016 +34a11d8,26240004 +34a11dc,14400015 +34a11e0,2e82001a +34a11e4,3c028043 +34a11e8,8e240004 +34a11ec,8e230008 +34a11f0,ac44f59c +34a11f4,2451f59c +34a11f8,ae230004 +34a11fc,123200 +34a1200,30c63f00 +34a1204,26050024 +34a1208,3c028001 +34a120c,24423678 +34a1210,40f809 +34a1214,2602025 +34a1218,24050008 +34a121c,3c028000 +34a1220,24422e80 +34a1224,40f809 +34a1228,2202025 +34a122c,1000000c +34a1230,8fbf0024 +34a1234,1040000a +34a1238,8fbf0024 +34a123c,123200 +34a1240,30c63f00 +34a1244,d43025 +34a1248,26050024 +34a124c,3c028001 +34a1250,24423678 +34a1254,40f809 +34a1258,2602025 +34a125c,8fbf0024 +34a1260,8fb40020 +34a1264,8fb3001c +34a1268,8fb20018 +34a126c,8fb10014 +34a1270,8fb00010 +34a1274,3e00008 +34a1278,27bd0028 +34a127c,801025 +34a1280,14c00002 +34a1284,a6001b +34a1288,7000d +34a128c,2810 +34a1290,3812 +34a1294,3c03aaaa +34a1298,3463aaab +34a129c,e30019 +34a12a0,1810 +34a12a4,31882 +34a12a8,32040 +34a12ac,831821 +34a12b0,31840 +34a12b4,e31823 +34a12b8,44850000 +34a12bc,4a10004 +34a12c0,468000a1 +34a12c4,3c048042 +34a12c8,d4804800 +34a12cc,46201080 +34a12d0,462010a0 +34a12d4,44860000 +34a12d8,4c10004 +34a12dc,46800021 +34a12e0,3c048042 +34a12e4,d4844800 +34a12e8,46240000 +34a12ec,46200020 +34a12f0,46001083 +34a12f4,3c048042 +34a12f8,c4844808 +34a12fc,46022101 +34a1300,24640001 +34a1304,3c068042 +34a1308,24c647e4 +34a130c,32840 +34a1310,a32821 +34a1314,c52821 +34a1318,90a50001 +34a131c,44850000 +34a1324,46800020 +34a1328,46040002 +34a132c,42840 +34a1330,a42821 +34a1334,c53021 +34a1338,90c50001 +34a133c,44853000 +34a1344,468031a0 +34a1348,46023182 +34a134c,46060000 +34a1350,3c058042 +34a1354,c4a6480c +34a1358,4600303e +34a1360,45030005 +34a1364,46060001 +34a1368,4600000d +34a136c,44050000 +34a1370,10000006 +34a1374,30a700ff +34a1378,4600000d +34a137c,44050000 +34a1380,3c068000 +34a1384,a62825 +34a1388,30a700ff +34a138c,3c068042 +34a1390,24c647e4 +34a1394,32840 +34a1398,a32821 +34a139c,c52821 +34a13a0,90a50002 +34a13a4,44850000 +34a13ac,46800020 +34a13b0,46040002 +34a13b4,42840 +34a13b8,a42821 +34a13bc,c53021 +34a13c0,90c50002 +34a13c4,44853000 +34a13cc,468031a0 +34a13d0,46023182 +34a13d4,46060000 +34a13d8,3c058042 +34a13dc,c4a6480c +34a13e0,4600303e +34a13e8,45030005 +34a13ec,46060001 +34a13f0,4600000d +34a13f4,44050000 +34a13f8,10000006 +34a13fc,30a600ff +34a1400,4600000d +34a1404,44050000 +34a1408,3c068000 +34a140c,a62825 +34a1410,30a600ff +34a1414,32840 +34a1418,a31821 +34a141c,3c088042 +34a1420,250847e4 +34a1424,681821 +34a1428,90650000 +34a142c,44850000 +34a1434,46800020 +34a1438,46040002 +34a143c,41840 +34a1440,641821 +34a1444,681821 +34a1448,90630000 +34a144c,44832000 +34a1454,46802120 +34a1458,46022082 +34a145c,46020000 +34a1460,3c038042 +34a1464,c462480c +34a1468,4600103e +34a1470,45030005 +34a1474,46020001 +34a1478,4600000d +34a147c,44030000 +34a1480,10000006 +34a1484,a0430000 +34a1488,4600000d +34a148c,44030000 +34a1490,3c048000 +34a1494,641825 +34a1498,a0430000 +34a149c,a0470001 +34a14a0,3e00008 +34a14a4,a0460002 +34a14a8,3c028011 +34a14ac,3442a5d0 +34a14b0,24030140 +34a14b4,a4431424 +34a14b8,90440032 +34a14bc,41840 +34a14c0,641821 +34a14c4,31900 +34a14c8,3e00008 +34a14cc,a0430033 +34a14d0,3c048043 +34a14d4,8c83d438 +34a14d8,3c020019 +34a14dc,2442660d +34a14e0,620018 +34a14e4,1012 +34a14e8,3c033c6e +34a14ec,3463f35f +34a14f0,431021 +34a14f4,3e00008 +34a14f8,ac82d438 +34a14fc,3c028043 +34a1500,3e00008 +34a1504,ac44d438 +34a1508,3c028044 +34a150c,8c432034 +34a1510,3c028043 +34a1514,3e00008 +34a1518,ac43d438 +34a151c,3c048043 +34a1520,8c83d438 +34a1524,3c020019 +34a1528,2442660d +34a152c,620018 +34a1530,1012 +34a1534,3c033c6e +34a1538,3463f35f +34a153c,431021 +34a1540,ac82d438 +34a1544,21242 +34a1548,3c033f80 +34a154c,431025 +34a1550,3c038042 +34a1554,c4604810 +34a1558,44821000 +34a155c,3e00008 +34a1560,46001001 +34a1564,3c048043 +34a1568,8c83d438 +34a156c,3c020019 +34a1570,2442660d +34a1574,620018 +34a1578,1012 +34a157c,3c033c6e +34a1580,3463f35f +34a1584,431021 +34a1588,ac82d438 +34a158c,21242 +34a1590,3c033f80 +34a1594,431025 +34a1598,3c038042 +34a159c,c4604814 +34a15a0,44821000 +34a15a4,3e00008 +34a15a8,46001001 +34a15ac,14800003 +34a15b0,3c028043 +34a15b4,3e00008 +34a15b8,8c42d43c +34a15bc,27bdffe8 +34a15c0,afbf0014 +34a15c4,afb00010 +34a15c8,808025 +34a15cc,c10856b +34a15d0,42102 +34a15d4,3210000f +34a15d8,108080 +34a15dc,3c038043 +34a15e0,2463d43c +34a15e4,2038021 +34a15e8,8e030000 +34a15ec,431021 +34a15f0,8fbf0014 +34a15f4,8fb00010 +34a15f8,3e00008 +34a15fc,27bd0018 +34a1600,3c028011 +34a1604,3442a5d0 +34a1608,8c42135c +34a160c,1440006e +34a1610,3c02801c +34a1614,27bdffe8 +34a1618,afbf0014 +34a161c,344284a0 +34a1620,944300a4 +34a1624,24020043 +34a1628,14620018 +34a162c,3c028044 +34a1630,3c02801c +34a1634,344284a0 +34a1638,3c030001 +34a163c,431021 +34a1640,80421cbc +34a1644,14400011 +34a1648,3c028044 +34a164c,3c028011 +34a1650,3442a5d0 +34a1654,94420edc +34a1658,30420020 +34a165c,1440000b +34a1660,3c028044 +34a1664,c104d15 +34a1668,24040004 +34a166c,3c028011 +34a1670,3442a5d0 +34a1674,94430edc +34a1678,34630020 +34a167c,a4430edc +34a1680,8c42135c +34a1684,1440004d +34a1688,3c028044 +34a168c,9042203a +34a1690,1040004b +34a1694,8fbf0014 +34a1698,3c038011 +34a169c,3463a5d0 +34a16a0,906300b2 +34a16a4,30630001 +34a16a8,14600045 +34a16ac,2c430006 +34a16b0,10600043 +34a16b4,21080 +34a16b8,3c038042 +34a16bc,24634818 +34a16c0,621021 +34a16c4,8c420000 +34a16c8,400008 +34a16d0,3c028011 +34a16d4,3442a5d0 +34a16d8,8c4400a4 +34a16dc,c10856b +34a16e0,3084003f +34a16e4,3c038044 +34a16e8,94632038 +34a16ec,43102b +34a16f0,10400030 +34a16f4,8fbf0014 +34a16f8,10000031 +34a1700,3c028011 +34a1704,3442a5d0 +34a1708,8c4400a4 +34a170c,3c02001c +34a1710,2442003f +34a1714,c10856b +34a1718,822024 +34a171c,3c038044 +34a1720,94632038 +34a1724,43102b +34a1728,10400022 +34a172c,8fbf0014 +34a1730,10000023 +34a1738,3c028011 +34a173c,3442a5d0 +34a1740,8c4400a4 +34a1744,3c02001c +34a1748,c10856b +34a174c,822024 +34a1750,3c038044 +34a1754,94632038 +34a1758,43102b +34a175c,10400015 +34a1760,8fbf0014 +34a1764,10000016 +34a176c,3c028011 +34a1770,3442a5d0 +34a1774,844200d0 +34a1778,3c038044 +34a177c,94632038 +34a1780,43102a +34a1784,1040000b +34a1788,8fbf0014 +34a178c,1000000c +34a1794,3c028011 +34a1798,3442a5d0 +34a179c,8442002e +34a17a0,3c038044 +34a17a4,94632038 +34a17a8,43102a +34a17ac,14400004 +34a17b0,8fbf0014 +34a17b4,c104d15 +34a17b8,24040003 +34a17bc,8fbf0014 +34a17c0,3e00008 +34a17c4,27bd0018 +34a17c8,3e00008 +34a17d0,27bdffd8 +34a17d4,afbf0024 +34a17d8,afb30020 +34a17dc,afb2001c +34a17e0,afb10018 +34a17e4,afb00014 +34a17e8,808025 +34a17ec,3c028043 +34a17f0,9446d9a4 +34a17f4,3c128011 +34a17f8,3652a5d0 +34a17fc,82421357 +34a1800,21040 +34a1804,3c118010 +34a1808,2631bf00 +34a180c,511021 +34a1810,24051fe0 +34a1814,a62823 +34a1818,94420000 +34a181c,a22821 +34a1820,30a5ffff +34a1824,3c138005 +34a1828,26737030 +34a182c,852821 +34a1830,3c028043 +34a1834,260f809 +34a1838,8c44d9a0 +34a183c,82421357 +34a1840,21040 +34a1844,511021 +34a1848,94450000 +34a184c,24a51450 +34a1850,24060058 +34a1854,2052821 +34a1858,3c048044 +34a185c,260f809 +34a1860,24842040 +34a1864,8fbf0024 +34a1868,8fb30020 +34a186c,8fb2001c +34a1870,8fb10018 +34a1874,8fb00014 +34a1878,3e00008 +34a187c,27bd0028 +34a1880,10c00009 +34a1884,3c028009 +34a1888,27bdffe8 +34a188c,afbf0014 +34a1890,24421474 +34a1894,40f809 +34a189c,8fbf0014 +34a18a0,3e00008 +34a18a4,27bd0018 +34a18a8,3e00008 +34a18b0,27bdffd0 +34a18b4,afbf002c +34a18b8,afb60028 +34a18bc,afb50024 +34a18c0,afb40020 +34a18c4,afb3001c +34a18c8,afb20018 +34a18cc,afb10014 +34a18d0,10a00079 +34a18d4,afb00010 +34a18d8,a08025 +34a18dc,24b21450 +34a18e0,3c028043 +34a18e4,9442d9a4 +34a18e8,a22823 +34a18ec,24b11fe0 +34a18f0,a6001352 +34a18f4,26051354 +34a18f8,2001825 +34a18fc,1025 +34a1900,24630002 +34a1904,9464fffe +34a1908,441021 +34a190c,14a3fffc +34a1910,3042ffff +34a1914,26450058 +34a1918,2401825 +34a191c,24630002 +34a1920,9464fffe +34a1924,441021 +34a1928,1465fffc +34a192c,3042ffff +34a1930,3c038043 +34a1934,9463d9a4 +34a1938,33042 +34a193c,2c630002 +34a1940,5460000b +34a1944,a6021352 +34a1948,2202025 +34a194c,24840002 +34a1950,9485fffe +34a1954,451021 +34a1958,24630001 +34a195c,3063ffff +34a1960,66282b +34a1964,14a0fff9 +34a1968,3042ffff +34a196c,a6021352 +34a1970,82021357 +34a1974,21040 +34a1978,3c138010 +34a197c,2673bf00 +34a1980,531021 +34a1984,94440000 +34a1988,3c150800 +34a198c,24070001 +34a1990,24061450 +34a1994,2002825 +34a1998,c108620 +34a199c,952021 +34a19a0,82021357 +34a19a4,24420003 +34a19a8,21040 +34a19ac,531021 +34a19b0,94440000 +34a19b4,24070001 +34a19b8,24061450 +34a19bc,2002825 +34a19c0,c108620 +34a19c4,952021 +34a19c8,3c168043 +34a19cc,96c6d9a4 +34a19d0,82021357 +34a19d4,21040 +34a19d8,531021 +34a19dc,24141fe0 +34a19e0,2862023 +34a19e4,94420000 +34a19e8,822021 +34a19ec,3084ffff +34a19f0,24070001 +34a19f4,2202825 +34a19f8,c108620 +34a19fc,952021 +34a1a00,82021357 +34a1a04,21040 +34a1a08,531021 +34a1a0c,94440000 +34a1a10,24841450 +34a1a14,3084ffff +34a1a18,24070001 +34a1a1c,24060058 +34a1a20,2402825 +34a1a24,c108620 +34a1a28,952021 +34a1a2c,96c6d9a4 +34a1a30,82021357 +34a1a34,24420003 +34a1a38,21040 +34a1a3c,531021 +34a1a40,2862023 +34a1a44,94420000 +34a1a48,822021 +34a1a4c,3084ffff +34a1a50,24070001 +34a1a54,2202825 +34a1a58,c108620 +34a1a5c,952021 +34a1a60,82021357 +34a1a64,24420003 +34a1a68,21040 +34a1a6c,531021 +34a1a70,94440000 +34a1a74,24841450 +34a1a78,3084ffff +34a1a7c,24070001 +34a1a80,24060058 +34a1a84,2402825 +34a1a88,c108620 +34a1a8c,952021 +34a1a90,8fbf002c +34a1a94,8fb60028 +34a1a98,8fb50024 +34a1a9c,8fb40020 +34a1aa0,8fb3001c +34a1aa4,8fb20018 +34a1aa8,8fb10014 +34a1aac,8fb00010 +34a1ab0,3e00008 +34a1ab4,27bd0030 +34a1ab8,3c028043 +34a1abc,8c51d9a0 +34a1ac0,3c128044 +34a1ac4,26522040 +34a1ac8,3c108011 +34a1acc,1000ff88 +34a1ad0,3610a5d0 +34a1ad4,27bdffb0 +34a1ad8,afbf004c +34a1adc,afbe0048 +34a1ae0,afb70044 +34a1ae4,afb60040 +34a1ae8,afb5003c +34a1aec,afb40038 +34a1af0,afb30034 +34a1af4,afb20030 +34a1af8,afb1002c +34a1afc,afb00028 +34a1b00,809825 +34a1b04,a09025 +34a1b08,34058000 +34a1b0c,3c028000 +34a1b10,24422e80 +34a1b14,40f809 +34a1b18,8e440000 +34a1b1c,3825 +34a1b20,34068000 +34a1b24,8e450000 +34a1b28,c108620 +34a1b2c,3c040800 +34a1b30,3c028011 +34a1b34,3442a5d0 +34a1b38,9442000c +34a1b3c,afa20024 +34a1b40,3c158010 +34a1b44,26b5bf00 +34a1b48,26a20004 +34a1b4c,afa20020 +34a1b50,3c178011 +34a1b54,3c028044 +34a1b58,afa20018 +34a1b5c,24422040 +34a1b60,afa20014 +34a1b64,3c1e8043 +34a1b68,3c028043 +34a1b6c,afa20010 +34a1b70,36f0b924 +34a1b74,3c118044 +34a1b78,26312098 +34a1b7c,afb5001c +34a1b80,96b40000 +34a1b84,8e450000 +34a1b88,3c168005 +34a1b8c,26d67030 +34a1b90,24061354 +34a1b94,b42821 +34a1b98,2c0f809 +34a1b9c,36e4a5d0 +34a1ba0,26821450 +34a1ba4,8e450000 +34a1ba8,24060058 +34a1bac,a22821 +34a1bb0,2c0f809 +34a1bb4,8fa40014 +34a1bb8,97c6d9a4 +34a1bbc,2861023 +34a1bc0,24421fe0 +34a1bc4,8e450000 +34a1bc8,a22821 +34a1bcc,8fa20010 +34a1bd0,2c0f809 +34a1bd4,8c44d9a0 +34a1bd8,36e3a5d0 +34a1bdc,94671352 +34a1be0,a4601352 +34a1be4,1025 +34a1be8,602025 +34a1bec,24630002 +34a1bf0,94840000 +34a1bf4,441021 +34a1bf8,1470fffb +34a1bfc,3042ffff +34a1c00,8fa30018 +34a1c04,24632040 +34a1c08,24630002 +34a1c0c,9464fffe +34a1c10,441021 +34a1c14,1471fffc +34a1c18,3042ffff +34a1c1c,8fa30010 +34a1c20,8c64d9a0 +34a1c24,97c3d9a4 +34a1c28,33042 +34a1c2c,2c630002 +34a1c30,14600009 +34a1c38,24840002 +34a1c3c,9485fffe +34a1c40,451021 +34a1c44,24630001 +34a1c48,3063ffff +34a1c4c,66282b +34a1c50,14a0fff9 +34a1c54,3042ffff +34a1c58,50e2006a +34a1c5c,26b50002 +34a1c60,8fa2001c +34a1c64,94540006 +34a1c68,8e450000 +34a1c6c,3c028005 +34a1c70,24567030 +34a1c74,24061354 +34a1c78,b42821 +34a1c7c,2c0f809 +34a1c80,36e4a5d0 +34a1c84,26821450 +34a1c88,8e450000 +34a1c8c,24060058 +34a1c90,a22821 +34a1c94,2c0f809 +34a1c98,8fa40014 +34a1c9c,97c6d9a4 +34a1ca0,2861023 +34a1ca4,24421fe0 +34a1ca8,8e450000 +34a1cac,a22821 +34a1cb0,8fa20010 +34a1cb4,2c0f809 +34a1cb8,8c44d9a0 +34a1cbc,36e3a5d0 +34a1cc0,94671352 +34a1cc4,a4601352 +34a1cc8,1025 +34a1ccc,602025 +34a1cd0,24630002 +34a1cd4,94840000 +34a1cd8,441021 +34a1cdc,1470fffb +34a1ce0,3042ffff +34a1ce4,8fa30018 +34a1ce8,24632040 +34a1cec,24630002 +34a1cf0,9464fffe +34a1cf4,441021 +34a1cf8,1471fffc +34a1cfc,3042ffff +34a1d00,8fa30010 +34a1d04,8c64d9a0 +34a1d08,97c3d9a4 +34a1d0c,33042 +34a1d10,2c630002 +34a1d14,14600009 +34a1d1c,24840002 +34a1d20,9485fffe +34a1d24,451021 +34a1d28,24630001 +34a1d2c,3063ffff +34a1d30,66282b +34a1d34,14a0fff9 +34a1d38,3042ffff +34a1d3c,10e2001e +34a1d40,8fb6001c +34a1d44,96c20000 +34a1d48,8e440000 +34a1d4c,3c038000 +34a1d50,24742e80 +34a1d54,24051fe0 +34a1d58,280f809 +34a1d5c,822021 +34a1d60,96c20006 +34a1d64,8e440000 +34a1d68,24051fe0 +34a1d6c,280f809 +34a1d70,822021 +34a1d74,96c40000 +34a1d78,8e450000 +34a1d7c,3c140800 +34a1d80,24070001 +34a1d84,24061fe0 +34a1d88,a42821 +34a1d8c,c108620 +34a1d90,942021 +34a1d94,96c40006 +34a1d98,8e450000 +34a1d9c,24070001 +34a1da0,24061fe0 +34a1da4,a42821 +34a1da8,c108620 +34a1dac,942021 +34a1db0,10000014 +34a1db4,26b50002 +34a1db8,8e420000 +34a1dbc,8fb4001c +34a1dc0,96850006 +34a1dc4,96840000 +34a1dc8,452821 +34a1dcc,442021 +34a1dd0,3c028005 +34a1dd4,24427030 +34a1dd8,40f809 +34a1ddc,24061fe0 +34a1de0,96820000 +34a1de4,8e450000 +34a1de8,24070001 +34a1dec,24061fe0 +34a1df0,a22821 +34a1df4,3c040800 +34a1df8,c108620 +34a1dfc,442021 +34a1e00,26b50002 +34a1e04,8fa20020 +34a1e08,56a2ff5d +34a1e0c,afb5001c +34a1e10,34058000 +34a1e14,3c028000 +34a1e18,24422e80 +34a1e1c,40f809 +34a1e20,8e440000 +34a1e24,3825 +34a1e28,34068000 +34a1e2c,8e450000 +34a1e30,c108620 +34a1e34,3c040800 +34a1e38,3c028011 +34a1e3c,3442a5d0 +34a1e40,8fa30024 +34a1e44,a443000c +34a1e48,3c148010 +34a1e4c,9682bf00 +34a1e50,24420022 +34a1e54,8e450000 +34a1e58,3c100001 +34a1e5c,3610c9ee +34a1e60,3c118005 +34a1e64,26317030 +34a1e68,24060002 +34a1e6c,a22821 +34a1e70,220f809 +34a1e74,2702021 +34a1e78,2695bf00 +34a1e7c,96a20002 +34a1e80,24420022 +34a1e84,8e450000 +34a1e88,26040002 +34a1e8c,24060002 +34a1e90,a22821 +34a1e94,220f809 +34a1e98,2642021 +34a1e9c,9682bf00 +34a1ea0,24420022 +34a1ea4,8e450000 +34a1ea8,26040004 +34a1eac,24060002 +34a1eb0,a22821 +34a1eb4,220f809 +34a1eb8,2642021 +34a1ebc,9682bf00 +34a1ec0,24420024 +34a1ec4,8e450000 +34a1ec8,26040006 +34a1ecc,24060008 +34a1ed0,a22821 +34a1ed4,220f809 +34a1ed8,2642021 +34a1edc,96a20002 +34a1ee0,24420024 +34a1ee4,8e450000 +34a1ee8,2604000e +34a1eec,24060008 +34a1ef0,a22821 +34a1ef4,220f809 +34a1ef8,2642021 +34a1efc,9682bf00 +34a1f00,24420024 +34a1f04,8e450000 +34a1f08,26040016 +34a1f0c,24060008 +34a1f10,a22821 +34a1f14,220f809 +34a1f18,2642021 +34a1f1c,9682bf00 +34a1f20,2442002e +34a1f24,8e450000 +34a1f28,2604001e +34a1f2c,24060002 +34a1f30,a22821 +34a1f34,220f809 +34a1f38,2642021 +34a1f3c,96a20002 +34a1f40,2442002e +34a1f44,8e450000 +34a1f48,26040020 +34a1f4c,24060002 +34a1f50,a22821 +34a1f54,220f809 +34a1f58,2642021 +34a1f5c,9682bf00 +34a1f60,2442002e +34a1f64,8e450000 +34a1f68,26040022 +34a1f6c,24060002 +34a1f70,a22821 +34a1f74,220f809 +34a1f78,2642021 +34a1f7c,9682bf00 +34a1f80,244200a4 +34a1f84,8e450000 +34a1f88,26040026 +34a1f8c,24060004 +34a1f90,a22821 +34a1f94,220f809 +34a1f98,2642021 +34a1f9c,96a20002 +34a1fa0,244200a4 +34a1fa4,8e450000 +34a1fa8,2604002a +34a1fac,24060004 +34a1fb0,a22821 +34a1fb4,220f809 +34a1fb8,2642021 +34a1fbc,9682bf00 +34a1fc0,244200a4 +34a1fc4,8e450000 +34a1fc8,2604002e +34a1fcc,24060004 +34a1fd0,a22821 +34a1fd4,220f809 +34a1fd8,2642021 +34a1fdc,9682bf00 +34a1fe0,2442002c +34a1fe4,8e450000 +34a1fe8,26040032 +34a1fec,24060002 +34a1ff0,a22821 +34a1ff4,220f809 +34a1ff8,2642021 +34a1ffc,96a20002 +34a2000,2442002c +34a2004,8e450000 +34a2008,26040034 +34a200c,24060002 +34a2010,a22821 +34a2014,220f809 +34a2018,2642021 +34a201c,9682bf00 +34a2020,2442002c +34a2024,8e450000 +34a2028,26040036 +34a202c,24060002 +34a2030,a22821 +34a2034,220f809 +34a2038,2642021 +34a203c,9682bf00 +34a2040,244200cf +34a2044,8e450000 +34a2048,26040038 +34a204c,24060001 +34a2050,a22821 +34a2054,220f809 +34a2058,2642021 +34a205c,96a20002 +34a2060,244200cf +34a2064,8e450000 +34a2068,26040039 +34a206c,24060001 +34a2070,a22821 +34a2074,220f809 +34a2078,2642021 +34a207c,9682bf00 +34a2080,244200cf +34a2084,8e450000 +34a2088,2604003a +34a208c,24060001 +34a2090,a22821 +34a2094,220f809 +34a2098,2642021 +34a209c,8fbf004c +34a20a0,8fbe0048 +34a20a4,8fb70044 +34a20a8,8fb60040 +34a20ac,8fb5003c +34a20b0,8fb40038 +34a20b4,8fb30034 +34a20b8,8fb20030 +34a20bc,8fb1002c +34a20c0,8fb00028 +34a20c4,3e00008 +34a20c8,27bd0050 +34a20cc,27bdffd0 +34a20d0,afbf002c +34a20d4,afb60028 +34a20d8,afb50024 +34a20dc,afb40020 +34a20e0,afb3001c +34a20e4,afb20018 +34a20e8,afb10014 +34a20ec,afb00010 +34a20f0,809025 +34a20f4,a08025 +34a20f8,8ca30000 +34a20fc,3c150002 +34a2100,959821 +34a2104,8662ca38 +34a2108,21040 +34a210c,3c148010 +34a2110,2694bf00 +34a2114,541021 +34a2118,94560000 +34a211c,8662ca50 +34a2120,21040 +34a2124,541021 +34a2128,94440000 +34a212c,3c118005 +34a2130,26317030 +34a2134,24061fe0 +34a2138,762821 +34a213c,220f809 +34a2140,642021 +34a2144,8e030000 +34a2148,8662ca50 +34a214c,24420003 +34a2150,21040 +34a2154,541021 +34a2158,94440000 +34a215c,24061fe0 +34a2160,762821 +34a2164,220f809 +34a2168,642021 +34a216c,24070001 +34a2170,34068000 +34a2174,8e050000 +34a2178,c108620 +34a217c,3c040800 +34a2180,8664ca50 +34a2184,41040 +34a2188,541021 +34a218c,94540000 +34a2190,26820022 +34a2194,8e050000 +34a2198,3403e4f7 +34a219c,832021 +34a21a0,42040 +34a21a4,24060002 +34a21a8,a22821 +34a21ac,220f809 +34a21b0,2442021 +34a21b4,26820024 +34a21b8,8e050000 +34a21bc,8664ca50 +34a21c0,2484393e +34a21c4,420c0 +34a21c8,24840004 +34a21cc,24060008 +34a21d0,a22821 +34a21d4,220f809 +34a21d8,2442021 +34a21dc,2682002e +34a21e0,8e050000 +34a21e4,8664ca50 +34a21e8,3403e506 +34a21ec,832021 +34a21f0,42040 +34a21f4,24060002 +34a21f8,a22821 +34a21fc,220f809 +34a2200,2442021 +34a2204,268200a4 +34a2208,8e050000 +34a220c,8664ca50 +34a2210,24847285 +34a2214,42080 +34a2218,24060004 +34a221c,a22821 +34a2220,220f809 +34a2224,2442021 +34a2228,2682002c +34a222c,8e050000 +34a2230,8664ca50 +34a2234,3403e510 +34a2238,832021 +34a223c,42040 +34a2240,24060002 +34a2244,a22821 +34a2248,220f809 +34a224c,2442021 +34a2250,269400cf +34a2254,8e050000 +34a2258,8664ca50 +34a225c,26b5ca26 +34a2260,952021 +34a2264,24060001 +34a2268,b42821 +34a226c,220f809 +34a2270,2442021 +34a2274,8fbf002c +34a2278,8fb60028 +34a227c,8fb50024 +34a2280,8fb40020 +34a2284,8fb3001c +34a2288,8fb20018 +34a228c,8fb10014 +34a2290,8fb00010 +34a2294,3e00008 +34a2298,27bd0030 +34a229c,27bdffd0 +34a22a0,afbf002c +34a22a4,afb50028 +34a22a8,afb40024 +34a22ac,afb30020 +34a22b0,afb2001c +34a22b4,afb10018 +34a22b8,afb00014 +34a22bc,a08025 +34a22c0,3c020002 +34a22c4,829821 +34a22c8,8662ca38 +34a22cc,21040 +34a22d0,3c128010 +34a22d4,2652bf00 +34a22d8,521021 +34a22dc,94550000 +34a22e0,8ca40000 +34a22e4,3c118000 +34a22e8,26312e80 +34a22ec,24051fe0 +34a22f0,220f809 +34a22f4,952021 +34a22f8,8e050000 +34a22fc,3c140800 +34a2300,24070001 +34a2304,24061fe0 +34a2308,b52821 +34a230c,c108620 +34a2310,2b42021 +34a2314,8662ca38 +34a2318,24420003 +34a231c,21040 +34a2320,521021 +34a2324,94520000 +34a2328,8e040000 +34a232c,24051fe0 +34a2330,220f809 +34a2334,922021 +34a2338,8e050000 +34a233c,24070001 +34a2340,24061fe0 +34a2344,b22821 +34a2348,c108620 +34a234c,2542021 +34a2350,8fbf002c +34a2354,8fb50028 +34a2358,8fb40024 +34a235c,8fb30020 +34a2360,8fb2001c +34a2364,8fb10018 +34a2368,8fb00014 +34a236c,3e00008 +34a2370,27bd0030 +34a2374,27bdffe8 +34a2378,afbf0014 +34a237c,afb00010 +34a2380,c108620 +34a2384,e08025 +34a2388,3c028043 +34a238c,9446d9a4 +34a2390,3c028011 +34a2394,3442a5d0 +34a2398,80431357 +34a239c,31840 +34a23a0,3c028010 +34a23a4,2442bf00 +34a23a8,621821 +34a23ac,24021fe0 +34a23b0,461023 +34a23b4,94630000 +34a23b8,431021 +34a23bc,3042ffff +34a23c0,2003825 +34a23c4,3c038043 +34a23c8,8c65d9a0 +34a23cc,3c040800 +34a23d0,c108620 +34a23d4,442021 +34a23d8,8fbf0014 +34a23dc,8fb00010 +34a23e0,3e00008 +34a23e4,27bd0018 +34a23e8,27bdffe0 +34a23ec,afbf001c +34a23f0,afb20018 +34a23f4,afb10014 +34a23f8,afb00010 +34a23fc,a08025 +34a2400,e08825 +34a2404,3c028011 +34a2408,3442a5d0 +34a240c,80421357 +34a2410,21040 +34a2414,3c038010 +34a2418,2463bf00 +34a241c,431021 +34a2420,94460000 +34a2424,24d21450 +34a2428,24050b90 +34a242c,3c028000 +34a2430,24422e80 +34a2434,40f809 +34a2438,2122021 +34a243c,3c028040 +34a2440,8c421bb4 +34a2444,1040000b +34a2448,3c028040 +34a244c,24421bb4 +34a2450,2123021 +34a2454,90440003 +34a2458,94430000 +34a245c,c31821 +34a2460,a0640000 +34a2464,24420004 +34a2468,8c430000 +34a246c,5460fffa +34a2470,90440003 +34a2474,2203825 +34a2478,34068000 +34a247c,2002825 +34a2480,c108620 +34a2484,3c040800 +34a2488,8fbf001c +34a248c,8fb20018 +34a2490,8fb10014 +34a2494,8fb00010 +34a2498,3e00008 +34a249c,27bd0020 +34a24a0,24a20002 +34a24a4,24a50082 +34a24a8,24065700 +34a24ac,24070004 +34a24b0,9443fffe +34a24b4,50660008 +34a24b8,24420004 +34a24bc,50600006 +34a24c0,24420004 +34a24c4,94430000 +34a24c8,2c630004 +34a24cc,54600001 +34a24d0,a4470000 +34a24d4,24420004 +34a24d8,5445fff6 +34a24dc,9443fffe +34a24e0,3e00008 +34a24e8,3c028011 +34a24ec,3442a5d0 +34a24f0,8c431360 +34a24f4,1060002b +34a24f8,1025 +34a24fc,2c620004 +34a2500,10400028 +34a2504,2402ffff +34a2508,3c02801c +34a250c,344284a0 +34a2510,8c4900b0 +34a2514,91220000 +34a2518,24040014 +34a251c,10440020 +34a2520,306b00ff +34a2524,306300ff +34a2528,33080 +34a252c,1202025 +34a2530,24070018 +34a2534,3c0a00ff +34a2538,354affff +34a253c,24080014 +34a2540,54470010 +34a2544,24840008 +34a2548,8c830004 +34a254c,6a1824 +34a2550,661821 +34a2554,1231821 +34a2558,1601025 +34a255c,8c65fffc +34a2560,50a00004 +34a2564,2442ffff +34a2568,21600 +34a256c,1000000d +34a2570,21603 +34a2574,304200ff +34a2578,1440fff8 +34a257c,2463fffc +34a2580,24840008 +34a2584,90820000 +34a2588,1448ffed +34a2590,10000004 +34a2594,1025 +34a2598,10000002 +34a259c,2402ffff +34a25a0,1025 +34a25a4,3c038044 +34a25a8,3e00008 +34a25ac,a0622098 +34a25b0,27bdffe0 +34a25b4,afbf001c +34a25b8,afb10018 +34a25bc,afb00014 +34a25c0,3c02801c +34a25c4,344284a0 +34a25c8,3c030001 +34a25cc,431021 +34a25d0,84451e1a +34a25d4,3c038043 +34a25d8,2463d480 +34a25dc,1025 +34a25e0,2406000a +34a25e4,8c640000 +34a25e8,14850028 +34a25ec,408025 +34a25f0,24060dff +34a25f4,24050001 +34a25f8,3c11801c +34a25fc,3c028009 +34a2600,3442d94c +34a2604,40f809 +34a2608,362484a0 +34a260c,3c028011 +34a2610,3442a5d0 +34a2614,102880 +34a2618,b01821 +34a261c,31880 +34a2620,3c048043 +34a2624,2484d480 +34a2628,641821 +34a262c,8c670004 +34a2630,8c660008 +34a2634,8c63000c +34a2638,ac471384 +34a263c,ac461388 +34a2640,ac43138c +34a2644,b02821 +34a2648,52880 +34a264c,852021 +34a2650,94830010 +34a2654,a4431390 +34a2658,24030002 +34a265c,ac431364 +34a2660,363184a0 +34a2664,3c020001 +34a2668,2221021 +34a266c,24030014 +34a2670,a0431e15 +34a2674,962300a4 +34a2678,24020005 +34a267c,14620047 +34a2680,8fbf001c +34a2684,1000003d +34a2688,3c02801c +34a268c,24420001 +34a2690,1446ffd4 +34a2694,24630014 +34a2698,1000002a +34a269c,3c02801c +34a26a0,24050001 +34a26a4,3c10801c +34a26a8,3c028009 +34a26ac,3442d94c +34a26b0,40f809 +34a26b4,360484a0 +34a26b8,3c028011 +34a26bc,3442a5d0 +34a26c0,3c038042 +34a26c4,c4604830 +34a26c8,e4401384 +34a26cc,3c038042 +34a26d0,c4604834 +34a26d4,e4401388 +34a26d8,3c038042 +34a26dc,c4604838 +34a26e0,e440138c +34a26e4,24032332 +34a26e8,a4431390 +34a26ec,24030002 +34a26f0,ac431364 +34a26f4,360284a0 +34a26f8,3c030001 +34a26fc,431021 +34a2700,24030014 +34a2704,10000024 +34a2708,a0431e15 +34a270c,344284a0 +34a2710,3c030001 +34a2714,431021 +34a2718,3c038011 +34a271c,3463a5d0 +34a2720,8c640000 +34a2724,a4441e1a +34a2728,24040002 +34a272c,a0441e5e +34a2730,2404fffe +34a2734,ac641364 +34a2738,24030014 +34a273c,10000016 +34a2740,a0431e15 +34a2744,344284a0 +34a2748,944300a4 +34a274c,24020005 +34a2750,1462ffee +34a2754,3c02801c +34a2758,344284a0 +34a275c,3c030001 +34a2760,431021 +34a2764,80431cbc +34a2768,24020015 +34a276c,1462ffe7 +34a2770,3c02801c +34a2774,1000ffca +34a2778,24060dff +34a277c,344284a0 +34a2780,3c030001 +34a2784,431021 +34a2788,80431cbc +34a278c,24020015 +34a2790,1062ffc3 +34a2794,24060dff +34a2798,8fbf001c +34a279c,8fb10018 +34a27a0,8fb00014 +34a27a4,3e00008 +34a27a8,27bd0020 +34a27ac,3c028044 +34a27b0,90422096 +34a27b4,1440002b +34a27b8,3c028011 +34a27bc,3442a5d0 +34a27c0,94420070 +34a27c4,3042f000 +34a27c8,24032000 +34a27cc,10430025 +34a27d0,3c02801c +34a27d4,344284a0 +34a27d8,944300a4 +34a27dc,24020005 +34a27e0,14620010 +34a27e4,3c02801d +34a27e8,3c02801c +34a27ec,344284a0 +34a27f0,3c030001 +34a27f4,431021 +34a27f8,80421cbc +34a27fc,14400009 +34a2800,3c02801d +34a2804,3442aa30 +34a2808,c442002c +34a280c,3c028042 +34a2810,c440483c +34a2814,4602003c +34a281c,45010011 +34a2820,3c02801d +34a2824,3442aa30 +34a2828,8c42066c +34a282c,3c030800 +34a2830,431024 +34a2834,1040000b +34a2838,3c028006 +34a283c,27bdffe8 +34a2840,afbf0014 +34a2844,244246f0 +34a2848,40f809 +34a284c,240428cd +34a2850,c10896c +34a2858,8fbf0014 +34a285c,3e00008 +34a2860,27bd0018 +34a2864,3e00008 +34a286c,27bdffd8 +34a2870,afbf0024 +34a2874,87a2003e +34a2878,afa20018 +34a287c,87a2003a +34a2880,afa20014 +34a2884,73c00 +34a2888,73c03 +34a288c,afa70010 +34a2890,63c00 +34a2894,73c03 +34a2898,24a6ffe0 +34a289c,3c058043 +34a28a0,c1053ec +34a28a4,24a59630 +34a28a8,8fbf0024 +34a28ac,3e00008 +34a28b0,27bd0028 +34a28b4,27bdffc8 +34a28b8,afbf0034 +34a28bc,afb50030 +34a28c0,afb4002c +34a28c4,afb30028 +34a28c8,afb20024 +34a28cc,afb10020 +34a28d0,afb0001c +34a28d4,80a025 +34a28d8,a08825 +34a28dc,c08025 +34a28e0,e09825 +34a28e4,8fb20048 +34a28e8,80a50000 +34a28ec,10a0000b +34a28f0,8fb5004c +34a28f4,afb50014 +34a28f8,afb20010 +34a28fc,2603825 +34a2900,2003025 +34a2904,c108a1b +34a2908,2802025 +34a290c,26310001 +34a2910,82250000 +34a2914,14a0fff7 +34a2918,2128021 +34a291c,2001025 +34a2920,8fbf0034 +34a2924,8fb50030 +34a2928,8fb4002c +34a292c,8fb30028 +34a2930,8fb20024 +34a2934,8fb10020 +34a2938,8fb0001c +34a293c,3e00008 +34a2940,27bd0038 +34a2944,27bdffe0 +34a2948,afbf001c +34a294c,3c028043 +34a2950,24429630 +34a2954,94430006 +34a2958,afa30014 +34a295c,94420004 +34a2960,c108a2d +34a2964,afa20010 +34a2968,8fbf001c +34a296c,3e00008 +34a2970,27bd0020 +34a2974,27bdffa8 +34a2978,afbf0054 +34a297c,afbe0050 +34a2980,afb7004c +34a2984,afb60048 +34a2988,afb50044 +34a298c,afb40040 +34a2990,afb3003c +34a2994,afb20038 +34a2998,afb10034 +34a299c,afb00030 +34a29a0,809825 +34a29a4,c08825 +34a29a8,e0a025 +34a29ac,87b2006e +34a29b0,87b50072 +34a29b4,4a10003 +34a29b8,3825 +34a29bc,52823 +34a29c0,24070001 +34a29c4,8025 +34a29c8,3c066666 +34a29cc,24c66667 +34a29d0,27a20020 +34a29d4,502021 +34a29d8,a60018 +34a29dc,1810 +34a29e0,31883 +34a29e4,517c3 +34a29e8,621823 +34a29ec,31080 +34a29f0,431021 +34a29f4,21040 +34a29f8,a21023 +34a29fc,a0820000 +34a2a00,a01025 +34a2a04,602825 +34a2a08,200b025 +34a2a0c,26100001 +34a2a10,2842000a +34a2a14,1040ffee +34a2a18,321000ff +34a2a1c,10000021 +34a2a20,8e620008 +34a2a24,944695e4 +34a2a28,afb50014 +34a2a2c,afb20010 +34a2a30,2803825 +34a2a34,2263023 +34a2a38,3c058042 +34a2a3c,24a54840 +34a2a40,c108a2d +34a2a44,2602025 +34a2a48,12000031 +34a2a4c,3b0b821 +34a2a50,26f7001f +34a2a54,27a2001e +34a2a58,501021 +34a2a5c,56b023 +34a2a60,3c1e8043 +34a2a64,27de95e0 +34a2a68,afb50018 +34a2a6c,afb20014 +34a2a70,afb40010 +34a2a74,2203825 +34a2a78,92e60000 +34a2a7c,3c02825 +34a2a80,c1053ec +34a2a84,2602025 +34a2a88,2518821 +34a2a8c,118c00 +34a2a90,26f7ffff +34a2a94,16f6fff4 +34a2a98,118c03 +34a2a9c,1000001d +34a2aa0,2001025 +34a2aa4,24430008 +34a2aa8,ae630008 +34a2aac,3c03fcff +34a2ab0,346397ff +34a2ab4,ac430000 +34a2ab8,3c03ff2d +34a2abc,3463feff +34a2ac0,ac430004 +34a2ac4,93a20068 +34a2ac8,21600 +34a2acc,93a30069 +34a2ad0,31c00 +34a2ad4,431025 +34a2ad8,93a3006b +34a2adc,431025 +34a2ae0,93a3006a +34a2ae4,31a00 +34a2ae8,431025 +34a2aec,8e630008 +34a2af0,24640008 +34a2af4,ae640008 +34a2af8,3c04fa00 +34a2afc,ac640000 +34a2b00,10e0ffd1 +34a2b04,ac620004 +34a2b08,1000ffc6 +34a2b0c,3c028043 +34a2b10,2001025 +34a2b14,8fbf0054 +34a2b18,8fbe0050 +34a2b1c,8fb7004c +34a2b20,8fb60048 +34a2b24,8fb50044 +34a2b28,8fb40040 +34a2b2c,8fb3003c +34a2b30,8fb20038 +34a2b34,8fb10034 +34a2b38,8fb00030 +34a2b3c,3e00008 +34a2b40,27bd0058 +34a2b44,27bdffd8 +34a2b48,afbf0024 +34a2b4c,24020010 +34a2b50,afa20018 +34a2b54,24020008 +34a2b58,afa20014 +34a2b5c,8fa20038 +34a2b60,c108a5d +34a2b64,afa20010 +34a2b68,8fbf0024 +34a2b6c,3e00008 +34a2b70,27bd0028 +34a2b74,3c028043 +34a2b78,42100 +34a2b7c,2442d548 +34a2b80,441021 +34a2b84,3e00008 +34a2b88,8c420004 +34a2b8c,27bdffe0 +34a2b90,afbf001c +34a2b94,afb10018 +34a2b98,afb00014 +34a2b9c,3c108043 +34a2ba0,2610d54c +34a2ba4,3c118043 +34a2ba8,2631d73c +34a2bac,8e020004 +34a2bb0,50400004 +34a2bb4,26100010 +34a2bb8,c108fbd +34a2bbc,2002025 +34a2bc0,26100010 +34a2bc4,5611fffa +34a2bc8,8e020004 +34a2bcc,8fbf001c +34a2bd0,8fb10018 +34a2bd4,8fb00014 +34a2bd8,3e00008 +34a2bdc,27bd0020 +34a2be0,2c82002c +34a2be4,50400004 +34a2be8,2484ffde +34a2bec,2484ffdf +34a2bf0,3e00008 +34a2bf4,3082ffff +34a2bf8,3e00008 +34a2bfc,3082ffff +34a2c00,3c028042 +34a2c04,2442485e +34a2c08,1825 +34a2c0c,24060016 +34a2c10,84450000 +34a2c14,50a40006 +34a2c18,3c028042 +34a2c1c,24630001 +34a2c20,1466fffb +34a2c24,2442001c +34a2c28,3e00008 +34a2c2c,1025 +34a2c30,320c0 +34a2c34,831823 +34a2c38,31880 +34a2c3c,24424858 +34a2c40,431021 +34a2c44,3e00008 +34a2c48,94420002 +34a2c4c,2482ffdf +34a2c50,3042ffff +34a2c54,2c42000b +34a2c58,14400007 +34a2c5c,2484ffd3 +34a2c60,3084ffff +34a2c64,2c84000b +34a2c68,14800005 +34a2c70,3e00008 +34a2c78,3e00008 +34a2c7c,24020017 +34a2c80,3e00008 +34a2c84,24020016 +34a2c88,2c84002c +34a2c8c,14800002 +34a2c90,24020021 +34a2c94,2402002d +34a2c98,3e00008 +34a2ca0,2c84002c +34a2ca4,14800002 +34a2ca8,2402002b +34a2cac,24020037 +34a2cb0,3e00008 +34a2cb8,2482ffdf +34a2cbc,3042ffff +34a2cc0,2c42000b +34a2cc4,14400005 +34a2ccc,2482ffd3 +34a2cd0,3042ffff +34a2cd4,3e00008 +34a2cd8,2c42000b +34a2cdc,3e00008 +34a2ce0,24020001 +34a2ce4,2482ffd2 +34a2ce8,3042ffff +34a2cec,2c42000a +34a2cf0,14400003 +34a2cf4,3884003d +34a2cf8,3e00008 +34a2cfc,2c820001 +34a2d00,3e00008 +34a2d04,24020001 +34a2d08,27bdffe8 +34a2d0c,afbf0014 +34a2d10,c108af8 +34a2d18,3c038011 +34a2d1c,3463a5d0 +34a2d20,24040001 +34a2d24,442004 +34a2d28,8c620b64 +34a2d2c,441025 +34a2d30,ac620b64 +34a2d34,8fbf0014 +34a2d38,3e00008 +34a2d3c,27bd0018 +34a2d40,27bdffe8 +34a2d44,afbf0014 +34a2d48,c108af8 +34a2d50,3c048011 +34a2d54,3484a5d0 +34a2d58,24030001 +34a2d5c,431804 +34a2d60,31827 +34a2d64,8c820b64 +34a2d68,621824 +34a2d6c,ac830b64 +34a2d70,8fbf0014 +34a2d74,3e00008 +34a2d78,27bd0018 +34a2d7c,27bdffe8 +34a2d80,afbf0014 +34a2d84,c108af8 +34a2d8c,24030001 +34a2d90,431004 +34a2d94,3c038011 +34a2d98,3463a5d0 +34a2d9c,8c630b64 +34a2da0,431024 +34a2da4,2102b +34a2da8,8fbf0014 +34a2dac,3e00008 +34a2db0,27bd0018 +34a2db4,27bdffe0 +34a2db8,afbf001c +34a2dbc,afb10018 +34a2dc0,afb00014 +34a2dc4,808825 +34a2dc8,a08025 +34a2dcc,c108b2e +34a2dd0,a02025 +34a2dd4,1040000f +34a2dd8,1825 +34a2ddc,24020022 +34a2de0,12020003 +34a2de4,2402002e +34a2de8,1602000b +34a2dec,601025 +34a2df0,c108b5f +34a2df4,2202025 +34a2df8,10400006 +34a2dfc,1825 +34a2e00,c108b42 +34a2e04,2002025 +34a2e08,c108b50 +34a2e0c,2202025 +34a2e10,24030001 +34a2e14,601025 +34a2e18,8fbf001c +34a2e1c,8fb10018 +34a2e20,8fb00014 +34a2e24,3e00008 +34a2e28,27bd0020 +34a2e2c,27bdffe8 +34a2e30,afbf0014 +34a2e34,c108af8 +34a2e3c,3c038011 +34a2e40,3463a5d0 +34a2e44,24040001 +34a2e48,442004 +34a2e4c,8c620b9c +34a2e50,441025 +34a2e54,ac620b9c +34a2e58,8fbf0014 +34a2e5c,3e00008 +34a2e60,27bd0018 +34a2e64,27bdffe8 +34a2e68,afbf0014 +34a2e6c,c108af8 +34a2e74,3c048011 +34a2e78,3484a5d0 +34a2e7c,24030001 +34a2e80,431804 +34a2e84,31827 +34a2e88,8c820b9c +34a2e8c,621824 +34a2e90,ac830b9c +34a2e94,8fbf0014 +34a2e98,3e00008 +34a2e9c,27bd0018 +34a2ea0,27bdffe8 +34a2ea4,afbf0014 +34a2ea8,afb00010 +34a2eac,c108af8 +34a2eb0,808025 +34a2eb4,24030001 +34a2eb8,431804 +34a2ebc,3c028011 +34a2ec0,3442a5d0 +34a2ec4,8c420b9c +34a2ec8,621824 +34a2ecc,3182b +34a2ed0,2605ffd3 +34a2ed4,30a5ffff +34a2ed8,2ca5000b +34a2edc,10a0000c +34a2ee0,601025 +34a2ee4,3c048040 +34a2ee8,90841f43 +34a2eec,14800009 +34a2ef0,8fbf0014 +34a2ef4,3c028011 +34a2ef8,3442a5d0 +34a2efc,9042008a +34a2f00,202102b +34a2f04,54400001 +34a2f08,24030001 +34a2f0c,601025 +34a2f10,8fbf0014 +34a2f14,8fb00010 +34a2f18,3e00008 +34a2f1c,27bd0018 +34a2f20,27bdffe8 +34a2f24,afbf0014 +34a2f28,c108af8 +34a2f30,3c038011 +34a2f34,3463a5d0 +34a2f38,24440004 +34a2f3c,24020001 +34a2f40,821004 +34a2f44,8c640b9c +34a2f48,441025 +34a2f4c,ac620b9c +34a2f50,8fbf0014 +34a2f54,3e00008 +34a2f58,27bd0018 +34a2f5c,27bdffe8 +34a2f60,afbf0014 +34a2f64,c108af8 +34a2f6c,24430004 +34a2f70,24020001 +34a2f74,621004 +34a2f78,3c038011 +34a2f7c,3463a5d0 +34a2f80,8c630b9c +34a2f84,431024 +34a2f88,2102b +34a2f8c,8fbf0014 +34a2f90,3e00008 +34a2f94,27bd0018 +34a2f98,27bdffd8 +34a2f9c,afbf0024 +34a2fa0,afb30020 +34a2fa4,afb2001c +34a2fa8,afb10018 +34a2fac,afb00014 +34a2fb0,c108b2e +34a2fb4,808825 +34a2fb8,1040001b +34a2fbc,2201025 +34a2fc0,2e22002c +34a2fc4,54400004 +34a2fc8,24020021 +34a2fcc,2402002d +34a2fd0,10000002 +34a2fd4,24120037 +34a2fd8,2412002b +34a2fdc,232182b +34a2fe0,10600003 +34a2fe4,408025 +34a2fe8,26300001 +34a2fec,3210ffff +34a2ff0,10000005 +34a2ff4,409825 +34a2ff8,3210ffff +34a2ffc,250182b +34a3000,54600001 +34a3004,2608025 +34a3008,12110007 +34a300c,2201025 +34a3010,c108b5f +34a3014,2002025 +34a3018,5040fff7 +34a301c,26100001 +34a3020,2008825 +34a3024,2201025 +34a3028,8fbf0024 +34a302c,8fb30020 +34a3030,8fb2001c +34a3034,8fb10018 +34a3038,8fb00014 +34a303c,3e00008 +34a3040,27bd0028 +34a3044,27bdffd8 +34a3048,afbf0024 +34a304c,afb30020 +34a3050,afb2001c +34a3054,afb10018 +34a3058,afb00014 +34a305c,c108b2e +34a3060,808825 +34a3064,1040001b +34a3068,2201025 +34a306c,2e22002c +34a3070,54400004 +34a3074,24120021 +34a3078,2412002d +34a307c,10000002 +34a3080,24020037 +34a3084,2402002b +34a3088,251182b +34a308c,10600003 +34a3090,408025 +34a3094,2630ffff +34a3098,3210ffff +34a309c,10000005 +34a30a0,409825 +34a30a4,3210ffff +34a30a8,212182b +34a30ac,54600001 +34a30b0,2608025 +34a30b4,12110007 +34a30b8,2201025 +34a30bc,c108b5f +34a30c0,2002025 +34a30c4,5040fff7 +34a30c8,2610ffff +34a30cc,2008825 +34a30d0,2201025 +34a30d4,8fbf0024 +34a30d8,8fb30020 +34a30dc,8fb2001c +34a30e0,8fb10018 +34a30e4,8fb00014 +34a30e8,3e00008 +34a30ec,27bd0028 +34a30f0,27bdffc8 +34a30f4,afbf0034 +34a30f8,afbe0030 +34a30fc,afb7002c +34a3100,afb60028 +34a3104,afb50024 +34a3108,afb40020 +34a310c,afb3001c +34a3110,afb20018 +34a3114,afb10014 +34a3118,afb00010 +34a311c,80a025 +34a3120,a09825 +34a3124,a0b825 +34a3128,309e00ff +34a312c,3c028011 +34a3130,3442a5d0 +34a3134,451021 +34a3138,a05e0074 +34a313c,24110001 +34a3140,3c128011 +34a3144,3652a5d0 +34a3148,3c168006 +34a314c,36d6fb50 +34a3150,3c15801c +34a3154,36b584a0 +34a3158,2630ffff +34a315c,2501021 +34a3160,9042006c +34a3164,16e20007 +34a3168,2501021 +34a316c,2511021 +34a3170,a05e0068 +34a3174,3225ffff +34a3178,2c0f809 +34a317c,2a02025 +34a3180,2501021 +34a3184,80420044 +34a3188,14530003 +34a318c,2508021 +34a3190,2511021 +34a3194,a0540040 +34a3198,8202004e +34a319c,54530004 +34a31a0,26310001 +34a31a4,2511021 +34a31a8,a054004a +34a31ac,26310001 +34a31b0,24020004 +34a31b4,1622ffe9 +34a31b8,2630ffff +34a31bc,8fbf0034 +34a31c0,8fbe0030 +34a31c4,8fb7002c +34a31c8,8fb60028 +34a31cc,8fb50024 +34a31d0,8fb40020 +34a31d4,8fb3001c +34a31d8,8fb20018 +34a31dc,8fb10014 +34a31e0,8fb00010 +34a31e4,3e00008 +34a31e8,27bd0038 +34a31ec,27bdffe8 +34a31f0,afbf0014 +34a31f4,afb00010 +34a31f8,c108b5f +34a31fc,808025 +34a3200,10400008 +34a3204,8fbf0014 +34a3208,c108ba8 +34a320c,2002025 +34a3210,14400004 +34a3214,8fbf0014 +34a3218,c108b8b +34a321c,2002025 +34a3220,8fbf0014 +34a3224,8fb00010 +34a3228,3e00008 +34a322c,27bd0018 +34a3230,27bdffe8 +34a3234,afbf0014 +34a3238,c108ba8 +34a323c,24040037 +34a3240,8fbf0014 +34a3244,3e00008 +34a3248,27bd0018 +34a324c,27bdffe8 +34a3250,afbf0014 +34a3254,afb00010 +34a3258,3086ffff +34a325c,24c3ffd5 +34a3260,3063ffff +34a3264,2c630003 +34a3268,14600006 +34a326c,a08025 +34a3270,24c6ffd1 +34a3274,30c6ffff +34a3278,2cc6000a +34a327c,10c0000b +34a3280,2001025 +34a3284,c108b00 +34a328c,10400006 +34a3290,402025 +34a3294,c108ba8 +34a329c,2c420001 +34a32a0,21023 +34a32a4,2028024 +34a32a8,2001025 +34a32ac,8fbf0014 +34a32b0,8fb00010 +34a32b4,3e00008 +34a32b8,27bd0018 +34a32bc,27bdffc8 +34a32c0,afbf0034 +34a32c4,afb70030 +34a32c8,afb6002c +34a32cc,afb50028 +34a32d0,afb40024 +34a32d4,afb30020 +34a32d8,afb2001c +34a32dc,afb10018 +34a32e0,afb00014 +34a32e4,80a825 +34a32e8,a08825 +34a32ec,c09025 +34a32f0,9825 +34a32f4,1025 +34a32f8,3c108011 +34a32fc,3610a5d0 +34a3300,30d600ff +34a3304,24170001 +34a3308,3c148006 +34a330c,3694fb50 +34a3310,2021821 +34a3314,90630074 +34a3318,54710019 +34a331c,24420001 +34a3320,2021021 +34a3324,a0560074 +34a3328,92020069 +34a332c,5051000a +34a3330,2e09825 +34a3334,9202006a +34a3338,50510009 +34a333c,24130002 +34a3340,9202006b +34a3344,14510015 +34a3348,24130004 +34a334c,24130003 +34a3350,10000004 +34a3354,24020003 +34a3358,10000002 +34a335c,2e01025 +34a3360,24020002 +34a3364,2021021 +34a3368,a0560068 +34a336c,2602825 +34a3370,280f809 +34a3374,2a02025 +34a3378,10000009 +34a337c,26620001 +34a3380,21400 +34a3384,21403 +34a3388,28430018 +34a338c,1460ffe1 +34a3390,2021821 +34a3394,10000004 +34a3398,2402825 +34a339c,26620001 +34a33a0,1000ffdb +34a33a4,2e09825 +34a33a8,c108b6d +34a33ac,2202025 +34a33b0,531025 +34a33b4,2102b +34a33b8,8fbf0034 +34a33bc,8fb70030 +34a33c0,8fb6002c +34a33c4,8fb50028 +34a33c8,8fb40024 +34a33cc,8fb30020 +34a33d0,8fb2001c +34a33d4,8fb10018 +34a33d8,8fb00014 +34a33dc,3e00008 +34a33e0,27bd0038 +34a33e4,27bdffe8 +34a33e8,afbf0014 +34a33ec,c108b5f +34a33f0,24040033 +34a33f4,1440000e +34a33fc,c108b5f +34a3400,24040034 +34a3404,1440000a +34a340c,c108b5f +34a3410,24040035 +34a3414,14400006 +34a341c,c108b5f +34a3420,24040036 +34a3424,401825 +34a3428,10600005 +34a342c,24020037 +34a3430,c108ba8 +34a3434,24040036 +34a3438,2102b +34a343c,24420036 +34a3440,8fbf0014 +34a3444,3e00008 +34a3448,27bd0018 +34a344c,27bdffe8 +34a3450,afbf0014 +34a3454,c108b5f +34a3458,2404002f +34a345c,10400005 +34a3464,c108ba8 +34a3468,2404002f +34a346c,5040000a +34a3470,2403002d +34a3474,c108b5f +34a3478,24040031 +34a347c,10400006 +34a3480,24030037 +34a3484,c108ba8 +34a3488,24040031 +34a348c,14400002 +34a3490,24030037 +34a3494,2403002d +34a3498,601025 +34a349c,8fbf0014 +34a34a0,3e00008 +34a34a4,27bd0018 +34a34a8,3c02801d +34a34ac,3442aa30 +34a34b0,80420683 +34a34b4,38420006 +34a34b8,3e00008 +34a34bc,2c420001 +34a34c0,3c028011 +34a34c4,3442a5d0 +34a34c8,8c430b9c +34a34cc,310c2 +34a34d0,319c2 +34a34d4,431026 +34a34d8,3042000f +34a34dc,10400032 +34a34e0,3c028011 +34a34e4,3442a5d0 +34a34e8,94420ef6 +34a34ec,30430100 +34a34f0,1060000a +34a34f4,30430200 +34a34f8,3c038011 +34a34fc,3463a5d0 +34a3500,94630ee4 +34a3504,30631000 +34a3508,54600004 +34a350c,30430200 +34a3510,a08001db +34a3514,3e00008 +34a3518,240270a5 +34a351c,1060000b +34a3520,30430400 +34a3524,3c038011 +34a3528,3463a5d0 +34a352c,94630ee4 +34a3530,30632000 +34a3534,54600005 +34a3538,30430400 +34a353c,24020002 +34a3540,a08201db +34a3544,3e00008 +34a3548,240270c4 +34a354c,5060000b +34a3550,30420800 +34a3554,3c038011 +34a3558,3463a5d0 +34a355c,94630ee4 +34a3560,30634000 +34a3564,54600005 +34a3568,30420800 +34a356c,24020001 +34a3570,a08201db +34a3574,3e00008 +34a3578,240270c5 +34a357c,1040001c +34a3584,3c028011 +34a3588,3442a5d0 +34a358c,84430ee4 +34a3590,460001e +34a3594,240270ac +34a3598,24020003 +34a359c,a08201db +34a35a0,3e00008 +34a35a4,240270c6 +34a35a8,3442a5d0 +34a35ac,94420ef6 +34a35b0,30430800 +34a35b4,14600010 +34a35b8,30430400 +34a35bc,14600010 +34a35c0,3c038011 +34a35c4,3463a5d0 +34a35c8,94640ef4 +34a35cc,30830010 +34a35d0,30420100 +34a35d4,621025 +34a35d8,1440000b +34a35dc,30840008 +34a35e0,1080000a +34a35e4,240270a1 +34a35e8,3e00008 +34a35ec,240270a6 +34a35f0,3e00008 +34a35f4,240270ac +34a35f8,3e00008 +34a35fc,240270ac +34a3600,3e00008 +34a3604,240270c7 +34a3608,240270c7 +34a360c,3e00008 +34a3614,27bdffe0 +34a3618,afbf001c +34a361c,afb20018 +34a3620,afb10014 +34a3624,afb00010 +34a3628,808025 +34a362c,908201db +34a3630,21040 +34a3634,3c038042 +34a3638,24634850 +34a363c,431021 +34a3640,84440000 +34a3644,3c028011 +34a3648,3442a5d0 +34a364c,94420034 +34a3650,44102a +34a3654,1040000a +34a3658,a08825 +34a365c,240570a8 +34a3660,3c02800d +34a3664,3442ce80 +34a3668,40f809 +34a366c,2202025 +34a3670,24020001 +34a3674,a20201dc +34a3678,10000077 +34a367c,24020005 +34a3680,42023 +34a3684,42400 +34a3688,3c028007 +34a368c,244221cc +34a3690,40f809 +34a3694,42403 +34a3698,920201db +34a369c,54400009 +34a36a0,920301db +34a36a4,3c028011 +34a36a8,3442a5d0 +34a36ac,94430ee4 +34a36b0,34631000 +34a36b4,a4430ee4 +34a36b8,c108bc8 +34a36bc,24040024 +34a36c0,920301db +34a36c4,24020002 +34a36c8,54620009 +34a36cc,920301db +34a36d0,3c028011 +34a36d4,3442a5d0 +34a36d8,94430ee4 +34a36dc,34632000 +34a36e0,a4430ee4 +34a36e4,c108bc8 +34a36e8,24040025 +34a36ec,920301db +34a36f0,24020001 +34a36f4,54620009 +34a36f8,920301db +34a36fc,3c028011 +34a3700,3442a5d0 +34a3704,94430ee4 +34a3708,34634000 +34a370c,a4430ee4 +34a3710,c108bc8 +34a3714,24040026 +34a3718,920301db +34a371c,24020003 +34a3720,14620009 +34a3724,3c028011 +34a3728,3442a5d0 +34a372c,94430ee4 +34a3730,24048000 +34a3734,641825 +34a3738,a4430ee4 +34a373c,c108bc8 +34a3740,24040027 +34a3744,3c028011 +34a3748,3442a5d0 +34a374c,8c420b9c +34a3750,291c2 +34a3754,3252000f +34a3758,210c2 +34a375c,3042000f +34a3760,1242002f +34a3764,2402000f +34a3768,c108ba8 +34a376c,24040025 +34a3770,1040000c +34a3778,c108bd7 +34a377c,24040025 +34a3780,14400008 +34a3784,240570c4 +34a3788,3c02800d +34a378c,3442ce80 +34a3790,40f809 +34a3794,2202025 +34a3798,24020002 +34a379c,10000031 +34a37a0,a20201db +34a37a4,c108ba8 +34a37a8,24040026 +34a37ac,1040000c +34a37b4,c108bd7 +34a37b8,24040026 +34a37bc,14400008 +34a37c0,240570c5 +34a37c4,3c02800d +34a37c8,3442ce80 +34a37cc,40f809 +34a37d0,2202025 +34a37d4,24020001 +34a37d8,10000022 +34a37dc,a20201db +34a37e0,c108ba8 +34a37e4,24040027 +34a37e8,1040000d +34a37ec,2402000f +34a37f0,c108bd7 +34a37f4,24040027 +34a37f8,14400009 +34a37fc,2402000f +34a3800,240570c6 +34a3804,3c02800d +34a3808,3442ce80 +34a380c,40f809 +34a3810,2202025 +34a3814,24020003 +34a3818,10000012 +34a381c,a20201db +34a3820,16420008 +34a3824,240570a7 +34a3828,240570a9 +34a382c,3c02800d +34a3830,3442ce80 +34a3834,40f809 +34a3838,2202025 +34a383c,10000006 +34a3840,24020006 +34a3844,3c02800d +34a3848,3442ce80 +34a384c,40f809 +34a3850,2202025 +34a3854,24020008 +34a3858,a20201db +34a385c,24020001 +34a3860,a60201ec +34a3864,8fbf001c +34a3868,8fb20018 +34a386c,8fb10014 +34a3870,8fb00010 +34a3874,3e00008 +34a3878,27bd0020 +34a387c,3c028011 +34a3880,3442a5d0 +34a3884,84420ef6 +34a3888,441000a +34a3890,3c028011 +34a3894,3442a5d0 +34a3898,8c420b9c +34a389c,211c2 +34a38a0,3042000f +34a38a4,3842000f +34a38a8,2102b +34a38ac,3e00008 +34a38b0,21040 +34a38b4,3e00008 +34a38b8,24020002 +34a38bc,3c028044 +34a38c0,24030001 +34a38c4,ac43209c +34a38c8,3c038044 +34a38cc,8c6220a0 +34a38d0,2c440006 +34a38d4,50800001 +34a38d8,24020005 +34a38dc,3e00008 +34a38e0,ac6220a0 +34a38e4,27bdffb8 +34a38e8,afbf0044 +34a38ec,afbe0040 +34a38f0,afb6003c +34a38f4,afb50038 +34a38f8,afb40034 +34a38fc,afb30030 +34a3900,afb2002c +34a3904,afb10028 +34a3908,afb00024 +34a390c,3a0f025 +34a3910,3c028040 +34a3914,94421e68 +34a3918,10400126 +34a391c,3a0a825 +34a3920,3c02801d +34a3924,3442aa30 +34a3928,8c42066c +34a392c,3c033000 +34a3930,24630483 +34a3934,431024 +34a3938,1440011e +34a393c,808025 +34a3940,3c02801c +34a3944,344284a0 +34a3948,8c430008 +34a394c,3c02800f +34a3950,8c4213ec +34a3954,54620118 +34a3958,2a0e825 +34a395c,3c028011 +34a3960,3442a5d0 +34a3964,8c46135c +34a3968,14c00112 +34a396c,3c02800e +34a3970,3442f1b0 +34a3974,8c420000 +34a3978,30420020 +34a397c,1440010d +34a3980,3c028044 +34a3984,8c43209c +34a3988,24020001 +34a398c,1062000a +34a3990,3c02801c +34a3994,344284a0 +34a3998,3c030001 +34a399c,431021 +34a39a0,94430934 +34a39a4,24020006 +34a39a8,54620103 +34a39ac,2a0e825 +34a39b0,10000009 +34a39b4,3c038044 +34a39b8,344284a0 +34a39bc,3c030001 +34a39c0,431021 +34a39c4,94430934 +34a39c8,24020006 +34a39cc,14620007 +34a39d0,3c028044 +34a39d4,3c038044 +34a39d8,8c6220a0 +34a39dc,3042001f +34a39e0,ac6220a0 +34a39e4,10000022 +34a39e8,241300ff +34a39ec,8c4220a0 +34a39f0,2c430006 +34a39f4,1060000a +34a39f8,2c43006a +34a39fc,29a00 +34a3a00,2629823 +34a3a04,3c02cccc +34a3a08,3442cccd +34a3a0c,2620019 +34a3a10,9810 +34a3a14,139882 +34a3a18,10000015 +34a3a1c,327300ff +34a3a20,14600013 +34a3a24,241300ff +34a3a28,2c4300ba +34a3a2c,1060000b +34a3a30,21a00 +34a3a34,621023 +34a3a38,24429769 +34a3a3c,3c03cccc +34a3a40,3463cccd +34a3a44,430019 +34a3a48,1010 +34a3a4c,29982 +34a3a50,139827 +34a3a54,10000006 +34a3a58,327300ff +34a3a5c,3c028044 +34a3a60,ac40209c +34a3a64,3c028044 +34a3a68,100000d2 +34a3a6c,ac4020a0 +34a3a70,3c038044 +34a3a74,8c6220a0 +34a3a78,24420001 +34a3a7c,ac6220a0 +34a3a80,3c028011 +34a3a84,3442a5d0 +34a3a88,8c4808c4 +34a3a8c,19000011 +34a3a90,1001025 +34a3a94,c05025 +34a3a98,3c056666 +34a3a9c,24a56667 +34a3aa0,254a0001 +34a3aa4,401825 +34a3aa8,450018 +34a3aac,2010 +34a3ab0,42083 +34a3ab4,217c3 +34a3ab8,2863000a +34a3abc,1060fff8 +34a3ac0,821023 +34a3ac4,15400005 +34a3ac8,3c028040 +34a3acc,10000002 +34a3ad0,240a0001 +34a3ad4,240a0001 +34a3ad8,3c028040 +34a3adc,94441e6a +34a3ae0,18800010 +34a3ae4,801025 +34a3ae8,3c076666 +34a3aec,24e76667 +34a3af0,24c60001 +34a3af4,401825 +34a3af8,470018 +34a3afc,2810 +34a3b00,52883 +34a3b04,217c3 +34a3b08,2863000a +34a3b0c,1060fff8 +34a3b10,a21023 +34a3b14,54c00005 +34a3b18,1463021 +34a3b1c,10000002 +34a3b20,24060001 +34a3b24,24060001 +34a3b28,1463021 +34a3b2c,24d40001 +34a3b30,3c028043 +34a3b34,24429630 +34a3b38,94430004 +34a3b3c,740018 +34a3b40,2812 +34a3b44,3c038043 +34a3b48,24639610 +34a3b4c,94670004 +34a3b50,a72821 +34a3b54,597c2 +34a3b58,2459021 +34a3b5c,129043 +34a3b60,129023 +34a3b64,265200a0 +34a3b68,94420006 +34a3b6c,44820000 +34a3b74,46800021 +34a3b78,3c028042 +34a3b7c,d4464ac0 +34a3b80,46260002 +34a3b84,3c028042 +34a3b88,d4424ac8 +34a3b8c,46201001 +34a3b90,3c028042 +34a3b94,d4444ad0 +34a3b98,46240000 +34a3b9c,4620000d +34a3ba0,44070000 +34a3ba4,94620006 +34a3ba8,44820000 +34a3bb0,46800021 +34a3bb4,46260002 +34a3bb8,46201081 +34a3bbc,3c028042 +34a3bc0,d4404ad8 +34a3bc4,46201080 +34a3bc8,46241080 +34a3bcc,4620100d +34a3bd0,44110000 +34a3bd4,24c20009 +34a3bd8,210c2 +34a3bdc,210c0 +34a3be0,3a2e823 +34a3be4,27a50020 +34a3be8,b41021 +34a3bec,19400015 +34a3bf0,a0400000 +34a3bf4,2549ffff +34a3bf8,a94821 +34a3bfc,a06025 +34a3c00,3c0b6666 +34a3c04,256b6667 +34a3c08,10b0018 +34a3c0c,1810 +34a3c10,31883 +34a3c14,817c3 +34a3c18,621823 +34a3c1c,31080 +34a3c20,431021 +34a3c24,21040 +34a3c28,1021023 +34a3c2c,24420030 +34a3c30,a1220000 +34a3c34,604025 +34a3c38,1201025 +34a3c3c,1582fff2 +34a3c40,2529ffff +34a3c44,aa1021 +34a3c48,2403002f +34a3c4c,a0430000 +34a3c50,146102a +34a3c54,10400012 +34a3c58,a63021 +34a3c5c,aa5021 +34a3c60,3c086666 +34a3c64,25086667 +34a3c68,880018 +34a3c6c,1810 +34a3c70,31883 +34a3c74,417c3 +34a3c78,621823 +34a3c7c,31080 +34a3c80,431021 +34a3c84,21040 +34a3c88,821023 +34a3c8c,24420030 +34a3c90,a0c20000 +34a3c94,24c6ffff +34a3c98,14cafff3 +34a3c9c,602025 +34a3ca0,8e020008 +34a3ca4,24430008 +34a3ca8,ae030008 +34a3cac,3c03de00 +34a3cb0,ac430000 +34a3cb4,3c038043 +34a3cb8,24639688 +34a3cbc,ac430004 +34a3cc0,8e020008 +34a3cc4,24430008 +34a3cc8,ae030008 +34a3ccc,3c03e700 +34a3cd0,ac430000 +34a3cd4,ac400004 +34a3cd8,8e020008 +34a3cdc,24430008 +34a3ce0,ae030008 +34a3ce4,3c03fc11 +34a3ce8,34639623 +34a3cec,ac430000 +34a3cf0,3c03ff2f +34a3cf4,3463ffff +34a3cf8,ac430004 +34a3cfc,8e030008 +34a3d00,24620008 +34a3d04,ae020008 +34a3d08,3c16fa00 +34a3d0c,ac760000 +34a3d10,3c02dad3 +34a3d14,24420b00 +34a3d18,2621025 +34a3d1c,ac620004 +34a3d20,2403025 +34a3d24,c108a51 +34a3d28,2002025 +34a3d2c,3c028043 +34a3d30,94429634 +34a3d34,540018 +34a3d38,a012 +34a3d3c,292a021 +34a3d40,8e020008 +34a3d44,24430008 +34a3d48,ae030008 +34a3d4c,ac560000 +34a3d50,3c03f4ec +34a3d54,24633000 +34a3d58,2639825 +34a3d5c,ac530004 +34a3d60,3c028044 +34a3d64,8c4620a0 +34a3d68,63042 +34a3d6c,24070001 +34a3d70,30c6000f +34a3d74,3c128043 +34a3d78,26459610 +34a3d7c,c10533a +34a3d80,2002025 +34a3d84,26459610 +34a3d88,94a20006 +34a3d8c,afa20018 +34a3d90,94a20004 +34a3d94,afa20014 +34a3d98,afb10010 +34a3d9c,2803825 +34a3da0,3025 +34a3da4,c105584 +34a3da8,2002025 +34a3dac,10000002 +34a3db0,2a0e825 +34a3db4,2a0e825 +34a3db8,3c0e825 +34a3dbc,8fbf0044 +34a3dc0,8fbe0040 +34a3dc4,8fb6003c +34a3dc8,8fb50038 +34a3dcc,8fb40034 +34a3dd0,8fb30030 +34a3dd4,8fb2002c +34a3dd8,8fb10028 +34a3ddc,8fb00024 +34a3de0,3e00008 +34a3de4,27bd0048 +34a3de8,3c028040 +34a3dec,a0405578 +34a3df0,3c028040 +34a3df4,3e00008 +34a3df8,ac40557c +34a3dfc,3c028040 +34a3e00,90420cad +34a3e04,10400025 +34a3e08,3c04801c +34a3e0c,27bdffe8 +34a3e10,afbf0014 +34a3e14,3c02800d +34a3e18,3442d464 +34a3e1c,40f809 +34a3e20,3484a578 +34a3e24,24030004 +34a3e28,10430019 +34a3e2c,3c02801c +34a3e30,344284a0 +34a3e34,3c030001 +34a3e38,431021 +34a3e3c,94430934 +34a3e40,24020006 +34a3e44,10620012 +34a3e48,3c02801c +34a3e4c,344284a0 +34a3e50,94420324 +34a3e54,2442fffa +34a3e58,3042fffa +34a3e5c,1440000d +34a3e60,8fbf0014 +34a3e64,3c02801c +34a3e68,344284a0 +34a3e6c,90430017 +34a3e70,31823 +34a3e74,a0430017 +34a3e78,90430023 +34a3e7c,31823 +34a3e80,a0430023 +34a3e84,90430029 +34a3e88,31823 +34a3e8c,a0430029 +34a3e90,8fbf0014 +34a3e94,3e00008 +34a3e98,27bd0018 +34a3e9c,3e00008 +34a3ea4,3c038044 +34a3ea8,3c028060 +34a3eac,24421000 +34a3eb0,3e00008 +34a3eb4,ac6220a4 +34a3eb8,3082000f +34a3ebc,10400009 +34a3ec0,3c038044 +34a3ec4,417c3 +34a3ec8,21702 +34a3ecc,821821 +34a3ed0,3063000f +34a3ed4,431023 +34a3ed8,24420010 +34a3edc,822021 +34a3ee0,3c038044 +34a3ee4,8c6220a4 +34a3ee8,442021 +34a3eec,3e00008 +34a3ef0,ac6420a4 +34a3ef4,27bdffe8 +34a3ef8,afbf0014 +34a3efc,afb00010 +34a3f00,808025 +34a3f04,c108fae +34a3f08,8c840008 +34a3f0c,402025 +34a3f10,ae020000 +34a3f14,8e060008 +34a3f18,3c028000 +34a3f1c,24420df0 +34a3f20,40f809 +34a3f24,8e050004 +34a3f28,8fbf0014 +34a3f2c,8fb00010 +34a3f30,3e00008 +34a3f34,27bd0018 +34a3f38,51140 +34a3f3c,3c03800f +34a3f40,24638530 +34a3f44,431021 +34a3f48,8c420010 +34a3f4c,10400007 +34a3f50,52940 +34a3f54,3c03800f +34a3f58,24638530 +34a3f5c,a32821 +34a3f60,8ca30008 +34a3f64,832023 +34a3f68,441021 +34a3f6c,3e00008 +34a3f74,3c02800f +34a3f78,a0401640 +34a3f7c,3c028044 +34a3f80,a04020a8 +34a3f84,3c028011 +34a3f88,3442a5d0 +34a3f8c,8c420004 +34a3f90,14400086 +34a3f94,3c028011 +34a3f98,3442a5d0 +34a3f9c,8c421360 +34a3fa0,2c420004 +34a3fa4,10400081 +34a3fa8,3c028011 +34a3fac,3442a5d0 +34a3fb0,8c420000 +34a3fb4,240301fd +34a3fb8,14430005 +34a3fbc,3c038011 +34a3fc0,3c02800f +34a3fc4,24030001 +34a3fc8,3e00008 +34a3fcc,a0431640 +34a3fd0,3463a5d0 +34a3fd4,94630ed6 +34a3fd8,30630100 +34a3fdc,1460000a +34a3fe0,3c038011 +34a3fe4,24030157 +34a3fe8,10430003 +34a3fec,240301f9 +34a3ff0,14430005 +34a3ff4,3c038011 +34a3ff8,3c02800f +34a3ffc,24030002 +34a4000,3e00008 +34a4004,a0431640 +34a4008,3463a5d0 +34a400c,94630edc +34a4010,30640400 +34a4014,54800016 +34a4018,3c028011 +34a401c,240404da +34a4020,10440005 +34a4024,2404ffbf +34a4028,441024 +34a402c,2404019d +34a4030,14440005 +34a4034,3c02801c +34a4038,3c02800f +34a403c,24030003 +34a4040,3e00008 +34a4044,a0431640 +34a4048,344284a0 +34a404c,944200a4 +34a4050,2442ffa8 +34a4054,2c420002 +34a4058,10400005 +34a405c,3c028011 +34a4060,3c02800f +34a4064,24030003 +34a4068,3e00008 +34a406c,a0431640 +34a4070,3442a5d0 +34a4074,8c4200a4 +34a4078,30420007 +34a407c,24040007 +34a4080,5444001f +34a4084,30630200 +34a4088,3c028011 +34a408c,3442a5d0 +34a4090,8c42037c +34a4094,30420002 +34a4098,54400019 +34a409c,30630200 +34a40a0,3c02801c +34a40a4,344284a0 +34a40a8,944200a4 +34a40ac,2442ffae +34a40b0,2c420002 +34a40b4,50400012 +34a40b8,30630200 +34a40bc,3c028044 +34a40c0,24040002 +34a40c4,a04420a8 +34a40c8,3c028011 +34a40cc,3442a5d0 +34a40d0,8c420000 +34a40d4,24040191 +34a40d8,10440008 +34a40dc,24040205 +34a40e0,10440006 +34a40e4,240400db +34a40e8,10440004 +34a40ec,3c02800f +34a40f0,24030005 +34a40f4,3e00008 +34a40f8,a0431640 +34a40fc,30630200 +34a4100,1460002a +34a4104,3c02801c +34a4108,344284a0 +34a410c,3c030001 +34a4110,431021 +34a4114,84431e1a +34a4118,240204d6 +34a411c,14620005 +34a4120,3c02801c +34a4124,3c02800f +34a4128,24030002 +34a412c,3e00008 +34a4130,a0431640 +34a4134,344284a0 +34a4138,944200a4 +34a413c,2c430054 +34a4140,50600006 +34a4144,2442ffa0 +34a4148,2c420052 +34a414c,14400017 +34a4150,3c028044 +34a4154,10000006 +34a4158,904220a8 +34a415c,3042ffff +34a4160,2c420002 +34a4164,10400011 +34a4168,3c028044 +34a416c,904220a8 +34a4170,14400005 +34a4174,3c028011 +34a4178,3c028044 +34a417c,24030001 +34a4180,a04320a8 +34a4184,3c028011 +34a4188,3442a5d0 +34a418c,8c420000 +34a4190,240300db +34a4194,10430005 +34a4198,24030195 +34a419c,10430003 +34a41a0,3c02800f +34a41a4,24030002 +34a41a8,a0431640 +34a41ac,3e00008 +34a41b8,33c2 +34a41bc,664399c4 +34a41c0,cc45ffc6 +34a41c4,ff47ffc8 +34a41c8,ff49e0ca +34a41cc,c24ba3cc +34a41d0,854d660d +34a41d4,440f2200 +34a41d8,85d1a352 +34a41dc,c2d3e045 +34a41e0,42700000 +34a41e4,41a00000 +34a41e8,80407f70 +34a41ec,80407f78 +34a41f0,80407f80 +34a41f4,80407fd0 +34a41f8,80408000 +34a41fc,3f000000 +34a4200,44bb8000 +34a4204,c5480000 +34a4208,4528c000 +34a420c,45034000 +34a4210,3a000000 +34a4214,30313233 +34a4218,34353637 +34a421c,38394142 +34a4220,43444546 +34a4228,31000000 +34a422c,30000000 +34a4230,2e000000 +34a4234,ffffffff +34a4238,80408c7c +34a423c,80408c90 +34a4240,80408ca4 +34a4244,80408cb8 +34a4248,80408ccc +34a424c,80408ce0 +34a4250,804090dc +34a4254,80409320 +34a4258,80409428 +34a425c,80409530 +34a4260,80409c88 +34a4264,80409c88 +34a4268,80409c88 +34a426c,804096d4 +34a4270,8040989c +34a4274,80409960 +34a4278,80409af0 +34a427c,80409b3c +34a4280,80409b88 +34a4284,80409bc0 +34a4288,80409c0c +34a428c,80409c58 +34a4290,8040ae04 +34a4294,8040ae34 +34a4298,8040a2c8 +34a429c,8040ae6c +34a42a0,8040b02c +34a42a4,8040b02c +34a42a8,8040b02c +34a42ac,8040aec0 +34a42b0,8040a9fc +34a42b4,8040afd4 +34a42b8,10100000 +34a42bc,3cb40000 +34a42c0,41200000 +34a42c4,40cb0000 +34a42c8,404e0000 +34a42d0,3ff80000 +34a42d8,406e0000 +34a42e0,3ff00000 +34a42e8,40040000 +34a42f0,3fe99999 +34a42f4,9999999a +34a42f8,3ca3d70a +34a42fc,40a00000 +34a4300,4d510000 +34a4304,4e6f726d +34a4308,616c0000 +34a4310,40140000 +34a4318,40440000 +34a4320,41a00000 +34a4324,44610000 +34a4328,41f00000 +34a432c,c2480000 +34a4330,42480000 +34a4334,3c75c28f +34a4338,443b8000 +34a433c,41c80000 +34a4340,c0006 +34a4344,e000f +34a4348,30008 +34a434c,9000a +34a4350,1 +34a4354,20012 +34a4358,1010101 +34a435c,1010101 +34a4360,1010101 +34a4364,1010101 +34a4368,1010101 +34a4384,1010000 +34a438c,1010101 +34a4390,1000101 +34a4394,10101 +34a4398,10000 +34a439c,bdcccccd +34a43a0,3dcccccd +34a43a4,2f000000 +34a43a8,2b242525 +34a43ac,26262626 +34a43b0,27272727 +34a43b4,27272727 +34a43b8,ff4e +34a43bc,51f4ec30 +34a43c0,5751f4ec +34a43c4,306051f4 +34a43c8,ec306951 +34a43cc,f4ec3072 +34a43d0,51000000 +34a43d4,97ff6350 +34a43d8,45ff5028 +34a43dc,57456397 +34a43e0,ff5e45ff +34a43e4,9f006545 +34a43e8,ff63ff6c +34a43ec,45fff063 +34a43f0,7345ffff +34a43f4,ff503aff +34a43f8,ffff573a +34a43fc,ffffff5e +34a4400,3affffff +34a4404,653affff +34a4408,ff6c3aff +34a440c,ffff733a +34a4410,5a0c00 +34a4414,720c0096 +34a4418,c009618 +34a441c,1652a00 +34a4420,4e2a005a +34a4424,2a000000 +34a4428,80429650 +34a442c,80429640 +34a4430,804295c0 +34a4438,47656e65 +34a443c,72617465 +34a4440,64207769 +34a4444,7468204f +34a4448,6f545200 +34a444c,53706f69 +34a4450,6c657220 +34a4454,61766169 +34a4458,6c61626c +34a445c,65000000 +34a4460,506c616e +34a4464,646f6d69 +34a4468,7a657200 +34a446c,576f726c +34a4470,64000000 +34a4474,20202053 +34a4478,65656420 +34a447c,49440000 +34a4480,50617373 +34a4484,776f7264 +34a4488,206c6f63 +34a448c,6b656400 +34a4490,456e7465 +34a4494,72205061 +34a4498,7373776f +34a449c,72640000 +34a44a0,ffffffff +34a44a8,405be666 +34a44ac,66666666 +34a44b0,6000000 +34a44b4,42200000 +34a44b8,41a00000 +34a44bc,3c75c28f +34a44c0,443b8000 +34a44c4,3f000000 +34a44c8,73697a65 +34a44cc,203d2025 +34a44d0,780a6d61 +34a44d4,78203d20 +34a44d8,25780a70 +34a44dc,203d2025 +34a44e0,700a6275 +34a44e4,66203d20 +34a44e8,25700a64 +34a44ec,203d2025 +34a44f0,70000000 +34a44f4,52616e64 +34a44f8,6f6d697a +34a44fc,65722064 +34a4500,6973706c +34a4504,61792062 +34a4508,75666665 +34a450c,72206578 +34a4510,63656564 +34a4514,65642100 +34a4518,c8ff6482 +34a451c,82ffff64 +34a4520,64ff5aff +34a4524,c80000 +34a452c,ff0046 +34a4530,320000 +34a4534,f4ec30ff +34a4538,de001a +34a453c,c060d0d +34a4540,53000000 +34a4548,3f800000 +34a4560,3f800000 +34a456c,bf800000 +34a4584,3f800000 +34a4588,e7000000 +34a4590,d7000002 +34a4594,ffffffff +34a4598,fc11fe23 +34a459c,fffff7fb +34a45a0,ef082c10 +34a45a4,552078 +34a45a8,d9000000 +34a45ac,220405 +34a45b0,df000000 +34a45b8,3fc8f5c3 +34a45bc,3f333333 +34a45c0,c0000000 +34a45c4,c1000000 +34a45c8,3fc00000 +34a45cc,40a00000 +34a45d0,3f4ccccd +34a45d4,41700000 +34a45d8,3fa00000 +34a45dc,4048f5c3 +34a45e0,41f00000 +34a45e8,8041b400 +34a45ec,8041b410 +34a45f0,8041b420 +34a45f4,8041b430 +34a45f8,8041b440 +34a45fc,74686520 +34a4600,57617270 +34a4604,20506f69 +34a4608,6e740000 +34a460c,43510000 +34a4610,41100000 +34a4614,4f000000 +34a4618,42080000 +34a461c,c20c0000 +34a4620,420c0000 +34a4624,52616369 +34a4628,6e672061 +34a462c,64766973 +34a4630,6f72793a +34a4634,206d6f64 +34a4638,656c2073 +34a463c,6b656c65 +34a4640,746f6e20 +34a4644,6d697373 +34a4648,696e6720 +34a464c,646c6973 +34a4650,74000000 +34a4654,52616369 +34a4658,6e672061 +34a465c,64766973 +34a4660,6f72793a +34a4664,20697272 +34a4668,6567756c +34a466c,6172206d +34a4670,6f64656c +34a4674,20736b65 +34a4678,6c65746f +34a467c,6e000000 +34a4680,a +34a4684,5 +34a4688,21506c61 +34a468c,7941734d +34a4690,616e6966 +34a4694,65737430 +34a469c,bd1400 +34a46a0,bd1300 +34a46a4,15c6300 +34a46a8,de2f00 +34a46ac,8041f75c +34a46b0,8041f778 +34a46b4,8041f794 +34a46b8,8041f7b0 +34a46bc,8041f7cc +34a46c0,8041f75c +34a46c4,8041f778 +34a46c8,8041f794 +34a46cc,8041f7b0 +34a46d0,8041f7cc +34a46d4,3f800000 +34a46d8,3f000000 +34a46dc,41c80000 +34a46e0,41200000 +34a46e4,3fa00000 +34a46e8,40000000 +34a46ec,40200000 +34a46f0,3f8facc5 +34a46f4,3f64115e +34a46f8,3f800000 +34a46fc,3f000000 +34a4700,4f000000 +34a4704,8042029c +34a4708,8042029c +34a470c,80420234 +34a4710,8042029c +34a4714,8042029c +34a4718,8042029c +34a471c,8042029c +34a4720,8042029c +34a4724,8042029c +34a4728,8042029c +34a472c,8042029c +34a4730,8042029c +34a4734,804201f4 +34a4738,80420214 +34a473c,80420254 +34a4740,80420254 +34a4744,80420274 +34a4748,80420274 +34a474c,8042061c +34a4750,8042061c +34a4754,804205c4 +34a4758,8042061c +34a475c,8042061c +34a4760,8042061c +34a4764,8042061c +34a4768,8042061c +34a476c,8042061c +34a4770,8042061c +34a4774,8042061c +34a4778,8042061c +34a477c,80420584 +34a4780,804205a4 +34a4784,804205e4 +34a4788,804205e4 +34a478c,80420604 +34a4790,80420604 +34a4794,42480000 +34a4798,41200000 +34a479c,80420f2c +34a47a0,80420f2c +34a47a4,80420ec4 +34a47a8,80420f2c +34a47ac,80420f2c +34a47b0,80420f2c +34a47b4,80420f2c +34a47b8,80420f2c +34a47bc,80420f2c +34a47c0,80420f2c +34a47c4,80420f2c +34a47c8,80420f2c +34a47cc,80420e84 +34a47d0,80420ea4 +34a47d4,80420ee4 +34a47d8,80420ee4 +34a47dc,80420f04 +34a47e0,80420f04 +34a47e4,e01010e0 +34a47e8,e01010e0 +34a47ec,1010e0e0 +34a47f0,1010e0e0 +34a47f4,10e0e010 +34a47f8,10000000 +34a4800,41f00000 +34a4808,3f800000 +34a480c,4f000000 +34a4810,3f800000 +34a4814,3fc00000 +34a4818,804217bc +34a481c,804216d0 +34a4820,80421700 +34a4824,80421738 +34a4828,8042176c +34a482c,80421794 +34a4830,c53f7000 +34a4834,43be0000 +34a4838,c57e2000 +34a483c,442f0000 +34a4840,2d000000 +34a4844,5f +34a4848,10 +34a484c,10 +34a4850,a001e +34a4854,140032 +34a4858,21 +34a485c,2002c +34a4874,10022 +34a4878,3002d +34a4890,20023 +34a4894,1002b +34a48ac,30024 +34a48b0,12003a +34a48c8,40025 +34a48cc,10003b +34a48e4,50026 +34a48e8,11003c +34a4900,60027 +34a4904,13003d +34a491c,70028 +34a4920,15003e +34a4938,80029 +34a493c,16003f +34a4954,9002a +34a4958,170040 +34a4970,a002b +34a4974,140041 +34a498c,b002d +34a4990,5002f +34a49a8,c002e +34a49ac,60030 +34a49c4,d002f +34a49c8,70031 +34a49e0,e0030 +34a49e4,80032 +34a49fc,f0031 +34a4a00,90033 +34a4a18,100032 +34a4a1c,a0034 +34a4a34,110033 +34a4a38,b0035 +34a4a50,120034 +34a4a54,c0036 +34a4a6c,130035 +34a4a70,d0037 +34a4a88,140036 +34a4a8c,e0038 +34a4aa4,150037 +34a4aa8,f0039 +34a4ac0,3ff80000 +34a4ac8,406e0000 +34a4ad0,3ff00000 +34a4ad8,40080000 +34a4b38,7f024429 +34a4b3c,3c334133 +34a4b40,41334633 +34a4b44,44297f02 +34a4b74,5409 +34a4b78,4dc548ff +34a4b7c,41ff43ff +34a4b80,47ff49ff +34a4b84,43ff20c5 +34a4b88,c0000 +34a4bb4,3f75 +34a4bb8,49ff33ff +34a4bbc,28ff2dff +34a4bc0,33ff39ff +34a4bc4,3cff00ff +34a4bc8,770000 +34a4bf4,329d +34a4bf8,37ff1bff +34a4bfc,21ff28ff +34a4c00,2fff35ff +34a4c04,3cff00ff +34a4c08,9d0000 +34a4c34,329e +34a4c38,35ff21ff +34a4c3c,28ff06ff +34a4c40,9ff3cff +34a4c44,42ff00ff +34a4c48,9e0000 +34a4c74,359e +34a4c78,39ff27ff +34a4c7c,2eff00ff +34a4c80,2ff42ff +34a4c84,48ff00ff +34a4c88,9e0000 +34a4cb4,3a9e +34a4cb8,3eff2eff +34a4cbc,35ff00ff +34a4cc0,dff48ff +34a4cc4,4dff00ff +34a4cc8,9e0000 +34a4cf4,3e9e +34a4cf8,42ff35ff +34a4cfc,3bff1bff +34a4d00,27ff4dff +34a4d04,53ff00ff +34a4d08,9e0000 +34a4d34,439e +34a4d38,47ff3bff +34a4d3c,41ff47ff +34a4d40,4dff52ff +34a4d44,58ff00ff +34a4d48,9e0000 +34a4d74,4d9e +34a4d78,4dff41ff +34a4d7c,47ff4dff +34a4d80,52ff57ff +34a4d84,5cff00ff +34a4d88,9e0000 +34a4da4,3f04474f +34a4da8,3e663e66 +34a4dac,43664666 +34a4db0,48664d66 +34a4db4,57665bc5 +34a4db8,53ff47ff +34a4dbc,4dff52ff +34a4dc0,57ff5cff +34a4dc4,60ff0eff +34a4dc8,19c56666 +34a4dcc,66666466 +34a4dd0,61665f66 +34a4dd4,5c665a66 +34a4dd8,504f3f04 +34a4de0,6605 +34a4de4,4ec34bff +34a4de8,41ff41ff +34a4dec,45ff48ff +34a4df0,4cff4fff +34a4df4,55ff59ff +34a4df8,4fff4dff +34a4dfc,52ff57ff +34a4e00,5cff60ff +34a4e04,64ff61ff +34a4e08,67ff66ff +34a4e0c,64ff62ff +34a4e10,60ff5dff +34a4e14,5bff57ff +34a4e18,49ff0ec3 +34a4e1c,50000 +34a4e20,3958 +34a4e24,44ff31ff +34a4e28,20ff25ff +34a4e2c,2bff31ff +34a4e30,38ff3eff +34a4e34,44ff49ff +34a4e38,4dff52ff +34a4e3c,57ff5cff +34a4e40,60ff64ff +34a4e44,68ff67ff +34a4e48,64ff60ff +34a4e4c,5cff58ff +34a4e50,53ff4eff +34a4e54,48ff43ff +34a4e58,32ff00ff +34a4e5c,580000 +34a4e60,2f71 +34a4e64,36ff1dff +34a4e68,1fff26ff +34a4e6c,2dff34ff +34a4e70,3aff41ff +34a4e74,47ff4cff +34a4e78,52ff57ff +34a4e7c,5cff60ff +34a4e80,64ff68ff +34a4e84,67ff64ff +34a4e88,60ff5bff +34a4e8c,57ff51ff +34a4e90,4cff46ff +34a4e94,40ff3aff +34a4e98,27ff00ff +34a4e9c,710000 +34a4ea0,2f71 +34a4ea4,36ff21ff +34a4ea8,16ff00ff +34a4eac,ff00ff +34a4eb0,2cff47ff +34a4eb4,4cff52ff +34a4eb8,57ff5cff +34a4ebc,60ff64ff +34a4ec0,67ff67ff +34a4ec4,64ff60ff +34a4ec8,5bff57ff +34a4ecc,52ff0dff +34a4ed0,ff00ff +34a4ed4,aff33ff +34a4ed8,21ff00ff +34a4edc,710000 +34a4ee0,3371 +34a4ee4,3aff28ff +34a4ee8,22ff0fff +34a4eec,13ff19ff +34a4ef0,39ff4cff +34a4ef4,52ff57ff +34a4ef8,5bff60ff +34a4efc,64ff67ff +34a4f00,67ff64ff +34a4f04,60ff5cff +34a4f08,57ff52ff +34a4f0c,4cff1dff +34a4f10,12ff14ff +34a4f14,19ff2dff +34a4f18,1bff00ff +34a4f1c,710000 +34a4f20,3871 +34a4f24,3dff2fff +34a4f28,33ff3aff +34a4f2c,40ff46ff +34a4f30,4cff51ff +34a4f34,57ff5bff +34a4f38,60ff64ff +34a4f3c,67ff68ff +34a4f40,64ff60ff +34a4f44,5cff57ff +34a4f48,52ff4cff +34a4f4c,47ff41ff +34a4f50,3aff34ff +34a4f54,2dff26ff +34a4f58,12ff00ff +34a4f5c,710000 +34a4f60,3569 +34a4f64,37ff33ff +34a4f68,3aff40ff +34a4f6c,46ff4cff +34a4f70,51ff57ff +34a4f74,5bff60ff +34a4f78,64ff67ff +34a4f7c,68ff64ff +34a4f80,60ff5cff +34a4f84,57ff52ff +34a4f88,4dff47ff +34a4f8c,41ff3aff +34a4f90,34ff2dff +34a4f94,26ff1fff +34a4f98,6ff00ff +34a4f9c,690000 +34a4fa0,1e21 +34a4fa4,2f600ff +34a4fa8,ff00ff +34a4fac,ff00ff +34a4fb0,ff00ff +34a4fb4,2ff1eff +34a4fb8,60ff68ff +34a4fbc,64ff60ff +34a4fc0,5cff57ff +34a4fc4,52ff2cff +34a4fc8,6ff00ff +34a4fcc,ff00ff +34a4fd0,ff00ff +34a4fd4,ff00ff +34a4fd8,ff00f6 +34a4fdc,210000 +34a4fe4,3b00ae +34a4fe8,cc00cc +34a4fec,cc00cc +34a4ff0,cc00cc +34a4ff4,cc03ec +34a4ff8,62ff64ff +34a4ffc,60ff5cff +34a5000,57ff52ff +34a5004,4dff00ff +34a5008,ec00cc +34a500c,cc00cc +34a5010,cc00cc +34a5014,cc00cc +34a5018,ae003b +34a5034,5f9e +34a5038,65ff60ff +34a503c,5cff57ff +34a5040,52ff4dff +34a5044,47ff00ff +34a5048,9e0000 +34a5074,659e +34a5078,63ff5cff +34a507c,57ff52ff +34a5080,4dff47ff +34a5084,41ff00ff +34a5088,9e0000 +34a50b4,649e +34a50b8,61ff58ff +34a50bc,53ff35ff +34a50c0,31ff41ff +34a50c4,3bff00ff +34a50c8,9e0000 +34a50f4,609e +34a50f8,5eff53ff +34a50fc,4dff00ff +34a5100,ff3bff +34a5104,35ff00ff +34a5108,9e0000 +34a5134,5d9e +34a5138,5bff4dff +34a513c,48ff00ff +34a5140,6ff35ff +34a5144,2eff00ff +34a5148,9e0000 +34a5174,5a9e +34a5178,57ff48ff +34a517c,42ff03ff +34a5180,cff2eff +34a5184,28ff00ff +34a5188,9e0000 +34a51b4,559e +34a51b8,53ff42ff +34a51bc,3cff2dff +34a51c0,28ff28ff +34a51c4,1fff00ff +34a51c8,9e0000 +34a51f4,4b91 +34a51f8,44ff33ff +34a51fc,35ff2fff +34a5200,28ff1fff +34a5204,7ff00ff +34a5208,900000 +34a5234,1229 +34a5238,f700ff +34a523c,ff00ff +34a5240,ff00ff +34a5244,ff00f8 +34a5248,2e0000 +34a5278,30008c +34a527c,990099 +34a5280,990099 +34a5284,8c0030 +34a5320,db000 +34a5324,db000 +34a5328,db000 +34a532c,cb000 +34a5330,cb000 +34a5334,ca000 +34a533c,db000 +34a5340,db000 +34a5358,e8ac00 +34a535c,e8ac00 +34a5360,e8ac00 +34a5364,e8ac00 +34a538c,d77d0 +34a5390,2e3ab0 +34a5394,7d0c90 +34a5398,8ffffffd +34a539c,c96e00 +34a53a0,2e4ac00 +34a53a4,effffff4 +34a53a8,ab0e500 +34a53ac,c95e000 +34a53b0,e59c000 +34a53c8,79000 +34a53cc,5ceeb40 +34a53d0,cc8a990 +34a53d4,da79000 +34a53d8,8ecb400 +34a53dc,4adda0 +34a53e0,797e2 +34a53e4,c88aae0 +34a53e8,6ceed70 +34a53ec,79000 +34a53f0,79000 +34a5400,6dea0000 +34a5404,c94d6000 +34a5408,c94d6033 +34a540c,6deb6bc6 +34a5410,8cb600 +34a5414,7ca4cec4 +34a5418,3109c3bb +34a541c,9c3bb +34a5420,2ced4 +34a5438,4cefb00 +34a543c,ad50000 +34a5440,8e30000 +34a5444,9ec0000 +34a5448,7e4db0ab +34a544c,bb05e8aa +34a5450,bc008ed6 +34a5454,7e936ed0 +34a5458,8ded9ea +34a5470,ca000 +34a5474,ca000 +34a5478,ca000 +34a547c,ca000 +34a54a0,c900 +34a54a4,7e200 +34a54a8,cb000 +34a54ac,e8000 +34a54b0,6f3000 +34a54b4,8e0000 +34a54b8,8e0000 +34a54bc,6f4000 +34a54c0,e8000 +34a54c4,cb000 +34a54c8,7e200 +34a54cc,c900 +34a54d8,bb0000 +34a54dc,5e4000 +34a54e0,ca000 +34a54e4,ad000 +34a54e8,7e100 +34a54ec,6f400 +34a54f0,6f400 +34a54f4,7e100 +34a54f8,ad000 +34a54fc,ca000 +34a5500,5e4000 +34a5504,bb0000 +34a5518,a8000 +34a551c,c8a8ab0 +34a5520,3beda10 +34a5524,3beda10 +34a5528,c8a8ab0 +34a552c,a8000 +34a5554,ca000 +34a5558,ca000 +34a555c,ca000 +34a5560,affffff8 +34a5564,ca000 +34a5568,ca000 +34a556c,ca000 +34a55a4,dd000 +34a55a8,ec000 +34a55ac,4f8000 +34a55b0,9d0000 +34a55d4,dffb00 +34a5614,ec000 +34a5618,ec000 +34a5630,bc0 +34a5634,4e60 +34a5638,bc00 +34a563c,3e800 +34a5640,ad000 +34a5644,1e9000 +34a5648,9e2000 +34a564c,da0000 +34a5650,7e30000 +34a5654,cb00000 +34a5658,6e500000 +34a5668,3ceeb00 +34a566c,bd57e90 +34a5670,e900bd0 +34a5674,5f7009e0 +34a5678,6f6cb9e0 +34a567c,5f7009e0 +34a5680,e900bd0 +34a5684,bd57e90 +34a5688,3ceeb00 +34a56a0,affe000 +34a56a4,8e000 +34a56a8,8e000 +34a56ac,8e000 +34a56b0,8e000 +34a56b4,8e000 +34a56b8,8e000 +34a56bc,8e000 +34a56c0,8ffffe0 +34a56d8,8deea00 +34a56dc,c837e90 +34a56e0,cc0 +34a56e4,2ea0 +34a56e8,bd20 +34a56ec,bd400 +34a56f0,bd4000 +34a56f4,bd40000 +34a56f8,2fffffd0 +34a5710,7ceea00 +34a5714,c837e90 +34a5718,cb0 +34a571c,27e90 +34a5720,bffb00 +34a5724,27da0 +34a5728,ad0 +34a572c,5c627db0 +34a5730,9deeb30 +34a5748,2de00 +34a574c,bde00 +34a5750,7d9e00 +34a5754,2d79e00 +34a5758,bb09e00 +34a575c,6e409e00 +34a5760,9ffffff7 +34a5764,9e00 +34a5768,9e00 +34a5780,cffff50 +34a5784,ca00000 +34a5788,ca00000 +34a578c,ceeea00 +34a5790,38e90 +34a5794,bc0 +34a5798,bc0 +34a579c,5c638e90 +34a57a0,9deda00 +34a57b8,aeec30 +34a57bc,ae83980 +34a57c0,e900000 +34a57c4,4faeec40 +34a57c8,6fd55dc0 +34a57cc,5f9009e0 +34a57d0,e9009e0 +34a57d4,cd55dc0 +34a57d8,3ceec40 +34a57f0,5fffffd0 +34a57f4,da0 +34a57f8,7e40 +34a57fc,cc00 +34a5800,4e800 +34a5804,ad000 +34a5808,da000 +34a580c,8e4000 +34a5810,cc0000 +34a5828,5ceec30 +34a582c,dc45db0 +34a5830,e900bd0 +34a5834,bc45d90 +34a5838,4dffc20 +34a583c,1db45cc0 +34a5840,5f6009e0 +34a5844,2eb35cd0 +34a5848,7deec50 +34a5860,6deeb00 +34a5864,db37e90 +34a5868,5f500bd0 +34a586c,5f500be0 +34a5870,db37ee0 +34a5874,6dedbe0 +34a5878,bc0 +34a587c,9749e70 +34a5880,5ded800 +34a58a0,ec000 +34a58a4,ec000 +34a58b4,ec000 +34a58b8,ec000 +34a58d8,ec000 +34a58dc,ec000 +34a58ec,dd000 +34a58f0,ec000 +34a58f4,4f8000 +34a58f8,9d0000 +34a5910,29c8 +34a5914,7bed93 +34a5918,8dda4000 +34a591c,8dda4000 +34a5920,7bec93 +34a5924,29c8 +34a594c,affffff8 +34a5958,affffff8 +34a5980,ac810000 +34a5984,4adeb600 +34a5988,6add6 +34a598c,6add6 +34a5990,4adeb600 +34a5994,ac810000 +34a59b0,4beec30 +34a59b4,9a46ea0 +34a59b8,1da0 +34a59bc,2cd30 +34a59c0,cc100 +34a59c4,e9000 +34a59cc,e9000 +34a59d0,e9000 +34a59e8,1aeed70 +34a59ec,cd739e4 +34a59f0,7e2000c9 +34a59f4,ba0aeeca +34a59f8,d76e64da +34a59fc,d69c00aa +34a5a00,d76e64da +34a5a04,ba0aeeca +34a5a08,6e400000 +34a5a0c,ad83000 +34a5a10,8dee90 +34a5a20,3ed000 +34a5a24,9de600 +34a5a28,cbcb00 +34a5a2c,3e8ad00 +34a5a30,8e26f60 +34a5a34,cc00ea0 +34a5a38,2effffd0 +34a5a3c,8e5008f5 +34a5a40,cd0001ea +34a5a58,effec40 +34a5a5c,e905dc0 +34a5a60,e900ae0 +34a5a64,e905dc0 +34a5a68,efffd50 +34a5a6c,e904bd2 +34a5a70,e9005f6 +34a5a74,e904be3 +34a5a78,effed80 +34a5a90,9ded80 +34a5a94,8e936b0 +34a5a98,db00000 +34a5a9c,3f900000 +34a5aa0,5f700000 +34a5aa4,1e900000 +34a5aa8,db00000 +34a5aac,8e947b0 +34a5ab0,9ded80 +34a5ac8,5ffed800 +34a5acc,5f65ae80 +34a5ad0,5f600cd0 +34a5ad4,5f6009e0 +34a5ad8,5f6009f0 +34a5adc,5f6009e0 +34a5ae0,5f600cd0 +34a5ae4,5f65ae80 +34a5ae8,5ffed800 +34a5b00,dffffe0 +34a5b04,db00000 +34a5b08,db00000 +34a5b0c,db00000 +34a5b10,dffffc0 +34a5b14,db00000 +34a5b18,db00000 +34a5b1c,db00000 +34a5b20,dfffff0 +34a5b38,bfffff4 +34a5b3c,bd00000 +34a5b40,bd00000 +34a5b44,bd00000 +34a5b48,bffffc0 +34a5b4c,bd00000 +34a5b50,bd00000 +34a5b54,bd00000 +34a5b58,bd00000 +34a5b70,1aeed60 +34a5b74,be738a0 +34a5b78,4e900000 +34a5b7c,8f400000 +34a5b80,9f10bff2 +34a5b84,7f4007f2 +34a5b88,4e9007f2 +34a5b8c,be739f2 +34a5b90,1beed90 +34a5ba8,5f6009e0 +34a5bac,5f6009e0 +34a5bb0,5f6009e0 +34a5bb4,5f6009e0 +34a5bb8,5fffffe0 +34a5bbc,5f6009e0 +34a5bc0,5f6009e0 +34a5bc4,5f6009e0 +34a5bc8,5f6009e0 +34a5be0,dffffb0 +34a5be4,db000 +34a5be8,db000 +34a5bec,db000 +34a5bf0,db000 +34a5bf4,db000 +34a5bf8,db000 +34a5bfc,db000 +34a5c00,dffffb0 +34a5c18,cfff40 +34a5c1c,7f40 +34a5c20,7f40 +34a5c24,7f40 +34a5c28,7f40 +34a5c2c,7f30 +34a5c30,75009e00 +34a5c34,8d64dc00 +34a5c38,2beec500 +34a5c50,5f6009e7 +34a5c54,5f609e70 +34a5c58,5f69e700 +34a5c5c,5fbe8000 +34a5c60,5fedb000 +34a5c64,5f87e800 +34a5c68,5f60ae40 +34a5c6c,5f601dc0 +34a5c70,5f6006ea +34a5c88,cc00000 +34a5c8c,cc00000 +34a5c90,cc00000 +34a5c94,cc00000 +34a5c98,cc00000 +34a5c9c,cc00000 +34a5ca0,cc00000 +34a5ca4,cc00000 +34a5ca8,cfffff7 +34a5cc0,afa00cf8 +34a5cc4,aed02ee8 +34a5cc8,add59be8 +34a5ccc,adaac8e8 +34a5cd0,ad5de1e8 +34a5cd4,ad0db0e8 +34a5cd8,ad0000e8 +34a5cdc,ad0000e8 +34a5ce0,ad0000e8 +34a5cf8,5fc008e0 +34a5cfc,5fe608e0 +34a5d00,5fcb08e0 +34a5d04,5f7e48e0 +34a5d08,5f5ca8e0 +34a5d0c,5f57e8e0 +34a5d10,5f50dce0 +34a5d14,5f509ee0 +34a5d18,5f502ee0 +34a5d30,4ceeb20 +34a5d34,cd56ea0 +34a5d38,3e800ae0 +34a5d3c,7f5008f2 +34a5d40,7f4008f4 +34a5d44,7f5008f2 +34a5d48,3e800ae0 +34a5d4c,cd56eb0 +34a5d50,4ceeb20 +34a5d68,dffed60 +34a5d6c,db05ce2 +34a5d70,db006f6 +34a5d74,db006f6 +34a5d78,db05ce2 +34a5d7c,dffed60 +34a5d80,db00000 +34a5d84,db00000 +34a5d88,db00000 +34a5da0,4ceeb20 +34a5da4,cd56ea0 +34a5da8,3e800ae0 +34a5dac,7f5008f2 +34a5db0,7f4008f4 +34a5db4,7f5008f1 +34a5db8,3e800ad0 +34a5dbc,cd56ea0 +34a5dc0,4cefc20 +34a5dc4,ae50 +34a5dc8,c80 +34a5dd8,5ffeeb20 +34a5ddc,5f717eb0 +34a5de0,5f700cd0 +34a5de4,5f716ea0 +34a5de8,5fffea00 +34a5dec,5f72ae40 +34a5df0,5f700db0 +34a5df4,5f7008e5 +34a5df8,5f7000db +34a5e10,6ceeb30 +34a5e14,dc45a90 +34a5e18,4f600000 +34a5e1c,ec60000 +34a5e20,5ceeb40 +34a5e24,6cc0 +34a5e28,8e0 +34a5e2c,c735cd0 +34a5e30,8deec50 +34a5e48,cffffffb +34a5e4c,db000 +34a5e50,db000 +34a5e54,db000 +34a5e58,db000 +34a5e5c,db000 +34a5e60,db000 +34a5e64,db000 +34a5e68,db000 +34a5e80,4f7009e0 +34a5e84,4f7009e0 +34a5e88,4f7009e0 +34a5e8c,4f7009e0 +34a5e90,4f7009e0 +34a5e94,3f7009e0 +34a5e98,2e700ad0 +34a5e9c,dc45dc0 +34a5ea0,5ceec40 +34a5eb8,ad0003e8 +34a5ebc,6f5008e3 +34a5ec0,e900bc0 +34a5ec4,bc00d90 +34a5ec8,8e15e40 +34a5ecc,2e7ad00 +34a5ed0,cbca00 +34a5ed4,9de600 +34a5ed8,3ed000 +34a5ef0,e80000ad +34a5ef4,da0000cb +34a5ef8,cb0000da +34a5efc,ac0ec0e8 +34a5f00,8d6de1e5 +34a5f04,6e9bd8e0 +34a5f08,1ec8acd0 +34a5f0c,de37ec0 +34a5f10,cd00ea0 +34a5f28,6e7007e7 +34a5f2c,ad21db0 +34a5f30,2daad20 +34a5f34,7ee700 +34a5f38,3ee200 +34a5f3c,bdda00 +34a5f40,7e67e60 +34a5f44,3ea00bd0 +34a5f48,bd2004e9 +34a5f60,ae2005e8 +34a5f64,2da00cc0 +34a5f68,7e57e50 +34a5f6c,ccda00 +34a5f70,4ed200 +34a5f74,db000 +34a5f78,db000 +34a5f7c,db000 +34a5f80,db000 +34a5f98,efffff8 +34a5f9c,bd3 +34a5fa0,7e70 +34a5fa4,3ea00 +34a5fa8,bd100 +34a5fac,8e5000 +34a5fb0,4e90000 +34a5fb4,cc00000 +34a5fb8,1ffffffa +34a5fc8,4ffc00 +34a5fcc,4f5000 +34a5fd0,4f5000 +34a5fd4,4f5000 +34a5fd8,4f5000 +34a5fdc,4f5000 +34a5fe0,4f5000 +34a5fe4,4f5000 +34a5fe8,4f5000 +34a5fec,4f5000 +34a5ff0,4f5000 +34a5ff4,4ffc00 +34a6008,6e500000 +34a600c,cb00000 +34a6010,7e30000 +34a6014,da0000 +34a6018,9e2000 +34a601c,1e9000 +34a6020,ad000 +34a6024,3e800 +34a6028,bc00 +34a602c,4e60 +34a6030,bc0 +34a6038,dfe000 +34a603c,8e000 +34a6040,8e000 +34a6044,8e000 +34a6048,8e000 +34a604c,8e000 +34a6050,8e000 +34a6054,8e000 +34a6058,8e000 +34a605c,8e000 +34a6060,8e000 +34a6064,dfe000 +34a6078,5ed200 +34a607c,dcdb00 +34a6080,ad25e80 +34a6084,7e5007e5 +34a60dc,fffffffd +34a60e4,2ca0000 +34a60e8,2c9000 +34a6128,5ceeb10 +34a612c,b936da0 +34a6130,bc0 +34a6134,8deffc0 +34a6138,3e930bd0 +34a613c,4f827ed0 +34a6140,aeedbd0 +34a6150,d900000 +34a6154,d900000 +34a6158,d900000 +34a615c,d900000 +34a6160,dbdec40 +34a6164,de65dc0 +34a6168,db008e0 +34a616c,da007f2 +34a6170,db008e0 +34a6174,de64db0 +34a6178,dbdec40 +34a6198,8ded70 +34a619c,7e936a0 +34a61a0,cc00000 +34a61a4,db00000 +34a61a8,cc00000 +34a61ac,7e936a0 +34a61b0,8ded70 +34a61c0,bc0 +34a61c4,bc0 +34a61c8,bc0 +34a61cc,bc0 +34a61d0,5dedcc0 +34a61d4,dc48ec0 +34a61d8,5f600cc0 +34a61dc,7f300bc0 +34a61e0,5f600cc0 +34a61e4,dc48ec0 +34a61e8,5dedcc0 +34a6208,3beec30 +34a620c,cd54cc0 +34a6210,4f6007e0 +34a6214,6ffffff3 +34a6218,4f500000 +34a621c,cc538c0 +34a6220,3beec60 +34a6230,5ded0 +34a6234,cb200 +34a6238,d9000 +34a623c,e8000 +34a6240,dffffd0 +34a6244,e8000 +34a6248,e8000 +34a624c,e8000 +34a6250,e8000 +34a6254,e8000 +34a6258,e8000 +34a6278,5dedcc0 +34a627c,dc48ec0 +34a6280,5f600cc0 +34a6284,7f300bc0 +34a6288,5f600cc0 +34a628c,dc48ec0 +34a6290,5dedcb0 +34a6294,ca0 +34a6298,9947e60 +34a629c,4cee900 +34a62a0,da00000 +34a62a4,da00000 +34a62a8,da00000 +34a62ac,da00000 +34a62b0,dbded40 +34a62b4,de65da0 +34a62b8,db00bc0 +34a62bc,da00bc0 +34a62c0,da00bc0 +34a62c4,da00bc0 +34a62c8,da00bc0 +34a62d8,bc000 +34a62e8,9ffc000 +34a62ec,bc000 +34a62f0,bc000 +34a62f4,bc000 +34a62f8,bc000 +34a62fc,bc000 +34a6300,effffe0 +34a6310,7e000 +34a6320,7ffe000 +34a6324,7e000 +34a6328,7e000 +34a632c,7e000 +34a6330,7e000 +34a6334,7e000 +34a6338,7e000 +34a633c,7e000 +34a6340,1bd000 +34a6344,dfe7000 +34a6348,bc00000 +34a634c,bc00000 +34a6350,bc00000 +34a6354,bc00000 +34a6358,bc03dc2 +34a635c,bc3db00 +34a6360,bddc000 +34a6364,bfce500 +34a6368,bd0cd10 +34a636c,bc03db0 +34a6370,bc007e8 +34a6380,eff4000 +34a6384,5f4000 +34a6388,5f4000 +34a638c,5f4000 +34a6390,5f4000 +34a6394,5f4000 +34a6398,5f4000 +34a639c,5f4000 +34a63a0,4f5000 +34a63a4,ea000 +34a63a8,8efb0 +34a63c8,8dddaec0 +34a63cc,8e4dc5e4 +34a63d0,8d0cb0e6 +34a63d4,8d0ba0e7 +34a63d8,8d0ba0e7 +34a63dc,8d0ba0e7 +34a63e0,8d0ba0e7 +34a6400,dbded40 +34a6404,de65da0 +34a6408,db00bc0 +34a640c,da00bc0 +34a6410,da00bc0 +34a6414,da00bc0 +34a6418,da00bc0 +34a6438,4ceeb20 +34a643c,cd56da0 +34a6440,1e700ad0 +34a6444,5f6008e0 +34a6448,1e700ad0 +34a644c,cd46db0 +34a6450,4ceeb20 +34a6470,dbdec30 +34a6474,de65db0 +34a6478,db009e0 +34a647c,da007e0 +34a6480,db008e0 +34a6484,de65db0 +34a6488,dbeec40 +34a648c,d900000 +34a6490,d900000 +34a6494,d900000 +34a64a8,4cedcc0 +34a64ac,cc47ec0 +34a64b0,1e700cc0 +34a64b4,5f600bc0 +34a64b8,2e700cc0 +34a64bc,cc47ec0 +34a64c0,5cedbc0 +34a64c4,ac0 +34a64c8,ac0 +34a64cc,ac0 +34a64e0,ccdef9 +34a64e4,ce8300 +34a64e8,cb0000 +34a64ec,ca0000 +34a64f0,ca0000 +34a64f4,ca0000 +34a64f8,ca0000 +34a6518,4ceea10 +34a651c,bd45b60 +34a6520,bd40000 +34a6524,3bddb20 +34a6528,4da0 +34a652c,b945ea0 +34a6530,5ceeb20 +34a6548,8e0000 +34a654c,8e0000 +34a6550,6fffffb0 +34a6554,8e0000 +34a6558,8e0000 +34a655c,8e0000 +34a6560,8e0000 +34a6564,6e7000 +34a6568,befb0 +34a6588,da00bc0 +34a658c,da00bc0 +34a6590,da00bc0 +34a6594,da00bc0 +34a6598,da00bc0 +34a659c,bd47ec0 +34a65a0,5dedbc0 +34a65c0,6e3007e3 +34a65c4,d900bc0 +34a65c8,ad01e80 +34a65cc,5e48e20 +34a65d0,dacb00 +34a65d4,9de700 +34a65d8,3ee000 +34a65f8,e80000ac +34a65fc,ca0000ca +34a6600,ac0db0e7 +34a6604,6e3dd5e2 +34a6608,eabcad0 +34a660c,ce79eb0 +34a6610,ae15f80 +34a6630,3da00bc0 +34a6634,6e69e40 +34a6638,9ee700 +34a663c,2ed000 +34a6640,ccda00 +34a6644,9e46e70 +34a6648,6e7009e4 +34a6668,6e5005e5 +34a666c,da00bd0 +34a6670,9e00e90 +34a6674,3e78e30 +34a6678,cccc00 +34a667c,7ee700 +34a6680,de000 +34a6684,da000 +34a6688,8e5000 +34a668c,dea0000 +34a66a0,bffffc0 +34a66a4,5e70 +34a66a8,3d900 +34a66ac,cb000 +34a66b0,bd2000 +34a66b4,9e40000 +34a66b8,dffffc0 +34a66c8,6dea0 +34a66cc,bd300 +34a66d0,cb000 +34a66d4,cb000 +34a66d8,5ea000 +34a66dc,bfd2000 +34a66e0,7e9000 +34a66e4,db000 +34a66e8,cb000 +34a66ec,cb000 +34a66f0,bd400 +34a66f4,5dea0 +34a6700,ca000 +34a6704,ca000 +34a6708,ca000 +34a670c,ca000 +34a6710,ca000 +34a6714,ca000 +34a6718,ca000 +34a671c,ca000 +34a6720,ca000 +34a6724,ca000 +34a6728,ca000 +34a672c,ca000 +34a6730,ca000 +34a6738,bed3000 +34a673c,4e9000 +34a6740,da000 +34a6744,ca000 +34a6748,bc400 +34a674c,5efa0 +34a6750,bd500 +34a6754,cb000 +34a6758,da000 +34a675c,da000 +34a6760,5e8000 +34a6764,bec2000 +34a6788,5ded83a7 +34a678c,9838dec3 +34a67a8,f0f0f0f0 +34a67ac,f0f0f0f0 +34a67b0,f0f0f0f0 +34a67b4,f0f0f0f0 +34a67b8,f0f0f0f0 +34a67bc,f0f0f0f0 +34a67c0,dff0f0f0 +34a67c4,f0f0f0f0 +34a67c8,f0f0f0f0 +34a67cc,f0f0f0df +34a67d0,dff0f0f0 +34a67d4,f0f0f0f0 +34a67d8,f0f0f0f0 +34a67dc,f0f0f0df +34a67e0,dfcff0f0 +34a67e4,f0f0f0f0 +34a67e8,f0f0f0f0 +34a67ec,f0f0cfcf +34a67f0,cfcff0f0 +34a67f4,f0f0f0f0 +34a67f8,f0f0f0f0 +34a67fc,f0f0cfcf +34a6800,cfcfcff0 +34a6804,f0f0f0f0 +34a6808,f0f0f0f0 +34a680c,f0cfcfcf +34a6810,cfcfcff0 +34a6814,f0f0f0f0 +34a6818,f0f0f0f0 +34a681c,f0cfcfcf +34a6820,cfcfcfcf +34a6824,f0f0f0f0 +34a6828,f0f0f0f0 +34a682c,cfcfcfcf +34a6830,cfbfbfbf +34a6834,f0f0f0f0 +34a6838,f0f0f0f0 +34a683c,bfbfbfbf +34a6840,bfbfbfbf +34a6844,f0f0f0f0 +34a6848,f0f0f0bf +34a684c,bfbfbfbf +34a6850,bfbfbfbf +34a6854,bff0f0f0 +34a6858,f0f0f0bf +34a685c,bfbff0f0 +34a6860,f0f0f0f0 +34a6864,f0f0f0f0 +34a6868,f0f0f0f0 +34a686c,f0f0f0f0 +34a6870,f0f0f0f0 +34a6874,f0f0f0f0 +34a6878,f0f0f0f0 +34a687c,f0f0f0f0 +34a6880,f0f0f0f0 +34a6884,f0f0f0f0 +34a6888,f0f0f0f0 +34a688c,f0f0f0f0 +34a6890,f0f0f0f0 +34a6894,f0f0f0f0 +34a6898,f0f0f0f0 +34a689c,f0f0f0f0 +34a68a0,f0f0f0f0 +34a68a4,f0f0f0f0 +34a68a8,f0f0f0f0 +34a68ac,f0f0f0f0 +34a68b0,f0f0f0f0 +34a68b4,f0f0f0f0 +34a68b8,f0f0f0f0 +34a68bc,f0f0f0cf +34a68c0,cff0f0f0 +34a68c4,f0f0f0f0 +34a68c8,f0f0f0f0 +34a68cc,f0f0f0cf +34a68d0,cfcff0f0 +34a68d4,f0f0f0f0 +34a68d8,f0f0f0f0 +34a68dc,f0f0bfcf +34a68e0,cfcff0f0 +34a68e4,f0f0f0f0 +34a68e8,f0f0f0f0 +34a68ec,f0f0bfcf +34a68f0,cfcff0f0 +34a68f4,f0f0f0f0 +34a68f8,f0f0f0f0 +34a68fc,f0bfcfbf +34a6900,bfbfbff0 +34a6904,f0f0f0f0 +34a6908,f0f0f0f0 +34a690c,f0bfbfbf +34a6910,bfbfbff0 +34a6914,f0f0f0f0 +34a6918,f0f0f0f0 +34a691c,bfbfbfbf +34a6920,bfbfbfbf +34a6924,f0f0f0f0 +34a6928,f0f0f0f0 +34a692c,bfbfbfbf +34a6930,bfbfbfbf +34a6934,f0f0f0f0 +34a6938,f0f0f0f0 +34a693c,bfbfbfbf +34a6940,bfbfbfaf +34a6944,f0f0f0f0 +34a6948,f0f0f0af +34a694c,bfbfbfbf +34a6950,afafaff0 +34a6954,f0f0f0f0 +34a6958,f0f0f0bf +34a695c,bfbfaff0 +34a6960,f0f0f0f0 +34a6964,f0f0f0f0 +34a6968,f0f0f0f0 +34a696c,f0f0f0f0 +34a6970,f0f0f0f0 +34a6974,f0f0f0f0 +34a6978,f0f0f0f0 +34a697c,f0f0f0f0 +34a6980,f0f0f0f0 +34a6984,f0f0f0f0 +34a6988,f0f0f0f0 +34a698c,f0f0f0f0 +34a6990,f0f0f0f0 +34a6994,f0f0f0f0 +34a6998,f0f0f0f0 +34a699c,f0f0f0f0 +34a69a0,f0f0f0f0 +34a69a4,f0f0f0f0 +34a69a8,f0f0f0f0 +34a69ac,f0f0f0f0 +34a69b0,f0f0f0f0 +34a69b4,f0f0f0f0 +34a69b8,f0f0f0f0 +34a69bc,f0f0f0ef +34a69c0,eff0f0f0 +34a69c4,f0f0f0f0 +34a69c8,f0f0f0f0 +34a69cc,f0f0f0ef +34a69d0,bfbff0f0 +34a69d4,f0f0f0f0 +34a69d8,f0f0f0f0 +34a69dc,f0f0dfdf +34a69e0,bfbff0f0 +34a69e4,f0f0f0f0 +34a69e8,f0f0f0f0 +34a69ec,f0f0dfbf +34a69f0,afaff0f0 +34a69f4,f0f0f0f0 +34a69f8,f0f0f0f0 +34a69fc,f0dfdfaf +34a6a00,afafaff0 +34a6a04,f0f0f0f0 +34a6a08,f0f0f0f0 +34a6a0c,f0dfafaf +34a6a10,afafaff0 +34a6a14,f0f0f0f0 +34a6a18,f0f0f0f0 +34a6a1c,dfdfafaf +34a6a20,afafaff0 +34a6a24,f0f0f0f0 +34a6a28,f0f0f0f0 +34a6a2c,dfdfafaf +34a6a30,afafaf9f +34a6a34,f0f0f0f0 +34a6a38,f0f0f0f0 +34a6a3c,cfafafaf +34a6a40,afaf9f9f +34a6a44,f0f0f0f0 +34a6a48,f0f0f0cf +34a6a4c,cfafafaf +34a6a50,9f9ff0f0 +34a6a54,f0f0f0f0 +34a6a58,f0f0f0cf +34a6a5c,afafaf9f +34a6a60,f0f0f0f0 +34a6a64,f0f0f0f0 +34a6a68,f0f0f0cf +34a6a6c,aff0f0f0 +34a6a70,f0f0f0f0 +34a6a74,f0f0f0f0 +34a6a78,f0f0f0f0 +34a6a7c,f0f0f0f0 +34a6a80,f0f0f0f0 +34a6a84,f0f0f0f0 +34a6a88,f0f0f0f0 +34a6a8c,f0f0f0f0 +34a6a90,f0f0f0f0 +34a6a94,f0f0f0f0 +34a6a98,f0f0f0f0 +34a6a9c,f0f0f0f0 +34a6aa0,f0f0f0f0 +34a6aa4,f0f0f0f0 +34a6aa8,f0f0f0f0 +34a6aac,f0f0f0f0 +34a6ab0,f0f0f0f0 +34a6ab4,f0f0f0f0 +34a6ab8,f0f0f0f0 +34a6abc,f0f0f0ff +34a6ac0,ff9ff0f0 +34a6ac4,f0f0f0f0 +34a6ac8,f0f0f0f0 +34a6acc,f0f0ffff +34a6ad0,ff9ff0f0 +34a6ad4,f0f0f0f0 +34a6ad8,f0f0f0f0 +34a6adc,f0f0ffff +34a6ae0,9f9ff0f0 +34a6ae4,f0f0f0f0 +34a6ae8,f0f0f0f0 +34a6aec,f0f0ffff +34a6af0,9f9ff0f0 +34a6af4,f0f0f0f0 +34a6af8,f0f0f0f0 +34a6afc,f0efef9f +34a6b00,9f9f9ff0 +34a6b04,f0f0f0f0 +34a6b08,f0f0f0f0 +34a6b0c,f0efef9f +34a6b10,9f9f8ff0 +34a6b14,f0f0f0f0 +34a6b18,f0f0f0f0 +34a6b1c,f0efef9f +34a6b20,9f8f8ff0 +34a6b24,f0f0f0f0 +34a6b28,f0f0f0f0 +34a6b2c,efef9f9f +34a6b30,8f8f8ff0 +34a6b34,f0f0f0f0 +34a6b38,f0f0f0f0 +34a6b3c,efef9f8f +34a6b40,8f8f8ff0 +34a6b44,f0f0f0f0 +34a6b48,f0f0f0ef +34a6b4c,efef8f8f +34a6b50,8f8ff0f0 +34a6b54,f0f0f0f0 +34a6b58,f0f0f0ef +34a6b5c,ef8f8f8f +34a6b60,f0f0f0f0 +34a6b64,f0f0f0f0 +34a6b68,f0f0f0ef +34a6b6c,ef8f8ff0 +34a6b70,f0f0f0f0 +34a6b74,f0f0f0f0 +34a6b78,f0f0f0f0 +34a6b7c,8ff0f0f0 +34a6b80,f0f0f0f0 +34a6b84,f0f0f0f0 +34a6b88,f0f0f0f0 +34a6b8c,f0f0f0f0 +34a6b90,f0f0f0f0 +34a6b94,f0f0f0f0 +34a6b98,f0f0f0f0 +34a6b9c,f0f0f0f0 +34a6ba0,f0f0f0f0 +34a6ba4,f0f0f0f0 +34a6ba8,f0f0f0f0 +34a6bac,f0f0f0f0 +34a6bb0,f0f0f0f0 +34a6bb4,f0f0f0f0 +34a6bb8,f0f0f0f0 +34a6bbc,f0f0f0ff +34a6bc0,ff7ff0f0 +34a6bc4,f0f0f0f0 +34a6bc8,f0f0f0f0 +34a6bcc,f0f0ffff +34a6bd0,ff7ff0f0 +34a6bd4,f0f0f0f0 +34a6bd8,f0f0f0f0 +34a6bdc,f0f0ffff +34a6be0,ff7ff0f0 +34a6be4,f0f0f0f0 +34a6be8,f0f0f0f0 +34a6bec,f0f0ffff +34a6bf0,7f7ff0f0 +34a6bf4,f0f0f0f0 +34a6bf8,f0f0f0f0 +34a6bfc,f0ffffff +34a6c00,7f7ff0f0 +34a6c04,f0f0f0f0 +34a6c08,f0f0f0f0 +34a6c0c,f0ffffff +34a6c10,7f7ff0f0 +34a6c14,f0f0f0f0 +34a6c18,f0f0f0f0 +34a6c1c,f0ffff7f +34a6c20,7f7f7ff0 +34a6c24,f0f0f0f0 +34a6c28,f0f0f0f0 +34a6c2c,ffffff7f +34a6c30,7f7f6ff0 +34a6c34,f0f0f0f0 +34a6c38,f0f0f0f0 +34a6c3c,ffffff7f +34a6c40,7f6f6ff0 +34a6c44,f0f0f0f0 +34a6c48,f0f0f0f0 +34a6c4c,ffffff7f +34a6c50,7f6ff0f0 +34a6c54,f0f0f0f0 +34a6c58,f0f0f0f0 +34a6c5c,ffff7f7f +34a6c60,f0f0f0f0 +34a6c64,f0f0f0f0 +34a6c68,f0f0f0ff +34a6c6c,ffff7ff0 +34a6c70,f0f0f0f0 +34a6c74,f0f0f0f0 +34a6c78,f0f0f0f0 +34a6c7c,fffff0f0 +34a6c80,f0f0f0f0 +34a6c84,f0f0f0f0 +34a6c88,f0f0f0f0 +34a6c8c,f0f0f0f0 +34a6c90,f0f0f0f0 +34a6c94,f0f0f0f0 +34a6c98,f0f0f0f0 +34a6c9c,f0f0f0f0 +34a6ca0,f0f0f0f0 +34a6ca4,f0f0f0f0 +34a6ca8,f0f0f0f0 +34a6cac,f0f0f0f0 +34a6cb0,f0f0f0f0 +34a6cb4,f0f0f0f0 +34a6cb8,f0f0f0f0 +34a6cbc,f0f0ffff +34a6cc0,ff5ff0f0 +34a6cc4,f0f0f0f0 +34a6cc8,f0f0f0f0 +34a6ccc,f0f0ffff +34a6cd0,ff5ff0f0 +34a6cd4,f0f0f0f0 +34a6cd8,f0f0f0f0 +34a6cdc,f0f0ffff +34a6ce0,ff5ff0f0 +34a6ce4,f0f0f0f0 +34a6ce8,f0f0f0f0 +34a6cec,f0f0ffff +34a6cf0,ff5ff0f0 +34a6cf4,f0f0f0f0 +34a6cf8,f0f0f0f0 +34a6cfc,f0f0ffff +34a6d00,ff5ff0f0 +34a6d04,f0f0f0f0 +34a6d08,f0f0f0f0 +34a6d0c,f0ffffff +34a6d10,5f5ff0f0 +34a6d14,f0f0f0f0 +34a6d18,f0f0f0f0 +34a6d1c,f0ffffff +34a6d20,5f5ff0f0 +34a6d24,f0f0f0f0 +34a6d28,f0f0f0f0 +34a6d2c,f0ffffff +34a6d30,5f5ff0f0 +34a6d34,f0f0f0f0 +34a6d38,f0f0f0f0 +34a6d3c,f0ffffff +34a6d40,5f5ff0f0 +34a6d44,f0f0f0f0 +34a6d48,f0f0f0f0 +34a6d4c,ffffffff +34a6d50,5ff0f0f0 +34a6d54,f0f0f0f0 +34a6d58,f0f0f0f0 +34a6d5c,ffffff5f +34a6d60,5ff0f0f0 +34a6d64,f0f0f0f0 +34a6d68,f0f0f0f0 +34a6d6c,ffffff5f +34a6d70,f0f0f0f0 +34a6d74,f0f0f0f0 +34a6d78,f0f0f0f0 +34a6d7c,ffffff5f +34a6d80,f0f0f0f0 +34a6d84,f0f0f0f0 +34a6d88,f0f0f0f0 +34a6d8c,f0f0fff0 +34a6d90,f0f0f0f0 +34a6d94,f0f0f0f0 +34a6d98,f0f0f0f0 +34a6d9c,f0f0f0f0 +34a6da0,f0f0f0f0 +34a6da4,f0f0f0f0 +34a6da8,f0f0f0f0 +34a6dac,f0f0f0f0 +34a6db0,f0f0f0f0 +34a6db4,f0f0f0f0 +34a6db8,f0f0f0f0 +34a6dbc,f0f0ffff +34a6dc0,fffff0f0 +34a6dc4,f0f0f0f0 +34a6dc8,f0f0f0f0 +34a6dcc,f0f0ffff +34a6dd0,fffff0f0 +34a6dd4,f0f0f0f0 +34a6dd8,f0f0f0f0 +34a6ddc,f0f0ffff +34a6de0,ff3ff0f0 +34a6de4,f0f0f0f0 +34a6de8,f0f0f0f0 +34a6dec,f0f0ffff +34a6df0,ff3ff0f0 +34a6df4,f0f0f0f0 +34a6df8,f0f0f0f0 +34a6dfc,f0f0ffff +34a6e00,ff3ff0f0 +34a6e04,f0f0f0f0 +34a6e08,f0f0f0f0 +34a6e0c,f0f0ffff +34a6e10,ff3ff0f0 +34a6e14,f0f0f0f0 +34a6e18,f0f0f0f0 +34a6e1c,f0f0ffff +34a6e20,ff3ff0f0 +34a6e24,f0f0f0f0 +34a6e28,f0f0f0f0 +34a6e2c,f0ffffff +34a6e30,ff3ff0f0 +34a6e34,f0f0f0f0 +34a6e38,f0f0f0f0 +34a6e3c,f0ffffff +34a6e40,fff0f0f0 +34a6e44,f0f0f0f0 +34a6e48,f0f0f0f0 +34a6e4c,f0ffffff +34a6e50,fff0f0f0 +34a6e54,f0f0f0f0 +34a6e58,f0f0f0f0 +34a6e5c,f0ffffff +34a6e60,fff0f0f0 +34a6e64,f0f0f0f0 +34a6e68,f0f0f0f0 +34a6e6c,f0ffffff +34a6e70,fff0f0f0 +34a6e74,f0f0f0f0 +34a6e78,f0f0f0f0 +34a6e7c,f0ffffff +34a6e80,fff0f0f0 +34a6e84,f0f0f0f0 +34a6e88,f0f0f0f0 +34a6e8c,f0f0f0ff +34a6e90,f0f0f0f0 +34a6e94,f0f0f0f0 +34a6e98,f0f0f0f0 +34a6e9c,f0f0f0f0 +34a6ea0,f0f0f0f0 +34a6ea4,f0f0f0f0 +34a6ea8,f0f0f0f0 +34a6eac,f0f0f0f0 +34a6eb0,f0f0f0f0 +34a6eb4,f0f0f0f0 +34a6eb8,f0f0f0f0 +34a6ebc,f0f0ffff +34a6ec0,fffff0f0 +34a6ec4,f0f0f0f0 +34a6ec8,f0f0f0f0 +34a6ecc,f0f0ffff +34a6ed0,fffff0f0 +34a6ed4,f0f0f0f0 +34a6ed8,f0f0f0f0 +34a6edc,f0f0ffff +34a6ee0,fffff0f0 +34a6ee4,f0f0f0f0 +34a6ee8,f0f0f0f0 +34a6eec,f0f0ffff +34a6ef0,fffff0f0 +34a6ef4,f0f0f0f0 +34a6ef8,f0f0f0f0 +34a6efc,f0f0ffff +34a6f00,fffff0f0 +34a6f04,f0f0f0f0 +34a6f08,f0f0f0f0 +34a6f0c,f0f0ffff +34a6f10,fffff0f0 +34a6f14,f0f0f0f0 +34a6f18,f0f0f0f0 +34a6f1c,f0f0ffff +34a6f20,fffff0f0 +34a6f24,f0f0f0f0 +34a6f28,f0f0f0f0 +34a6f2c,f0f0ffff +34a6f30,fffff0f0 +34a6f34,f0f0f0f0 +34a6f38,f0f0f0f0 +34a6f3c,f0f0ffff +34a6f40,fffff0f0 +34a6f44,f0f0f0f0 +34a6f48,f0f0f0f0 +34a6f4c,f0f0ffff +34a6f50,fffff0f0 +34a6f54,f0f0f0f0 +34a6f58,f0f0f0f0 +34a6f5c,f0f0ffff +34a6f60,fffff0f0 +34a6f64,f0f0f0f0 +34a6f68,f0f0f0f0 +34a6f6c,f0f0ffff +34a6f70,fffff0f0 +34a6f74,f0f0f0f0 +34a6f78,f0f0f0f0 +34a6f7c,f0f0ffff +34a6f80,fffff0f0 +34a6f84,f0f0f0f0 +34a6f88,f0f0f0f0 +34a6f8c,f0f0ffff +34a6f90,fffff0f0 +34a6f94,f0f0f0f0 +34a6f98,f0f0f0f0 +34a6f9c,f0f0f0f0 +34a6fa0,f0f0f0f0 +34a6fa4,f0f0f0f0 +34a6fa8,f0f0f0f0 +34a6fac,f0f0f0f0 +34a6fb0,f0f0f0f0 +34a6fb4,f0f0f0f0 +34a6fb8,f0f0f0f0 +34a6fbc,f0f0ffff +34a6fc0,fffff0f0 +34a6fc4,f0f0f0f0 +34a6fc8,f0f0f0f0 +34a6fcc,f0f0ffff +34a6fd0,fffff0f0 +34a6fd4,f0f0f0f0 +34a6fd8,f0f0f0f0 +34a6fdc,f0f03fff +34a6fe0,fffff0f0 +34a6fe4,f0f0f0f0 +34a6fe8,f0f0f0f0 +34a6fec,f0f03fff +34a6ff0,fffff0f0 +34a6ff4,f0f0f0f0 +34a6ff8,f0f0f0f0 +34a6ffc,f0f03fff +34a7000,fffff0f0 +34a7004,f0f0f0f0 +34a7008,f0f0f0f0 +34a700c,f0f03fff +34a7010,fffff0f0 +34a7014,f0f0f0f0 +34a7018,f0f0f0f0 +34a701c,f0f03fff +34a7020,fffff0f0 +34a7024,f0f0f0f0 +34a7028,f0f0f0f0 +34a702c,f0f03fff +34a7030,fffffff0 +34a7034,f0f0f0f0 +34a7038,f0f0f0f0 +34a703c,f0f0f0ff +34a7040,fffffff0 +34a7044,f0f0f0f0 +34a7048,f0f0f0f0 +34a704c,f0f0f0ff +34a7050,fffffff0 +34a7054,f0f0f0f0 +34a7058,f0f0f0f0 +34a705c,f0f0f0ff +34a7060,fffffff0 +34a7064,f0f0f0f0 +34a7068,f0f0f0f0 +34a706c,f0f0f0ff +34a7070,fffffff0 +34a7074,f0f0f0f0 +34a7078,f0f0f0f0 +34a707c,f0f0f0ff +34a7080,fffffff0 +34a7084,f0f0f0f0 +34a7088,f0f0f0f0 +34a708c,f0f0f0f0 +34a7090,fff0f0f0 +34a7094,f0f0f0f0 +34a7098,f0f0f0f0 +34a709c,f0f0f0f0 +34a70a0,f0f0f0f0 +34a70a4,f0f0f0f0 +34a70a8,f0f0f0f0 +34a70ac,f0f0f0f0 +34a70b0,f0f0f0f0 +34a70b4,f0f0f0f0 +34a70b8,f0f0f0f0 +34a70bc,f0f05fff +34a70c0,fffff0f0 +34a70c4,f0f0f0f0 +34a70c8,f0f0f0f0 +34a70cc,f0f05fff +34a70d0,fffff0f0 +34a70d4,f0f0f0f0 +34a70d8,f0f0f0f0 +34a70dc,f0f05fff +34a70e0,fffff0f0 +34a70e4,f0f0f0f0 +34a70e8,f0f0f0f0 +34a70ec,f0f05fff +34a70f0,fffff0f0 +34a70f4,f0f0f0f0 +34a70f8,f0f0f0f0 +34a70fc,f0f05fff +34a7100,fffff0f0 +34a7104,f0f0f0f0 +34a7108,f0f0f0f0 +34a710c,f0f05f5f +34a7110,fffffff0 +34a7114,f0f0f0f0 +34a7118,f0f0f0f0 +34a711c,f0f05f5f +34a7120,fffffff0 +34a7124,f0f0f0f0 +34a7128,f0f0f0f0 +34a712c,f0f05f5f +34a7130,fffffff0 +34a7134,f0f0f0f0 +34a7138,f0f0f0f0 +34a713c,f0f05f5f +34a7140,fffffff0 +34a7144,f0f0f0f0 +34a7148,f0f0f0f0 +34a714c,f0f0f05f +34a7150,ffffffff +34a7154,f0f0f0f0 +34a7158,f0f0f0f0 +34a715c,f0f0f05f +34a7160,5fffffff +34a7164,f0f0f0f0 +34a7168,f0f0f0f0 +34a716c,f0f0f0f0 +34a7170,5fffffff +34a7174,f0f0f0f0 +34a7178,f0f0f0f0 +34a717c,f0f0f0f0 +34a7180,5fffffff +34a7184,f0f0f0f0 +34a7188,f0f0f0f0 +34a718c,f0f0f0f0 +34a7190,f0fff0f0 +34a7194,f0f0f0f0 +34a7198,f0f0f0f0 +34a719c,f0f0f0f0 +34a71a0,f0f0f0f0 +34a71a4,f0f0f0f0 +34a71a8,f0f0f0f0 +34a71ac,f0f0f0f0 +34a71b0,f0f0f0f0 +34a71b4,f0f0f0f0 +34a71b8,f0f0f0f0 +34a71bc,f0f07fff +34a71c0,fff0f0f0 +34a71c4,f0f0f0f0 +34a71c8,f0f0f0f0 +34a71cc,f0f07fff +34a71d0,fffff0f0 +34a71d4,f0f0f0f0 +34a71d8,f0f0f0f0 +34a71dc,f0f07fff +34a71e0,fffff0f0 +34a71e4,f0f0f0f0 +34a71e8,f0f0f0f0 +34a71ec,f0f07f7f +34a71f0,fffff0f0 +34a71f4,f0f0f0f0 +34a71f8,f0f0f0f0 +34a71fc,f0f07f7f +34a7200,fffffff0 +34a7204,f0f0f0f0 +34a7208,f0f0f0f0 +34a720c,f0f07f7f +34a7210,fffffff0 +34a7214,f0f0f0f0 +34a7218,f0f0f0f0 +34a721c,f07f7f7f +34a7220,7ffffff0 +34a7224,f0f0f0f0 +34a7228,f0f0f0f0 +34a722c,f06f7f7f +34a7230,7fffffff +34a7234,f0f0f0f0 +34a7238,f0f0f0f0 +34a723c,f06f6f7f +34a7240,7fffffff +34a7244,f0f0f0f0 +34a7248,f0f0f0f0 +34a724c,f0f06f7f +34a7250,7fffffff +34a7254,f0f0f0f0 +34a7258,f0f0f0f0 +34a725c,f0f0f0f0 +34a7260,7f7fffff +34a7264,f0f0f0f0 +34a7268,f0f0f0f0 +34a726c,f0f0f0f0 +34a7270,f07fffff +34a7274,fff0f0f0 +34a7278,f0f0f0f0 +34a727c,f0f0f0f0 +34a7280,f0f0ffff +34a7284,f0f0f0f0 +34a7288,f0f0f0f0 +34a728c,f0f0f0f0 +34a7290,f0f0f0f0 +34a7294,f0f0f0f0 +34a7298,f0f0f0f0 +34a729c,f0f0f0f0 +34a72a0,f0f0f0f0 +34a72a4,f0f0f0f0 +34a72a8,f0f0f0f0 +34a72ac,f0f0f0f0 +34a72b0,f0f0f0f0 +34a72b4,f0f0f0f0 +34a72b8,f0f0f0f0 +34a72bc,f0f09fff +34a72c0,fff0f0f0 +34a72c4,f0f0f0f0 +34a72c8,f0f0f0f0 +34a72cc,f0f09fff +34a72d0,fffff0f0 +34a72d4,f0f0f0f0 +34a72d8,f0f0f0f0 +34a72dc,f0f09f9f +34a72e0,fffff0f0 +34a72e4,f0f0f0f0 +34a72e8,f0f0f0f0 +34a72ec,f0f09f9f +34a72f0,fffff0f0 +34a72f4,f0f0f0f0 +34a72f8,f0f0f0f0 +34a72fc,f09f9f9f +34a7300,9fffeff0 +34a7304,f0f0f0f0 +34a7308,f0f0f0f0 +34a730c,f08f9f9f +34a7310,9fefeff0 +34a7314,f0f0f0f0 +34a7318,f0f0f0f0 +34a731c,f08f8f9f +34a7320,9fefeff0 +34a7324,f0f0f0f0 +34a7328,f0f0f0f0 +34a732c,f08f8f8f +34a7330,9f9fefef +34a7334,f0f0f0f0 +34a7338,f0f0f0f0 +34a733c,f08f8f8f +34a7340,8f9fefef +34a7344,f0f0f0f0 +34a7348,f0f0f0f0 +34a734c,f0f08f8f +34a7350,8f8fefef +34a7354,eff0f0f0 +34a7358,f0f0f0f0 +34a735c,f0f0f0f0 +34a7360,8f8f8fef +34a7364,eff0f0f0 +34a7368,f0f0f0f0 +34a736c,f0f0f0f0 +34a7370,f08f8fef +34a7374,eff0f0f0 +34a7378,f0f0f0f0 +34a737c,f0f0f0f0 +34a7380,f0f0f08f +34a7384,f0f0f0f0 +34a7388,f0f0f0f0 +34a738c,f0f0f0f0 +34a7390,f0f0f0f0 +34a7394,f0f0f0f0 +34a7398,f0f0f0f0 +34a739c,f0f0f0f0 +34a73a0,f0f0f0f0 +34a73a4,f0f0f0f0 +34a73a8,f0f0f0f0 +34a73ac,f0f0f0f0 +34a73b0,f0f0f0f0 +34a73b4,f0f0f0f0 +34a73b8,f0f0f0f0 +34a73bc,f0f0f0ef +34a73c0,eff0f0f0 +34a73c4,f0f0f0f0 +34a73c8,f0f0f0f0 +34a73cc,f0f0bfbf +34a73d0,eff0f0f0 +34a73d4,f0f0f0f0 +34a73d8,f0f0f0f0 +34a73dc,f0f0bfbf +34a73e0,dfdff0f0 +34a73e4,f0f0f0f0 +34a73e8,f0f0f0f0 +34a73ec,f0f0afbf +34a73f0,bfdff0f0 +34a73f4,f0f0f0f0 +34a73f8,f0f0f0f0 +34a73fc,f0afafaf +34a7400,afdfdff0 +34a7404,f0f0f0f0 +34a7408,f0f0f0f0 +34a740c,f0afafaf +34a7410,afafdff0 +34a7414,f0f0f0f0 +34a7418,f0f0f0f0 +34a741c,f0afafaf +34a7420,afafdfdf +34a7424,f0f0f0f0 +34a7428,f0f0f0f0 +34a742c,9fafafaf +34a7430,afafdfdf +34a7434,f0f0f0f0 +34a7438,f0f0f0f0 +34a743c,9f9fafaf +34a7440,afafafcf +34a7444,f0f0f0f0 +34a7448,f0f0f0f0 +34a744c,f0f09f9f +34a7450,afafafcf +34a7454,cff0f0f0 +34a7458,f0f0f0f0 +34a745c,f0f0f0f0 +34a7460,9fafafaf +34a7464,cff0f0f0 +34a7468,f0f0f0f0 +34a746c,f0f0f0f0 +34a7470,f0f0f0af +34a7474,cff0f0f0 +34a7478,f0f0f0f0 +34a747c,f0f0f0f0 +34a7480,f0f0f0f0 +34a7484,f0f0f0f0 +34a7488,f0f0f0f0 +34a748c,f0f0f0f0 +34a7490,f0f0f0f0 +34a7494,f0f0f0f0 +34a7498,f0f0f0f0 +34a749c,f0f0f0f0 +34a74a0,f0f0f0f0 +34a74a4,f0f0f0f0 +34a74a8,f0f0f0f0 +34a74ac,f0f0f0f0 +34a74b0,f0f0f0f0 +34a74b4,f0f0f0f0 +34a74b8,f0f0f0f0 +34a74bc,f0f0f0cf +34a74c0,cff0f0f0 +34a74c4,f0f0f0f0 +34a74c8,f0f0f0f0 +34a74cc,f0f0cfcf +34a74d0,cff0f0f0 +34a74d4,f0f0f0f0 +34a74d8,f0f0f0f0 +34a74dc,f0f0cfcf +34a74e0,cfbff0f0 +34a74e4,f0f0f0f0 +34a74e8,f0f0f0f0 +34a74ec,f0f0cfcf +34a74f0,cfbff0f0 +34a74f4,f0f0f0f0 +34a74f8,f0f0f0f0 +34a74fc,f0bfbfbf +34a7500,cfcfbff0 +34a7504,f0f0f0f0 +34a7508,f0f0f0f0 +34a750c,f0bfbfbf +34a7510,bfbfbff0 +34a7514,f0f0f0f0 +34a7518,f0f0f0f0 +34a751c,bfbfbfbf +34a7520,bfbfbfbf +34a7524,f0f0f0f0 +34a7528,f0f0f0f0 +34a752c,bfbfbfbf +34a7530,bfbfbfbf +34a7534,f0f0f0f0 +34a7538,f0f0f0f0 +34a753c,afafbfbf +34a7540,bfbfbfbf +34a7544,f0f0f0f0 +34a7548,f0f0f0f0 +34a754c,f0afafaf +34a7550,bfbfbfbf +34a7554,aff0f0f0 +34a7558,f0f0f0f0 +34a755c,f0f0f0f0 +34a7560,f0afbfbf +34a7564,bff0f0f0 +34a7568,f0f0f0f0 +34a756c,f0f0f0f0 +34a7570,f0f0f0f0 +34a7574,f0f0f0f0 +34a7578,f0f0f0f0 +34a757c,f0f0f0f0 +34a7580,f0f0f0f0 +34a7584,f0f0f0f0 +34a7588,f0f0f0f0 +34a758c,f0f0f0f0 +34a7590,f0f0f0f0 +34a7594,f0f0f0f0 +34a7598,f0f0f0f0 +34a759c,f0f0f0f0 +34a75a0,f0f0f0f0 +34a75a4,f0f0f0f0 +34a75a8,f0f0f0f0 +34a75ac,f0f0f0f0 +34a75b0,f0f0f0f0 +34a75b4,f0f0f0f0 +34a75b8,f0f0f0f0 +34a75bc,f0f0f0df +34a75c0,f0f0f0f0 +34a75c4,f0f0f0f0 +34a75c8,f0f0f0f0 +34a75cc,f0f0f0df +34a75d0,dff0f0f0 +34a75d4,f0f0f0f0 +34a75d8,f0f0f0f0 +34a75dc,f0f0cfdf +34a75e0,dff0f0f0 +34a75e4,f0f0f0f0 +34a75e8,f0f0f0f0 +34a75ec,f0f0cfcf +34a75f0,cfcff0f0 +34a75f4,f0f0f0f0 +34a75f8,f0f0f0f0 +34a75fc,f0cfcfcf +34a7600,cfcff0f0 +34a7604,f0f0f0f0 +34a7608,f0f0f0f0 +34a760c,f0cfcfcf +34a7610,cfcfcff0 +34a7614,f0f0f0f0 +34a7618,f0f0f0f0 +34a761c,cfcfcfcf +34a7620,cfcfcff0 +34a7624,f0f0f0f0 +34a7628,f0f0f0f0 +34a762c,bfbfcfcf +34a7630,cfcfcfcf +34a7634,f0f0f0f0 +34a7638,f0f0f0f0 +34a763c,bfbfbfbf +34a7640,bfbfbfbf +34a7644,f0f0f0f0 +34a7648,f0f0f0bf +34a764c,bfbfbfbf +34a7650,bfbfbfbf +34a7654,bff0f0f0 +34a7658,f0f0f0f0 +34a765c,f0f0f0f0 +34a7660,f0f0bfbf +34a7664,bff0f0f0 +34a7668,f0f0f0f0 +34a766c,f0f0f0f0 +34a7670,f0f0f0f0 +34a7674,f0f0f0f0 +34a7678,f0f0f0f0 +34a767c,f0f0f0f0 +34a7680,f0f0f0f0 +34a7684,f0f0f0f0 +34a7688,f0f0f0f0 +34a768c,f0f0f0f0 +34a7690,f0f0f0f0 +34a7694,f0f0f0f0 +34a7698,f0f0f0f0 +34a769c,f0f0f0f0 +34a76a0,f0f0f0f0 +34a76a4,f0f0f0f0 +34a76a8,f0f0f0f0 +34a76ac,f0f0f0f0 +34a76b0,f0f0f0f0 +34a76b4,f0f0f0f0 +34a76b8,f0f0f0f0 +34a76bc,f0f0f0df +34a76c0,dff0f0f0 +34a76c4,f0f0f0f0 +34a76c8,f0f0f0f0 +34a76cc,f0f0f0df +34a76d0,dff0f0f0 +34a76d4,f0f0f0f0 +34a76d8,f0f0f0f0 +34a76dc,f0f0dfdf +34a76e0,dfdff0f0 +34a76e4,f0f0f0f0 +34a76e8,f0f0f0f0 +34a76ec,f0f0dfdf +34a76f0,dfdff0f0 +34a76f4,f0f0f0f0 +34a76f8,f0f0f0f0 +34a76fc,f0f0cfcf +34a7700,cfcff0f0 +34a7704,f0f0f0f0 +34a7708,f0f0f0f0 +34a770c,f0cfcfcf +34a7710,cfcfcff0 +34a7714,f0f0f0f0 +34a7718,f0f0f0f0 +34a771c,f0cfcfcf +34a7720,cfcfcff0 +34a7724,f0f0f0f0 +34a7728,f0f0f0f0 +34a772c,cfcfcfcf +34a7730,cfcfcfcf +34a7734,f0f0f0f0 +34a7738,f0f0f0f0 +34a773c,cfcfcfcf +34a7740,cfcfcfcf +34a7744,f0f0f0f0 +34a7748,f0f0f0bf +34a774c,bfbfbfbf +34a7750,bfbfbfbf +34a7754,bff0f0f0 +34a7758,f0f0f0f0 +34a775c,f0f0f0f0 +34a7760,f0f0f0f0 +34a7764,f0f0f0f0 +34a7768,f0f0f0f0 +34a776c,f0f0f0f0 +34a7770,f0f0f0f0 +34a7774,f0f0f0f0 +34a7778,f0f0f0f0 +34a777c,f0f0f0f0 +34a7780,f0f0f0f0 +34a7784,f0f0f0f0 +34a7788,f0f0f0f0 +34a778c,f0f0f0f0 +34a7790,f0f0f0f0 +34a7794,f0f0f0f0 +34a7798,f0f0f0f0 +34a779c,f0f0f0f0 +34a77a0,f0f0f0f0 +34a77a4,f0f0f0f0 +34a77b0,804241b8 +34a77b4,537769 +34a77b8,74636800 +34a77c4,1556e6b +34a77c8,6e6f776e +34a77d4,2547265 +34a77d8,61737572 +34a77dc,65000000 +34a77e4,3436c65 +34a77e8,61720000 +34a77f4,454656d +34a77f8,7020636c +34a77fc,65617200 +34a7804,5436f6c +34a7808,6c656374 +34a780c,69626c65 +34a7814,535749 +34a7818,54434800 +34a7824,1424700 +34a7834,2504c41 +34a7838,59455200 +34a7844,3455850 +34a7848,4c4f5349 +34a784c,56455300 +34a7854,44e5043 +34a7864,5454e45 +34a7868,4d590000 +34a7874,650524f +34a7878,50000000 +34a7884,7495445 +34a7888,4d414354 +34a788c,494f4e00 +34a7894,84d4953 +34a7898,43000000 +34a78a4,9424f53 +34a78a8,53000000 +34a78b4,a444f4f +34a78b8,52000000 +34a78c4,b434845 +34a78c8,53540000 +34a78d4,a +34a78d8,486f6f6b +34a78dc,73686f74 +34a78f4,100 +34a78f8,b4c6f +34a78fc,6e677368 +34a7900,6f740000 +34a7918,2000006 +34a791c,536c696e +34a7920,6773686f +34a7924,74000000 +34a7938,300 +34a793c,3426f +34a7940,77000000 +34a795c,400004d +34a7960,426f6d62 +34a7964,20626167 +34a797c,500 +34a7980,3e4465 +34a7984,6b752053 +34a7988,6869656c +34a798c,64000000 +34a79a0,600003f +34a79a4,48796c69 +34a79a8,616e2053 +34a79ac,6869656c +34a79b0,64000000 +34a79c0,700 +34a79c4,404d69 +34a79c8,72726f72 +34a79cc,20536869 +34a79d0,656c6400 +34a79e4,8000007 +34a79e8,4f636172 +34a79ec,696e6100 +34a7a04,900 +34a7a08,9426f +34a7a0c,6d626368 +34a7a10,75000000 +34a7a28,a00000e +34a7a2c,426f6f6d +34a7a30,6572616e +34a7a34,67000000 +34a7a48,b00 +34a7a4c,114861 +34a7a50,6d6d6572 +34a7a6c,c000014 +34a7a70,426f7474 +34a7a74,6c650000 +34a7a8c,d00 +34a7a90,3b4b6f +34a7a94,6b697269 +34a7a98,2053776f +34a7a9c,72640000 +34a7ab0,e00003d +34a7ab4,42696767 +34a7ab8,6f726f6e +34a7abc,2053776f +34a7ac0,72640000 +34a7ad0,f00 +34a7ad4,454972 +34a7ad8,6f6e2062 +34a7adc,6f6f7473 +34a7af4,10000046 +34a7af8,486f7665 +34a7afc,7220626f +34a7b00,6f747300 +34a7b14,1100 +34a7b18,505374 +34a7b1c,72656e67 +34a7b20,74682031 +34a7b38,12000051 +34a7b3c,53747265 +34a7b40,6e677468 +34a7b44,20320000 +34a7b58,1300 +34a7b5c,525374 +34a7b60,72656e67 +34a7b64,74682033 +34a7b7c,14000053 +34a7b80,5363616c +34a7b84,65000000 +34a7b9c,1500 +34a7ba0,ffff4d61 +34a7ba4,67696300 +34a7bc0,16000066 +34a7bc4,466f7265 +34a7bc8,7374204d +34a7bcc,65640000 +34a7be0,1700 +34a7be4,674669 +34a7be8,7265204d +34a7bec,65640000 +34a7c04,18000068 +34a7c08,57617465 +34a7c0c,72204d65 +34a7c10,64000000 +34a7c24,1900 +34a7c28,695370 +34a7c2c,69726974 +34a7c30,204d6564 +34a7c48,1a00006a +34a7c4c,53686164 +34a7c50,6f77204d +34a7c54,65640000 +34a7c68,1b00 +34a7c6c,6b4c69 +34a7c70,67687420 +34a7c74,4d656400 +34a7c8c,1c00006c +34a7c90,456d6572 +34a7c94,616c6400 +34a7cac,1d00 +34a7cb0,6d5275 +34a7cb4,62790000 +34a7cd0,1e00006e +34a7cd4,53617070 +34a7cd8,68697265 +34a7cf4,40f +34a7cf8,476f686d +34a7cfc,61000000 +34a7d14,100 +34a7d18,40b4b69 +34a7d1c,6e672044 +34a7d20,6f646f6e +34a7d24,676f0000 +34a7d38,2000301 +34a7d3c,42617269 +34a7d40,6e616465 +34a7d58,300 +34a7d5c,c5068 +34a7d60,616e746f +34a7d64,6d204761 +34a7d68,6e6f6e00 +34a7d7c,4000305 +34a7d80,566f6c76 +34a7d84,61676961 +34a7d9c,500 +34a7da0,4174d6f +34a7da4,72706861 +34a7dc0,6000413 +34a7dc4,426f6e67 +34a7dc8,6f20426f +34a7dcc,6e676f00 +34a7de0,700 +34a7de4,8d5477 +34a7de8,696e726f +34a7dec,76610000 +34a7e04,800041f +34a7e08,47616e6f +34a7e0c,6e646f72 +34a7e10,66000000 +34a7e24,900 +34a7e28,5174761 +34a7e2c,6e6f6e00 +34a7e48,443 +34a7e4c,4b6f6b69 +34a7e50,72692046 +34a7e54,6f726573 +34a7e58,74000000 +34a7e68,100 +34a7e6c,11e4c6f +34a7e70,73742057 +34a7e74,6f6f6473 +34a7e8c,20000fc +34a7e90,53616372 +34a7e94,65642046 +34a7e98,6f726573 +34a7e9c,74204d65 +34a7ea0,61646f77 +34a7eac,300 +34a7eb0,1574c6f +34a7eb4,6e204c6f +34a7eb8,6e205261 +34a7ebc,6e636800 +34a7ed0,40001fd +34a7ed4,48797275 +34a7ed8,6c652046 +34a7edc,69656c64 +34a7ee0,20286672 +34a7ee4,6f6d204d +34a7ee8,61726b65 +34a7eec,74290000 +34a7ef0,500 +34a7ef4,1814879 +34a7ef8,72756c65 +34a7efc,20466965 +34a7f00,6c642028 +34a7f04,66726f6d +34a7f08,20526976 +34a7f0c,65722900 +34a7f14,6000189 +34a7f18,48797275 +34a7f1c,6c652046 +34a7f20,69656c64 +34a7f24,20286672 +34a7f28,6f6d204c +34a7f2c,616b6529 +34a7f34,700 +34a7f38,b14d61 +34a7f3c,726b6574 +34a7f58,8000138 +34a7f5c,48797275 +34a7f60,6c652043 +34a7f64,6173746c +34a7f68,652f4f47 +34a7f6c,43000000 +34a7f78,900 +34a7f7c,db4b61 +34a7f80,6b617269 +34a7f84,6b6f0000 +34a7f9c,a0000e4 +34a7fa0,47726176 +34a7fa4,65796172 +34a7fa8,64000000 +34a7fbc,b00 +34a7fc0,13d444d +34a7fc4,54202866 +34a7fc8,726f6d20 +34a7fcc,4b616b29 +34a7fe0,c0001bd +34a7fe4,444d5420 +34a7fe8,2866726f +34a7fec,6d204372 +34a7ff0,61746572 +34a7ff4,29000000 +34a8000,d00 +34a8004,14d476f +34a8008,726f6e20 +34a800c,43697479 +34a8024,e000246 +34a8028,444d4320 +34a802c,2866726f +34a8030,6d20476f +34a8034,726f6e20 +34a8038,43697479 +34a803c,29000000 +34a8044,f00 +34a8048,ea5a6f +34a804c,72612773 +34a8050,20526976 +34a8054,65720000 +34a8068,10000108 +34a806c,5a6f7261 +34a8070,27732044 +34a8074,6f6d6169 +34a8078,6e000000 +34a8088,1100 +34a808c,2255a6f +34a8090,72612773 +34a8094,20466f75 +34a8098,6e746169 +34a809c,6e000000 +34a80ac,12000102 +34a80b0,4c616b65 +34a80b4,2048796c +34a80b8,69610000 +34a80cc,1300 +34a80d0,1174765 +34a80d4,7275646f +34a80d8,2056616c +34a80dc,6c657900 +34a80f0,14000129 +34a80f4,47657275 +34a80f8,646f2046 +34a80fc,6f727472 +34a8100,65737300 +34a8110,1500 +34a8114,1304861 +34a8118,756e7465 +34a811c,64205761 +34a8120,7374656c +34a8124,616e6473 +34a8134,16000123 +34a8138,436f6c6f +34a813c,73737573 +34a8158,6000000 +34a815c,80428ec0 +34a8160,4000000 +34a8164,80428df0 +34a8168,3000000 +34a816c,80428d54 +34a8170,6000000 +34a8174,80428c1c +34a8178,7000000 +34a817c,80428ab0 +34a8180,6000000 +34a8184,80428978 +34a8188,7000000 +34a818c,8042880c +34a8190,6000000 +34a8194,804286d4 +34a8198,3000000 +34a819c,80428638 +34a81a0,5000000 +34a81a4,80428534 +34a81a8,4000000 +34a81ac,80428464 +34a81b0,6000000 +34a81b4,8042832c +34a81b8,7000000 +34a81bc,804281c0 +34a81c0,467 +34a81c8,c1100000 +34a81cc,43d20000 +34a81d0,450eb000 +34a81d4,8000456e +34a81d8,7472616e +34a81dc,63650000 +34a81f4,467 +34a81f8,11 +34a81fc,c421c000 +34a8200,43160000 +34a8204,438a8000 +34a8208,eaaa5370 +34a820c,69726974 +34a8210,20547269 +34a8214,616c0000 +34a8228,467 +34a822c,9 +34a8230,c4afc000 +34a8234,c3700000 +34a8238,c4520000 +34a823c,bf9a4c69 +34a8240,67687420 +34a8244,54726961 +34a8248,6c000000 +34a825c,467 +34a8260,e +34a8264,c4220000 +34a8268,43160000 +34a826c,c4f8c000 +34a8270,95074669 +34a8274,72652054 +34a8278,7269616c +34a8290,467 +34a8294,c +34a8298,44250000 +34a829c,43160000 +34a82a0,c4f7c000 +34a82a4,6af95368 +34a82a8,61646f77 +34a82ac,20547269 +34a82b0,616c0000 +34a82c4,467 +34a82c8,2 +34a82cc,44a4e000 +34a82d0,c3700000 +34a82d4,c450c000 +34a82d8,3f9a5761 +34a82dc,74657220 +34a82e0,54726961 +34a82e4,6c000000 +34a82f8,467 +34a82fc,5 +34a8300,44258000 +34a8304,43160000 +34a8308,43970000 +34a830c,1507466f +34a8310,72657374 +34a8314,20547269 +34a8318,616c0000 +34a832c,8 +34a8334,c2740000 +34a8338,c3200000 +34a833c,43360000 +34a8340,8000456e +34a8344,7472616e +34a8348,63650000 +34a8360,8 +34a8364,2 +34a8368,c4c5e000 +34a836c,c2a00000 +34a8370,c430c000 +34a8374,8000466c +34a8378,616d6520 +34a837c,77616c6c +34a8380,206d617a +34a8384,65000000 +34a8394,8 +34a8398,3 +34a839c,c4c56000 +34a83a0,43200000 +34a83a4,c50ce000 +34a83a8,80005075 +34a83ac,7368626c +34a83b0,6f636b20 +34a83b4,726f6f6d +34a83c8,8 +34a83cc,4 +34a83d0,c42c4000 +34a83d4,436f0000 +34a83d8,c52bf000 +34a83dc,3f9a526f +34a83e0,74617469 +34a83e4,6e672073 +34a83e8,74617475 +34a83ec,6520726f +34a83f0,6f6d0000 +34a83fc,8 +34a8400,6 +34a8404,44b50000 +34a8408,c2a20000 +34a840c,c5110000 +34a8410,ff9a4c61 +34a8414,76612072 +34a8418,6f6f6d00 +34a8430,8 +34a8434,9 +34a8438,44fb2000 +34a843c,c3700000 +34a8440,c4b6e000 +34a8444,3f9a546f +34a8448,696c6574 +34a8464,486 +34a8468,2 +34a846c,c3940000 +34a8474,c5387000 +34a8478,40005265 +34a847c,64206365 +34a8480,6c6c2031 +34a8484,20746f72 +34a8488,63680000 +34a8498,486 +34a849c,4 +34a84a0,c2d20000 +34a84a8,c3a78000 +34a84ac,40004772 +34a84b0,65656e20 +34a84b4,63656c6c +34a84b8,20342074 +34a84bc,6f726368 +34a84c0,65730000 +34a84cc,486 +34a84d0,5 +34a84d4,4489c000 +34a84d8,42f00000 +34a84dc,41f00000 +34a84e0,426c +34a84e4,75652063 +34a84e8,656c6c20 +34a84ec,3220746f +34a84f0,72636865 +34a84f4,73000000 +34a8500,486 +34a8504,1 +34a8508,4484a000 +34a8510,c4fea000 +34a8514,80004772 +34a8518,65656e20 +34a851c,63656c6c +34a8520,20332074 +34a8524,6f726368 +34a8528,65730000 +34a8534,88 +34a853c,41800000 +34a8544,45276000 +34a8548,8000456e +34a854c,7472616e +34a8550,63650000 +34a8568,88 +34a856c,3 +34a8570,438e8000 +34a8574,42180000 +34a8578,427c0000 +34a857c,80005370 +34a8580,696e6e69 +34a8584,6e672073 +34a8588,63797468 +34a858c,65000000 +34a859c,88 +34a85a0,9 +34a85a4,44258000 +34a85a8,42500000 +34a85ac,c4cf0000 +34a85b0,8000576f +34a85b4,72737420 +34a85b8,726f6f6d +34a85d0,88 +34a85d4,5 +34a85d8,c4340000 +34a85dc,42700000 +34a85e0,c4700000 +34a85e4,c0005075 +34a85e8,7368626c +34a85ec,6f636b20 +34a85f0,726f6f6d +34a8604,88 +34a8608,6 +34a860c,c4ad0000 +34a8610,438a8000 +34a8614,442b8000 +34a8618,20004265 +34a861c,666f7265 +34a8620,20776f6c +34a8624,666f7320 +34a8628,726f6f6d +34a8638,98 +34a8644,c1400000 +34a8648,42ea0000 +34a864c,80004d61 +34a8650,696e2072 +34a8654,6f6f6d20 +34a8658,456e7472 +34a865c,616e6365 +34a866c,98 +34a8670,2 +34a8674,c4ce4000 +34a867c,c438c000 +34a8680,c000436f +34a8684,6666696e +34a8688,20726f6f +34a868c,6d000000 +34a86a0,98 +34a86a4,3 +34a86a8,448e8000 +34a86b0,c4a76000 +34a86b4,4265 +34a86b8,616d6f73 +34a86bc,20726f6f +34a86c0,6d000000 +34a86d4,82 +34a86d8,1 +34a86dc,c4400000 +34a86e0,c2480000 +34a86e4,bf800000 +34a86e8,c0004166 +34a86ec,74657220 +34a86f0,63726177 +34a86f4,6c737061 +34a86f8,63652028 +34a86fc,6368696c +34a8700,64290000 +34a8708,82 +34a8710,44590000 +34a8714,c2480000 +34a8718,40000000 +34a871c,40004166 +34a8720,74657220 +34a8724,73696c76 +34a8728,65722062 +34a872c,6c6f636b +34a8730,20286164 +34a8734,756c7429 +34a873c,82 +34a8740,f +34a8744,448cc000 +34a8748,43f00000 +34a874c,c4a02000 +34a8750,40005370 +34a8754,696e6e69 +34a8758,6e672063 +34a875c,6f627261 +34a8760,20726f6f +34a8764,6d000000 +34a8770,82 +34a8774,5 +34a8778,442d0000 +34a877c,43f00000 +34a8780,c4518000 +34a8784,c0004d61 +34a8788,696e2072 +34a878c,6f6f6d00 +34a87a4,82 +34a87a8,12 +34a87ac,44df6000 +34a87b0,4452c000 +34a87b4,43180000 +34a87b8,3f9a4172 +34a87bc,6d6f7320 +34a87c0,726f6f6d +34a87d8,82 +34a87dc,19 +34a87e0,43860000 +34a87e4,44d8a000 +34a87e8,c44f0000 +34a87ec,c0004365 +34a87f0,696c696e +34a87f4,67206d69 +34a87f8,72726f72 +34a880c,37 +34a8810,2 +34a8814,c37e0000 +34a8818,c27c0000 +34a881c,44148000 +34a8820,8000456e +34a8824,7472616e +34a8828,63650000 +34a8840,37 +34a8844,8 +34a8848,45822000 +34a884c,c475c000 +34a8850,44aac000 +34a8854,c0004265 +34a8858,666f7265 +34a885c,20687567 +34a8860,6520726f +34a8864,6f6d0000 +34a8874,37 +34a8878,10 +34a887c,45922800 +34a8880,c48ee000 +34a8884,451aa000 +34a8888,8000496e +34a888c,76697369 +34a8890,626c6520 +34a8894,73637974 +34a8898,68657300 +34a88a8,37 +34a88ac,a +34a88b0,44996000 +34a88b4,c4a7e000 +34a88b8,4570d000 +34a88bc,c0005374 +34a88c0,6f6e6520 +34a88c4,756d6272 +34a88c8,656c6c61 +34a88dc,37 +34a88e0,b +34a88e4,451ad000 +34a88e8,c4a7e000 +34a88ec,44ae2000 +34a88f0,7f9a496e +34a88f4,76697369 +34a88f8,626c6520 +34a88fc,7370696b +34a8900,65730000 +34a8910,37 +34a8914,15 +34a8918,45891800 +34a891c,c4aa6000 +34a8920,c4b9c000 +34a8924,80004265 +34a8928,666f7265 +34a892c,20626f61 +34a8930,74000000 +34a8944,37 +34a8948,f +34a894c,c564e000 +34a8950,c4aa6000 +34a8954,c4c62000 +34a8958,c000496e +34a895c,76697369 +34a8960,626c6520 +34a8964,77616c6c +34a8968,206d617a +34a896c,65000000 +34a8978,10 +34a8980,c3380000 +34a8984,44430000 +34a8988,443dc000 +34a898c,8000456e +34a8990,7472616e +34a8994,63650000 +34a89ac,10 +34a89b0,11 +34a89b4,4476c000 +34a89b8,44430000 +34a89bc,43350000 +34a89c0,40004669 +34a89c4,72737420 +34a89c8,5a4c2077 +34a89cc,61746572 +34a89d0,206c6576 +34a89d4,656c2073 +34a89d8,77697463 +34a89dc,68000000 +34a89e0,10 +34a89e4,c +34a89e8,c3340000 +34a89f0,c4e9c000 +34a89f4,8000506f +34a89f8,6f6c206f +34a89fc,66207465 +34a8a00,6b746974 +34a8a04,65732061 +34a8a08,6e642062 +34a8a0c,6f756c64 +34a8a10,65727300 +34a8a14,10 +34a8a18,8 +34a8a1c,c48e8000 +34a8a20,42700000 +34a8a24,c4e24000 +34a8a28,80004472 +34a8a2c,61676f6e +34a8a30,20726f6f +34a8a34,6d000000 +34a8a48,10 +34a8a4c,d +34a8a50,c5434000 +34a8a54,44848000 +34a8a58,c4da6000 +34a8a5c,7f9a4461 +34a8a60,726b206c +34a8a64,696e6b20 +34a8a68,726f6f6d +34a8a7c,10 +34a8a80,15 +34a8a84,c5429000 +34a8a88,43be0000 +34a8a8c,c583f000 +34a8a90,12975269 +34a8a94,76657200 +34a8ab0,165 +34a8ab8,40a00000 +34a8ac0,44538000 +34a8ac4,8000456e +34a8ac8,7472616e +34a8acc,63650000 +34a8ae4,165 +34a8ae8,4 +34a8aec,453ad000 +34a8af0,4500c000 +34a8af8,c0005368 +34a8afc,6f727463 +34a8b00,75742072 +34a8b04,6f6f6d00 +34a8b18,165 +34a8b1c,5 +34a8b20,45264000 +34a8b24,452f0000 +34a8b2c,4000426f +34a8b30,756c6465 +34a8b34,72206d61 +34a8b38,7a652028 +34a8b3c,646f776e +34a8b40,29000000 +34a8b4c,165 +34a8b50,5 +34a8b54,44c08000 +34a8b58,4537c000 +34a8b5c,c41d8000 +34a8b60,4000426f +34a8b64,756c6465 +34a8b68,72206d61 +34a8b6c,7a652028 +34a8b70,75702900 +34a8b80,165 +34a8b84,8 +34a8b88,44c58000 +34a8b8c,45898000 +34a8b90,c3fe8000 +34a8b94,5363 +34a8b98,61726563 +34a8b9c,726f7720 +34a8ba0,726f6f6d +34a8bb4,165 +34a8bb8,a +34a8bbc,c4200000 +34a8bc0,4537c000 +34a8bc4,433e0000 +34a8bc8,c0004669 +34a8bcc,72652077 +34a8bd0,616c6c20 +34a8bd4,6d617a65 +34a8be8,165 +34a8bec,d +34a8bf0,c50f1000 +34a8bf4,45898000 +34a8bf8,41980000 +34a8bfc,40004861 +34a8c00,6d6d6572 +34a8c04,20726f6f +34a8c08,6d000000 +34a8c1c,169 +34a8c24,42dc0000 +34a8c28,439a8000 +34a8c2c,44204000 +34a8c30,8000456e +34a8c34,7472616e +34a8c38,63650000 +34a8c50,169 +34a8c54,2 +34a8c58,42ec0000 +34a8c5c,43bf8000 +34a8c60,c4250000 +34a8c64,80004d61 +34a8c68,696e2043 +34a8c6c,68616d62 +34a8c70,65720000 +34a8c84,169 +34a8c88,b +34a8c8c,c4b4e000 +34a8c90,43bf8000 +34a8c94,c4b3e000 +34a8c98,c000426c +34a8c9c,6f636b20 +34a8ca0,50757a7a +34a8ca4,6c652072 +34a8ca8,6f6f6d00 +34a8cb8,169 +34a8cbc,c +34a8cc0,c4a60000 +34a8cc4,44998000 +34a8cc8,c54fe000 +34a8ccc,3f9a5265 +34a8cd0,6420506f +34a8cd4,65000000 +34a8cec,169 +34a8cf0,d +34a8cf4,44128000 +34a8cf8,444ec000 +34a8cfc,c54fa000 +34a8d00,3f9a426c +34a8d04,75652050 +34a8d08,6f650000 +34a8d20,169 +34a8d24,f +34a8d28,44f76000 +34a8d2c,43c98000 +34a8d30,c554c000 +34a8d34,3f9a4368 +34a8d38,65636b65 +34a8d3c,72626f61 +34a8d40,72642043 +34a8d44,65696c69 +34a8d48,6e670000 +34a8d54,28 +34a8d5c,c0400000 +34a8d60,c3620000 +34a8d64,43b88000 +34a8d68,8000456e +34a8d6c,7472616e +34a8d70,63650000 +34a8d88,28 +34a8d8c,3 +34a8d90,43670000 +34a8d94,c48b2000 +34a8d98,c549c000 +34a8d9c,74e04231 +34a8da0,204d6169 +34a8da4,6e000000 +34a8dbc,28 +34a8dc0,7 +34a8dc4,40c00000 +34a8dc8,c3aa0000 +34a8dcc,c57ea000 +34a8dd0,7f9a4272 +34a8dd4,616e6368 +34a8dd8,696e6720 +34a8ddc,48616c6c +34a8de0,77617973 +34a8df0,4 +34a8df8,c0400000 +34a8e00,43b88000 +34a8e04,8000456e +34a8e08,7472616e +34a8e0c,63650000 +34a8e24,4 +34a8e28,2 +34a8e2c,c467c000 +34a8e34,c4bea000 +34a8e38,bf9a426f +34a8e3c,6d622046 +34a8e40,6c6f7765 +34a8e44,72205374 +34a8e48,61697263 +34a8e4c,61736500 +34a8e58,4 +34a8e5c,9 +34a8e60,44ae0000 +34a8e64,4404c000 +34a8e68,c39e0000 +34a8e6c,4000426f +34a8e70,6d622042 +34a8e74,61672072 +34a8e78,6f6f6d00 +34a8e8c,4 +34a8e90,7 +34a8e94,40e00000 +34a8e98,42980000 +34a8e9c,c5009000 +34a8ea0,8000466c +34a8ea4,6f6f7220 +34a8ea8,73776974 +34a8eac,63682072 +34a8eb0,6f6f6d20 +34a8eb4,6265666f +34a8eb8,72652042 +34a8ebc,6f737300 +34a8ec8,c0800000 +34a8ed0,440a8000 +34a8ed4,8000456e +34a8ed8,7472616e +34a8edc,63650000 +34a8ef8,2 +34a8efc,c47a8000 +34a8f00,43c80000 +34a8f04,447a0000 +34a8f08,e05c536c +34a8f0c,696e6773 +34a8f10,686f7420 +34a8f14,726f6f6d +34a8f2c,a +34a8f30,c422c000 +34a8f34,44480000 +34a8f38,bf800000 +34a8f3c,bf9a436f +34a8f40,6d706173 +34a8f44,7320726f +34a8f48,6f6d0000 +34a8f60,3 +34a8f64,c3460000 +34a8f68,c4534000 +34a8f6c,c38e8000 +34a8f70,bf544261 +34a8f74,73656d65 +34a8f78,6e740000 +34a8f94,5 +34a8f98,c3d60000 +34a8f9c,c45c0000 +34a8fa0,44704000 +34a8fa4,bf9a4c6f +34a8fa8,67205370 +34a8fac,696b6500 +34a8fc8,9 +34a8fcc,c4198000 +34a8fd0,c4eb2000 +34a8fd4,c3c20000 +34a8fd8,85fc3233 +34a8fdc,31205363 +34a8fe0,72756273 +34a8ffc,44656b75 +34a9018,100 +34a901c,4446f +34a9020,646f6e67 +34a9024,6f000000 +34a903c,2000028 +34a9040,4a616275 +34a905c,300 +34a9060,169466f +34a9064,72657374 +34a9080,4000165 +34a9084,46697265 +34a90a0,500 +34a90a4,105761 +34a90a8,74657200 +34a90c4,6000037 +34a90c8,53686164 +34a90cc,6f770000 +34a90e4,700 +34a90e8,825370 +34a90ec,69726974 +34a9108,8000098 +34a910c,426f7457 +34a9128,900 +34a912c,884963 +34a9130,65000000 +34a914c,a000486 +34a9150,48696465 +34a9154,6f757400 +34a916c,b00 +34a9170,84754 +34a9174,47000000 +34a9190,c000467 +34a9194,47616e6f +34a9198,6e204361 +34a919c,73746c65 +34a91b4,44756e +34a91b8,67656f6e +34a91bc,73000000 +34a91c4,14f7665 +34a91c8,72776f72 +34a91cc,6c640000 +34a91d4,2426f73 +34a91d8,73657300 +34a91e4,3497465 +34a91e8,6d730000 +34a91f4,4537769 +34a91f8,74636820 +34a91fc,41676500 +34a9204,542756e +34a9208,6e792048 +34a920c,6f6f6400 +34a9214,6446973 +34a9218,706c6179 +34a921c,20636c6f +34a9220,636b0000 +34a9224,7416374 +34a9228,6f722074 +34a922c,61626c65 +34a9234,84f7665 +34a9238,726c6179 +34a923c,20746162 +34a9240,6c650000 +34a9244,9536365 +34a9248,6e652066 +34a924c,6c616773 +34a9254,14050000 +34a9258,e0e01000 +34a925c,10208 +34a9260,3040507 +34a9264,6000000 +34a9268,5c8c800 +34a926c,ff00 +34a9270,1ff3c00 +34a9274,20064ff +34a9278,4c832ff +34a927c,3ff8200 +34a9280,100f44 +34a9284,656b7500 +34a928c,ffff +34a9290,ffffffff +34a9294,ffff0110 +34a9298,1f446f64 +34a929c,6f6e676f +34a92a4,ffffffff +34a92a8,ffffff +34a92ac,2100f4a +34a92b0,61627500 +34a92b8,ffff +34a92bc,ffffffff +34a92c0,ffff03d0 +34a92c4,1f466f72 +34a92c8,65737400 +34a92d0,ffffffff +34a92d4,ffffffff +34a92d8,4d01f46 +34a92dc,69726500 +34a92e4,ffff +34a92e8,ffffffff +34a92ec,ffff05d0 +34a92f0,1f576174 +34a92f4,65720000 +34a92fc,ffffffff +34a9300,ffffffff +34a9304,7d01f53 +34a9308,6861646f +34a930c,77000000 +34a9310,406 +34a9314,7ff0405 +34a9318,60706d0 +34a931c,1f537069 +34a9320,72697400 +34a9328,b0e0cff +34a932c,d0fffff +34a9330,8900742 +34a9334,6f745700 +34a933c,3ff +34a9340,ffffffff +34a9344,ffff0910 +34a9348,7496365 +34a9354,102ffff +34a9358,ffffffff +34a935c,ca00048 +34a9360,6964656f +34a9364,75740000 +34a9368,ffff +34a936c,ffffffff +34a9370,ffff0b80 +34a9374,475447 +34a9380,8090aff +34a9384,8090aff +34a9388,dc00047 +34a938c,616e6f6e +34a9394,1011 +34a9398,12151213 +34a939c,14ff1080 +34a93a0,436865 +34a93a4,73742047 +34a93a8,616d6500 +34a93ac,ffffffff +34a93b0,ffffffff +34a93b4,d +34a93bc,3f000000 +34a93c8,3f000000 +34a93d0,ffffff00 +34a93d4,ffff00 +34a93d8,ffff0000 +34a93dc,ff00 +34a93e0,ff000000 +34a93e4,2 +34a93ec,3f800000 +34a93f8,41200000 +34a93fc,41200000 +34a9400,500080d +34a9404,1051508 +34a9408,d01052a +34a940c,80d0127 +34a9410,27031000 +34a9414,33270010 +34a9418,4d510b +34a941c,2000000 +34a9420,c004e00 +34a9424,c015a00 +34a9428,c026600 +34a942c,c037200 +34a9430,c047e00 +34a9434,c058a00 +34a9438,c064e0c +34a943c,75a0c +34a9440,c09660c +34a9444,a720c +34a9448,c0c7e0c +34a944c,c0d8a0c +34a9450,c0e4e18 +34a9454,c0f5a18 +34a9458,c106618 +34a945c,c117218 +34a9460,c127e18 +34a9464,c138a18 +34a9468,ffff +34a946c,ffff +34a9470,ffff +34a9474,ffff +34a9478,ffff +34a947c,ffff +34a9480,ffff +34a9484,ffff +34a9488,ffff +34a948c,ffff +34a9490,ffff +34a9494,ffff +34a9498,ffff +34a949c,ffff +34a94a0,c3b7e2a +34a94a4,c3c8a2a +34a94a8,c3d962a +34a94ac,ffff +34a94b0,c3e7e36 +34a94b4,b3f8b37 +34a94b8,b409737 +34a94bc,ffff +34a94c0,c417e42 +34a94c4,c428a42 +34a94c8,c439642 +34a94cc,ffff +34a94d0,c447e4f +34a94d4,c458a4f +34a94d8,c46964f +34a94dc,ffff +34a94e0,c149600 +34a94e4,ffff +34a94e8,2c061b31 +34a94ec,2c072931 +34a94f0,2c083731 +34a94f4,2a096f51 +34a94f8,2c0a722a +34a94fc,ffff +34a9500,2c00370a +34a9504,2c01371a +34a9508,2c022922 +34a950c,2c031b1a +34a9510,2c041b0a +34a9514,2c052902 +34a9518,ffff +34a951c,ffff +34a9520,ff000000 +34a9524,1 +34a9528,30006 +34a952c,70009 +34a9530,b000e +34a9534,f0010 +34a9538,110019 +34a953c,1a002b +34a9540,2c002e +34a9544,300032 +34a9548,35003c +34a954c,400041 +34a9550,460051 +34a9554,540109 +34a9558,10b010c +34a955c,10e010f +34a9560,1100113 +34a9564,80429650 +34a9568,80429640 +34a956c,ffff0000 +34a9570,ffffffff +34a9574,84858683 +34a9578,8e960000 +34a957c,9293948e +34a9580,8c007978 +34a9584,58000000 +34a9588,87000000 +34a9594,100010 +34a9598,a0400 +34a959c,1000000 +34a95a4,100010 +34a95a8,50301 +34a95ac,1000000 +34a95b4,100010 +34a95b8,a0301 +34a95bc,1000000 +34a95c4,100010 +34a95c8,20002 +34a95cc,2000000 +34a95d4,80008 +34a95d8,a0301 +34a95dc,1000000 +34a95e4,80010 +34a95e8,a0401 +34a95ec,1000000 +34a95f4,100010 +34a95f8,30301 +34a95fc,1000000 +34a9604,100018 +34a9608,10301 +34a960c,1000000 +34a9614,100010 +34a9618,100301 +34a961c,1000000 +34a9624,200020 +34a9628,10302 +34a962c,2000000 +34a9634,8000e +34a9638,5f0301 +34a963c,1000000 +34a9644,180018 +34a9648,140003 +34a964c,4000000 +34a9654,200020 +34a9658,5a0003 +34a965c,4000000 +34a9664,100010 +34a9668,60301 +34a966c,1000000 +34a9674,100010 +34a9678,30003 +34a967c,4000000 +34a9680,df000000 +34a9688,e7000000 +34a9690,d9000000 +34a9698,ed000000 +34a969c,5003c0 +34a96a0,ef002cf0 +34a96a4,504244 +34a96a8,df000000 +34a96b0,80112f1a +34a96b4,80112f14 +34a96b8,80112f0e +34a96bc,80112f08 +34a96c0,8011320a +34a96c4,80113204 +34a96c8,801131fe +34a96cc,801131f8 +34a96d0,801131f2 +34a96d4,801131ec +34a96d8,801131e6 +34a96dc,801131e0 +34a96e0,8012be1e +34a96e4,8012be20 +34a96e8,8012be1c +34a96ec,8012be12 +34a96f0,8012be14 +34a96f4,8012be10 +34a96f8,801c7672 +34a96fc,801c767a +34a9700,801c7950 +34a9704,8011bd50 +34a9708,8011bd38 +34a970c,801d8b9e +34a9710,801d8b92 +34a9718,e7000000 +34a9720,fa000080 +34a9724,ffffffff +34a9728,fb000000 +34a972c,5b3312ff +34a9730,df000000 +34a9738,e7000000 +34a9740,fa000060 +34a9744,ffffffff +34a9748,fb000000 +34a974c,ff7b00ff +34a9750,df000000 +34a9758,8041737c +34a975c,6000670 +34a9760,6000750 +34a977c,80419264 +34a9780,6000800 +34a9784,ffffffff +34a9788,3c505aff +34a97a0,80419128 +34a97a4,6000ae0 +34a97a8,c800ff +34a97c4,80419128 +34a97c8,6000ae0 +34a97cc,ff3200ff +34a97e8,80419128 +34a97ec,6000ae0 +34a97f0,96ffff +34a980c,80419128 +34a9810,6000ae0 +34a9814,ff9600ff +34a9830,80419128 +34a9834,6000ae0 +34a9838,c832ffff +34a9854,80419128 +34a9858,6000ae0 +34a985c,c8ff00ff +34a9878,80417e38 +34a987c,60000e0 +34a989c,804195dc +34a98a0,6000ca0 +34a98a4,6000f08 +34a98a8,ffaaffff +34a98ac,ff0064ff +34a98b0,ffffffff +34a98b4,8c7800ff +34a98b8,6e7467ff +34a98bc,262724ff +34a98c0,80416d34 +34a98c4,6000960 +34a98c8,6000c50 +34a98e4,80416bd0 +34a98e8,6000cb0 +34a98ec,6000e18 +34a9908,80416bd0 +34a990c,6001af0 +34a9910,6000e18 +34a992c,80416bd0 +34a9930,6002830 +34a9934,6000e18 +34a9950,80416bd0 +34a9954,6003610 +34a9958,6000e18 +34a9974,80416bd0 +34a9978,6004330 +34a997c,6000e18 +34a9998,80416bd0 +34a999c,6005220 +34a99a0,6000e18 +34a99bc,80417d24 +34a99c0,6000e90 +34a99e0,804172bc +34a99e4,6001290 +34a99e8,6001470 +34a9a04,804172bc +34a9a08,6001290 +34a9a0c,6001590 +34a9a28,80416ef0 +34a9a2c,6000990 +34a9a30,60008d0 +34a9a34,6000930 +34a9a38,6000a80 +34a9a4c,80416ef0 +34a9a50,6000990 +34a9a54,60008f0 +34a9a58,6000950 +34a9a5c,6000a80 +34a9a70,80416ef0 +34a9a74,6000990 +34a9a78,6000910 +34a9a7c,6000970 +34a9a80,6000a80 +34a9a94,80416ef0 +34a9a98,6000b90 +34a9a9c,6000ad0 +34a9aa0,6000b30 +34a9aa4,6000d98 +34a9ab8,80416ef0 +34a9abc,6000b90 +34a9ac0,6000af0 +34a9ac4,6000b50 +34a9ac8,6000d98 +34a9adc,80416ef0 +34a9ae0,6000b90 +34a9ae4,6000b10 +34a9ae8,6000b70 +34a9aec,6000d98 +34a9b00,80416e54 +34a9b04,60004d0 +34a9b24,80416e54 +34a9b28,60003c0 +34a9b48,80416e54 +34a9b4c,6000a50 +34a9b6c,80416e54 +34a9b70,6000580 +34a9b90,80416e54 +34a9b94,6000ee0 +34a9bb4,80416e54 +34a9bb8,60009a0 +34a9bd8,80416e54 +34a9bdc,6000b70 +34a9bfc,80416fe0 +34a9c00,6001850 +34a9c04,6001750 +34a9c08,6001790 +34a9c0c,60019a0 +34a9c10,60017b0 +34a9c14,6001a28 +34a9c18,60017d0 +34a9c1c,6001ad8 +34a9c20,80416fe0 +34a9c24,6001850 +34a9c28,6001770 +34a9c2c,60017f0 +34a9c30,60019a0 +34a9c34,6001810 +34a9c38,6001a28 +34a9c3c,6001830 +34a9c40,6001ad8 +34a9c44,80416e54 +34a9c48,6000f60 +34a9c68,80416e54 +34a9c6c,6000340 +34a9c8c,80416e54 +34a9c90,6000b90 +34a9cb0,80416e54 +34a9cb4,6001830 +34a9cd4,80416b34 +34a9cd8,60004b0 +34a9cf8,80416bd0 +34a9cfc,6000fd0 +34a9d00,6001008 +34a9d1c,80418320 +34a9d20,6000aa0 +34a9d24,6000a20 +34a9d28,6000a60 +34a9d2c,6000cc8 +34a9d40,80418320 +34a9d44,6000aa0 +34a9d48,6000a40 +34a9d4c,6000a80 +34a9d50,6000cc8 +34a9d64,80416e54 +34a9d68,6000c70 +34a9d88,80416e54 +34a9d8c,6000750 +34a9dac,80416e54 +34a9db0,6001240 +34a9dd0,8041737c +34a9dd4,60008c0 +34a9dd8,6000af8 +34a9df4,8041737c +34a9df8,6001060 +34a9dfc,6001288 +34a9e18,8041737c +34a9e1c,6000ac0 +34a9e20,6000d50 +34a9e3c,80416e54 +34a9e40,60007e0 +34a9e60,80416e54 +34a9e64,6000940 +34a9e84,80416e54 +34a9e88,6000a30 +34a9ea8,80416e54 +34a9eac,6000990 +34a9ecc,8041737c +34a9ed0,6000d80 +34a9ed4,6001010 +34a9ef0,8041848c +34a9ef4,6001438 +34a9ef8,6001270 +34a9efc,60012d0 +34a9f00,6001790 +34a9f04,6001330 +34a9f08,6001848 +34a9f14,8041848c +34a9f18,6001438 +34a9f1c,6001290 +34a9f20,60012f0 +34a9f24,6001790 +34a9f28,6001388 +34a9f2c,6001848 +34a9f38,8041848c +34a9f3c,6001438 +34a9f40,60012b0 +34a9f44,6001310 +34a9f48,6001790 +34a9f4c,60013e0 +34a9f50,6001848 +34a9f5c,8041865c +34a9f60,6000fb0 +34a9f64,60011c8 +34a9f80,8041737c +34a9f84,6000cc0 +34a9f88,6000d60 +34a9fa4,80416ef0 +34a9fa8,6001560 +34a9fac,60014e0 +34a9fb0,6001520 +34a9fb4,6001608 +34a9fc8,80416ef0 +34a9fcc,6001560 +34a9fd0,6001500 +34a9fd4,6001540 +34a9fd8,6001608 +34a9fec,80416e54 +34a9ff0,6000580 +34aa010,80417f50 +34aa014,6000600 +34aa034,80416e54 +34aa038,60007e0 +34aa058,80416e54 +34aa05c,60009d0 +34aa07c,80416e54 +34aa080,60008e0 +34aa0a0,80417c1c +34aa0a4,6000600 +34aa0c4,804175c0 +34aa0c8,6001630 +34aa0cc,60015f0 +34aa0d0,6001948 +34aa0e8,80417494 +34aa0ec,60008e0 +34aa0f0,6000ae0 +34aa10c,8041737c +34aa110,60008e0 +34aa114,6000b58 +34aa130,8041737c +34aa134,6001630 +34aa138,6001a98 +34aa154,80416e54 +34aa158,6000810 +34aa178,8041781c +34aa17c,6001540 +34aa180,60014c0 +34aa184,6001860 +34aa188,6001500 +34aa19c,8041781c +34aa1a0,6001540 +34aa1a4,60014e0 +34aa1a8,6001860 +34aa1ac,6001520 +34aa1c0,804175c0 +34aa1c4,60005e0 +34aa1c8,6000560 +34aa1cc,6000768 +34aa1e4,804175c0 +34aa1e8,60005e0 +34aa1ec,6000580 +34aa1f0,6000768 +34aa208,804175c0 +34aa20c,60005e0 +34aa210,60005a0 +34aa214,6000768 +34aa22c,804175c0 +34aa230,60005e0 +34aa234,60005c0 +34aa238,6000768 +34aa250,80416e54 +34aa254,60009d0 +34aa274,8041737c +34aa278,6000bc0 +34aa27c,6000e58 +34aa298,8041737c +34aa29c,60013d0 +34aa2a0,60016b0 +34aa2bc,8041737c +34aa2c0,6000680 +34aa2c4,6000768 +34aa2e0,80416e54 +34aa2e4,60008b0 +34aa304,80416e54 +34aa308,60009d0 +34aa328,8041737c +34aa32c,6000f00 +34aa330,6001188 +34aa34c,80417c1c +34aa350,60006e0 +34aa370,8041737c +34aa374,60009c0 +34aa378,6000af0 +34aa394,80416e54 +34aa398,6000960 +34aa3b8,80416c90 +34aa3bc,6000440 +34aa3dc,8041737c +34aa3e0,6000d60 +34aa3e4,6001060 +34aa400,80416b34 +34aa404,60014f8 +34aa424,80416b34 +34aa428,6001398 +34aa448,80416b34 +34aa44c,60010e8 +34aa46c,804175c0 +34aa470,6001630 +34aa474,6001610 +34aa478,6001948 +34aa490,80416e54 +34aa494,6001850 +34aa4b4,804176f0 +34aa4b8,6000ae0 +34aa4bc,6000ca0 +34aa4c0,6000d00 +34aa4d8,804176f0 +34aa4dc,6000ae0 +34aa4e0,6000cc0 +34aa4e4,6000d00 +34aa4fc,804176f0 +34aa500,6000ae0 +34aa504,6000ce0 +34aa508,6000d00 +34aa520,80418800 +34aa524,6000330 +34aa528,6000438 +34aa544,80418058 +34aa548,6000920 +34aa54c,60009e0 +34aa550,6000a40 +34aa568,80418058 +34aa56c,6000920 +34aa570,6000a00 +34aa574,6000a40 +34aa58c,80418058 +34aa590,6000920 +34aa594,6000a20 +34aa598,6000a40 +34aa5b0,8041898c +34aa5b4,6000c60 +34aa5b8,6000f08 +34aa5d4,8041737c +34aa5d8,6000830 +34aa5dc,6000b20 +34aa5f8,8041737c +34aa5fc,6000830 +34aa600,6000a70 +34aa61c,80418f20 +34aa620,6000990 +34aa624,6000be0 +34aa628,6000cf0 +34aa62c,6000950 +34aa640,80418b5c +34aa644,6000bd0 +34aa648,6000db8 +34aa64c,6000ef0 +34aa664,80417960 +34aa668,6000b70 +34aa66c,6000af0 +34aa670,6000f48 +34aa674,6000b30 +34aa678,6000ff0 +34aa688,80417abc +34aa68c,60005e0 +34aa690,60004a0 +34aa694,60006f0 +34aa698,6000540 +34aa6ac,80417abc +34aa6b0,60005e0 +34aa6b4,60004c0 +34aa6b8,60006f0 +34aa6bc,6000560 +34aa6d0,80417abc +34aa6d4,60005e0 +34aa6d8,60004e0 +34aa6dc,60006f0 +34aa6e0,6000580 +34aa6f4,80418f20 +34aa6f8,6000990 +34aa6fc,6000be0 +34aa700,6000cf0 +34aa704,6000970 +34aa718,8041781c +34aa71c,60005e0 +34aa720,6000500 +34aa724,60006f0 +34aa728,60005a0 +34aa73c,8041781c +34aa740,60005e0 +34aa744,6000520 +34aa748,60006f0 +34aa74c,60005c0 +34aa760,80417960 +34aa764,6000b70 +34aa768,6000b10 +34aa76c,6000f48 +34aa770,6000b50 +34aa774,6000ff0 +34aa784,80416e54 +34aa788,6000960 +34aa7a8,80418800 +34aa7ac,6004db0 +34aa7b0,6004eb8 +34aa7cc,80416e54 +34aa7d0,6000a30 +34aa7f0,80419264 +34aa7f4,60017c0 +34aa7f8,ffffffff +34aa7fc,3c505aff +34aa814,80419128 +34aa818,6000f70 +34aa81c,c800ff +34aa820,1 +34aa838,80419128 +34aa83c,6000f70 +34aa840,ff3200ff +34aa844,1 +34aa85c,80419128 +34aa860,6000f70 +34aa864,96ffff +34aa868,1 +34aa880,80419128 +34aa884,6000f70 +34aa888,ff9600ff +34aa88c,1 +34aa8a4,80419128 +34aa8a8,6000f70 +34aa8ac,c832ffff +34aa8b0,1 +34aa8c8,80419128 +34aa8cc,6000f70 +34aa8d0,c8ff00ff +34aa8d4,1 +34aa8ec,80419e58 +34aa8f0,60006a0 +34aa8f4,60008e0 +34aa8f8,6001280 +34aa8fc,ba3f3aff +34aa900,a5231eff +34aa904,1695d2ff +34aa908,54c7fff +34aa910,80417130 +34aa914,6001850 +34aa918,6001750 +34aa91c,6001790 +34aa920,60019a0 +34aa924,60017b0 +34aa928,6001a28 +34aa92c,60017d0 +34aa930,6001ad8 +34aa934,80419400 +34aa938,6001060 +34aa93c,94e97bff +34aa940,2ccf1aff +34aa958,80419400 +34aa95c,6000f00 +34aa960,fd9884ff +34aa964,ed1612ff +34aa97c,80419400 +34aa980,6000f40 +34aa984,4c9deeff +34aa988,77aeeff +34aa9a0,80419400 +34aa9a4,6001080 +34aa9a8,facd8fff +34aa9ac,f5b433ff +34aa9c4,80419400 +34aa9c8,6000fc0 +34aa9cc,9454ebff +34aa9d0,7a18ddff +34aa9e8,80419400 +34aa9ec,6000ff0 +34aa9f0,fad1faff +34aa9f4,e9b3efff +34aaa0c,80419400 +34aaa10,6001110 +34aaa14,fefb9cff +34aaa18,e3e312ff +34aaa30,80419400 +34aaa34,6001110 +34aaa38,ffffffff +34aaa3c,8c8c8cff +34aaa54,80419400 +34aaa58,6000dd0 +34aaa5c,6e7467ff +34aaa60,262724ff +34aaa78,80419400 +34aaa7c,6001080 +34aaa80,c79b42ff +34aaa84,9f7937ff +34aaa9c,804198b0 +34aaaa0,60006d0 +34aaaa4,6001590 +34aaaa8,94e97bff +34aaaac,2ccf1aff +34aaab0,ffffffff +34aaab4,8c7800ff +34aaac0,804198b0 +34aaac4,60006a0 +34aaac8,6001500 +34aaacc,fd9884ff +34aaad0,ed1612ff +34aaad4,ffffffff +34aaad8,8c7800ff +34aaae4,804198b0 +34aaae8,60008f0 +34aaaec,6001790 +34aaaf0,4c9deeff +34aaaf4,77aeeff +34aaaf8,ffffffff +34aaafc,8c7800ff +34aab08,80419b84 +34aab0c,6000e30 +34aab10,60016d0 +34aab14,facd8fff +34aab18,f5b433ff +34aab1c,ffffffff +34aab20,8c7800ff +34aab2c,804198b0 +34aab30,6000490 +34aab34,6001350 +34aab38,9454ebff +34aab3c,7a18ddff +34aab40,ffffffff +34aab44,8c7800ff +34aab50,804195dc +34aab54,6000ca0 +34aab58,6000f08 +34aab5c,6e7467ff +34aab60,262724ff +34aab64,ffffffff +34aab68,8c7800ff +34aab74,8041a130 +34aab78,6000da0 +34aab7c,5a5affff +34aab98,8041a268 +34aab9c,6000960 +34aaba0,ffa000ff +34aabbc,8041a268 +34aabc0,6000960 +34aabc4,ffa000ff +34aabc8,1 +34aabe0,8041a3f8 +34aabe4,6000e10 +34aabe8,ffa000ff +34aabec,1 +34aac04,8041a3f8 +34aac08,6000e10 +34aac0c,ffa000ff +34aac28,8041a590 +34aac2c,60004d0 +34aac30,6000f80 +34aac4c,8041a590 +34aac50,6000370 +34aac54,6000e40 +34aac70,8041a590 +34aac74,60001b0 +34aac78,6000c30 +34aac94,8041a590 +34aac98,6000330 +34aac9c,6000e00 +34aacb8,8041a590 +34aacbc,60002d0 +34aacc0,6000d60 +34aacdc,8041a590 +34aace0,6000380 +34aace4,6000e40 +34aad00,8041a674 +34aad04,6000b50 +34aad08,6001290 +34aad0c,ffffa0ff +34aad10,ff00ff +34aad24,8041a674 +34aad28,6000620 +34aad2c,6000920 +34aad30,ffaaffff +34aad34,ff0064ff +34aad48,8041a674 +34aad4c,6000b00 +34aad50,60012f0 +34aad54,32ffffff +34aad58,320096ff +34aad6c,80418d48 +34aad70,6000ef0 +34aad90,8041a588 +34aadb4,8041a960 +34aadb8,6000000 +34aadbc,60007b0 +34aadc0,6000fd8 +34aadc4,60009f8 +34aadc8,6001438 +34aadcc,ffffff80 +34aadd0,ff +34aadd8,804181ac +34aaddc,6000aa0 +34aade0,6000a40 +34aade4,6000a80 +34aade8,6000cc8 +34aadfc,ffff0000 +34aae00,2051f +34aae04,ffffff02 +34aae08,50800ff +34aae0c,ff03ffff +34aae10,3 +34aae14,5090064 +34aae18,ff05ffff +34aae1c,5 +34aae20,51fffff +34aae24,ff01ffff +34aae28,1 +34aae2c,50100ff +34aae30,60501 +34aae34,ff0006 +34aae38,ffff0000 +34aae3c,100a03 +34aae40,ffff10 +34aae44,509c8c8 +34aae48,90511 +34aae4c,c8c80009 +34aae50,508c832 +34aae54,ff0b0a08 +34aae58,c832ff0b +34aae5c,51cc8c8 +34aae60,2051c +34aae64,c8c80002 +34aae68,50cff3c +34aae6c,6060c +34aae70,ff3c0006 +34aae74,51b0064 +34aae78,ff09031b +34aae7c,64ff09 +34aae80,505ff3c +34aae84,2ffff +34aae88,2 +34aae8c,50200ff +34aae90,dffff +34aae94,d +34aae98,ffff0000 +34aae9c,51f +34aaea0,ffff00 +34aaea4,50ac8c8 +34aaea8,8ffff +34aaeac,8 +34aaeb0,ffff0000 +34aaeb4,170500 +34aaeb8,64ff17 +34aaebc,50bc8c8 +34aaec0,11ffff +34aaec4,11 +34aaec8,51200ff +34aaecc,ff08ffff +34aaed0,8 +34aaed4,509ff3c +34aaed8,e0501 +34aaedc,ff3c000e +34aaee0,ffff0000 +34aaee4,c050b +34aaee8,c832ff0c +34aaeec,ffff0000 +34aaef0,30502 +34aaef4,64ff03 +34aaef8,50e00ff +34aaefc,6ffff +34aaf00,6 +34aaf08,506 +34aaf0c,8050602 +34aaf10,5070506 +34aaf14,3020000 +34aaf18,903 +34aaf1c,4040203 +34aaf24,6060000 +34aaf44,4d8e90a9 +34aaf48,ce2000 +34aaf4c,8041bd7c +34aaf50,8041ac94 +34aaf54,ffffffff +34aaf58,b000000 +34aaf60,4d8c90aa +34aaf64,bb1200 +34aaf68,8041b7e0 +34aaf6c,8041ac94 +34aaf70,ffffffff +34aaf74,c000000 +34aaf7c,4d0990ab +34aaf80,d92800 +34aaf84,8041bf2c +34aaf88,8041ac94 +34aaf8c,ffffffff +34aaf90,ff000000 +34aaf98,53030031 +34aaf9c,e9350c +34aafa0,8041b7e0 +34aafa4,8041ac94 +34aafa8,ffffffff +34aafac,ff000000 +34aafb4,53060030 +34aafb8,e7330c +34aafbc,8041b7e0 +34aafc0,8041ac94 +34aafc4,ffffffff +34aafc8,ff000000 +34aafd0,530e0035 +34aafd4,e8340c +34aafd8,8041b7e0 +34aafdc,8041ac94 +34aafe0,ffffffff +34aafe4,ff000000 +34aafec,4d0090ac +34aaff0,c71b00 +34aaff4,8041b7e0 +34aaff8,8041ac94 +34aaffc,ffffffff +34ab000,d000000 +34ab008,530a0036 +34ab00c,dd2d0c +34ab010,8041b7e0 +34ab014,8041ac94 +34ab018,ffffffff +34ab01c,ff000000 +34ab024,530b004f +34ab028,dd2e0c +34ab02c,8041b7e0 +34ab030,8041ac94 +34ab034,ffffffff +34ab038,ff000000 +34ab040,530f0039 +34ab044,ea360c +34ab048,8041b7e0 +34ab04c,8041ac94 +34ab050,ffffffff +34ab054,ff000000 +34ab05c,53230069 +34ab060,ef3b0c +34ab064,8041b7e0 +34ab068,8041b290 +34ab06c,23ffff +34ab070,ff000000 +34ab078,5308003a +34ab07c,de2f0c +34ab080,8041b7e0 +34ab084,8041ac94 +34ab088,ffffffff +34ab08c,ff000000 +34ab094,53110038 +34ab098,f6410c +34ab09c,8041b7e0 +34ab0a0,8041ac94 +34ab0a4,ffffffff +34ab0a8,ff000000 +34ab0b0,532f0002 +34ab0b4,1095e0c +34ab0b8,8041b7e0 +34ab0bc,8041b3bc +34ab0c0,2fffff +34ab0c4,ff000000 +34ab0cc,53140042 +34ab0d0,c6010c +34ab0d4,8041b7e0 +34ab0d8,8041ac94 +34ab0dc,ffffffff +34ab0e0,ff000000 +34ab0e8,53150043 +34ab0ec,eb380c +34ab0f0,8041b7e0 +34ab0f4,8041ac94 +34ab0f8,ffffffff +34ab0fc,ff000000 +34ab104,53160044 +34ab108,eb370c +34ab10c,8041b7e0 +34ab110,8041ac94 +34ab114,ffffffff +34ab118,ff000000 +34ab120,53170045 +34ab124,eb390c +34ab128,8041b7e0 +34ab12c,8041ac94 +34ab130,ffffffff +34ab134,ff000000 +34ab13c,53180046 +34ab140,c6010c +34ab144,8041b7e0 +34ab148,8041ac94 +34ab14c,ffffffff +34ab150,ff000000 +34ab158,531a0098 +34ab15c,df300c +34ab160,8041b7e0 +34ab164,8041ac94 +34ab168,ffffffff +34ab16c,ff000000 +34ab174,531b0099 +34ab178,10b450c +34ab17c,8041be74 +34ab180,8041ac94 +34ab184,ffffffff +34ab188,ff000000 +34ab190,53100048 +34ab194,f33e00 +34ab198,8041b7e0 +34ab19c,8041ac94 +34ab1a0,ffffffff +34ab1a4,ff000000 +34ab1ac,53250010 +34ab1b0,1364f0c +34ab1b4,8041b7e0 +34ab1b8,8041b3bc +34ab1bc,25ffff +34ab1c0,ff000000 +34ab1c8,53260011 +34ab1cc,135320c +34ab1d0,8041b7e0 +34ab1d4,8041b3bc +34ab1d8,26ffff +34ab1dc,ff000000 +34ab1e4,5322000b +34ab1e8,109440c +34ab1ec,8041b7e0 +34ab1f0,8041b3bc +34ab1f4,22ffff +34ab1f8,ff000000 +34ab200,53240012 +34ab204,134310c +34ab208,8041b7e0 +34ab20c,8041b3bc +34ab210,24ffff +34ab214,ff000000 +34ab21c,53270013 +34ab220,137500c +34ab224,8041b7e0 +34ab228,8041b3bc +34ab22c,27ffff +34ab230,ff000000 +34ab238,532b0017 +34ab23c,138510c +34ab240,8041b7e0 +34ab244,8041b3bc +34ab248,2bffff +34ab24c,ff000000 +34ab254,532d9001 +34ab258,da290c +34ab25c,8041b7e0 +34ab260,8041b3bc +34ab264,2dffff +34ab268,ff000000 +34ab270,532e000b +34ab274,109440c +34ab278,8041b7e0 +34ab27c,8041b3bc +34ab280,2effff +34ab284,ff000000 +34ab28c,53300003 +34ab290,141540c +34ab294,8041b7e0 +34ab298,8041b3bc +34ab29c,30ffff +34ab2a0,ff000000 +34ab2a8,53310004 +34ab2ac,140530c +34ab2b0,8041b7e0 +34ab2b4,8041b3bc +34ab2b8,31ffff +34ab2bc,ff000000 +34ab2c4,53320005 +34ab2c8,f5400c +34ab2cc,8041b7e0 +34ab2d0,8041b3bc +34ab2d4,32ffff +34ab2d8,ff000000 +34ab2e0,53330008 +34ab2e4,143560c +34ab2e8,8041b7e0 +34ab2ec,8041b3bc +34ab2f0,33ffff +34ab2f4,ff000000 +34ab2fc,53340009 +34ab300,146570c +34ab304,8041b7e0 +34ab308,8041b3bc +34ab30c,34ffff +34ab310,ff000000 +34ab318,5335000d +34ab31c,1495a0c +34ab320,8041b7e0 +34ab324,8041b3bc +34ab328,35ffff +34ab32c,ff000000 +34ab334,5336000e +34ab338,13f520c +34ab33c,8041b7e0 +34ab340,8041b3bc +34ab344,36ffff +34ab348,ff000000 +34ab350,5337000a +34ab354,142550c +34ab358,8041b7e0 +34ab35c,8041b3bc +34ab360,37ffff +34ab364,ff000000 +34ab36c,533b00a4 +34ab370,18d740c +34ab374,8041b7e0 +34ab378,8041ac94 +34ab37c,ffffffff +34ab380,ff000000 +34ab388,533d004b +34ab38c,f8430c +34ab390,8041b7e0 +34ab394,8041ac94 +34ab398,ffffffff +34ab39c,ff000000 +34ab3a4,533e90ad +34ab3a8,cb1d00 +34ab3ac,8041b7e0 +34ab3b0,8041ac94 +34ab3b4,ffffffff +34ab3b8,ff000000 +34ab3c0,533f90ae +34ab3c4,dc2c00 +34ab3c8,8041b7e0 +34ab3cc,8041ac94 +34ab3d0,ffffffff +34ab3d4,ff000000 +34ab3dc,5340004e +34ab3e0,ee3a0c +34ab3e4,8041b7e0 +34ab3e8,8041ac94 +34ab3ec,ffffffff +34ab3f0,ff000000 +34ab3f8,534290af +34ab3fc,f23c0c +34ab400,8041b7e0 +34ab404,8041ac94 +34ab408,ffffffff +34ab40c,ff000000 +34ab414,534390b0 +34ab418,f23d0c +34ab41c,8041b7e0 +34ab420,8041ac94 +34ab424,ffffffff +34ab428,ff000000 +34ab430,53450053 +34ab434,118470c +34ab438,8041b7e0 +34ab43c,8041ac94 +34ab440,ffffffff +34ab444,ff000000 +34ab44c,53460054 +34ab450,1575f0c +34ab454,8041b7e0 +34ab458,8041ac94 +34ab45c,ffffffff +34ab460,ff000000 +34ab468,534b0056 +34ab46c,be160c +34ab470,8041b7e0 +34ab474,8041ac94 +34ab478,ffffffff +34ab47c,ff000000 +34ab484,534c0057 +34ab488,be170c +34ab48c,8041b7e0 +34ab490,8041ac94 +34ab494,ffffffff +34ab498,ff000000 +34ab4a0,534d0058 +34ab4a4,bf180c +34ab4a8,8041b7e0 +34ab4ac,8041ac94 +34ab4b0,ffffffff +34ab4b4,ff000000 +34ab4bc,534e0059 +34ab4c0,bf190c +34ab4c4,8041b7e0 +34ab4c8,8041ac94 +34ab4cc,ffffffff +34ab4d0,ff000000 +34ab4d8,534f005a +34ab4dc,bf1a0c +34ab4e0,8041b7e0 +34ab4e4,8041ac94 +34ab4e8,ffffffff +34ab4ec,ff000000 +34ab4f4,5351005b +34ab4f8,12d490c +34ab4fc,8041b7e0 +34ab500,8041ac94 +34ab504,ffffffff +34ab508,ff000000 +34ab510,5352005c +34ab514,12d4a0c +34ab518,8041b7e0 +34ab51c,8041ac94 +34ab520,ffffffff +34ab524,ff000000 +34ab52c,535300cd +34ab530,db2a0c +34ab534,8041b7e0 +34ab538,8041b454 +34ab53c,1ffff +34ab540,ff000000 +34ab548,535400ce +34ab54c,db2b0c +34ab550,8041b7e0 +34ab554,8041b454 +34ab558,2ffff +34ab55c,ff000000 +34ab564,536f0068 +34ab568,c8210c +34ab56c,8041b7e0 +34ab570,8041ac94 +34ab574,ffffffff +34ab578,ff000000 +34ab580,5370007b +34ab584,d7240c +34ab588,8041b7e0 +34ab58c,8041ac94 +34ab590,ffffffff +34ab594,ff000000 +34ab59c,5341004a +34ab5a0,10e460c +34ab5a4,8041b7e0 +34ab5a8,8041b1f0 +34ab5ac,ffffffff +34ab5b0,ff000000 +34ab5b8,4d5890b3 +34ab5bc,1194800 +34ab5c0,8041bdf4 +34ab5c4,8041ac94 +34ab5c8,ffffffff +34ab5cc,10000000 +34ab5d4,3d7200c6 +34ab5d8,bd1310 +34ab5dc,8041bef0 +34ab5e0,8041b274 +34ab5e4,ffffffff +34ab5e8,ff000000 +34ab5f0,3e7a00c2 +34ab5f4,bd1410 +34ab5f8,8041bef0 +34ab5fc,8041ac9c +34ab600,ffffffff +34ab604,ff000000 +34ab60c,537400c7 +34ab610,b90a02 +34ab614,8041b7e0 +34ab618,8041ac94 +34ab61c,ffffffff +34ab620,ff000000 +34ab628,53750067 +34ab62c,b80b00 +34ab630,8041b7e0 +34ab634,8041ac94 +34ab638,ffffffff +34ab63c,ff000000 +34ab644,53760066 +34ab648,c81c00 +34ab64c,8041b7e0 +34ab650,8041ac94 +34ab654,ffffffff +34ab658,ff000000 +34ab660,53770060 +34ab664,aa020d +34ab668,8041b7e0 +34ab66c,8041ac94 +34ab670,ffffffff +34ab674,ff000000 +34ab67c,53780052 +34ab680,cd1e00 +34ab684,8041b7e0 +34ab688,8041ac94 +34ab68c,ffffffff +34ab690,ff000000 +34ab698,53790052 +34ab69c,cd1f00 +34ab6a0,8041b7e0 +34ab6a4,8041ac94 +34ab6a8,ffffffff +34ab6ac,ff000000 +34ab6b4,5356005e +34ab6b8,d1220c +34ab6bc,8041b7e0 +34ab6c0,8041b248 +34ab6c4,1ffff +34ab6c8,ff000000 +34ab6d0,5357005f +34ab6d4,d1230c +34ab6d8,8041b7e0 +34ab6dc,8041b248 +34ab6e0,2ffff +34ab6e4,ff000000 +34ab6ec,5321009a +34ab6f0,da290c +34ab6f4,8041b7e0 +34ab6f8,8041b3bc +34ab6fc,21ffff +34ab700,ff000000 +34ab708,4d8390b1 +34ab70c,b70900 +34ab710,8041b7e0 +34ab714,8041ac94 +34ab718,ffffffff +34ab71c,3000000 +34ab724,4d9290b2 +34ab728,d82500 +34ab72c,8041bd04 +34ab730,8041ac94 +34ab734,ffffffff +34ab738,8000000 +34ab740,4d9390b2 +34ab744,d82600 +34ab748,8041bd04 +34ab74c,8041ac94 +34ab750,ffffffff +34ab754,9000000 +34ab75c,4d9490b2 +34ab760,d82700 +34ab764,8041bd04 +34ab768,8041ac94 +34ab76c,ffffffff +34ab770,a000000 +34ab778,4d84006f +34ab77c,17f6d00 +34ab780,8041b7e0 +34ab784,8041ac94 +34ab788,ffffffff +34ab794,4d8500cc +34ab798,17f6e00 +34ab79c,8041b7e0 +34ab7a0,8041ac94 +34ab7a4,ffffffff +34ab7a8,1000000 +34ab7b0,4d8600f0 +34ab7b4,17f6f00 +34ab7b8,8041b7e0 +34ab7bc,8041ac94 +34ab7c0,ffffffff +34ab7c4,2000000 +34ab7cc,3d7200c6 +34ab7d0,bd1310 +34ab7d4,8041b7e0 +34ab7d8,8041ac9c +34ab7dc,ffffffff +34ab7e0,ff000000 +34ab7e8,53820098 +34ab7ec,df300c +34ab7f0,8041b7e0 +34ab7f4,8041ac94 +34ab7f8,ffffffff +34ab7fc,ff000000 +34ab804,53280014 +34ab808,1505b0c +34ab80c,8041b7e0 +34ab810,8041b3bc +34ab814,28ffff +34ab818,ff000000 +34ab820,53290015 +34ab824,1515c0c +34ab828,8041b7e0 +34ab82c,8041b3bc +34ab830,29ffff +34ab834,ff000000 +34ab83c,532a0016 +34ab840,1525d0c +34ab844,8041b7e0 +34ab848,8041b3bc +34ab84c,2affff +34ab850,ff000000 +34ab858,53500079 +34ab85c,147580c +34ab860,8041b7e0 +34ab864,8041ac94 +34ab868,ffffffff +34ab86c,ff000000 +34ab874,4d8700f1 +34ab878,17f7100 +34ab87c,8041b7e0 +34ab880,8041ac94 +34ab884,ffffffff +34ab888,14000000 +34ab890,4d8800f2 +34ab894,17f7200 +34ab898,8041b7e0 +34ab89c,8041ac94 +34ab8a0,ffffffff +34ab8a4,13000000 +34ab8ac,533d000c +34ab8b0,f8430c +34ab8b4,8041b7e0 +34ab8b8,8041ad9c +34ab8bc,ffffffff +34ab8c0,ff000000 +34ab8c8,53040070 +34ab8cc,158600c +34ab8d0,8041b7e0 +34ab8d4,8041ac94 +34ab8d8,ffffffff +34ab8dc,ff000000 +34ab8e4,530c0071 +34ab8e8,158610c +34ab8ec,8041b7e0 +34ab8f0,8041ac94 +34ab8f4,ffffffff +34ab8f8,ff000000 +34ab900,53120072 +34ab904,158620c +34ab908,8041b7e0 +34ab90c,8041ac94 +34ab910,ffffffff +34ab914,ff000000 +34ab91c,5b7100b4 +34ab920,15c630e +34ab924,8041b7e0 +34ab928,8041ac94 +34ab92c,ffffffff +34ab930,ff000000 +34ab938,530500ad +34ab93c,15d640c +34ab940,8041b7e0 +34ab944,8041ac94 +34ab948,ffffffff +34ab94c,ff000000 +34ab954,530d00ae +34ab958,15d650c +34ab95c,8041b7e0 +34ab960,8041ac94 +34ab964,ffffffff +34ab968,ff000000 +34ab970,531300af +34ab974,15d660c +34ab978,8041b7e0 +34ab97c,8041ac94 +34ab980,ffffffff +34ab984,ff000000 +34ab98c,53470007 +34ab990,17b6c0c +34ab994,8041b7e0 +34ab998,8041ac94 +34ab99c,ffffffff +34ab9a0,ff000000 +34ab9a8,53480007 +34ab9ac,17b6c0c +34ab9b0,8041b7e0 +34ab9b4,8041ac94 +34ab9b8,ffffffff +34ab9bc,ff000000 +34ab9c4,4d8a90ac +34ab9c8,c71b00 +34ab9cc,8041b7e0 +34ab9d0,8041ac94 +34ab9d4,ffffffff +34ab9d8,d000000 +34ab9e0,4d8b90ac +34ab9e4,c71b00 +34ab9e8,8041b7e0 +34ab9ec,8041ac94 +34ab9f0,ffffffff +34ab9f4,d000000 +34ab9fc,4d8c90aa +34aba00,bb1200 +34aba04,8041b7e0 +34aba08,8041ac94 +34aba0c,ffffffff +34aba10,c000000 +34aba18,4d8d90aa +34aba1c,bb1200 +34aba20,8041b7e0 +34aba24,8041ac94 +34aba28,ffffffff +34aba2c,c000000 +34aba34,4d0290a9 +34aba38,ce2000 +34aba3c,8041bd7c +34aba40,8041ac94 +34aba44,ffffffff +34aba48,b000000 +34aba50,4d8f90a9 +34aba54,ce2000 +34aba58,8041bd7c +34aba5c,8041ac94 +34aba60,ffffffff +34aba64,b000000 +34aba6c,4d9090a9 +34aba70,ce2000 +34aba74,8041bd7c +34aba78,8041ac94 +34aba7c,ffffffff +34aba80,b000000 +34aba88,4d9190a9 +34aba8c,ce2000 +34aba90,8041bd7c +34aba94,8041ac94 +34aba98,ffffffff +34aba9c,b000000 +34abaa4,4d9590b3 +34abaa8,1194800 +34abaac,8041bdf4 +34abab0,8041ac94 +34abab4,ffffffff +34abab8,10000000 +34abac0,4d9690ab +34abac4,d92800 +34abac8,8041bf2c +34abacc,8041ac94 +34abad0,ffffffff +34abad4,ff000000 +34abadc,4d9790ab +34abae0,d92800 +34abae4,8041bf2c +34abae8,8041ac94 +34abaec,ffffffff +34abaf0,ff000000 +34abaf8,53190047 +34abafc,f43f0c +34abb00,8041b7e0 +34abb04,8041ac94 +34abb08,ffffffff +34abb0c,ff000000 +34abb14,531d007a +34abb18,174680c +34abb1c,8041b7e0 +34abb20,8041ac94 +34abb24,ffffffff +34abb28,ff000000 +34abb30,531c005d +34abb34,173670c +34abb38,8041b7e0 +34abb3c,8041ac94 +34abb40,ffffffff +34abb44,ff000000 +34abb4c,53200097 +34abb50,1766a0c +34abb54,8041b7e0 +34abb58,8041ac94 +34abb5c,ffffffff +34abb60,ff000000 +34abb68,531e00f9 +34abb6c,176700c +34abb70,8041b7e0 +34abb74,8041ac94 +34abb78,ffffffff +34abb7c,ff000000 +34abb84,534100f3 +34abb88,aa020d +34abb8c,8041bfdc +34abb90,8041adf4 +34abb94,10ffff +34abb98,ff000000 +34abb9c,8041b684 +34abba0,4d8400f4 +34abba4,17f6d00 +34abba8,8041b7e0 +34abbac,8041ac94 +34abbb0,ffffffff +34abbb4,ff000000 +34abbbc,4d8500f5 +34abbc0,17f6e00 +34abbc4,8041b7e0 +34abbc8,8041ac94 +34abbcc,ffffffff +34abbd0,ff000000 +34abbd8,4d8600f6 +34abbdc,17f6f00 +34abbe0,8041b7e0 +34abbe4,8041ac94 +34abbe8,ffffffff +34abbec,ff000000 +34abbf4,4d8700f7 +34abbf8,17f7100 +34abbfc,8041b7e0 +34abc00,8041ac94 +34abc04,ffffffff +34abc08,ff000000 +34abc10,537a00fa +34abc14,bd1410 +34abc18,8041bef0 +34abc1c,8041ac9c +34abc20,ffffffff +34abc24,ff000000 +34abc2c,53980090 +34abc30,c71b00 +34abc34,8041b7e0 +34abc38,8041ac94 +34abc3c,ffffffff +34abc40,ff000000 +34abc48,53990091 +34abc4c,c71b00 +34abc50,8041b7e0 +34abc54,8041ac94 +34abc58,ffffffff +34abc5c,ff000000 +34abc64,539a00a7 +34abc68,bb1200 +34abc6c,8041b7e0 +34abc70,8041ac94 +34abc74,ffffffff +34abc78,ff000000 +34abc80,539b00a8 +34abc84,bb1200 +34abc88,8041b7e0 +34abc8c,8041ac94 +34abc90,ffffffff +34abc94,ff000000 +34abc9c,5349006c +34abca0,17b730c +34abca4,8041b7e0 +34abca8,8041ac94 +34abcac,ffffffff +34abcb0,ff000000 +34abcb8,53419002 +34abcbc,c +34abcc0,8041b7e0 +34abcc4,8041b214 +34abcc8,ffffffff +34abccc,ff000000 +34abcd4,3e4190c2 +34abcd8,bd1410 +34abcdc,8041b7e0 +34abce0,8041ac9c +34abce4,ffffffff +34abce8,ff000000 +34abcf0,3e4190c6 +34abcf4,bd1310 +34abcf8,8041b7e0 +34abcfc,8041ac9c +34abd00,ffffffff +34abd04,ff000000 +34abd0c,534190fa +34abd10,bd1410 +34abd14,8041b7e0 +34abd18,8041ac9c +34abd1c,ffffffff +34abd20,ff000000 +34abd28,ffffffff +34abd2c,dd2d0c +34abd30,8041b7f0 +34abd34,8041ac94 +34abd38,ffffffff +34abd3c,ff000000 +34abd44,ffffffff +34abd48,147580c +34abd4c,8041b85c +34abd50,8041ac94 +34abd54,ffffffff +34abd58,ff000000 +34abd60,ffffffff +34abd64,bf180c +34abd68,8041b8d0 +34abd6c,8041ac94 +34abd70,ffffffff +34abd74,ff000000 +34abd7c,ffffffff +34abd80,e9350c +34abd84,8041b948 +34abd88,8041ac94 +34abd8c,ffffffff +34abd90,ff000000 +34abd98,ffffffff +34abd9c,e7330c +34abda0,8041b9bc +34abda4,8041ac94 +34abda8,ffffffff +34abdac,ff000000 +34abdb4,ffffffff +34abdb8,d1220c +34abdbc,8041ba3c +34abdc0,8041ac94 +34abdc4,ffffffff +34abdc8,ff000000 +34abdd0,ffffffff +34abdd4,db2a0c +34abdd8,8041babc +34abddc,8041ac94 +34abde0,ffffffff +34abde4,ff000000 +34abdec,ffffffff +34abdf0,bb1200 +34abdf4,8041bb30 +34abdf8,8041ac94 +34abdfc,ffffffff +34abe00,ff000000 +34abe08,ffffffff +34abe0c,c71b00 +34abe10,8041bb94 +34abe14,8041ac94 +34abe18,ffffffff +34abe1c,ff000000 +34abe24,ffffffff +34abe28,d9280c +34abe2c,8041bc54 +34abe30,8041ac94 +34abe34,ffffffff +34abe38,ff000000 +34abe40,ffffffff +34abe44,cd1e0c +34abe48,8041bbf8 +34abe4c,8041ac94 +34abe50,ffffffff +34abe54,ff000000 +34abe5c,ffffffff +34abe60,10e460c +34abe64,8041bc8c +34abe68,8041ac94 +34abe6c,ffffffff +34abe70,ff000000 +34abe78,534190a0 +34abe7c,c6010c +34abe80,8041b7e0 +34abe84,8041ada8 +34abe88,15ffff +34abe8c,ff000000 +34abe94,534190a1 +34abe98,c6010c +34abe9c,8041b7e0 +34abea0,8041ada8 +34abea4,16ffff +34abea8,ff000000 +34abeb0,534190a2 +34abeb4,c6010c +34abeb8,8041b7e0 +34abebc,8041ada8 +34abec0,17ffff +34abec4,ff000000 +34abecc,534190a3 +34abed0,1776b0c +34abed4,8041b7e0 +34abed8,8041ada8 +34abedc,18ffff +34abee0,ff000000 +34abee8,534190a4 +34abeec,f43f0c +34abef0,8041b7e0 +34abef4,8041ada8 +34abef8,19ffff +34abefc,ff000000 +34abf04,534190a5 +34abf08,173670c +34abf0c,8041b7e0 +34abf10,8041ada8 +34abf14,1cffff +34abf18,ff000000 +34abf20,534190a6 +34abf24,174680c +34abf28,8041b7e0 +34abf2c,8041ada8 +34abf30,1dffff +34abf34,ff000000 +34abf3c,534190a7 +34abf40,176700c +34abf44,8041b7e0 +34abf48,8041ada8 +34abf4c,1effff +34abf50,ff000000 +34abf58,534190a8 +34abf5c,1766a0c +34abf60,8041b7e0 +34abf64,8041ada8 +34abf68,20ffff +34abf6c,ff000000 +34abf74,53410006 +34abf78,b90a02 +34abf7c,8041bfdc +34abf80,8041ade0 +34abf84,10003 +34abf88,ff000000 +34abf90,5341001c +34abf94,b90a02 +34abf98,8041bfdc +34abf9c,8041ade0 +34abfa0,10004 +34abfa4,ff000000 +34abfac,5341001d +34abfb0,b90a02 +34abfb4,8041bfdc +34abfb8,8041ade0 +34abfbc,10005 +34abfc0,ff000000 +34abfc8,5341001e +34abfcc,b90a02 +34abfd0,8041bfdc +34abfd4,8041ade0 +34abfd8,10006 +34abfdc,ff000000 +34abfe4,5341002a +34abfe8,b90a02 +34abfec,8041bfdc +34abff0,8041ade0 +34abff4,10007 +34abff8,ff000000 +34ac000,53410061 +34ac004,b90a02 +34ac008,8041bfdc +34ac00c,8041ade0 +34ac010,1000a +34ac014,ff000000 +34ac01c,53410062 +34ac020,b80b00 +34ac024,8041b7e0 +34ac028,8041ade0 +34ac02c,20000 +34ac030,ff000000 +34ac038,53410063 +34ac03c,b80b00 +34ac040,8041b7e0 +34ac044,8041ade0 +34ac048,20001 +34ac04c,ff000000 +34ac054,53410064 +34ac058,b80b00 +34ac05c,8041b7e0 +34ac060,8041ade0 +34ac064,20002 +34ac068,ff000000 +34ac070,53410065 +34ac074,b80b00 +34ac078,8041b7e0 +34ac07c,8041ade0 +34ac080,20003 +34ac084,ff000000 +34ac08c,5341007c +34ac090,b80b00 +34ac094,8041b7e0 +34ac098,8041ade0 +34ac09c,20004 +34ac0a0,ff000000 +34ac0a8,5341007d +34ac0ac,b80b00 +34ac0b0,8041b7e0 +34ac0b4,8041ade0 +34ac0b8,20005 +34ac0bc,ff000000 +34ac0c4,5341007e +34ac0c8,b80b00 +34ac0cc,8041b7e0 +34ac0d0,8041ade0 +34ac0d4,20006 +34ac0d8,ff000000 +34ac0e0,5341007f +34ac0e4,b80b00 +34ac0e8,8041b7e0 +34ac0ec,8041ade0 +34ac0f0,20007 +34ac0f4,ff000000 +34ac0fc,534100a2 +34ac100,b80b00 +34ac104,8041b7e0 +34ac108,8041ade0 +34ac10c,20008 +34ac110,ff000000 +34ac118,53410087 +34ac11c,b80b00 +34ac120,8041b7e0 +34ac124,8041ade0 +34ac128,20009 +34ac12c,ff000000 +34ac134,53410088 +34ac138,c81c00 +34ac13c,8041b7e0 +34ac140,8041ade0 +34ac144,40000 +34ac148,ff000000 +34ac150,53410089 +34ac154,c81c00 +34ac158,8041b7e0 +34ac15c,8041ade0 +34ac160,40001 +34ac164,ff000000 +34ac16c,5341008a +34ac170,c81c00 +34ac174,8041b7e0 +34ac178,8041ade0 +34ac17c,40002 +34ac180,ff000000 +34ac188,5341008b +34ac18c,c81c00 +34ac190,8041b7e0 +34ac194,8041ade0 +34ac198,40003 +34ac19c,ff000000 +34ac1a4,5341008c +34ac1a8,c81c00 +34ac1ac,8041b7e0 +34ac1b0,8041ade0 +34ac1b4,40004 +34ac1b8,ff000000 +34ac1c0,5341008e +34ac1c4,c81c00 +34ac1c8,8041b7e0 +34ac1cc,8041ade0 +34ac1d0,40005 +34ac1d4,ff000000 +34ac1dc,5341008f +34ac1e0,c81c00 +34ac1e4,8041b7e0 +34ac1e8,8041ade0 +34ac1ec,40006 +34ac1f0,ff000000 +34ac1f8,534100a3 +34ac1fc,c81c00 +34ac200,8041b7e0 +34ac204,8041ade0 +34ac208,40007 +34ac20c,ff000000 +34ac214,534100a5 +34ac218,c81c00 +34ac21c,8041b7e0 +34ac220,8041ade0 +34ac224,40008 +34ac228,ff000000 +34ac230,53410092 +34ac234,c81c00 +34ac238,8041b7e0 +34ac23c,8041ade0 +34ac240,40009 +34ac244,ff000000 +34ac24c,53410093 +34ac250,aa020d +34ac254,8041bfdc +34ac258,8041adf4 +34ac25c,3ffff +34ac260,ff000000 +34ac264,8041b5fc +34ac268,53410094 +34ac26c,aa020d +34ac270,8041bfdc +34ac274,8041adf4 +34ac278,4ffff +34ac27c,ff000000 +34ac280,8041b5fc +34ac284,53410095 +34ac288,aa020d +34ac28c,8041bfdc +34ac290,8041adf4 +34ac294,5ffff +34ac298,ff000000 +34ac29c,8041b5fc +34ac2a0,534100a6 +34ac2a4,aa020d +34ac2a8,8041bfdc +34ac2ac,8041adf4 +34ac2b0,6ffff +34ac2b4,ff000000 +34ac2b8,8041b5fc +34ac2bc,534100a9 +34ac2c0,aa020d +34ac2c4,8041bfdc +34ac2c8,8041adf4 +34ac2cc,7ffff +34ac2d0,ff000000 +34ac2d4,8041b5fc +34ac2d8,5341009b +34ac2dc,aa020d +34ac2e0,8041bfdc +34ac2e4,8041adf4 +34ac2e8,8ffff +34ac2ec,ff000000 +34ac2f0,8041b5fc +34ac2f4,5341009f +34ac2f8,aa020d +34ac2fc,8041bfdc +34ac300,8041adf4 +34ac304,bffff +34ac308,ff000000 +34ac30c,8041b5fc +34ac310,534100a0 +34ac314,aa020d +34ac318,8041bfdc +34ac31c,8041adf4 +34ac320,cffff +34ac324,ff000000 +34ac328,8041b5fc +34ac32c,534100a1 +34ac330,aa020d +34ac334,8041bfdc +34ac338,8041adf4 +34ac33c,dffff +34ac340,ff000000 +34ac344,8041b5fc +34ac348,534100e9 +34ac34c,194130c +34ac350,8041b7e0 +34ac354,8041b194 +34ac358,ffffffff +34ac35c,ff000000 +34ac364,534100e4 +34ac368,1b4a00c +34ac36c,8041b7e0 +34ac370,8041b1b0 +34ac374,ffffffff +34ac378,ff000000 +34ac380,534100e8 +34ac384,1b4a00c +34ac388,8041b7e0 +34ac38c,8041b1cc +34ac390,ffffffff +34ac394,ff000000 +34ac39c,53419091 +34ac3a0,196780c +34ac3a4,8041b7e0 +34ac3a8,8041b1fc +34ac3ac,6ffff +34ac3b0,ff000000 +34ac3b8,53419092 +34ac3bc,196790c +34ac3c0,8041b7e0 +34ac3c4,8041b1fc +34ac3c8,7ffff +34ac3cc,ff000000 +34ac3d4,53419093 +34ac3d8,1967a0c +34ac3dc,8041b7e0 +34ac3e0,8041b1fc +34ac3e4,8ffff +34ac3e8,ff000000 +34ac3f0,53419094 +34ac3f4,1967b0c +34ac3f8,8041b7e0 +34ac3fc,8041b1fc +34ac400,9ffff +34ac404,ff000000 +34ac40c,53419095 +34ac410,1967c0c +34ac414,8041b7e0 +34ac418,8041b1fc +34ac41c,affff +34ac420,ff000000 +34ac428,53419096 +34ac42c,1967d0c +34ac430,8041b7e0 +34ac434,8041b1fc +34ac438,bffff +34ac43c,ff000000 +34ac444,5341909a +34ac448,b6040c +34ac44c,8041b7e0 +34ac450,8041b1fc +34ac454,cffff +34ac458,ff000000 +34ac460,5341909b +34ac464,b6060c +34ac468,8041b7e0 +34ac46c,8041b1fc +34ac470,dffff +34ac474,ff000000 +34ac47c,5341909c +34ac480,b6030c +34ac484,8041b7e0 +34ac488,8041b1fc +34ac48c,effff +34ac490,ff000000 +34ac498,5341909d +34ac49c,b6080c +34ac4a0,8041b7e0 +34ac4a4,8041b1fc +34ac4a8,fffff +34ac4ac,ff000000 +34ac4b4,5341909e +34ac4b8,b6050c +34ac4bc,8041b7e0 +34ac4c0,8041b1fc +34ac4c4,10ffff +34ac4c8,ff000000 +34ac4d0,5341909f +34ac4d4,b6070c +34ac4d8,8041b7e0 +34ac4dc,8041b1fc +34ac4e0,11ffff +34ac4e4,ff000000 +34ac4ec,534100f8 +34ac4f0,d1230c +34ac4f4,8041b7e0 +34ac4f8,8041ad64 +34ac4fc,3ffff +34ac500,ff000000 +34ac508,53149099 +34ac50c,10b450c +34ac510,8041b7e0 +34ac514,8041ac94 +34ac518,ffffffff +34ac51c,ff000000 +34ac524,53419048 +34ac528,f33e0c +34ac52c,8041b7e0 +34ac530,8041b230 +34ac534,ffffffff +34ac538,ff000000 +34ac540,53419003 +34ac544,193760c +34ac548,8041b7e0 +34ac54c,8041aca8 +34ac550,ffffffff +34ac554,ff000000 +34ac55c,53419200 +34ac560,195770d +34ac564,8041b7e0 +34ac568,8041ae88 +34ac56c,30001 +34ac570,ff000000 +34ac574,8041b6b8 +34ac578,53419200 +34ac57c,195770d +34ac580,8041b7e0 +34ac584,8041ae88 +34ac588,40001 +34ac58c,ff000000 +34ac590,8041b6b8 +34ac594,53419200 +34ac598,195770d +34ac59c,8041b7e0 +34ac5a0,8041ae88 +34ac5a4,50001 +34ac5a8,ff000000 +34ac5ac,8041b6b8 +34ac5b0,53419200 +34ac5b4,195770d +34ac5b8,8041b7e0 +34ac5bc,8041ae88 +34ac5c0,60001 +34ac5c4,ff000000 +34ac5c8,8041b6b8 +34ac5cc,53419200 +34ac5d0,195770d +34ac5d4,8041b7e0 +34ac5d8,8041ae88 +34ac5dc,70001 +34ac5e0,ff000000 +34ac5e4,8041b6b8 +34ac5e8,53419200 +34ac5ec,195770d +34ac5f0,8041b7e0 +34ac5f4,8041ae88 +34ac5f8,80000 +34ac5fc,ff000000 +34ac600,8041b6b8 +34ac604,53419200 +34ac608,195770d +34ac60c,8041b7e0 +34ac610,8041ae88 +34ac614,b0000 +34ac618,ff000000 +34ac61c,8041b6b8 +34ac620,53419200 +34ac624,195770d +34ac628,8041b7e0 +34ac62c,8041ae88 +34ac630,c0000 +34ac634,ff000000 +34ac638,8041b6b8 +34ac63c,53419200 +34ac640,195770d +34ac644,8041b7e0 +34ac648,8041ae88 +34ac64c,d0000 +34ac650,ff000000 +34ac654,8041b6b8 +34ac658,53419019 +34ac65c,1977e0c +34ac660,8041b7e0 +34ac664,8041b3a4 +34ac668,14ffff +34ac66c,ff000000 +34ac674,53419019 +34ac678,1977e0c +34ac67c,8041b7e0 +34ac680,8041b3a4 +34ac684,affff +34ac688,ff000000 +34ac690,53419019 +34ac694,1977e0c +34ac698,8041b7e0 +34ac69c,8041b3a4 +34ac6a0,5ffff +34ac6a4,ff000000 +34ac6ac,53419200 +34ac6b0,195770d +34ac6b4,8041b7e0 +34ac6b8,8041ae88 +34ac6bc,100000 +34ac6c0,ff000000 +34ac6c4,8041b6b8 +34ac6c8,4d85901b +34ac6cc,198720d +34ac6d0,8041b7e0 +34ac6d4,8041b040 +34ac6d8,10000 +34ac6dc,ff000000 +34ac6e0,8041b4c0 +34ac6e4,4d85901c +34ac6e8,198720d +34ac6ec,8041b7e0 +34ac6f0,8041b040 +34ac6f4,90001 +34ac6f8,ff000000 +34ac6fc,8041b4c0 +34ac700,4d85901d +34ac704,198720d +34ac708,8041b7e0 +34ac70c,8041b040 +34ac710,90002 +34ac714,ff000000 +34ac718,8041b4c0 +34ac71c,4d85901e +34ac720,198720d +34ac724,8041b7e0 +34ac728,8041b040 +34ac72c,80003 +34ac730,ff000000 +34ac734,8041b4c0 +34ac738,4d85901f +34ac73c,198720d +34ac740,8041b7e0 +34ac744,8041b040 +34ac748,70004 +34ac74c,ff000000 +34ac750,8041b4c0 +34ac754,4d859020 +34ac758,198720d +34ac75c,8041b7e0 +34ac760,8041b040 +34ac764,70005 +34ac768,ff000000 +34ac76c,8041b4c0 +34ac770,4d859021 +34ac774,198720d +34ac778,8041b7e0 +34ac77c,8041b040 +34ac780,70006 +34ac784,ff000000 +34ac788,8041b4c0 +34ac78c,4d859022 +34ac790,198720d +34ac794,8041b7e0 +34ac798,8041b040 +34ac79c,70007 +34ac7a0,ff000000 +34ac7a4,8041b4c0 +34ac7a8,4d859023 +34ac7ac,198720d +34ac7b0,8041b7e0 +34ac7b4,8041b040 +34ac7b8,b0008 +34ac7bc,ff000000 +34ac7c0,8041b4c0 +34ac7c4,4d859024 +34ac7c8,198720d +34ac7cc,8041b7e0 +34ac7d0,8041b040 +34ac7d4,b0009 +34ac7d8,ff000000 +34ac7dc,8041b4c0 +34ac7e0,4d859025 +34ac7e4,198720d +34ac7e8,8041b7e0 +34ac7ec,8041b040 +34ac7f0,b000a +34ac7f4,ff000000 +34ac7f8,8041b4c0 +34ac7fc,4d859026 +34ac800,198720d +34ac804,8041b7e0 +34ac808,8041b040 +34ac80c,6000b +34ac810,ff000000 +34ac814,8041b4c0 +34ac818,4d859027 +34ac81c,198720d +34ac820,8041b7e0 +34ac824,8041b040 +34ac828,6000c +34ac82c,ff000000 +34ac830,8041b4c0 +34ac834,4d859028 +34ac838,198720d +34ac83c,8041b7e0 +34ac840,8041b040 +34ac844,6000d +34ac848,ff000000 +34ac84c,8041b4c0 +34ac850,4d859029 +34ac854,198720d +34ac858,8041b7e0 +34ac85c,8041b040 +34ac860,6000e +34ac864,ff000000 +34ac868,8041b4c0 +34ac86c,4d85902a +34ac870,198720d +34ac874,8041b7e0 +34ac878,8041b040 +34ac87c,6000f +34ac880,ff000000 +34ac884,8041b4c0 +34ac888,4d85902b +34ac88c,198720d +34ac890,8041b7e0 +34ac894,8041b040 +34ac898,d0010 +34ac89c,ff000000 +34ac8a0,8041b4c0 +34ac8a4,4d85902c +34ac8a8,198720d +34ac8ac,8041b7e0 +34ac8b0,8041b040 +34ac8b4,d0011 +34ac8b8,ff000000 +34ac8bc,8041b4c0 +34ac8c0,4d85902d +34ac8c4,198720d +34ac8c8,8041b7e0 +34ac8cc,8041b040 +34ac8d0,d0012 +34ac8d4,ff000000 +34ac8d8,8041b4c0 +34ac8dc,4d85902e +34ac8e0,198720d +34ac8e4,8041b7e0 +34ac8e8,8041b040 +34ac8ec,d0013 +34ac8f0,ff000000 +34ac8f4,8041b4c0 +34ac8f8,4d85902f +34ac8fc,198720d +34ac900,8041b7e0 +34ac904,8041b040 +34ac908,d0014 +34ac90c,ff000000 +34ac910,8041b4c0 +34ac914,4d859030 +34ac918,198720d +34ac91c,8041b7e0 +34ac920,8041b040 +34ac924,d0015 +34ac928,ff000000 +34ac92c,8041b4c0 +34ac930,4d41901b +34ac934,d17f0d +34ac938,8041b7e0 +34ac93c,8041b0d0 +34ac940,10000 +34ac944,ff000000 +34ac948,8041b570 +34ac94c,4d41901c +34ac950,d17f0d +34ac954,8041b7e0 +34ac958,8041b0d0 +34ac95c,90001 +34ac960,ff000000 +34ac964,8041b570 +34ac968,4d41901d +34ac96c,d17f0d +34ac970,8041b7e0 +34ac974,8041b0d0 +34ac978,90002 +34ac97c,ff000000 +34ac980,8041b570 +34ac984,4d41901e +34ac988,d17f0d +34ac98c,8041b7e0 +34ac990,8041b0d0 +34ac994,80003 +34ac998,ff000000 +34ac99c,8041b570 +34ac9a0,4d41901f +34ac9a4,d17f0d +34ac9a8,8041b7e0 +34ac9ac,8041b0d0 +34ac9b0,70004 +34ac9b4,ff000000 +34ac9b8,8041b570 +34ac9bc,4d419020 +34ac9c0,d17f0d +34ac9c4,8041b7e0 +34ac9c8,8041b0d0 +34ac9cc,70005 +34ac9d0,ff000000 +34ac9d4,8041b570 +34ac9d8,4d419021 +34ac9dc,d17f0d +34ac9e0,8041b7e0 +34ac9e4,8041b0d0 +34ac9e8,70006 +34ac9ec,ff000000 +34ac9f0,8041b570 +34ac9f4,4d419022 +34ac9f8,d17f0d +34ac9fc,8041b7e0 +34aca00,8041b0d0 +34aca04,70007 +34aca08,ff000000 +34aca0c,8041b570 +34aca10,4d419023 +34aca14,d17f0d +34aca18,8041b7e0 +34aca1c,8041b0d0 +34aca20,b0008 +34aca24,ff000000 +34aca28,8041b570 +34aca2c,4d419024 +34aca30,d17f0d +34aca34,8041b7e0 +34aca38,8041b0d0 +34aca3c,b0009 +34aca40,ff000000 +34aca44,8041b570 +34aca48,4d419025 +34aca4c,d17f0d +34aca50,8041b7e0 +34aca54,8041b0d0 +34aca58,b000a +34aca5c,ff000000 +34aca60,8041b570 +34aca64,4d419026 +34aca68,d17f0d +34aca6c,8041b7e0 +34aca70,8041b0d0 +34aca74,6000b +34aca78,ff000000 +34aca7c,8041b570 +34aca80,4d419027 +34aca84,d17f0d +34aca88,8041b7e0 +34aca8c,8041b0d0 +34aca90,6000c +34aca94,ff000000 +34aca98,8041b570 +34aca9c,4d419028 +34acaa0,d17f0d +34acaa4,8041b7e0 +34acaa8,8041b0d0 +34acaac,6000d +34acab0,ff000000 +34acab4,8041b570 +34acab8,4d419029 +34acabc,d17f0d +34acac0,8041b7e0 +34acac4,8041b0d0 +34acac8,6000e +34acacc,ff000000 +34acad0,8041b570 +34acad4,4d41902a +34acad8,d17f0d +34acadc,8041b7e0 +34acae0,8041b0d0 +34acae4,6000f +34acae8,ff000000 +34acaec,8041b570 +34acaf0,4d41902b +34acaf4,d17f0d +34acaf8,8041b7e0 +34acafc,8041b0d0 +34acb00,d0010 +34acb04,ff000000 +34acb08,8041b570 +34acb0c,4d41902c +34acb10,d17f0d +34acb14,8041b7e0 +34acb18,8041b0d0 +34acb1c,d0011 +34acb20,ff000000 +34acb24,8041b570 +34acb28,4d41902d +34acb2c,d17f0d +34acb30,8041b7e0 +34acb34,8041b0d0 +34acb38,d0012 +34acb3c,ff000000 +34acb40,8041b570 +34acb44,4d41902e +34acb48,d17f0d +34acb4c,8041b7e0 +34acb50,8041b0d0 +34acb54,d0013 +34acb58,ff000000 +34acb5c,8041b570 +34acb60,4d41902f +34acb64,d17f0d +34acb68,8041b7e0 +34acb6c,8041b0d0 +34acb70,d0014 +34acb74,ff000000 +34acb78,8041b570 +34acb7c,4d419030 +34acb80,d17f0d +34acb84,8041b7e0 +34acb88,8041b0d0 +34acb8c,d0015 +34acb90,ff000000 +34acb94,8041b570 +34acb98,5341908c +34acb9c,1a8900c +34acba0,8041b7e0 +34acba4,8041b3d8 +34acba8,ffff +34acbac,ff000000 +34acbb4,5341908d +34acbb8,1aa910c +34acbbc,8041b7e0 +34acbc0,8041b3d8 +34acbc4,1ffff +34acbc8,ff000000 +34acbd0,5341908e +34acbd4,1aa920c +34acbd8,8041b7e0 +34acbdc,8041b3d8 +34acbe0,2ffff +34acbe4,ff000000 +34acbec,5341908f +34acbf0,1a9930c +34acbf4,8041b7e0 +34acbf8,8041b3d8 +34acbfc,3ffff +34acc00,ff000000 +34acc08,53419090 +34acc0c,1a9940c +34acc10,8041b7e0 +34acc14,8041b3d8 +34acc18,4ffff +34acc1c,ff000000 +34acc24,53410006 +34acc28,1a38a02 +34acc2c,8041b7e0 +34acc30,8041ade0 +34acc34,10003 +34acc38,ff000000 +34acc40,5341001c +34acc44,1a48b02 +34acc48,8041b7e0 +34acc4c,8041ade0 +34acc50,10004 +34acc54,ff000000 +34acc5c,5341001d +34acc60,1a58c02 +34acc64,8041b7e0 +34acc68,8041ade0 +34acc6c,10005 +34acc70,ff000000 +34acc78,5341001e +34acc7c,1a68d02 +34acc80,8041b7e0 +34acc84,8041ade0 +34acc88,10006 +34acc8c,ff000000 +34acc94,5341002a +34acc98,1a78e02 +34acc9c,8041b7e0 +34acca0,8041ade0 +34acca4,10007 +34acca8,ff000000 +34accb0,53410061 +34accb4,b98f02 +34accb8,8041b7e0 +34accbc,8041ade0 +34accc0,1000a +34accc4,ff000000 +34acccc,53410093 +34accd0,199800d +34accd4,8041b7e0 +34accd8,8041adf4 +34accdc,3ffff +34acce0,ff000000 +34acce4,8041b5fc +34acce8,53410094 +34accec,19a810d +34accf0,8041b7e0 +34accf4,8041adf4 +34accf8,4ffff +34accfc,ff000000 +34acd00,8041b5fc +34acd04,53410095 +34acd08,19b820d +34acd0c,8041b7e0 +34acd10,8041adf4 +34acd14,5ffff +34acd18,ff000000 +34acd1c,8041b5fc +34acd20,534100a6 +34acd24,19c830d +34acd28,8041b7e0 +34acd2c,8041adf4 +34acd30,6ffff +34acd34,ff000000 +34acd38,8041b5fc +34acd3c,534100a9 +34acd40,19d840d +34acd44,8041b7e0 +34acd48,8041adf4 +34acd4c,7ffff +34acd50,ff000000 +34acd54,8041b5fc +34acd58,5341009b +34acd5c,19e850d +34acd60,8041b7e0 +34acd64,8041adf4 +34acd68,8ffff +34acd6c,ff000000 +34acd70,8041b5fc +34acd74,5341009f +34acd78,19f860d +34acd7c,8041b7e0 +34acd80,8041adf4 +34acd84,bffff +34acd88,ff000000 +34acd8c,8041b5fc +34acd90,534100a0 +34acd94,1a0870d +34acd98,8041b7e0 +34acd9c,8041adf4 +34acda0,cffff +34acda4,ff000000 +34acda8,8041b5fc +34acdac,534100a1 +34acdb0,1a1880d +34acdb4,8041b7e0 +34acdb8,8041adf4 +34acdbc,dffff +34acdc0,ff000000 +34acdc4,8041b5fc +34acdc8,534100f3 +34acdcc,1a2890d +34acdd0,8041b7e0 +34acdd4,8041adf4 +34acdd8,10ffff +34acddc,ff000000 +34acde0,8041b684 +34acde4,534190b4 +34acde8,1779e00 +34acdec,8041b7e0 +34acdf0,8041ac9c +34acdf4,ffffffff +34acdf8,ff000000 +34ace00,534190b5 +34ace04,1779f00 +34ace08,8041b7e0 +34ace0c,8041ac94 +34ace10,ffffffff +34ace14,ff000000 +34acf6c,53410080 +34acf70,1ab9b0c +34acf74,8041b7e0 +34acf78,8041b1fc +34acf7c,12ffff +34acf80,ff000000 +34acf88,53410081 +34acf8c,1ac9c0c +34acf90,8041b7e0 +34acf94,8041b1fc +34acf98,13ffff +34acf9c,ff000000 +34acfa4,53410082 +34acfa8,1ad9d0c +34acfac,8041b7e0 +34acfb0,8041b1fc +34acfb4,14ffff +34acfb8,ff000000 +34acfc0,53410040 +34acfc4,1ae950c +34acfc8,8041b7e0 +34acfcc,8041b1fc +34acfd0,5ffff +34acfd4,ff000000 +34acfdc,5341003e +34acfe0,1af960c +34acfe4,8041b7e0 +34acfe8,8041b1fc +34acfec,ffff +34acff0,ff000000 +34acff8,5341003c +34acffc,1b0970c +34ad000,8041b7e0 +34ad004,8041b1fc +34ad008,1ffff +34ad00c,ff000000 +34ad014,5341003d +34ad018,1b1980c +34ad01c,8041b7e0 +34ad020,8041b1fc +34ad024,2ffff +34ad028,ff000000 +34ad030,53410041 +34ad034,1b2990c +34ad038,8041b7e0 +34ad03c,8041b1fc +34ad040,4ffff +34ad044,ff000000 +34ad04c,5341003f +34ad050,1b39a0c +34ad054,8041b7e0 +34ad058,8041b1fc +34ad05c,3ffff +34ad060,ff000000 +34ad068,534190b6 +34ad06c,dba10c +34ad070,8041b7e0 +34ad074,8041b454 +34ad078,ffff +34ad07c,ff000000 +34ad084,30313233 +34ad088,34353637 +34ad08c,38393f3f +34ad090,3f3f3f3f +34ad094,3f3f3f3f +34ad098,3f3f3f3f +34ad09c,3f3f3f3f +34ad0a0,3f3f3f3f +34ad0a4,3f3f3f3f +34ad0a8,3f3f3f3f +34ad0ac,3f3f3f3f +34ad0b0,3f3f3f3f +34ad0b4,3f3f3f3f +34ad0b8,3f3f3f3f +34ad0bc,3f3f3f3f +34ad0c0,3f3f3f3f +34ad0c4,3f3f3f3f +34ad0c8,3f3f3f3f +34ad0cc,3f3f3f3f +34ad0d0,3f3f3f3f +34ad0d4,3f3f3f3f +34ad0d8,3f3f3f3f +34ad0dc,3f3f3f3f +34ad0e0,3f3f3f3f +34ad0e4,3f3f3f3f +34ad0e8,3f3f3f3f +34ad0ec,3f3f3f3f +34ad0f0,3f3f3f3f +34ad0f4,3f3f3f3f +34ad0f8,3f3f3f3f +34ad0fc,3f3f3f3f +34ad100,3f3f3f3f +34ad104,3f3f3f3f +34ad108,3f3f3f3f +34ad10c,3f3f3f3f +34ad110,3f3f3f3f +34ad114,3f3f3f3f +34ad118,3f3f3f3f +34ad11c,3f3f3f3f +34ad120,3f3f3f3f +34ad124,3f3f3f3f +34ad128,3f3f3f3f +34ad12c,3f3f3f41 +34ad130,42434445 +34ad134,46474849 +34ad138,4a4b4c4d +34ad13c,4e4f5051 +34ad140,52535455 +34ad144,56575859 +34ad148,5a616263 +34ad14c,64656667 +34ad150,68696a6b +34ad154,6c6d6e6f +34ad158,70717273 +34ad15c,74757677 +34ad160,78797a20 +34ad164,3f3f213a +34ad168,2d28293f +34ad16c,3f2c2e2f +34ad170,3f3f3f3f +34ad174,3f3f3f3f +34ad178,3f3f3f3f +34ad17c,3f3f3f3f +34ad180,3f3f3f3f +34ad188,948 +34ad190,fffc +34ad194,ff98 +34ad19c,25f +34ad1a8,ff54 +34ad1ac,32 +34ad1b0,ff42 +34ad1b4,2b9 +34ad1c0,339 +34ad1c4,5 +34ad1c8,b +34ad1cc,ff56 +34ad1d0,39 +34ad1d4,c0 +34ad1d8,2b7 +34ad1e4,331 +34ad1e8,8 +34ad1ec,4 +34ad1f4,ff99 +34ad1f8,fff9 +34ad1fc,3e4 +34ad200,ff37 +34ad204,ffff +34ad208,fe93 +34ad20c,fd62 +34ad220,2b8 +34ad224,ff51 +34ad228,1d2 +34ad22c,245 +34ad238,202 +34ad244,2b8 +34ad248,ff51 +34ad24c,fe2e +34ad250,241 +34ad25c,20d +34ad268,291 +34ad26c,fdf5 +34ad270,16f +34ad280,ffc7 +34ad284,d31 +34ad298,3b1 +34ad2a4,fe71 +34ad2a8,45 +34ad2ac,ff07 +34ad2b0,51a +34ad2bc,4e8 +34ad2c0,5 +34ad2c4,b +34ad2c8,fe74 +34ad2cc,4c +34ad2d0,108 +34ad2d4,518 +34ad2e0,4e9 +34ad2e4,6 +34ad2e8,3 +34ad2f0,15 +34ad2f4,fff9 +34ad2f8,570 +34ad2fc,fefd +34ad304,fed6 +34ad308,fd44 +34ad31c,40f +34ad320,ff54 +34ad324,2a8 +34ad328,397 +34ad334,2f2 +34ad340,40f +34ad344,ff53 +34ad348,fd58 +34ad34c,397 +34ad358,2f2 +34ad364,3d2 +34ad368,fd4c +34ad36c,156 +34ad37c,2 +34ad380,18 +34ad384,19 +34ad388,1a +34ad38c,1b +34ad390,1c +34ad394,1d +34ad398,1e +34ad39c,1f +34ad3a0,26 +34ad3a4,27 +34ad3a8,28 +34ad3ac,29 +34ad3b0,2a +34ad3b4,2c +34ad3b8,2d +34ad3bc,2e +34ad3c0,2f +34ad3c4,30 +34ad3c8,38 +34ad3cc,3a +34ad3d0,3c +34ad3d4,3e +34ad3d8,3f +34ad3dc,40 +34ad3e0,42 +34ad3e4,4a +34ad3e8,4b +34ad3ec,4c +34ad3f0,4e +34ad3f4,4f +34ad3f8,50 +34ad3fc,55 +34ad400,56 +34ad404,58 +34ad408,5a +34ad40c,5b +34ad410,5c +34ad414,5f +34ad418,60 +34ad41c,61 +34ad420,62 +34ad424,63 +34ad428,64 +34ad42c,65 +34ad430,6b +34ad434,6c +34ad438,1 +34ad440,1 +34ad444,1 +34ad448,2 +34ad44c,1 +34ad450,2 +34ad454,2 +34ad458,3 +34ad45c,1 +34ad460,2 +34ad464,2 +34ad468,3 +34ad46c,2 +34ad470,3 +34ad474,3 +34ad478,4 +34ad47c,8008ffc0 +34ad480,1d9 +34ad484,c4b5e000 +34ad488,c1a00000 +34ad48c,44ad0000 +34ad490,70590000 +34ad494,311 +34ad498,45b6e000 +34ad49c,c1a00000 +34ad4a0,4568d000 +34ad4a4,b1c70000 +34ad4a8,4da +34ad4ac,44f74000 +34ad4b0,c2100000 +34ad4b4,c455c000 +34ad4b8,c0000000 +34ad4bc,1dd +34ad4c0,457f2000 +34ad4c4,44570000 +34ad4c8,c47e8000 +34ad4cc,80000000 +34ad4d0,219 +34ad4d4,c54cc000 +34ad4d8,c4812000 +34ad4dc,4535c000 +34ad4e0,2bdc0000 +34ad4e4,3d4 +34ad4e8,c5139000 +34ad4f0,44188000 +34ad4f4,80000000 +34ad4f8,21d +34ad4fc,c46ec000 +34ad500,c4a34000 +34ad504,45d38000 +34ad508,80000000 +34ad50c,328 +34ad510,c2da0000 +34ad514,41300000 +34ad518,c1100000 +34ad51c,8e350000 +34ad520,560 +34ad524,c4640000 +34ad528,c4a5c000 +34ad52c,4553f000 +34ad534,10e +34ad538,c4bb8000 +34ad53c,43160000 +34ad540,44c80000 +34ad544,80000000 +34ad558,1 +34ad568,2 +34ad578,3 +34ad588,4 +34ad598,5 +34ad5a8,6 +34ad5b8,7 +34ad5c8,8 +34ad5d8,9 +34ad5e8,a +34ad5f8,b +34ad608,c +34ad618,d +34ad668,12 +34ad678,13 +34ad688,14 +34ad698,15 +34ad6a8,16 +34ad6b8,17 +34ad6c8,18 +34ad6d8,19 +34ad6e8,1a +34ad6f8,1b +34ad708,1c +34ad718,1d +34ad728,1e diff --git a/data/generated/symbols.json b/data/generated/symbols.json index e242e5b6fe..1f27a58698 100644 --- a/data/generated/symbols.json +++ b/data/generated/symbols.json @@ -1,312 +1,1422 @@ { - "ADULT_ANJU_ITEM_DIALOG": "03486138", - "ADULT_INIT_ITEMS": "034833A4", - "ADULT_VALID_ITEMS": "034833AC", - "APPLY_BONK_DAMAGE": "034846E4", - "AUDIOBANK_TABLE_EXTENDED": "03484AD0", - "AUDIO_THREAD_INFO": "03484AA8", - "AUDIO_THREAD_INFO_MEM_SIZE": "03484AC4", - "AUDIO_THREAD_INFO_MEM_START": "03484AC0", - "AUDIO_THREAD_MEM_START": "034B10C0", - "AUTO_TRACKER_CONTEXT": "03481D8C", - "AUTO_TRACKER_VERSION": "03481D8C", - "BONK_LAST_FRAME": "03484630", - "CFG_ADULT_TRADE_SHUFFLE": "03486134", - "CFG_AUDIOBANK_TABLE_EXTENDED_ADDR": "03480CA0", - "CFG_A_BUTTON_COLOR": "03480C4C", - "CFG_A_NOTE_COLOR": "03480C6A", - "CFG_BOMBCHU_TRAIL_INNER_COLOR": "03480C7C", - "CFG_BOMBCHU_TRAIL_OUTER_COLOR": "03480C7F", - "CFG_BONK_DAMAGE": "0348462C", - "CFG_BOOM_TRAIL_INNER_COLOR": "03480C76", - "CFG_BOOM_TRAIL_OUTER_COLOR": "03480C79", - "CFG_B_BUTTON_COLOR": "03480C52", - "CFG_CHILD_TRADE_SHUFFLE": "03486136", - "CFG_CORRECT_MODEL_COLORS": "03480CA4", - "CFG_CUSTOM_MESSAGE_1": "03481704", - "CFG_CUSTOM_MESSAGE_2": "03481724", - "CFG_C_BUTTON_COLOR": "03480C58", - "CFG_C_NOTE_COLOR": "03480C70", - "CFG_DAMAGE_MULTIPLYER": "034845BC", - "CFG_DEADLY_BONKS": "03484628", - "CFG_DISPLAY_DPAD": "03480C82", - "CFG_DPAD_DUNGEON_INFO_ENABLE": "03480C91", - "CFG_DPAD_ON_THE_LEFT": "03480CA6", - "CFG_DUNGEON_INFO_ENABLE": "03481D90", - "CFG_DUNGEON_INFO_MQ_ENABLE": "03481D94", - "CFG_DUNGEON_INFO_MQ_NEED_MAP": "03481D98", - "CFG_DUNGEON_INFO_REWARD_ENABLE": "03481D9C", - "CFG_DUNGEON_INFO_REWARD_NEED_ALTAR": "03481DA4", - "CFG_DUNGEON_INFO_REWARD_NEED_COMPASS": "03481DA0", - "CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE": "03481DA8", - "CFG_DUNGEON_INFO_SILVER_RUPEES": "03481D7C", - "CFG_DUNGEON_IS_MQ": "03481DBA", - "CFG_DUNGEON_REWARDS": "03481DAC", - "CFG_DUNGEON_REWARD_AREAS": "03481DE0", - "CFG_FILE_SELECT_HASH": "03480834", - "CFG_HEART_COLOR": "03480C46", - "CFG_INPUT_VIEWER": "03480CA7", - "CFG_MAGIC_COLOR": "03480C40", - "CFG_MASK_AUTOEQUIP": "03486CBC", - "CFG_MASK_SHOP_HINT": "03482C78", - "CFG_RAINBOW_BOMBCHU_TRAIL_INNER_ENABLED": "03480C87", - "CFG_RAINBOW_BOMBCHU_TRAIL_OUTER_ENABLED": "03480C88", - "CFG_RAINBOW_BOOM_TRAIL_INNER_ENABLED": "03480C85", - "CFG_RAINBOW_BOOM_TRAIL_OUTER_ENABLED": "03480C86", - "CFG_RAINBOW_NAVI_ENEMY_INNER_ENABLED": "03480C8B", - "CFG_RAINBOW_NAVI_ENEMY_OUTER_ENABLED": "03480C8C", - "CFG_RAINBOW_NAVI_IDLE_INNER_ENABLED": "03480C89", - "CFG_RAINBOW_NAVI_IDLE_OUTER_ENABLED": "03480C8A", - "CFG_RAINBOW_NAVI_NPC_INNER_ENABLED": "03480C8D", - "CFG_RAINBOW_NAVI_NPC_OUTER_ENABLED": "03480C8E", - "CFG_RAINBOW_NAVI_PROP_INNER_ENABLED": "03480C8F", - "CFG_RAINBOW_NAVI_PROP_OUTER_ENABLED": "03480C90", - "CFG_RAINBOW_SWORD_INNER_ENABLED": "03480C83", - "CFG_RAINBOW_SWORD_OUTER_ENABLED": "03480C84", - "CFG_RAINBOW_TUNIC_ENABLED": "03480C96", - "CFG_SHOP_CURSOR_COLOR": "03480C64", - "CFG_SHOW_SETTING_INFO": "03481703", - "CFG_SLOWDOWN_MUSIC_WHEN_LOWHP": "03480C95", - "CFG_SONG_NAMES": "03480CA9", - "CFG_SONG_NAME_POSITION": "03480CA8", - "CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE": "03480C94", - "CFG_TEXT_CURSOR_COLOR": "03480C5E", - "CFG_TUNIC_COLORS": "03480C97", - "CFG_UNINVERT_YAXIS_IN_FIRST_PERSON_CAMERA": "03480CA5", - "CHAIN_HBA_REWARDS": "03485F2C", - "CHECK_FOR_BONK_CANCEL": "03484694", - "CHECK_ROOM_MESH_TYPE": "034847C4", - "CHEST_GILDED_TEXTURE": "03481D81", - "CHEST_GOLD_TEXTURE": "03481D80", - "CHEST_HEART_TEXTURE": "03481D84", - "CHEST_LENS_ONLY": "03483EE4", - "CHEST_SILVER_TEXTURE": "03481D82", - "CHEST_SIZE_MATCH_CONTENTS": "034A7DD0", - "CHEST_SIZE_TEXTURE": "034A7DCC", - "CHEST_SKULL_TEXTURE": "03481D83", - "CHEST_TEXTURE_MATCH_CONTENTS": "034A7DD4", - "COMPLETE_MASK_QUEST": "034B0FA0", - "COOP_CONTEXT": "03480020", - "COOP_VERSION": "03480020", - "COSMETIC_CONTEXT": "03480C3C", - "COSMETIC_FORMAT_VERSION": "03480C3C", - "CURRENT_GROTTO_ID": "0348496A", - "CURR_ACTOR_SPAWN_INDEX": "03486960", - "CUSTOM_KEY_MODELS": "03481D7D", - "DEBUG_OFFSET": "034841A8", - "DISABLE_TIMERS": "03481D71", - "DPAD_RESOURCE": "034A0400", - "DPAD_RESOURCE_END": "034A0C00", - "DUNGEONS_SHUFFLED": "03481D72", - "EPONAS_SONG_NOTES": "03481D7F", - "EXTENDED_INITIAL_SAVE_DATA": "03481B9C", - "EXTENDED_OBJECT_TABLE": "03481C9C", - "EXTERN_DAMAGE_MULTIPLYER": "034845BD", - "EXTRA_BOWLING_SHUFFLE": "034A7DC8", - "FAST_BUNNY_HOOD_ENABLED": "03481D75", - "FAST_CHESTS": "03481D6B", - "FILENAME_ENCODING": "034A7754", - "FIX_BROKEN_DROPS": "03481D76", - "FONTLOADSTATUS_EXTENDED": "034854D0", - "FONT_RESOURCE": "034A0C00", - "FONT_RESOURCE_END": "034A20C8", - "FREE_BOMBCHU_DROPS": "03481D5C", - "FREE_SCARECROW_ENABLED": "03481D64", - "GANON_BOSS_KEY_CONDITION": "034A7E8C", - "GANON_BOSS_KEY_CONDITION_COUNT": "034A7E8A", - "GET_CHEST_OVERRIDE_WRAPPER": "03483EE8", - "GET_ITEM_SEQ_ID": "03480C92", - "GET_ITEM_TRIGGERED": "03482898", - "GOSSIP_HINT_CONDITION": "03481D60", - "GROTTO_EXIT_LIST": "03484928", - "GROTTO_LOAD_TABLE": "034848A4", - "HIDEOUT_SHUFFLED": "03481D74", - "HIDE_CHEST_WITH_INVERTED_LENS": "03483F30", - "INCOMING_ITEM": "03480028", - "INCOMING_PLAYER": "03480026", - "INITIAL_SAVE_DATA": "0348179C", - "JABU_ELEVATOR_ENABLE": "03481D68", - "KAKARIKO_WEATHER_FORECAST": "034B10B8", - "KEYRING_BOSSKEY_CONDITION": "03481D7A", - "KING_DODONGO_BONKS": "03484790", - "LACS_CONDITION": "03481DCC", - "LACS_CONDITION_COUNT": "03481DD2", - "MALON_GAVE_ICETRAP": "03485C68", - "MALON_TEXT_ID": "03481D70", - "MAX_RUPEES": "034B0FA2", - "MOVED_ADULT_KING_ZORA": "034855A0", - "MW_PROGRESSIVE_ITEMS_ENABLE": "0348002B", - "MW_PROGRESSIVE_ITEMS_STATE": "0348083C", - "MW_SEND_OWN_ITEMS": "0348002A", - "NO_COLLECTIBLE_HEARTS": "03481D6A", - "NO_ESCAPE_SEQUENCE": "034A7E88", - "OCARINAS_SHUFFLED": "03481D69", - "OPEN_KAKARIKO": "034B0FA1", - "OUTGOING_ITEM": "03480030", - "OUTGOING_KEY": "0348002C", - "OUTGOING_PLAYER": "03480032", - "OVERWORLD_SHUFFLED": "03481D73", - "PAYLOAD_START": "03480000", - "PLANDOMIZER_USED": "03481D78", - "PLAYED_WARP_SONG": "03482674", - "PLAYER_ID": "03480024", - "PLAYER_NAMES": "03480034", - "PLAYER_NAME_ID": "03480025", - "POTCRATE_GILDED_TEXTURE": "03481D86", - "POTCRATE_GOLD_TEXTURE": "03481D85", - "POTCRATE_HEART_TEXTURE": "03481D89", - "POTCRATE_SILVER_TEXTURE": "03481D87", - "POTCRATE_SKULL_TEXTURE": "03481D88", - "POTCRATE_TEXTURES_MATCH_CONTENTS": "03481D79", - "RAINBOW_BRIDGE_CONDITION": "03481DC8", - "RAINBOW_BRIDGE_COUNT": "03481DD0", - "RANDOMIZER_RNG_SEED": "034B1080", - "RANDO_CONTEXT": "03480000", - "RNG_SEED_INT": "034A7B08", - "SET_BONK_FLAG": "03484668", - "SHOW_CHEST_WITH_INVERTED_LENS": "03483FA8", - "SHUFFLE_BEANS": "03484800", - "SHUFFLE_CARPET_SALESMAN": "03485FE4", - "SHUFFLE_CHEST_GAME": "03486D5C", - "SHUFFLE_COWS": "03481D6C", - "SHUFFLE_GRANNYS_POTION_SHOP": "03483D3C", - "SHUFFLE_MEDIGORON": "03486040", - "SHUFFLE_OCARINA_BUTTONS": "03481D7E", - "SHUFFLE_SILVER_RUPEES": "03481D7B", - "SOA_UNLOCKS_CHEST_TEXTURE": "03481D8A", - "SOA_UNLOCKS_POTCRATE_TEXTURE": "03481D8B", - "SONGS_AS_ITEMS": "03481D6D", - "SOS_ITEM_GIVEN": "03482964", - "SPECIAL_DEAL_COUNTS": "03481DD8", - "SPEED_MULTIPLIER": "03484068", - "SPOILER_AVAILABLE": "03481D77", - "START_TWINROVA_FIGHT": "03485658", - "Sram_InitNewSave": "034A7B0C", - "TIME_STRING_TXT": "03481778", - "TIME_TRAVEL_SAVED_EQUIPS": "034830C8", - "TRIFORCE_HUNT_ENABLED": "03481DD4", - "TRIFORCE_PIECES_REQUIRED": "03481DD6", - "TRIFORCE_SPRITE_RESOURCE": "034A20C8", - "TRIFORCE_SPRITE_RESOURCE_END": "034A30C8", - "TWINROVA_ACTION_TIMER": "0348565C", - "VERSION_STRING_TXT": "03481744", - "WINDMILL_SONG_ID": "03481D6E", - "WINDMILL_TEXT_ID": "03481D6F", - "WORLD_STRING_TXT": "03481768", - "a_button": "034A3F80", - "a_note_b": "034A3F6C", - "a_note_font_glow_base": "034A3F54", - "a_note_font_glow_max": "034A3F50", - "a_note_g": "034A3F70", - "a_note_glow_base": "034A3F5C", - "a_note_glow_max": "034A3F58", - "a_note_r": "034A3F74", - "active_item_action_id": "034A85F8", - "active_item_fast_chest": "034A85E8", - "active_item_graphic_id": "034A85EC", - "active_item_object_id": "034A85F0", - "active_item_row": "034A85FC", - "active_item_text_id": "034A85F4", - "active_override": "034A8604", - "active_override_is_outgoing": "034A8600", - "adultSkeleton": "034A7950", - "adult_safe": "034B0FAA", - "alt_overrides": "034A7F2C", - "b_button": "034A3F7C", - "beating_dd": "034A3F88", - "beating_no_dd": "034A3F90", - "bgm_sequence_ids": "034A7A4C", - "bk_display": "034A7E44", - "bosses_warps": "034A34A8", - "buttons_sprite": "034A3E10", - "c_button": "034A3F78", - "c_note_b": "034A3F60", - "c_note_font_glow_base": "034A3F44", - "c_note_font_glow_max": "034A3F40", - "c_note_g": "034A3F64", - "c_note_glow_base": "034A3F4C", - "c_note_glow_max": "034A3F48", - "c_note_r": "034A3F68", - "cfg_item_overrides": "034A8620", - "childSkeleton": "034A7854", - "child_safe": "034B0FA9", - "collectible_mutex": "034A7EA0", - "collectible_override": "034A7E90", - "collectible_override_flags": "034A7F24", - "collectible_scene_flags_table": "034A81FC", - "curr_scene_setup": "034B10A0", - "debug_text_color": "034A3AA4", - "debug_text_height": "0349FD46", - "debug_text_width": "0349FD47", - "defaultDDHeart": "0349FEE8", - "defaultHeart": "0349FEF0", - "dpad_sprite": "034A3EA0", - "drop_collectible_override_flag": "034A8614", - "dummy_actor": "034A8618", - "dungeon_count": "034A3C00", - "dungeon_warps": "034A3884", - "dungeons": "034A3ACC", - "empty_dlist": "034A3F00", - "extended_savectx": "034B1088", - "extern_ctxt": "034A3C30", - "float_precision": "034A3AA0", - "font_sprite": "034A3EB0", - "freecam_modes": "0349FDA4", - "hash_sprites": "034A3DAC", - "hash_symbols": "034A3D6C", - "heap_next": "034B10B4", - "heart_sprite": "034A3E30", - "icon_sprites": "0349FE74", - "illegal_model": "034B0FAC", - "input_icon_height": "0349FF02", - "input_icon_width": "0349FF03", - "input_number_height": "0349FF00", - "input_number_width": "0349FF01", - "item_digit_sprite": "034A3E50", - "item_draw_table": "034A3FD8", - "item_overrides_count": "034A861C", - "item_table": "034A55F8", - "items": "034A3DF4", - "items_debug": "034A30CC", - "items_sprite": "034A3ED0", - "key_counts": "034A55D4", - "key_rupee_clock_sprite": "034A3E70", - "last_fog_distance": "034A3C44", - "left_alignment": "0349FEFE", - "linkhead_skull_sprite": "034A3E40", - "medals": "034A3AB4", - "medals_sprite": "034A3EE0", - "menu_categories": "034A3A40", - "menu_not_on_dup": "034A7DD8", - "missing_dlist": "034B0FA8", - "normal_dd": "034A3F84", - "normal_no_dd": "034A3F8C", - "num_override_flags": "034A7F28", - "num_to_bits": "034A3DB4", - "object_slots": "034B0FB0", - "ocarina_button_sprite": "034A3E20", - "outgoing_queue": "034A7EA4", - "overworld_warps": "034A35FC", - "quest_items_sprite": "034A3EC0", - "respawnsByScene": "034A7B10", - "reward_rows": "034A3AA8", - "rupee_colors": "0349FEDC", - "rupee_digit_sprite": "034A3E60", - "satisfied_pending_frames": "034A85E4", - "scene_fog_distance": "034A3C48", - "setup_db": "034A3F08", - "shooting_gallery_show_message": "034B0FA3", - "silver_rupee_vars": "034A54CC", - "song_note_sprite": "034A3E80", - "stones_sprite": "034A3EF0", - "text_cursor_border_base": "034A3F34", - "text_cursor_border_max": "034A3F30", - "text_cursor_inner_base": "034A3F3C", - "text_cursor_inner_max": "034A3F38", - "text_height": "0349FFC0", - "text_width": "0349FFC4", - "texture_table": "034A7BD8", - "top_alignment": "0349FEFC", - "trade_quest_items": "034A0174", - "triforce_sprite": "034A3E90" + "ADULT_ANJU_ITEM_DIALOG": { + "address": "03486078", + "length": 4 + }, + "ADULT_INIT_ITEMS": { + "address": "034832BC", + "length": 1 + }, + "ADULT_VALID_ITEMS": { + "address": "034832C4", + "length": 1 + }, + "APPLY_BONK_DAMAGE": { + "address": "03484604", + "length": 0 + }, + "AUDIOBANK_TABLE_EXTENDED": { + "address": "034849F0", + "length": 2560 + }, + "AUDIO_THREAD_INFO": { + "address": "034849C8", + "length": 24 + }, + "AUDIO_THREAD_INFO_MEM_SIZE": { + "address": "034849E4", + "length": 4 + }, + "AUDIO_THREAD_INFO_MEM_START": { + "address": "034849E0", + "length": 4 + }, + "AUDIO_THREAD_MEM_START": { + "address": "034C22B0", + "length": 0 + }, + "AUTO_TRACKER_CONTEXT": { + "address": "03481E20", + "length": 4 + }, + "AUTO_TRACKER_VERSION": { + "address": "03481E20", + "length": 4 + }, + "BONK_LAST_FRAME": { + "address": "03484550", + "length": 0 + }, + "CFG_ADULT_TRADE_SHUFFLE": { + "address": "03481F43", + "length": 1 + }, + "CFG_AUDIOBANK_TABLE_EXTENDED_ADDR": { + "address": "03480CA8", + "length": 4 + }, + "CFG_A_BUTTON_COLOR": { + "address": "03480C54", + "length": 6 + }, + "CFG_A_NOTE_COLOR": { + "address": "03480C72", + "length": 6 + }, + "CFG_BIGOCTO_OVERRIDE_KEY": { + "address": "03481E00", + "length": 4 + }, + "CFG_BOMBCHU_TRAIL_INNER_COLOR": { + "address": "03480C84", + "length": 3 + }, + "CFG_BOMBCHU_TRAIL_OUTER_COLOR": { + "address": "03480C87", + "length": 3 + }, + "CFG_BONK_DAMAGE": { + "address": "0348454C", + "length": 2 + }, + "CFG_BOOM_TRAIL_INNER_COLOR": { + "address": "03480C7E", + "length": 3 + }, + "CFG_BOOM_TRAIL_OUTER_COLOR": { + "address": "03480C81", + "length": 3 + }, + "CFG_B_BUTTON_COLOR": { + "address": "03480C5A", + "length": 6 + }, + "CFG_CHILD_TRADE_SHUFFLE": { + "address": "03481F44", + "length": 1 + }, + "CFG_CORRECT_MODEL_COLORS": { + "address": "03480CAC", + "length": 1 + }, + "CFG_CUSTOM_MESSAGE_1": { + "address": "0348170C", + "length": 32 + }, + "CFG_CUSTOM_MESSAGE_2": { + "address": "0348172C", + "length": 32 + }, + "CFG_C_BUTTON_COLOR": { + "address": "03480C60", + "length": 6 + }, + "CFG_C_NOTE_COLOR": { + "address": "03480C78", + "length": 6 + }, + "CFG_DAMAGE_MULTIPLYER": { + "address": "034844DC", + "length": 1 + }, + "CFG_DEADLY_BONKS": { + "address": "03484548", + "length": 4 + }, + "CFG_DISPLAY_DPAD": { + "address": "03480C8A", + "length": 1 + }, + "CFG_DPAD_DUNGEON_INFO_ENABLE": { + "address": "03480C99", + "length": 1 + }, + "CFG_DPAD_ON_THE_LEFT": { + "address": "03480CAE", + "length": 1 + }, + "CFG_DUNGEON_INFO_ENABLE": { + "address": "03481E24", + "length": 4 + }, + "CFG_DUNGEON_INFO_MQ_ENABLE": { + "address": "03481E28", + "length": 4 + }, + "CFG_DUNGEON_INFO_MQ_NEED_MAP": { + "address": "03481E2C", + "length": 4 + }, + "CFG_DUNGEON_INFO_REWARD_ENABLE": { + "address": "03481E30", + "length": 4 + }, + "CFG_DUNGEON_INFO_REWARD_NEED_ALTAR": { + "address": "03481E38", + "length": 4 + }, + "CFG_DUNGEON_INFO_REWARD_NEED_COMPASS": { + "address": "03481E34", + "length": 4 + }, + "CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE": { + "address": "03481E3C", + "length": 4 + }, + "CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE": { + "address": "03481DF4", + "length": 1 + }, + "CFG_DUNGEON_INFO_SILVER_RUPEES": { + "address": "03481DE4", + "length": 1 + }, + "CFG_DUNGEON_IS_MQ": { + "address": "03481E4E", + "length": 14 + }, + "CFG_DUNGEON_PRECOMPLETED": { + "address": "03481E0F", + "length": 14 + }, + "CFG_DUNGEON_REWARDS": { + "address": "03481E40", + "length": 14 + }, + "CFG_DUNGEON_REWARD_AREAS": { + "address": "03481E74", + "length": 207 + }, + "CFG_DUNGEON_REWARD_WORLDS": { + "address": "03481DF5", + "length": 9 + }, + "CFG_FILE_SELECT_HASH": { + "address": "03480834", + "length": 5 + }, + "CFG_HEART_COLOR": { + "address": "03480C4E", + "length": 6 + }, + "CFG_INPUT_VIEWER": { + "address": "03480CAF", + "length": 1 + }, + "CFG_MAGIC_COLOR": { + "address": "03480C48", + "length": 6 + }, + "CFG_MASK_AUTOEQUIP": { + "address": "03486C90", + "length": 1 + }, + "CFG_MASK_SHOP_HINT": { + "address": "03482B90", + "length": 4 + }, + "CFG_RAINBOW_BOMBCHU_TRAIL_INNER_ENABLED": { + "address": "03480C8F", + "length": 1 + }, + "CFG_RAINBOW_BOMBCHU_TRAIL_OUTER_ENABLED": { + "address": "03480C90", + "length": 1 + }, + "CFG_RAINBOW_BOOM_TRAIL_INNER_ENABLED": { + "address": "03480C8D", + "length": 1 + }, + "CFG_RAINBOW_BOOM_TRAIL_OUTER_ENABLED": { + "address": "03480C8E", + "length": 1 + }, + "CFG_RAINBOW_NAVI_ENEMY_INNER_ENABLED": { + "address": "03480C93", + "length": 1 + }, + "CFG_RAINBOW_NAVI_ENEMY_OUTER_ENABLED": { + "address": "03480C94", + "length": 1 + }, + "CFG_RAINBOW_NAVI_IDLE_INNER_ENABLED": { + "address": "03480C91", + "length": 1 + }, + "CFG_RAINBOW_NAVI_IDLE_OUTER_ENABLED": { + "address": "03480C92", + "length": 1 + }, + "CFG_RAINBOW_NAVI_NPC_INNER_ENABLED": { + "address": "03480C95", + "length": 1 + }, + "CFG_RAINBOW_NAVI_NPC_OUTER_ENABLED": { + "address": "03480C96", + "length": 1 + }, + "CFG_RAINBOW_NAVI_PROP_INNER_ENABLED": { + "address": "03480C97", + "length": 1 + }, + "CFG_RAINBOW_NAVI_PROP_OUTER_ENABLED": { + "address": "03480C98", + "length": 1 + }, + "CFG_RAINBOW_SWORD_INNER_ENABLED": { + "address": "03480C8B", + "length": 1 + }, + "CFG_RAINBOW_SWORD_OUTER_ENABLED": { + "address": "03480C8C", + "length": 1 + }, + "CFG_RAINBOW_TUNIC_ENABLED": { + "address": "03480C9E", + "length": 1 + }, + "CFG_SHOP_CURSOR_COLOR": { + "address": "03480C6C", + "length": 6 + }, + "CFG_SHOW_SETTING_INFO": { + "address": "0348170B", + "length": 1 + }, + "CFG_SLOWDOWN_MUSIC_WHEN_LOWHP": { + "address": "03480C9D", + "length": 1 + }, + "CFG_SONG_NAMES": { + "address": "03480CB1", + "length": 2650 + }, + "CFG_SONG_NAME_STATE": { + "address": "03480CB0", + "length": 1 + }, + "CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE": { + "address": "03480C9C", + "length": 1 + }, + "CFG_TEXT_CURSOR_COLOR": { + "address": "03480C66", + "length": 6 + }, + "CFG_TUNIC_COLORS": { + "address": "03480C9F", + "length": 9 + }, + "CFG_UNINVERT_YAXIS_IN_FIRST_PERSON_CAMERA": { + "address": "03480CAD", + "length": 1 + }, + "CHAIN_HBA_REWARDS": { + "address": "03485E70", + "length": 1 + }, + "CHECK_FOR_BONK_CANCEL": { + "address": "034845B4", + "length": 0 + }, + "CHECK_ROOM_MESH_TYPE": { + "address": "034846E4", + "length": 0 + }, + "CHEST_GILDED_TEXTURE": { + "address": "03481DE9", + "length": 1 + }, + "CHEST_GOLD_TEXTURE": { + "address": "03481DE8", + "length": 1 + }, + "CHEST_HEART_TEXTURE": { + "address": "03481DEC", + "length": 1 + }, + "CHEST_LENS_ONLY": { + "address": "03483E04", + "length": 4 + }, + "CHEST_SILVER_TEXTURE": { + "address": "03481DEA", + "length": 1 + }, + "CHEST_SIZE_MATCH_CONTENTS": { + "address": "034AD740", + "length": 4 + }, + "CHEST_SIZE_TEXTURE": { + "address": "034AD73C", + "length": 4 + }, + "CHEST_SKULL_TEXTURE": { + "address": "03481DEB", + "length": 1 + }, + "CHEST_TEXTURE_MATCH_CONTENTS": { + "address": "034AD744", + "length": 4 + }, + "COMPLETE_MASK_QUEST": { + "address": "034C1F50", + "length": 1 + }, + "COOP_CONTEXT": { + "address": "03480020", + "length": 4 + }, + "COOP_VERSION": { + "address": "03480020", + "length": 4 + }, + "COSMETIC_CONTEXT": { + "address": "03480C44", + "length": 4 + }, + "COSMETIC_FORMAT_VERSION": { + "address": "03480C44", + "length": 4 + }, + "CURRENT_GROTTO_ID": { + "address": "0348488A", + "length": 1 + }, + "CURR_ACTOR_SPAWN_INDEX": { + "address": "034869EC", + "length": 2 + }, + "CUSTOM_KEY_MODELS": { + "address": "03481DE5", + "length": 1 + }, + "DEBUG_OFFSET": { + "address": "034840C8", + "length": 4 + }, + "DISABLE_TIMERS": { + "address": "03481DD9", + "length": 1 + }, + "DPAD_RESOURCE": { + "address": "034A4AE0", + "length": 0 + }, + "DPAD_RESOURCE_END": { + "address": "034A52E0", + "length": 0 + }, + "DUNGEONS_SHUFFLED": { + "address": "03481DDA", + "length": 1 + }, + "EPONAS_SONG_NOTES": { + "address": "03481DE7", + "length": 1 + }, + "EXTENDED_INITIAL_SAVE_DATA": { + "address": "03481BB4", + "length": 256 + }, + "EXTENDED_OBJECT_TABLE": { + "address": "03481CB4", + "length": 272 + }, + "EXTERN_DAMAGE_MULTIPLYER": { + "address": "034844DD", + "length": 1 + }, + "EXTRA_BOWLING_SHUFFLE": { + "address": "034AD738", + "length": 4 + }, + "FAST_BUNNY_HOOD_ENABLED": { + "address": "03481DDD", + "length": 1 + }, + "FAST_CHESTS": { + "address": "03481DD3", + "length": 1 + }, + "FILENAME_ENCODING": { + "address": "034AD084", + "length": 256 + }, + "FIX_BROKEN_DROPS": { + "address": "03481DDE", + "length": 1 + }, + "FONTLOADSTATUS_EXTENDED": { + "address": "034853F0", + "length": 160 + }, + "FONT_CHAR_TEX_HEIGHT": { + "address": "034A4848", + "length": 4 + }, + "FONT_CHAR_TEX_WIDTH": { + "address": "034A484C", + "length": 4 + }, + "FONT_RESOURCE": { + "address": "034A52E0", + "length": 0 + }, + "FONT_RESOURCE_END": { + "address": "034A67A8", + "length": 0 + }, + "FREE_BOMBCHU_DROPS": { + "address": "03481DC4", + "length": 4 + }, + "FREE_SCARECROW_ENABLED": { + "address": "03481DCC", + "length": 4 + }, + "GANON_BOSS_KEY_CONDITION": { + "address": "034C203A", + "length": 1 + }, + "GANON_BOSS_KEY_CONDITION_COUNT": { + "address": "034C2038", + "length": 2 + }, + "GET_CHEST_OVERRIDE_WRAPPER": { + "address": "03483E08", + "length": 0 + }, + "GET_ITEM_SEQ_ID": { + "address": "03480C9A", + "length": 2 + }, + "GET_ITEM_TRIGGERED": { + "address": "034827D4", + "length": 1 + }, + "GOSSIP_HINT_CONDITION": { + "address": "03481DC8", + "length": 4 + }, + "GROTTO_EXIT_LIST": { + "address": "03484848", + "length": 66 + }, + "GROTTO_LOAD_TABLE": { + "address": "034847C4", + "length": 132 + }, + "HIDEOUT_SHUFFLED": { + "address": "03481DDC", + "length": 1 + }, + "HIDE_CHEST_WITH_INVERTED_LENS": { + "address": "03483E50", + "length": 0 + }, + "INCOMING_ITEM": { + "address": "03480028", + "length": 2 + }, + "INCOMING_PLAYER": { + "address": "03480026", + "length": 2 + }, + "INITIAL_SAVE_DATA": { + "address": "034817B4", + "length": 1024 + }, + "JABU_ELEVATOR_ENABLE": { + "address": "03481DD0", + "length": 1 + }, + "KAKARIKO_WEATHER_FORECAST": { + "address": "034C20A8", + "length": 1 + }, + "KEYRING_BOSSKEY_CONDITION": { + "address": "03481DE2", + "length": 1 + }, + "KING_DODONGO_BONKS": { + "address": "034846B0", + "length": 0 + }, + "LACS_CONDITION": { + "address": "03481E60", + "length": 4 + }, + "LACS_CONDITION_COUNT": { + "address": "03481E66", + "length": 2 + }, + "MALON_GAVE_ICETRAP": { + "address": "03485BAC", + "length": 1 + }, + "MALON_TEXT_ID": { + "address": "03481DD8", + "length": 1 + }, + "MAX_RUPEES": { + "address": "034C1F52", + "length": 1 + }, + "MOVED_ADULT_KING_ZORA": { + "address": "034854C0", + "length": 1 + }, + "MW_PROGRESSIVE_ITEMS_ENABLE": { + "address": "0348002B", + "length": 1 + }, + "MW_PROGRESSIVE_ITEMS_STATE": { + "address": "0348083C", + "length": 1024 + }, + "MW_SEND_OWN_ITEMS": { + "address": "0348002A", + "length": 1 + }, + "NO_COLLECTIBLE_HEARTS": { + "address": "03481DD2", + "length": 1 + }, + "NO_ESCAPE_SEQUENCE": { + "address": "034AD802", + "length": 1 + }, + "NUM_FONT_CHARS": { + "address": "034A4844", + "length": 4 + }, + "OCARINAS_SHUFFLED": { + "address": "03481DD1", + "length": 1 + }, + "OPEN_KAKARIKO": { + "address": "034C1F51", + "length": 1 + }, + "OUTGOING_ITEM": { + "address": "03480030", + "length": 2 + }, + "OUTGOING_KEY": { + "address": "03480C3C", + "length": 4 + }, + "OUTGOING_PLAYER": { + "address": "03480032", + "length": 2 + }, + "OVERWORLD_SHUFFLED": { + "address": "03481DDB", + "length": 1 + }, + "PASSWORD": { + "address": "03481E08", + "length": 6 + }, + "PAYLOAD_START": { + "address": "03480000", + "length": 4 + }, + "PLANDOMIZER_USED": { + "address": "03481DE0", + "length": 1 + }, + "PLAYED_WARP_SONG": { + "address": "034825B0", + "length": 1 + }, + "PLAYER_ID": { + "address": "03480024", + "length": 1 + }, + "PLAYER_NAMES": { + "address": "03480034", + "length": 2048 + }, + "PLAYER_NAME_ID": { + "address": "03480025", + "length": 1 + }, + "POTCRATE_GILDED_TEXTURE": { + "address": "03481DEE", + "length": 1 + }, + "POTCRATE_GOLD_TEXTURE": { + "address": "03481DED", + "length": 1 + }, + "POTCRATE_HEART_TEXTURE": { + "address": "03481DF1", + "length": 1 + }, + "POTCRATE_SILVER_TEXTURE": { + "address": "03481DEF", + "length": 1 + }, + "POTCRATE_SKULL_TEXTURE": { + "address": "03481DF0", + "length": 1 + }, + "POTCRATE_TEXTURES_MATCH_CONTENTS": { + "address": "03481DE1", + "length": 1 + }, + "RAINBOW_BRIDGE_CONDITION": { + "address": "03481E5C", + "length": 4 + }, + "RAINBOW_BRIDGE_COUNT": { + "address": "03481E64", + "length": 2 + }, + "RANDOMIZER_RNG_SEED": { + "address": "034C2034", + "length": 4 + }, + "RANDO_CONTEXT": { + "address": "03480000", + "length": 4 + }, + "REQUIRED_PENDING_FRAMES": { + "address": "034A44B0", + "length": 1 + }, + "REWARDS_AS_ITEMS": { + "address": "03481E0E", + "length": 1 + }, + "RNG_SEED_INT": { + "address": "034AD438", + "length": 4 + }, + "SET_BONK_FLAG": { + "address": "03484588", + "length": 0 + }, + "SHOW_CHEST_WITH_INVERTED_LENS": { + "address": "03483EC8", + "length": 0 + }, + "SHUFFLE_BEANS": { + "address": "03484720", + "length": 1 + }, + "SHUFFLE_CARPET_SALESMAN": { + "address": "03485F28", + "length": 1 + }, + "SHUFFLE_CHEST_GAME": { + "address": "03486D30", + "length": 1 + }, + "SHUFFLE_COWS": { + "address": "03481DD4", + "length": 1 + }, + "SHUFFLE_GRANNYS_POTION_SHOP": { + "address": "03483C5C", + "length": 1 + }, + "SHUFFLE_MEDIGORON": { + "address": "03485F84", + "length": 1 + }, + "SHUFFLE_OCARINA_BUTTONS": { + "address": "03481DE6", + "length": 1 + }, + "SHUFFLE_SILVER_RUPEES": { + "address": "03481DE3", + "length": 1 + }, + "SKIP_N64_LOGO": { + "address": "03482B6C", + "length": 1 + }, + "SOA_UNLOCKS_CHEST_TEXTURE": { + "address": "03481DF2", + "length": 1 + }, + "SOA_UNLOCKS_POTCRATE_TEXTURE": { + "address": "03481DF3", + "length": 1 + }, + "SONGS_AS_ITEMS": { + "address": "03481DD5", + "length": 1 + }, + "SOS_ITEM_GIVEN": { + "address": "034828A0", + "length": 1 + }, + "SPECIAL_DEAL_COUNTS": { + "address": "03481E6C", + "length": 8 + }, + "SPEED_MULTIPLIER": { + "address": "03483F88", + "length": 4 + }, + "SPOILER_AVAILABLE": { + "address": "03481DDF", + "length": 1 + }, + "START_TWINROVA_FIGHT": { + "address": "03485578", + "length": 1 + }, + "Sram_InitNewSave": { + "address": "034AD47C", + "length": 4 + }, + "TCG_REQUIRES_LENS": { + "address": "03486D31", + "length": 1 + }, + "TIME_STRING_TXT": { + "address": "03481780", + "length": 36 + }, + "TIME_TRAVEL_SAVED_EQUIPS": { + "address": "03482FE0", + "length": 4 + }, + "TRIFORCE_HUNT_ENABLED": { + "address": "03481E68", + "length": 2 + }, + "TRIFORCE_PIECES_REQUIRED": { + "address": "03481E6A", + "length": 2 + }, + "TRIFORCE_SPRITE_RESOURCE": { + "address": "034A67A8", + "length": 0 + }, + "TRIFORCE_SPRITE_RESOURCE_END": { + "address": "034A77A8", + "length": 0 + }, + "TWINROVA_ACTION_TIMER": { + "address": "0348557C", + "length": 4 + }, + "VERSION_STRING_TXT": { + "address": "0348174C", + "length": 36 + }, + "WEB_ID_STRING_TXT": { + "address": "034817A4", + "length": 16 + }, + "WINDMILL_SONG_ID": { + "address": "03481DD6", + "length": 1 + }, + "WINDMILL_TEXT_ID": { + "address": "03481DD7", + "length": 1 + }, + "WORLD_STRING_TXT": { + "address": "03481770", + "length": 16 + }, + "a_button": { + "address": "034A9700", + "length": 4 + }, + "a_note_b": { + "address": "034A96EC", + "length": 4 + }, + "a_note_font_glow_base": { + "address": "034A96D4", + "length": 4 + }, + "a_note_font_glow_max": { + "address": "034A96D0", + "length": 4 + }, + "a_note_g": { + "address": "034A96F0", + "length": 4 + }, + "a_note_glow_base": { + "address": "034A96DC", + "length": 4 + }, + "a_note_glow_max": { + "address": "034A96D8", + "length": 4 + }, + "a_note_r": { + "address": "034A96F4", + "length": 4 + }, + "active_item_action_id": { + "address": "034AF57C", + "length": 4 + }, + "active_item_fast_chest": { + "address": "034AF56C", + "length": 4 + }, + "active_item_graphic_id": { + "address": "034AF570", + "length": 4 + }, + "active_item_object_id": { + "address": "034AF574", + "length": 4 + }, + "active_item_row": { + "address": "034AF580", + "length": 4 + }, + "active_item_text_id": { + "address": "034AF578", + "length": 4 + }, + "active_override": { + "address": "034AF588", + "length": 16 + }, + "active_override_is_outgoing": { + "address": "034AF584", + "length": 4 + }, + "actor_categories": { + "address": "034A7814", + "length": 192 + }, + "adultSkeleton": { + "address": "034AD280", + "length": 252 + }, + "adult_safe": { + "address": "034C1F5E", + "length": 1 + }, + "alt_overrides": { + "address": "034AD9A8", + "length": 3200 + }, + "b_button": { + "address": "034A96FC", + "length": 4 + }, + "beating_dd": { + "address": "034A9708", + "length": 4 + }, + "beating_no_dd": { + "address": "034A9710", + "length": 4 + }, + "bgm_sequence_ids": { + "address": "034AD37C", + "length": 188 + }, + "bk_display": { + "address": "034AD7B4", + "length": 1 + }, + "bosses_warps": { + "address": "034A7CF4", + "length": 340 + }, + "botw_rooms": { + "address": "034A8638", + "length": 156 + }, + "buffer_password": { + "address": "034AD7F8", + "length": 6 + }, + "buttons_sprite": { + "address": "034A9590", + "length": 16 + }, + "c_button": { + "address": "034A96F8", + "length": 4 + }, + "c_note_b": { + "address": "034A96E0", + "length": 4 + }, + "c_note_font_glow_base": { + "address": "034A96C4", + "length": 4 + }, + "c_note_font_glow_max": { + "address": "034A96C0", + "length": 4 + }, + "c_note_g": { + "address": "034A96E4", + "length": 4 + }, + "c_note_glow_base": { + "address": "034A96CC", + "length": 4 + }, + "c_note_glow_max": { + "address": "034A96C8", + "length": 4 + }, + "c_note_r": { + "address": "034A96E8", + "length": 4 + }, + "cfg_item_overrides": { + "address": "034AF5B0", + "length": 35200 + }, + "childSkeleton": { + "address": "034AD184", + "length": 252 + }, + "child_safe": { + "address": "034C1F5D", + "length": 1 + }, + "collectible_mutex": { + "address": "034AD918", + "length": 4 + }, + "collectible_override": { + "address": "034AD908", + "length": 16 + }, + "collectible_override_flags": { + "address": "034AD9A0", + "length": 4 + }, + "cooldown": { + "address": "034AD7FE", + "length": 2 + }, + "curr_scene_setup": { + "address": "034C2098", + "length": 1 + }, + "dc_rooms": { + "address": "034A8DF0", + "length": 208 + }, + "debug_text_color": { + "address": "034A9258", + "length": 3 + }, + "debug_text_height": { + "address": "034A42B8", + "length": 1 + }, + "debug_text_width": { + "address": "034A42B9", + "length": 1 + }, + "defaultDDHeart": { + "address": "034A4524", + "length": 6 + }, + "defaultHeart": { + "address": "034A452C", + "length": 6 + }, + "deku_rooms": { + "address": "034A8EC0", + "length": 312 + }, + "dpad_sprite": { + "address": "034A9620", + "length": 16 + }, + "drop_collectible_override_flag": { + "address": "034AF59C", + "length": 8 + }, + "dummy_actor": { + "address": "034AF5A4", + "length": 4 + }, + "dungeon_count": { + "address": "034A93B4", + "length": 4 + }, + "dungeon_rooms": { + "address": "034A8158", + "length": 104 + }, + "dungeon_warps": { + "address": "034A8FF8", + "length": 442 + }, + "dungeons": { + "address": "034A9280", + "length": 308 + }, + "empty_dlist": { + "address": "034A9680", + "length": 8 + }, + "extended_savectx": { + "address": "034C2040", + "length": 88 + }, + "extern_ctxt": { + "address": "034A93E4", + "length": 20 + }, + "fire_rooms": { + "address": "034A8AB0", + "length": 364 + }, + "flag_categories": { + "address": "034A77B4", + "length": 96 + }, + "float_precision": { + "address": "034A9255", + "length": 1 + }, + "font_sprite": { + "address": "034A9630", + "length": 16 + }, + "forest_rooms": { + "address": "034A8C1C", + "length": 312 + }, + "freecam_modes": { + "address": "034A4358", + "length": 66 + }, + "ganon_rooms": { + "address": "034A81C0", + "length": 364 + }, + "gtg_rooms": { + "address": "034A832C", + "length": 312 + }, + "hash_sprites": { + "address": "034A9564", + "length": 8 + }, + "hash_symbols": { + "address": "034A9524", + "length": 64 + }, + "heap_next": { + "address": "034C20A4", + "length": 4 + }, + "heart_sprite": { + "address": "034A95B0", + "length": 16 + }, + "hideout_rooms": { + "address": "034A8464", + "length": 208 + }, + "ice_rooms": { + "address": "034A8534", + "length": 260 + }, + "icon_sprites": { + "address": "034A4428", + "length": 12 + }, + "illegal_model": { + "address": "034C1F60", + "length": 2 + }, + "incoming_junk": { + "address": "034AF568", + "length": 2 + }, + "input_icon_height": { + "address": "034A453E", + "length": 1 + }, + "input_icon_width": { + "address": "034A453F", + "length": 1 + }, + "input_number_height": { + "address": "034A453C", + "length": 1 + }, + "input_number_width": { + "address": "034A453D", + "length": 1 + }, + "item_digit_sprite": { + "address": "034A95D0", + "length": 16 + }, + "item_draw_table": { + "address": "034A9758", + "length": 5796 + }, + "item_overrides_count": { + "address": "034AF5A8", + "length": 4 + }, + "item_table": { + "address": "034AAF28", + "length": 8540 + }, + "items": { + "address": "034A9574", + "length": 21 + }, + "items_debug": { + "address": "034A78D4", + "length": 1054 + }, + "items_sprite": { + "address": "034A9650", + "length": 16 + }, + "jabu_rooms": { + "address": "034A8D54", + "length": 156 + }, + "key_counts": { + "address": "034AAF04", + "length": 34 + }, + "key_rupee_clock_sprite": { + "address": "034A95F0", + "length": 16 + }, + "last_fog_distance": { + "address": "034A93F8", + "length": 4 + }, + "left_alignment": { + "address": "034A453A", + "length": 2 + }, + "linkhead_skull_sprite": { + "address": "034A95C0", + "length": 16 + }, + "loaded_room_bit_offset": { + "address": "034A956C", + "length": 2 + }, + "loaded_scene_room_setup": { + "address": "034A9570", + "length": 4 + }, + "medals": { + "address": "034A9268", + "length": 24 + }, + "medals_sprite": { + "address": "034A9660", + "length": 16 + }, + "menu_categories": { + "address": "034A91B4", + "length": 160 + }, + "menu_cooldown": { + "address": "034A9254", + "length": 1 + }, + "missing_dlist": { + "address": "034C1F5C", + "length": 1 + }, + "normal_dd": { + "address": "034A9704", + "length": 4 + }, + "normal_no_dd": { + "address": "034A970C", + "length": 4 + }, + "num_override_flags": { + "address": "034AD9A4", + "length": 2 + }, + "num_to_bits": { + "address": "034AD43C", + "length": 64 + }, + "object_slots": { + "address": "034C1F64", + "length": 192 + }, + "ocarina_button_sprite": { + "address": "034A95A0", + "length": 16 + }, + "outgoing_queue": { + "address": "034AD920", + "length": 128 + }, + "overworld_warps": { + "address": "034A7E48", + "length": 782 + }, + "password_index": { + "address": "034A9520", + "length": 1 + }, + "quest_items_sprite": { + "address": "034A9640", + "length": 16 + }, + "randoGfxPoolIndex": { + "address": "034B7F30", + "length": 1 + }, + "randoGfxPools": { + "address": "034B7F38", + "length": 40960 + }, + "rando_overlay_db": { + "address": "034C1F40", + "length": 16 + }, + "respawnsByScene": { + "address": "034AD480", + "length": 200 + }, + "reward_rows": { + "address": "034A925C", + "length": 9 + }, + "room_flags": { + "address": "034AD808", + "length": 256 + }, + "rupee_colors": { + "address": "034A4518", + "length": 12 + }, + "rupee_digit_sprite": { + "address": "034A95E0", + "length": 16 + }, + "satisfied_pending_frames": { + "address": "034AF566", + "length": 1 + }, + "scene_fog_distance": { + "address": "034A93FC", + "length": 4 + }, + "setup_db": { + "address": "034A9688", + "length": 40 + }, + "shadow_rooms": { + "address": "034A880C", + "length": 364 + }, + "shooting_gallery_show_message": { + "address": "034C1F54", + "length": 1 + }, + "show_clock": { + "address": "034AD748", + "length": 1 + }, + "silver_rupee_vars": { + "address": "034AADFC", + "length": 264 + }, + "song_note_sprite": { + "address": "034A9600", + "length": 16 + }, + "spawn_actor_with_flag": { + "address": "034AF598", + "length": 4 + }, + "spirit_rooms": { + "address": "034A86D4", + "length": 312 + }, + "stones_sprite": { + "address": "034A9670", + "length": 16 + }, + "tentatives": { + "address": "034AD800", + "length": 2 + }, + "text_cursor_border_base": { + "address": "034A96B4", + "length": 4 + }, + "text_cursor_border_max": { + "address": "034A96B0", + "length": 4 + }, + "text_cursor_inner_base": { + "address": "034A96BC", + "length": 4 + }, + "text_cursor_inner_max": { + "address": "034A96B8", + "length": 4 + }, + "text_height": { + "address": "034A4680", + "length": 4 + }, + "text_width": { + "address": "034A4684", + "length": 4 + }, + "texture_table": { + "address": "034AD548", + "length": 496 + }, + "top_alignment": { + "address": "034A4538", + "length": 2 + }, + "trade_quest_items": { + "address": "034A4858", + "length": 616 + }, + "treasure_chest_game_show_message": { + "address": "034C1F53", + "length": 1 + }, + "triforce_sprite": { + "address": "034A9610", + "length": 16 + }, + "water_rooms": { + "address": "034A8978", + "length": 312 + }, + "xflag_room_blob": { + "address": "034AE628", + "length": 3000 + }, + "xflag_room_table": { + "address": "034AF1E0", + "length": 700 + }, + "xflag_scene_table": { + "address": "034AF49C", + "length": 202 + } } \ No newline at end of file diff --git a/data/items/MagicMeter.zobj b/data/items/MagicMeter.zobj new file mode 100644 index 0000000000..66160db976 Binary files /dev/null and b/data/items/MagicMeter.zobj differ diff --git a/data/items/MagicScroll.zobj b/data/items/MagicScroll.zobj new file mode 100644 index 0000000000..39f383caf5 Binary files /dev/null and b/data/items/MagicScroll.zobj differ diff --git a/data/presets_default.json b/data/presets_default.json index 5580055e08..517130cf5b 100644 --- a/data/presets_default.json +++ b/data/presets_default.json @@ -7,6 +7,7 @@ "user_message": "Easy Mode", "world_count": 1, "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -33,18 +34,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": false, "open_forest": "closed", "open_kakariko": "open", "open_door_of_time": true, @@ -58,28 +47,39 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, "warp_songs": false, "spawn_positions": [], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "off", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -89,9 +89,22 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": true, "disabled_locations": [ "Deku Theater Mask of Truth", @@ -101,13 +114,14 @@ ], "allowed_tricks": [], "starting_equipment": [], - "starting_songs": [], "starting_inventory": [ "zeldas_letter" ], + "starting_songs": [], "start_with_consumables": true, "start_with_rupees": true, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -119,14 +133,32 @@ "fast_bunny_hood": true, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": false, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 1, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": false, - "ocarina_songs": "off", + "clearer_hints": true, + "hints": "always", + "hint_dist": "very_strong", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "dampe_diary", + "ganondorf", + "warp_songs_and_owls", + "10_skulltulas", + "20_skulltulas", + "30_skulltulas", + "40_skulltulas", + "50_skulltulas", + "frogs2" + ], "correct_chest_appearances": "off", "chest_textures_specific": [ "major", @@ -139,6 +171,7 @@ "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_unchecked", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -147,51 +180,32 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "very_strong", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "altar", - "dampe_diary", - "ganondorf", - "warp_songs_and_owls", - "10_skulltulas", - "20_skulltulas", - "30_skulltulas", - "40_skulltulas", - "50_skulltulas", - "frogs2" - ], + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": false, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "normal", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, - "S7 Tournament": { + "S8 Tournament": { "aliases": [ - "s7", + "s8", "tournament" ], "show_seed_info": true, - "user_message": "S7 Tournament", + "user_message": "S8 Tournament", "world_count": 1, "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -204,7 +218,7 @@ "lacs_rewards": 9, "lacs_tokens": 100, "lacs_hearts": 20, - "bridge": "medallions", + "bridge": "vanilla", "bridge_medallions": 6, "bridge_stones": 3, "bridge_rewards": 9, @@ -212,24 +226,12 @@ "bridge_hearts": 20, "trials_random": false, "trials": 0, - "shuffle_ganon_bosskey": "remove", + "shuffle_ganon_bosskey": "medallions", "ganon_bosskey_medallions": 6, "ganon_bosskey_stones": 3, "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": false, "open_forest": "closed_deku", "open_kakariko": "open", "open_door_of_time": true, @@ -243,28 +245,41 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, "warp_songs": false, - "spawn_positions": [], + "spawn_positions": [ + "child" + ], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "off", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -274,43 +289,56 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ "Deku Theater Mask of Truth" ], "allowed_tricks": [ - "logic_fewer_tunic_requirements", "logic_grottos_without_agony", - "logic_child_deadhand", - "logic_man_on_roof", - "logic_dc_jump", + "logic_fewer_tunic_requirements", "logic_rusted_switches", + "logic_man_on_roof", "logic_windmill_poh", "logic_crater_bean_poh_with_hovers", + "logic_dc_jump", "logic_forest_vines", + "logic_child_deadhand", "logic_lens_botw", - "logic_lens_castle", - "logic_lens_gtg", "logic_lens_shadow", "logic_lens_shadow_platform", "logic_lens_bongo", "logic_lens_spirit", - "logic_visible_collisions" + "logic_lens_gtg", + "logic_lens_castle" ], "starting_equipment": [ "deku_shield" ], - "starting_songs": [], "starting_inventory": [ "ocarina", "zeldas_letter" ], + "starting_songs": [], "start_with_consumables": true, "start_with_rupees": false, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -322,14 +350,28 @@ "fast_bunny_hood": true, "auto_equip_masks": false, "plant_beans": false, - "chicken_count_random": false, - "chicken_count": 7, - "big_poe_count_random": false, - "big_poe_count": 1, "easier_fire_arrow_entry": false, "fae_torch_count": 3, "ruto_already_f1_jabu": false, - "ocarina_songs": "off", + "fast_shadow_boat": false, + "chicken_count_random": false, + "chicken_count": 3, + "big_poe_count_random": false, + "big_poe_count": 1, + "clearer_hints": true, + "hints": "always", + "hint_dist": "tournament", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "ganondorf", + "warp_songs_and_owls", + "30_skulltulas", + "40_skulltulas", + "50_skulltulas" + ], "correct_chest_appearances": "both", "chest_textures_specific": [ "major", @@ -341,56 +383,36 @@ "soa_unlocks_chest_texture": false, "minor_items_as_major_chest": [], "invisible_chests": false, - "correct_potcrate_appearances": "textures_content", - "potcrate_textures_specific": [ - "major", - "bosskeys", - "keys", - "tokens", - "hearts" - ], - "soa_unlocks_potcrate_texture": false, + "correct_potcrate_appearances": "off", "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "tournament", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "altar", - "ganondorf", - "warp_songs_and_owls", - "40_skulltulas", - "50_skulltulas", - "unique_merchants" - ], + "potcrate_textures_specific": [], + "soa_unlocks_potcrate_texture": false, + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", - "blue_fire_arrows": false, + "blue_fire_arrows": true, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "off", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "anything" }, - "Standard Weekly (2023-08-12)": { + "Standard Weekly (2024-09-21)": { "aliases": [ "Standard Weekly (Latest)", "weekly" ], "show_seed_info": true, - "user_message": "Standard Weekly (Latest)", + "user_message": "Standard Weekly (2024-09-21)", "world_count": 1, - "create_spoiler": false, + "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -403,7 +425,7 @@ "lacs_rewards": 9, "lacs_tokens": 100, "lacs_hearts": 20, - "bridge": "medallions", + "bridge": "vanilla", "bridge_medallions": 6, "bridge_stones": 3, "bridge_rewards": 9, @@ -411,24 +433,12 @@ "bridge_hearts": 20, "trials_random": false, "trials": 0, - "shuffle_ganon_bosskey": "remove", + "shuffle_ganon_bosskey": "medallions", "ganon_bosskey_medallions": 6, "ganon_bosskey_stones": 3, "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": false, "open_forest": "closed_deku", "open_kakariko": "open", "open_door_of_time": true, @@ -442,12 +452,15 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, - "shuffle_grotto_entrances": true, + "shuffle_gerudo_fortress_heart_piece": "remove", + "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, @@ -456,16 +469,24 @@ "child" ], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", - "shuffle_scrubs": "low", + "shuffle_scrubs": "off", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -475,9 +496,22 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ "Deku Theater Mask of Truth" @@ -498,19 +532,21 @@ "logic_lens_shadow", "logic_lens_shadow_platform", "logic_lens_bongo", - "logic_lens_spirit" + "logic_lens_spirit", + "logic_visible_collisions" ], "starting_equipment": [ "deku_shield" ], - "starting_songs": [], "starting_inventory": [ "ocarina", "zeldas_letter" ], + "starting_songs": [], "start_with_consumables": true, "start_with_rupees": false, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -522,14 +558,28 @@ "fast_bunny_hood": true, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": true, + "fast_shadow_boat": false, "chicken_count_random": false, - "chicken_count": 4, + "chicken_count": 3, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": false, - "ocarina_songs": "off", + "clearer_hints": true, + "hints": "always", + "hint_dist": "weekly", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "ganondorf", + "warp_songs_and_owls", + "30_skulltulas", + "40_skulltulas", + "50_skulltulas" + ], "correct_chest_appearances": "both", "chest_textures_specific": [ "major", @@ -542,6 +592,7 @@ "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_content", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -550,36 +601,21 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "weekly", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "altar", - "ganondorf", - "warp_songs_and_owls", - "40_skulltulas", - "50_skulltulas" - ], + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", - "blue_fire_arrows": false, + "blue_fire_arrows": true, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "off", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, "DDR Weekly (2023-06-12)": { "aliases": [ @@ -590,6 +626,7 @@ "user_message": "DDR Season 2", "world_count": 1, "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -616,18 +653,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": false, "open_forest": "open", "open_kakariko": "closed", "open_door_of_time": true, @@ -641,28 +666,39 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, "warp_songs": false, "spawn_positions": [], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "off", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -672,9 +708,22 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ "Deku Theater Mask of Truth" @@ -705,13 +754,14 @@ "logic_lens_bongo" ], "starting_equipment": [], - "starting_songs": [], "starting_inventory": [ "zeldas_letter" ], + "starting_songs": [], "start_with_consumables": false, "start_with_rupees": false, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -723,14 +773,31 @@ "fast_bunny_hood": false, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": false, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 7, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": false, - "ocarina_songs": "off", + "clearer_hints": true, + "hints": "always", + "hint_dist": "ddr", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "dampe_diary", + "ganondorf", + "warp_songs_and_owls", + "10_skulltulas", + "20_skulltulas", + "30_skulltulas", + "40_skulltulas", + "50_skulltulas" + ], "correct_chest_appearances": "off", "chest_textures_specific": [ "major", @@ -743,6 +810,7 @@ "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_unchecked", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -751,40 +819,21 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "ddr", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "altar", - "dampe_diary", - "ganondorf", - "warp_songs_and_owls", - "10_skulltulas", - "20_skulltulas", - "30_skulltulas", - "40_skulltulas", - "50_skulltulas" - ], + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": false, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "normal", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, "Scrub Tournament": { "aliases": [ @@ -793,7 +842,8 @@ "show_seed_info": true, "user_message": "Scrub Tournament", "world_count": 1, - "create_spoiler": false, + "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -820,18 +870,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": true, "open_forest": "closed_deku", "open_kakariko": "open", "open_door_of_time": true, @@ -845,12 +883,15 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "count", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 3, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, @@ -860,16 +901,21 @@ "adult" ], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "off", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -879,12 +925,24 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": true, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ - "Sheik in Ice Cavern", "Deku Theater Mask of Truth", "Kak 40 Gold Skulltula Reward", "Kak 50 Gold Skulltula Reward", @@ -909,17 +967,18 @@ "starting_equipment": [ "deku_shield" ], - "starting_songs": [ - "prelude" - ], "starting_inventory": [ "ocarina", "lens", "zeldas_letter" ], + "starting_songs": [ + "prelude" + ], "start_with_consumables": true, "start_with_rupees": true, "starting_hearts": 4, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -931,14 +990,26 @@ "fast_bunny_hood": true, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": true, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 3, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": true, - "ocarina_songs": "off", + "clearer_hints": true, + "hints": "always", + "hint_dist": "scrubs", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "ganondorf", + "20_skulltulas", + "30_skulltulas", + "warp_songs_and_owls" + ], "correct_chest_appearances": "textures", "chest_textures_specific": [ "major", @@ -951,6 +1022,7 @@ "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_unchecked", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -959,32 +1031,21 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "scrubs", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "ganondorf", - "20_skulltulas", - "30_skulltulas", - "warp_songs_and_owls" - ], + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": false, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "off", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, "Multiworld Tournament Season 4": { "aliases": [ @@ -995,6 +1056,7 @@ "user_message": "Multiworld Tournament Season 4", "world_count": 3, "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -1021,18 +1083,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": true, "open_forest": "open", "open_kakariko": "open", "open_door_of_time": true, @@ -1046,28 +1096,36 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, "warp_songs": false, "spawn_positions": [], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "4", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "low", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -1077,9 +1135,22 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": true, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ "Deku Theater Mask of Truth", @@ -1108,16 +1179,17 @@ "logic_deku_b1_webs_with_bow" ], "starting_equipment": [], - "starting_songs": [], "starting_inventory": [ "ocarina", "farores_wind", "lens", "zeldas_letter" ], + "starting_songs": [], "start_with_consumables": true, "start_with_rupees": true, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -1129,40 +1201,20 @@ "fast_bunny_hood": true, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": true, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 3, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": true, - "ocarina_songs": "off", - "correct_chest_appearances": "textures", - "chest_textures_specific": [ - "major", - "bosskeys", - "keys", - "tokens", - "hearts" - ], - "soa_unlocks_chest_texture": false, - "minor_items_as_major_chest": [], - "invisible_chests": false, - "correct_potcrate_appearances": "textures_content", - "potcrate_textures_specific": [ - "major", - "bosskeys", - "keys", - "tokens", - "hearts" - ], - "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": true, "clearer_hints": true, "hints": "always", "hint_dist": "mw_path", "item_hints": [], "hint_dist_user": {}, + "plandomized_locations": {}, "misc_hints": [ "altar", "ganondorf", @@ -1172,20 +1224,42 @@ "unique_merchants", "frogs2" ], + "correct_chest_appearances": "textures", + "chest_textures_specific": [ + "major", + "bosskeys", + "keys", + "tokens", + "hearts" + ], + "soa_unlocks_chest_texture": false, + "minor_items_as_major_chest": [], + "invisible_chests": false, + "correct_potcrate_appearances": "textures_content", + "key_appearance_match_dungeon": true, + "potcrate_textures_specific": [ + "major", + "bosskeys", + "keys", + "tokens", + "hearts" + ], + "soa_unlocks_potcrate_texture": false, + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": true, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "off", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, "Hell Mode": { "aliases": [ @@ -1195,6 +1269,7 @@ "user_message": "Hell Mode", "world_count": 1, "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -1221,18 +1296,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "keysanity", - "shuffle_smallkeys": "keysanity", - "shuffle_hideoutkeys": "keysanity", - "shuffle_tcgkeys": "keysanity", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "anywhere", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "remove", - "enhance_map_compass": true, "open_forest": "closed_deku", "open_kakariko": "closed", "open_door_of_time": false, @@ -1246,12 +1309,15 @@ "mq_dungeons_count": 6, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "all", "shuffle_hideout_entrances": true, + "shuffle_gerudo_fortress_heart_piece": "shuffle", "shuffle_grotto_entrances": true, "shuffle_dungeon_entrances": "all", "shuffle_bosses": "full", + "shuffle_ganon_tower": true, "shuffle_overworld_entrances": true, "shuffle_gerudo_valley_river_exit": true, "owl_drops": true, @@ -1261,7 +1327,6 @@ "adult" ], "free_bombchu_drops": true, - "one_item_per_dungeon": false, "shuffle_song_items": "any", "shopsanity": "0", "shopsanity_prices": "random_tycoon", @@ -1280,9 +1345,25 @@ "Gerudo Mask", "Mask of Truth" ], + "adult_trade_shuffle": true, + "adult_trade_start": [ + "Pocket Egg", + "Pocket Cucco", + "Cojiro", + "Odd Mushroom", + "Odd Potion", + "Poachers Saw", + "Broken Sword", + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "all", "shuffle_pots": "all", + "shuffle_empty_pots": false, "shuffle_crates": "all", + "shuffle_empty_crates": false, "shuffle_cows": true, "shuffle_beehives": true, "shuffle_wonderitems": true, @@ -1292,9 +1373,22 @@ "shuffle_beans": true, "shuffle_expensive_merchants": true, "shuffle_frog_song_rupees": true, - "shuffle_individual_ocarina_notes": true, "shuffle_loach_reward": "vanilla", + "shuffle_individual_ocarina_notes": true, "add_bronze_scale": true, + "shuffle_dungeon_rewards": "anywhere", + "shuffle_mapcompass": "remove", + "shuffle_smallkeys": "keysanity", + "shuffle_hideoutkeys": "keysanity", + "shuffle_tcgkeys": "keysanity", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "keysanity", + "shuffle_silver_rupees": "anywhere", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": true, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [], "allowed_tricks": [ @@ -1485,11 +1579,12 @@ "logic_light_trial_mq" ], "starting_equipment": [], - "starting_songs": [], "starting_inventory": [], + "starting_songs": [], "start_with_consumables": false, "start_with_rupees": false, "starting_hearts": 3, + "skip_reward_from_rauru": false, "no_escape_sequence": false, "no_guard_stealth": false, "no_epona_race": false, @@ -1501,14 +1596,21 @@ "fast_bunny_hood": false, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": false, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 7, "big_poe_count_random": false, "big_poe_count": 10, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": false, - "ocarina_songs": "all", + "clearer_hints": false, + "hints": "none", + "hint_dist": "useless", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [], "correct_chest_appearances": "off", "chest_textures_specific": [ "major", @@ -1521,6 +1623,7 @@ "minor_items_as_major_chest": [], "invisible_chests": true, "correct_potcrate_appearances": "off", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -1529,37 +1632,21 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": false, - "hints": "none", - "hint_dist": "useless", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [], + "ocarina_songs": "all", "text_shuffle": "complete", "damage_multiplier": "ohko", "deadly_bonks": "ohko", - "no_collectible_hearts": true, "starting_tod": "random", "blue_fire_arrows": false, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": true, + "one_item_per_dungeon": false, "item_pool_value": "minimal", "junk_ice_traps": "onslaught", - "ice_trap_appearance": "anything", - "adult_trade_shuffle": true, - "adult_trade_start": [ - "Pocket Egg", - "Pocket Cucco", - "Cojiro", - "Odd Mushroom", - "Odd Potion", - "Poachers Saw", - "Broken Sword", - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "anything" }, "Bingo": { "aliases": [ @@ -1569,6 +1656,7 @@ "user_message": "Bingo", "world_count": 1, "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -1595,18 +1683,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "dungeon", - "enhance_map_compass": false, "open_forest": "open", "open_kakariko": "closed", "open_door_of_time": true, @@ -1620,28 +1696,39 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, "warp_songs": false, "spawn_positions": [], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "off", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -1651,9 +1738,22 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "dungeon", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ "Deku Theater Mask of Truth", @@ -1672,11 +1772,12 @@ "logic_lens_spirit" ], "starting_equipment": [], - "starting_songs": [], "starting_inventory": [], + "starting_songs": [], "start_with_consumables": false, "start_with_rupees": false, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": false, "no_epona_race": false, @@ -1688,14 +1789,25 @@ "fast_bunny_hood": false, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": false, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 7, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": false, - "ocarina_songs": "off", + "clearer_hints": true, + "hints": "always", + "hint_dist": "bingo", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "ganondorf", + "warp_songs_and_owls" + ], "correct_chest_appearances": "off", "chest_textures_specific": [ "major", @@ -1708,6 +1820,7 @@ "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_unchecked", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -1716,44 +1829,32 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "bingo", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "altar", - "ganondorf", - "warp_songs_and_owls" - ], + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": false, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "normal", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, - "League S6": { + "League S7": { "aliases": [ "league", - "league_s6" + "league_s7" ], "show_seed_info": true, - "user_message": "OoTR League S6", + "user_message": "OoTR League S7", "world_count": 1, - "create_spoiler": false, + "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "beatable", @@ -1780,18 +1881,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": false, "open_forest": "closed_deku", "open_kakariko": "open", "open_door_of_time": true, @@ -1799,36 +1888,48 @@ "gerudo_fortress": "fast", "dungeon_shortcuts_choice": "off", "dungeon_shortcuts": [], - "starting_age": "adult", + "starting_age": "random", "mq_dungeons_mode": "vanilla", "mq_dungeons_specific": [], "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "off", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, "warp_songs": false, "spawn_positions": [ - "child" + "child", + "adult" ], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "off", "shopsanity_prices": "random", "tokensanity": "off", - "shuffle_scrubs": "off", + "shuffle_scrubs": "low", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -1838,12 +1939,35 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ - "Deku Theater Mask of Truth" + "Deku Theater Mask of Truth", + "Song from Impa", + "Dodongos Cavern Deku Scrub Lobby", + "Dodongos Cavern Deku Scrub Near Bomb Bag Right", + "Dodongos Cavern Deku Scrub Near Bomb Bag Left", + "Dodongos Cavern Deku Scrub Side Room Near Dodongos", + "Jabu Jabus Belly Deku Scrub", + "Ganons Castle Deku Scrub Center-Left", + "Ganons Castle Deku Scrub Center-Right", + "Ganons Castle Deku Scrub Right", + "Ganons Castle Deku Scrub Left" ], "allowed_tricks": [ "logic_fewer_tunic_requirements", @@ -1866,16 +1990,19 @@ "starting_equipment": [ "deku_shield" ], - "starting_songs": [], "starting_inventory": [ "ocarina", "lens", "farores_wind", "zeldas_letter" ], + "starting_songs": [ + "prelude" + ], "start_with_consumables": true, "start_with_rupees": true, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -1883,30 +2010,45 @@ "complete_mask_quest": false, "useful_cutscenes": false, "fast_chests": true, - "free_scarecrow": true, + "free_scarecrow": false, "fast_bunny_hood": true, "auto_equip_masks": false, - "plant_beans": false, + "plant_beans": true, + "easier_fire_arrow_entry": false, + "fae_torch_count": 3, + "ruto_already_f1_jabu": true, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 3, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": false, - "fae_torch_count": 3, - "ruto_already_f1_jabu": true, - "ocarina_songs": "off", - "correct_chest_appearances": "both", - "chest_textures_specific": [ - "major", - "bosskeys", - "keys", - "tokens", + "clearer_hints": true, + "hints": "always", + "hint_dist": "league", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "ganondorf", + "warp_songs_and_owls", + "30_skulltulas", + "40_skulltulas", + "50_skulltulas" + ], + "correct_chest_appearances": "both", + "chest_textures_specific": [ + "major", + "bosskeys", + "keys", + "tokens", "hearts" ], "soa_unlocks_chest_texture": false, "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_content", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -1915,37 +2057,21 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, - "clearer_hints": true, - "hints": "always", - "hint_dist": "league", - "item_hints": [], - "hint_dist_user": {}, - "misc_hints": [ - "altar", - "ganondorf", - "warp_songs_and_owls", - "30_skulltulas", - "40_skulltulas", - "50_skulltulas" - ], + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": true, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", "junk_ice_traps": "off", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" }, "Co-Op Tournament Season 3": { "aliases": [ @@ -1956,7 +2082,8 @@ "show_seed_info": true, "user_message": "Co-Op Tournament Season 3", "world_count": 1, - "create_spoiler": false, + "create_spoiler": true, + "password_lock": false, "randomize_settings": false, "logic_rules": "glitchless", "reachable_locations": "all", @@ -1983,18 +2110,6 @@ "ganon_bosskey_rewards": 9, "ganon_bosskey_tokens": 100, "ganon_bosskey_hearts": 20, - "shuffle_bosskeys": "dungeon", - "shuffle_smallkeys": "dungeon", - "shuffle_hideoutkeys": "vanilla", - "shuffle_tcgkeys": "vanilla", - "key_rings_choice": "off", - "key_rings": [], - "keyring_give_bk": false, - "shuffle_silver_rupees": "vanilla", - "silver_rupee_pouches_choice": "off", - "silver_rupee_pouches": [], - "shuffle_mapcompass": "startwith", - "enhance_map_compass": false, "open_forest": "open", "open_kakariko": "open", "open_door_of_time": true, @@ -2012,12 +2127,15 @@ "mq_dungeons_count": 0, "empty_dungeons_mode": "none", "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], "empty_dungeons_count": 2, "shuffle_interior_entrances": "off", "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "remove", "shuffle_grotto_entrances": false, "shuffle_dungeon_entrances": "simple", "shuffle_bosses": "off", + "shuffle_ganon_tower": false, "shuffle_overworld_entrances": false, "shuffle_gerudo_valley_river_exit": false, "owl_drops": false, @@ -2026,16 +2144,24 @@ "child" ], "free_bombchu_drops": false, - "one_item_per_dungeon": false, "shuffle_song_items": "song", "shopsanity": "4", "shopsanity_prices": "random", "tokensanity": "off", "shuffle_scrubs": "low", "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], "shuffle_freestanding_items": "off", "shuffle_pots": "off", + "shuffle_empty_pots": false, "shuffle_crates": "off", + "shuffle_empty_crates": false, "shuffle_cows": false, "shuffle_beehives": false, "shuffle_wonderitems": false, @@ -2045,9 +2171,22 @@ "shuffle_beans": false, "shuffle_expensive_merchants": false, "shuffle_frog_song_rupees": false, - "shuffle_individual_ocarina_notes": false, "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "dungeon", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, "logic_no_night_tokens_without_suns_song": false, "disabled_locations": [ "Deku Theater Mask of Truth", @@ -2074,16 +2213,17 @@ "logic_lens_spirit" ], "starting_equipment": [], - "starting_songs": [], "starting_inventory": [ "ocarina", "farores_wind", "lens", "zeldas_letter" ], + "starting_songs": [], "start_with_consumables": true, "start_with_rupees": true, "starting_hearts": 3, + "skip_reward_from_rauru": true, "no_escape_sequence": true, "no_guard_stealth": true, "no_epona_race": true, @@ -2095,14 +2235,25 @@ "fast_bunny_hood": true, "auto_equip_masks": false, "plant_beans": false, + "easier_fire_arrow_entry": true, + "fae_torch_count": 5, + "ruto_already_f1_jabu": false, + "fast_shadow_boat": false, "chicken_count_random": false, "chicken_count": 3, "big_poe_count_random": false, "big_poe_count": 1, - "easier_fire_arrow_entry": true, - "fae_torch_count": 5, - "ruto_already_f1_jabu": false, - "ocarina_songs": "off", + "clearer_hints": true, + "hints": "always", + "hint_dist": "coop", + "item_hints": [], + "hint_dist_user": {}, + "plandomized_locations": {}, + "misc_hints": [ + "altar", + "ganondorf", + "warp_songs_and_owls" + ], "correct_chest_appearances": "off", "chest_textures_specific": [ "major", @@ -2115,6 +2266,7 @@ "minor_items_as_major_chest": [], "invisible_chests": false, "correct_potcrate_appearances": "textures_unchecked", + "key_appearance_match_dungeon": false, "potcrate_textures_specific": [ "major", "bosskeys", @@ -2123,33 +2275,219 @@ "hearts" ], "soa_unlocks_potcrate_texture": false, - "key_appearance_match_dungeon": false, + "ocarina_songs": "off", + "text_shuffle": "none", + "damage_multiplier": "normal", + "deadly_bonks": "none", + "starting_tod": "default", + "blue_fire_arrows": true, + "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, + "item_pool_value": "balanced", + "junk_ice_traps": "off", + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" + }, + "No Logic Weekly": { + "aliases": [ + "no_logic", + "nl" + ], + "show_seed_info": true, + "user_message": "No Logic Weekly", + "world_count": 1, + "create_spoiler": true, + "password_lock": false, + "randomize_settings": false, + "logic_rules": "none", + "reachable_locations": "all", + "triforce_hunt": false, + "triforce_count_per_world": 30, + "triforce_goal_per_world": 20, + "lacs_condition": "vanilla", + "lacs_medallions": 6, + "lacs_stones": 3, + "lacs_rewards": 9, + "lacs_tokens": 100, + "lacs_hearts": 20, + "bridge": "dungeons", + "bridge_medallions": 6, + "bridge_stones": 3, + "bridge_rewards": 4, + "bridge_tokens": 100, + "bridge_hearts": 20, + "trials_random": false, + "trials": 0, + "shuffle_ganon_bosskey": "dungeons", + "ganon_bosskey_medallions": 6, + "ganon_bosskey_stones": 3, + "ganon_bosskey_rewards": 7, + "ganon_bosskey_tokens": 100, + "ganon_bosskey_hearts": 20, + "open_forest": "open", + "open_kakariko": "open", + "open_door_of_time": true, + "zora_fountain": "open", + "gerudo_fortress": "fast", + "dungeon_shortcuts_choice": "off", + "dungeon_shortcuts": [], + "starting_age": "random", + "mq_dungeons_mode": "vanilla", + "mq_dungeons_specific": [], + "mq_dungeons_count": 0, + "empty_dungeons_mode": "none", + "empty_dungeons_specific": [], + "empty_dungeons_rewards": [], + "empty_dungeons_count": 2, + "shuffle_interior_entrances": "off", + "shuffle_hideout_entrances": false, + "shuffle_gerudo_fortress_heart_piece": "vanilla", + "shuffle_grotto_entrances": false, + "shuffle_dungeon_entrances": "all", + "shuffle_bosses": "off", + "shuffle_ganon_tower": false, + "shuffle_overworld_entrances": false, + "shuffle_gerudo_valley_river_exit": false, + "owl_drops": false, + "warp_songs": false, + "spawn_positions": [], + "free_bombchu_drops": true, + "shuffle_song_items": "any", + "shopsanity": "4", + "shopsanity_prices": "random", + "tokensanity": "off", + "shuffle_scrubs": "low", + "shuffle_child_trade": [], + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ], + "shuffle_freestanding_items": "off", + "shuffle_pots": "off", + "shuffle_empty_pots": false, + "shuffle_crates": "off", + "shuffle_empty_crates": false, + "shuffle_cows": true, + "shuffle_beehives": false, + "shuffle_wonderitems": false, + "shuffle_kokiri_sword": true, + "shuffle_ocarinas": true, + "shuffle_gerudo_card": true, + "shuffle_beans": true, + "shuffle_expensive_merchants": true, + "shuffle_frog_song_rupees": true, + "shuffle_loach_reward": "off", + "shuffle_individual_ocarina_notes": false, + "add_bronze_scale": false, + "shuffle_dungeon_rewards": "reward", + "shuffle_mapcompass": "startwith", + "shuffle_smallkeys": "keysanity", + "shuffle_hideoutkeys": "keysanity", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "key_rings": [], + "keyring_give_bk": false, + "shuffle_bosskeys": "regional", + "shuffle_silver_rupees": "vanilla", + "silver_rupee_pouches_choice": "off", + "silver_rupee_pouches": [], + "enhance_map_compass": false, + "logic_no_night_tokens_without_suns_song": false, + "disabled_locations": [], + "allowed_tricks": [], + "starting_equipment": [], + "starting_inventory": [ + "zeldas_letter" + ], + "starting_songs": [], + "start_with_consumables": false, + "start_with_rupees": true, + "starting_hearts": 3, + "skip_reward_from_rauru": true, + "no_escape_sequence": true, + "no_guard_stealth": true, + "no_epona_race": true, + "skip_some_minigame_phases": true, + "complete_mask_quest": true, + "useful_cutscenes": true, + "fast_chests": true, + "free_scarecrow": false, + "fast_bunny_hood": false, + "auto_equip_masks": false, + "plant_beans": false, + "easier_fire_arrow_entry": false, + "fae_torch_count": 2, + "ruto_already_f1_jabu": false, + "fast_shadow_boat": false, + "chicken_count_random": true, + "chicken_count": 2, + "big_poe_count_random": false, + "big_poe_count": 1, "clearer_hints": true, "hints": "always", - "hint_dist": "coop", + "hint_dist": "very_strong_magic", "item_hints": [], "hint_dist_user": {}, + "plandomized_locations": {}, "misc_hints": [ "altar", + "dampe_diary", "ganondorf", - "warp_songs_and_owls" + "warp_songs_and_owls", + "10_skulltulas", + "20_skulltulas", + "30_skulltulas", + "40_skulltulas", + "50_skulltulas", + "frogs2", + "mask_shop", + "unique_merchants" ], + "correct_chest_appearances": "textures", + "chest_textures_specific": [ + "major", + "bosskeys", + "keys", + "tokens", + "hearts" + ], + "soa_unlocks_chest_texture": false, + "minor_items_as_major_chest": [ + "bombchus", + "shields", + "capacity" + ], + "invisible_chests": false, + "correct_potcrate_appearances": "textures_unchecked", + "key_appearance_match_dungeon": true, + "potcrate_textures_specific": [ + "major", + "bosskeys", + "keys", + "tokens", + "hearts" + ], + "soa_unlocks_potcrate_texture": false, + "ocarina_songs": "off", "text_shuffle": "none", "damage_multiplier": "normal", "deadly_bonks": "none", - "no_collectible_hearts": false, "starting_tod": "default", "blue_fire_arrows": true, "fix_broken_drops": false, + "tcg_requires_lens": false, + "no_collectible_hearts": false, + "one_item_per_dungeon": false, "item_pool_value": "balanced", - "junk_ice_traps": "off", - "ice_trap_appearance": "junk_only", - "adult_trade_shuffle": false, - "adult_trade_start": [ - "Prescription", - "Eyeball Frog", - "Eyedrops", - "Claim Check" - ] + "junk_ice_traps": "normal", + "custom_ice_trap_percent": 50, + "custom_ice_trap_count": 100, + "ice_trap_appearance": "junk_only" } } diff --git a/data/settings_mapping.json b/data/settings_mapping.json index 36de5665ee..4b24ed553f 100644 --- a/data/settings_mapping.json +++ b/data/settings_mapping.json @@ -163,12 +163,15 @@ "mq_dungeons_count", "empty_dungeons_mode", "empty_dungeons_specific", + "empty_dungeons_rewards", "empty_dungeons_count", "shuffle_interior_entrances", "shuffle_hideout_entrances", + "shuffle_gerudo_fortress_heart_piece", "shuffle_grotto_entrances", "shuffle_dungeon_entrances", "shuffle_bosses", + "shuffle_ganon_tower", "shuffle_overworld_entrances", "shuffle_gerudo_valley_river_exit", "owl_drops", @@ -178,7 +181,7 @@ "triforce_count_per_world", "triforce_goal_per_world", "free_bombchu_drops", - "one_item_per_dungeon" + "plandomized_locations" ] }, { @@ -196,7 +199,9 @@ "adult_trade_start", "shuffle_freestanding_items", "shuffle_pots", + "shuffle_empty_pots", "shuffle_crates", + "shuffle_empty_crates", "shuffle_cows", "shuffle_beehives", "shuffle_wonderitems", @@ -216,6 +221,7 @@ "text": "Shuffle Dungeon Items", "row_span": [6,6,9], "settings": [ + "shuffle_dungeon_rewards", "shuffle_mapcompass", "shuffle_smallkeys", "shuffle_hideoutkeys", @@ -325,8 +331,10 @@ { "name": "speedup_section", "text": "Timesavers", - "row_span": [1,1,1], + "col_span": 2, + "row_span": [3,3,3], "settings": [ + "skip_reward_from_rauru", "no_escape_sequence", "no_guard_stealth", "no_epona_race", @@ -338,51 +346,66 @@ "fast_bunny_hood", "auto_equip_masks", "plant_beans", + "easier_fire_arrow_entry", + "fae_torch_count", + "ruto_already_f1_jabu", + "fast_shadow_boat", "chicken_count_random", "chicken_count", "big_poe_count_random", - "big_poe_count", - "easier_fire_arrow_entry", - "fae_torch_count", - "ruto_already_f1_jabu" + "big_poe_count" ] }, { - "name": "misc_section", - "text": "Misc", - "row_span": [1,1,1], + "name": "hints_information_section", + "text": "Hints and Information", + "col_span": 1, + "row_span": [2,2,2], + "settings": [ + "clearer_hints", + "hints", + "hint_dist", + "bingosync_url", + "misc_hints", + "correct_chest_appearances", + "chest_textures_specific", + "soa_unlocks_chest_texture", + "minor_items_as_major_chest", + "invisible_chests", + "correct_potcrate_appearances", + "key_appearance_match_dungeon", + "potcrate_textures_specific", + "soa_unlocks_potcrate_texture" + ] + }, + { + "name": "gameplay_changes_section", + "text": "Gameplay Changes", + "col_span": 1, + "row_span": [3,3,3], "settings": [ "ocarina_songs", - "correct_chest_appearances", - "chest_textures_specific", - "soa_unlocks_chest_texture", - "minor_items_as_major_chest", - "invisible_chests", - "correct_potcrate_appearances", - "potcrate_textures_specific", - "soa_unlocks_potcrate_texture", - "key_appearance_match_dungeon", - "clearer_hints", - "hints", - "hint_dist", - "bingosync_url", - "misc_hints", "text_shuffle", "damage_multiplier", "deadly_bonks", - "no_collectible_hearts", "starting_tod", "blue_fire_arrows", - "fix_broken_drops" + "fix_broken_drops", + "tcg_requires_lens", + "no_collectible_hearts", + "one_item_per_dungeon" ] }, { "name": "item_pool_section", "text": "Item Pool", + "col_span": 1, "row_span": [1,1,1], "settings": [ "item_pool_value", "junk_ice_traps", + "custom_ice_trap_percent", + "custom_ice_trap_count", "ice_trap_appearance" ] } @@ -538,6 +561,7 @@ "settings": [ "custom_music_directorypicker", "background_music", + "display_custom_song_names", "fanfares", "ocarina_fanfares", "credits_music" diff --git a/tests/entrance.sav b/tests/entrance.sav index 427f9e679d..e106de979a 100644 --- a/tests/entrance.sav +++ b/tests/entrance.sav @@ -1,5 +1,5 @@ { -"seed": "TESTTESTTEST", +"seed": "ENTRANCES", "create_spoiler": true, "create_patch_file": false, "create_compressed_rom": false, diff --git a/tests/plando/custom-ice-traps-count.json b/tests/plando/custom-ice-traps-count.json new file mode 100644 index 0000000000..c1011a294d --- /dev/null +++ b/tests/plando/custom-ice-traps-count.json @@ -0,0 +1,6 @@ +{ + "settings": { + "junk_ice_traps": "custom_count", + "custom_ice_trap_count": 50 + } +} diff --git a/tests/plando/custom-ice-traps-percent-triforce-hunt.json b/tests/plando/custom-ice-traps-percent-triforce-hunt.json new file mode 100644 index 0000000000..8b0edc334e --- /dev/null +++ b/tests/plando/custom-ice-traps-percent-triforce-hunt.json @@ -0,0 +1,10 @@ +{ + "settings": { + "triforce_hunt": true, + "shuffle_pots": "all", + "triforce_count_per_world": 100, + "triforce_goal_per_world": 50, + "junk_ice_traps": "custom_percent", + "custom_ice_trap_percent": 75 + } +} diff --git a/tests/plando/custom-ice-traps-percent.json b/tests/plando/custom-ice-traps-percent.json new file mode 100644 index 0000000000..4fc01d56ec --- /dev/null +++ b/tests/plando/custom-ice-traps-percent.json @@ -0,0 +1,6 @@ +{ + "settings": { + "junk_ice_traps": "custom_percent", + "custom_ice_trap_percent": 75 + } +} diff --git a/tests/plando/one-hint-per-goal-dungeons.json b/tests/plando/one-hint-per-goal-dungeons.json index cde427936e..bd2b587e36 100644 --- a/tests/plando/one-hint-per-goal-dungeons.json +++ b/tests/plando/one-hint-per-goal-dungeons.json @@ -19,6 +19,7 @@ "tokensanity": "all", "mq_dungeons_mode": "vanilla", "disabled_locations": [], + "skip_reward_from_rauru": true, "hint_dist_user": { "name": "goal_coverage_unit_test", "gui_name": "Goal Coverage Unit Test", @@ -53,7 +54,7 @@ } }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/one-hint-per-goal-hearts.json b/tests/plando/one-hint-per-goal-hearts.json index fc7f13d30e..64aab9a821 100644 --- a/tests/plando/one-hint-per-goal-hearts.json +++ b/tests/plando/one-hint-per-goal-hearts.json @@ -19,6 +19,7 @@ "tokensanity": "all", "mq_dungeons_mode": "vanilla", "disabled_locations": [], + "skip_reward_from_rauru": true, "hint_dist_user": { "name": "goal_coverage_unit_test", "gui_name": "Goal Coverage Unit Test", @@ -53,7 +54,7 @@ } }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/one-hint-per-goal-medallions.json b/tests/plando/one-hint-per-goal-medallions.json index 22145dd19a..fe8bea9fb3 100644 --- a/tests/plando/one-hint-per-goal-medallions.json +++ b/tests/plando/one-hint-per-goal-medallions.json @@ -19,6 +19,7 @@ "tokensanity": "all", "mq_dungeons_mode": "vanilla", "disabled_locations": [], + "skip_reward_from_rauru": true, "hint_dist_user": { "name": "goal_coverage_unit_test", "gui_name": "Goal Coverage Unit Test", @@ -53,7 +54,7 @@ } }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/one-hint-per-goal-skulls.json b/tests/plando/one-hint-per-goal-skulls.json index 2be285bd4d..360febf44d 100644 --- a/tests/plando/one-hint-per-goal-skulls.json +++ b/tests/plando/one-hint-per-goal-skulls.json @@ -19,6 +19,7 @@ "tokensanity": "all", "mq_dungeons_mode": "vanilla", "disabled_locations": [], + "skip_reward_from_rauru": true, "hint_dist_user": { "name": "goal_coverage_unit_test", "gui_name": "Goal Coverage Unit Test", @@ -53,7 +54,7 @@ } }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/one-hint-per-goal-stones.json b/tests/plando/one-hint-per-goal-stones.json index 30fa68f153..061528c227 100644 --- a/tests/plando/one-hint-per-goal-stones.json +++ b/tests/plando/one-hint-per-goal-stones.json @@ -19,6 +19,7 @@ "tokensanity": "all", "mq_dungeons_mode": "vanilla", "disabled_locations": [], + "skip_reward_from_rauru": true, "hint_dist_user": { "name": "goal_coverage_unit_test", "gui_name": "Goal Coverage Unit Test", @@ -53,7 +54,7 @@ } }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/one-hint-per-goal-triforce-hunt.json b/tests/plando/one-hint-per-goal-triforce-hunt.json index b0212b98d1..0db47dc5d5 100644 --- a/tests/plando/one-hint-per-goal-triforce-hunt.json +++ b/tests/plando/one-hint-per-goal-triforce-hunt.json @@ -20,6 +20,7 @@ "tokensanity": "all", "mq_dungeons_mode": "vanilla", "disabled_locations": [], + "skip_reward_from_rauru": true, "hint_dist_user": { "name": "goal_coverage_unit_test", "gui_name": "Goal Coverage Unit Test", @@ -54,7 +55,7 @@ } }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/plando-goals-exclusions-skulls-bridge.json b/tests/plando/plando-goals-exclusions-skulls-bridge.json index 41291fe6ba..34a5a3f75e 100644 --- a/tests/plando/plando-goals-exclusions-skulls-bridge.json +++ b/tests/plando/plando-goals-exclusions-skulls-bridge.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "Zora River", "from": "ZR Top of Waterfall"} }, "locations": { - "Links Pocket": "Fire Medallion", + "ToT Reward from Rauru": "Fire Medallion", "Queen Gohma": "Forest Medallion", "King Dodongo": "Shadow Medallion", "Barinade": "Light Medallion", diff --git a/tests/plando/plando-goals-exclusions-skulls-gbk.json b/tests/plando/plando-goals-exclusions-skulls-gbk.json index afab8576e6..0bfa0575f3 100644 --- a/tests/plando/plando-goals-exclusions-skulls-gbk.json +++ b/tests/plando/plando-goals-exclusions-skulls-gbk.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "Zora River", "from": "ZR Top of Waterfall"} }, "locations": { - "Links Pocket": "Fire Medallion", + "ToT Reward from Rauru": "Fire Medallion", "Queen Gohma": "Forest Medallion", "King Dodongo": "Shadow Medallion", "Barinade": "Light Medallion", diff --git a/tests/plando/plando-goals-exclusions-var-dungeons.json b/tests/plando/plando-goals-exclusions-var-dungeons.json index d679921daf..654f5f2e16 100644 --- a/tests/plando/plando-goals-exclusions-var-dungeons.json +++ b/tests/plando/plando-goals-exclusions-var-dungeons.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "LW Beyond Mido", "from": "SFM Entryway"} }, "locations": { - "Links Pocket": "Kokiri Emerald", + "ToT Reward from Rauru": "Kokiri Emerald", "Queen Gohma": "Spirit Medallion", "King Dodongo": "Fire Medallion", "Barinade": "Forest Medallion", diff --git a/tests/plando/plando-goals-exclusions-var-meds.json b/tests/plando/plando-goals-exclusions-var-meds.json index fa7247758b..408d29ae1c 100644 --- a/tests/plando/plando-goals-exclusions-var-meds.json +++ b/tests/plando/plando-goals-exclusions-var-meds.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "LW Beyond Mido", "from": "SFM Entryway"} }, "locations": { - "Links Pocket": "Kokiri Emerald", + "ToT Reward from Rauru": "Kokiri Emerald", "Queen Gohma": "Spirit Medallion", "King Dodongo": "Fire Medallion", "Barinade": "Forest Medallion", diff --git a/tests/plando/plando-goals-exclusions-var-stones.json b/tests/plando/plando-goals-exclusions-var-stones.json index ec768b4dd8..e96011d55e 100644 --- a/tests/plando/plando-goals-exclusions-var-stones.json +++ b/tests/plando/plando-goals-exclusions-var-stones.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "Hyrule Field", "from": "ZR Front"} }, "locations": { - "Links Pocket": "Kokiri Emerald", + "ToT Reward from Rauru": "Kokiri Emerald", "Queen Gohma": "Goron Ruby", "King Dodongo": "Shadow Medallion", "Barinade": "Zora Sapphire", diff --git a/tests/plando/plando-goals-multiworld-crisscross-entrance-locks.json b/tests/plando/plando-goals-multiworld-crisscross-entrance-locks.json index fcd91c8d72..180a53b192 100644 --- a/tests/plando/plando-goals-multiworld-crisscross-entrance-locks.json +++ b/tests/plando/plando-goals-multiworld-crisscross-entrance-locks.json @@ -238,7 +238,7 @@ }, "locations": { "World 1": { - "Links Pocket": {"item": "Fire Medallion", "player": 1}, + "ToT Reward from Rauru": {"item": "Fire Medallion", "player": 1}, "Queen Gohma": {"item": "Water Medallion", "player": 1}, "King Dodongo": {"item": "Forest Medallion", "player": 1}, "Barinade": {"item": "Kokiri Emerald", "player": 1}, @@ -503,7 +503,7 @@ "Ganons Tower Boss Key Chest": {"item": "Small Key (Ganons Castle)", "player": 1} }, "World 2": { - "Links Pocket": {"item": "Light Medallion", "player": 2}, + "ToT Reward from Rauru": {"item": "Light Medallion", "player": 2}, "Queen Gohma": {"item": "Water Medallion", "player": 2}, "King Dodongo": {"item": "Zora Sapphire", "player": 2}, "Barinade": {"item": "Fire Medallion", "player": 2}, diff --git a/tests/plando/plando-goals-priority-bridge.json b/tests/plando/plando-goals-priority-bridge.json index 803eb5db97..2e553ba401 100644 --- a/tests/plando/plando-goals-priority-bridge.json +++ b/tests/plando/plando-goals-priority-bridge.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "Zora River", "from": "Lost Woods"} }, "locations": { - "Links Pocket": "Water Medallion", + "ToT Reward from Rauru": "Water Medallion", "Queen Gohma": "Shadow Medallion", "King Dodongo": "Fire Medallion", "Barinade": "Zora Sapphire", diff --git a/tests/plando/plando-goals-priority-custom.json b/tests/plando/plando-goals-priority-custom.json index f08347c3a4..2e731d32ee 100644 --- a/tests/plando/plando-goals-priority-custom.json +++ b/tests/plando/plando-goals-priority-custom.json @@ -308,7 +308,7 @@ "Child Spawn -> KF Links House": "KF House of Twins" }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Zora Sapphire", "King Dodongo": "Water Medallion", "Barinade": "Fire Medallion", diff --git a/tests/plando/plando-goals-priority-gbk.json b/tests/plando/plando-goals-priority-gbk.json index 15b3c42f52..2dd5cb6e17 100644 --- a/tests/plando/plando-goals-priority-gbk.json +++ b/tests/plando/plando-goals-priority-gbk.json @@ -265,7 +265,7 @@ "Child Spawn -> KF Links House": {"region": "LW Bridge", "from": "Hyrule Field"} }, "locations": { - "Links Pocket": "Spirit Medallion", + "ToT Reward from Rauru": "Spirit Medallion", "Queen Gohma": "Fire Medallion", "King Dodongo": "Goron Ruby", "Barinade": "Zora Sapphire", diff --git a/tests/plando/plando-goals-priority-mixed-trials.json b/tests/plando/plando-goals-priority-mixed-trials.json index 8671464166..8c01b50c6f 100644 --- a/tests/plando/plando-goals-priority-mixed-trials.json +++ b/tests/plando/plando-goals-priority-mixed-trials.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": "Kak Carpenter Boss House" }, "locations": { - "Links Pocket": "Kokiri Emerald", + "ToT Reward from Rauru": "Kokiri Emerald", "Queen Gohma": "Water Medallion", "King Dodongo": "Light Medallion", "Barinade": "Fire Medallion", diff --git a/tests/plando/plando-goals-priority-mixed.json b/tests/plando/plando-goals-priority-mixed.json index 838e11953a..b82614367d 100644 --- a/tests/plando/plando-goals-priority-mixed.json +++ b/tests/plando/plando-goals-priority-mixed.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "LW Beyond Mido", "from": "SFM Entryway"} }, "locations": { - "Links Pocket": "Kokiri Emerald", + "ToT Reward from Rauru": "Kokiri Emerald", "Queen Gohma": "Spirit Medallion", "King Dodongo": "Fire Medallion", "Barinade": "Forest Medallion", diff --git a/tests/plando/plando-goals-priority-triforce-hunt.json b/tests/plando/plando-goals-priority-triforce-hunt.json index 8af4b810dd..4aa699e796 100644 --- a/tests/plando/plando-goals-priority-triforce-hunt.json +++ b/tests/plando/plando-goals-priority-triforce-hunt.json @@ -265,7 +265,7 @@ "Child Spawn -> KF Links House": {"region": "Market", "from": "ToT Entrance"} }, "locations": { - "Links Pocket": "Shadow Medallion", + "ToT Reward from Rauru": "Shadow Medallion", "Queen Gohma": "Goron Ruby", "King Dodongo": "Spirit Medallion", "Barinade": "Light Medallion", diff --git a/tests/plando/plando-goals-starting-items-fallback.json b/tests/plando/plando-goals-starting-items-fallback.json index 8444afaef0..615b405132 100644 --- a/tests/plando/plando-goals-starting-items-fallback.json +++ b/tests/plando/plando-goals-starting-items-fallback.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": "LLR Talons House" }, "locations": { - "Links Pocket": "Forest Medallion", + "ToT Reward from Rauru": "Forest Medallion", "Queen Gohma": "Water Medallion", "King Dodongo": "Kokiri Emerald", "Barinade": "Zora Sapphire", diff --git a/tests/plando/plando-goals-starting-items-trials.json b/tests/plando/plando-goals-starting-items-trials.json index f7d6789a0d..d048f023c2 100644 --- a/tests/plando/plando-goals-starting-items-trials.json +++ b/tests/plando/plando-goals-starting-items-trials.json @@ -266,7 +266,7 @@ "Child Spawn -> KF Links House": {"region": "Gerudo Fortress", "from": "GV Fortress Side"} }, "locations": { - "Links Pocket": "Water Medallion", + "ToT Reward from Rauru": "Water Medallion", "Queen Gohma": "Goron Ruby", "King Dodongo": "Light Medallion", "Barinade": "Spirit Medallion", diff --git a/tests/plando/plando-table-tests.json b/tests/plando/plando-table-tests.json new file mode 100644 index 0000000000..75a6afdbcb --- /dev/null +++ b/tests/plando/plando-table-tests.json @@ -0,0 +1,222 @@ +{ + ":version": "8.0.10 f.LUM", + "file_hash": ["Bow", "Boomerang", "Slingshot", "Deku Nut", "Bottled Milk"], + ":seed": "5425FUNZRK", + ":settings_string": "BSA4BGBSWJAABVGBAEAPLFASJCCANACBABKK7U9AABAAABAQSU2DANCAASAJADSB4SHAEALV6WL7RANADKWLYA29HW2TEM46KWKXQF5YRBH8N4XP9G864Z99AR46AEAB33AJNJ2EDJLAEE2WQB", + ":enable_distribution_file": false, + "settings": { + "show_seed_info": true, + "user_message": "S7 Tournament", + "world_count": 1, + "create_spoiler": true, + "randomize_settings": false, + "logic_rules": "glitchless", + "reachable_locations": "all", + "triforce_hunt": false, + "lacs_condition": "vanilla", + "bridge": "dungeons", + "bridge_rewards": 4, + "trials_random": false, + "trials": 0, + "shuffle_ganon_bosskey": "dungeons", + "ganon_bosskey_rewards": 6, + "shuffle_bosskeys": "dungeon", + "shuffle_smallkeys": "dungeon", + "shuffle_hideoutkeys": "vanilla", + "shuffle_tcgkeys": "vanilla", + "key_rings_choice": "off", + "shuffle_silver_rupees": "anywhere", + "silver_rupee_pouches_choice": "off", + "shuffle_mapcompass": "startwith", + "enhance_map_compass": false, + "open_forest": "closed_deku", + "open_kakariko": "open", + "open_door_of_time": false, + "zora_fountain": "closed", + "gerudo_fortress": "normal", + "dungeon_shortcuts_choice": "all", + "starting_age": "adult", + "mq_dungeons_mode": "specific", + "mq_dungeons_specific": [ + "Deku Tree", + "Dodongos Cavern", + "Jabu Jabus Belly", + "Forest Temple", + "Fire Temple", + "Water Temple", + "Shadow Temple", + "Spirit Temple" + ], + "empty_dungeons_mode": "none", + "shuffle_interior_entrances": "off", + "shuffle_grotto_entrances": false, + "shuffle_dungeon_entrances": "off", + "shuffle_bosses": "off", + "shuffle_overworld_entrances": false, + "shuffle_gerudo_valley_river_exit": false, + "owl_drops": false, + "warp_songs": false, + "spawn_positions": [], + "free_bombchu_drops": false, + "one_item_per_dungeon": false, + "shuffle_song_items": "any", + "shopsanity": "off", + "tokensanity": "off", + "shuffle_scrubs": "off", + "shuffle_child_trade": [ + "Bunny Hood" + ], + "shuffle_freestanding_items": "all", + "shuffle_pots": "all", + "shuffle_empty_pots": true, + "shuffle_crates": "all", + "shuffle_empty_crates": true, + "shuffle_cows": false, + "shuffle_beehives": true, + "shuffle_wonderitems": true, + "shuffle_kokiri_sword": true, + "shuffle_ocarinas": true, + "shuffle_gerudo_card": false, + "shuffle_beans": false, + "shuffle_expensive_merchants": false, + "shuffle_frog_song_rupees": false, + "shuffle_individual_ocarina_notes": false, + "shuffle_loach_reward": "off", + "logic_no_night_tokens_without_suns_song": false, + "disabled_locations": [ + "Deku Theater Mask of Truth" + ], + "allowed_tricks": [ + "logic_fewer_tunic_requirements", + "logic_grottos_without_agony", + "logic_child_deadhand", + "logic_man_on_roof", + "logic_dc_jump", + "logic_rusted_switches", + "logic_windmill_poh", + "logic_crater_bean_poh_with_hovers", + "logic_forest_vines", + "logic_lens_botw", + "logic_lens_castle", + "logic_lens_gtg", + "logic_lens_shadow", + "logic_lens_shadow_platform", + "logic_lens_bongo", + "logic_lens_spirit", + "logic_visible_collisions" + ], + "starting_items": { + "Deku Shield": 1, + "Hylian Shield": 1, + "Kokiri Sword": 1, + "Giants Knife": 1, + "Biggoron Sword": 1, + "Mirror Shield": 1, + "Goron Tunic": 1, + "Zora Tunic": 1, + "Iron Boots": 1, + "Hover Boots": 1, + "Magic Meter": 2, + "Progressive Strength Upgrade": 3, + "Progressive Scale": 2, + "Progressive Wallet": 3, + "Stone of Agony": 1, + "Double Defense": 1, + "Zeldas Lullaby": 1, + "Eponas Song": 1, + "Sarias Song": 1, + "Suns Song": 1, + "Song of Time": 1, + "Song of Storms": 1, + "Minuet of Forest": 1, + "Bolero of Fire": 1, + "Serenade of Water": 1, + "Requiem of Spirit": 1, + "Nocturne of Shadow": 1, + "Prelude of Light": 1, + "Bunny Hood": 1, + "Zeldas Letter": 1, + "Rutos Letter": 1, + "Deku Stick Capacity": 2, + "Deku Sticks": 30, + "Deku Nut Capacity": 2, + "Deku Nuts": 40, + "Bomb Bag": 3, + "Bombs": 40, + "Bow": 3, + "Arrows": 50, + "Fire Arrows": 1, + "Dins Fire": 1, + "Slingshot": 3, + "Deku Seeds": 50, + "Ocarina": 2, + "Bombchus": 20, + "Progressive Hookshot": 2, + "Ice Arrows": 1, + "Farores Wind": 1, + "Boomerang": 1, + "Lens of Truth": 1, + "Magic Bean": 10, + "Megaton Hammer": 1, + "Light Arrows": 1, + "Nayrus Love": 1, + "Bottle": 3 + }, + "start_with_consumables": true, + "start_with_rupees": true, + "starting_hearts": 3, + "no_escape_sequence": true, + "no_guard_stealth": true, + "no_epona_race": true, + "skip_some_minigame_phases": true, + "complete_mask_quest": false, + "useful_cutscenes": false, + "fast_chests": true, + "free_scarecrow": false, + "fast_bunny_hood": true, + "auto_equip_masks": true, + "plant_beans": false, + "chicken_count_random": false, + "chicken_count": 7, + "big_poe_count_random": false, + "big_poe_count": 1, + "easier_fire_arrow_entry": false, + "ruto_already_f1_jabu": false, + "ocarina_songs": "off", + "correct_chest_appearances": "both", + "minor_items_as_major_chest": [], + "invisible_chests": false, + "correct_potcrate_appearances": "textures_content", + "key_appearance_match_dungeon": false, + "clearer_hints": true, + "hints": "always", + "hint_dist": "tournament", + "item_hints": [], + "hint_dist_user": {}, + "misc_hints": [ + "altar", + "ganondorf", + "warp_songs_and_owls", + "40_skulltulas", + "50_skulltulas", + "unique_merchants" + ], + "text_shuffle": "none", + "damage_multiplier": "normal", + "deadly_bonks": "ohko", + "no_collectible_hearts": false, + "starting_tod": "default", + "blue_fire_arrows": false, + "fix_broken_drops": false, + "item_pool_value": "balanced", + "junk_ice_traps": "off", + "ice_trap_appearance": "junk_only", + "adult_trade_shuffle": false, + "adult_trade_start": [ + "Prescription", + "Eyeball Frog", + "Eyedrops", + "Claim Check" + ] + } +} \ No newline at end of file diff --git a/version.py b/version.py index 901b0ef07e..f536934560 100644 --- a/version.py +++ b/version.py @@ -1,4 +1,4 @@ -__version__ = '8.1.37' +__version__ = '8.2.46' # This is a supplemental version number for branches based off of main dev. supplementary_version = 0