From a0650ddd79546aff7f524d3cfa0c9904546a4093 Mon Sep 17 00:00:00 2001 From: "Marat Zakiyanov (Mario79)" Date: Sun, 4 Jan 2015 19:21:14 +0000 Subject: [PATCH] =?UTF-8?q?"So=20Long,=20and=20Thanks=20for=20all=20the=20?= =?UTF-8?q?Fish!"=20The=20Hitchhiker=E2=80=99s=20Guide=20to=20the=20Galaxy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://kolibrios.org@5348 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/games/rstearth/Tupfile.lua | 3 - programs/games/rstearth/actions.inc | 157 ----- programs/games/rstearth/actions_npc.inc | 401 ------------- .../games/rstearth/actions_protagonist.inc | 97 ---- .../games/rstearth/actions_white_bricks.inc | 81 --- programs/games/rstearth/build_en.bat | 19 - programs/games/rstearth/build_ru.bat | 19 - programs/games/rstearth/error_window.inc | 116 ---- programs/games/rstearth/font.inc | 38 -- programs/games/rstearth/i_data.inc | 326 ----------- programs/games/rstearth/icon_convert.inc | 43 -- programs/games/rstearth/key.inc | 260 --------- programs/games/rstearth/levels.inc | 168 ------ programs/games/rstearth/load.inc | 164 ------ programs/games/rstearth/localization_eng.inc | 73 --- programs/games/rstearth/localization_rus.inc | 75 --- programs/games/rstearth/menu.inc | 421 -------------- programs/games/rstearth/random.inc | 8 - .../games/rstearth/resources/barret_8bpp.png | Bin 4559 -> 0 bytes .../games/rstearth/resources/base_8bpp.png | Bin 14526 -> 0 bytes .../games/rstearth/resources/death_8bpp.png | Bin 5100 -> 0 bytes programs/games/rstearth/resources/flaunch.wav | Bin 4582 -> 0 bytes .../rstearth/resources/font_russo_1bpp.png | Bin 3726 -> 0 bytes .../games/rstearth/resources/ifrit_8bpp.png | Bin 7998 -> 0 bytes .../games/rstearth/resources/miku_8bpp.png | Bin 4020 -> 0 bytes .../games/rstearth/resources/misc_menu.wav | Bin 3268 -> 0 bytes .../rstearth/resources/red_brick_8bpp.png | Bin 2178 -> 0 bytes .../rstearth/resources/skeleton_8bpp.png | Bin 4400 -> 0 bytes .../resources/walking_with_poseidon.wav | Bin 313486 -> 0 bytes .../rstearth/resources/white_brick_8bpp.png | Bin 908 -> 0 bytes programs/games/rstearth/rstearth.asm | 343 ----------- programs/games/rstearth/show_base.inc | 49 -- programs/games/rstearth/show_object.inc | 362 ------------ programs/games/rstearth/show_tiles.inc | 180 ------ programs/games/rstearth/snd_api.inc | 545 ------------------ programs/games/rstearth/sound.inc | 340 ----------- programs/games/rstearth/u_data.inc | 145 ----- 37 files changed, 4433 deletions(-) delete mode 100644 programs/games/rstearth/Tupfile.lua delete mode 100644 programs/games/rstearth/actions.inc delete mode 100644 programs/games/rstearth/actions_npc.inc delete mode 100644 programs/games/rstearth/actions_protagonist.inc delete mode 100644 programs/games/rstearth/actions_white_bricks.inc delete mode 100644 programs/games/rstearth/build_en.bat delete mode 100644 programs/games/rstearth/build_ru.bat delete mode 100644 programs/games/rstearth/error_window.inc delete mode 100644 programs/games/rstearth/font.inc delete mode 100644 programs/games/rstearth/i_data.inc delete mode 100644 programs/games/rstearth/icon_convert.inc delete mode 100644 programs/games/rstearth/key.inc delete mode 100644 programs/games/rstearth/levels.inc delete mode 100644 programs/games/rstearth/load.inc delete mode 100644 programs/games/rstearth/localization_eng.inc delete mode 100644 programs/games/rstearth/localization_rus.inc delete mode 100644 programs/games/rstearth/menu.inc delete mode 100644 programs/games/rstearth/random.inc delete mode 100644 programs/games/rstearth/resources/barret_8bpp.png delete mode 100644 programs/games/rstearth/resources/base_8bpp.png delete mode 100644 programs/games/rstearth/resources/death_8bpp.png delete mode 100644 programs/games/rstearth/resources/flaunch.wav delete mode 100644 programs/games/rstearth/resources/font_russo_1bpp.png delete mode 100644 programs/games/rstearth/resources/ifrit_8bpp.png delete mode 100644 programs/games/rstearth/resources/miku_8bpp.png delete mode 100644 programs/games/rstearth/resources/misc_menu.wav delete mode 100644 programs/games/rstearth/resources/red_brick_8bpp.png delete mode 100644 programs/games/rstearth/resources/skeleton_8bpp.png delete mode 100644 programs/games/rstearth/resources/walking_with_poseidon.wav delete mode 100644 programs/games/rstearth/resources/white_brick_8bpp.png delete mode 100644 programs/games/rstearth/rstearth.asm delete mode 100644 programs/games/rstearth/show_base.inc delete mode 100644 programs/games/rstearth/show_object.inc delete mode 100644 programs/games/rstearth/show_tiles.inc delete mode 100644 programs/games/rstearth/snd_api.inc delete mode 100644 programs/games/rstearth/sound.inc delete mode 100644 programs/games/rstearth/u_data.inc diff --git a/programs/games/rstearth/Tupfile.lua b/programs/games/rstearth/Tupfile.lua deleted file mode 100644 index 005428d92f..0000000000 --- a/programs/games/rstearth/Tupfile.lua +++ /dev/null @@ -1,3 +0,0 @@ -if tup.getconfig("NO_FASM") ~= "" then return end -tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > lang.inc", {"lang.inc"}) -tup.rule({"rstearth.asm", extra_inputs = {"lang.inc"}}, "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "rstearth") diff --git a/programs/games/rstearth/actions.inc b/programs/games/rstearth/actions.inc deleted file mode 100644 index f0f828df5e..0000000000 --- a/programs/games/rstearth/actions.inc +++ /dev/null @@ -1,157 +0,0 @@ -;--------------------------------------------------------------------- -actions_for_all_cell: -;; DEBUGF 1, "actions_for_all\n" - ; set start coordinates - mov ebx,LEVEL_MAP_SIZE_Y - mov ecx,plan_level+(LEVEL_MAP_SIZE_Y*LEVEL_MAP_SIZE_X*4)-4 -;-------------------------------------- -.new_y: - mov eax,LEVEL_MAP_SIZE_X -;-------------------------------------- -.new_x: - push eax ebx ecx - mov [action_cell_x],eax - mov [action_cell_y],ebx - mov edx,[ecx] - mov [current_cell_NPC],dh - test dh,dh ; empty - jz .end_processing_sell -; mov ebp,ecx -; sub ebp,plan_level -; DEBUGF 1, "Y : %x X: %x cell: %x ebp: %x\n",ebx,eax,edx,ebp - ror edx,16 - test dh,dh - jnz .end_processing_sell - - test dl,dl - jz .end_processing_sell - -; call processing_NPC_route -; DEBUGF 1, "new cell: %x\n",edx - - cmp [current_cell_NPC],OBJECT_FINAL_MONSTER - ja @f - - call processing_npc_action - jmp .end_processing_sell -;-------------------------------------- -@@: - cmp [current_cell_NPC],OBJECT_PROTAGONIST - jne @f - - call processing_protagonist_action - jmp .end_processing_sell -;-------------------------------------- -@@: - cmp [current_cell_NPC],OBJECT_WHITE_BRICK - jne .end_processing_sell - - call processing_white_brick -;-------------------------------------- -.end_processing_sell: - pop ecx ebx eax - - sub ecx,4 - dec eax - jnz .new_x - - dec ebx - jnz .new_y -;; DEBUGF 1, "actions_for_all END\n" - ret -;--------------------------------------------------------------------- -action_stop: -; DEBUGF 1, "action_stop\n" - mov dx,0x0100 - rol edx,16 - mov [ecx],edx - ret -;--------------------------------------------------------------------- -object_death: - mov dx,0x01 - shl edx,24 - mov [ecx],edx - ret -;--------------------------------------------------------------------- -save_route_to_current_position: - ror eax,16 - mov ax,si - rol eax,16 - rol edx,16 - mov ax,dx - mov [ecx],eax ; new route for unit - ret -;--------------------------------------------------------------------- -save_new_and_clear_old_position: -; DEBUGF 1, "save_new_and_clear_old_position\n" - ror eax,16 - mov ax,si - rol eax,16 - rol edx,16 - mov ah,dh - mov [edi],eax ; new cell for unit - and edx,0xff - add edx,0x01000000 ; clear old cell and show - mov [ecx],edx -; copy object id - mov eax,[ecx+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4] - mov [edi+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4],eax - xor eax,eax - mov [ecx+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4],eax - ret -;--------------------------------------------------------------------- -harvest_of_death: - xor eax,eax - mov [death_of_protagonist],al - mov [npc_alive],al - mov esi,plan_level - mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y - cld -;-------------------------------------- -.loop: - lodsd - - test ah,ah - jz .counter - - cmp al,BASE_LAVA - je .base_lava - - cmp al,BASE_WATER - je .base_water - - cmp ah,OBJECT_FINAL_MONSTER - ja .counter - - mov [npc_alive],1 -;-------------------------------------- -.counter: - dec ecx - jnz .loop - - ret -;-------------------------------------- -.base_water: - cmp ah,OBJECT_PROTAGONIST - jne .kill_object -;-------------------------------------- -.kill_protagonist: - mov [death_of_protagonist],1 - jmp .kill_object -;-------------------------------------- -.base_lava: - cmp ah,OBJECT_PROTAGONIST - je .kill_protagonist - - cmp ah,OBJECT_SKELETON - ja .counter -;-------------------------------------- -.kill_object: -; DEBUGF 1, "kill_object\n" - and eax,0x000000ff - add eax,0x01000000 - mov [esi-4],eax - xor eax,eax - mov [esi-4-plan_level+objects_id],eax - jmp .counter -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/actions_npc.inc b/programs/games/rstearth/actions_npc.inc deleted file mode 100644 index 527dbbdb7a..0000000000 --- a/programs/games/rstearth/actions_npc.inc +++ /dev/null @@ -1,401 +0,0 @@ -;--------------------------------------------------------------------- -processing_npc_action: -; DEBUGF 1, "processing_npc_action\n" - cmp dl,ROUTE_UP - je npc_route_up - - cmp dl,ROUTE_DOWN - je npc_route_down - - cmp dl,ROUTE_LEFT - je npc_route_left - - cmp dl,ROUTE_RIGHT - je npc_route_right - - ret -;--------------------------------------------------------------------- -npc_route_up: -; DEBUGF 1, "npc route_up\n" - cmp ebx,1 ; border of map? - jne @f -;-------------------------------------- -.change_route: -; DEBUGF 1, "npc .change_route_up\n" - mov dx,0x0100+ROUTE_RIGHT - call get_random_binary - test al,al - jz .save_new_route - - mov dx,0x0100+ROUTE_DOWN -;-------------------------------------- -.save_new_route: - rol edx,16 - mov [ecx],edx - ret -;-------------------------------------- -@@: -; DEBUGF 1, "npc up @@:\n" - call npc_search_target_up_left - cmp [target_detected],1 - jne @f - - mov edi,TARGET_RANGE - sub edi,[target_action_cell_x] - - mov ebx,TARGET_RANGE - sub ebx,[target_action_cell_y] -; DEBUGF 1, "%x npc_route_up target_up_left X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jb .continue - - mov si,0x0100+ROUTE_LEFT - jmp save_route_to_current_position -;-------------------------------------- -@@: - call npc_search_target_up_right - cmp [target_detected],1 - jne @f - - mov edi,[target_action_cell_x] - dec edi - - mov ebx,TARGET_RANGE - sub ebx,[target_action_cell_y] -; DEBUGF 1, "%x npc_route_up target_up_right X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jb .continue - - mov si,0x0100+ROUTE_RIGHT - jmp save_route_to_current_position -;-------------------------------------- -@@: -.continue: - mov eax,[ecx-LEVEL_MAP_SIZE_X*4] - - cmp ah,OBJECT_PROTAGONIST - je .continue_1 - - test ah,ah - jnz .change_route -;-------------------------------------- -@@: - cmp al,BASE_WATER - jz .change_route - - cmp al,BASE_LAVA - jz .change_route -;-------------------------------------- -.continue_1: -; DEBUGF 1, "npc good route up\n" - mov si,0x0100+ROUTE_UP - mov edi,ecx - sub edi,LEVEL_MAP_SIZE_X*4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -npc_route_down: -; DEBUGF 1, "npc route_down\n" - cmp ebx,LEVEL_MAP_SIZE_Y ; border of map? - jne @f -;-------------------------------------- -.change_route: -; DEBUGF 1, "npc .change_route_down\n" - mov dx,0x0100+ROUTE_LEFT - call get_random_binary - test al,al - jz .save_new_route - - mov dx,0x0100+ROUTE_UP -;-------------------------------------- -.save_new_route: - rol edx,16 - mov [ecx],edx - ret -;-------------------------------------- -@@: -; DEBUGF 1, "npc down @@:\n" - call npc_search_target_down_left - cmp [target_detected],1 - jne @f - - mov edi,TARGET_RANGE - sub edi,[target_action_cell_x] - - mov ebx,[target_action_cell_y] - dec ebx -; DEBUGF 1, "%x npc_route_down target_down_left X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jb .continue - - mov si,0x0100+ROUTE_LEFT - jmp save_route_to_current_position -;-------------------------------------- -@@: - call npc_search_target_down_right - cmp [target_detected],1 - jne @f - - mov edi,[target_action_cell_x] - dec edi - - mov ebx,[target_action_cell_y] -; DEBUGF 1, "%x npc_route_down target_down_right X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jb .continue - - mov si,0x0100+ROUTE_RIGHT - jmp save_route_to_current_position -;-------------------------------------- -@@: -.continue: - mov eax,[ecx+LEVEL_MAP_SIZE_X*4] - - cmp ah,OBJECT_PROTAGONIST - je .continue_1 - - test ah,ah - jnz .change_route -;-------------------------------------- -@@: - cmp al,BASE_WATER - jz .change_route - - cmp al,BASE_LAVA - jz .change_route -;-------------------------------------- -.continue_1: -; DEBUGF 1, "npc good route down\n" - mov si,0x0100+ROUTE_DOWN - mov edi,ecx - add edi,LEVEL_MAP_SIZE_X*4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -npc_route_left: -; DEBUGF 1, "npc route_left\n" - cmp eax,1 ; border of map? - jne @f -;-------------------------------------- -.change_route: -; DEBUGF 1, "npc .change_route_left\n" - mov dx,0x0100+ROUTE_UP - call get_random_binary - test al,al - jz .save_new_route - - mov dx,0x0100+ROUTE_RIGHT -;-------------------------------------- -.save_new_route: - rol edx,16 - mov [ecx],edx - ret -;-------------------------------------- -@@: -; DEBUGF 1, "npc left @@:\n" - call npc_search_target_up_left - cmp [target_detected],1 - jne @f - - mov edi,TARGET_RANGE - sub edi,[target_action_cell_x] - - mov ebx,TARGET_RANGE - sub ebx,[target_action_cell_y] -; DEBUGF 1, "%x npc_route_left target_up_left X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jae .continue - - mov si,0x0100+ROUTE_UP - jmp save_route_to_current_position -;-------------------------------------- -@@: - call npc_search_target_down_left - cmp [target_detected],1 - jne @f - - mov edi,TARGET_RANGE - sub edi,[target_action_cell_x] - - mov ebx,[target_action_cell_y] - dec ebx -; DEBUGF 1, "%x npc_route_left target_down_left X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jae .continue - - mov si,0x0100+ROUTE_DOWN - jmp save_route_to_current_position -;-------------------------------------- -@@: -.continue: - mov eax,[ecx-4] - - cmp ah,OBJECT_PROTAGONIST - je .continue_1 - - test ah,ah - jnz .change_route -;-------------------------------------- -@@: - cmp al,BASE_WATER - jz .change_route - - cmp al,BASE_LAVA - jz .change_route -;-------------------------------------- -.continue_1: -; DEBUGF 1, "npc good route left\n" - mov si,0x0100+ROUTE_LEFT - mov edi,ecx - sub edi,4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -npc_route_right: -; DEBUGF 1, "npc route_right\n" - cmp eax,LEVEL_MAP_SIZE_X ; border of map? - jne @f -;-------------------------------------- -.change_route: -; DEBUGF 1, "npc .change_route_right\n" - mov dx,0x0100+ROUTE_DOWN - call get_random_binary - test al,al - jz .save_new_route - - mov dx,0x0100+ROUTE_LEFT -;-------------------------------------- -.save_new_route: - rol edx,16 - mov [ecx],edx - ret -;-------------------------------------- -@@: -; DEBUGF 1, "npc righ @@:\n" - call npc_search_target_up_right - cmp [target_detected],1 - jne @f - - mov edi,[target_action_cell_x] - dec edi - - mov ebx,TARGET_RANGE - sub ebx,[target_action_cell_y] -; DEBUGF 1, "%x npc_route_right target_up_right X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jae .continue - - mov si,0x0100+ROUTE_UP - jmp save_route_to_current_position -;-------------------------------------- -@@: - call npc_search_target_down_right - cmp [target_detected],1 - jne @f - - mov edi,[target_action_cell_x] - dec edi - - mov ebx,[target_action_cell_y] - dec ebx -; DEBUGF 1, "%x npc_route_right target_down_right X: %x Y: %x\n",[current_cell_NPC]:1,edi,ebx - cmp edi,ebx - jae .continue - - mov si,0x0100+ROUTE_DOWN - jmp save_route_to_current_position -;-------------------------------------- -@@: -.continue: - mov eax,[ecx+4] - - cmp ah,OBJECT_PROTAGONIST - je .continue_1 - - test ah,ah - jnz .change_route -;-------------------------------------- -@@: - cmp al,BASE_WATER - jz .change_route - - cmp al,BASE_LAVA - jz .change_route -;-------------------------------------- -.continue_1: -; DEBUGF 1, "npc good route righ\n" - mov si,0x0100+ROUTE_RIGHT - mov edi,ecx - add edi,4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -npc_search_target_up_left: -; DEBUGF 1, "%x npc_search_target_up_left X: %x Y: %x\n",[current_cell_NPC]:1,[action_cell_x],[action_cell_y] - push ecx - sub ecx,TARGET_RANGE * 4 ; offset x - sub ecx,TARGET_RANGE * LEVEL_MAP_SIZE_X * 4 ; offset y - jmp npc_search_target -;--------------------------------------------------------------------- -npc_search_target_up_right: -; DEBUGF 1, "%x npc_search_target_up_right X: %x Y: %x\n",[current_cell_NPC]:1,[action_cell_x],[action_cell_y] - push ecx - sub ecx,TARGET_RANGE * LEVEL_MAP_SIZE_X * 4 ; offset y - sub ecx,4 ; offset x - jmp npc_search_target -;--------------------------------------------------------------------- -npc_search_target_down_left: -; DEBUGF 1, "%x npc_search_target_down_left X: %x Y: %x\n",[current_cell_NPC]:1,[action_cell_x],[action_cell_y] - push ecx - sub ecx,LEVEL_MAP_SIZE_X * 4 ; offset y - sub ecx,TARGET_RANGE * 4 ; offset x - jmp npc_search_target -;--------------------------------------------------------------------- -npc_search_target_down_right: -; DEBUGF 1, "%x npc_search_target_down_right X: %x Y: %x\n",[current_cell_NPC]:1,[action_cell_x],[action_cell_y] - push ecx - sub ecx,LEVEL_MAP_SIZE_X * 4 ; offset y - sub ecx,4 ; offset x -;--------------------------------------------------------------------- -npc_search_target: - push eax - mov [target_detected],0 - mov ebx,TARGET_RANGE -;-------------------------------------- -.y: - mov eax,TARGET_RANGE -; DEBUGF 1, "current cell next y\n" -;-------------------------------------- -.x: - push eax ebx ecx - mov [target_action_cell_x],eax - mov [target_action_cell_y],ebx - shl eax,2 - add ecx,eax - imul ebx,LEVEL_MAP_SIZE_X*4 - add ecx,ebx - - cmp ecx,plan_level - jb @f - - cmp ecx,plan_level+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4-4 - ja @f - - mov eax,[ecx] -; DEBUGF 1, "current cell %x\n",eax - cmp ah,OBJECT_PROTAGONIST - jne @f - - pop ecx ebx eax - mov [target_detected],1 -; DEBUGF 1, "%x target_detected X: %x Y: %x\n",[current_cell_NPC]:1,[target_action_cell_x],[target_action_cell_y] - jmp .exit -;-------------------------------------- -@@: - pop ecx ebx eax - - dec eax - jnz .x - - dec ebx - jnz .y -.exit: - pop eax ecx - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/actions_protagonist.inc b/programs/games/rstearth/actions_protagonist.inc deleted file mode 100644 index 2394bca3df..0000000000 --- a/programs/games/rstearth/actions_protagonist.inc +++ /dev/null @@ -1,97 +0,0 @@ -;--------------------------------------------------------------------- -processing_protagonist_action: -;; DEBUGF 1, "processing_protagonist_action\n" - cmp dl,ROUTE_UP - je protagonist_route_up - - cmp dl,ROUTE_DOWN - je protagonist_route_down - - cmp dl,ROUTE_LEFT - je protagonist_route_left - - cmp dl,ROUTE_RIGHT - je protagonist_route_right - - ret -;--------------------------------------------------------------------- -protagonist_route_up: -; DEBUGF 1, "protagonist route_up\n" - cmp ebx,1 ; border of map? - je action_stop - -; DEBUGF 1, "protagonist up @@:\n" - mov eax,[ecx-LEVEL_MAP_SIZE_X*4] - test ah,ah - jnz action_stop - -; cmp al,BASE_WATER -; jz action_stop - -; DEBUGF 1, "protagonist good route up\n" - dec [protagonist_position.y] - mov si,0x0100+ROUTE_UP - mov edi,ecx - sub edi,LEVEL_MAP_SIZE_X*4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -protagonist_route_down: -; DEBUGF 1, "protagonist route_down\n" - cmp ebx,LEVEL_MAP_SIZE_Y ; border of map? - je action_stop - -; DEBUGF 1, "protagonist down @@:\n" - mov eax,[ecx+LEVEL_MAP_SIZE_X*4] - test ah,ah - jnz action_stop - -; cmp al,BASE_WATER -; jz action_stop - -; DEBUGF 1, "protagonist good route down\n" - inc [protagonist_position.y] - mov si,0x0100+ROUTE_DOWN - mov edi,ecx - add edi,LEVEL_MAP_SIZE_X*4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -protagonist_route_left: -; DEBUGF 1, "protagonist route_left\n" - cmp eax,1 ; border of map? - je action_stop - -; DEBUGF 1, "protagonist left @@:\n" - mov eax,[ecx-4] - test ah,ah - jnz action_stop - -; cmp al,BASE_WATER -; jz action_stop - -; DEBUGF 1, "protagonist good route left\n" - dec [protagonist_position.x] - mov si,0x0100+ROUTE_LEFT - mov edi,ecx - sub edi,4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -protagonist_route_right: -; DEBUGF 1, "protagonist route_right\n" - cmp eax,LEVEL_MAP_SIZE_X ; border of map? - je action_stop - -; DEBUGF 1, "protagonist righ @@:\n" - mov eax,[ecx+4] - test ah,ah - jnz action_stop - -; cmp al,BASE_WATER -; jz action_stop - -; DEBUGF 1, "protagonist good route righ\n" - inc [protagonist_position.x] - mov si,0x0100+ROUTE_RIGHT - mov edi,ecx - add edi,4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/actions_white_bricks.inc b/programs/games/rstearth/actions_white_bricks.inc deleted file mode 100644 index 591b0c7970..0000000000 --- a/programs/games/rstearth/actions_white_bricks.inc +++ /dev/null @@ -1,81 +0,0 @@ -;--------------------------------------------------------------------- -processing_white_brick: -;; DEBUGF 1, "processing_white_brick\n" - cmp dl,ROUTE_UP - je white_brick_route_up - - cmp dl,ROUTE_DOWN - je white_brick_route_down - - cmp dl,ROUTE_LEFT - je white_brick_route_left - - cmp dl,ROUTE_RIGHT - je white_brick_route_right - - ret -;--------------------------------------------------------------------- -white_brick_route_up: -; DEBUGF 1, "white_brick route_up\n" - cmp ebx,1 ; border of map? - je action_stop - -; DEBUGF 1, "white_brick up @@:\n" - mov eax,[ecx-LEVEL_MAP_SIZE_X*4] - cmp ah,OBJECT_WHITE_BRICK ; new coordinates have white block? - je action_stop - -; DEBUGF 1, "white_brick good route up\n" - mov si,0x0100+ROUTE_UP - mov edi,ecx - sub edi,LEVEL_MAP_SIZE_X*4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -white_brick_route_down: -; DEBUGF 1, "white_brick route_down\n" - cmp ebx,LEVEL_MAP_SIZE_Y ; border of map? - je action_stop - -; DEBUGF 1, "white_brick down @@:\n" - mov eax,[ecx+LEVEL_MAP_SIZE_X*4] - cmp ah,OBJECT_WHITE_BRICK ; new coordinates have white block? - je action_stop - -; DEBUGF 1, "white_brick good route down\n" - mov si,0x0100+ROUTE_DOWN - mov edi,ecx - add edi,LEVEL_MAP_SIZE_X*4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -white_brick_route_left: -; DEBUGF 1, "white_brick route_left\n" - cmp eax,1 ; border of map? - je action_stop - -; DEBUGF 1, "white_brick left @@:\n" - mov eax,[ecx-4] - cmp ah,OBJECT_WHITE_BRICK ; new coordinates have white block? - je action_stop - -; DEBUGF 1, "white_brick good route left\n" - mov si,0x0100+ROUTE_LEFT - mov edi,ecx - sub edi,4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- -white_brick_route_right: -; DEBUGF 1, "white_brick route_right\n" - cmp eax,LEVEL_MAP_SIZE_X ; border of map? - je action_stop - -; DEBUGF 1, "white_brick righ @@:\n" - mov eax,[ecx+4] - cmp ah,OBJECT_WHITE_BRICK ; new coordinates have white block? - je action_stop - -; DEBUGF 1, "white_brick good route righ\n" - mov si,0x0100+ROUTE_RIGHT - mov edi,ecx - add edi,4 - jmp save_new_and_clear_old_position -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/build_en.bat b/programs/games/rstearth/build_en.bat deleted file mode 100644 index 56877d2821..0000000000 --- a/programs/games/rstearth/build_en.bat +++ /dev/null @@ -1,19 +0,0 @@ -if not exist bin mkdir rstearth_eng_bin -@erase lang.inc -@echo lang fix en >lang.inc -@fasm -m 16384 rstearth.asm rstearth_eng_bin\rstearth.kex -@erase lang.inc -@kpack rstearth_eng_bin\rstearth.kex -@copy resources\font_russo_1bpp.png rstearth_eng_bin\font_russo_1bpp.png -@copy resources\base_8bpp.png rstearth_eng_bin\base_8bpp.png -@copy resources\red_brick_8bpp.png rstearth_eng_bin\red_brick_8bpp.png -@copy resources\white_brick_8bpp.png rstearth_eng_bin\white_brick_8bpp.png -@copy resources\miku_8bpp.png rstearth_eng_bin\miku_8bpp.png -@copy resources\death_8bpp.png rstearth_eng_bin\death_8bpp.png -@copy resources\skeleton_8bpp.png rstearth_eng_bin\skeleton_8bpp.png -@copy resources\ifrit_8bpp.png rstearth_eng_bin\ifrit_8bpp.png -@copy resources\barret_8bpp.png rstearth_eng_bin\barret_8bpp.png -@copy resources\walking_with_poseidon.wav rstearth_eng_bin\walking_with_poseidon.wav -@copy resources\flaunch.wav rstearth_eng_bin\flaunch.wav -@copy resources\misc_menu.wav rstearth_eng_bin\misc_menu.wav -@pause \ No newline at end of file diff --git a/programs/games/rstearth/build_ru.bat b/programs/games/rstearth/build_ru.bat deleted file mode 100644 index 573f721756..0000000000 --- a/programs/games/rstearth/build_ru.bat +++ /dev/null @@ -1,19 +0,0 @@ -if not exist bin mkdir rstearth_rus_bin -@erase lang.inc -@echo lang fix ru >lang.inc -@fasm -m 16384 rstearth.asm rstearth_rus_bin\rstearth.kex -@erase lang.inc -@kpack rstearth_rus_bin\rstearth.kex -@copy resources\font_russo_1bpp.png rstearth_rus_bin\font_russo_1bpp.png -@copy resources\base_8bpp.png rstearth_rus_bin\base_8bpp.png -@copy resources\red_brick_8bpp.png rstearth_rus_bin\red_brick_8bpp.png -@copy resources\white_brick_8bpp.png rstearth_rus_bin\white_brick_8bpp.png -@copy resources\miku_8bpp.png rstearth_rus_bin\miku_8bpp.png -@copy resources\death_8bpp.png rstearth_rus_bin\death_8bpp.png -@copy resources\skeleton_8bpp.png rstearth_rus_bin\skeleton_8bpp.png -@copy resources\ifrit_8bpp.png rstearth_rus_bin\ifrit_8bpp.png -@copy resources\barret_8bpp.png rstearth_rus_bin\barret_8bpp.png -@copy resources\walking_with_poseidon.wav rstearth_rus_bin\walking_with_poseidon.wav -@copy resources\flaunch.wav rstearth_rus_bin\flaunch.wav -@copy resources\misc_menu.wav rstearth_rus_bin\misc_menu.wav -@pause \ No newline at end of file diff --git a/programs/games/rstearth/error_window.inc b/programs/games/rstearth/error_window.inc deleted file mode 100644 index 84aae905d5..0000000000 --- a/programs/games/rstearth/error_window.inc +++ /dev/null @@ -1,116 +0,0 @@ -;--------------------------------------------------------------------- -;start_error_window_thread: -; mcall 9,procinfo,-1 -; mov eax,[ebx+46] -; shr eax,1 -; add eax,[ebx+38] -; sub eax,40 -; mov [error_window_y+2],ax -; mov eax,[ebx+42] -; shr eax,1 -; add eax,[ebx+34] -; sub eax,125 -; mov [error_window_x+2],ax -; mcall 51,1,thread_start,thread_stack -; DEBUGF 1, "start_error_window_thread\n" -; ret -;--------------------------------------------------------------------- -thread_start: - mov eax,[N_error] -; DEBUGF 1, "thread_start N_error: %d\n",eax -; cmp al,1 -; jne @f -; mov [N_error],load_ini_error_type -; mov [error_path],file_name -; jmp .error_type -;-------------------------------------- -;@@: - cmp al,2 - jne @f - mov [N_error],load_icons_error_type - mov [error_path],file_name -; DEBUGF 1, "error_path: %s\n",file_name - jmp .error_type -;-------------------------------------- -@@: - cmp al,3 - jne @f - mov [N_error],memory_free_error_type - xor eax,eax - mov [error_path],eax - mov [error_type],eax - jmp .red -;-------------------------------------- -@@: - cmp al,4 - jne @f - mov [N_error],memory_get_error_type - xor eax,eax - mov [error_path],eax - mov [error_type],eax - jmp .red -;-------------------------------------- -@@: -; cmp al,5 -; jne @f -; mov [N_error],load_directory_error_type -; mov [error_path],dir_path -; jmp .error_type -;-------------------------------------- -;@@: - cmp al,6 - jne .button - mov [N_error],convert_icons_error_type - mov [error_path],file_name - xor eax,eax - mov [error_type],eax - jmp .red -;-------------------------------------- -.error_type: -; DEBUGF 1, ".error_type:\n" - mov eax,[error_type] - shl eax,2 - add eax,error_fs_text_pointers - mov eax,[eax] - mov [error_type],eax -;-------------------------------------- -.red: -; DEBUGF 1, "draw_error_window\n" - call draw_error_window -;-------------------------------------- -.still: - mcall 10 - cmp eax,1 - je .red - cmp eax,2 - je .key - cmp eax,3 - je .button - jmp .still -;-------------------------------------- -.key: - mcall 2 - jmp .still -;-------------------------------------- -.button: - mcall -1 -;--------------------------------------------------------------------- -draw_error_window: - mcall 12,1 - mcall 0,[error_window_x],[error_window_y],0x03ff0000 - mcall 4,<10,30>,0x90ffffff,[N_error] - mov eax,[error_path] - test eax,eax - jz @f - mcall 4,<10,50>,,[error_path] -;-------------------------------------- -@@: - mov eax,[error_type] - test eax,eax - jz @f - mcall 4,<10,70>,,[error_type] -;-------------------------------------- -@@: - mcall 12,2 - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/font.inc b/programs/games/rstearth/font.inc deleted file mode 100644 index fccec2e88e..0000000000 --- a/programs/games/rstearth/font.inc +++ /dev/null @@ -1,38 +0,0 @@ -;--------------------------------------------------------------------- -draw_font: -; in: -; ebx - X*65536 + Y -; edx - text ASCII -; - pusha - xor ebp,ebp - mov esi,edx - mov edx,ebx - cld -;-------------------------------------- -@@: - lodsb - test al,al - jz .exit - - movzx ebx,al - imul ebx, FONT_SIZE_X * FONT_SIZE_Y /8 - mov eax,[font_icons] - add ebx,[eax+28] - add ebx,eax - mov ecx,FONT_SIZE_X shl 16 + FONT_SIZE_Y - mov edi,[eax+20] ; palette - add edi,eax - - push esi - mov esi,1 - mcall 65 - pop esi - - add edx,FONT_REAL_SIZE_X shl 16 ; font size x - jmp @b -;-------------------------------------- -.exit: - popa - ret -;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/games/rstearth/i_data.inc b/programs/games/rstearth/i_data.inc deleted file mode 100644 index 5505f2ed42..0000000000 --- a/programs/games/rstearth/i_data.inc +++ /dev/null @@ -1,326 +0,0 @@ -;--------------------------------------------------------------------- -; initialized data -;--------------------------------------------------------------------- -plugins_directory db 0 - -;system_dir_Boxlib db '/sys/lib/box_lib.obj',0 -system_dir_CnvPNG db '/sys/lib/cnv_png.obj',0 -system_dir_UNPACK db '/sys/lib/archiver.obj',0 - -ihead_f_i: -ihead_f_l db 'System error',0 - -;er_message_found_lib db 'box_lib.obj - Not found!',0 -;er_message_import db 'box_lib.obj - Wrong import!',0 - -er_message_found_lib2 db 'cnv_png.obj - Not found!',0 -er_message_import2 db 'cnv_png.obj - Wrong import!',0 - -err_message_found_lib3 db 'archiver.obj - Not found!',0 -err_message_import3 db 'archiver.obj - Wrong import!',0 - -align 4 -l_libs_start: -;library01 l_libs system_dir_Boxlib+9,path,file_name,system_dir_Boxlib,\ -;er_message_found_lib,ihead_f_l,Box_lib_import,er_message_import,ihead_f_i,plugins_directory - -library02 l_libs system_dir_CnvPNG+9,path,file_name,system_dir_CnvPNG,\ -er_message_found_lib2,ihead_f_l,cnv_png_import,er_message_import2,ihead_f_i,plugins_directory - -library04 l_libs system_dir_UNPACK+9,path,file_name,system_dir_UNPACK,\ -err_message_found_lib3,ihead_f_l,UNPACK_import,err_message_import3,ihead_f_i,plugins_directory -end_l_libs: -;--------------------------------------------------------------------- -align 4 -UNPACK_import: -;unpack_Version dd aUnpack_Version -;unpack_PluginLoad dd aUnpack_PluginLoad -;unpack_OpenFilePlugin dd aUnpack_OpenFilePlugin -;unpack_ClosePlugin dd aUnpack_ClosePlugin -;unpack_ReadFolder dd aUnpack_ReadFolder -;unpack_SetFolder dd aUnpack_SetFolder -;unpack_GetFiles dd aUnpack_GetFiles -;unpack_GetOpenPluginInfo dd aUnpack_GetOpenPluginInfo -;unpack_Getattr dd aUnpack_Getattr -;unpack_Open dd aUnpack_Open -;unpack_Read dd aUnpack_Read -;unpack_Setpos dd aUnpack_Setpos -;unpack_Close dd aUnpack_Close -;unpack_DeflateUnpack dd aUnpack_DeflateUnpack -unpack_DeflateUnpack2 dd aUnpack_DeflateUnpack2 - dd 0 - dd 0 - -;aUnpack_Version db 'version',0 -;aUnpack_PluginLoad db 'plugin_load',0 -;aUnpack_OpenFilePlugin db 'OpenFilePlugin',0 -;aUnpack_ClosePlugin db 'ClosePlugin',0 -;aUnpack_ReadFolder db 'ReadFolder',0 -;aUnpack_SetFolder db 'SetFolder',0 -;aUnpack_GetFiles db 'GetFiles',0 -;aUnpack_GetOpenPluginInfo db 'GetOpenPluginInfo',0 -;aUnpack_Getattr db 'getattr',0 -;aUnpack_Open db 'open',0 -;aUnpack_Read db 'read',0 -;aUnpack_Setpos db 'setpos',0 -;aUnpack_Close db 'close',0 -;aUnpack_DeflateUnpack db 'deflate_unpack',0 -aUnpack_DeflateUnpack2 db 'deflate_unpack2',0 - -;--------------------------------------------------------------------- -align 4 -cnv_png_import: -.Start dd aCP_Start -;.Version dd aCP_Version -;.Check dd aCP_Check -;.Assoc dd aCP_Assoc - dd 0 - dd 0 -aCP_Start db 'START',0 -;aCP_Version db 'version',0 -;aCP_Check db 'Check_Header',0 -;aCP_Assoc db 'Associations',0 -;--------------------------------------------------------------------- -;align 4 -;Box_lib_import: -;init_lib dd a_init -;version_lib dd a_version - - -;edit_box_draw dd aEdit_box_draw -;edit_box_key dd aEdit_box_key -;edit_box_mouse dd aEdit_box_mouse -;version_ed dd aVersion_ed - -;check_box_draw dd aCheck_box_draw -;check_box_mouse dd aCheck_box_mouse -;version_ch dd aVersion_ch - -;option_box_draw dd aOption_box_draw -;option_box_mouse dd aOption_box_mouse -;version_op dd aVersion_op - -;scrollbar_ver_draw dd aScrollbar_ver_draw -;scrollbar_ver_mouse dd aScrollbar_ver_mouse -;scrollbar_hor_draw dd aScrollbar_hor_draw -;scrollbar_hor_mouse dd aScrollbar_hor_mouse -;version_scrollbar dd aVersion_scrollbar - -;dinamic_button_draw dd aDbutton_draw -;dinamic_button_mouse dd aDbutton_mouse -;version_dbutton dd aVersion_dbutton - -;menu_bar_draw dd aMenu_bar_draw -;menu_bar_mouse dd aMenu_bar_mouse -;menu_bar_activate dd aMenu_bar_activate -;version_menu_bar dd aVersion_menu_bar - -;FileBrowser_draw dd aFileBrowser_draw -;FileBrowser_mouse dd aFileBrowser_mouse -;FileBrowser_key dd aFileBrowser_key -;Version_FileBrowser dd aVersion_FileBrowser - -;PathShow_prepare dd sz_PathShow_prepare -;PathShow_draw dd sz_PathShow_draw -;Version_path_show dd szVersion_path_show -; dd 0 -; dd 0 - -;a_init db 'lib_init',0 -;a_version db 'version',0 - -;aEdit_box_draw db 'edit_box',0 -;aEdit_box_key db 'edit_box_key',0 -;aEdit_box_mouse db 'edit_box_mouse',0 -;aVersion_ed db 'version_ed',0 - -;aCheck_box_draw db 'check_box_draw',0 -;aCheck_box_mouse db 'check_box_mouse',0 -;aVersion_ch db 'version_ch',0 - -;aOption_box_draw db 'option_box_draw',0 -;aOption_box_mouse db 'option_box_mouse',0 -;aVersion_op db 'version_op',0 - -;aScrollbar_ver_draw db 'scrollbar_v_draw',0 -;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 -;aScrollbar_hor_draw db 'scrollbar_h_draw',0 -;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 -;aVersion_scrollbar db 'version_scrollbar',0 - -;aDbutton_draw db 'dbutton_draw',0 -;aDbutton_mouse db 'dbutton_mouse',0 -;aVersion_dbutton db 'version_dbutton',0 - -;aMenu_bar_draw db 'menu_bar_draw',0 -;aMenu_bar_mouse db 'menu_bar_mouse',0 -;aMenu_bar_activate db 'menu_bar_activate',0 -;aVersion_menu_bar db 'version_menu_bar',0 - -;aFileBrowser_draw db 'FileBrowser_draw',0 -;aFileBrowser_mouse db 'FileBrowser_mouse',0 -;aFileBrowser_key db 'FileBrowser_key',0 -;aVersion_FileBrowser db 'version_FileBrowser',0 - -;sz_PathShow_prepare db 'PathShow_prepare',0 -;sz_PathShow_draw db 'PathShow_draw',0 -;szVersion_path_show db 'version_PathShow',0 -;--------------------------------------------------------------------- - -;--------------------------------------------------------------------- -; not change this section!!! -; start section -;--------------------------------------------------------------------- -align 4 -image_file dd 0 -raw_pointer dd 0 -return_code dd 0 -img_size dd 0 -deflate_unpack dd 0 -raw_pointer_2 dd 0 ;+20 -;--------------------------------------------------------------------- -; end section -;--------------------------------------------------------------------- -align 4 -fileinfo: -.subfunction dd 5 -.Offset dd 0 -.Offset_1 dd 0 -.size dd 0 -.return dd file_info - db 0 -.name: dd file_name -;--------------------------------------------------------------------- -error_window_x: dd 100 shl 16+250 -error_window_y: dd 100 shl 16+120 -;--------------------------------------------------------------------- -load_ini_error_type: - db 'Error loading INI file',0 - -load_icons_error_type: - db 'Error loading of icons file',0 - -memory_free_error_type: - db 'Error of free memory',0 - -memory_get_error_type: - db 'Memory allocation error',0 - -load_directory_error_type: - db 'Error loading directory',0 - -convert_icons_error_type: - db 'Unsupported or corrupt data for icons file',0 -;--------------------------------------------------------------------- -error_help_text: - db 'For continue press key or ',0 -;--------------------------------------------------------------------- -align 4 -error_fs_text_pointers: - dd error_fs_text_0 - dd error_fs_text_1 - dd error_fs_text_2 - dd error_fs_text_3 - dd error_fs_text_4 - dd error_fs_text_5 - dd error_fs_text_6 - dd error_fs_text_7 - dd error_fs_text_8 - dd error_fs_text_9 - dd error_fs_text_10 - dd error_fs_text_11 - -error_fs_text_0: db '0 - Success full',0 -error_fs_text_1: db '1 - Base and/or partition of a hard disk is not defined',0 -error_fs_text_2: db '2 - Function is not supported for the given file system',0 -error_fs_text_3: db '3 - Unknown file system',0 -error_fs_text_4: db '4 - Reserved, is never returned in the current implementation',0 -error_fs_text_5: db '5 - File not found',0 -error_fs_text_6: db '6 - End of file, EOF',0 -error_fs_text_7: db '7 - Pointer lies outside of application memory',0 -error_fs_text_8: db '8 - Disk is full',0 -error_fs_text_9: db '9 - FAT table is destroyed',0 -error_fs_text_10: db '10 - Access denied',0 -error_fs_text_11: db '11 - Device error',0 -;--------------------------------------------------------------------- -font_icons_file_name db 'font_russo_1bpp.png',0 -base_icons_file_name db 'base_8bpp.png',0 -red_brick_icons_file_name db 'red_brick_8bpp.png',0 -white_brick_icons_file_name db 'white_brick_8bpp.png',0 -npc_miku_icons_file_name db 'miku_8bpp.png',0 -npc_death_icons_file_name db 'death_8bpp.png',0 -npc_skeleton_icons_file_name db 'skeleton_8bpp.png',0 -npc_ifrit_icons_file_name db 'ifrit_8bpp.png',0 -npc_barret_icons_file_name db 'barret_8bpp.png',0 -background_music_file_name db 'walking_with_poseidon.wav',0 -stone_kick_sound_file_name db 'flaunch.wav',0 -menu_sound_file_name db 'misc_menu.wav',0 -;--------------------------------------------------------------------- -align 4 -protagonist_route dd 2 -protagonist_position: -.x dd 4 -.y dd 4 -;--------------------------------------------------------------------- -align 4 -main_menu_text_pointers: - dd menu_game_label - dd menu_settings_label - dd menu_credits_label - dd menu_help_label - dd menu_exit_label - dd 0 -;--------------------------------------------------------------------- -align 4 -menu_credits_text_pointers: - dd space_line - dd menu_credits_text.1 - dd menu_credits_text.2 - dd space_line - dd menu_credits_text.3 - dd menu_credits_text.4 - dd menu_credits_text.5 - dd space_line - dd menu_credits_text.6 - dd menu_credits_text.7 - dd space_line - dd menu_credits_text.8 - dd menu_credits_text.9 - dd space_line - dd menu_credits_text.10 - dd menu_credits_text.11 - dd space_line - dd menu_credits_text.12 - dd 0 -;--------------------------------------------------------------------- -align 4 -menu_help_text_pointers: - dd menu_help_text.1 - dd menu_help_text.2 - dd menu_help_text.3 - dd menu_help_text.4 - dd menu_help_text.5 - dd 0 -;--------------------------------------------------------------------- -align 4 -settings_menu_text_pointers: - dd menu_settings_sound_label - dd menu_settings_music_label - dd menu_setting_exit - dd 0 -;--------------------------------------------------------------------- -align 4 -map_level_pointer: - dd map_level_0 - dd map_level_1 - dd map_level_2 - dd map_level_3 - dd map_level_4 - dd map_level_5 - dd map_level_6 - dd map_level_7 - dd map_level_8 - dd map_level_9 - dd map_level_10 - dd 0 -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/icon_convert.inc b/programs/games/rstearth/icon_convert.inc deleted file mode 100644 index 257be17a28..0000000000 --- a/programs/games/rstearth/icon_convert.inc +++ /dev/null @@ -1,43 +0,0 @@ -;--------------------------------------------------------------------- -convert_icons: - xor eax,eax - mov [return_code],eax - - push image_file - call [cnv_png_import.Start] - - mov ecx,[image_file] - mcall 68,13, - test eax,eax - jz memory_free_error - - cmp [return_code],dword 0 - je @f - mov [N_error],6 - jmp button.exit -@@: - -; mov ebx,[raw_pointer] -; mov eax,[ebx+4] -; set of icon size x -; mov [file_browser_data_1.icon_size_x],ax -; mov eax,[ebx+8] -; set of icon size y -; mov [file_browser_data_1.icon_size_y],ax -; inc ax -; mov [file_browser_data_1.line_size_y],ax -; mov eax,[ebx+12] -; set of RAW resolution to pixel -; mov [file_browser_data_1.resolution_raw],eax - -; mov eax,[ebx+20] -; add eax,ebx -; set RAW palette,use else resolution 8bit or less -; mov [file_browser_data_1.palette_raw],eax - -; mov eax,[ebx+28] -; add eax,ebx -; set RAW area for icon -; mov [file_browser_data_1.icon_raw_area],eax - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/key.inc b/programs/games/rstearth/key.inc deleted file mode 100644 index af7ec24701..0000000000 --- a/programs/games/rstearth/key.inc +++ /dev/null @@ -1,260 +0,0 @@ -;--------------------------------------------------------------------- -key: - mcall 2 - cmp [extended_key],1 - je .extended_key - - test al,al - jnz still - - cmp ah,0xE0 - jne @f - - mov [extended_key],1 - jmp still -;-------------------------------------- -@@: - cmp ah,72 ; arrow up - je .arrow_up - - cmp ah,80 ; arrow down - je .arrow_down - - cmp ah,75 ; arrow left - je .arrow_left - - cmp ah,77 ; arrow right - je .arrow_right - - cmp ah,17 ; w - arrow up - je .arrow_up - - cmp ah,31 ; s - arrow down - je .arrow_down - - cmp ah,30 ; a - arrow left - je .arrow_left - - cmp ah,32 ; d - arrow right - je .arrow_right - - cmp ah,57 ; space - kick - je .kick - - jmp still -;--------------------------------------------------------------------- -.extended_key: - mov [extended_key],0 - cmp ah,72 ; arrow up - je .arrow_up - - cmp ah,80 ; arrow down - je .arrow_down - - cmp ah,75 ; arrow left - je .arrow_left - - cmp ah,77 ; arrow right - je .arrow_right - - jmp still -;--------------------------------------------------------------------- -.arrow_up: - mov [protagonist_route],ROUTE_UP - mov cx,0x0100+ROUTE_UP - jmp .save_motion -;--------------------------------------------------------------------- -.arrow_down: - mov [protagonist_route],ROUTE_DOWN - mov cx,0x0100+ROUTE_DOWN - jmp .save_motion -;--------------------------------------------------------------------- -.arrow_left: - mov [protagonist_route],ROUTE_LEFT - mov cx,0x0100+ROUTE_LEFT - jmp .save_motion -;--------------------------------------------------------------------- -.arrow_right: - mov [protagonist_route],ROUTE_RIGHT - mov cx,0x0100+ROUTE_RIGHT -;--------------------------------------------------------------------- -.save_motion: - call calculate_offset - shl ebx,2 - add eax,ebx - add eax,plan_level - mov ebx,[eax] - ror ebx,16 - mov bx,cx - rol ebx,16 - mov [eax],ebx -; jmp still - jmp calculate_action_for_all.2 -;--------------------------------------------------------------------- -.kick: - mov eax,[protagonist_route] - cmp al,ROUTE_UP - jne @f - - cmp [protagonist_position.y],0 - je calculate_action_for_all.1 ;still - - call protagonist_kick_action - mov eax,[protagonist_position.y] - dec eax - call calculate_offset.1 - jmp .calculate_protagonist_kick_brick -;-------------------------------------- -@@: - cmp al,ROUTE_DOWN - jne @f - - cmp [protagonist_position.y],LEVEL_MAP_SIZE_Y-1 - je calculate_action_for_all.1 ;still - - call protagonist_kick_action - mov eax,[protagonist_position.y] - inc eax - call calculate_offset.1 - jmp .calculate_protagonist_kick_brick -;-------------------------------------- -@@: - cmp al,ROUTE_LEFT - jne @f - - cmp [protagonist_position.x],0 - je calculate_action_for_all.1 ;still - - call protagonist_kick_action - call calculate_offset - dec ebx - jmp .calculate_protagonist_kick_brick -;-------------------------------------- -@@: - cmp al,ROUTE_RIGHT - jne still - - cmp [protagonist_position.x],LEVEL_MAP_SIZE_X-1 - je calculate_action_for_all.1 ;still - - call protagonist_kick_action - call calculate_offset - inc ebx -;-------------------------------------- -.calculate_protagonist_kick_brick: - shl ebx,2 - add eax,ebx - add eax,plan_level - mov ebx,[eax] - -; cmp bh,OBJECT_FINAL_MONSTER ;OBJECT_PROTAGONIST -; jbe .kill - - cmp bh,OBJECT_WHITE_BRICK - je .white_brick - - cmp bh,OBJECT_RED_BRICK ; red brick? - jne still - - and ebx,0x00ff00ff - add ebx,0x01000000 + RED_BRICK_CRASH_1 shl 8 ; reb brick crash 1 - mov [eax],ebx - push eax ebx -; DEBUGF 1, "80 - reb brick crash 10\n" - call show_tiles_one_iteration - mcall 5,5 - pop ebx eax - - and ebx,0x00ff00ff - add ebx,0x01000000 + RED_BRICK_CRASH_2 shl 8 ; reb brick crash 2 - mov [eax],ebx - push eax ebx -; DEBUGF 1, "81 - reb brick crash 20\n" - call show_tiles_one_iteration - mcall 5,5 - pop ebx eax - - and ebx,0x00ff00ff - add ebx,0x01000000 - mov [eax],ebx -; DEBUGF 1, "81 - reb brick crash 30\n" -; call show_tiles_one_iteration - jmp calculate_action_for_all.2 ;still -;-------------------------------------- -;.kill: -; and ebx,0x000000ff -; add ebx,0x01000000 -; mov [eax],ebx -;; call show_tiles_one_iteration -; jmp calculate_action_for_all.2 -;-------------------------------------- -.white_brick: - ror ebx,16 - xor bl,bl - mov bh,1 - add ebx,[protagonist_route] - rol ebx,16 - mov [eax],ebx - jmp calculate_action_for_all.2 -;--------------------------------------------------------------------- -calculate_action_for_all: - call show_tiles_one_iteration -;-------------------------------------- -.1: - call actions_for_all_cell -;-------------------------------------- -.2: - call show_tiles_one_iteration - jmp still -;--------------------------------------------------------------------- -calculate_offset: - mov eax,[protagonist_position.y] -;-------------------------------------- -.1: - imul eax,LEVEL_MAP_SIZE_X*4 - mov ebx,[protagonist_position.x] - ret -;--------------------------------------------------------------------- -protagonist_kick_action: - call snd_kick_action - add [protagonist_route],4 - call show_protagonist_1 - sub [protagonist_route],4 - call show_protagonist_1 - ret -;--------------------------------------------------------------------- -calculate_protagonist_vs_brick: - shl ebx,2 - add eax,ebx - add eax,plan_level - mov ebx,[eax] -; cmp bh,4 ; brick? - test bh,bh ; empty? - jnz @f - - ret -;-------------------------------------- -@@: - add esp,4 - jmp still -;--------------------------------------------------------------------- -show_protagonist_1: - mov ecx,0x01000000 + OBJECT_PROTAGONIST shl 8 - call calculate_protagonist_position -; call show_tiles_one_iteration -; call actions_for_all_cell - call show_tiles_one_iteration ;show_tiles - mcall 5,10 - ret -;--------------------------------------------------------------------- -calculate_protagonist_position: - call calculate_offset - shl ebx,2 - add eax,ebx - add eax,plan_level - mov ebx,[eax] - and ebx,0x00ff00ff - add ebx,ecx - mov [eax],ebx - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/levels.inc b/programs/games/rstearth/levels.inc deleted file mode 100644 index 38e82941bf..0000000000 --- a/programs/games/rstearth/levels.inc +++ /dev/null @@ -1,168 +0,0 @@ -;--------------------------------------------------------------------- -; cell contents: -; db 1 ; base (background) ; offset +0 -; db 80 ; NPC and walls ; offset +1 -; db 0 ; route ; offset +2 -; db 1 ; 1 - redraw cell, 0 - nothing ; offset +3 - -;--------------------------------------------------------------------- -align 4 -map_level_game_over: - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h - dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h -;--------------------------------------------------------------------- -align 4 -map_level_game_stage: - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h -;--------------------------------------------------------------------- -align 4 -map_level_10: - dd 030100h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h - dd 000000h,001001h,001001h,000001h,000001h,000001h,001001h,001001h,001001h,000000h - dd 010200h,001001h,000002h,000002h,000000h,000000h,000000h,000000h,001001h,000000h - dd 000000h,000001h,000002h,001101h,000001h,000001h,000001h,000000h,001001h,000000h - dd 000000h,000001h,000002h,001101h,000f00h,000000h,000001h,000000h,000001h,000000h - dd 000000h,000001h,000000h,001101h,000000h,000000h,000001h,000000h,000001h,000000h - dd 000000h,000001h,000000h,001001h,001001h,000001h,000001h,001100h,000001h,000000h - dd 000000h,001101h,001100h,000000h,001000h,000000h,000000h,001100h,001101h,000000h - dd 000000h,001101h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000003h - dd 030300h,000000h,000000h,000000h,000000h,020400h,000000h,000000h,000003h,000003h -;--------------------------------------------------------------------- -align 4 -map_level_1: - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,001001h,001001h,000001h,000001h,000001h,000001h,001101h,001101h,000001h - dd 000001h,001001h,000001h,000001h,000001h,000001h,000001h,000001h,001101h,000001h - dd 000001h,001101h,030101h,001101h,001101h,001001h,001001h,000001h,001001h,000001h - dd 000001h,001101h,000001h,001101h,000f01h,000001h,001001h,000001h,001001h,010301h - dd 000001h,001001h,000001h,001001h,000001h,000001h,001101h,000001h,001101h,000001h - dd 000001h,001001h,000001h,001001h,001001h,001101h,001101h,000001h,001101h,000001h - dd 000001h,001101h,000001h,000001h,000001h,000001h,000001h,000001h,001001h,000001h - dd 000001h,001101h,001101h,000001h,000001h,000001h,000001h,001001h,001001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h -;--------------------------------------------------------------------- -map_level_0: - dd 000000h,000001h,000001h,000001h,001101h,001101h,000001h,000001h,000001h,000000h - dd 000000h,000001h,000001h,001101h,000001h,000001h,001101h,000001h,000001h,000000h - dd 000000h,000001h,001101h,000001h,000001h,000001h,000001h,001101h,000001h,000000h - dd 000000h,001101h,001001h,000001h,000001h,000001h,000001h,001001h,001101h,000000h - dd 000000h,010201h,001001h,000001h,000f01h,000001h,000001h,001001h,000001h,000000h - dd 000000h,000001h,001001h,000001h,000001h,000001h,000001h,001001h,000001h,000000h - dd 000000h,000001h,001001h,000001h,000001h,000001h,000001h,001001h,000001h,000000h - dd 000000h,000001h,001001h,001101h,001101h,001101h,001101h,001001h,000001h,000000h - dd 000000h,000001h,001001h,000001h,000001h,000001h,000001h,001001h,000001h,000000h - dd 000000h,000000h,001000h,000000h,000000h,000000h,000000h,001000h,000000h,020100h -;--------------------------------------------------------------------- -map_level_2: - dd 000004h,000004h,001104h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,001104h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,001104h,000004h,000004h,000004h,000004h,001104h,001104h,001104h - dd 000004h,000004h,001104h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,000004h,000004h,000f04h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,000004h,000004h,000004h,000004h,000004h,001104h,000004h,000004h - dd 001104h,001104h,001104h,000004h,001004h,000004h,000004h,001104h,000004h,000004h - dd 000004h,000004h,000004h,000004h,000004h,001004h,000004h,001104h,000004h,000004h - dd 030304h,000004h,000004h,000004h,000004h,000004h,000004h,001104h,020304h,000004h -;--------------------------------------------------------------------- -map_level_3: - dd 000004h,040304h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,001104h,000004h,000004h,000004h,001104h,000004h,000004h,000004h,000004h - dd 000004h,001004h,000004h,000004h,000004h,001004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,001104h,000004h,000f04h,000004h,001104h,000004h,001104h,000004h - dd 000004h,000004h,001004h,000004h,001004h,000004h,001004h,000004h,001004h,000004h - dd 000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,000004h,000004h,001104h,000004h,000004h,000004h,001104h,000004h,000004h - dd 000004h,000004h,000004h,001004h,000004h,000004h,000004h,001004h,000004h,000004h - dd 000004h,000004h,000004h,000004h,000004h,010104h,000004h,000004h,000004h,000004h -;--------------------------------------------------------------------- -map_level_4: - dd 000005h,000005h,000005h,000005h,000005h,000005h,000005h,030105h,000005h,000005h - dd 000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h - dd 000005h,001105h,000005h,001005h,000005h,001105h,000005h,001005h,000005h,000005h - dd 000005h,001005h,000005h,001105h,000005h,001005h,000005h,001105h,000005h,000005h - dd 000005h,001005h,000005h,001005h,000f05h,001005h,000005h,001005h,000005h,000005h - dd 000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h - dd 000005h,000005h,001005h,000005h,001105h,000005h,001105h,000005h,001005h,000005h - dd 000005h,000005h,001005h,000005h,001005h,000005h,001005h,000005h,001005h,000005h - dd 000005h,000005h,001105h,000005h,001005h,000005h,001105h,000005h,001005h,000005h - dd 000005h,000005h,000005h,010205h,000005h,000005h,000005h,000005h,000005h,000005h -;--------------------------------------------------------------------- -map_level_5: - dd 000000h,000000h,000000h,020300h,000000h,000000h,000000h,000000h,000000h,000000h - dd 000000h,000002h,001100h,000000h,000000h,000002h,001100h,000000h,001100h,000000h - dd 000000h,000002h,000000h,000000h,000000h,000002h,000003h,000000h,000000h,000000h - dd 000000h,000000h,000000h,000000h,000000h,000000h,000003h,000000h,000000h,000000h - dd 000000h,000000h,001100h,000000h,000f00h,000000h,000003h,000000h,000000h,000000h - dd 040100h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,001100h,000000h - dd 000000h,001100h,000000h,000000h,000000h,000000h,000000h,000000h,000003h,000000h - dd 000000h,000003h,000000h,000002h,001100h,000000h,001100h,000000h,000003h,000000h - dd 000000h,000003h,000000h,000002h,000000h,000000h,000000h,000000h,000003h,000000h - dd 000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,030400h -;--------------------------------------------------------------------- -map_level_6: - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,030401h - dd 000001h,000003h,000003h,000003h,000001h,000001h,000003h,000003h,000001h,000001h - dd 000001h,000001h,001101h,000001h,000001h,001101h,000001h,001101h,000001h,000001h - dd 040401h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000003h,000003h,000f01h,000001h,000003h,000003h,000001h,001101h - dd 000001h,000001h,000001h,000001h,001101h,000001h,000001h,000001h,000001h,000001h - dd 000001h,001101h,001101h,000001h,000001h,001101h,000001h,000001h,001001h,000001h - dd 000001h,001001h,001001h,000001h,000003h,000003h,000003h,000001h,001101h,000001h - dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h - dd 000001h,000001h,000001h,000001h,000001h,040401h,000001h,000001h,000001h,000001h -;--------------------------------------------------------------------- -map_level_7: - dd 000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h - dd 000004h,001104h,000004h,001104h,000004h,000004h,001104h,000004h,000004h,000004h - dd 000004h,000002h,040104h,000004h,000004h,000002h,000002h,001104h,000004h,000004h - dd 000004h,000002h,000004h,001104h,000004h,000004h,000002h,000004h,000004h,000004h - dd 000004h,000002h,000004h,000004h,000f04h,000004h,000002h,000004h,001104h,000004h - dd 000004h,000004h,000002h,000004h,000004h,000004h,000004h,000004h,001104h,000004h - dd 000004h,001104h,000002h,000002h,000004h,000004h,000004h,000004h,030204h,000004h - dd 000004h,000004h,000004h,001104h,000004h,000004h,001104h,000004h,000002h,000004h - dd 000004h,000004h,000004h,000004h,000004h,000002h,000002h,000002h,000004h,000004h - dd 040304h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h,000004h -;--------------------------------------------------------------------- -map_level_8: - dd 040400h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h - dd 000000h,000003h,000003h,000000h,000000h,001100h,001100h,000000h,001100h,000000h - dd 000000h,000003h,000003h,000000h,000000h,000000h,000000h,000000h,000003h,000000h - dd 000000h,001100h,000000h,000000h,000000h,000000h,000000h,000003h,000003h,000000h - dd 000000h,001000h,000000h,000003h,000f00h,000000h,001100h,000003h,000000h,000000h - dd 000000h,001100h,000000h,000003h,000003h,000000h,000000h,000000h,000000h,030200h - dd 000000h,000000h,000000h,001100h,000000h,000000h,000000h,000000h,000000h,000000h - dd 000000h,000000h,001000h,001100h,000000h,000000h,000003h,000000h,001100h,000000h - dd 000000h,000000h,001100h,000000h,000000h,000000h,000003h,000003h,001000h,000000h - dd 000000h,000000h,000000h,000000h,000000h,010100h,000000h,000000h,000000h,000000h -;--------------------------------------------------------------------- -map_level_9: - dd 040205h,000005h,000005h,000005h,001105h,000005h,000005h,000005h,001105h,000005h - dd 000005h,001105h,000005h,000005h,000005h,000005h,000005h,000005h,000005h,000005h - dd 000005h,000002h,000005h,000002h,000005h,000002h,000005h,000002h,000005h,000005h - dd 000005h,000005h,000005h,000005h,001105h,000005h,000005h,000005h,001105h,000005h - dd 000005h,000005h,000002h,000005h,000f05h,000005h,000002h,000005h,000002h,000005h - dd 000005h,001105h,000005h,000005h,000005h,000005h,000005h,030305h,000005h,000005h - dd 000005h,000002h,000005h,000002h,000005h,000002h,000005h,000002h,000005h,000005h - dd 000005h,000005h,000005h,001105h,000005h,000005h,000005h,001105h,001105h,000005h - dd 000005h,000005h,000005h,000005h,001105h,000005h,000005h,000005h,000005h,000005h - dd 000005h,000005h,010105h,000005h,000005h,000005h,000005h,000005h,000005h,000005h -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/load.inc b/programs/games/rstearth/load.inc deleted file mode 100644 index 1d5789ecb6..0000000000 --- a/programs/games/rstearth/load.inc +++ /dev/null @@ -1,164 +0,0 @@ -;--------------------------------------------------------------------- -load_file: - mov esi,path - mov edi,file_name - call copy_file_path - - mov [fileinfo.subfunction],dword 5 - mov [fileinfo.size],dword 0 - mov [fileinfo.return],dword file_info - mcall 70,fileinfo - test eax,eax - jnz .error - - mov [fileinfo.subfunction],dword 0 - - mov ecx,[file_info+32] - mov [fileinfo.size],ecx - mov [img_size],ecx - - mcall 68,12 - test eax,eax - jz memory_get_error - - mov [fileinfo.return],eax - mov [image_file],eax - - mcall 70,fileinfo - test eax,eax - jnz .error - ret -.error: - mov [N_error],2 - mov [error_type],eax - jmp button.exit -;--------------------------------------------------------------------- -copy_file_path: - xor eax,eax - cld -@@: - lodsb - stosb - test eax,eax - jnz @b - mov esi,edi - dec esi - std -@@: - lodsb - cmp al,'/' - jnz @b - mov edi,esi - add edi,2 - mov esi,ebx - cld -@@: - lodsb - stosb - test eax,eax - jnz @b - ret -;--------------------------------------------------------------------- -load_and_convert_current_icon_set: - call load_file - call convert_icons - mov eax,[raw_pointer] - ret -;--------------------------------------------------------------------- -; load and convert icons -; mov ebx,npc_miku_kick_icons_file_name -; call load_and_convert_current_icon_set -; mov [npc_miku_kick_icons],eax -; DEBUGF 1, "npc_miku_kick_icons_file_name: %s\n",npc_miku_kick_icons_file_name -; DEBUGF 1, "size x: %x\n",[eax+4] -; DEBUGF 1, "size x: %x\n",[eax+8] -; DEBUGF 1, "common depth: %x\n",[eax+12] -; DEBUGF 1, "channel depth: %x\n",[eax+16]:2 -; DEBUGF 1, "channel value: %x\n",[eax+18]:2 -; DEBUGF 1, "palette offset: %x\n",[eax+20] -; DEBUGF 1, "palette size: %x\n",[eax+24] -; DEBUGF 1, "data offset: %x\n",[eax+28] -; DEBUGF 1, "data size: %x\n",[eax+32] -; DEBUGF 1, "transparency offset: %x\n",[eax+36] -; DEBUGF 1, "transparency size: %x\n",[eax+40] -;--------------------------------------------------------------------- -load_and_convert_all_icons: -; load and convert font icons - mov ebx,font_icons_file_name - call load_and_convert_current_icon_set - mov [font_icons],eax -; DEBUGF 1, "font_icons: %x\n",eax - -; load and convert base icons - mov ebx,base_icons_file_name - call load_and_convert_current_icon_set - mov [base_icons],eax -; DEBUGF 1, "base_icons: %x\n",eax - -; load and convert red brick - mov ebx,red_brick_icons_file_name - call load_and_convert_current_icon_set - mov [red_brick_icons],eax -; DEBUGF 1, "red_brick_icons: %x\n",eax - -; load and convert white brick - mov ebx,white_brick_icons_file_name - call load_and_convert_current_icon_set - mov [white_brick_icons],eax -; DEBUGF 1, "white_brick_icons: %x\n",eax - -; load and convert miku - mov ebx,npc_miku_icons_file_name - call load_and_convert_current_icon_set - mov [npc_miku_icons],eax -; DEBUGF 1, "npc_miku_icons: %x\n",eax - -; load and convert death - mov ebx,npc_death_icons_file_name - call load_and_convert_current_icon_set - mov [npc_death_icons],eax -; DEBUGF 1, "npc_death_icons: %x\n",eax - -; load and convert skeleton - mov ebx,npc_skeleton_icons_file_name - call load_and_convert_current_icon_set - mov [npc_skeleton_icons],eax -; DEBUGF 1, "npc_skeleton_icons: %x\n",eax - -; load and convert ifrit - mov ebx,npc_ifrit_icons_file_name - call load_and_convert_current_icon_set - mov [npc_ifrit_icons],eax -; DEBUGF 1, "npc_ifrit_icons: %x\n",eax - -; load and convert barret - mov ebx,npc_barret_icons_file_name - call load_and_convert_current_icon_set - mov [npc_barret_icons],eax -; DEBUGF 1, "npc_barret_icons: %x\n",eax - - ret -;--------------------------------------------------------------------- -load_sound: - call load_file - mov eax,[fileinfo.return] - ret -;--------------------------------------------------------------------- -load_all_sound_files: -; load background music - mov ebx,background_music_file_name - call load_sound - mov [background_music],eax - -; load stone kick sound - mov ebx,stone_kick_sound_file_name - call load_sound - mov [stone_kick_sound],eax - -; load menu sound - mov ebx,menu_sound_file_name - call load_sound - mov [menu_sound],eax - - ret -;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/games/rstearth/localization_eng.inc b/programs/games/rstearth/localization_eng.inc deleted file mode 100644 index d9f3b0689b..0000000000 --- a/programs/games/rstearth/localization_eng.inc +++ /dev/null @@ -1,73 +0,0 @@ -;--------------------------------------------------------------------- -title: - db 'Rusty Earth 31.12.2014',0 -;--------------------------------------------------------------------- -menu_game_label: - db 'GAME',0 -;-------------------------------------- -menu_settings_label: - db 'SETTINGS',0 -;-------------------------------------- -menu_credits_label: - db 'CREDITS',0 -;-------------------------------------- -menu_help_label: - db 'HELP',0 -;-------------------------------------- -menu_exit_label: - db 'EXIT',0 -;--------------------------------------------------------------------- -menu_settings_sound_label: - db 'SOUNDS OFF',0 -;-------------------------------------- -menu_settings_music_label: - db 'MUSIC OFF',0 -;-------------------------------------- -text_off_label: - db 'OFF',0 -;-------------------------------------- -text_on_label: - db 'ON ',0 -;-------------------------------------- -menu_setting_exit: - db 'EXIT',0 -;--------------------------------------------------------------------- -stage_text: - db 'LEVEL ' -.1: db '00',0 -;-------------------------------------- -game_win_text: - db 'YES! YOU WIN!',0 -;-------------------------------------- -protagonist_death_text: - db 'REST IN PEACE',0 -;--------------------------------------------------------------------- -menu_credits_text: -.1: db 'Hello KolibriOS Team!',0 -.2: db ' Hello Habrahabr!',0 - -.3: db 'The game used graphics and sound material',0 -.4: db 'under a free license, borrowed from:',0 -.5: db ' http://opengameart.org',0 - -.6: db 'NPC sprites by',0 -.7: db ' http://untamed.wild-refuge.net',0 - -.8: db 'Hatsune Miku Sprites by',0 -.9: db ' http://nekorandomnessqueen.deviantart.com',0 - -.10: db 'Glyphs of Russo free font by',0 -.11: db ' http://www.jovanny.ru',0 - -.12: db 'Game author - Marat Zakiyanov aka Mario79',0 -;--------------------------------------------------------------------- -menu_help_text: -.1: db ' Control',0 -.2: db ' WASD',0 -.3: db ' Arrows',0 -.4: db ' Num8462',0 -.5: db 'Kick SPACE',0 -;--------------------------------------------------------------------- -space_line: - db 0 -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/localization_rus.inc b/programs/games/rstearth/localization_rus.inc deleted file mode 100644 index f351e2f3df..0000000000 --- a/programs/games/rstearth/localization_rus.inc +++ /dev/null @@ -1,75 +0,0 @@ -;--------------------------------------------------------------------- -; Code page - Cyrillic OEM866 -;--------------------------------------------------------------------- -title: - db ' 31.12.2014',0 -;--------------------------------------------------------------------- -menu_game_label: - db '',0 -;-------------------------------------- -menu_settings_label: - db '',0 -;-------------------------------------- -menu_credits_label: - db '',0 -;-------------------------------------- -menu_help_label: - db '',0 -;-------------------------------------- -menu_exit_label: - db '',0 -;--------------------------------------------------------------------- -menu_settings_sound_label: - db ' ',0 -;-------------------------------------- -menu_settings_music_label: - db ' ',0 -;-------------------------------------- -text_off_label: - db '',0 -;-------------------------------------- -text_on_label: - db '',0 -;-------------------------------------- -menu_setting_exit: - db '',0 -;--------------------------------------------------------------------- -stage_text: - db ' ' -.1: db '00',0 -;-------------------------------------- -game_win_text: - db '! !',0 -;-------------------------------------- -protagonist_death_text: - db ' ',0 -;--------------------------------------------------------------------- -menu_credits_text: -.1: db 'ਢ KolibriOS Team!',0 -.2: db ' ਢ 堡!',0 - -.3: db '᪨ 㪮 ਠ ',0 -.4: db '᢮묨 業ﬨ, ᠩ',0 -.5: db ' http://opengameart.org',0 - -.6: db 'ࠩ NPC ᠩ',0 -.7: db ' http://untamed.wild-refuge.net',0 - -.8: db 'Cࠩ ',0 -.9: db ' http://nekorandomnessqueen.deviantart.com',0 - -.10: db ' ᢮ Russo ',0 -.11: db ' http://www.jovanny.ru',0 - -.12: db ' - ﭮ aka Mario79',0 -;--------------------------------------------------------------------- -menu_help_text: -.1: db 'ࠢ',0 -.2: db ' WASD',0 -.3: db ' ५',0 -.4: db ' Num8462',0 -.5: db ' SPACE',0 -;--------------------------------------------------------------------- -space_line: - db 0 -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/menu.inc b/programs/games/rstearth/menu.inc deleted file mode 100644 index 347bf4cce5..0000000000 --- a/programs/games/rstearth/menu.inc +++ /dev/null @@ -1,421 +0,0 @@ -;--------------------------------------------------------------------- -main_menu_start: - mov [main_menu_pointer],0 - mov eax,[menu_sound] - mov [sounds_sample],eax -;-------------------------------------- -.red: - mov [menu_text_pointers],main_menu_text_pointers - mov [text_step_Y],SPRITE_SIZE_Y - mov [use_separate_draw_text],1 - call draw_menu_window - call draw_new_pointer -;--------------------------------------------------------------------- -.still: - mcall 10 - - cmp eax,1 - je .red - - cmp eax,2 - je .key - - cmp eax,3 - je .button - - jmp .still -;--------------------------------------------------------------------- -.key: - mcall 2 - cmp [extended_key],1 - je .extended_key - - test al,al - jnz .still - - cmp ah,0xE0 - jne @f - - mov [extended_key],1 - jmp .still -;-------------------------------------- -@@: - cmp ah,72 ; arrow up - je .arrow_up - - cmp ah,80 ; arrow down - je .arrow_down - - cmp ah,17 ; w - arrow up - je .arrow_up - - cmp ah,31 ; s - arrow down - je .arrow_down - - cmp ah,57 ; space - je .enter_to_point - - cmp ah,28 ; enter - je .enter_to_point - - jmp .still -;--------------------------------------------------------------------- -.extended_key: - mov [extended_key],0 - cmp ah,72 ; arrow up - je .arrow_up - - cmp ah,80 ; arrow down - je .arrow_down - - jmp .still -;--------------------------------------------------------------------- -.arrow_up: - cmp [main_menu_pointer],0 - je .still - - call snd_kick_action - call clear_old_pointer - dec [main_menu_pointer] - call draw_new_pointer - jmp .still -;--------------------------------------------------------------------- -.arrow_down: - cmp [main_menu_pointer],4 - je .still - - call snd_kick_action - call clear_old_pointer - inc [main_menu_pointer] - call draw_new_pointer - jmp .still -;--------------------------------------------------------------------- -.enter_to_point: - cmp [main_menu_pointer],0 ; game - je start_level_0 - - cmp [main_menu_pointer],1 ; settings - je settings_menu_start - - cmp [main_menu_pointer],2 ; credits - je menu_credits - - cmp [main_menu_pointer],3 ; help - je menu_help - - cmp [main_menu_pointer],4 ; exit - je button.exit - - jmp .still -;--------------------------------------------------------------------- -.button: - mcall 17 - - cmp ah,1 - jne .still - - jmp button.exit -;--------------------------------------------------------------------- -clear_old_pointer: - movzx ecx,byte [main_menu_pointer] - imul ecx,SPRITE_SIZE_Y - add ecx,SPRITE_SIZE_Y*3 - 16 - shl ecx,16 - mov cx,SPRITE_SIZE_Y - mcall 13,,,0 - ret -;--------------------------------------------------------------------- -draw_new_pointer: -; movzx ecx,byte [main_menu_pointer] -; imul ecx,SPRITE_SIZE_Y -; add ecx,SPRITE_SIZE_Y*2 -; shl ecx,16 -; mov cx,SPRITE_SIZE_Y -; mcall 13,,,0xff0000 - - movzx edx,byte [main_menu_pointer] - imul edx,SPRITE_SIZE_Y - add edx,SPRITE_SIZE_Y*3 - 16 - add edx,SPRITE_SIZE_X*2 shl 16 - - mov eax,[npc_miku_icons] - mov ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y*12 - call copy_base_8bpp - - xor ebp,ebp - mcall 65,buffer_area,,,32 - ret -;--------------------------------------------------------------------- -draw_menu_window: - mcall 12,1 - mcall 48,4 - mov ecx,100 shl 16 + 644 - add cx,ax - mcall 0,<100,649>,,0x74AABBCC,,title - - call clear_screen - - mov eax,4 - mov ebx,SPRITE_SIZE_X*3 shl 16 + SPRITE_SIZE_Y*2 - cmp [use_separate_draw_text],0 - je @f - - add ebx,SPRITE_SIZE_Y -;-------------------------------------- -@@: - mov ecx,0x90ffffff - mov esi,[menu_text_pointers] -;-------------------------------------- -@@: - mov edx,[esi] - test edx,edx - jz .end - - cmp [use_separate_draw_text],1 - je .use_separate_draw_text - - mcall - jmp .continue -;-------------------------------------- -.use_separate_draw_text: - call draw_font -;-------------------------------------- -.continue: - add ebx,[text_step_Y] - add esi,4 - jmp @b -;-------------------------------------- -.end: - - mcall 12,2 - ret -;--------------------------------------------------------------------- -clear_screen: - xor edx,edx - mcall 13,<0,SPRITE_SIZE_X*LEVEL_MAP_SIZE_X>,<0,SPRITE_SIZE_Y*LEVEL_MAP_SIZE_Y> - ret -;--------------------------------------------------------------------- -menu_credits: - call snd_kick_action - mov [menu_text_pointers],menu_credits_text_pointers - mov [use_separate_draw_text],0 - mov [text_step_Y],20 - jmp menu_help.1 -;--------------------------------------------------------------------- -menu_help: - call snd_kick_action - mov [menu_text_pointers],menu_help_text_pointers - mov [text_step_Y],SPRITE_SIZE_Y -;-------------------------------------- -.1: - -;-------------------------------------- -.red: - call draw_menu_window -;--------------------------------------------------------------------- -.still: - mcall 10 - - cmp eax,1 - je .red - - cmp eax,2 - je .key - - cmp eax,3 - je .button - - jmp .still -;--------------------------------------------------------------------- -.key: - mcall 2 - cmp [extended_key],1 - je .extended_key - - test al,al - jnz .still - - cmp ah,0xE0 - jne @f - - mov [extended_key],1 - jmp .still -;-------------------------------------- -@@: - cmp ah,57 ; space - je main_menu_start.red - - cmp ah,28 ; enter - je main_menu_start.red - - cmp ah,1 ; esc - je main_menu_start.red - - jmp .still -;--------------------------------------------------------------------- -.extended_key: - mov [extended_key],0 - - jmp .still -;--------------------------------------------------------------------- -.button: - mcall 17 - - cmp ah,1 - jne .still - - jmp button.exit -;--------------------------------------------------------------------- -settings_menu_start: - call snd_kick_action - mov al,[main_menu_pointer] - mov [settings_menu_pointer],al - xor al,al - mov [main_menu_pointer],al -;-------------------------------------- -.red: - mov [menu_text_pointers],settings_menu_text_pointers - mov [text_step_Y],SPRITE_SIZE_Y - call prepare_settings_text - mov [use_separate_draw_text],1 - call draw_menu_window - call draw_new_pointer -;--------------------------------------------------------------------- -.still: - mcall 10 - - cmp eax,1 - je .red - - cmp eax,2 - je .key - - cmp eax,3 - je .button - - jmp .still -;--------------------------------------------------------------------- -.key: - mcall 2 - cmp [extended_key],1 - je .extended_key - - test al,al - jnz .still - - cmp ah,0xE0 - jne @f - - mov [extended_key],1 - jmp .still -;-------------------------------------- -@@: - cmp ah,72 ; arrow up - je .arrow_up - - cmp ah,80 ; arrow down - je .arrow_down - - cmp ah,17 ; w - arrow up - je .arrow_up - - cmp ah,31 ; s - arrow down - je .arrow_down - - cmp ah,57 ; space - je .enter_to_point - - cmp ah,28 ; enter - je .enter_to_point - - cmp ah,1 ; esc - je .exit - - jmp .still -;--------------------------------------------------------------------- -.extended_key: - mov [extended_key],0 - cmp ah,72 ; arrow up - je .arrow_up - - cmp ah,80 ; arrow down - je .arrow_down - - jmp .still -;--------------------------------------------------------------------- -.arrow_up: - cmp [main_menu_pointer],0 - je .still - - call snd_kick_action - call clear_old_pointer - dec [main_menu_pointer] - call draw_new_pointer - jmp .still -;--------------------------------------------------------------------- -.arrow_down: - cmp [main_menu_pointer],2 - je .still - - call snd_kick_action - call clear_old_pointer - inc [main_menu_pointer] - call draw_new_pointer - jmp .still -;--------------------------------------------------------------------- -.enter_to_point: - cmp [main_menu_pointer],0 ; sounds - jne @f - - inc [sounds_flag] - and [sounds_flag],1b - jmp .red -;-------------------------------------- -@@: - cmp [main_menu_pointer],1 ; music - jne @f - - inc [music_flag] - and [music_flag],1b - jmp .red -;-------------------------------------- -@@: - cmp [main_menu_pointer],2 ; exit - jne .still - -;-------------------------------------- -.exit: - call snd_kick_action - mov al,[settings_menu_pointer] - mov [main_menu_pointer],al - - jmp main_menu_start.red -;--------------------------------------------------------------------- -.button: - mcall 17 - - cmp ah,1 - jne .still - - jmp button.exit -;--------------------------------------------------------------------- -prepare_settings_text: - mov eax,[text_on_label] - cmp [sounds_flag],1 - je @f - - mov eax,[text_off_label] -;-------------------------------------- -@@: - mov [menu_settings_sound_label+7],eax -;-------------------------------------- - mov eax,[text_on_label] - cmp [music_flag],1 - je @f - - mov eax,[text_off_label] -;-------------------------------------- -@@: - mov [menu_settings_music_label+7],eax - ret -;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/games/rstearth/random.inc b/programs/games/rstearth/random.inc deleted file mode 100644 index 32b22570d9..0000000000 --- a/programs/games/rstearth/random.inc +++ /dev/null @@ -1,8 +0,0 @@ -;--------------------------------------------------------------------- -get_random_binary: - push ebx - mcall 26,9 - and eax,1b - pop ebx - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/resources/barret_8bpp.png b/programs/games/rstearth/resources/barret_8bpp.png deleted file mode 100644 index e4c83a308df9248eea8c8cf3d2d37771f73f91da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4559 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 V_ZOnWW@{fcz&2+Or^i$p>wgJ%RxJPk diff --git a/programs/games/rstearth/resources/base_8bpp.png b/programs/games/rstearth/resources/base_8bpp.png deleted file mode 100644 index 703184ce79ba74f8b4ed7378c93fb67d3755c3c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14526 zcmdU$V{@lZ(C@F<+SuNWZQHi(jj`F-$;P&A+s-e}#@5ERb^hl(x?jS5s-|kXrfTNF zOiy>$cRmxYq#%g|j|UF`0Ftznn96^>5CDMr!$SOL(NHCw0{{e|B&Q~h0sur{01W`J z0)Q|8ArAmL;D9v%sKbCe0f0XM#QZmd5vT^hGGTyU*gz>9pg{#`O@;`F0=)=8GcpiE z2)+mpFj4g=v!DQSKqEddjSes}51FzO{A7jNLj^RsFx9#70Cj+kZB&aN$ABN*fFF;W zbHZEz1uy`HDZyCyr=z%F%|&scO#pLI;xaZ!6A2P&87aUL7^DZgBm*2IuuP?X*h=AS zQUm;=OFyNEZKNn5e*$k5K)5I!-~>3zlmC{-ahE4{QlN2FB(_tck(SwZRr(I;1|coC z`pg6XUO=D7h>JuFkZ@4=AauLi&M)YY+u%k^_Md!CExBs*7Ga zY@ymj>S}xbI!r(a5THx5ED40^evj3`kJF=g6ak_QC}1LhNCT!YBkCwanlK}#P$PCA z8e&2j5{L!NEzPtHFXBxZ(oDW5no&b00x{-n#>RUw7L3sryg({gjVa8X5@2e+on}Q3 zWCCf{Y)L==Ydnt54%2!Z=UUKkIRH=qFrVO z&I{B*l>Zhj_LOjUzqtDez%>9s3lJC_FzAbP>huHX1e@_-toIl7^}ibQk!lST0{Vda z-vClK&=tZC3<8nS5da9{U*Hd50{Aux0MkHXast>K04ze>L?a|5UZ-cKT}OW(&IN!q zASW+7zc6nl%kngbzPPk#vRL7%;9GfR*=d1dRZV4Wea&H6R6|pJOI!0?t8Y)k`C6M_ zXLrYTr}sk->sgP=d|&8hulrhWaNj`hR=@vVU)Vu^z|hFx&QSQ?aPS5w;&{aQd?a9W zeB@*#`V16yH1_9kEM{VA{9u9q-&E}Rc1gqy{*$EBF_mGrBX#Fh2sr`43}9pBCEjrYxrhn=k5y`973gV*!U z^UKq_hugQ0SA>|6Hvk|3q{W2Qey@eJ`st}!_AtDT#|~8ym?&hTmeO5CKd2g0h|VG@ zLyV%K1_Vpw`K!@FuSDyh;#$Qs^U}C+j9CfOVf`tc{9WU?J0Clzue)JLg67r{L>Btl=_l}PS`00CdL33R5*43L&@AlCf-;69n*W2Z;iv#xgO1=Bl z7U8OSvYWZX{?UQj-`D5;{l)sW=UMgry$>&|%%k{Gx3aP}ZtsP=`VU6Kp7)z} z_gKT{d)3>M(p-bKx~J>i)|qTU4JGyDgkL0gqw%6|37nUHSKWSc+c`No(_*75*w}=r z8tExm#J%)yiTqyE*}dMM12NqJ0JegD+xul_sv<|um%h5Mx390b#Bh8>R9ke|+|$?I zvg1&(F=ljd~ z`EufX!k(&Qi~)ON4K-Qh*=%9qCL^i(FNeN@cE zB%gCh{mn;1Y{j&nch}B9x$03&E?Mc;rq}L3h>L^6PunV*%8K`EIdkdvk+y_{wzlYX zlwyYsf~UynOuzp3wD_)@hvj*eyR*1~vDg`6!5HA`(kD~zw-;!uHI`UVTfL66_|!ex z&2oBw_+pZ7H5IMfhxaj>x9O|eXMJ9F%j;@1e!p%1{T$*-lOu=ETg&@`GxZ97<74|EyF1<|TGvNKHa=hUQ zD~s>t=0Na0f5+5$ccVR#ciP9Bh+nGQrmC{4N=~72r4>bg`)Lb?cW-Wc@Cfx&<9yv? zAA;a|u<6)tz2$UI3h;4ww_+?`Q(e^hb#A8p z*ivy9ZAo)SODlUzLnCurkoe>iSI^4B!^6-{;bCep*3-rXS;OU+S5see$+@b&O0E9K z(V1~oG@1cV3fO>L_8wXivnOUt<( zPAkN!ImlO4TO&C|zu6sydX%x!q+y(~vXWOrBUQzNgqNrGb`Zk)<%M!}%sSaJW?#HF zKKxRHKq_)(G6wYXSXD-bZ^TAdSRI#|c49`-9fhE5va-ypmrjt;Zv6~q+FMK0DX)O# zMd-bLe03d`oh%T0%p_`}1?sImSD&HIw4_9CA{(p?e-U ze|cnWmA9ZEH{~aioUt#I2H`{vUFD?W1kB;g!fqIk$}bXn9sznr9wcret~ewrLMqxy zzQmL-Uww0(&6ek+_vhutM%6lFU+rJ!=K35xAY&TZnXIwNq0as2rY?x|+9OIyNf5|V z!z`z~s!Bxiws7|HDRFjV5OjN|T%Tk|4Kr6!F}^henx#qDOT4=ikdv($^$yB2N=~n} z)Yu;eiGwspEKT%ol~3)Wua=XO*?m=#r_@^OYe+gP7$|$I&V|f-0hFpsS* z_{#b2`oo;?Wn;3qRnUm_1J(+MprX~+>(1SCy>G`}2EA06OrgxFp+N90#Yx%a6Opko ziVWqWkOM4tGPlyh@hGwdiLu^}B^2D3(fdtJ=S>YVRU4r;-nYFzw_}oFs=u=6c-uKU z;f==|&i)QPw?&MTzp)g$n+Va|N=ZwPOh@Bl5_gvMU>U%$k&9Rg6vuAH8Eo06H|6It-+Bf1V}Nkc3Qv9@nrx6Y9$o#Kx{6T8~eJ3$RZ&p z_pyBayl`?d+tUq0E_T@RhOJ5@$bOV??&pA{qFr%%zAg3RYBmLR9tnK>XA}1#oyzww z2(SL5jrG?0??Rh?_4xel`YLYj+3b#4>t&?p}0X z5eYzjbksdPx8D)7r%;xfgCt9f&HYV~nFAk|9$gz=Qsa7}@#ke9lXsj9EVRLB+DzAD z28qev6mjPShe!WQnW_ColgHmBL09jnA`cVyJ|`r;w-ZyDem9YZBtiyINk>4agYIKa zQeZcfSH70l_7(zIm*eSXt9uqi0H)f3CLu3C1+ojhwB3lBVH|rjv{%?B!p>Gs01Nhy zjVV4af8Bovr3wo8K4Yjt{F&(lDH3iueQrobuLETbEOKN+cg6!SY|L?-0iG zejHyyEBComf~XuHmUk%s>xU_J|0}naYu&q3;^GqDhB>#r@5CKqM)G)d9JnfGUESO^ z+kAsw^c+~5FSpccrJqHX7d2eEJvFCGHuOX-e^v(U8@;&EjZ2rk+-CMkYTB{kWkySg zHrJG%Nm#m+mbX@VEYEI!Q5$OxL~mvM%*f(IcaA;mX*pWtP51QYpOObp2i-sm zcX_9Er0;#H+Y3#2*QM3fjlPNbB_n31C*`#x<#7@sH4>_NrfmA1vlYy^zxIw^6$)gT zaBbxH?WTtD^clf7`VM&tr;XT-5p|uNY6U>S{Wg4GKvg_`AEG*DI-)FnT+@+vxwNGG=)7zWkeD>^%|pS0Jcm4Qn!SQe19cIy|&69Vpr0F#X6}SuV4du*+bFz7ry=$SLh_Z84}emsdB_YlhXL8*DDR5xx{~f7hQb zk(WT9hxwkTJfHcqBgP`zj^jA$p+m38DajQIylKfbU1yuw_2E~`;r=g<)(1Sayw*EB z8oN`LY`aUg44Vu${fCYmqJ^ERdi0;3(LC~+?BGV_HJ``I@|H+3^X3ayawV@8pI=p_=}+=D=KDUdG@gPhV=Z`>xtp zj{Eg1-E-PkdE0glr_8VHZj z!=^76L44cpKCnqIJ-;#^cLoR-^UCoQ{H zuWIS5Hm(~nEhSD{=!-;`a4naOmD{sFl4Tm`i`37?W!~8+xRmC1ymov)I_3>PCU?Ua zD;iWfwqfh;Xv{8|RxmlW-Ac$ifedBuY{3b7S2ujOkdHB*;N{U5>8`PGcd3+EUQ?}| z*RxdesqUFyuwh!j{uxzmm;D{GY}p_6`efragA^yPvAw+%7juSt&F1ui4cFC@(~jA` zd~0!Wa0el(be1hshyAL_4I11iE*(;cnR^io{$jk^?}ufpv`Y);XjwP(e2r$SRn%~& z4tsaCU0?AHp}c%)ej84uRHkt0gk3e*RtEcb`Q-=vW%;T0>h@6^cP3&;xv~+)lAOYJ zNjGRD|IMnOmqT4Gr(4z+6eERj*&`-MB$}q@{A+8bHd9mdHMKRhvsQs`+t1*t8hQ?M zIBD+z!h|w&!&!F{u@aUPaBvS2oAz-f_Nn=e9b0jU*D+{SOKW*F6hgtY}X*yD71G;)8^(>=qvkVAOxHTrk^tlp-Y>bW@Y| z`$t?!K!9y+Ep1Ao)f$+JK(ZCx@wD4-Bo&@PI=KFNY+5q?TqDuSK8{5W^xs;dU^>@G zj2z|yPjO{mHWfiC*}@-DD3Y>Ii>UW-&`m9`#OAADX1cav?N*KTuGK#~xv*YTGwj_; zM>y;qQOYeZWtD_5%e7T#+T@d$d>CwM_e3fWUs|^f2@K$Hd`{R4K-M@^{|_`e#ciy47k_T$}zjkpu@<7Y=gon#sdzYf_ag(s)*COdX+$47?;X2g90RHc63T z1lQ7QR^A^pB}t03k%e~@>g8#Ug|JN_AbnsO3WbE$!0p{a?RuA!u<<7oAo=cz! zCnaIsQX>x+>*{pyQZ$KBMSTPLzLk~?-BKl!B$bGc(H5vd<$@4)9no8FGh0G~;V8(6 z3{k&*Q@D|)qMSR$geOW(fF*y>A*Cr$kzSPFJR86)P|NrR%T2)+p@I25;#p11MD|~J z8B>o^1!^z?<(Y4DjOc(!q1pjGO}JV$HoQ1SENJ%{lcrg$A*E8uN?nB}tI|-cX!(V^q4^rZewt68)2uS^6+rBunBF^ z&vNk^N&Q)zaxJ~IQSFI?*+54kV#y!1u4NDPXy92z*A{dvd63@uQnM5#Azf1CfBv~V zzh75xZdQ~yV0tF2Nrj7T=H56N>B!xLpsC^Pz8^W$PZd)U{ZJuQ2Ejv-)oWEOMvy%p z6Vi}iM)dX+YnIw{F0Q4lT*omX|0AnY6G1rE5{Q-J`g(yBhoc4?#*Ant1V_%rio^)f zNoLBz$NGjflK-si*Rz-(p`L`@A{G+z-@zUrSW|zN%nhKk$$xuUIEojcq09P#p;}L$ zKt&o0!j8Zs1Cy-#g%pMkZ#%noD^>G+CQ_a@SQ@tohfJSu9iD}SVC5`JDlkhp0f&Te zG#}_}=Mk1PfeCAMK`X}&nPl`6a-NNO$*rjjgDhM~PF81J94!GhK!yQ}B0;QKtcnrC znTtSXGPZcOZpBee69ZEsJlNaX7~%B0X7TvR3i_r_wG0{Rsk%+MOh5W84PG88Sq2tu zlMO@aAogBtUb*f}@sJ6P$PlRZ)Ikv4nM#Ku839TtLW35QN{8p(raEV)bXKiASn5E9 zMx%lOLy~$(5PBqqB#=?Juv^ zo^Y()YmpEcgt@=yKA@>uL0Nfq>0vT7@G=ZzW8;lmt%z^4A|VFy2*u80mYem);28op z+C!FK-!RuVNioCG3d{KdHO|6CyzVs655?%e$(le($&Mlv-=9j!WK^g$H%Wz%feoh~ z4|=HZ-1N?ViwBY~H2@p5`m=!nYSQrJl2c{o@(e6Y4me7(W}P8P+*vW-Dgtfzka}<) zbfyl*4Bs8LA<+s=1}0`uT&U)7xlXAbBg1-B)a znR8TZhIxOnK2=F`6QsU*fE$=a`qReEk&))b*o1|I!Vim)EmqvGIfKpn!}e%lpp6|| zQ_(ai6)cS(Bxpe+c^gvnW~5jH7TYULs^xS^v5{5bvZ#1 zP0Fosfw%pNj(6s>-xsJFOMSwUq}91Pix{iHB3r=8ZlA|-h?ZVON3ZN^Ydk+(1_!G_ zBVV1Wh%J>?t~fqGhXJZHH0wFn@BH(z_cQk^mFqE=rvTD~)ZMPA$(x=r3j%i?FNEe~ z@t-q){G6H<>>*mOGnYyGCuYrmnzXM+d_~Mu`?XYO3kDjqJ@m_G>}1zS?#=iZSs zX)OE^sj3X=p9>9inKYW=k?_Ac1DZlnI5gEQ@4fz|;%KfFWE{7>uw1%|RfSX$5F40V zuPG(J1JQq|AcVlP1K+=cJ5_wTGtDSkdr;nBd4Ob?Kv zQURl6mUk$IWcwpel63a>A7#zn42`4VKEa4V86hd$4M>Md@`Zoc+j(Hf;sQF22=cSazuOplbsHLSTCzbf7$~Z6?${pP zVl23j13Aqi6RUx6Kc3mS*$)u1Pksh?g$K9@T#*XYd=C|qh#G|=J!~P<%w{jPbfFcy ze6=iwBQ^JsBCHb@<<`4gzF_=w=~p4S4CzsrvysmLS^tj}|Cl^XaOBm`bZ`jC;R;_v zDs`ryQB2tU1FjNSF&Z&msMBhK{5;1>shkJ`kv~)|dKEkYtfR%{&Loz9uO0M%{DtoD-4(V(fw80J3xGovYJkJP_c@#_u7zk5( zU&;WS0#>D2-nl$5C_o7!B)lHJJF6hyr%4Q_xHug4Hh;-R^?*hoH6NFG5+&E(Bsh@~ z)wEk=Yk~A2>?V_py4`;wnkOHq+1VFsl6rrUr`}~QbvW@4ONQrmY(}e#R=%GSImFrF z&Q}BfkVZs00Oc4RTM(Ys?!eXO!iwB$x5hcPqdEVz$yck@G)AQ;r)lPC=@JFYVx=I* zoCOc~GqXGFTjT#O{hS|u5M}CbTL(frvxlrK zM(PB102TFV?w2S7sE6%GN;s8pONEfZT&wnqG#pL^B))gAG-Upi3Ka2@< z@P>DttehZ$;%9Uj>Ui4VdXe7bQ*PUFlBi^IXyU1gRNNxfw)1yXj$y-4 zo)|Esi`ec1?K_GOCI2dedxIjsg(8p*d58Ohmsbocqy9oe?9ll}tGKw8K=XP3_P4o> z?E1xXN0`hanDh4OG{wFibs1hf3D!2yIFuaoS{!m;@h2u(yxwLY9xVAWa&kv8A4L=> z)?ZeY*0Dcs;DBZv%DC2XP}D=MU8A^QmzFXK6)FK0>K?gp1be)>PDvz3sy0vY&oe10 z!H9+^J7yC+G*t>M@*pO8R!|VFl_M+){WoP}Z}6?4w-WMa`h!vFD2|p5zJ7E^QIWQH zsu}raPg-L60_&b61N`w_hea7kcln22c9e?Hz7>EG+h zs*Ux8cj@U7!%z_*;lb!j#RJh>$A{mUqKxTmB`7wmNrS~{`pxsK^|^|-@I*ugsM=Hn zG#Ba_vhZh%)GIUXF(Z`ipr%$9ZtZN6wzc;&9vIkIu6258JB@UMb|ioUJa(hAozTh zVT|uEnnG#b@p^`3ajxD(k;JC)#K|iK$#WrVYO_lzmstFt82<$D#}8;ntNjGQeEQns zfUuc9^!=eUCY>Uym$M^qQkT}a0XxoSD_j>^`g08_9h{Wt#mHe3v{??}o81qRJPggr z4fK9TPjHAiv<=YIM(I*=?yh@8)EK2Bw*j&NX>cQh$(BfZQ2J>VP#jd( zjj(R0zMrj`b<0V4C+nJyjhHE^d#A#?3VD6(`Ze?zd2?uOZM&yYyp+(07GelJAKMcT z$|lI1Nd*XBdy1Q{YGAdUbYR_NJBAW#}K_|`M*a&a?(3o1Eke-J|O=KEP z(iH8g>Ap*Rr;Ud5?j}7vU7VvxmrF@1qEoj>9ygnOVty8&E^qoJx>GC!Xv>MdSyOJ= zl*z*nQOlcbMaC1_QcVp!$@$Y&Ny9@L2}nyfBQZA!`Qum=&TA%*ug%RxifawiO~LO6 zVFnC8Pn6eS1G#CA4S?9yanN10kv(rDu{Au9b~Ervr_Xji1uZJ|Ms`U|0AwdrG@nGMA6z@ z(Gfk{bhSGGVA}m(7T^zDP3o8ii%=e!d7gmWOZr7(1GvA3fDul8WZxqE9}^A?=CfpN z8FPS!g1TgvgcU`O2h0jAv{-r)Ycd#;rmRaVV%h?#M-5BgZiWVl0pvH1fb%6VchUMYsm87Rr?>CayiMEm|;l`S)riV5a3! zWD$9p8~cz%@BC~oo|za^%P=GDT`YmD&unH1Y(Q$*VS@aZoWddwLO4E-3>{B^{q4`K zaQ&Pnssx7Dhv+hS7YDZRW4J12BQ#ZjC2#>}pY_OOTuX-rfzFi5yxC4#T3Euk%rxlM zWO5q@2u^1iOEA#@ucFAfpA$}h5Y`$u!CCSE8$)8=CmSTxrX@_J%w{m}iI%qctxTQP5}awX)G42hhUj6u+xmNt)#dpwN6ugI3xHykM^*w`TRGnp~Sb5Qewg2|UQ z$-jVu$)SL%x$>_$(Q->G40BF0CPC6sld~H?To-st0@QJP6UJY#Q~&0)MaT#|1>#9~ z5kxJNx}{JO*GPq0%TTypD%|7Uu&TKtbuNqQqVd0`a+BltFjm%-5Qt9nzGTALeLG`; zXF)FCbx(X%l!Kfx3j;>`0cPRL867zPQEbMgr6m?ojK*6sE8%iF8>`-o2ZBO5UX6@l z5)38tx?#vTJ1$rPsz@6Mt8Eh902WmQ2|o?35YiG7o^&zrhJK+S>VKg@NKq#Cqcr-( zeSMxKm(6l20k@EpCLyr6ePj%(Oy7foN;P#1@c4X<-26Ad)vzc&jI;xX`Bt{-M0Vt$ z8$yHdbAH;#4F^#h`6pFU>h?p-U!)a0KCTHhGkd@)xpo|LGnt83+7epr3m?$nK;RBF z8S-x`xz?r3UgvEU4r9apv2)`hL7v$K9h(lyrlC~DD$~fOZ$a@!!*#x@(@T2>Ts*+6 z8|uWnsz2Utj8HWHfSN%U!*h|L+>fN_?t6R<4aFwMae2Le?M3K|bCUBfGSN`#pY%`Q z`|(@iCc;2w=YIP~-@*@}EPM?c3=CpQX-_oaUk}`y!cjJyU2^~Qaq@5?=IFa$Vf3;5s-HRB0us6}>xQ_9*H+3pA@d8%*VhB?1Bv4qx}^*^PfUTF5;%B3cg zgcr<@8|?;>Y3nZZfWPm=kp%^T(a@>)a52L>)@SdAtp)wfN_CTi4oIr@1H+7)Q*ZFa zq-5mL&{_Xf_p*+Q*Enk#cx@i<4RSwO3^FU89#7RZ(8a6MYEb`b#uG_dWboqlzpZ?H z_|L&$A`P6C@=5{42@UP*5UkeTA{u7q3&SxDDYwB1un2Gs)}JAUL3ikmbk}qjjI=Jw z%1fa~Uz{AwT0EmAQfi&9USkkC5L04xP+(Q979cYP$S zej$N?Pcw5UaKNK3yfTKHnhQZ&o0g%qDJ4HkD5?^PS$F^v9a1Ge*`5TjS5~%OqS^hP z42`bEo>eB{#hXQEz`NqhWHBtZ(2@#0W{@tfAo>!BhzXg=Vnm$WPXrC#$KPaV2a-&0 zat`s=S+;=k>yr6w7H%Q?2PP1zP`l=ED35D;MM7TcR5}n<18wxIgjM%o7~hv3L^s%! zjpk|LBP5-m5gZ`x?sIKK+by5a-(UviZIa*|LV=SnBQwx_@j?Od);z9W51%7ItCf-F zkASc*Y9>v~KOmRFk=5gwT>nwILDVKO0$I#1l%%vn(#$Lb$4AawiDp)eqhY>tNrmtV zv#(8qP%$2wyiTCzeef*~v(5#qlUT{xVy+?ZAF-{N(R{L(iX*>T7uZvPe+^k5{4WS> zWNjn1MsU8MUKn#)%dI%I*Ke!?P+1m4kVjQ)KOau<8wWJC1Ez-|wM1~wA>vB(x|^7+ zx@Zt`a{BKgfdCt*bHz9grBlBU4;?h`gK_n^u^Rn$8{$APj;=Ou7`n%C8&nENzmTv9 zJPk&noxn(D+Giu!=L1A=_vE?cS>w|hI-TOE(8?%~c}YhT=`j=pKiHOxW>LVTqL*b? z4UB4{Lg_s3SE@(trtejZ&)maZ?3U!O)QPt{Ma8b^^f5`+trP3ciOY{M-o2amOwir+ z?%>$im^R~$+|1-8-#uSede_nY=daHg^nfTHxaHF8Ok?m=g`~Gc>d&@O2~=KT5J3*?XAw>L!Zyu^DIOKg)U|^LO`M6L4}E5MX{7oDt+b z%ANdrHX}0R(Pwy{*}LgDpVwkL^ZA1(@5O(&MSRn|Dd1#jGIwW&1;!U!deQphy57t8 z6Ygi0f<>lwDMG2yx7+DSzT1D0tO}{i0_MF(p6~mh)$liTRd;37+SI%<6urdl&bs)C zxA{R2Y=ex9HlHUVaIW~<_dSm*@~bHHsh2Hwrx}3*&tM9_XOEFRF>E5wKb9j8qe1$X zv)^YDC1d{vTwSNPakBH@IpmDN5TU?xy!~~9pFe(G4{b|)^2Z(Q%^gO1hu=}a z#EEl(%fTJy&@WfFr|~>+D`2D>oWRzUg0-zey5S*kyuQ$FT}KEGlK&*kbdOM+5yx7mHwos<5?fN>>YBc|kd zMd1j(k?)|GLqg>ufnsoN;;=k-RZN&9b~h!@KjoQI2H>VcAqmT zn3Xe9pUdYezstlreHG9Hy4zNipYiO9^~*@lX!BYQ@yP;?tDb(aA=Lp5hhyDW#5^~! znO>zAC{Evafg7t+WW2+4KbAe`sn7o?HA_z$n_Fa^lkY#r1z+XbY4Vxlj*OUE8!P$< zm?q8Ydt}J^|$;XEf_j3?ZEPn>o6uAS819f(GC#&3l-NuKF_1Wio zPe!fpe;swZTmIYXF2@ziHa@-MkJx*d>?rv=G`8vyi{QiuX(xM#z7fXWBXLJ7kvNj^3a1(z<86zm6 zr5%ImoO>J_=e;oX^(&wf4KlcQZS|7&b-AoTy+XQ}u>7!JC*G*vZvW~#acbvlj6FQE z{GM*z4a1Yx=1#23C#2B0gLiemPZ)aycjM`ok?lm*hd7wRAh-VEWyFQZuHg5Vx`%a-VfN( zjcoAEmHu=b{nRj$riquo6HF(;KQr<%hQufM(ug24UN1Sw9aU@IejUXsesaw8S%E|F zIW50D?@sC~;f1<;j^ClGT7YUtPaXaS69X%7oo9@G>3+Yx{&~d_vtlc$IL=o+UGf_N zO1TzodjcN!*ZDB|&59&QeK%fBTW&C@9#JHIFB6GBh$IvOB;T^VroF6k=3SnMP$Nlm zz#>=l_Zhsuy(>;Lm9_F(`Z<64 zqrG{o9e9fT{{%1nPr7PyZ%_1a*isSOwy^MH3F_>6v|#(N5$WTxbtZ?N{uvr3m!3hF zz+z%28EyU90p`6>6Z+M6{mQT9nCOD|QJc_gf3Enzawg{mJM?WNlx||lH`8zW&>iI= znvwDCkifKXLLh9IpJhSN2%q?v_%`-2{X-NB(y-wbJ7tsHtj%F(webL|*TKlh(RGZ4 ziHXC;iLouLIx;fS<&*O1wqV`Fh4=L>jG$07Wj3IGm$~;VsxiJNpuYHE zxKwfTBS`eaH*e5UbT;R?vCO7MJL<_4U1Fmb7xl zf<5t*w&%bS!57q*yc?fyDeK$oVE^0J7BM}e{wC18fA?Bf@|EF1+YUL*?zh!SZ`*%T zl$9GwEW@*e)@da;$t)q^y@1l5*I-X zH>9@b<9YcuCkxjtO7A5xJ{}QSQ0nW{;is&R4@A#w02*j+j`gW*UC!L9+I=UkGKA234yv}vAdr_M5DO@?&Yt^`h_2F{Z@5C8l zd^e>{w`Wl~Z1NcU=EIS@e#jBqnftool49IA>}>6NbJEDos@;@^y#d?R)z-ws61s%= zfTHV-V3j@0!`0MwewR)d<5W2{Kv3n^*L^HB8sOBs&NA(~EsRAML)mL;)%S$~$D`De zPixga6=;L_gv2QLzzCs5UN}fj{$bVUKg`0z$F?NM#<73LuPYW3zI|wjLws`eM89Hd z-#gp^5agMYb3GjULwsm^^Vqv-RSSUnj_VeUnF}RFKR%X(BZp6)W?sgwQEgT@qc)BX z-w~+3j?0jkt6X}-@2F@#U1vE>T9Cj{Ono2@ohC-p9Hu!~S`b~41hX4s5__C7?S7k0 zA6@I(`ex#yNKO_GTIBi}!-WvE&_C0OF16oq_qur-d3zVloEzM~O(IOhgp>~M4MO;s zxq5hv9XY;D9`@wV_M^e{*|^N`>yD6U)BB`Wwe-k}{%PnkYKdA)0Zj_ZnekElgoPBZv!+VVvgPXxaVj2Wxc5b3ldFVll-bj6}F>r`$i$ zO>5+$GyUl8F(aKxIXooTD_jx>J#!Hu>7NWb(Jj?GRl2qLnV|(;N?H>l3_?&r?Jy$~ z#IRC9;k`0)=b(KB`c3n&*<|CNw9@m8ppJ(s#AZwtiUtjG$X(p3(pf6Z$8s&9;g^_O z87&w)<<;)>n48q=)GgO7a3`l;iZLf^31ZGaY_@tmsI2wK>2Lw2Q%2rPS1{ml73R<4JV^_V3g5y09WzG%T3tEE&<`>{fFr7c+-HAx>81x^=<9A;kU zXJzeVI~l#E0}T_({EK`r647|ZxDR_nz@&Kvni<}-&|+cc9YgN4?m0CKMyZ2a5Z2Ue z@?YcROG@gd3%RIJoQFNGk)DoYY)sT+CTL?QRORsjWxXneyV1`0=Hy?XgT3`C52DS( zRQ?J?iluCe_;$ngE8zcdLg{ox>==BeRVLE{Rv+D2q&oF^9%-_1W9Iv?(DT=6a%LP^J$Os_}(KVlLN3c-I`0C-%Ym#w!W>JXbH z?#l&bRLaywEHGGzg`g_NTG4HFm-#lbaXH&V8#GZ?kjw{BoyPnRacnA@>>5?fx#(&< zxhG)OSFY^egfHr{ zUmLxDQ9K9Q^ZL0ij0|&!yY>wo?@@TLK+si@6N>#Sn$T0enO;$PxcZ^~LEsWq6N)gB zgo@01aT42&mWWudM_7`z?~ij#kj{V5JVL2(somb*7^4M(FcAMg!HxfC#{Pem#`_nd YF_U_;ho<3w{}KUdaRsp&5u?EW19{tjzyJUM diff --git a/programs/games/rstearth/resources/death_8bpp.png b/programs/games/rstearth/resources/death_8bpp.png deleted file mode 100644 index fc27479c72dc494c44592a7da16c392c695f939a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5100 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 diff --git a/programs/games/rstearth/resources/flaunch.wav b/programs/games/rstearth/resources/flaunch.wav deleted file mode 100644 index 9c40db917505384ed7dec49ab28f03f09b3a0d05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4582 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 diff --git a/programs/games/rstearth/resources/ifrit_8bpp.png b/programs/games/rstearth/resources/ifrit_8bpp.png deleted file mode 100644 index 2dd74deb52ac3c44b0cbbc3dd21794e9b4a77e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7998 zcmY*;S5%Y18ttC~`KbvVX$c@*nuv50nsf+K1gU}uQUnx4X-ViE1eFd!q*y^fMT!uL z6a{H2A|*6wB1MYST<*CK=iG-`d%iuhW*%nNn!WcV;>`_M82K0h0AMjP)Vp+oH~@eH zAnc@fom`c50-y1w*7_$1fk4CoKmbIddAUUSc?1Oo(P*?Znom{~EiNuDAt7;#i(W|_ ztt|!%=4FtPk&%~|kK$)kP*6zY2bGkRY!!ivXC(^+!Rs>W#;S6!(4dxLV#>Upx z_VVS+c6N5Rtn?fl97qmE5l&{Fo}P(5K%B40rm6Vm4gJR{dQGK3clGuDw?W@1Nh{y3 z?yMEj_Io+RUn&8BkgSoOw)NeyRVOC*g8KLRR*IzNqDqa@C^y;Huwa!=WxsFvfm*k} z8=a@ouoG+HZqBTu?7vs2Yog%=Banb$Jm#Wu2ZmD?sg<-NMGf znpElTvN_XZ(WOV4WK{a_p(>nO&q??o0AM0H4F+Ri0t?#A-4J7E<3yLm7Bm84cxvJG zf#Mlx*{fHK>aSjn5YJj)S$XE2xBB+Rvm|FPu1rS;?2LE}m5V0+u2vuAvt*PLU~*35VIo;YV_1kxM5`(xnITT_nQss(E# zWuykd7tCH}RVl%16N zb{MEb34)zVomS$6<5+qgZ%U~tGh8J9g_Yof@03@pDI1ZtjC7WyN`iqcCKUTc$;|Sh zLgB@@B$t^@lWX_azY;%{G@~+{#s66kX_!gi?3K&zZ)uUnFksSC3RhzCePaZApd#-1 z`@f7LbG?R+`wNmcQzggK;crCWXDe=rJ)4uSO0rM%O8xapRLy`Hgnli_DggRpeU@=v zz4n*kF^GWR~X4Ia!EnL9EI=%C)O#TYd!v3O5smy#Js1$0k^80vLOEf_qQV-T3x9C!R zRsw~++^u)^hU3F{kTA}BMe9>;NR-De`a(qi14Wl>kR@z*z(NIk8DE8NZ_R_%DnCXY zvj5)r zEdO**;yQ`y=W zXOIjUANdhrIdY=WkxKn@QeE!>C84%+M-^%ulWY_C`<&Qaon?LC|o$n^SR>A@v zzJ80&;&%X@flp(6^9bDKaw$J4o=f#-z*8on?aR3|Oi$7|Y&u=$=emS1f359ivF7PIR8uqHWQ_w7U-B8#6Qg{8zVIWYp!-KFvi<);I3Zp=2(6 z2=8i?0xuLrF3<{(EH){G*zolk$>m}f(@hE)R45wOd)IpY0pEke-7MteN{0&|NH)2! z=$=3EJC&ZNV}GOTXmqGLi(c{q%AyyMiqNSDceTGjUal-^ZtQL{xlmaU4jkbwNVvY> zI4BFpzvd&Gy~2M96;or#W~uzW|S_n1}7xA<4I(dd1NzOD)-o*n|iZ_pKt9D=!nNB%|VR>RfzzzRKqSmN(FgRpA&6_MFouOoUj6e|oa# zvAHL_;T)G+z`k~Ic%1vRk97n`XlGQ)E*{!KO)uB?8YnP6%FVJBRYVKne;iU#ezPP zF%9sPu=cU2fZmxuzv(*%Mjnb5MkzC?$-pf91`&9g7Ow8s*;r;{%IeM2;rluNJz ztXra>!h>s%nf$!JA+Mi7gjB&Om2G7h%()nUNX5S5T*(HB6)X`_VrTs+SH|Lx#rPGMrL@S@v*cC`sWs;pa zJk-4ZAW)I0W(6|#uz&Bo;8s$^7?lzt!L197wR+USa*zTy8b zs%=8@O0tbAas1QG={n`4U(b^p8YboJN_$CWzCtw;m8r%E$jDa}E(x2@`8wJZ+V))pW6B!SLsC#f zi6h$PaR2TIfQ01~Dsmq8&niUYpZqOMr6{E2cL1g-w4X#ahr{s;2COk@XYc;TRa!8E zxWKFXYN&+eHy@)nt#LU|FIPG5siG=JuAh%EfnFVwo+kGiI%I zOqGxaBv);2tUk9NKpAyzsBP^2F#VLH-j(T%4a!&;T{G>8$-o~_O7&FwpS%(!JoCt1tFJO7uDQq@e?T!KxBS&dD z2jTG6?QKaVSU6~$3V0R5OCgb$<=a|o_@&SV%Lv$9^b|m~!}5}`1&k=zRy;?WRzf(M zAJs9BB8oz0I+KL~1SBewUyrtX3SExH*YG?Z+%jn51=mF(#MmSrT{yFww7gwYYYUGJ z?_O7R?qX&_u9BluXVelQAyivbI_Tr&wLr&d?oyLA237^M)L+fCM1Rgh`Lw@|y}h5X zI9)wH4|anj59d02$y-M6dt^*`@4uQ3|dFbJ9gVd+BnY3Nc}1c z8~#beiT-@{;5orW8nUa{$t~x#~nrA(P3$tCjrlxlPZ4}l>cGC41H8FBQG<;7m@fh zsypkSwD~PcsUNf}-sXn^?al1hpinq)ON#v&E>|K-mWvZg2buYyOZ$N(=N_44Gl_b6 zv3GF-U0-$})|XU{B-|)eS6WmvcLz_U8iTR_Xn}B1IZgK9yJn75eI2vumwyxwhjpUK z?hwHfH}Dcd(#<%x+~u<5tiE4$z>U#7kHJSnmumh|s)|Zz>li_P)ahZ5&ts>44K@bm zmC^)b*GI7#bE;DP{%ovYJ?h-ov}8~TTkLzZks3AWwSrNs63=7Wy&?Kmdbqb}gQ(X1 znP!MKld*n}Diofzpz{u%^{?d*mDUk@a^*X)x0gHXX3baEWDUfRi*w~A(CAaBf!9W# zRb~f%V+Z^^-meA!Lw;CCj?5n;%ZEJUU)-qkYd>TFKE3kKcmv&tj<#<1X(*yfeMu6ziU^>Y0 zBmXJ{Rt2wSrAi&IF@t#I;$iSSJU92ejg#A^ASiSU8+ZP36VLzQ+V!}b>|6p2A42Y) z$M~KP^7n=;e$cDpccGE~A_vq8>7tZTk*hvvvZ+J;hO{RMx1Z?}W#!UjfDxNM+?>?#0}E?9f(dCgcVv-JSWx~d%pA&$?9}q1zNJ5KJMUm;?|X5MpQpg5+vU?*-B=0kQ87-bu^bw zurfNaf}XC#o88;nc0{7d=Ub~fp63KX$1t%*L}i~P@cB_9t$i4G6x8Q~I4vK1N$mT= zEO^%WMVgH}^8oJl0D^|2GG?@2J>p*dLi&y2{S;~lRV>Ef@_i6nOYlB z7}FAvo}mTPS%LSzG5*e zoV2yr;m`9cb;Z{nFuCjghAFjcv5nC=Xvr>ykqtOdK{r98E0zMJ9Y}-M3q{{{%uf28 zB^jb)kTfh+KD|*LTZ3ZJJIxcMaSA@bhXOGcaaV!|m#YEMl=o;Okm-jpgYK_mVPW#R z>sZSNrsBrpD%75UX~EqPRe)RIg)NV4YdFw4A$S^gEkd780VxaP*`3%1r#iwfxTGrF z3>Vx#(E&M&w9*ud73HRSA>s&XK)3p@PzKYlZ9$Mj}VN&2;y%Vv!|HSjTq`0ww0Cj&jy21?;9o25y&wN zuzo}LLyTDaE!7ovh~N%y6xmnLFD$gVTcG>(<}`H)Tm7x?$O>G3@#^OhkElNl^5xi} z=ul!g{G)SB^${{5-0IMDs*ncZPN+6e#b?!-PFb#vD;359pMzG^b1d_#?}DAVEPs)U z2@|jm+Et=z>6|C!`NyBKh>#0#K|0uJ&9HQ?mCyn1)CPl;+B= z<=+g7j<&d}=$sRb-a;szJ(^$NGJPvg^Sry?vYAd%t3RBUKXjLDou4AGAHp=wBMpno zrx?Qas@C+PSI6>PQ|h~iw>B%*Vk@h^|6HkI)G?ebNSLwNun<0z(^$JmSN0|O9eksi zYLwRZ*4z0q1iYc6$raC?-?#GpTs5T*2k7ugSi}F``7;qUnkJeV4~FUNgDx+6*lr!o2%mGY9W z7&ZCIf9jHqq1BR*v6b>q?@vFM+>u(yW!mwPdUi7Bu6y5s>0ozxkG7UV&u$Z|?ud1{ zoYsr7yXS4iWTgAuWN$Rh-bY9`)4~0Ubjn|gr1E&w$R%y7OJ$D2a3VC#?q|~P;yrWc zR<`*HZbanYl?u2iSyGJ@e>;{L_-Dv{?IT(H(bw{t^QlX}oKGi~eam?u z8V^I9@y&ydU^XaFS~JKbJ^XP@R>%ic#Y97$?F7}G#yx{}R=+9W{xD@gi0B798^_L8 zfJ0FFyOE*?o}mcxNLPG(*km7j|GY^0OBG^tcTK(vI;HcgVf5PgqYtp_^Qf9i{n7Iy zr)xTHYgoO4v5M#_s34JXa-I>lvuwU`;8uaN9h)od?Wuz?x2+x)d64gb#t42ZZ{VE*6x1Q#{Wu2G5>MqHf)5 z`ueb6HS$>!4(Nphud2=K&K`b@nn~(`Yg2yEO?qc1O)&9c#g};Z zwcA^+dekEfv+j=UMBm^`A8kQdZJY~mV6hmtn^lu+9~+YuO(1Q> zjtYVsC-m`-Ck0zQe+tVgC3o|!S$w6IJeou7vEP@0apne=$&We_HF=u zNSE;FeJvm?y@+JliVvRl;R+rvmhQ*j&nr9*Xq0o4A9~CRiXY`LEFuBPN`;67QMPZ7 z8l;Z`E3hcfgk*<0dimAXvWlq^Y!0I!R7COx&%F!uz}oq6MZUrXwKsAtn$Oi+Z9k}xVqHvRb;q#P?Wbp|5Vba6hUG(zGXV^CF7Syd9UXvF zwiGU8AH`x9&6XIGKlfsYf>4^bZ(n*WLs&1nXkBQgUvHeCRLL^MJY%T;xQZTF&tvcF zkKq4ZGzG)OfRPtR*l=~{a9~lhZ5Z(S+^^Ipffis}L0a@IL29bQ2o+`b<}<ZV1GE?aWvCUaAK- z)-u;aWhJb~Yl=f$Z~d=>WrGw6fLXAsw=e>b{}|hVnEzN?9g}8>|M=VM={-1wQ=mAE za@hx?kVT?m{V)mp%y41hAU@C~r7Y;u+CK1s>!n~dwrcKa8 zEsn@jIBErYiw~4!eH>{**l(iU9iAVOKn_Ma?Y|}gbAC&( zfbeYfvnadI@Ir%}3ea<5?**W)gUzMK`sYAk_)jJ6QA2z-04$w~RUA3Rb56xdyZ zwFws?FXSeh8+qFgq>d&g3@2Oi?$UzvW+T8BNK}1FoFAngdmQ@yKym%wCuH_&Is|dk zcc!An<>H~JrZQ)Yndpau?`2$5?|VivwruwDxB%e~w579Vw+Rgcj?EUA);5O?TRIi)qsvfV z7OcTUPxwdQGjFep5?_ARn@!el_!o=X?2v&oXH2Vkk%g@D=<^3SxSw;jo1^!=TkqrH zsKYLuM6_Rfs&lfE;&(aArpFO;lW#u#h%jV5x5 zlNdJzd?`2P4m_wkL)+@uboZ;|y7CkMRF*6e%bRM`55&nqXMA>(N6Iee`iFXJzgq-L zPAwiBq=QqI_7(vD0$m}ex0m}`VvTfQTWoPNYvqr*(HkkRF8T;XHd78GK7Bj_DhI`K zOf5r-Ix9_PR#a5@-h4U97j>_F*d|vFQf`o0jt;pN`tATlA0h6aQu^qT-9XB0 zm~PzE%N%d2*l%b7!GW~icx$U4raY1Ta+)~Q724A`su6M8H<`Hg?IYz*ASu32m?!tu z*7^Q+wj7DE?7YWcWEzSu2|)!{p!>3KKV_{8t?R_K+WW7L)7!|-j;eELQ!9J>zJE`B z6RdU;p{!- z1YbtstD~rJcmOvRBJ5oC-RSF?dQJ=mH~jkei2)n#@pDZ%I-3 z#AYIu1;}q*HP=?K_ATcEnsOz$oFRZDC~}bF_O{M!ZCjGf8}g2BW>N}7Z%69Fko3r9 zA0|EGAM#l|>gMD2@X#Gi;LWKQ@n^%;_^uBOmNM*BtPuYZG8ay5SoF5($_TGNW|e2r znNAGGtgGmaOW!tJlMz|p|Gg}BpYW`S-@GbqNTwLI_*wqm1Y8F7(4%qZzT&JJuud4* zO)nsviFVsrH6D5{=A-#?y-Z24HIWPbtMEvUE{XhXC0jwzl`S>($1aN6MsWv38ihwlvpM6bzDxZyVc+u*sY$*@RH z#Im~@sx=Ws0cNUk#ZGD{w#U=J$7ilAb3}68H>Ms=s%REa-vSK+Ol6N0FZoU_Z%dDxGUzIHj! VAik?SCm-Q}k-oX!D;?LU{{!cVi(&u( diff --git a/programs/games/rstearth/resources/miku_8bpp.png b/programs/games/rstearth/resources/miku_8bpp.png deleted file mode 100644 index 60697d38380f307ad00494e05d2003b1b2a27d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4020 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 diff --git a/programs/games/rstearth/resources/skeleton_8bpp.png b/programs/games/rstearth/resources/skeleton_8bpp.png deleted file mode 100644 index c2da46028c0cd13a6c9f1b6b5bb5587d7b53ced9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4400 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 D&ayl3 diff --git a/programs/games/rstearth/resources/walking_with_poseidon.wav b/programs/games/rstearth/resources/walking_with_poseidon.wav deleted file mode 100644 index 512dad7b5a67412ea071ef6f68550397de3f2b61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313486 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 +q2XG~lF^l*K%ypl=H=6W#~ zJfbVtsM_HfXIGSqfv2O=KC~ah{@}^OwqfX#ez-$LDqkgKPe)G?!4U)fQ*?Qd_z(n2z({lL&{mKo6>opQGV z&p6DA`mXjl8y-yuIkWkqbgt-LEG>GW)~rqGjt*BdYpnc=qLS? zkh>ZfplA_l{0f_ul#mB05AKF@fLK1Cj%{!7RMGq}-@=x`2QbN&T&cIFx&r)!Sd&;} z|JaHOXSV^a!6wF2U<&c$9ZM1SDS{(?jq22tE{sea{>Hq>P(;PWa$__DaWwLo=%(A5 zr9oAGvB4*Lk~IY|t(uBoFF--6Nl&(f?Gi9-%`_Cevs>E-uKj?E|tkSK^G|=W773Z)W{wfEw}P%tM{I z!*Qk_Ky}P)g^f$!5UtZr#XTI4&dmbL) zey}Q#c%yqm*~r@SP;!&sz$Kyrq~lNTe(~(n-+caRV^7EpLP~UF+wj#-9&)N25A={h zuW>|m$}G)n1>zErXe^>@Gb(TZZ=Q?gt(*XDBs)v!#O2Mcc$Nm98civ5mai05RVq%J zy1u^o^7%#xFFE??FGl8jR1dN|SEIuuEJ99@F+%vqzzAV+Iv&p; z8w5Inb$n9yOpol$5OMBMN^_hKmfw@>o9o+~<=F_OhX$1cWqW*aeS3fFIPZ^c?rt9L zK_WUb4gN<0gFV9FT4jI0upyh?UEd>^26*fx!WE{gG-lOGhpsFTnm_uKy1Y2dtNY>R z&RjU`6iLl_paRu3O+X(m>s}x2L+FY=W6@<}>dsK*Z*1;HS$47OV3-<4Dm5)q*z}q0 z*RNkkY;8?P5MUO=4Aib`hVdapc@R?R>@;X`OH9?%p1F0hOm@Bk%=&e>OyXUbcwMdD#haVqS*>D(=%@(#u-ajCC!S?v5?E(tfL$zj45`A{ zlH_uU?X74!`Ra?cos0s(@e4y}^;K>5!KiT%$&`wr57t$fq938u^V*nCXBU%;ey!HO zUIftU-z+UBm{10my{6GA|G(H_?I3#KHNiOn1Myg{!mu8K!gy$PGsB4RFr4UsV7R8* zqT3y}5O9sbIBa0MeVm>KjzFVpuyp(W;pXZ6?Wn0n>}aDdZXig3if|H4*=q+J0pfd` zF@BBv483XIJ>Nq|4rtDgd-?3MPk#2<>h|WQ$>Xt^TiqO|^ifXgNm@tcV9Hht=cbPv zii6(r?(S-;^kJ3WXa`^vF3^*fb>0&F135c)onmDLn)k;Z>ErESKP0l{qjY>@ZF6mH z<@pz@4gigj87-QSG33-DcYU$rQV5s*E8N7%WZ|}?ukVgnzg#Xxfggl-Al+s*o-7~k z?l_(XyS6dZ_M<(Kx0Kx4-PHeXZpHm&mj!(y>XZ1UosEt4SFc~aTHD^<+<3XZy(9l* z^VLQKG2S?|cB*5w6{gea^775QFW-Ot+sFGQe4^v{JZc%b&80xxaE#-F6JpYW6+FRv z)u^U3nw>kOVR9ar>*YjEE$9ZXuT(9j5<8n~TcRG;U%ixPpp0-R;Eea@%iHC(+HD*X z2267qZ(PntCv@HBDyAN-GknL{#l_9_<;BgnKYaak$%5`UpV(U$hY`>+lMz8 zWz)sXc{fFi4bp4FqC$oihFMoDIE|Kz#?WQ#K@*iS)DWm`$n5Q9ccNPC9iG0$fgLcM zUf)}PgYHMBCV(x+YYt{f7BHBdnL!@#!8<56jmZqCI(Vq}S9kC42TGSZ+K3`o9>LD5 z*DpSO{o>{7MtnCas)t4QN$#U{7dC+nQA@_78!IcTYwL-8Y;AWt>Kqh5Rh=%`>&T-) zKxMGQ-o;(jLXJ9{^eU(~xI)@XDK)Xp%>zTxpc3hh2i$DlEul8WT!lQT*D64RaVRlwIbAIM5iy zqPrVg`^9E|ad$gqF5NntUyh8)Qygjb)g?9@AK0dlJq#kI zj@bX;+tKv#t)Qm1LNjQ_xaCoXc#TbJ^%FS7C$N z@odsE6F-q5v-Rq;Pk!~;^UbU&tO876NN6Ci`DDbg?NFzJ2w_w~)?d!Hk}Yt*uP+mT!i&VV%-hS3Vqpop#1y6!gN5;HW!*;Lk_ zM1t6k)}h0w2Rk4Lg|S4Kj(f?sVn!CMj%Qc5I=abxsAWSLF_NnuB>f_VB|}9T+yaBf z;C&@72c~v}r?bEE^3_^0C%4zlp9|CQYIb{PeSKFYg0cYuVOS-!B~U~1@WB`BDcXlT zBYs_s(N;i0JLduIySlw&QZz$9>5cjTP;ieq1?z97lfBs-`h+YY4+(8jMeFkM9gs{a z+1&^|NGYE@EM`*<5@RoDFJTF8>!n8gAxyRK@ca%-UR!<4Jj%)p1Ao9fJ|H3f^y+Rr zy1Zt=t>0TNF90Mh*T-R2iIq;s)H(^wEsmmCJvJr_XbiICUIe@6(8|)6BlD(_PFWi1 z5aFaCRW@}^b={d~VkhE021=vH83Gs-FW;usFa? zGG@XM#BaolRn*2~3B%7YU9IV`1A&2aG5kBQd=v!LvLOdt*|ge^ZMK0f^Rddn0R{}T zg)Jp5RT>GA-h(Jn z`qc$%6@8RORx&|=Uyaz5DEwZv1RUXuEG%^ z0iO@$i_Xw%0`pErS5I#rF1xtjO5dx+@svJ6QZ-ba#7CKcRCDO+MOKE$3yN@VOH3S7F|@qZALyej^V=2wzU2*I#zor<5g4 z7@ASvSo^1)kPRwDYSuZ1OxT|8OFT9QNUqd^`50aFC(E1V-Hj;-gH@Ckkp;*EyRTOH zqQ-UN@r+-recnqSvFgmK{*TZmgB%0%({4TR2cc2Ji%)S%0v^fPDie*6)!+&8O0M_y zb2sSnA-l;|SLV#m@Wz5&*r-jiGFjeT`5)A6s_H6bAW6yf=bP)RJI-^ggN&_%p%cQd z57euu-p3`^k7}c4dzjn@v-aWaD(ExR%@&E#q@x-2@83Mcl_4;U4ny~bGZS~J);Y6e zAe%fc!CX!3PE(`qIjFEuJBn_;-i&X2{$lm@)^_qRs5yg&5BgM}X+9HHxfbQK*I#{e3H&i6%anTEqhL}P*lVUkjs@fB0c&ccAt%g1rZ%XV!+4aa>Ol3f z`D3GXc{hP_;lm&7C2J*9E_4Hzm-vr9Cz)Y?a&^C}UodgkvaL0Wn>R3A`N++cF7E%SswtaE43L^hdN{CPlv>+|JPka;aCcM~DELj_3{(EI$^9i_2{B5D2nM>X1Vv zH7vs)oZLR$T`pyf1#)^_n%b$UL;AaPM7UUJDvs5V*LPuP#T3$DoKhelIDvZcBdycTgR3?_c1us$@~I zL$uY~2jP=XU%tKb*QixYMz%KAx3@M|chdMjKmkIJ!}Q+P#>?01I@MJZak7<6mX3kp zDo1_Vqd2Yzv;Z|)1#>bQFK(Ahp2w#+t&G!y^FV8$F}_&hr(Dc0t}Z@ zHZl(~th~t}U$lXq95xzPiOnTG5G4DiiB*jDL zrT#~D(B;Mb-P@-}Nre}4p$CdQcC-D_ENG`X0`%~qpmXWnjrC~Ai>a!Qtb&IdAR5ZJ zJ&)S8xxM!C#p?E6EDo~LfSai+<5Sz)Ynz)UYKNJ?BJM&L@jbg(aV}+8TWB_Ltr_Vf7(r?J$VOK4mZ>!0@2tMjSy6N0)EjfA#j3E=@a4IvEJm-nTQ) zXc!aOOt|b-LJtgrT?`-DUS{inS6~x$kw(waxSu&z7mVaZ(>mIfr5xtSA*aH`K6)P3 zs6U<;HM-x&JiDy$VPAv73Uz-lzn<&uS)ZDEv!=y7%0zeMTagl|5pV)K)%`6czp1Wp z5l1m&f1S5E{aM>j2@@ThGMX@ex)v-b9vT&XRoDYTDI$m){-mXt17xfkTspyI>3l#X zM#^?Y<>TEl)YTARLD3Z$uLHvn1Vt5T63wC_qbk0=6O%iI1s=HaMqS9~gt-h>)oSIE zza4UwS8I@SHp&OSIze1Q5>DcvcE-aPiL*PFSAwc7)=vN)8Zv?Q_`D$ihggF#YHL5dMzK@eic{s8#Nea@J}{RF#lCWr*;x~WrKlt1-pc+FB0HU z4m6n%dFot-wfFAc-7)VK1Unvg&3(q|Fh7HJ-__$SpyB-T?vj%x(Lksn$=}$dQ;v+( zu7g3FU4PkxPA?OSZRvs&;N=~Yq}N+}+v_XOe)^OD>EHdQ*Om;OTHq_w$C(NR_JX~+ z7gHS9PiN*2myfrQj>m^LU;Xgam+VJ1{3i&&)0?Xct(D=J``^fSdV4XRqIAucZ{CV~ z{^s#vIqMYZ3S5*gR@Z*{)1N(i@#UiM9QX!_+S65zx3%3jxjGN7Kac){Vz~f8; zFl}ISHfqn`{PtV$`1n+(PqKkJ*}`dVRnQ_X@7{j>FtV`|pZ{!S$E~NXz%8q_8~w?s zkVWDvL|^^#Z~x-&R^kUKHRo}qKf0O)2isgS*BteR^b_m*&hJp4p{&b21h3V=mFORE z4D17sb4SbmQO_zgvM zoU{1wMCy84iR)NX2qo7(`Q=Z3@x`mvXGRyRyP33$S5%E5+Kln%Q8D&x^T1F>M`l#k zWhRbMwy(7q-~|nbCpu=W?c(~pnh_o>!K2lkF3u+ReXs1df|Ag*zJI3 zdrx1EYh}OISQ*!~EXef`if`qPCf%Alw3c3fzP1ySK5~jX6JpeSkHw&oJ~VOfz}a>3VYl6a_?54h@nm`7u(5{UDVydo8SKS>&qDeE!^z9p56T9 z*_tCT+kbQW=IQ?N{%SaCL|%X4U#{&$*3+lZtBc2Pzq!Bcda);kgSCx#GJmwSwqL@R zse|i_bPHunzc0D?!NZ*{OVCm zYWX<1^NauGfBWlCKKbci{`;Rr%Ap<^FW&z6kN@(|?`o0N*EaYIevuOVCqk`;wP|H;hUO)TE|Nfs=Hdohw^*mL({==XC@ZbLQ)tgEAAh-Q`JDTs$ zB|hZ?`?qp5`u?B(%Rhc~JuPM}$CC~V>B!;ehwr}p^7_NKUw`#sIc%@~;?w`|A78|F zQzyrx<>=t00IPO?jEFSqsij-&F$@SFuyv@AFREKr*sVU&PgV{x1MYa z=kM=eRMlK6l8ye|U;gc1zN+4T|6l+0&;Rf~#Vwd;8tHZ+`b?dRpOw zy1SEf()KUzdTK@U&GF;C=q>1xlP3Dv&wsrpd9)`O-f&7fV4B*=%qp8}P(xo&zj*lJ>xDtI6GdqelCLk{%Je)_ z|Fnwns7$w5B2&=;-OZN^Y$Gc=Yu2*i> z3z^jwcqthWTs_02x}rx}eD{z4<6pnIyIx#0l@%d`y?i1Ul$;*ijHiUn6J3A)`Li&`px;m5DP z`TY;q_?eh_v25$=>B|q_e*5nI+evTo^vzdqVJ@c)V^6baYCOgkjY299p6p-UUY*r) zTU!XriB#0Yr`0@PT=z~6wpL!PZzTAKvq3m%jO0*UD8$sItnXjH+Bc{o?TEa(;8;B?9HG4{QXx?gWTTct6%@! zv(*>Ro~>-9-6TQYDW%C7@&%UBimf<$0i%k<#rxbF`|cNP7<5fL*)E_|i>pHM}Z zW=4;U3*}gH3#jxkb~Sg^TzX@5XCqabym|kh|M2~r%L~;*k$%A-Fe?B^DvDuf9q-`k zeyPGTn518Awh+Y43pQ3?#SU8H6mPbUv5yd-A*y6ILTvGF zJic?-zJ9#BxqTdVKvC^lI(VDPvBcX(-ao93uMEKv$Rj&a0lQZ-=^&-@L1gvS%UAJZ zyhamF!#r zM9h_NXO+myJB*WqtE~TuRf7* zp0fp$(Vg{JBzh#?`pvt$bERRa)t8=nEAT)@w?^^B#-5#aSZd8?JtWby`TXs--#pBh zruFbeRJhB<65JjbRZ%c`Ft^220lV*Iiy|j)Zy(>iy9hvffjIFv8(rVn-FWuPl~_e4 z)$-w1YG5I<_G;thcD~y$AH~zz&D}!#?rwQ;^Kd2RL19jMD&g>IRLaG7*Iw-AT-1G- zfmrAUq}STIe0;d-5Lv$Z+h6ZdbDZ=Cpd;gqQ}-eCU~shY_doynfB0X2ou#4~EZ=WVUv;w^H?+55N8J{>uRyj#eeH zeNeaY?yer5mKV)fssim%`==r?PB4Yi>GJ03_rLY5(&?4wn>)v|5XFJc!@5*2Ws^X2 zj<;XF_~~E&d>!AWP>N@2HR*%n%eU|E9v-`m^iO~J%fI}))xz1u2NJcx^6L+exB9>8v8icOJ{FPmY3Fb!^7``^TZQxas2Yf@!lgG>68WRn{OmeB zpzudjy5}dd)b~Kajn?q)%OC#yyW8bie(e{3_p6tyS;UxHuGAp4F`2!4`sUk3vt2c0 z+KT6qcSD#iqm9~dF;_mn`+m}{#8#~4{aSnWaQAqBdGk1f|A~xl_D&h-8?a>zE-CH1 zwd5C{t-k!+KrvRTO>S@R=hbY2nT@YLn2y`1AtqnVv)S$SRj-_nY;K4VJ~%wan=B;O zHg>l5b)C2Ge*EXJud$o75Jht$1njmL<-OfqX%&HvT|3x*v9cN2O*bz;y!-M2vw6@e z9uxvE`9iF8WuN5)HZPw3&F#!CB^cBz&d`fy-I6(3icCU3k9eL$Dx?$1RwwU&|6x`Q zpc;$s6P70iI~yD6gC1(}_1oY7*WX{JUlEAF>$;bZ^8weH2Iq)ux^#L*qOqtaqOoW^ zlP-5=*ONvTS4Xm1B;TA}4?CIHzfm+{JamHD@$udlzxwR+&p!M4^WEy;9AKQy=Zc)+ zFC`?l3gD>hKH^Y!{_x}1e*fKG zm4~B)kz9#ZZy*--rfyFB|Tr; zWrbm`*&J4OU%uoE(muPq`}PlieCVHY+{lGUn`G_s%e!e&(4q7M_DpB<^CN7`gtM^L zo!ox)UV~Uj?xIx2N%{jlc! zCZB8W|AJ{^alQ!YEu`ALbad;*i;ayEeXS7i6 z&AP|E@#1C}=0z=}kn_mSAmzmfYVC|7Y5;w5juO-&;^`HOxb%Z{*)mc3J?oWUI@vFCYmt9E2 z&A3y_l;V+m8HHp>Wmz~Tze=Tfv*3P-6BjX-$jMVS(>gq;L+Q-EYJGA?z70kM&x|MK zxw~y+sgD`WLFYJB<`)u?=U=>dkr_~xpPaq<@rMt0U%vh3KKLk&j(46v`_0-`N@Lfo z%U(zdh+(z$_Tk;r?fds&DInHFYb4hcLz$Pv%hxZS?WL0C9wwKN!`k@i?bT>pFJ%r1 z?)rEk7uN<29p**r&tGpTv0gpfOj3`afH@F{XU)Y;yC5S$Nl}|k+d;tv(8BcUUp?Iq z&RuSs&p%s>9E?PTw2i|jU8rj45lY6RiS-vNX{5@Vw>KB#kN!lJN>;e?aVe38MWQSm z#Sg>uqunQ6=(mU5d+3@4j~pkD2r$yebn3b7jlCU%bF`5AZ@+uEy&DzMA?#)=YfivT zDLC()%|9le8u6yS_{GnDu@l`4scK5EAtSy?x6+zk3t1}c@9u4FN(LbZP!T}!I%kXd z*+&;jJ&M6qe>xg1r>OT-5C_{aTsICg!HymstsF>1!Lr|i-A~}{I{-|E&l{!qZ+`i5 zQzNjunJm)V$RfFYcXO-VU1I;`Qd{dWgmGf9qb}FvB4ViNk|w zf2WkT_D@iDY3Fude}Sz_iwh5MB?JXm;0Cr%C4v!c7r7;=^$B8H=hXr-Dte|}Gh1Gs zIreFt$kPrZyD5B3;~uTXpMU)F&3kO59GrPy=~Bwt06`dmNpN{R3Yzfj&c^zB%vEDR zdNv-Rk%pmlt9z76;-J4;+1T1kpYj1=7!kso()6pnp5m4F#<8(4r-vcJCjJHifXTlDs@*vlD zq>SYBndTloDEBV&NXQ~@uX-aqzuA$4u6cmQPA7u~a?GiM9}|l2 zX|0M9^7XZ3G^t$fX^N=E^X$(sA<~`)STo%=2d-1~!+%c0m2n zlS#=-=kCqz!^KqeV(B=gzE5nwiXNEul&Novr)MBU7h*KqoL>eDf7M;i#Ajz!fts$A zuu*v|Ox}KZf5}70pWho8mKU+WdXpg*_gOV7HBzuW$Deow#Foy+lKa)^oA=i;G`rPP zd4t$N#r5aOoS7$Bwb>kBFVuLgV%~?tggUM5EAfNE>^Lp5a(Ir!Ay;E?5r_-Tv-|-V}nFV0`u+mc7 zpHw-YPz#>o>mIn~O0n&|ZPOUIsxA^YQSuX+682rJ)G&4SP6+Tj@SCJ$n`+-#Tx%JQ zVnp}))v~Lx-7X;}hmasY9WtaM>2&ROoF?WaeK(9ukNNa5l zofIfNoOVKJ@3Dt*Tx^)y;gy^R2NSQG1!n26nAnO_r-hi|las~r9NBj&EKmL)S!p&C zF9+uiZc2r0h4N03Th1OU#zGuhCC1`07X~~ljI7)>0}hP+?!*d3i3vxtU`9S7fudl- zYQoX&OMqilpTu9Rx*f|XOs<9y|;<%1GC9V0KeGiGL2ldH?w{nNUTj02IuKW8l5T`qB9larG(rs z??Wz-y5P!9@i6iEp&y)RO6h{`een2Z)M5bxs!nH9JA2TN)5V9UG3=S4&H0$6q&TBk zwv@vZI57Q?=~X%?IW&gT^ZJo9B^KQ~Bz%byQVsBe+TxGXx#P25K9eb%cy;E>QK`m^ zp$oFuQz9mhT9;RYI!(c;=3>hFA^0B-ht;IiFg{**newHX*>q0Jsh2@@cH}%f%s2H3 z*WW%)30I(isrc@TzuVx`*AO53k@3i^uv2E@XF75sJ22fGBP%ZYCwv}o*{9P%UAQq9 zMnsW%l~^2u=)5c;6VF^!Mlp*C+!|b7PPM{kErjH1c6G;y6jDBHNCc4(cy>}+*-T~G zW96zjjMRX*PbNBtZo6a(caqX*G`ig~w=NI)q&u0OA0{!L;8lEZ=*MOkG?2|w*A%R9 zR4wdoukWTPkDK`{Q>Z}~aplyt(+`re%0~jo(Q&7ij?raGldVM0O~D4DJ&nMqQonji{Iy`pQm@SmIPW-;-3CS+64A9b*t@;=+IdLL7w z+BKNAi}9BY-}0F+e*J1?E1EO3Ilq{I-kkC(fKoM2t+gLJk`94s*iw?>Ea0V;X@F6r zljPwWIWDf~SCh+23jZ^=?LqQ@4iq({p>y+tdNs}&&NQs0W5*)0$>r5~8*?X(*rxgc zQFTU54D5Z0G}ZcGTFlA%_bMa#_04QWKbQorsqxX@ZsIvY;Z9h znV|R$xDQ7ro%ET=Tp4~^7*LoEW;+YEl_o6&`jkA>fSHWb+^t2$*q8qjH)@(uHc! zXrQ6%?Bx6nPgK_aB2>ia@@m+NAxt+Lhx@gTQZ04ZzrLIZt>pDU-goHU#nK9Jy+OC= zS-18H;X!+WddmP&D zKCuK?iS=eWs3H;T|T_MzvijJ`YMGGytlWtrRaCw+}tgfgWy3( zrAjWsq(fJ!hZ_)T8q;F@vHOLSAHYQSVQw>dpqG+6?HR)*A>+wJ-UW-3HM(5%!#86- zlP)zvy+WIE=^^!-75stnG1~z#nAv?SOBYl2rP)mNQ~`-vtYMz z#G6%UDUx80MPjEvUkHG6cN=snrD$UIOQ-HrTKYOA6&AQzX{%-OAGA2ao`V9^Gh!z} zxX~a|ipGxQYO$B%U}`y1?GV(c??~q8I7bW2Spo$L5WMULCjc&}y~zyTsEk)k2k}%W zgppA~Ok$}qp{QwyAR-|mhf<-Y1E;JD`&&Si z^jd)uR5=+>#C%)q=yU7@(9jRF$|C~svlH*5=0k<@1EE5N5)5q5XQ2BIYdWSbff7K` zam;9ZeD@xHj@L-~d6e0Uu6^?NfAJT;Sl`{=*$1Z(><6oJg2WQtO_p;J^Ya<}@^a`O z>Pj-Ud!`7%Su{spxLAyCzy0x>4}j}#lOt5;ta%iVB-0QP6Cu>;%QxS=oqL=zhB%gD z(J(h^bVOn!d>tH}78CR!vE*T+65p?MCC7H#BrT1Pw$xgdQ_}34sYASPCedrXCH7^!z!POK%<(Iat`&2)7%ZWhmPZt2z;cuc$L z=PwL9SR5ShQWYOpMqLTPKniMvPGOzqC)()N4eq-gb`u?f#&Y+3`Sl&uO|w~ayBij? zi?zXdJ@RTRi}H9nJFiXV)qNR(4%Jfkgs%bjH*vN7`!`On*5aB*p%#@n^jcA3s-tf_JCRz0A2+`;kwv*-N<(n_zTo-qJp*P;`NqMJ|6AMd`p;MZYLsXRCz2I)<|>PDJ> z_^1EpzkfZyyTwBtbxRsEVx!}e#H+PLF&jI+c{fI8O;CV+@t^+Yv(=5gc!9r}mU=k7 ze0pag)A1|VMJh{87pIj_TVFJ$k z^i-wt{Xf2ccROuE%d2EcY&QDcX@0*1;w=NiI~S+P2x(N}kW8nkYVgAn2YcD`hqKDK zQQBLNrC;e<<#)?bZJa<(&Mxmi{P6zq>!%Bi*x>j8%N*tR z%^a|H5KA>Km%05)X=f#wSouHx>X~Z&csxIWRUHE}YLUI{VQPD8cjuE&e)()C-F^7_ z)-hV#eie&tZ02j8Z>Ps+2UVr_@DJ~=AMekPs)JtfaBzQh-dVg`4zK;7+1;B)u0Oq~ z?3e55=Px6=z3H1pyE{HR-e2E(`Kz@QaeAegSbe#hDR-yn&{yNC81TdOpT9_=h|C`^ zacj-kmft>|(r4#)v(0Xv6LhgKeD~X@;TezIGIvfwIN?Pmc_X~S-u&$kzyF7C24xm7 zJFBaiqr~cZYX9}?y<}uP7AQ%T%E8);wbhp|*Z0w(PPox9WHGABY{sfBInvF-<`=J@ zZKU4#@IyHXG)*2-M4`w_n|!tFP6h)81${81%ZM+lQ+GO;M*N_1QY%m=2K?JPfa% z7E>I-@xz;G1Dea;qBFgJoSf(k&TpQs$CJAWua{o4xUqf^{6%_;NxMlqv%MdE@jCM{ zDbm)DZV+WzUI2z_H5nxzWhvJ{^P&n;1{94s^YwCa57l@ta(IlE$FGQj>9Om2G3ZoL zxJM5ghCJW=mw);3%ZDMYS~>FSxhq43(CHrT??nj{>gU>#CbsBdCAqU5*nFJEFqAp$ zD;qhnsjqtH!DNu?hVG$r?O=jgY;G3?7tF1d`#0~OE@m@f=KaycHCCy#ub=+#=YROa zw{PYH!pTmUL~ql>U|_F&u`cgZlHN%b(*dU}x%%w+ZZNxPiO5Z5?1X#+-lu)eyrPcS?jAn+MS zHD-6p_vJDanp9+k-r(ZydT^qqX$+R{zW(9chZ*Q09efZNvDV6oG}a2WRv{i^Q;BOw z^dHYj189tgC{T@~c=CV%rQ`0ny)j^9SxucIc^gQbN+y$$cr@R1gPgZV%gYfXupzoT zRy_MU`myQ7^8FwG{LPy$ANw>K>5Y|WB$18>d-5E^L%<8-nokpp#3M$tt?_Koh?1$B zCsDRtUoaLtQO(5m5zrA{YR)~Xs!DlpGajt**u3?r%TeHUVv|lI?1Z#v>bJl9;h+BW z-HZb;YqGH;t+e^<<(5(j{j}O9_y}@S@WAoGF3C9X4sN)!z7Z>*Ts_`MA*dC1w*UkP zpKLvQMf49|I`d0|pho-%*-9UII=-F{7=r+J69vUd{}M#|<`GCqaZmy#`fa<>-F4Us zd0kl}eBR1OW4O2DX^j@q9QMRuM0&?ZvnM@?ZY={qz`e8w~myL35SDMkJfa)%%5wHU0v`85%4l zb)`Q)%cro&Q`^aez8`Lm(wEwfh?*Y(bF_TMDn|Mdc0k}c_N47 z7FwTQ4NnrUfAgEwlw658PJH2zqck(&lmo}tDIV{=)+uw4E7$w;%kaF+dCQok6f_n! z21PViKW<$Gba>>1h=i_^DgLYXZ877ER*XF z#lFYW&bE9(?NAymC_MK*{d7CW_(F4XAU}jI6A#tnQ|&1FaRGLiahp z7*oy=oZK8}7ixo1qkHwuH(%b|T{e1GPjtp|l=MePe)gJR_-T0^E|`Nw1_>9cMlKoM zjIi-juXk1b#|K_QF=(*D@S>W_M1K0$zlqhsLMF*>s~P!)+D>kVW`m@tsUy}U_rYq{ z$mz4mW!J%P0>jy7pOUIOJj3ic$YiSdm?fH}kXirY`IaW9gt6sh8=fR%TYFg={9cR5 zox7EX!UVj^W}4+EnF25Be2oI^+$C~);!4UC>L6K$kbI~4W1{ZVyI12g9jr@M>CQ}t z#WGi8TLnL^TZyl2?IAP~7aY}HdaYm_SZZo4JI0|W&0->w(3PEFpR!Roac^yJWDFMg z@Sovr&MyXSf|bS11@FZ(*3(osl_vHg#HbKU93SH~aL272Mm8hCqMpA>J)0>N5~geE z*a3zqN>r40O}+peK(MvadEx6vn#gsR4>#l4xN%f;X_u=|Dx!CbasN#7uFd8J9_4sy_vg2Zvx+vg z2^fYV@Z}aTWXEZR#*2${J!O!Og?R(yj_bJor`N!?IO`ftG?Z^77&-3Sqor=)C>P-& zktLjf9v)$h=MsnA5if9Fh}~2BP{Vs_|2C{Qh*YaZ{=fhvWTry~V;q%wJZUb@PeSH` zZ+6OB+a&Z1pYHVL>nG(3%aJlTB?;W-?yD!~G~zQ;1P+#G@(2!W%2@h{0fF65+!x2G zH*#j;n*cNfe}8qi*XP@}SVR>yOFWlD40gl8N4sGRe`8aV_X z0hQ|G1$ENy&hB=SaI0GH(i9K7M>{)Ob%JOfv&4k1E&~Uq8}nA6${*q+65IsG34vAB z#@TGiSa!NJ@~UxNB>1lyaNuDNP7hq6lAmH*&J~0#NJ`~&^7!r7*FL=r2#|a*1F2>S zLz6qZiE6XapDm|n%>BrVf?Cy?r@_4B(^f{Knx2&-Orvs)uW(stIlz@vTHUJf0O46V zkc5_(a>YE>pqeVc_ySqTpEo#R!bEe>Y)vokABVm2p;LhSfvf6Vyo8dm+?Y6%YK;o# zk_=O#l9R7D4SuApT+k>Oc&9}%ga~m|ID7JR78sm47zx#3y~(kqF7KBJA35m=$+TKZ zZi2Cnj?#sb$<4*|V&0}4)4f`h>@_=K?FB*~T%%*mxf@HH`3XFmVl8q^AOM2^J9>lA zFqS%GzfwFNUIdYGkhQ7Y^Y#1X%d29Tc{N#4>c)-45uP^rffws zBz*?wK}E;aqzLj1qaJZL`ajq9n99Fcntn9#m3bpyaSkfMNi~xq3r!vFM|ZN!AdHNN9eqlfXMUQgs>6luF_VLD z@_*}5c@@)fieQH`1)$7^?0|@?vyOAGX&XHDB!`zRp*VO%(`s1FJlyDv3|}$87tI%5&WYKv^@84xNt`n7eerb;do{OH)!VI zY1vxy$TR`^7LseAah?IwbM7&2k|QFX4!cV#twx!ulLiW__`FwUW~Dz+%xlgDy-GH% z=v7Pa>QXThco>}zThPcLxKkbovgf!7D=*&Kc~EfvV0RDncT9V?ScTlMaN9k3z5vhKVT=DP7@r`l+KmJKe`T*P)C)@`Q6RN7I+{ek0sN*qKGkrB~Ujbdr) zygb4|wvlQTWQ=NFEJ_zm0EN)8Ourv2hl5cxIJBD@*g3Sgq zSM^fJGYr{jw0$NF{4b2xi^j30KrTBSj*j@Cays&Y4R`%F?ilgCJvWpAFc~%;aBye$ zM8*EOqQfRoHp1)%HJ2s5PvOl;rXt)8={blIv~H(e zYDpb~^0i9PXcq3*>GY}Yj!aV8em`~!8|{#vkWH9a`X_}9`zOgN)sk34{-xaZT@Cy$ z*)6ll^m*Co5Qp3D0uQWb16RYDFqm?n3yJk0}`4AJ}OBq zMz}*H*Eq6FxH!s6hcl>hvP12q6EN%bV3i+rGQb%ZMOTb#P5PlN1JqU|`fU(RJHO&%9O4D@lRArvswR?_Omg^AGQ#1NcwXtil*8?6CHe85X~VyC@7PWf z4m_kK>(3C6tB`U@SZBe)Iw0nx9jt(n?dm=Tuq13}Clih%8)LVLJ!XbPAxbA24E}JF zI96?L$C3u^Hh!%><{}2xCr+Mvb<)JNP!%uP-RFsFFi%3Kv%^eb%#trnCX4IR`$QOIM6B~`)BB0N>FkU$P&J`sCh zjzhz0Zj(X180sfQKKp+yhehtYn3;yVB=|qdvJJ+k;j+e{lV;&GaOMQl@nAsx(XOR$ z{%r;t_!*Vp7?sEJI|O6#7hsciTn(|bej7o!`jyG9VTb8pQA|2N zXnjM#g`a2h`7r!G0n6+_POJJK|FgLRl2(Rv1rUh63#CptMD%u3hEGb zX#a8O)eTshRJG(+TAbjZ?PZ3WIDBLklZ ze|KD);hJ=+__1uh9cZ24kuCQ#1oDa4RQdm#rGb-+qBnd67h{l9V?#J-`9OH4!T*IO zPaF^LIKp)Gp#OlL6z-M~HkS|f+dLHH22iyrQF*7jMgyM#1IyhAI~1{EY7V#Ptr*%=;Bp0~Y}~D)NIfsB?$G0S27kgnT1>0p<`cSs8K>!kioV0c0NpW!9;0W*4gs z+!Q`+)$xwN=B;|bN=0QJ`xFaPPtj_qr{MfLm!z>Wz-`$LJfAGC~uv%dxQC7@XZ+;Kng!fC$=MT zE@~^Q&p&-;=o>h{&8F)LOQnGzk|0;#i$peT&*0g6c6#1FRz96imo#OMZ||@A$2p%V zXvi_m(tIV@H}%*(a|xj0QsSI19^XH4ZChT?kjjHcB7+Y$*16RBP8@@cbU9pJ)j~vI zMuf*{%JR(b=UZbrk%MsBpqiehMLLgQCPHH5CY4+xwC87r6BG7>u{=*i9D(5Nkix!? zupsQzE|$%s{Y)YqydVP?Ddb#t&o7tDJ6@#jS?2}Eq9EESbdaO?7ffuFKyp4TGDpwW z0_T;lQLtVNCMa2-G?PR|Ag+v}=e6!Xyjc#%qfQ=|`!JqML0p=r(*?cd^>^Ps;et<4 zC;4CVdFou?;(qs^znWi<8s`3~-TlP&^XIYT=JPe~P{kTc2%WCrsZ%Z}xxKZ>A>rG~ zYCKmazHfKShSB_4NU`QuQ|B;ygm8 z&-d_@NU-t|zFa%yrpVM{X^VkEB40=L;EXllRIzwGKRztCLnP|SlHN~#IPE%V(a~Xh zL>7>1AFiye?rr2xr*FRc{co?)B!zA!qpx2)f4%lPnJe~2_QB%I8B(ZDF!lQ7&c1z; z+}PRKEix2q4K=^qoR8}V6&dZB=PN-3+~W7kI7@sD-z!#t+tOc5I`Zvy{-8Pk@N_$H zl^@jlU6pT!MFV*4}=V zsx+zx(S397lk*^Xtra_k&6U;l&t9yoMc4lJSMl=fij(fUAFmpxns9jGq?aaJBA$Qz z?qB}l`u@lN`@cVR4)gVF^sq5TM2Hv83!AArAIJM2{`5}aTW;mHe*N>c=uiJ`roH`#$+&H^@PcQM+AAdI~>?e!S?Va4|xLwGePMVn=6zW3r@t^926(yH%ZTO#SUP6ZT@*n^8k8huDFI$Jgk&d|T zw-!U*vxAP5z9##J(T9Kj<6L@S2~ToA1awGj+1%OB9c;W>NkW_phuu>=D>E4u#DM=+ zd-*UI+tP#MxJdLtu<0`2iUq%_`EuSjeUT)^)330b?mWG@xqtfR{WY%V6sE(!aBQmF&$UEqRY`Ew-mUy5y3i-->R0y*aYhruj7~W?6rKn08OM>)Y>wuLDfO9hJBNL} zpOkr>-Pzt?Sh`IJ6;J2)x9Cdtb_4EtKqk~Z->fK0pK*LG1%d_ z1g9qOoC>?M`7K}CH@D-FQj8@p7zX>Uh{1k9l`y;}@^vYOtRCi{<;3p#%JbFD4Gd(| zI3H(s>*ec}6?5d>_4N(*qL4m3e)a1SX-H_TS}cajos;v z77uh4Ls`HlM@lH>o6Q36jOQ<2ucCUPk0ER2!8&Eys*<1o`LAE?nf8bLvoN;-x=6V= z%CV{4ON(EZa>&CREWkzz^|)uaFCRM1L$ANQTAsBHcr_#=-Y^TcQS}@g<9zw{>51i` z@*kCh?ejUGp+a(FJ9mO%@OX1~A%dKXG4`^6ceI7)FLv^VEvfu*HkS#bSyqyfJ@OZF zweyFk`>R3s3{rx^iLKpYFPKe6l6#ewwsz)nIuUDp_vWi5H!p1$Nzonkzf27Rr$TZ! zresrWf?wHTC75SIr6t1TlA2!h>r$?oiN~Y06GF+O?B04pR2v>Towcf7yIDAF^i_ct z(NQv9>rJlaSM%AtnTc;EGR=`Grs+lrHafj|x}q0u+b_9ecBGWZnl7~I+5Czl>e*~K zl(BLEcXx5Hrw|hy0+emUOeV7aYCFO9B^FtK%_E2QqSYv-MEyA{tDSSB9wRaxFi(t* zLcnzCc5s|##<~(cG`47Z9z@nRg2b-xZYQ0(Ny)?g;|=fPUX{i5@nIJ2rQRy;u04PG zBC5t7-@kh>i@X4A;06r)MKS@z|01NE`Ngh-+c-M3Vrf;KqliN;eAUe#Pvsng)a`^U z44zk4cFP=+F6s0}h?euId?27&HoeDaX!&#}qGYhRdSvyhBX75<7Cv2r;?tr&F9@OC} zbHdU2)%ER@3hj1z`}lU|5B7cLSF?ps2QW7BsMM5)$2Ye(xJ(jZ zN(Z$_F3SiwuzdRHwHKQko4eW8{85W= zIqlVZMvU|3$+$lvYMYKuJo&1y7BaeF@d@K#WP>!j6p&WukB zf&h@skD{p}t`6!rX6#X7?N^_D_Ujih^JE^JtzbZy%D}|WJIBDhy;rNzC>=;`w!D2B zIjju`rl(}1_z zSmXw!8>pYpjjdz}Y!ZtSau~Jvql9W7opi46rsNKX(T}PK7yjbu?UTEavdGevpddTv zP*Dn-S=_y6+C9FaiD4NVm2k6dg%$gQR)2VRFI(hter2Sg4THP~9FkQFZaDyQO6L{JhbU8U}C_ zkMQ!9I3$xV$5ZoUz@$kB*~HQ%YDmZP&DMeb#Y~5bs-bQBv?FmTk1-LFb0)p{({CS{ z3_smp3LmD`!{n#CbACAA;m}+0(JQRlXRcGk#1>r zrhnT=fHWU* zdp~BadttG(F1~rglbGdQ3N!!iq?Kai;&8P;FJZQgYC_k%6+WacvrS5j(T_h|Ws3qU zOxBk7zkJ!Typ zyI3E!QKv(?w5VSLZfa_QEQY{jl<^YeO1pA?3>+GMc8n3WOKh%WQylnoydYP;|M}xx zh_YgWq_=4T4ep1@XkkJwZNMpWMCtbmeXBj((8vO6JiJ?Vi=8`&gF+;li0FAQ-hTJP zo1?cjJu+^`s5A|Pln{GwT@&un0=P+U%cHDzhj z3~BmWC02;-$B!RB{PfpfpC2DL6?W}!Pfso~0{h6Hi1vwBA2;(EeDOfnM=TSJLY?_$ zSS8G}FN~68PRduF3JbO#B!$R5begas=)gy|Q^7qKwov`)aDGS2OV1?0aNC9CSKSa^tX@C&p$tZyw$#-J#R(6`Tp03b+g=q$OQsHO~8J>dKnTmUcXUUgjmY$iprp2 zo2pu2T@<_4NPhS738_iLpT}~M*9lXW zl;F|J*Dt<1p^52p0y7}puT7MO8~{n-|d#oR{+!n<*o`y-gPJ(8!ihc;@YV z;%z*0vgi2)ZWHygF{5_Qb!HXlDc3#HvoYKa&+ zalSGb7}lB~qdav){uqeaP<5+)Hd<8GCBS>A89eHCNaQJD zZl<2(+Ax3xj@*dZBt;jKCxKC752KBRX<7Ib4ppVXjAl$j{$f@d#7fQr1K4qx(AID= z>O%%Dp@C+|uIvJ*ZqP*7>m(vL3)Yc*z~bgI;qT{50`leB@yB#ROtEXHF<$cx^feh_ z&?ul&~Yxk9-0%t_9?)WK58zZK0;e z6=zJz!fT8&Fc^W=jHJHW!R`FRCt<7z5+M#SU!B}wF9XEGTw*R-I$7MX3)xKuER)aD z-*512oF8N+M%^tcx?rRdrD{Nc+a(rH!6mIJ2wWMUh!~hJ(s@8s*;_`IVx%OliGbBj zi+dg~wj)?(va+tIbe*BEiL@?^|6G9$6VawZOS`i)1e|aE=BTR>%2P)sdt0_Z%)_}Z zo(VCS1CYAZ>{+4WiSa8e7k;CWlvPXkYK17UDq5&X)I}T9nJC$5@`B0b#$@+=LhRcGhF@BBk?e zc!EPxw~t`$abr>HIntZGqSrY`FJibCvMV-Xw91J*xk)H$Cc*I6;MV9bQG|vS7RE3R zwS&x5rn~9%@c8(Eo;7T!F$F;;E-5rZU@`+meaP2n?vGx~yaXPvzo+Yc2rf7S)u-yD#YOPMPlu^+*Hu0vlTNt02#ok^8Y2s1G%|A@J>IS*|sRQ)na{pGsEPfJEiT_@fTsv;bIiK zclTWH&>obACJd&f`SJ+59?Mz$WOc|sI2zZ*6Y$3X_*bTO+4nNQf;c9O`m1%iyR)}^ z$9|F`T^{51pjjJD5d?}wKD};d_VB>;*QOZuFlhKcoSlP>l<0wK?^t8kBVt$tp>#pX(+)7 z0E2AV-`=m(iK(L5QgQtBN%e8RET!8jYxxCC+4LhU?zxW9S&0Iy>YnsQSOV)dYm<4m zKEFdGRnC+Q3!FhiA8+9-CMApq#`Cu%u5c#I?{9jo-Ti}Vr5^H?%mmbi!cF`rQX`;QER+_8pO)Gtot!c&51(_B}dIVlq1eaWc zBCoyzq+a&A+eMu$-6pQje4;W#b4Z%=xf$(>GV$z4me-KlM6?~*a<4P$Tx zv}0oQi0SQsC)-oS@^qZ#aZZ zE${cYhsnrhxyeu>Cxb#bb;WWazu4D0g1Zw?N=+k4a^Uet1ONdID|iZ|Mw@`rby>MO z=QSo4BBUbdFy`rwRq7gxk*uw%<~JqXH$&$vCj{$3_lBRYj~xJ0PyN8Q6CwN#m3TPr z3}^LtGHS}f%;k@4RwmbbZsL$4Vyf5mmzMklike0aF~eJ=T=5}YNdO}+E5K8-BTskI z*MgP3Uu6WXRMI#$$%u*IY_fhl97wq)>rvTrg`Q@X9wL)wWV<0#LJBf;X#z=4+HuuS zx;~Jd=#Fdt;mODKou0#v>l~K`ae)ay@~Qq$Wf2NCS{ssX6Fm;|6J1ang)Rj?!*a&sDlS z=!q8PS%8F*3`$`&$mvK3K=n91O15U>YC6*l7H{F;UE@&_7{Y^cb#hH+thOj8-d+Jp z`%;q0t1JzHEu!+&BtjHPwmqM-QI7OeL2n6-{IKarj47rPmG}%o30BXL$y=9*mT9Ssvo4Gb zGmGZXoh}4hF{j$2qBk!Op14*zP9 z@Gf_EU~GmehBh9JF!muYOc%I|>`$B4>e?v-N+ettHx@uCpRQ-W2Rkc;;ZpKf;BR#LVcL1g?Q1mNg><}yb% zb`1L7ciGBNzxvHK$43A*faQQN$ zfi9<^E4<9i?pHhwlaW?ZpBIO5s$IU0WKOOIi~bC^@XOynk1M^q&F1+AqosC!YS(pM zf+xHGz){PpQL878UmRZ`RR{$k7x?t+-Gs2yUDh&LjN4gPUi=}Bl5?vy_EFnSr6RKL zvSiP1UPm+C-6psu_*#%3D;YOL^}_HhnjtOZWbNeYcW7*W{@1_lWYPsJRPy5D;`k(X^4s5?UY(}8)2*iMJl$-a zzZA=vvERPTG^_oakI!g59cNY}>#=c9XI`I|r>g~i<;P!t{`uq6))hs-GM*zpb?P|O zrQXfwU%veMe3%bKc@-P!*H>3>emueQZBT#0G7>bF0$S{fgVnm~>gdf8^fqs=lAu{D z#&}<;HBzxtFTw~EYCogP@IMTCtZJrMh+H+6J+Y=YH^2P({r=&0qF4xC3658~GLDyO z+m(F(e4xW44;XdvKZ|7EW*qaal)r6%{InnOwKdDE|It+T=p=l;CXoaoL*kCiStfmY zUZ`bd%kZe&%xUPTmdcUiGnIZE0-f=sGJU>X?PPN=<{?WnR~itN-oCTO`|^JE^!|SL z^e_MO7i0NyW7xL2G|DZYu%DX$*#lJCg+v+|CX?ksDOclXi6nbcON-Y;_-SM!@x<%z zuS&&>R56k1ZYQP2d^6GLUtUP}c7@ZeP1}?EpML%P`POc4K~x$Vd*Ng^>vrGkCy``( z_xJzx-@oj7nVeACX8-0vUOm!~ii_aRd?TOMWOm&B=zCC75*Kq0T=CRz-i82^_+_L# z8II}ZI-|qWlf}TzsFd)=zWVluc!7Nd;IB2i{^`%pY~|~5(ZVZRCf9klpUS>j5J|0X zpFcf5UUw32U&Tt9f*X7~tz<}74S6lYDzU`bDHOkEFq5h|Dx2fbbCOQ#y7SRjC-Sc- zpM&h^DrHK@F}UiaGgl}p?Zx{C{-s6u^dEoy^W(};2ky97$rja)cz@Ck=e^atFTZ^H z{P$mO-9*4fluftWA)K88ptD)Gh;J}pOfLyk5`K#KS#dJdxnBWX%80J#qouyt4VGd2 z+0>>qpK$Ut2~}kCFM6L7pZcYYz%&&I_~B3&TOg1-mn|l@^>MBM7Hd1!=_CvSj};g zpJmW#EGE+@Z!;|aPy(%dOscVgk&TrxW3LoFLTE>hHj@YlDTjq%FxsnT`rjk7m+PGc z{bIO677??_dc?{NZoUiuUM}RE-ArxE_lc2meZ%2%&m74?hBJ9~AqzcnN^==Mc^iQ; zu_)?k&{I*S;1H)$QGw(yM5a?K%Uy2K>k<^pNo8j!rDfs(VN%Uo7+O&EDgJ}Q#sTiH z><5aZr=YKn=`OX~THgICyC{DZGeXEpk|OIQLPw~{1Q4I*AFqEQUsXfkj7A4E5LGS``U@Afc%do%Ilb62oXe`;8NNh>Itg zHm|MsmNKeM?@;qQ+LCNeSgH=yT)5X9@1L%>@7`VWp^L8^>C&hDx|W?PL{H%O)5KMM z2=!uv)uUAcQOu!z6A|JznB>#3+LZ+5+|}C?!~`xLz>v{oHpHKFgR1Z=&P7}Mnzx(p(;oZ}LPR2D1gn*@Iy;zmz44a{~x0H%Tp`);_!nic;V&cE} z+RJm_n9$CBoONp$pAfO0nfH*iN0f?Dd=B_jNoJxtx5a1X++6GU8?vg1p7r9C59=-S z#~84308~&8%Wy4fZ(?k*-0rN=y-6WE-V0dabEpkO5s-kHGnP*%>?PAKrB9T%}aP^G$cTXQbKN+ZOmpzD$TCYk| zEH;|yY07D<@%1ZI5?~t=*(0=QUiXWvZmCIZ$_%9)<9UayQ&nr~#af$cwFjJuCOpkj zEFy)kN@Gt*aeud0*h;eUa``yrru*Q!+xz#QpYCs;o}YMc5p=C<3t4kCETY5H%_?Mj zdu$D1jh<|K@?=YCmO-|yRGnw-g0#fe71z%4MO{jgV9TkWm8NIL2ZG58Zmz&>IJfm> zFqp`OrFS;U7ssgx8d4Ll zncFINus3HROPuwn&yT$2;I~?^T5Vehwwu~N4?-cuN*){!J{3?tymXg-O@=S~& z@|=&Z)%9@M4tazmY$}A+1;kX8{SIH&h;A@vX~g;dyW%n=Ay8?V=u`EF&WXP$e-qJgu0T1O=Ff_=8B~o9!i>a3gwZXyw-p#^caD*!&BpWNZZ?z3!do-u){)JJ zss~^n);+ZN-TM#EhsB&KZxVny%9E?JqoZS41i(9q_$k(w%~u=nXtrPW>7#ty&CXYMZ%-pFTx7%xY@LZE zcfD!1oJu`Itwsxvz_JQ(gtvp zD&bSE<-+OLm})V7SHW}{_CUtD98s;+bUBhgZ`?bf@$$iPtT*~Jht0;~dTqaIK*iHt z5ASicl01EL9#29#GmvJ@zEQS+qlYt zL6-t%g1yR(OR4nj0Na(cMqk7!}oLc}YG)+VxLwW1dW*BTGCOS>; zvpKfui#g^jL~ZnU`|XHS)l!a*yp*mP+IFjG-RaAmh!YbKbCtB#kToX2VLe?e{#@$@ ztpFMn{*2m!BilAKH1n7sJQXewzT1Rs^uQRP+^r8R4ZDNg&B~I5z21(_r5+68A$Pzc z!oa!*(GN<{XoqEu@F)wimNla{t=}{!?2`y`JLb=gGo*<}EA4Vt?0lFaNqs1mEKx+Z zj7JXb{kms@Lh3;E;x=(KwsXaSXqwUP;lY<<*&P_cb3#(XW-h|v+$a}XpjPrV_-j`- zAAaXbG6m*q=sTX&b;J|ES)C?!L|>wyjW+gWXD!~Z&_?o)=R0k4_L@CiwznL6W8FFe zd=@RXFt=GMzX;rt^&T6u(wnz2gZFp)+VN+bQamdo$X!b_)1dmy zOmn`zTWVz(U;CaHi_dT!H+YYbW2Bjzxs8CB>!Y!qK&9k4EOFutcQa~k9HwrK9=FK_ zSRivTyY91ixe@VOCLQ<`asiOrT*&u!#JW7Y++N1f@(?;*F+>LZ*4W!kw-HA7%A-aV z`ZzCsmRH7nb8vkvNiPjx1PutuX-EdX_} zE<&GYS{t7q#Z4hHy zI~d?=^}eO5lUbZG`W?uPW2!TDFroT*oYu^97zIpnY>(sRZihbAueMY z6Z|4p773Lbsm?*odA0`2`P4UTMjY3ui_huwG-;kjMnNi`QPo6FJb6()63kVYL(^tH z)m*}ue05V78(71^@Ax%f$R7|cf=i_Y`MOE4sPEN&B&&^b$)0-9p)4q-&LR$0qu8zn z&cNG6gbgqh-s>LibRC$rt`IV(BBWxzGbYf{V|effngVxpGspkHjJx2xt2!m|K}_WP z&>Hoo0kxqJpeaX}f1dCftenuc9Kt+YiF)0F-jbt*2Q!=_WnkeDFDePmeW$hwZbl=^ z;8QmS4w(StR+c}?StTtMR7I7*&PHRVKeDR{*LpoTXT6J5R%OgqBU4%Oz!Tjb#HOam z@y^J}vgd*{Bp1}kQy^9m9EmX8omm;oWK|7$7M8*-(R=+4dg9>K1PO1#kkNM9>3PVB z?7pU)2N}}BN9I%N*TwO0SeW%!!{(8B&PRjgX*MEe-fT9X0oV#2XUZswm*5M=BOtKr zsq%~lLS^scY;fU((k0kX^R}{P!F)e+^;Cd-fhBR3_x}B0@@JVxQ=ahharp#GwKl=J zfl6Oy05>HevPkWL29S@0w`XkFVux?-L#pk>&=0fI8qPL5b1~p5YY?Be0WZKygV4Wh)XmJHd|} z6g2@-F@{v=11mG|dstZ{J;2t;P(zS(-r4XU1)C*lrX_P}0d4u__6wJ1+uZJ=mw|#W-a9sw09=mP^o9+UD1Is2|>pNf;DyR{p!aH+Vpc ziiQrx)wEH;{xWD1chYOSrfA8$+qz_zE}4V%A@TqWPtDS25azljUbeHgwRAXPJWTHt zT($EQ9hAx7o%vTnu_H#57>o1(hyb;~eIxNA z{lPK_qjH`D3@O71In`{7URv)*k7B^n9_~r31ou1zK7v>%Gz`zI$$f`GtKU-7ocm8ee(mF!Nc6RtETjne*uShkcE$45p{%yFD7fJdxYsQPo>?je#ct%qFb_ zW8BZ)59$FwX(+{ssaWO}c6b?PsXX(6b`TKNgc2Om~225*yXpeGSp#CH;0H3 zZ5Vo3rp4j}S!9)5ntpG`RCl!8u-e%f`*?lLJVz8PMg!qQ(K6-TU6hlKKb-hwm_dZY za7e=E6<3UB+ziZ_p(XIOiG&Xsqh(hH*I3)O&>FcTSiW!C;M)N_^&Bwv8x4B^4T|#l zx-cCdYRI&KmJBy5^NX*;AFrU#Ml)i^{i`rnaZmQ0NF#6z!K2CoRCIO67>L0coU{LN zHG+%Kkurz50Zi?R=#k+%fUPhVg6v3{arn4d;cI?C*Ox0|?He)$^y!=7ifwXwp>WhY z&M7rX7e&gv&u17c^nq8Wcpi9MnnpJc2fBtSl7ja`wK;5&s0YSYaLo9innCC7LU2U+ z4a1PkiR2Fm1iC8DL`XvOk?QRg%0cOCAsbAJN&)*pmsb~@KaeP(6v8`ffa2%#U${xV zPu}GKp+F^IqtKI*2~jS0@eFX?G1VME zkTw+l;7)_02+|1CC&0EB8~MGf+xPFEKY#rEeE&oU=?vG!G@yEO25EHLx#slY!wr?M zZ)9ygy}!Lf;|fTIp0lMAyA-UHEEegG;&F>_lSYdGWo!zGt4hzFm%ahAX$EPtG@bRK z>1xXK-F2r-5PdWJ&#>GUbm}KL~U;)$yxmYr)vL$}JIO7+; zzza{LY0aezZJzJnJ-&N5?6$Z11C#2-Xv`TSg)w|*A-2Pz0F44)icLI;LBk^Fp zQWDHJCZx(ICxZae0G_i0#$t<@DlmUlJo$(F-TMBQpMUzx=l2hi?-#srYNW+JcvhyS z=f+cpYN^Xt|M;74{`iMik)kKnm)qLk=uPn`J>K!MiLDhq4o4|dU(Oq7FPOS-UZ0;{ zL`sv<^5gscWQz|=n$qP&WPXd)Rg0YeH_JKEa04GgHd^HD)jz$8Hm1uR2*mR9=dJNb zGiR>GI;elKJoCm94++j1Zl50}xri|fnTnyJ(d_OXfQ(m^N!h_J=W;B$0Y<%2u{HVA7Mzq!N$nq|;hIJlp}MmQu-5X9}xZ>8uYukfyHu zOOa1BQK_q|Q+AAWiO6$M?X2HFk3|ujzxeI{`Tdodcx(Tc|LgzxfB*I8Up{`e-t+2q zz-EuH#Lf*?x1R(Pi|d=!Ybh&THCKyZ>SnXute$o(Md;HG)GKDZ-~7k_@Sl#;CTQL9 zhd;wbr(%?j_w)st z`}*^o*zVPFR0QWqx@ZKm*gfq@JWp)vij72OzT=Sp`@j6y8ZOp;#GTTd?sgqg z)MSlCCm5LXNglj)B_U2tpikJ#jd%B4QwQPE=W@9u4bT93A6w(=Ri}9L=G6}`&%HNo z`nFI1_W%9wzuk9;32LQ$RG{VQ%S)sK1D9N5yyC?fce2?SKsL?Akp$glYk_z;SxQM* z@0*px>B(_czAQ?UqjGWk)2F+B{OH^7|M24}LUJsb8^8aTfBheS{&J6px1Lp^N3Tw7 z=^G|>{A8p3m%sk{)BD@itZBIrtc`CIjP1+GR^sgEU;p|qf4S?3nwB3nu*CifX*{qH z8WzzJoc{5*zyJQsqGwi48Tw(hdh6Aauv6a zs2Y5%=3*$H?=_t&^HMB%bacf`T9d`3us|5OI`!KI*?3culUxJlVRukAN2M8!oihv^ zzdnv;Yc^MljW7zjRjqJn4OCEq6}kccHw?5#x0y66rD2l|;3`%#4-r42tOC%HGTo1R8+xvG=9~LUpW&}>zyxA;&(x2Ub`ODva{psVD z7{(}8XMjG4N8HfI;*1G6taQ5M>3P=Ei<9Hm-+zDU9H{X1FERp)d z!}VEoyOPtPA7rVYE0@b~T?$ZuHHCDEjs*LRR% z<54~G<|K(>rAF?P(HJ818j07h-<(~XM)DS%kMqsrr;h?BnESHyKq6zxHEB(UhhLvQ z{psV~?el)!v8d5cYIoGR(`f^zt{?Al%vNG`z$x`}_*p7jCGBu#P~XLVUv6jJ z+&NbMMS^UwIs+s|f^3%wP|pSG#PdUP*4_H{%c24a-=CC4gaX+Yq<>=d^S8rawK8d#^bIo=* z(RG_lrjn~nAh|UMUcL4D>GOvJ{HK3Oy|;j>$(aD^a>L-UIM~eY->>y9x%k_c&Vb{W zZ_=#df!6C+O+<64h0e_jkh`haG**=X`tCtZgOD2Ld zAwic^FNGki7sO089w>Tz{*r~tF^i@>pYPqr`{itPczVY?B61rvvQ`gT>H#0_=H@-` z_WPUbb+;5fdmB%X7^H3f3?vQZBPXw0M}m5_qPwX z?>@hO2UM>Mow!rsIn3*<%4n0f;-zjm)qSh&PMs~Co(nE1&HiBm5)hGsG?W|{^d1Z5 z=d~aVlXO;+5>i5k7!SEaZQW^2uC1k}oYLYuk-OELGKOT;btcQ_yWPhxqGI$mRn~~B zOATBXnTondOzWvc+<*Fqm#NNbz1=?T_V?0hXgR}r)Bgo8q=R-Rs?%JdZV=jLz)haS z$pMJ|^uZFc-c59rM*NTtCAJBjT7l&1k=EJ7HW_{U$3J|3j3madesg>H`14^htcb6; ze0ypf<)iLh-!I6-ktGZVGy+0P-<*Xt*;kzY=4wgJ>8*rJ_(^X+$M(IR1cck?LhSM9!SU%YrF;nTU3YlYt6PapOjKYAaW zoT*5%N0?)Fk=lBj>&JI0a@cOJ9*$KSgGO`n^WXpc=jZ+A?w#AJP26u&aZ2(dez8UX zFzVILzWL1`e*fF=e>_cze@E(pa1VP^tIBR8tE@5aqC(c8t(HUDO6*a?+(Ki}f%S9M z4z^1(z?Iv4HW4%F%4;N@0b;-Xy!ONiV$IaW_urmKBG5O^H=qudePQFvf;bnFXD6?ZuhPlr zWubex!$I8M2$*Xy@TGtg3hmvy`{(OXXNaa?+zcc;Zl*8O0VL;PWV^bSRv)g4MI+;Q zEEY~*ygWXSN23>|>1tIu`u4@^qnEG#@W&%-1Iu5=sx4J>zqwcpo4G{n@?4j1SMvCg z@^yNBzug){^od@KfT-#ed70Yv<4<4i_IsjC$a^7OVQz47S>~%@T^%eYwbMWR@b)|@ zg*e_@><)8F0kB>#VQY&&U6#K%T#W5Y@1B49U;$`u#n_&04pyF-cmz?|N@Dx;;it!C zRUT(M89R9yuX2_tw#)}Zln5PFD~&)BCu__Vx|?_R(`F%OOv*NajlZli+N|Up!;2V3PWVzwc9bxmyzcf!600%RjUU3kZHz}8NpVYG?`}T) z?U#=u)h7K1uXYaI*XKvpH7Afl0i5}ROfs04-F#9I6mUI$CR+raG(S$v-q(yI*V=yh z%b!0S)|(H{A}87BfG`5&o8sR)B#v^i=#-r)9Rlf;+PIp-mm!XRc|oh2xr&}gC30w< z$@(V28)S=)ddCmY%3Yja1?{#!N+D0=F@5;VattU_ZV??B`*dfcLhOq9V`%HqZCS}@ zGlqwpO7<}QkcHq~>=*UN?mknh_F-!VYRczCTyMK9P-37O11_}ru3ENlmwZH<0xa#9 z$jBaUcscy)9X3L}Tgih>5EK}Ty#>g9XrXuY98fq>g>_}aP(%EYD}Ld_()*kq|M2=U z+3~3KZ$3S&hf`$pX*VIHRdb0EnoOI2Z2G-<$l246rVE#N4>BIQ*4F+A+idy4;sayx z7$bH1D%BXi|EncwvofL)E31q!iXxT@lKjM%uBRK)ree?l1Ihc+`bKYsmm7*)Q zU1cAa_E&2MlM=OnN%sKKoOl*=o)=7rLZ&vqzU7oOM&{8mv*()SK>aSC>d^M>kk+Oet}D?RNrZv@zY@-MxFfy}MiY z%1Qi;GxVG>8%UP0o&3wTKrzjoV6>(0=8b{a{X4L?`Onn)MM&&1_m zvRd+4oSemkhogE-$YuCw+rZ#nXHPY;6>X&rBo*g}=j$La&NH;J3Rsf~#-v#=II@8j-OQc>7*V9(Af(r{-kt#aEFqCkbIfa1IjQ`QrZF)ARE^ z`Dmxau47DQ^z613!GQOnf3qCs4#;_2{c9Vz@lxoj6)2h7B~7H+x2bWTT%_zfCAp!{ zh@J`@v8F+~Ucrb0SZpcOb%s^?O45-aJX!gfREu$2nY4H)&U3NvIU$h-z`+3+)EZ&t zm&vDSb>~vD%ngli1Bhwr1yLU`m+XZ7-MoAM{(e5$Y*&5n$6z700ta)$m1Hp61O`c7 zkv+#XBm#HM#_L^)>4z=X%(dK^a&@q|yIw1(+lWq=Y~l7ub= zzLIw+yu#{{DxpaTbhsG~Zf_|53%R)B*Pd&+S$dgglr-&bHR~(p9?7IHixlT#SB!Dh z2JWABzl_I6b=92p2|*-C+oqH*WBU34BDRe)9I7{vP|<82sHPVPA}+7y>W=?oBCc1$ zp=@!Jd8Vc?c@NTKLsPT<;DrU3Aw{rjD>a#UgFw#0sE|sr*>m{@?O3O0A>lHD=#|9C z7_Sr6vNfs67F*nqkV~AqkP>C<8dkdeW9*qWr}HuDO`*&0L^(yEEKe&)6O(cMVe%`$ zzB-!g%Y4r^xX8WNx5Ea%k0EAVd0yub3MliiF0EKq7nn*zD6KUMp+<;`38gOtEx>iR zl|G9HpDvwMUr=HNuPZDYF<%j_CnDrwotC$uesUbD<4qD;qBdqXkG_~|$%>}nlDkG7 z=|Se|C9&q*Mg&L{PZl^P)Wt$=khvPt9~7K}(Hk zl)GCtMSXR~#oj7+cY3MWwbw4VoGZ&a0#B)wu_$fpc}^=zIu=^UV&?qZ%GzegR~>RK zEcSW?j>N758CKeG=Y2jX4W?KQQyXv_HQ0Rg1m4Xtpxlt+pobsb?#>6|&SA`tBdU;6 zkep4%bSYUFJbBK>xXF#{sSeb356B*LgCvImkMUGn1~}pEQg@SWJq-q8&Q*pV_I*uDagj}pd z0@lXc&~X4(^tX3wvSbF!bhT|r4_GjP#VNDsSdg2*lwG}fsDniGf@Zvsw=I-Zsq+mq z<`R}lue-SoiAV-8VcDFB*$)935M z$O;c$G0*~p;(b+HFm$F;)p}sS5sYlF+v#xH2{vD#rXdV8cut9%4=Wp+afJi4Y9HqW zZH_imL4$`Wv}u53bz7+ja*Wlrz*}<+(8vPEPYsW~m@B1@jsm5rzkIk3(A+{ij*%e& z+SdTD!t}M+Pi1MWH7yDfR%LbLd_QfI+f;M4cKF#{l^MB8C^JI9JF~+w@S5q9=0l%S zA%6VYEa(cDhUs?=Q450Oi6`yoFU600x1p$zsurL%oNHq&e*im8iBNqIzX{9s_9^>Q58+^%-Mp80}% z-pT-QPv%^y;Ddy0hG_hAn@*LMQzL$dfYB7VV}Kx|2A3yJejb8{-F2mE=89q;OMSod z(|DolMLivs2BC$N+wI-PBbWBJ+kmw7=de1Vmg$XlvQIe??Xm>(7zVdGi;tggCmyEj zZZQ{&5%AQEOwO;aA}me0R6!1xt)PCi*~bkCTTQa(+q+F*$!LL6$@4@przrD=E+LLo z-cms9#`mk0UAeQk*z_(1AHlSCdGy0&aG=m-q%V$+qfA`3?3x?IcAjFHVrC?;&o zFK-cTQ|~EaTvhS}1vz&|)qa)T6$;l;jt~ZC<2~ zjdiUtvB z+I4y}Uo`AXRiF_V%^DNc3b&D=iuJKnb8&O4lIC)@cG8q{88d#D3w1yV-dz)Q_i$sO zTDO@OGVKT`UY)VB%b79z*+VIy$BnqA4LPlXzpjv5mC_5bJqCZBcg=%-t zN=q^z;-Vh`FP!^sB0`UGL9j=-f%OCwnLy&64xEy_Q&taRV;)35gE{Yl^E5!~h&NPj z8WmO^rupD%u3*aqvZ+hT=T1UOY_{8M?+!u~g3X|gb6-I#g&@<|5MqR^3d$GiegYw% zYNZ{%@$G69q*|fBC693s;lV(`;9>a_-Q|c;!O-9*2wZwO64H!hZ1~;n9VDw&Y4!YE zVY#smj```WH&B@WRIr!0e+IYzjveh?Z z3a4RU1kEH-OuO_oG9_gx)6VsJz(Wf{SSz_FRle%4NJ5?Vq1?ga@T{Iuc1S z^vSm*MCf*u<*Cz%zayFQ1g4Ug@kF{qr?tm}FLZXEa_CfharD)`yE(M?lR~1|nr;t= zWi@m0@-&{#i&7Yl?;uC+R;`3R9rk;(U5phcTM?op64~M)Nb{QU$ngn&pQk$C>8@!W zrk46e6He*4Vgs0sOc$Lu?dj9aLiqAzn0fu(KmPWI1UbuaMUOkz@>GfKI}PKR^owi|i*2E^iie^>@miI1_E;jB(n7WAl{V{OBB&O zQoSr2N4NxNrX+oAcSvvM#yS4xBvx?AP5=6*zy9Sfe|a9|v&j&S6M`y;9`CJP=S`|Y z45YqoM_#-;)l)fIncqt}Xf@A%jCkPexjTb2-e#il6d4+pI(gA#vatbQ&KdY~um17vxr0*46Gvtw4|Pju!xXW$ zNcJn$QYsob%~wbAE=M)YOsJp%kKd$Qv&kG`so=6v!;Zr& z&~jPVDm;|Du2zddF&B!X-KJd}E~z(e(PPai(1sW^1$Il2YirCeT^mCIgb$nBoxNB- z(~5F)2p^swu&`DZO^rV1Cs|xA0+LlI52thmZa4>CB0}!DnEOpigTeOp?)rL`7bxS9 zG$0NwVb=KfttH|8hYt@AYh`k#&}|l8ee+-c+sg|IR|!@0a`w%DqzaWih6_G&p1RcQ z7zc+^@#F+108>pA`Zw3Ky3|_EsnPn&PY>f#A$b)Gd0Hxr*7)gRH<#`>n=gBn=pTN0Y6#fHZ$(X$26uqjiz zWP;iF`42xFXKEu^nZngfOoEOrC}1ZQ_Ls@@;r%;;^-?@xDu{hEt7qbg6#fn7dUJIT z-tMuH)mXfY#V(HC8tAmAoAuq@4HCz6eY?^n*B}UTtP#X`o6V$N(V-iJH9Qic7yE4q zPKzZX%kKVqG}_FqGg9Y29>vd3BI=Uf0Ni9D&nJ+CN|#5M7bkDB+RvJvW3O8gwb)=n6K%IT6XPh%KQPQZK6=R)T;aKxF`Ad^u>2Sym)&V$D-8+0mfAt z5irRCFn{6lOqH}X@#x!i$+@(#>ZS2Ps+YzyVd=C|aE)m3Ch!0G*XvQpRhv=;`;#D1 zS2t5#$g-6^K8yTtbRpS$e|-bs;1tP3dC3cDpA&Q~v45AoyHy|XMO4A*LQa^xo*r5J z*WY5X0t)~KALK)B9TNw@oP+S@ao;8aTT(8>VrcaF+S%(@a; z*#w^o8zb?ZW0jvbLHl#l)z=zpi(O$2saBn`Nn#ID7q? zY1q`n4sSiHCeY5}$*Le|(qYysftG44Z)c-yc&^Q6=#PMei9%pPR08`+Ej;h;jUMaiOPMHCC#hVCr)WO1 z;W886f^H5(h9hB>8r$2z>9I9^JSgGs@TIxWtt;=DyGjJ>`_ggyJ*+*F`u$cGx4Q%K)?o(Fcn6+zDr6t%J@6 zu&`&E)ghWmBkwDNH#hQ#Lj-I$WI~zM>HVek`k#2&g71pZhe*=YCLkZAXppvs)KHap zrMp^EluDB3C|^8%6a>JK#VqcEG0DlJ#DhjcIT8aJ!`poI@RHQ`+`(neD)7>%JU3C1 zt!75DkMhW%#QDo6OsH${6cQxJ$z9I8UnU0Bh4!PK?(MXZgE1WF)6Lc$vcenE0(*mU z8=C^)N_-Z6GKVR}*WQS$l++@NsABa5b|eC}UY0xNM|I*G3_J8yB{HCU{lyJ?T{~xA zR|Ld(_ukwMUrnAW^(CpJ6y!jr9rfIAv0TEwXm__}Hwbpqi#!jDd{ZG&=HavmU=?~= zI^KavHc7F8i~#aAONad%D?yW;Y&^L?aQ%5W&{M+?B4?8(U#@g6n&jdza0zL^f@+Vx z50OEtIKl$IM7t?-UB~NIaNtnIaGRRD^9`9`Pde-p=~QE4sjAmmjyuFd<%UJ_%mX|K zAasDOfL+Y_UfAgL*Okm$AwyI}D5Pd+d238%sTuQl!qyuyL3w^A%fZ*6;oCXIIwk+^ z9?0CqQMLMqkFGWbRA}fYZ7o#_J0s%Ab?pO<*m6ZLPNOvpu{!lUJRKfNI#K5k+_3Ta zE{q?T+XX_1$Jzv&iC(VWF;XJWv-Jix&Dj&I4l7f=nJu_aEEf^_o{6hJsku&$-hv*x zi@Pkz6w)xZ`B<{P+9H&h%4eOil{60?J(nQ)aBO=y+Xug??3yR$-=>Q3j{Y%9r>Os+hR=nBoa?fl?GHP>YQ*lcYz z^wza148+8>ya=u^O=N=%W)>VKIIF4+PAnujcLm}K#Yg-Sb3J6v;d_`ghY7jVbvt4J zGroC|mLXmctYj2W_uB9>t7aELt!k*ueok)UdtU>YZWaulwnIThF7XkBfUE-KmsQZB zOM;aJi)1*7&Oye-e#Y%o2Z4;*p4s`aHJH~oG}PpX!Re|V4AX+I)sN0@y8<+@Jd$oE zafVHChNR(;6f4KZ6cXRfz;GjQ$ovi+*4KrAn_yMoCSwBuel&AosN=Gzg%_`*$})#& zJ1i9gY&vz5CGR6Px~~ZB-fPMc0qtQbQKudc)Df>*_VnajR#_QXj^@Hb%e-XRl^|}= zDQdK!RG^j&IBsdm7%oO8%CFVICK~vgYK4{?q?@Y=C6@N}-0nL>vIdFEjxAI>N5OVD z?DcKNt4inu%374i3}`8^rcqzWLPD%hV8~GMb&D$d_1fYmC}?1)T%JH+B|X)@qW}Rf=5FNn;IF0IZQaI`oB6_I0H1cCTIGOgqzR$ zRR6l-d^cO-CRAV|REg1H7Yu%2V_>JcF^gg4(Acf6;*hl9OTyElGj)ds%&^&%Y5fk4 z#=yja!^kie4~@5O$>%)`Ssi|8^Hn4Q9JWS>0#OE`At+k~8=e)ma1ApctzsFI6Xxufu^znMfg;Fn$ROus$L26B#J=)u zwynU({Z0SPyNXv4>XkNZ%tZt_Q~-muYGC8ljLK>}&YA$Tny*}suvqh}Oj^b?#Mnjr zUgnLBz2F$ZJ%rA5+O+YBhGl?~7NSYn@D}#WC`8_Zt!NzLtK2NaV@1cMKp^+MpCerw zD$6$5f7^#Wra>DDmLikAQCOGYnEl-@6okfJZq%Y%zVA-!ji+W*8C)taTD$-xz=mJ4 zQDSq92_}K#+INM-U^|&_qVcP;# zBp{KJj^}=ZUs*gw&ZjS+9f%paRjFqs2o_k%>Cs9QW(` zv8dwLJAD-t^I_rot2@X;KBg%$gBoF}As#0eshj(qbqKaMSSDH7SHHeSvlHiZ05 zvUe}8_ld#Uxf%-QAb)_a@&9$jNCfr+-Fon&1hD5Lzaj{iGM6m! zb*ol8X%}f&oU|Ju$kuX^?bpYu6!B?JM5b|gLD`3s^eY`4VHexC51NuW?zeNRoW4IV zTnkfN89wb0sH!vI826>;96GGAiq|sE<&{zCinYqu?=U4q3ga(hJO?JyFFaQG3}AED zGi&V`qnJh~*p8ihRFlUw z5|@{;z$7qr`==^11LPH)irll zp1K!-CwzsPnRdwXGS-a~g?m3#JS+BiliFar3!4h#T3;S{IbjOrIdf2TxWEaVAowBs zFkAw1-K`lroH0(Gtb>zCS`|Xtw#u8vTp~q z*t+?l0i6aaP)ZG7fw9JBxA71waf3gTqCp?mmaw2zM}DNvBSaqvxHL#cUo2KtXHI9paN;aLjMgrLx|(hVdbz{#&5?7+4n z84Q`<{s&g|cCU6w!I75xcS2v--DtQzz_*F571wX8!bFb+9=C2dxv z|0xLO2f`BGMn$pz*8l_yA#~}CX(@}b*LX?iT3(IhB02b6if>J3`2-ph%Ma~g z^8Qn&V#&jFI--0BfrMQ08Td6_=zbu$JQrV>|4MY$HZHUvswr?p4O_68%OuDA;kxpA zl4}MR9rXZVc10l-7BXf!q72vLSqIavYr7d>4YP6o@k9C>s@A&ATrj9-iOta9oo? z#~KbF1qlg*dZWvEet%E(5)4Zo6{sz%5mSGW*v6rumXiq`wx1Qy03}ANd=X)$xs1k$ zJ-yuRO131u#kOGD8z2YhtTGMDtK}MRcIfi6g|CM%vAdo(R3WWmG}ajQ4X$ISKmOA{ zypG#qmS;Oi=s?H|!p_XwbD@#B&gLC+NYBHnwhi*(&HHz_vio-eASco+OVVA0pEpPC zWTFWoSg6lcLjxCeHC2!-;C8R4U;g%GBrb$>w8h!$&Zh=q^;I_?uj|!u-tN}j-mM6W zr-z?DNr7QbZ{~938jbnKPund|q2S2#Y$0)Zlx`vK(#;4|t2Ij(M?9)jr6E80vMg}! zDlP4Z(sZ_*=5o@DuNw4cy^uE9&E&&}S{G(p>ym+TP0|e|BU*+>RoOUJ2vP4pIwBem_# z3^%vawp?`bH5;nmYN4~4*WCI2P7Xdm*iofZioLj~jQdu=gK6E{)o-NZ%(ursp4a-A za7?Kasg57#YV=7feqP>O_nbVER$4t<5P)ge{nq4uQ?6iYQ1$d5Z#ADN7@5-Kx=YWY zy=qj3!^jbLUh?%D7}^{aAz5d%a@f`sItt_7?VmpM$J@tUw~!rOVoeb$?s zRi$;kq`OX}-oAJf?XU830JrjUrmG4lLo)W_&1G#}H#2DE&VKj3G*=ASvN2I(chk~j zt_Ico;$hexFYcEnpX>LZ7G}+JPG+5D*ez0N4jrIc62< z!9Wcwcz8At_jghd^ZALqXXC|=JqDeTV{S1hlm@pS?m}UaIR5<~PDzX8)g`YIK~&>D z>|`z@_OK*efjm|p9oDLfzKsK)Rb&nO13n-y zTZkMHsUmm8$UpS)RmR=K`B_SBOF~P3)wZSWtMciZ-}2+=K!?VzuGU>2A&B{wp;mr- zMyb^3E)JsKs+riUn3LP|3Z*clZgdI^_;C((Qm{HLV%U#aYtb?^ylR2q+<-pVXly3$=QuH zr?Fr}k6fc-2`F!iFex^X%&CR>HyAB1dL?GdAn?L>hI3H~u7eOlPgD9jD^`f_{N@83P_ zR(I?DhsV|6`f2Ty5>eQthZ-NYD&1aZa6QVI!SsgJxc*t=13S>8(+gQ>mvO!ge8|Kp z!Fuu{JG;RMs?mnY+yLqd$UG;`mdbAR^s}_`t#FGxQ*N_r!s_yh*-E1=8@U+W)R>s^ zrTFRVGidEt%I4Dy(ab;$GE-G$${AnXygN)wv&X;va+op#dIQ52F8l^`-y?9B-hR{2 z_|E2y^hwg5T{j&z#*`&giVHBT&a8I!L)fxYn+)mfFG9S@fmKJlFUw>Pz04rLd!jI& zefa!fjI6pcf-z2DePeuY)uN{YamtB{H&^9a^z~6y)H(sXNJrS~D$Uniw>a5!5?9p) z5LQm+>BC}j{r>rSI-A-w%&X_ej31iuCLvMcbwaU%(lDG+>%@!I6#l}+B~r*mf<-zLWE|@p1(PMb77jz6*Q`I_85XFw-HU=ytQVE*n`7P3b0@?UL77>Bf82EqA?e*1DpEpjpI%l^mFvt0_RC<+C(U7t#XiBo6 z$+8}1w*B;l92V@8yi?8f;a*U^PR6O!oDOm_X96eOa(6xpmR08s#%O-PAizY>%wN8_ zs!!ouBxg!h6c-Ckqtogr5LBhNSes3%%4rBfSVKqI*U|q(^ceBAghnOO5KnrRok56eVBFB+@I`ZmGJRfYP&NXaDbL~FRoo?_=l#=b+FN8zZzXCw#|i%UWt%TuOb(b;*i7R;gO6j z7MCX;j$8vE7Ih0KTem=*rCT(38nxH=hwFvFbbfl&xyse+<6{Xaqz{|@-QAq3U9^T~ z(ySaxm2T|pJb4w52&}9j*&|;9oM_8QHx|~vQk@{0;#O1kV`2$cxJF5Osb&j{Dhr>i z6D1zWigNc=<@FS#FEa_ARnXWT*bGsE(7Iucy?fY9IcI%L7BPK&R zh-gBwNqq-5X2PlM0Iw3-+9C;zlPA`bGE;2|?3i@)^iB8`BFQkyZc?&s);FJj1=K+vizU62 zr7S6ojbT}6N1=anGpKe+I9JlEgr*nGJ+tQ#%U-f$n^M>$)AYUtVZS+OV`p1MCtiPd zes*yYH9zi-cMsRnyx8U?sg7HzBl_UTiyxC7O6+t60ngoXxO|50>DI>W>{X^e9b_+( zypD-9U2CyIh#=ha-A^AMrAZD`34XBni#JJ@6V7Rqo9RZS)1;`K!pSzy-^9Dadi=zv zGiZyVd%S)B)BF9V+uq%7%v}bllM83g+drQ0Pct4H?sd#>iLllWw@XfoeB^aN)v8<` zoo7`TenLN@lE!wYe|w9#G8am6Rc$3-o)>iEhRx&9fg3|L2eVq&V&api96 z{4A~4pMl-q&ZoQgPg@5lws5XdzIb(IE@25e5%gwig)Z7TKwJfIZvf)h7}>AL@t~5D zow}EL(z$;Bv^G*HTu6yBdh2XtP8&G&f(H&4sWgAwbyylQmnS}cB75SMP-^jvZy({@ z1kgMzq?esveEZ{hG)q9m;7{9l^KiXfJ4YFR?$&J!>=flzE_QKoDXx~N;46Q0Tyr!o zulL$pQ*iQwT=2yT@-csu2qd?;+?d_}?SKF4FSoK->cUkr`PjvqQ}B^ui)ini>_UCP z17$qXQ2h99T+X$;ZNCtS2`5a6dMniu$?9VNc)tN{xqiGk%%A}? zXD_}zRc6Pc0OZ})90%)RV~4+5B>6FCx;?(~Z@Q#t79_ zUIxph3pH_al5N(h3)+Vz)Wom9d;v0tgSLG>dYdVf>G(##%!%z>g@QK z4iDe6X$_Ceyt`g>&FmS#_}(y0GU+gXQO)SKC$0YC_Ihe1*fytbEiGMYrx7r~i)6&(evjiv&i2aFO-n=cnD&fPdDP{89*t@{9_X(TN|( zzJPnDcy%60wpd({eH}3ve%D*v*x+7srnN{VI4C@_4}P7)jqeUhfL=-3tL1KmCmjY< z7WiJ|M&|!#>OPy>%C>be|2bE=%ExuW4xPIdD2gN)0FnR*k{|*zK_q686eYFPX~%ng z?)4|T{L#P5&pV;LkI_<#1hCecVa$=oJ1Wn<{^J+VmbgKi9g)GwR7>jzF#DP@at5d9 ztj?2oz!R9rq@WYm=b3^WDKDoqL;QvYzZ+XB2sYIkh_Q}<&{~_1@9aw9kH>4CU0-V=3*N~K!T@A5KkebrA zIG&muv21@QztaJT#7`zw-YRPpK$se`Xk@~Zqq{d(*AMFcMS%A-zF%wx?pwH&*G=F- z$mw!8P}Eg_3H0gPKY~A$=*NMtD(Mo{3@`7&@=4=iN6`_qZ8_q7OyT8tJf@H|sQGud zGy+(KfKN1>U1>H{5mxYo2AtsyJ%44%06mfaswlfk?8{3Q79q@l1k0XDC$e`*1tlmoSXzI?F^{POrj;}ZE5@qGtMoCdQ2 z!ds4^SRAyrM+6{=+z4jCujdw2Iq1uxZc<*ko&uVU+okDXYjG7En*_?k!3G`ml}sPf$9#hTWgy8+E@ZfM6NdqbUeb*Uweq-ICLzvRjRq>lS>YBXAFuk8te z+P!|u>*7dL$PS0l8IHDA=D(c_0F=T1c!YE%X_831Cpi#X zmDwrX`CLoH74-*UL-`CE2aI`%(rqj&L%89}Sg^3H|ih>eiDo3tv{p zEf9XRRZ*_wqWQ@Sx(oeZ;#x~T=R_)`pG_{N!^?*^AgB%nlR(=WeqFj@pO@oYqOWMQ zNTe=N#IaUL>T&y167`htI(d*P4drNR^%9JfwW|6jiudl;I@v1#aVi@_j1hQ%C_}ptTcX~I8}NW?pwojuk4{?EhB&+y1*%Lo_O*n(xOw~2d!68i0=Qt;BZ@Sb z6}KGrkEZY5QaC0QZc5dOl030!NXxp6t=C(iI#l}MN5(gRPRGB?8`aX(ZDnCy5jQ-9 zY7;kV^aoHvZtvbc-0|{F_6=!$Lyo@YkoCRccs#uO`17xC?S_CU zqULi~5ZeD4yy82;aLNrvgzgm+hn)U{L7W(4qmWXX_`T4W?c?nM&yFp%%2Y37K>5a~Y zJIZfTLT?f^cyT8ez_l)}AD^B+{`%WHeFd$NgieraqDBBB2lqez@(#$@<<<55FQrFl z2jB{=+##!MEWi9gEpBW6+ZRg!bEVEmgij}6Nu2xg@}@wpaM)p?Z=ay0PA+xmov=)fclDb(k-tWLm5`u8 z5@nf86!%;@-!jtf-rbEaWU_L$DIx4!rd7sBmttfA*C9Qk&y{XZ&&KzP#X60>WC^x* z8q2R17G429TUQK0(5eBh@3j_RzFc$wpUp2*%s8iYhf02zpW%)RRn;`9t14u9zN0I= z`VDPx9S(Sj#Qw$Ar=PFjDuDpiT_7wr)v-2xTauEz8#>m*wU!8?RGm#>;o7sWzFDZN zM5uN&+2$8$?CWf@E~>7t3ar6PC4|!}{8LgY6y~kKaW^aTHjHvEi=CP*axVq?;_kzH zdd~=`m|9VJ0%^enbK>$yw<+b=l0(FprNHv=PUWS`?UZ^!f3LiHwYs7IXyMI;6oUzS)`G*eU`T=SAL7Z9~j(OZ0}b=7aOn;MO! zbVH+&oQ<*BLwPM6btk9Nb=li!-3JI{0l=Ao)q+ zV#+J{PstCiF&saz(PT`@-6WD}`gLukgqAVs$M^RVo6l9k>7o~h9}KeH=9<_vo`OD( z_)CPs`a}z^)MbXhUV8E3n?HOzzX38Lx!?kfC(Qlh{qrlyp>VGRr&-Q2%91)oIJEoI zC#Oob+NT1Q;R83wSl_p+q1wo@ZN(o6frTz2A509#I z;S9@=6g{TeaFxLJAKpABEaE`7SLQTPs=W9?>%A6mSdD1cmS4YmwSm9uMQ}cZrs><4 zd#NR_zWnl!q7X>qR1G_)+|9#fPmLg$+Vm-W!>6nn^n{j`^ah=A$fvYARa>FvZ+ZUt z_X|lb+m&&2aSy*(kou&(B8suX#B2#6z;#zYug#;vPl-e)6Z`b$>8D?Q)^b+a$9{bU zc&AEcNzs~X$qqRk@2@UW)2KyU?BW?=@&_VzaeP!)Hv3pnQcXHC&A2sd)$K$`huSIs z>9@Cc#NE?fdWrI-;PTwj0bP)pOj^{XpYHZYK=vG@yQ>4Pyk2kpNx-Hx2?T0JXub?E48fm<ILcOB=vllAkZe zH}CI8DqM~auZWP~*B-F->w0u9{qWUy-vOguuPiBd)B<%C?4+Cko?r-ZlkuBN(p3Cf zhC%m0+lj%&3Ca|PX7pX&>CPfcWpp__goGjDVFBH88JIh{-TSc60pU&GJ`ShX z%@6|Fuarsp8)yYl`0R-x%Tw?#Bg%MrZ4X7%|qDweF}?)bOA z{q*+Z+d*TUxW59%`qM9}g*bK2KYh5kdbk?izQ5CHOnSLjU&Q?kT z*T6e(a)c~ZiMT*ybS~eFVg5Y-Zb>Kuj@SP5_FUJ%qgBkKt^JKrD|!+{Ye~I18&OF9 z^Y8aSE>#tA+v|U%%NZbv=JM;xQbj2e$5Ur}oi=rH^JYj(*xouG_0*MZuIk41?CTfv z_47AZr#GLjA#FG?TntAS({@8j7+`*_WUfYczdf|qcD5EPyT>5JWT+ioY61&mSq__m40+8B6dRb@d&cz5fWH2xe4YiRt;>;OOz!#}rVkF(6*d z$x6HbZyzroe;iN>_m~nJ^Ofea|NUQIzWQ!eXOzx(yxpBl_tsmoHF&MJ7_WJ&;DQcushkVRNwK6yV z!?Q|lz1n7%z4`Pjl!SIg=8m-cBWVv}Y4t|6Dnm=s(-sfV@(ajkl9MlQfBf6~doZ@Q zmshYXlP?L@u|2rB4TdTON>?-fQM&B`Uor^3$@SgCg}UM!Ie`4>bI-qiKKC8a?$>iG zE8lGI@M6y7|lh^M8N3|K(4Qih4LodOAl=+m%fzT!dHusPTNRxl?^H2fB|&(B5A8 z{>x{rR%L}DH~+i;_+sJZzkbyq|JK*{7>*}8aP$`ER~EnckJtFUbncEapWefVYZD#! zYO6>0Kfbwq|3ClV|Kr{5!;?kB6<>TX<>Emxt z=bCQ3nT~FL`t`PW~(R!qGM<>Rn>bjgpa>G#=IMH6DxiIb1NJbn1-FMk3g z4=dtuczqA~i(^H}!RX;qJIIL^xUJKxhV!X&J{oUd%Gzj$7kogI9_NxxRzJ!&u2PPk$2 z9-f{qVfc;qm4)xFyr|Um^4mM0@3&e5ncCyGKmWI123ll7-njetPLWLQ|JZC0cy3wt4kTRBfzoCZN4Y!)NW-N zJesyw7ni4N&t3xEk$-hLmG^xyk{fw3*{(GyX8VVik3jeL$6_4QcYpcm!|j`=`w2{r z=imI{tCs}9R%d#>UtMT*YF~e~y0!WGyKi4X*z56Bc50euk@QEM+E@Sb+deVT2`o~MH;ntI91-=8@|6i-d<~|+d4XoGQPuWS$V#|M14`& z0fv3@r2o5SZwIo%4%9rYA6}fDZ9!`t)EDQMUVZ<37kVRPtHbSu?-r5`rIQaOQ^xXc zWqxgKb*U!n2SC?IqR!33{h*~DrcT@>G$ns;jg9Vntz^hKdg#Zq6ZcOnS0ZrJutmuFb=Ngl&j8R78q(A0A%4 z{{(DK;w3PYPk;JVslu3ZWU0!@Pqgq89x9xxE^CEd+c}ZiJ{aAe@2L0RsJwhtTLRs_ zE~YIu}UxdNud_hwop%1bDHwvU_r>3{mSt5WGC4avH7yI1EnJ zTJ^Dmyi zLIssM<>?Dcb!Cqd%w;<3MXgAe=ef&oQC-_6NUzF(6;LV30-~Rk0vt#A;B2fRGgRQywr5NLznil~xqUq=*D0a16 zS$S^Wb=@85Fnp?<)4To2oxq4XC`kZoH5H7byUWSd)!prAI1T#$9r(`1=FZJ8zx?#m zuYdjJNqGFkdfebrz4pQn-+cM~izP*jQdM6(pL?-bufki&Fn1d-pFMwBscBiavoZgA zo9s#h56DMC__Codug`i+F+qX*4?q9*;pyp7mwTzle?y{b3<6XaGvOf$4hl{%$;0h}PWb z$e)ltPD4ra>x0WrfBh3&epTqV@9*Efy*laah&ci#Y(Q;Lcnr&Rpj7qbaGNu6`P)B! z^=+joyRg%3>NEpqV@EgilWt{hZGCNiZc_lnZNM0xovQY~Vl_d0Yr+7B8^b4hc;cK& zwBi0fP#3d%m_qc^n+X$BzU|e`#qIm2i<=+c*n7F>A_n!n-rB3Rt+k~kWT9Qb^Ua-F zQ_40rGT=RJEIeb>3##nNzgQI!XtOS%6~hAl_D)SpJnuj) zWHVnYB7gk(N5RYfL1SYJuxk_O4_rYBxodez=Yk2YNJKN?#g}tSE6@M!>*b0NCrC&s zD0>QpkAx+Ed;fR|vS%;-47OD;jm~dAJgH+ofM9%gEj953;`|Ap{nagZnxqtk%PKCI z_LDPda67H}IXX1=EkCb({^TpXuBfG;lHa2Rzqy^A}H*gV@>1fe(Jf-+bF%b0XT7|RQai=b3 zNljSUmB%H#0FX@|FP(_xY3o>a1zSX8_u&EXLhgpCG*w+}59%7(bo8m&5k*;+4cKpW z&ty)GZ*OHJu1kUt=r}uCo?qPUZB%!(HlEXcV`1*A)w72?%Lc=_!n!%bCI$e&+b4&O z#aB9)?e3jVPsClFr44u-b9qiU>o z0tLSw;M!dR zs9jxr{z@l_y|cF;#=G5fu0ov(`SZUskqu)?a+TTATZ~FXy+V zE)U*5?AMky`t611>I+t1F6!LOwRQDYWrhZ6?X_C-_3wZ8#iICd_wmmUC;QW1{`Tj` zho3%VSCCR}n! zYkBqH>h26i{zb3yYO}Mw^yT+kI!y8%?pG_dt;XWZgCk(0`Qc&gSvRMG_V*kQy3Zf&?4I0_q2Q|9HSQ##kJp+b zvPPwhw1-#1dBZo8R%LB#bK$$^4MC$iT;j%3MRC)@^F=|Jt({ZZt4FtL273Iqr-7H* zntMLaeZuqE=gk>CUUxSncN`yIJbiq;zIy+kfBX3G;pY!1NWzB^A0JzDC< zCcL>Laaj(Z)O_z~O3kWyTEfFS&{J8l=Qd z4=BT-fVs3>&4S;{3l;B_y06Sv6*@-)tQTqQLCR4|i_+4C!S#*+xT@qsk-2HzNdpK@ zFc5KwL5pxY_B3rN)x{7I4)u}uDQ7-aK-X(6ct!fs5v#9}q}tomi$GHYN5l8&@iH`6 zGTeTq-123v2W=R7|wx9}7!@0t8JaBARtQr@^M>)45OgfyLJ=Yw|=cpFaEuDVlbE^MoHgJ>8ve)Ba?e3~ry^{`mII^mq!Enn^ht zcGlpK=pfio^HqQK!yKi*DHoD=cztO-4O65ypN~4vzj(P&SyM@{Qmw8nROaVuvOIO! zxY%D$PtwNgrQPA}NYSfyGW+MZLZqMce>oPAoKD}o`|u9jsPt!%I=M=3q^iHAroMmo z{^O6gJ#NR<#phqWSZnW9zWi4Cgr=_}TZH3RB~-Ro;UaI$|KZW zxXzoW_xGcnmCD-YMx_D=bf_1Up0@{s>!)A;`UzUm;7a=2`1YqyZ_f5uoPC(k(~s{j zr(C6Pf4l?q1%DGOIxTR5^)Xss;)X)QqY#Sz6v^xLt#oRp*&6+$$@$){N{Zp|TGV!OI(+>2 zPFoN_ZQFaBufKU#>8OY~xrEFs@*+;&P#$o+BgOfTU%Xm;E#)b_A9p)icF~1S`Z{xh zOy1TzqOM2C>gs%DPsl?*hcmc_j;~_KW1Xr>UbaZ|{iURH_&8hrAU@wbn%nT=!{7e= z_WlkS_Ri|7@4kMP4Tj+lPDwT=Wq-K|Rc4tRze-@p#esLxOQj(JB38NZ?3qqDYl7m|Drryu{MH!RjmaA{DLWN7d|M)mMIlcVp(<6I! z+~1u0;`e{lpe&sR#JL-5azbj0qOvW0uAVRJ8M2}^Hr#pO3S;>#y`9GD-1pC3YoKv_ z$Q0GxK#KFRa;5i=w}UkCP_Mt!7pvzaWX@9Q)B0D)l1kp`vX4a#G@_rp`SI=j)%a@I z0Dd<&|KfXy$;{B^cC-5W`K#BJI=sT=*E)&SInsqO+Z{kAhpG18t$h2{7hf-I9bMi% z-9P>G;RYtRE;5%7R1lr@fM{=SpK954b2nAyuLb-uZxGiY(Zoe?4n^x6!rBNFrK2D< ztM>BSKYsbezkm5kM=F9rDpGBsmO2f)yT(t`Xu&Vi3qdQxk(vbQgv}S=IG5ITrthB~ zpFZg*E%yq%!-(r}Par}BSQlWeW*`{I1QGux@L}0V+h&BEOgXyJhgIb}lrkVtaNNb2 z0`#RQ07$%^8jBU#2{jGzkQq;k+L55ct(QV7Y()Bqor_%gj^YLuy z$+-`BLczAodyYr?0a(TRH`lrrK+HK9!)y)ajns7d24DmtUmA3brAR2su|Fy!;FvmN zTn?bT?h~pwQ*hQX#AhxQRVG{Bd99q1YRWsx4pTlkOtoc z#0O1T%DWmUo-TmVM^YseFv`?3$~25iI%%WY3WC6?{1u7j34osi_!`JqRg4a0a&R`e zB|j%gyxd-w0vdD**)i^)8Z0cfac^ z1top(4HpOx86p9gPzRt+NRE;ui(?h_yjdVQ&LOiLowI^jq6QS5R4 zR0ZMcVbj432CO(rCE8IJZz$y~i&p&seBmvKa)ZlZ!h|{2UobbPZXPu;GAc zr}kf|ro)0r*xQGys^}<#ecpU_CTaN-CuXnhk110LhvlQGqC-B&Kbn!Q+U@%kPON;t0_vU|-kei}}O{MOTzN zJh*v!qf?;#?~=;Pc}j`U$<<9W0q8m!y!2&C89@*^BwV{NXdcatO^9K9Q;=G;Qnhll z4zMX4Q_LCY6MTZYHpCx|KcR-8mat1imZ6^nwcLDlRv2k}p#_O_SUD0>iviSej&mc+ zU}ZaC1qvDiDak7q~Hb9y#;`ZY#_OHI7=PI2DE*9rHjD6$PGvi zkSmE<%lS!{Feh62gakS!j;0;g+G3F{mO~naR1H0V0SRH%`adY9mKvmuP#rhmd)ELA z9RwrGWWXeB@?LAZ(1%qa3z`Wj@3$uCgY`p<+}3snbd85(HaQ#O?mf^Vk|~!T+j`ri32`~Dg}Gcj)d^6f%HIDpIxy6y7Nd^lgWiT*@ytI zuoV;`T}`s{E{&5p1$G>GKu50c5ma&L0>c=NAigYkl?TkuvXk7@@YyfyW3O0hJQL1|Gzt+8$xy$*o@)bvqF z&0VTV=l~A0L?gx;dedd&Kv_5QR*`|Yh|CHamV?5BYM>U%sVF2SMT|X~)04g#JEj4$ zhmi-vXmHXOjZwTJF?Ay^OXu%a^JcZd;0VXY&kl&rt{rgRoq#9k1VR%Qa)4N*8z(PE(l#|( zZgHU2beKw21$0Mv?a^m#g-7#mfnWiGuAOcp-H+wBOD<1pHzXT;Iq-69XiE%8faki6 zRvkCZfwU zyrKl?PK5mne+*Oh@Mj)|q6JpS@T|1IF zkQQ2f5HJp}Ql7&2@Bu(I;8*VH;Sk_pJrT8Jnw>J^&~G5m^Rob^Zmv;@(3yuZ&W%^n z3vI353dhhf%ZXr;iZG7!tO)2C3eXCPl_Mdt&Ci;vi8gXi+h_KK+%&xc35HY!(bC${tECr;d&-rgRGL)C7_0B+XaazT z>Jz9s#}y$N0e-E18pnV(i1i^zE){SITA2`XSfCtBl7I+Fk&xl}f>Ho$p^uOKDHx9& zhe2T^v%z;k#|B5vHAI^rANK>oF9#P*Wnq%;%w6V`TO{A=jAhvo ze)Dp?ZJ+7dZ;v70xG|%F7CPiPAeW%bCU*l>_%}eYoDVTyR6$|4ytml|=7Qra6Pkbw zKDDS*pdeA1>7Ejbr@k`k^uCszkoP z7qeLSn5DJ5gdRDA%?DmC8&FtA+J1Tr=EX|3ci54FoD<6eDX{2+;a&70AY-w0yk7(q zhHd{@UfP>tM*|pyI@=mFOc=UUhZ<;m;^sxy*jw(k6O^>VCd2LvQWX<2@AHHQHOLzpq$(R0JRt8b0G$>3W4^N}1 ztc|giVcIUwhSrx-7RQZLvu5FXHpYm_yG$cbK?Pb@$S$DuN6FF%#p8@8=5fAHNUNK& z&L}AKp_a0c0Ge_K$1CXl*#VNpV^M|;A{tE@rwgcH7>O?%GGcM`5JHfS6}|BjV}nFG z&WP0odz8e&CeHX~qP39P)F(CO0TrC-FtKTEO*|H?T)X5?d46PD#ICACLkVML@MRQ` z*YZnbct``c1%ifjGexu$p>7ilgac}TMdYRZya07x7!-+T1AG$!s5>yjOeovy6xzl- zUxij^)Pu6Ln0g@d{2JJ?Y)p0wjA7Vgm`~Q$(J#V*A*U>a1f@%{3UY6Q3MnR3m=k0G z3=I+d;I<)qBlb~98}Vl#ZbX*2EU&!jL8NuKpMg=SEkVdRD~HrWHNH{4U(}j1w5aMR zsyyA=pc4d9l&~11k*hBBF;<23#yG_T9FzzN6LiC{6*EjtB+~Mnj3(=3(COcYO<6Mw zny>m|#^;%ia3UZ1cE&ZMeD{j37@}lgVBDx8gDDTnVGZ+}{aV%~BT({dk7t^e!x`>r zzEK7wZ{rxwM2>FOJ@<*C5;X~PEc@c$FpHeb$hhQU^9K=H6bQ^Z%q7xA*{d@Vc2DHd z(R0$8=-jlz573gwdT!{goEm%P@R_S~Dqz-7O-FmRUr{QtBEr5be4cJZR+H2SZJ4A! zEoif_hqC+@iBriNIX7X?8If6LBXYvB0k{v}4q{Y{#+DDIMEA;BVFOTZ6%j_t6a1Do z=ggc#8{xVBaT`21i5Jt4_uz0#+SRXMrI|7jx z9ux0gp}5)EcDHEBd3+`m(l3M*Z$Z&b%Hyzd0HXd2NrLf@7%AeYEKH$CgUNoHe@Mh} z%XBPYj<7v3moR!yo>8T5m?iP+lN_e9l3@>aEnjnrV#$;fmJwoVAp@MzrhUGv0cZAM zVxM=S@QTm?K20U2dF2piLRrf)z_JYveLz{QMF=9x;X#EHSip?Iw+l1NWnMnDGS18v z+t!*ALwGZu6hbUArHGWWBSudI#YT%A6*Cdln3>yz45A?*fiMcn1@$K<)HI?~<)>JM z2*VsO5nP>)VV*v5pJ+7EGxB*ERbjW`UNP#b!3e+Z*A>^1xV+;vu`5A>QWH_VutZ7!a zD7aC=?13X^c_{diskHnEP8y?&%$>8u4a^QXU`$2PDpXknMOnV+d*$=O4Nc5GhB}HrbeKyj_Nl26KJbN)AGBc0L5yCd#;8R5_F5ne@^nJrcXb6!?GL~j7*Z;Q*+e7`JB)+Q@#-Lm(l z8BSXCgsg^_1t?4*%ahx37R|OQo0doT zq@3rOAc#elCufCncdwa*<&m$%lz(KG){IICVhEw}Si`QY=T>|`F2*KAb({4KZ3W2|b{IomtCkMo+P34NoCyq7PO z8{}Tu^P<^iL-KxZQ67<<`R7V~elw2*j0xv}AA0^yt<8fHO+c{faWwmRO;&t+JjA6(`&n_!uxM;6T}BsSxWR>3b8JU?Vy z<`?qInDgA6b*qW zl`*@OiGH47Ijf&9DK>byrd(Di zayF`RiEkND7R{2QR1YIaas=#$$7fLt#YpU4Hez<$|62NTgR<6sDtqYPc&Yz?N^=`&X=!*Ef^!$su;X3X{`YC&e>L>8`^ z&;6azXMXW21m{ZME7ynkjG*jhHYCq72;aj)XEV;X(IX;rdJ4^0t&F;SkkRG~*06lt zug*&35y~oG%NR1Oe68$YS;xGY$s3UWza%{C&iO8 z-rOKViYixVXm))*%W~w~_%xCTyB{PT3H;W{* z39-Vl%g{-=L%HkhF1cZD^7-E3aRx`CmmTr#a4cF@Ijghh8$fwrxm6iM*)`M3NiKW= zdCk<0BB;s;iVj;AG!JwGw<*6`!MrjKuR=veU;#oBvt7ttKd-@T)3W8EkX%p}Bopw^ z3@}TG#*L_*o_Ji*aZBpcp&n2 zA+@y!Z(pX7QiY}7Q?u`6UxXvj5A#!a&QU>8;)H%$U3>6v6vnrHmK&|w%?)RfT2Y)vzO*%Qi> zvaorag>ux(!uU8l=Iez_J)`KmAvnx0A7$-al_hq!T%Ms=2wHAHjEeZN&&=o?){MJ+ z+ZtpQ{<$exNp{TVohy53Y9ZuoUG5z^n%y7E$h+C<*}W1Z^q>qVG!bE(EAw>fby4u+ zF!JmyQoa)Z!R&4^#b@t_!JS$^#pIP-xX(@z&IC4C5-tv2nrrT4u!=wK(=-G9jj~<5#4_X-# zQb_y0>|a^P!jTKrn|0JUGKWKBc4Eqy|6x<)oRt7XGFEILPqRPqs)gjrj`-KuXBT8z z#WhZ&o2}w(*+N9&Fy&b`*D@8Y(-T8RZj`mpLdPQg_wEQva0!ugJGc!dPxm`pG; z6jdze!fW#B=cDXaan@)SPaFDFE|O!z7^T z>)K%^d%46fFn$a#^FT=*V6`432l4Xw1&bfdF8Ca{&>uo{GPlXX+JqG2& zD8D&Of)fe-(&SM9v_Pv=79jVujYbyNkr8G3D8a3=YK7r>*C@g-t;$69%l+F#3 zg~BA2=OKBpNtB2q zE}x-=jB{Gbj5C7SBLX)uYc@K=>G1VA(dAZE=UHK3G7qu%C zm2(!CbaE2_n&Q?8B?>!0mlIWwxWKc#GTEHU*%F5>WgMQ8-9i*mTHHzcjS#;Z(W~;V zIGBVFfhfJb5*EsxK5xzEnOJ>iB3wCJLo9~LNG3~fMZ_ZO4i`!OhiG2JN(v`KVj-X` zN0u)u7#0{&lMh3h=%SEU5$?11J>W1Am12*DE+PgUjKa=x0y6@PG4DEzxjQ*zRc(RX zGy-q-ee&HxCkG>b)zDZj%=t8eLIP!MdEb8qilaDH2|1O7QL7VSP#APfo{(M4=%f+l zu!R@qPNBC%qm$d=l@k{)aRNr}Xpyorae!pPJoqMN(QTTGt%hrj%67UcD^g~VNf>U3 zr38ti;US<%4Dd|GWQdWo<;VuZb?^jhbH9Nkb1vJhm6GsPC3ZA`An(iAqEohd3_j!m9x zk+Sx3F$%>+KzL!wQQ0%W5KSSma-Ks#Szoi5ZC*L0VNn^5x55x}vWpUh(vyU4?aFf7 z@+hzwa_F&)FTB9UNT(9Aa|R`VmJ~P(Sr~)SCmJWi5LJs|dWwZImpm(?B}-R+vo|>c zv-3eYk{?peptTPp3YWEj$U?N9P__M8fU?jTLar>t%*$p|PNT4xO^J7B8T|3gVg%>h zL~Icg;quu#3xbn4g}4anovjVxiLh{&Y_KK5xDeUr!TTU&Q8K;?lZ#k1qAZ}SrmPWu zlsiYC4R?x$?O~BlA^1F`P-)n2X2>M)4dM%XaVra5&MZbK;V4%*h@`&bUWh-B%kVO< z@J$I9(Fe+1?TYOvCoJ}$^)Z7|P-NxI*vMU8w5eQRRH0tu%J!H=WK)!e+#w54)<3d2 z=hGN)%$z^(m%YiPbDp*Pq+EqxIBNFOTV7=~0NZ$u-OD6GZdNCc&f?}7R;@%RF$mj* zc*9tHj^35H9pQyZ%gnBom%L!}3b|Y70*9To7bgy^S@t^oGeP7cPH8pXLR;`0jF|(m}DRfjw7|CsO-qRO2uoWOmXrig*MqfG3ny`GzbVC zUfHQo{&5s$y^gb>GC2SP$lwXL3mw}Q4=J0GUB=s_1W8=AypgP0TFT>@i5Sz%g3G{@ z2SrkbLM6IM+n2rQY$Q9|u<(Rv(0M8l+M1S)GV46JEsHa(2+b7FN(8rL zn^3gVW7LuA5s3b?ulxHBgPjVg>5<%$V6$$GoxySsB3zO-T%=+uZmVsPzNkfZ_$um- zD$4$`P?=rVXA&&a-PRYf8(~BH@@^C`M4M3oV0Xaf$Vfpgrjwcsq#?E1_t8gFSCs9v z50cs*CLobk``RO@Y4S#RVBj*t%uM#34Jo`x4lgTJ$w&^FBvxr;+P^x*QG7Eh`A&ds zHOnbCP{SN9QXZXi2-rfFZj?6nbI?=JLi3Sl7aB1~RHwjC#w$W_UL#bZ0A;VqC~J%# z94B!*>5E1r)wC#=ku8}*#;JD4^|mCUgTt>-M{eNBKKE5EIB988kV?jV_=GhKKOm-} z{y|EY%^CIt(;ZU@>{Np6-75M*)^RgC1jFE6dEs#rf^s9M|BuZK)6TK^l@@AGRQm)WsxZs zKUYe+v4k$m`X@9I?iNBuQBgZ$YNSvh=dZk9j=TjWUBbg~(g;E~Dt?VTq?{7-krl0m z+==&?XjAAb$stw>m443F$j;^HW%~Qi@ubB@#-BLzE@Ng^y*iW~-&PD=U_xMxQXJ zXa?4wIYri9cO=vL3mQkFF6xZ5+$ zJj*|kV&OB92W3oI^nBnqDoZ(~iP+CXg26h@mN9C9ossR^Qpl5jW;Vx0Vy7u$j85*1 z;Fd%ZwJIBn8x~?q@{=>pjZ3b1Sebsd!Q*U!Ou86yRtxhlxjRIs=ev<%lN&*7AW&(h23=G(*peDm$h-deeJnR2F$V(^G8BO1v1Wc`as#SB8JwmJSM zi(vVEB{>tJOIt&xM55((`ADL0TmTrZ-6>j^GK=_u><(U^f*%CuKw82)$YGz6myL-d zBh?f>u?aZ`*@C2EYOR7)^K2vc97O0T*%PbdV`LCMh1AtgY5EbK6U|5WcTz8w0z!|p zMx6Ln^hIArT#kZIVyzfap$yNURroB2s~h3vMo8Q}NN+TY9EfH+8D$y}vlEa-#?2gI zuE6+0*;+a@*fnHfFJjCkXEo}K9gTR)+FNQTi9(v^lP3mk2}qD)0%2+htt3zPPoS9b z-3`ucf|(&Sy~Yc}79w!c4a`l6aRy1Sud+z0jlu&{ViZ~{=PAU@#>k5EIk|n=wPY8T z#mZQ+cB*PiNs!+(WiSt}yyIk}Mt`+(?ow2SqAz){Q){Ke&_e=D@IfY?#@jCO2x@hybEL}a2MROU_ho5it18P0-t5m{V%p)&*# z8&Ss{&x!2K$jk0Kkr)77P*hDaKx1qd9 z1`C}HD}0FLDYyZt3nXpqviVsd%Zy{icT42u8co{6gp1OIaB^-7^-9Uix>%>Ie%W%A zqaAT12O=%y3`A9Wn!8tFvaxMuVRf~7+U-~}g-~JVh49N3#29cJYp;!1)-6ApsdJo@ z!$ydXnTkDKlHJeDy(u{vlho`d&$7}nE?w+bdNgnyW_|ppk;O)9A?#~WkyTD9p=fuK z=!tloHq0PKnBAf_SgRy!sdM5xa{r>r*&u|IlQmloL!)!BJsgYZTICgCTYl*n39eM; zkzGJt%B4yQKW+sCOUANwJ{fEA!i{5c1q?f$3+g*LS130&4C6RFD8dIXj!l;7nk{mP zW*BwITP9IVx~xqG7*i9fns3@7Xh0lf3qh5J{>Ytgy>{)aa zYf=7|BW@Y|W>XA`icVjN<>j!sKCIrV;YSuHq#CgpDzLCPGg7o~O0uxIs18O)4MqGh z9tvxwj=7Fjz~G54i00gh(=lnNhE+swB(+0gD`JwC9DF|@xa2e@mmS|a$JkJm4f}l5 zuwn#qIj43ntbK1HT>w^}QMpS3Stne_dCp;LHXmbW-Q|TglOZyDeL)wnuA05Yn zP)|zqSbB&_E=$>i1tp~d7Le$hP6Qy_qS+vH1Pc4#gcOD9QjZb_<8y`ZksAX|vo*}X zEDY6UnwXMxX3>b7Vn_M2eZeB*An8XnXzR+ktA7F7rsz&nX^o*$R!}zJ2NO}>8oNXN zX1ai>rzSPxAXj2#*3sK^tkXpzrwg+nBl=3nbtxoS8MI6-TptN2{HsIJ*wB^;dB>xb zAXgies=~)SHJyP|5>U0Z)kjoKxz=yKVm962Ndg8P9R_42Y&@a5RYFh0ZJZI28m5#}>$DLcWV{GTa9l zdI=%f#<+jtX@fmUbVayAqg725I`-xKOA=C2Pr?bJBiiY(>>P&T&PxT6@|jW=h@D_VXi8o9Uq<9Mnu^d+k|tt zW6mz?H%^K$8r6>*z~3_DqMF5z;Ed!W8e~YtLZIMicn+qgV-tD+hjF7olg54``Qv2B zLox%3P*+b)cn9_-H?lOm@hMZM-8e&Of#wyB#hmt(afaE_dF)mm84(!oFAibnk`HgG2f3ou-r-#9pr|RIK{qh20`Mp+@Qypnnm>dXqZ}l#KeuB zVK=BgAV{QcGdPd~1t`z}4i_5c)es&aG_o_~XY}3J_eGgireR?25gK4(S_{-?o?)^8 zV>_H!PK3#`KnxeeFbaq$&CH@dco>oj37~HZ3_Q=XRUobEHmq)}R`9RclN7Z_q_n?Xt!bobyqEIxR=3#R@e8>_7+BF)gQyaRDpcLz|9~awo5P9dmUc1VdEe48b4=}CK!Gp#{-SCPZ2XIvjxvuYZW9% zLXadU``fCcx7PW3{R)6dgbR+hyM)WI$$Ncm3t5Ws39=8c#dxMcoPcE1J(Hv&UHLA< z$Xq~@x-U;AOqwA=hZUuZ3W>-+jt$1~92<5Y3;|sVh71-Q*$NLEG-ys_8*Fnl;J&dr zm^3UXM2Y$5?i-pdXtD`QrkLkBbLr(2b2EB{c1oxlfW>%fAEFJ#yL}c{ORCF3q@u5! z9J>tnDF#~L4ZwoX-yuY@?d*hEGh4#W!m;uPmV8S~E3V(LNSw?LVJL)5UJVF+js==X zQEIrna#@;70;v?ZXn7-j>);3|qepC|?%A{BH4~F`nqpJXury%uFx1KnR+EHX&|17> za@0oO%GilGtk@ttBU*!Aqa=BWZ5Bp>i&J!c;j+Ftu7pN({hF|O~wI)(468j4s)R;n;G)6 z=EMptxolP#HWrNUan$R|n(AD>Z0lnuOal95vBNZTHZ)dTThV{sQ6moGBVg5dbcrqm zxZ()k4WBQs)Q-j?AWXuWQotRlAD>Ki&kIwtaTx_>8TE}vBmu$bgL%cJQAB~QpcqC$ z<%y!GHF1q2U~ZNJ-KTMv?Q^P%HC^yANAPPwN$XEzNAh5EA z#qx<1R5Pw~Swa?3vtqp(p96{tyKROuF|3E2DOs5m@pDa?9STG>p-xPwsNYzBs$I_m z`-fc+d{(s0zhC$R+asZ$$QpZ;^0(qIp}TOjQ<;$xHW*vfgE)f%sg26afdLPcZ|6hs<(7f*NC z`<-YA79sHy1e|7H0nI>?#?CXs9>54219+tz5jEkoT`C7Fr6?ylc{r<@p2p>w zb&vBdO0zSKzk&PbX2=SLsyMR(Hbf<$qf%7BfI(b}{4W?IdpfBQJ2(ZEVFz2t;ej(X zIy*$7QTv@z1_5j90*28El%nt>bVnI52HqC(5Ru1NN&3iHbk~AHIa^lzdmW}W3sUed z)5Rl0x>h9h!9dwqB?S?tz(-&r3B0l<6O$ybG4vuRO>brvX>$y*^6YdNyjV)43uppX z&787-0EJ@LMay%5k0J8MOUVHT7Z|yioi9z&|cnk2A&1y`?s}QTSy{O1sfhiv-2!) zJ|K+{6*YrP3Z?F}#MQ7(RI0nI_;Z4$3;zs+K0zA_k4+R;F zDsB(y@bDW2EVC4Bo3t2aVU6JPM3Coicun{{F6q1y3KC%wRfPmw9L{ubMlN_(r&kM5 zou^XH4=FG$k%=yhCd#ZCX#Qo1!qr>g=%bLDQask7JI5X0g1@s2SM#f;m8pPgMu@^e&y z2#f|8x5U{%TV)3z`h>glFKVNPoJ>Dvpx-;N8ZBiPs3{(WquIcdpj~N5S#R+c29?gX z?F6d}Z?vCUa1<+?M$S*aqq8D}E}fIYXX3xrpxS0QB}4>-4|abLys+CqPLeQa&Z=qJ zBWHkG9hJ7-X#s?5>>P3#@VTGC{5%xpt*52N2JZr3Q4PZZ37e|EE|xBAeQRr_0u7al z8~Ac3J1n-uO@JJLI~fg&7b51zE|#bPdNnX;Oic$yx7;IOj#2n#nVN?HsNAW%9Q8OI zlU*3Ha5%}II85T8pm0S>IP76k!0ctt5aYPNVX<8;y5r9RJuO4@hGU*qz}O?~K~4>) zi^C!sYXHDtC=>a938S~iG#<7-^$@jFvLl8`ptw4Z4uwFI&)mj91AYlG6dopt4n8r5 zj%qSfO05G-{7i>G&&i?7pe8zNc0ZmazDf{FX@5%bWal9IolNG`K6+rJZgeO@8(otx zC&!)caXJo@rG}2@b=|TX^r#%wgTQZT%W`nsk1@^g3e$3KSdp}(ZT#4=$EXd**WzMI zz5y|?TSAiiGG(e7H!v6tCZF$f%##a3sC!$RJ0b#Pxb?-1$pn5AmZUx8&q(a<5R_u4 zxlYl@al;J5)~zST5Zu*Wy-sxX0x${dHNh|1cKq6LSnN3w+lCakpJNdp8`o86kg`nx z9mFFFSni;xW0pEBv!&8P|?G@s)f4#wab-Jp4WA2P-R92u=_W5F*?sX;6C_b=aIRDY8Px z=IBNe;o{tI;u9Q7&_WXIda*KQw1CvI)SueAW~eFmaf=bU(dG)O0v4)%8e13RHsAhAa5 z(23Gbofc1P)-R~PTTky72(s{xVO9$7CDpsxKuNuL@aa(K698J#0@axa3{noz#pXndrjWU(m`C4WL9iu~R`~sja7}f|08;43x9y*EMjzclyMZI_taZPIwv1C}N$Ms~IUUjh@ z0V?UlOs`HK7Wd-%b7CWFM5;X2zA}yp%IuFdjK?`-O);X1IROZgvD7V@Thy1Z3u*&0 zaq{};3VQYw~>qP<51{PUJlW^>1W$lT{U|=zM>foF8yg-*)m5om2kJ#R@ zts{uRTCx?ZTijcGhR2rd$FeEzoJ|P|g_o~r3mrERW^vBUP3{Tr6*(c~8@;a?UKedA zMrm?6qVt1d--{m9X*R%nZ(~9*pIaIh&<@T{;22~5*`l0s;RsU~>f@s=Em%vG)cth7 zWx52Jn7ku4BBrBE)BQraxTfym@r1{0l3>Mk8WR?}D!YofOxhkP!KWAiJc~`VqcP*7 zyWzWiVB=FwGaS(v);b>qdc7p_b11SEv`v{p%d~^E9J_;7K>Bgy0H>uI@93_Oe4aQ0 zMe;PR2fE$c(vycxLVdv0%~mt}$TB()YYpK<-o$xJB@7a?wdB6U#`P^6Be6pUOdq|M zEEDF+#q<=XMcg$fQ@c4DC1ZQ%5Vii>NsKDrmF1}f9I>eOg zdb16Ac65Y`^-tN)dpottT4TMou`YNU?M^#;lN)LnJmy$B7)}RqO6u5fFr4VchP%_Z zosyM?4WxFte;(CwjAUV4|9$wSnJmd|eB#vlsEU zTU*`fpAY-G@vW@a^+i5$r+vLI#?w;-x5wO|C5OGxLH2Rr4#yIM-L1)=-rh!Kab^2h zv-a9XOM{jx&BM6d`lGAy<%D3^KLva%At7b}ozZQMCDPIav1n>uZ?|4sTGoc4S@}VG z>J9d0cC|Z%f6Gb2{v2qcczia!yCEf*pN`78HrE&qMG#Ih*3>F(5qevzRYcBA_0 z+1z?GUfs>kFYd3Sk)4gN^hBW$;?6f?ldUdmaEPnf*UmAsu-9H+SyrB-iHRqHZ)!vX**!aqGtjkTY6qNJlV_4Soinc`Blw-B>N7qrry4ZR=_HOrh_ zOz$q40Kx$pzcJGz?nvU}UgF=4t&Yf$y+U7m8*9~d-E-4@q|wpMXUHwb6F$DtMJS%& z^UKkp)3LtMKBANNqhmy(VgZfS>eBLNWx2_gq+CbvP}hl*xYhN~q-XE84@aZPKmAyYoClMqvx|-g}yhxka z9VFY@Z1whBo;IJIWKdD`w2ZVC;J)PnnlN=`x1-a+Fg-2_vGHUO?HbD}gr+6&WPC*R zcGxvoX{}QSd7`k{txa;gsRPA{G@MJVBIsC7DQxo79$jspF5@;hkzV(;s%AJGPY6Qi z7z|U=N2rY!hOugx85f1XBxrT+CvnpK(+PxF>*BBD9Uf#x~yl3sfWEVTn2;8 z-Fk$%U}dWK5T{18x#>5MN9;N{TBXmmnI~?^+JJCEgYt?d}iGS$?}5 zpRwkX`6sNSH=zsDR{5>Y?L$55b&L{uDZS#_jhcpXYIA(V)Uz8}xW;jbyW?`m z(>dQinNG=3(AIZ1%q*sqg^c$>@-exi4Y%%dv<7`=b&lrAOIHKy7OSHahA<;LqJY$V zJB5cy^u=AxMRy8as5X?AXphtGwKhAcSV-M`|Lojaur~-5D=-p5YIX1<0c0yOx|Hu^ zK=IpA6^`v?#>=a}e`o@G^)wrx*Cg{G-{(9&KGGP<_q6X>^Eke|wN)Da`YNj`oky;x z1HD*iNcOv}3yt~UivdxOv*BCD4sWyH84CxEXT#Ar$BFW zGkSki7H{dJqmLJdQ8Z`bE@m-ep>wn9i<<+t!M};k?w)~DEV%0!PvYUcL%R*VRW>?! z4?l31o*xLtb3K(qW+a1%7cb;cmj#@O8kasaN?yeKg=Mw#qvq|_5D$MIyCC5oS{q|> zcZ=fH5IPCj4Idt#p5BZ_xxkfk0&VMKv%cO;hne*%Z=_-9B?sRfwXxe{?y)F4`x;V{ zl0@8Kba6A)wq|%vyXzj=8-a3nw6`mDU}ASVrj2-e zDcI7kP3)7nB3e&*jYRLxFOHiO9(@mMjqZU?yTMz=sJIlI{IkQI7Sao?icrcSuvZ#Z z2_Iu+&Qx1xQ&Wy5LOrA-Suo)-%$cKejqSgxDP=OXPLIwfn!H?GX~HcmY z^O(@-_J;@7s^oNRY^&-bE_K>^eQ#I>b|yqup&aRx9g{o+sOq zWb#P{un8!UjX?d|rx?&*e3_IpW# zLKtX;@xkN^S?%tqQ&TD>?Ukj1PS9e>V6-VZlqPj5O>BgQF?LNP&aSVn$0%zm{&k_j z6aKWnI(xr92+-aPvJMmz4K z_U2Zrv9hwfP^nTNnN3Kan{pzAaCybFOUIlJxf43lQR?t;czJattt{@3sEArUk%rAZ z3V=9X!X2@)+5UYp5Fcr8t~I(zagaM-o@SB<(b41ZFny@(2uctvb?SFlt=E-z!`pi)bw(DV?BObT}n6f z_tw~UMMv=zIv7IS{D-9Ma6;b>;JcFbv#7_78X6COJe#Ju(9xOJ^>u25P|oRbr`|f& z?Oa?;f`a@(&Cc&Qaih0$FrA+A9Fft@U5tskBD-^|o}5!ESZkxcxu$U#EvPU-Ni|$g z-83XUJJ1H_XvmEu-;2SZYs4wg{$zl0f%JMXagA72yirX>hh%>E!vy4RS75cYMPd=F0QOLmY1VlPm)r(uLC$~a5W}GXzTmDQ%JZW zq~NS~Pp1==McQxk!5yE_MVfnuoeiB)WiOGB5}!Lgy|B`Yi59h|qX=aIbC*m(`6RzN zOZI7u!h~E;oNLXM1x@Q;>lCNA?m=%b4qs)OWopxFij!k1V&CYUPPMTavkM0Ud}O~x zX*z7KG~&^KH{$v*1>_VsLA7tspw^$^0c{oXgSs! z_zQo${ykhg_$+S>6OPBTCuXnNA5R6tI8wJaq*^BxhK|u#@ARdk$A??=%8j)q#xFjo zEKNXH&t=Z4# z4};<1&Ys&7gZ%egOd?We7t`yv*CUqTjuv@LU|9)%R&Bdiv-tlhj`AeqX z^5Wvk%37n3$NSDvS{>v594l-k1i9nX^PcpF*EbiMKw^5lGQeW9Bfy@q1FPfOa@&u+Na9Stt7Z%%Yd?E21#JIN7nmPo(2&$?S3 z9o8}q+U@Y-b~?Viyu81*R^$_fM;?9)rEfcl4UXJyeO2Ns{jRw-zp$e3*v3)~;C-^q z<^OQWmH0L{?d4E(x+HX4-{F`~kY|hEJkLJA&i#3N6rCJ3Hjq9q=&)tZgAcJ_xOdFd489tu~21Vm;xoFZpvrdu@R26s`aJ_ zs#}Oy#BJP5gF)>WHGvm1qZo-T?+6w2bbjJOt5p}P(Rfn*t)pSmC6x-rUnTlYM?1Zm zF#ghVDP>1z`to9OyXUuex8v(+ve#KNW-}djmzHarZK9yJKhjimd=>kRi}GmD-CAB) zUfEn;tuNP7rbl{hpQ$CF9#kvKIx=rkR8hwL zrgb?!tuHPvFE8mjSZC-Zs2vO2G*1Wd#x*+_-)=wd{Jy4*{o#leAb?9pl07jP-#v2t zTwGGY`9=3yJECTLZL-?--;BoB!_oNW>U>O$^E%q-md3u#bqWwBl{8aM+Py|HV0Skc z=>kosZ3oZV(vY_k-`5M?iLTsOQd_5C{`RBk-TUd_{NVT?{%j$Nv$Nr3dOf*jlcdh; zP}9z?hIpgf3)!|qT9)WB7Itvr82g#xm5d-R*Z@1U{5nfYX%1 zP!e8Z6STJL7%~SS<5%#p)9R#fKV6^{A8N2$v@m@xMawre4qdG-FY=Pr)+(DNC%?P7 z%yYzXk;X+VUe)@$3Nb||`W$A1i}7?|Yjg~~efRhVZ_*8JUzWo`N9I}VxnoWq1|8iK zFXJ!3on)5F8IjYo-HwgbSY4_tY0a*+l6mt{ts5G>Ct5T2E(7h=;_{kLXbq((Lrc`r z>HhKLf*N*td3Tj;wqyF)vFtSZ(?nN3v~e)Ta7pvCqs^*J-*pbWKz8i5c$Wtny9?Ou zZc7&$objhfv{+jv!M2;4gg4XJomFj9mDE7G5*x(3`Yj(5A)iAii zzxTyGr#Dw8r#JVv@2)t)68s(O(RQ-6bJ)|^{rrTJ+@ZF6%nH*tT(-r5a@L8olzkx+ z;hy>`H;h#G)F13vzR`e7byrlbx3Q$x?ZV=6qqVWbr>iTm%-$}~1J#XF=#($-9J!17 zjwTOpMoF+Z)kt;Bq!?b_J=_i$w@g{mhhBLg)L|Wn#H*{z0qSA{?Hq9h%8?Y^q2|<4SLYlDqUw`b+dPt^v&I4TON1A!TI>&1`C$uGZHUC zfftj5V{J>hpai5jyicZ=2xfF7fn^KB#qd&GBW59zwJ+3{#)v|?gM`?U>?y5KwLZ(QR>iUR}qYPjP#DGY3@~<94;W*|Vl+7aHsy^Xs%_jz8YsUEWSdlCfIc z_@V06QB~B^Q5iL@m_PkIK-2!y)Ozw!(}cqHQ9`!tnFMgQ*IQv~I!bSE zDV1tTk+Pc|;e*=7uP%@JA1M7y4_{ld0ZE!~3^yKYW}{{Z6M{ zB^Ba^sceO4w(#0tBT=V_8H+Wc*&|M@C2=294uJrk5ZXTU>wv!=nh{a+kPqKvq zT7f_y2E3wl05%*pBq>3!Sf0Y00jtYbSY<%chug;l)%0iWl0M@xZ2Se~T(TAEy|eaY zO!4Rhe-lszRTQd%2nD+Xgt(=LYXhQ2e$Y3&JIO>Uh9qQ!p~1o5BTck(tYq~8DF$*J zJSdz*JP9B~l;?X6yF4lP{Cq#RO>~1#OW=$WK>CWD1}Quu)t z^=hY~79Q$qR*u6kRGXljgn?AHiy9cN8s2X8Qr;{;TapX1s62PRqIwY3TlB%+4z~(f zKuUw^2a^#?$h9KT5%KZ-;#4|=!;jxU)Hwj>hHAr|qoAed^qx|mfPX4YszW^Lmog`qSGKdixlgGl zl}@FTkx+nV7>7b>dH_LLBNxOphq=t&Zb8rM23=R?A*bC=tI_S&TV>`Bkrcc_QE?lT zx+{$%O0gWCC3ebA`kaRQd85Fk@Qst(5# zpw4zPmdt;x7?fs~MugYoG@ z6~O5PmJfRT0pErvyLW&=+B`ZX11E&({#B<^Y~py;(9%dxp>xw~m&h4h7HWs_WQ^Ub zl{B}t8BYU#OKcPHk>xt?GzkH>h?6t>mpq!7$G+pJz*;=Hndf-I7cI&R6yx*xqw5Ok z#2rGYWHc5I>sf0Dn~6A3?OZ$&r;0;G7GUrBArH8wN_Ns3_gY{*hMgL)sI9Hc-gyHL z{XF7sW)19T_l-Y4%!sR(tUF4yBit3T*>8udCbh$N4r-#)si;)kGXBuxOKEn(5DcX2b) zk&w@uA;h7jO)zG}aa10z9pA6f0?b905RDdHz0@-9IWd zngBIVE>6($XgN}JDvTcF6M=;v-u$>6*yWkA@F>303GFopdxa8i=>?VXRM_K5Y#$UW z_5Og^yWKb~O&*7x&ag)x&L!y0R4OHCBUx6;m79lzAXJ%lNhP1C>8nyF)1)#ni6-S% zk12)gVfRWfUAJ2Vh^5UCkr#e_xn8;?201vW)Ov*+p&1IPO6?0jEPv9v8%dUq)7#n5 z`cjy}EonNU>C=m?JXPk}LH1-f-ZqPVjb?4epZHJEV}AOH(JmyacjP zyzbrIcdO0L)yZXdFt{DGC&iO0S+~>jc_!vh6Lp~;H^S%DZW~=#AQy}eM6i+c^7Qef zFPe%(bGQl=G>Q$hJf@>mZ?JVG2Cf_JYJGY)ZWhnW$5f+8Tvof|%Jrn*P;KrUCtwGs zExj3A5AE#ZyOpn${^p_Qptv*pg!{*b#cDRWgGL1tbDR#RVrxswzR;_0ehd&AoL-O6 zkhM;=Q7Iqt)Mu>m{_bV5P@CShy8T|`O!)%JzWIdLpW(I(oe`W>8r_cDm+G86-O5lO zqN{iR@|@GygSW{n@12*9Q-1$;fm{>yhFaxh>!fg)3q^zROw=Dw5yh4p<*WWpPZsWc zM-PCH#xgr+<>7QTXbcAZ>GXcsI6P`iMrvg#kwmMux;N8ti^9j%;TGKs8$bN`{rVb# zZ6*t-=lFzdC|Qrx@oqYkPXtjsMW!s5Pe@KBVxd4JzP{o0rLy2f_Ob_O*CoOj)NcN? zPO7ceDde__tXGx6eTcG+o^C}JF)S8wmTmxotdE3e+JzW(-q{r%d)_bW+?d;6UC z(HSD(U)WfEyXeWp*4EOra_?TY+r`7f^hV&QUcxCqJV<2E8skQxIh{0W{c#Oc zG`f}Z^Ln@5|M2;t(|LGoZRe;709DCl_Pe)tbt=Erb5Qe#fyE8qkAGTR_bt9&T3K6M z&s~(a$zny{u0+BsuUA5uz*^>P(7_ohp4BJsW|tV APCxRp7s_X@|A!K_v8O}dv? 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 WUpMw&U-iYi&p*DT;QY=1_WuER?^f;r diff --git a/programs/games/rstearth/resources/white_brick_8bpp.png b/programs/games/rstearth/resources/white_brick_8bpp.png deleted file mode 100644 index c4fe5afa3b97b60a95778c77e3130a1e14b164b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 908 zcmW+!F>6*q5S$ng2}VdO2n!+z79!ZHqeL_yA!v{k3i}f*v=bTa()bUAEyU8oLfZu! z(as_uSgc|p5+R*MiqG8~ym#*{dow#Tx4X4@Yjx%H3V_v(+v|6G=R7Bt`~B*}^L=0$ zTX(i^_OFf}9c}7ADSLg-H=hq^aDxnCNJH7c7(v1b5kVwT1RUm|!yR&jBOT>vJQFCm z8W3e3rm>9O+vQ$PiVQNzY5=GCRNX0OIMZ3q7HOJR7bS+6Vu`KXV$OR|!3busf^CQ8 zfO=BNNM^Eqnongn-$xMo75eV1N0rF8Zvm1{Z5*s%+*Wcdo7ykjxJ#(@E diff --git a/programs/games/rstearth/rstearth.asm b/programs/games/rstearth/rstearth.asm deleted file mode 100644 index 3931f3679b..0000000000 --- a/programs/games/rstearth/rstearth.asm +++ /dev/null @@ -1,343 +0,0 @@ -;***************************************************************************** -; Rusty Earth - for Kolibri OS -; Copyright (c) 2014, Marat Zakiyanov aka Mario79, aka Mario -; All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the distribution. -; * Neither the name of the nor the -; names of its contributors may be used to endorse or promote products -; derived from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY -; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -; DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;***************************************************************************** - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd START - dd IM_END - dd I_END - dd stacktop - dd bootparam - dd path -;----------------------------------------------------------------------------- -include 'lang.inc' -include '../../macros.inc' -include '../../proc32.inc' -;define __DEBUG__ 1 -;define __DEBUG_LEVEL__ 1 -;include '../../debug-fdo.inc' -include '../../develop/libraries/box_lib/load_lib.mac' -;include '../../develop/libraries/box_lib/trunk/box_lib.mac' -@use_library -;--------------------------------------------------------------------- -FONT_SIZE_X = 32 -FONT_REAL_SIZE_X = 32 -FONT_SIZE_Y = 32 -;--------------------------------------------------------------------- -LEVEL_MAP_SIZE_X = 10 -LEVEL_MAP_SIZE_Y = 10 -SPRITE_SIZE_X = 64 -SPRITE_SIZE_Y = 64 -;----------------------------------------------------------------------------- -ROUTE_UP = 1 -ROUTE_DOWN = 2 -ROUTE_LEFT = 3 -ROUTE_RIGHT = 4 -;----------------------------------------------------------------------------- -OBJECT_DEATH = 1 -OBJECT_SKELETON = 2 -OBJECT_IFRIT = 3 -OBJECT_BARRET = 4 -OBJECT_FINAL_MONSTER = 14 ; 0Eh -OBJECT_PROTAGONIST = 15 ; 0Fh -OBJECT_RED_BRICK = 16 ; 10h -OBJECT_WHITE_BRICK = 17 ; 11h -RED_BRICK_CRASH_1 = 0x80 -RED_BRICK_CRASH_2 = 0x81 -;----------------------------------------------------------------------------- -BASE_SMALL_ROCK = 0 -BASE_GRASS = 1 -BASE_LAVA = 2 -BASE_WATER = 3 -BASE_SAND = 4 -BASE_SNOW = 5 -;----------------------------------------------------------------------------- -TARGET_RANGE = 3 -;----------------------------------------------------------------------------- -START: - mcall 68,11 - mcall 66,1,1 - mcall 40,0x7 ;27 -;-------------------------------------- -load_libraries l_libs_start,end_l_libs - test eax,eax - jnz button.exit -;-------------------------------------- -; unpack deflate - mov eax,[unpack_DeflateUnpack2] - mov [deflate_unpack],eax -;-------------------------------------- - call load_and_convert_all_icons - - cmp [bootparam],dword 'NOSO' - je menu_still - - call load_all_sound_files - - mov eax,[background_music] - mov [wav_for_test],eax - mov ebx,eax - add ebx,1024 - mov [wav_for_test_end],ebx - call test_wav_file - - mov [music_flag],1 - mcall 51,1,snd_background_music_thread_start,snd_background_music_thread_stack - - mov [sounds_flag],1 - mcall 51,1,snd_kick_action_thread_start,snd_kick_action_thread_stack -;--------------------------------------------------------------------- -menu_still: - jmp main_menu_start -;--------------------------------------------------------------------- -show_game_stage: - mov esi,map_level_game_stage - call map_level_to_plan_level - call draw_window - mov eax,[level_counter] - inc eax - mov ebx,stage_text.1 - call decimal_string_2 - mov edx,stage_text - mov ebx,SPRITE_SIZE_X*3 shl 16 + SPRITE_SIZE_Y*5 - call draw_font - mcall 5,300 - ret -;--------------------------------------------------------------------- -show_game_win: - mov esi,map_level_game_stage - call map_level_to_plan_level - call draw_window - mov edx,game_win_text - mov ebx,SPRITE_SIZE_X*2 shl 16 + SPRITE_SIZE_Y*5 - call draw_font - mcall 5,1000 - ret -;--------------------------------------------------------------------- -death_of_protagonist_show: - mov esi,map_level_game_over - call map_level_to_plan_level - call draw_window - mov edx,protagonist_death_text - mov ebx,SPRITE_SIZE_X*2 shl 16 + SPRITE_SIZE_Y*5 - call draw_font - mcall 5,500 - jmp main_menu_start -;--------------------------------------------------------------------- -start_level_0: - xor eax,eax - mov [level_counter],eax -;--------------------------------------------------------------------- -start_level: - mov esi,[level_counter] - shl esi,2 - mov esi,[esi+map_level_pointer] - test esi,esi - jnz @f - - call show_game_win - jmp main_menu_start -;-------------------------------------- -@@: - call show_game_stage - mov eax,[stone_kick_sound] - mov [sounds_sample],eax -; xor eax,eax -; mov [level_counter],eax - mov [death_of_protagonist],0 - mov [protagonist_route],2 - mov [protagonist_position.x],4 - mov [protagonist_position.y],4 - - mov esi,[level_counter] - shl esi,2 - mov esi,[esi+map_level_pointer] -; mov esi,map_level_0 - call map_level_to_plan_level - call generate_objects_id - call copy_plan_level_to_plan_level_old -;--------------------------------------------------------------------- -red: - call draw_window -;--------------------------------------------------------------------- -still: -; mcall 10 - mcall 23,1 - - cmp eax,1 - je red - - cmp eax,2 - je key - - cmp eax,3 - je button - - call actions_for_all_cell - call show_tiles - call harvest_of_death - call show_tiles_one_iteration - cmp [death_of_protagonist],1 - je death_of_protagonist_show - - cmp [npc_alive],0 - jne @f - - inc byte [level_counter] - jmp start_level -;-------------------------------------- -@@: - mov eax,[protagonist_position.y] - imul eax,LEVEL_MAP_SIZE_X*4 - mov ebx,[protagonist_position.x] - shl ebx,2 - add eax,ebx - add eax,plan_level - mov eax,[eax] - cmp ah,OBJECT_PROTAGONIST - jne death_of_protagonist_show - - jmp still -;--------------------------------------------------------------------- -button: - mcall 17 - - cmp ah,1 - jne still -;-------------------------------------- -.exit: - mov eax,[N_error] -; DEBUGF 1, "N_error: %d\n",eax - test eax,eax - jz @f - - mcall 51,1,thread_start,thread_stack -;-------------------------------------- -@@: - mov [music_flag],2 - mov [sounds_flag],2 - mcall -1 -;--------------------------------------------------------------------- -draw_window: - mcall 12,1 - mcall 48,4 - mov ecx,100 shl 16 + 644 - add cx,ax - mcall 0,<100,649>,,0x74AABBCC,,title -; mcall 13,<0,640>,<0,640>,0xff0000 - mov [draw_all_level],1 -; call show_tiles - call show_tiles_one_iteration - mov [draw_all_level],0 -; mcall 4,<3,8>,0,message,message.size - mcall 12,2 - ret -;--------------------------------------------------------------------- -; 10- -; 室: -; AX - ᫮ -; EBX - ப -; 室: -; ப ᮤন ᫮, ⬥祭 0 -;------------------------------------------------------------------------------ -decimal_string_2: - push eax ebx ecx edx - xor ecx,ecx - mov [ebx],byte '0' - inc ebx -;-------------------------------------- -.p3: - xor edx,edx - push ebx - mov ebx,10 - div ebx - pop ebx - add edx,48 - push edx - inc ecx - cmp ax,0 - jne .p3 - - cmp ecx,1 - jbe .p4 - - mov ecx,2 - dec ebx -;-------------------------------------- -.p4: - pop edx - mov [ebx],dl - inc ebx - loop .p4 - pop edx ecx ebx eax - ret -;------------------------------------------------------------------------------ -;--------------------------------------------------------------------- -memory_free_error: - mov [N_error],3 - jmp button.exit -;--------------------------------------------------------------------- -memory_get_error: - mov [N_error],4 - jmp button.exit -;----------------------------------------------------------------------------- -include 'key.inc' -include 'show_tiles.inc' -include 'show_base.inc' -include 'show_object.inc' -include 'load.inc' -include 'icon_convert.inc' -include 'error_window.inc' -include 'actions.inc' -include 'actions_npc.inc' -include 'actions_protagonist.inc' -include 'actions_white_bricks.inc' -include 'random.inc' -include 'snd_api.inc' -include 'sound.inc' -include 'menu.inc' -include 'font.inc' -;--------------------------------------------------------------------- -if lang eq ru - include 'localization_rus.inc' -else - include 'localization_eng.inc' -end if -;--------------------------------------------------------------------- -include 'i_data.inc' -include 'levels.inc' -;--------------------------------------------------------------------- -IM_END: -;--------------------------------------------------------------------- -;include_debug_strings -;--------------------------------------------------------------------- -include 'u_data.inc' -;--------------------------------------------------------------------- -I_END: diff --git a/programs/games/rstearth/show_base.inc b/programs/games/rstearth/show_base.inc deleted file mode 100644 index ce6fd6f8f8..0000000000 --- a/programs/games/rstearth/show_base.inc +++ /dev/null @@ -1,49 +0,0 @@ -;--------------------------------------------------------------------- -;copy_base_24bpp: -; DEBUGF 1, "copy_base_24bpp\n" -; push ecx -; mov esi,[eax+28] ; RAW area -; add esi,eax -; add esi,ebp -; mov edi,buffer_area -; mov ecx,SPRITE_SIZE_X*SPRITE_SIZE_Y -; cld -;-------------------------------------- -;@@: -; lodsd -; and eax,0xffffff -; dec esi -; stosd -; dec ecx -; jnz @b -; -; pop ecx -; DEBUGF 1, "copy_base_24bpp end\n" -; ret -;--------------------------------------------------------------------- -copy_base_8bpp: -; DEBUGF 1, "copy_base_8bpp\n" - push ecx - mov esi,[eax+28] ; RAW area - add esi,eax - add esi,ebp - - mov ebp,[eax+20] ; RAW palette - add ebp,eax - mov edi,buffer_area - mov ecx,SPRITE_SIZE_X*SPRITE_SIZE_Y - cld -;-------------------------------------- -@@: - lodsb - movzx eax,al - shl eax,2 - mov eax,[eax+ebp] - stosd - dec ecx - jnz @b - - pop ecx -; DEBUGF 1, "copy_base_8bpp end\n" - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/show_object.inc b/programs/games/rstearth/show_object.inc deleted file mode 100644 index d1d112d724..0000000000 --- a/programs/games/rstearth/show_object.inc +++ /dev/null @@ -1,362 +0,0 @@ -;--------------------------------------------------------------------- -calculate_new_characters_offsets_and_sizes: - mov eax,[ecx] - shr eax,16 - and eax,0xff -;-------------------------------------- - cmp eax,ROUTE_UP - jne @f - - xor eax,eax - mov [characters_offset_y],eax - mov [characters_offset_x],eax - mov [buffer_offset_x],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [buffer_offset_y],eax - - mov eax,SPRITE_SIZE_Y - sub eax,[buffer_offset_y] - mov [characters_size_y],eax - - mov eax,SPRITE_SIZE_X - mov [characters_size_x],eax - jmp .ready -;-------------------------------------- -@@: - cmp eax,ROUTE_DOWN - jne @f - - xor eax,eax - mov [characters_offset_x],eax - mov [buffer_offset_y],eax - mov [buffer_offset_x],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [characters_offset_y],eax - - mov eax,SPRITE_SIZE_Y - sub eax,[characters_offset_y] - mov [characters_size_y],eax - - mov eax,SPRITE_SIZE_X - mov [characters_size_x],eax - jmp .ready -;-------------------------------------- -@@: - cmp eax,ROUTE_LEFT - jne @f - - xor eax,eax - mov [characters_offset_y],eax - mov [characters_offset_x],eax - mov [buffer_offset_y],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [buffer_offset_x],eax - - mov eax,SPRITE_SIZE_X - sub eax,[buffer_offset_x] - mov [characters_size_x],eax - - mov eax,SPRITE_SIZE_Y - mov [characters_size_y],eax - jmp .ready -;-------------------------------------- -@@: - xor eax,eax - mov [characters_offset_y],eax - mov [buffer_offset_y],eax - mov [buffer_offset_x],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [characters_offset_x],eax - - mov eax,SPRITE_SIZE_X - sub eax,[characters_offset_x] - mov [characters_size_x],eax - - mov eax,SPRITE_SIZE_Y - mov [characters_size_y],eax -;-------------------------------------- -.ready: - ret -;--------------------------------------------------------------------- -calculate_old_characters_offsets_and_sizes: - mov eax,[ecx] - shr eax,16 - and eax,0xff -;-------------------------------------- - cmp eax,ROUTE_UP - jne @f - - xor eax,eax - mov [characters_offset_x],eax - mov [buffer_offset_y],eax - mov [buffer_offset_x],eax - - mov eax,SPRITE_SIZE_Y - sub eax,[show_tiles_iterations] - inc eax - mov [characters_offset_y],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [characters_size_y],eax - - mov eax,SPRITE_SIZE_X - mov [characters_size_x],eax - jmp .ready -;-------------------------------------- -@@: - cmp eax,ROUTE_DOWN - jne @f - - xor eax,eax - mov [characters_offset_x],eax - mov [characters_offset_y],eax - mov [buffer_offset_x],eax - - mov eax,SPRITE_SIZE_Y - sub eax,[show_tiles_iterations] - inc eax - mov [buffer_offset_y],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [characters_size_y],eax - - mov eax,SPRITE_SIZE_X - mov [characters_size_x],eax - jmp .ready -;-------------------------------------- -@@: - cmp eax,ROUTE_LEFT - jne @f - - xor eax,eax - mov [characters_offset_y],eax - mov [buffer_offset_y],eax - mov [buffer_offset_x],eax - - mov eax,SPRITE_SIZE_X - sub eax,[show_tiles_iterations] - inc eax - mov [characters_offset_x],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [characters_size_x],eax - - mov eax,SPRITE_SIZE_Y - mov [characters_size_y],eax - jmp .ready -;-------------------------------------- -@@: - xor eax,eax - mov [characters_offset_y],eax - mov [characters_offset_x],eax - mov [buffer_offset_y],eax - - mov eax,SPRITE_SIZE_X - sub eax,[show_tiles_iterations] - inc eax - mov [buffer_offset_x],eax - - mov eax,[show_tiles_iterations] - dec eax - mov [characters_size_x],eax - - mov eax,SPRITE_SIZE_Y - mov [characters_size_y],eax -;-------------------------------------- -.ready: - ret -;--------------------------------------------------------------------- -analize_and_copy_object: -; DEBUGF 1, "analize_and_copy_object\n" - pusha - mov ebp,[ecx] -; DEBUGF 1, "EBP: %x ECX: %x\n",ebp, ecx - shr ebp,8 - and ebp,0xff - test ebp,ebp - jz .no_characters - - cmp ebp,OBJECT_DEATH - jnz @f - - mov ebp,[ecx] - shr ebp,16 - and ebp,0xff - - mov eax,[npc_death_icons] - jmp .copy_characters_1 -;-------------------------------------- -@@: - cmp ebp,OBJECT_SKELETON - jnz @f - - mov ebp,[ecx] - shr ebp,16 - and ebp,0xff - - mov eax,[npc_skeleton_icons] - jmp .copy_characters_1 -;-------------------------------------- -@@: - cmp ebp,OBJECT_IFRIT - jnz @f - - mov ebp,[ecx] - shr ebp,16 - and ebp,0xff - - mov eax,[npc_ifrit_icons] - jmp .copy_characters_1 -;-------------------------------------- -@@: - cmp ebp,OBJECT_BARRET - jnz @f - - mov ebp,[ecx] - shr ebp,16 - and ebp,0xff - - mov eax,[npc_barret_icons] - jmp .copy_characters_1 -;-------------------------------------- -@@: - cmp ebp,OBJECT_PROTAGONIST - jnz @f - - mov eax,[npc_miku_icons] - mov ebp,[protagonist_route] - cmp ebp,5 - jb .copy_characters_1 - - sub ebp,4 - jmp .copy_characters_kick -;-------------------------------------- -@@: - cmp ebp,OBJECT_RED_BRICK - jnz @f - - mov eax,[red_brick_icons] - mov ebp,1 - jmp .copy_characters -;-------------------------------------- -@@: - cmp ebp,OBJECT_WHITE_BRICK - jnz @f - - mov eax,[white_brick_icons] - mov ebp,1 - jmp .copy_characters -;-------------------------------------- -@@: - cmp ebp,RED_BRICK_CRASH_1 ; 0x80 - reb brick crash 1 - jnz @f -; DEBUGF 1, "reb brick crash 11\n" - mov eax,[red_brick_icons] - mov ebp,2 - jmp .copy_characters -;-------------------------------------- -@@: - cmp ebp,RED_BRICK_CRASH_2 ; 0x81 - reb brick crash 2 - jnz .no_characters -; DEBUGF 1, "reb brick crash 21\n" - mov eax,[red_brick_icons] - mov ebp,3 -;-------------------------------------- -.copy_characters: - dec ebp - imul ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y; 8bpp - call copy_characters_with_offset -;-------------------------------------- -.no_characters: -; DEBUGF 1, "analize_and_copy_object END\n" - popa - ret -;-------------------------------------- -.copy_characters_kick: - dec ebp - imul ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y; 8bpp - add ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y*4*4 ; 8 bpp * 4 frames * 4 route - call copy_characters_with_offset - jmp .no_characters -;-------------------------------------- -.copy_characters_1: - dec ebp - imul ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y*4 ; 8 bpp * 4 frames - mov ebx,[show_tiles_iterations] - dec ebx - shr ebx,4 ; divider 16 - imul ebx,SPRITE_SIZE_X*SPRITE_SIZE_Y ; 8bpp - add ebp,ebx - call copy_characters_with_offset - jmp .no_characters -;--------------------------------------------------------------------- -copy_characters_with_offset: -; DEBUGF 1, "copy_characters_with_offset\n" - pusha ; ecx - - mov esi,[eax+28] ; data offset - add esi,eax - add esi,ebp - - mov ebp,[eax+20] ; palette offset - add ebp,eax -; add Y offset to source - mov eax,[characters_offset_y] - imul eax,SPRITE_SIZE_X ; 8bpp - add esi,eax -; add X offset to source - mov eax,[characters_offset_x] - add esi,eax ; 8bpp - - mov edi,buffer_area -; add Y offset to destination - mov eax,[buffer_offset_y] - imul eax,SPRITE_SIZE_X*4 ; 32bpp - add edi,eax -; add X offset to destination - mov eax,[buffer_offset_x] - shl eax,2 ; 32bpp - add edi,eax - - mov edx,[characters_size_y] - mov ecx,[characters_size_x] - cld -;-------------------------------------- -.y: - push ecx esi edi -;-------------------------------------- -.x: - lodsb - test al,al - jz .transparently - - and eax,0xff - shl eax,2 - mov eax,[ebp+eax] ; palette value - mov [edi],eax -;-------------------------------------- -.transparently: - add edi,4 - dec ecx - jnz .x - - pop edi esi ecx - add esi,SPRITE_SIZE_X ; 8bpp - add edi,SPRITE_SIZE_X*4 ; 32bpp - dec edx - jnz .y - - popa - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/show_tiles.inc b/programs/games/rstearth/show_tiles.inc deleted file mode 100644 index 4d49f06d1e..0000000000 --- a/programs/games/rstearth/show_tiles.inc +++ /dev/null @@ -1,180 +0,0 @@ -;--------------------------------------------------------------------- -show_tiles_one_iteration: - mov [show_tiles_iterations],1 - call copy_plan_level_to_plan_level_old - call show_tiles_1 - call clear_show_flags_to_plan_level - call copy_plan_level_to_plan_level_old - ret -;--------------------------------------------------------------------- -show_tiles: - mov [show_tiles_iterations],SPRITE_SIZE_X -;-------------------------------------- -.loop: - call show_tiles_1 - mcall 5,1 - dec [show_tiles_iterations] - jnz .loop - - call clear_show_flags_to_plan_level - call copy_plan_level_to_plan_level_old - ret -;--------------------------------------------------------------------- -show_tiles_1: -; DEBUGF 1, "show_tiles_1\n" - ; set start coordinates - xor edx,edx - mov ebx,LEVEL_MAP_SIZE_Y - mov ecx,plan_level -;-------------------------------------- -.new_y: - mov eax,LEVEL_MAP_SIZE_X - ror edx,16 - xor dx,dx - rol edx,16 -;-------------------------------------- -.new_x: - push eax ebx ecx - - mov ebp,[ecx] - - cmp [draw_all_level],1 - je .draw_all_level -;; DEBUGF 1, "Y : %x X: %x cell: %x ebp: %x\n",ebx,eax,ecx,ebp - mov eax,ebp - rol eax,8 - test al,al - jz .end_show_buffer - -; cmp [show_tiles_iterations],1 -; jne .not_clear - -; mov al,0 -;-------------------------------------- -;.not_clear: -; ror eax,8 -; mov [ecx],eax -;; DEBUGF 1, "new cell: %x eax: %x\n",ecx,eax -;-------------------------------------- -.draw_all_level: - and ebp,0xff - mov eax,[base_icons] - imul ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y ; 8bpp -; imul ebp,SPRITE_SIZE_X*SPRITE_SIZE_Y*3 ; 24bpp - call copy_base_8bpp - - mov eax,[ecx+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4] - mov ebp,ecx - sub ebp,plan_level - add ebp,plan_level_old - cmp [ebp+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4],eax - jne @f - - push dword [show_tiles_iterations] - mov [show_tiles_iterations],1 - call calculate_new_characters_offsets_and_sizes - call analize_and_copy_object - pop dword [show_tiles_iterations] - jmp .draw_cell -;-------------------------------------- -@@: - - call calculate_new_characters_offsets_and_sizes - call analize_and_copy_object ; new object moves into the cell. - cmp [show_tiles_iterations],1 - je .draw_cell -; mov eax,[ecx+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4] -; DEBUGF 1, "object id new: %x\n",eax - sub ecx,plan_level - add ecx,plan_level_old - - mov eax,[ecx] - shr eax,16 - test al,al ; route or static? - jz .draw_cell -; mov eax,[ecx+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4] -; DEBUGF 1, "object id old: %x\n",eax -; cmp [ecx+LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4],eax -; je @f ; old and new state of the cell is equal - -; DEBUGF 1, "old object moves out of the cell\n" - call calculate_old_characters_offsets_and_sizes - call analize_and_copy_object ; old object moves out of the cell -;-------------------------------------- -.draw_cell: - xor ebp,ebp - mcall 65,buffer_area,,,32 ; 32bpp -;-------------------------------------- -.end_show_buffer: - pop ecx ebx eax - - add ecx,4 - add edx,SPRITE_SIZE_X shl 16 - dec eax - jnz .new_x - - add edx,SPRITE_SIZE_Y - dec ebx - jnz .new_y -; DEBUGF 1, "show_tiles_1 END\n" - ret -;--------------------------------------------------------------------- -map_level_to_plan_level: -; mov esi,map_level_0 -; mov esi,map_level_game_over - mov edi,plan_level - mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y - cld - rep movsd - ret -;--------------------------------------------------------------------- -generate_objects_id: - mov esi,plan_level - mov edi,objects_id - mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y - mov edx,1 - cld -;-------------------------------------- -.loop: - lodsd - mov ebx,eax - xor eax,eax - test bh,bh - jz @f - - mov eax,edx - inc edx ; next object -;-------------------------------------- -@@: - stosd - dec ecx - jnz .loop - -; DEBUGF 1, "object id max: %x\n",edx - ret -;--------------------------------------------------------------------- -copy_plan_level_to_plan_level_old: - mov esi,plan_level - mov edi,plan_level_old - mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*2 ; plan_level + objects_id - cld - rep movsd - ret -;--------------------------------------------------------------------- -clear_show_flags_to_plan_level: - mov esi,plan_level - mov edi,plan_level - mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y - cld -;-------------------------------------- -@@: - lodsd - ror eax,24 - mov al,0 - ror eax,8 - stosd - dec ecx - jnz @b - - ret -;--------------------------------------------------------------------- diff --git a/programs/games/rstearth/snd_api.inc b/programs/games/rstearth/snd_api.inc deleted file mode 100644 index d623b62921..0000000000 --- a/programs/games/rstearth/snd_api.inc +++ /dev/null @@ -1,545 +0,0 @@ -struc CTRL_INFO -{ .pci_cmd dd ? - .irq dd ? - .glob_cntrl dd ? - .glob_sta dd ? - .codec_io_base dd ? - .ctrl_io_base dd ? - .codec_mem_base dd ? - .ctrl_mem_base dd ? - .codec_id dd ? -} -CTRL_INFO_SIZE equ 9*4 - -SRV_GETVERSION equ 0 -SND_CREATE_BUFF equ 1 -SND_DESTROY_BUFF equ 2 -SND_SETFORMAT equ 3 -SND_GETFORMAT equ 4 -SND_RESET equ 5 -SND_SETPOS equ 6 -SND_GETPOS equ 7 -SND_SETBUFF equ 8 -SND_OUT equ 9 -SND_PLAY equ 10 -SND_STOP equ 11 -SND_SETVOLUME equ 12 -SND_GETVOLUME equ 13 -SND_SETPAN equ 14 -SND_GETPAN equ 15 -SND_GETBUFFSIZE equ 16 -SND_GETFREESPACE equ 17 -SND_SETTIMEBASE equ 18 -SND_GETTIMESTAMP equ 19 - -DEV_SET_BUFF equ 4 -DEV_NOTIFY equ 5 -DEV_SET_MASTERVOL equ 6 -DEV_GET_MASTERVOL equ 7 -DEV_GET_INFO equ 8 - -SOUND_VERSION equ 0x0101 -PCM_ALL equ 0 - -PCM_OUT equ 0x08000000 -PCM_RING equ 0x10000000 -PCM_STATIC equ 0x20000000 -PCM_FLOAT equ 0x40000000 -PCM_FILTER equ 0x80000000 - -PCM_2_16_48 equ 1 -PCM_1_16_48 equ 2 -PCM_2_16_44 equ 3 -PCM_1_16_44 equ 4 -PCM_2_16_32 equ 5 -PCM_1_16_32 equ 6 -PCM_2_16_24 equ 7 -PCM_1_16_24 equ 8 -PCM_2_16_22 equ 9 -PCM_1_16_22 equ 10 -PCM_2_16_16 equ 11 -PCM_1_16_16 equ 12 -PCM_2_16_12 equ 13 -PCM_1_16_12 equ 14 -PCM_2_16_11 equ 15 -PCM_1_16_11 equ 16 -PCM_2_16_8 equ 17 -PCM_1_16_8 equ 18 -PCM_2_8_48 equ 19 -PCM_1_8_48 equ 20 -PCM_2_8_44 equ 21 -PCM_1_8_44 equ 22 -PCM_2_8_32 equ 23 -PCM_1_8_32 equ 24 -PCM_2_8_24 equ 25 -PCM_1_8_24 equ 26 -PCM_2_8_22 equ 27 -PCM_1_8_22 equ 28 -PCM_2_8_16 equ 29 -PCM_1_8_16 equ 30 -PCM_2_8_12 equ 31 -PCM_1_8_12 equ 32 -PCM_2_8_11 equ 33 -PCM_1_8_11 equ 34 -PCM_2_8_8 equ 35 -PCM_1_8_8 equ 36 - -; i_data -szInfinity db 'INFINITY',0 -szSound db 'SOUND',0 -; u_data -hSound dd ? -hrdwSound dd ? -;------------------------------------------------------------------------------ -align 4 -_InitSound@4: ;p_ver:dword - - push ebx ecx - mcall 68,16,szInfinity - mov [hSound],eax - test eax,eax - jz .fail - - mcall 68,16,szSound - mov [hrdwSound],eax - test eax,eax - jz .fail - - lea eax,[esp+12] ;p_ver - xor ebx,ebx - - push 4 ;.out_size - push eax ;.output - push ebx ;.inp_size - push ebx ;.input - push SRV_GETVERSION ;.code - push [hSound] ;.handle - - mov ecx,esp ;[handle] - mcall 68,17 - add esp,24 - jmp .exit -;-------------------------------------- -align 4 -.fail: - or eax, -1 -;-------------------------------------- -align 4 -.exit: - pop ecx ebx - ret 4 -;------------------------------------------------------------------------------ -align 4 -_CreateBuffer@12: ;format:dword,size:dword,p_str:dword - push ebx ecx - lea eax,[esp+20] ;p_str - lea ebx,[esp+12] ;format - - push 4 ;.out_size - push eax ;.output - push 8 ;.inp_size - push ebx ;.input - push SND_CREATE_BUFF;.code - push [hSound] ;.handle - - mov ecx,esp - mcall 68,17 - add esp,24 ;io_cintrol - pop ecx ebx - ret 12 -;------------------------------------------------------------------------------ -;align 4 -;_DestroyBuffer@4: ;str:dword -; push ebx ecx -; xor eax,eax -; lea ebx,[esp+12] ;[stream] -; -; push eax ;.out_size -; push eax ;.output -; push 4 ;.inp_size -; push ebx ;.input -; push SND_DESTROY_BUFF;.code -; push [hSound] ;.handle -; -; mov ecx, esp ;[handle] -; mcall 68,17 -; add esp,24 -; pop ecx ebx -; ret 4 -;------------------------------------------------------------------------------ -;align 4 -;_WaveOut@12: ;str:dword, src:dword, size:dword -; push ebx ecx -; xor eax,eax -; lea ebx,[esp+12] ;[stream] -; -; push eax ;.out_size -; push eax ;.output -; push 12 ;.inp_size -; push ebx ;.input -; push SND_OUT ;.code -; push dword [hSound] ;.handle -; -; mov ecx,esp -; mcall 68,17 -; add esp,24 -; pop ecx ebx -; ret 12 -;------------------------------------------------------------------------------ -align 4 -_GetBufferSize@8: ;str:dword, p_size:dword - push ebx ecx - lea eax,[esp+16] - lea ebx,[esp+12] ;[stream] - - push 4 ;.out_size - push eax ;.output - push 4 ;.inp_size - push ebx ;.input - push SND_GETBUFFSIZE;.code - push dword [hSound] ;.handle - - mov ecx,esp - mcall 68,17 - add esp,24 - pop ecx ebx - ret 8 -;------------------------------------------------------------------------------ -;align 4 -;_GetBufferFree@8: ;str:dword, p_free:dword -; push ebx ecx -; lea ebx,[esp+12] ;[stream] -; push 0 ;storage for free_space -; mov eax,esp -; -; push 4 ;.out_size -; push eax ;.output -; push 4 ;.inp_size -; push ebx ;.input -; push SND_GETFREESPACE ;.code -; push dword [hSound] ;.handle -; -; mov ecx,esp -; mcall 68,17 -; add esp, 24 -; mov ecx,[esp+20] ; p_free -; pop dword [ecx] -; pop ecx ebx -; ret 8 -;------------------------------------------------------------------------------ -align 4 -_SetBuffer@16: ;str:dword, src:dword, offs:dword, size:dword - push ebx ecx - xor eax,eax - lea ebx,[esp+12] ;[stream] - - push eax ;.out_size - push eax ;.output - push 16 ;.inp_size - push ebx ;.input - push SND_SETBUFF ;.code - push dword [hSound] ;.handle - - mov ecx,esp - mcall 68,17 - add esp,24 - pop ecx ebx - ret 16 -;------------------------------------------------------------------------------ -align 4 -_PlayBuffer@8: ;str:dword,flags:dword - push ebx ecx - xor eax,eax - lea ebx,[esp+12] ;[stream] - - push eax ;.out_size - push eax ;.output - push 8 ;.inp_size - push ebx ;.input - push SND_PLAY ;.code - push dword [hSound] ;.handle - - mov ecx, esp - mcall 68,17 - add esp, 24 - pop ecx ebx - ret 8 -;------------------------------------------------------------------------------ -align 4 -_StopBuffer@4: ;str:dword - push ebx ecx - xor eax,eax - lea ebx,[esp+12] ;[stream] - - push eax ;.out_size - push eax ;.output - push 4 ;.inp_size - push ebx ;.input - push SND_STOP ;.code - push dword [hSound] ;.handle - - mov ecx,esp - mcall 68,17 - add esp,24 - pop ecx ebx - ret 4 -;------------------------------------------------------------------------------ -;align 4 -;_GetBufferPos@8: ;str:dword, p_pos:dword -; push ebx ecx -; lea eax,[esp+16] -; lea ebx,[esp+12] ;[stream] -; -; push 4 ;.out_size -; push eax ;.output -; push 4 ;.inp_size -; push ebx ;.input -; push SND_GETPOS ;.code -; push dword [hSound] ;.handle -; -; mov ecx,esp -; mcall 68,17 -; add esp,24 -; pop ecx ebx -; ret 8 -;------------------------------------------------------------------------------ -;align 4 -;_SetBufferPos@8: ;str:dword, offs:dword -; push ebx ecx -; xor eax,eax -; lea ebx,[esp+12] ;[stream] -; -; push eax ;.out_size -; push eax ;.output -; push 8 ;.inp_size -; push ebx ;.input -; push SND_SETPOS ;.code -; push dword [hSound] ;.handle -; -; mov ecx,esp -; mcall 68,17 -; add esp,24 -; pop ecx ebx -; ret 8 -;------------------------------------------------------------------------------ -align 4 -proc _test_wav@4 stdcall, hdr:dword - mov eax,[hdr] - cmp dword [eax],0x46464952 - jne .fail - - cmp dword [eax+8],0x45564157 - jne .fail - - cmp word [eax+20],1 - jne .fail - - mov ecx,dword [eax+24] - mov edx,22050 - cmp ecx,edx - ja .high - je .l_22 - - cmp ecx,8000 - je .l_8 - - cmp ecx,11025 - je .l_11 - - cmp ecx,12000 - je .l_12 - - cmp ecx,16000 - je .l_16 -;-------------------------------------- -align 4 -.fail: - xor eax,eax - ret -;-------------------------------------- -align 4 -.high: - cmp ecx,24000 - je .LN56 - - cmp ecx,32000 - je .LN65 - - cmp ecx,44100 - je .LN74 - - cmp ecx,48000 - jne .fail - - movzx ecx,word [eax+22] - dec ecx - je .LN79 - - dec ecx - jne .LN74 - - mov edx,19 - jmp .done -;-------------------------------------- -align 4 -.LN79: - mov edx,20 - jmp .done -;-------------------------------------- -align 4 -.LN74: - movzx ecx,word [eax+22] - dec ecx - je .LN70 - - dec ecx - jne .LN65 - - mov edx,21 - jmp .done -;-------------------------------------- -align 4 -.LN70: - mov edx,22 - jmp .done -;-------------------------------------- -align 4 -.LN65: - movzx ecx,word [eax+22] - dec ecx - je .LN61 - - dec ecx - jne .LN56 - - mov edx,23 - jmp .done -;-------------------------------------- -align 4 -.LN61: - mov edx,24 - jmp .done -;-------------------------------------- -align 4 -.LN56: - movzx ecx,word [eax+22] - dec ecx - je .LN52 - - dec ecx - je .LN50 -;-------------------------------------- -align 4 -.l_22: - movzx ecx,word [eax+22] - dec ecx - je .LN43 - - dec ecx - je .LN41 -;-------------------------------------- -align 4 -.l_16: - movzx ecx,word [eax+22] - dec ecx - je .LN34 - - dec ecx - je .LN32 -;-------------------------------------- -align 4 -.l_12: - movzx ecx,word [eax+22] - dec ecx - je .LN25 - - dec ecx - je .LN23 -;-------------------------------------- -align 4 -.l_11: - movzx ecx,word [eax+22] - dec ecx - je .LN16 - - dec ecx - je .LN14 -;-------------------------------------- -align 4 -.l_8: - movzx ecx,word [eax+22] - dec ecx - je .LN7 - - dec ecx - jne .fail - - mov edx,35 - jmp .done -;-------------------------------------- -align 4 -.LN7: - mov edx,36 - jmp .done -;-------------------------------------- -align 4 -.LN14: - mov edx,33 - jmp .done -;-------------------------------------- -align 4 -.LN16: - mov edx,34 - jmp .done -;-------------------------------------- -align 4 -.LN23: - mov edx,31 - jmp .done -;-------------------------------------- -align 4 -.LN25: - mov edx,32 - jmp .done -;-------------------------------------- -align 4 -.LN32: - mov edx,29 - jmp .done -;-------------------------------------- -align 4 -.LN34: - mov edx,30 - jmp .done -;-------------------------------------- -align 4 -.LN41: - mov edx,27 - jmp .done -;-------------------------------------- -align 4 -.LN43: - mov edx,28 - jmp .done -;-------------------------------------- -align 4 -.LN50: - mov edx,25 - jmp .done -;-------------------------------------- -align 4 -.LN52: - mov edx,26 -;-------------------------------------- -align 4 -.done: - xor ecx,ecx - cmp word [eax+34],16 - setne cl - dec ecx - and ecx,-18 - add ecx,edx - mov eax,ecx - ret -endp -;------------------------------------------------------------------------------ \ No newline at end of file diff --git a/programs/games/rstearth/sound.inc b/programs/games/rstearth/sound.inc deleted file mode 100644 index f2c38a248a..0000000000 --- a/programs/games/rstearth/sound.inc +++ /dev/null @@ -1,340 +0,0 @@ -;------------------------------------------------------------------------------ -test_wav_file: - mov [sound_flag],1 - stdcall _test_wav@4,dword [wav_for_test] ;letter_1a - test eax,eax - jz snd_test_wav_fail - -; or eax,PCM_OUT - or eax,PCM_RING - mov [snd_format],eax - -; DEBUGF 1, "Test wav successful %x\n",eax - - call find_data_offset - - mov al,[sound_flag] - test al,al - jnz .exit - - mov [sound_flag],2 ; close thread -;-------------------------------------- -.exit: - ret -;------------------------------------------------------------------------------ -check_init_sound_busy: - cmp [init_sound_busy_flag],1 - jne @f - - mcall 5,1 - mcall 68,1 - jmp check_init_sound_busy -;-------------------------------------- -@@: - mov [init_sound_busy_flag],1 - ret -;------------------------------------------------------------------------------ -initialize_sound_system: - cmp [sound_flag],1 - jne sound_exit - - stdcall _InitSound@4,version - test eax,eax - jnz snd_init_fail - -; DEBUGF 1, "Sound init successful %x\n",eax - - mov eax,[version] - and eax,0xffff - cmp eax,SOUND_VERSION - jne snd_version_fail - -; DEBUGF 1, "Sound version successful %x\n",eax -;-------------------------------------- - stdcall _CreateBuffer@12,[snd_format],0,[hBuff_pointer] - test eax,eax - jnz snd_create_buffer_fail - -; DEBUGF 1, "Create Buffer successful %x\n",eax - mov eax,[hBuff_pointer] - mov ebx,[hBuff_buffer_size_pointer] - stdcall _GetBufferSize@8,[eax],ebx ;hBuff1_buffer_size - - test eax,eax - jnz snd_get_buffer_size_fail - - mov ebx,[hBuff_buffer_size_pointer] - mov eax,[ebx] -; DEBUGF 1, "Get Buffer size successful size: %x\n",eax - shr eax,1 - mov [ebx],eax - - mov [init_sound_busy_flag],0 - ret -;------------------------------------------------------------------------------ -sound_exit: - mcall -1 -;------------------------------------------------------------------------------ -find_data_offset: - mov esi,[wav_for_test] -;-------------------------------------- -@@: - cmp [esi],dword 'data' - je @f - - inc esi - cmp esi,[wav_for_test_end] - jne @b - -; DEBUGF 1, "find data offset fail\n" - mov [sound_flag],0 - ret -;-------------------------------------- -@@: - sub esi,[wav_for_test] - add esi,4 - mov [data_offset],esi - ret -;------------------------------------------------------------------------------ -snd_test_wav_fail: -; DEBUGF 1, "Test wav fail %x\n",eax - mov [sound_flag],0 - ret -;------------------------------------------------------------------------------ -snd_init_fail: -; DEBUGF 1, "Sound init fail %x\n",eax - jmp disable_sound -;------------------------------------------------------------------------------ -snd_version_fail: -; DEBUGF 1, "Sound version fail %x\n",eax - jmp disable_sound -;------------------------------------------------------------------------------ -snd_create_buffer_fail: -; DEBUGF 1, "Create Buffer fail %x\n",eax - jmp disable_sound -;------------------------------------------------------------------------------ -snd_get_buffer_size_fail: -; DEBUGF 1, "Get Buffer size fail %x\n",eax - jmp disable_sound -;------------------------------------------------------------------------------ -snd_play_buffer_fail: -; DEBUGF 1, "Play Buffer fail\n" - jmp disable_sound -;------------------------------------------------------------------------------ -snd_set_buffer_fail: -; DEBUGF 1, "Set Buffer fail\n" - jmp disable_sound -;------------------------------------------------------------------------------ -disable_sound: - mov [sound_flag],0 - jmp sound_exit -;------------------------------------------------------------------------------ -snd_background_music_thread_start: - call check_init_sound_busy -; DEBUGF 1, "snd_background_music_thread_start\n" - mov [hBuff_pointer], dword hBuff1 - mov [hBuff_buffer_size_pointer], dword hBuff1_buffer_size - call initialize_sound_system -;-------------------------------------- -.1: - cmp [music_flag],2 - je sound_exit - - cmp [music_flag],1 - je .start -.2: - mcall 5,1 - mcall 68,1 - jmp .1 -;-------------------------------------- -.start: - cmp [init_sound_busy_flag],1 - je .2 - -; DEBUGF 1, "background_music Play Buffer start\n",eax - stdcall _PlayBuffer@8, [hBuff1], 0 - test eax,eax - jnz snd_play_buffer_fail - -; DEBUGF 1, "background_music Play Buffer successful EAX: %x\n",eax -;-------------------------------------- -.start_1: - mov eax,[background_music] -; check for correct data_offset - push eax - add eax,[data_offset] - sub eax,4 - cmp [eax],dword 'data' - pop eax - je @f - - mov [wav_for_test],eax - mov ebx,eax - add ebx,1024 - mov [wav_for_test_end],ebx - call find_data_offset - cmp [sound_flag],0 - jz .1 -;-------------------------------------- -@@: - add eax,[data_offset] - mov ebx,[eax] - add eax,4 - mov ebp,eax - add ebx,eax -; DEBUGF 1, "start EAX: %x\n",eax -;-------------------------------------- -.loop: - cmp [music_flag],1 - je @f - - stdcall _StopBuffer@4, [hBuff1] -; DEBUGF 1, "Stop Buffer EAX: %x\n",eax - jmp .1 -;-------------------------------------- -@@: -; get event data from the driver -; DEBUGF 1, "Get driver_notify_struct \n" - push ebx - mcall 68,14,hBuff1_driver_notify_struct - pop ebx -; DEBUGF 1, "Check to code \n" -; check to code - cmp [hBuff1_driver_notify_struct], dword 0xFF000001 - jne @b -; DEBUGF 1, "Check to stream \n" -; check to stream - mov eax,[hBuff1_driver_notify_struct+8] - cmp eax,[hBuff1] - jne @b -; DEBUGF 1, "Get buffer_offset \n" -; get buffer_offset - mov eax,[hBuff1_driver_notify_struct+12] - mov [hBuff1_buffer_offset],eax -; DEBUGF 1, "src EBP: %x size EBX: %x\n",ebp,ebx - stdcall _SetBuffer@16, [hBuff1], ebp, [hBuff1_buffer_offset], [hBuff1_buffer_size] - test eax,eax - jnz snd_set_buffer_fail - -; DEBUGF 1, "Set Buffer successful EAX: %x\n",eax - add ebp,[hBuff1_buffer_size] - add ebp,[hBuff1_buffer_size] - cmp ebx,ebp - jbe .start_1 - - sub ebp,[hBuff1_buffer_size] - jmp .loop -;------------------------------------------------------------------------------ -snd_kick_action: - cmp [sounds_flag],1 - jne @f - - cmp [snd_kick_flag],1 - je @f - - mov [snd_kick_flag],1 -;-------------------------------------- -@@: - ret -;------------------------------------------------------------------------------ -snd_kick_action_thread_start: - call check_init_sound_busy -; DEBUGF 1, "snd_kick_action_thread_start\n" - mov [hBuff_pointer], dword hBuff2 - mov [hBuff_buffer_size_pointer], dword hBuff2_buffer_size - call initialize_sound_system -;-------------------------------------- -.1: - cmp [sounds_flag],2 - je sound_exit - - cmp [sounds_flag],0 - je @f - - cmp [snd_kick_flag],1 - je .start -;-------------------------------------- -@@: - mcall 5,1 - mcall 68,1 - jmp .1 -;-------------------------------------- -.start: -; DEBUGF 1, "kick_action Play Buffer start\n" - stdcall _PlayBuffer@8, [hBuff2], 0 - test eax,eax - jnz snd_play_buffer_fail - -; DEBUGF 1, "kick_action Play Buffer successful EAX: %x\n",eax - - mov eax,[sounds_sample] ;[stone_kick_sound] -; check for correct data_offset - push eax - add eax,[data_offset] - sub eax,4 - cmp [eax],dword 'data' - pop eax - je @f - - mov [wav_for_test],eax - mov ebx,eax - add ebx,1024 - mov [wav_for_test_end],ebx - call find_data_offset - cmp [sound_flag],0 - jz .1 -;-------------------------------------- -@@: - add eax,[data_offset] - mov ebx,[eax] - add eax,4 - mov ebp,eax - add ebx,eax -; DEBUGF 1, "start EAX: %x\n",eax -;-------------------------------------- -.loop: - cmp [sounds_flag],1 - je @f - - stdcall _StopBuffer@4, [hBuff2] -; DEBUGF 1, "Stop Buffer EAX: %x\n",eax - jmp .1 -;-------------------------------------- -@@: -; get event data from the driver -; DEBUGF 1, "Get driver_notify_struct \n" - push ebx - mcall 68,14,hBuff2_driver_notify_struct - pop ebx -; DEBUGF 1, "Check to code \n" -; check to code - cmp [hBuff2_driver_notify_struct], dword 0xFF000001 - jne @b -; DEBUGF 1, "Check to stream \n" -; check to stream - mov eax,[hBuff2_driver_notify_struct+8] - cmp eax,[hBuff2] - jne @b -; DEBUGF 1, "Get buffer_offset \n" -; get buffer_offset - mov eax,[hBuff2_driver_notify_struct+12] - mov [hBuff2_buffer_offset],eax -; DEBUGF 1, "src EBP: %x size EBX: %x\n",ebp,ebx - stdcall _SetBuffer@16, [hBuff2], ebp, [hBuff2_buffer_offset], [hBuff2_buffer_size] - test eax,eax - jnz snd_set_buffer_fail - -; DEBUGF 1, "Set Buffer successful EAX: %x\n",eax - add ebp,[hBuff2_buffer_size] - add ebp,[hBuff2_buffer_size] - cmp ebx,ebp - jbe .exit - - sub ebp,[hBuff2_buffer_size] - jmp .loop -;-------------------------------------- -.exit: - stdcall _StopBuffer@4, [hBuff2] - mov [snd_kick_flag],0 - jmp .1 -;------------------------------------------------------------------------------ \ No newline at end of file diff --git a/programs/games/rstearth/u_data.inc b/programs/games/rstearth/u_data.inc deleted file mode 100644 index d7300d9d01..0000000000 --- a/programs/games/rstearth/u_data.inc +++ /dev/null @@ -1,145 +0,0 @@ -;--------------------------------------------------------------------- -; uninitialized data -;--------------------------------------------------------------------- -extended_key rb 1 -draw_all_level rb 1 -current_cell_NPC rb 1 -death_of_protagonist rb 1 -npc_alive rb 1 -target_detected rb 1 -sound_flag rb 1 -sounds_flag rb 1 -music_flag rb 1 -snd_kick_flag rb 1 -main_menu_pointer rb 1 -settings_menu_pointer rb 1 -use_separate_draw_text rb 1 -init_sound_busy_flag rb 1 -;--------------------------------------------------------------------- -align 4 -N_error rd 1 -error_type rd 1 -error_path rd 1 -;--------------------------------------------------------------------- -font_icons rd 1 -base_icons rd 1 -red_brick_icons rd 1 -white_brick_icons rd 1 -npc_miku_icons rd 1 -npc_death_icons rd 1 -npc_skeleton_icons rd 1 -npc_ifrit_icons rd 1 -npc_barret_icons rd 1 -;--------------------------------------------------------------------- -background_music rd 1 -sounds_sample rd 1 - -stone_kick_sound rd 1 -menu_sound rd 1 -;--------------------------------------------------------------------- -show_tiles_iterations rd 1 -characters_offset_x rd 1 -characters_offset_y rd 1 -characters_size_x rd 1 -characters_size_y rd 1 -buffer_offset_x rd 1 -buffer_offset_y rd 1 -;--------------------------------------------------------------------- -action_cell_x rd 1 -action_cell_y rd 1 -target_action_cell_x rd 1 -target_action_cell_y rd 1 -;------------------------------------------------------------------------------ -menu_text_pointers rd 1 -text_step_Y rd 1 -;------------------------------------------------------------------------------ -level_counter rd 1 -;------------------------------------------------------------------------------ -align 4 -version rd 1 ; версия интерфейса, текущая 0x0101 -; snd_format одна из констант вида PCM_X_Y_Z где -; X- число каналов -; Y- разрядность в битах на канал -; Z- частота в КГц из фикс. набора 11025Гц, 12000Гц, 16000Гц, 22050Гц, 24000Гц, 32000Гц, 44100Гц, 48000Гц -; Если формат не известен заранее используется константа PCM_ALL. -; Окончательно формат устанавливается вызовом SetFormat. -snd_format rd 1 ; формат данных -; хэндл буфера -hBuff_pointer rd 1 -hBuff_buffer_size_pointer rd 1 - -hBuff1 rd 1 -hBuff2 rd 1 - -hBuff1_buffer_size rd 1 -hBuff2_buffer_size rd 1 - -hBuff1_buffer_offset rd 1 -hBuff2_buffer_offset rd 1 - -hBuff1_driver_notify_struct rd 6 ; структура события от драйвера -hBuff2_driver_notify_struct rd 6 ; структура события от драйвера - -data_offset rd 1 -;--------------------------------------------------------------------- -voice_samples_start rd 1 ; start of *.SMP -wav_for_test rd 1 -wav_for_test_end rd 1 -;--------------------------------------------------------------------- -align 4 -buffer_area: - rb 64*64*4 ; 64p * 64p * 32bpp -;--------------------------------------------------------------------- -align 4 -plan_level: - rb LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4 -;--------------------------------------------------------------------- -align 4 -objects_id: - rb LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4 -;--------------------------------------------------------------------- -align 4 -plan_level_old: - rb LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4 -;--------------------------------------------------------------------- -align 4 -objects_id_old: - rb LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y*4 -;--------------------------------------------------------------------- -align 4 -path: - rb 4096 -;--------------------------------------------------------------------- -align 4 -file_name: - rb 4096 -;--------------------------------------------------------------------- -align 4 -file_info: - rb 40 -;--------------------------------------------------------------------- -align 4 -bootparam: -;procinfo: -;process_info: - rb 1024 -;--------------------------------------------------------------------- -align 4 -; sound thread - rb 1024 -snd_kick_action_thread_stack: -;--------------------------------------------------------------------- -align 4 -; sound thread - rb 1024 -snd_background_music_thread_stack: -;--------------------------------------------------------------------- -align 4 -; window error message - rb 1024 -thread_stack: -;--------------------------------------------------------------------- -align 4 - rb 1024 -stacktop: -;--------------------------------------------------------------------- \ No newline at end of file