From 23ccdb6e6b0caf91ffd298647a2680397a95eb68 Mon Sep 17 00:00:00 2001 From: ekeeke31 Date: Wed, 15 Apr 2009 15:33:51 +0000 Subject: [PATCH] massive source code cleanup/renaming, fixed some (potential) memory leaks --- source/genesis.c | 1 + source/{ngc/gcaram.c => gx/aram.c} | 3 +- source/{ngc/gcaram.h => gx/aram.h} | 2 +- source/{ngc => gx}/config.c | 6 +- source/{ngc => gx}/config.h | 2 +- source/{ngc => gx}/fileio/dvd.c | 4 - source/{ngc => gx}/fileio/dvd.h | 0 source/{ngc => gx}/fileio/file_dvd.c | 4 - source/{ngc => gx}/fileio/file_dvd.h | 0 source/{ngc => gx}/fileio/file_fat.c | 0 source/{ngc => gx}/fileio/file_fat.h | 0 .../{ngc/filemem.c => gx/fileio/file_mem.c} | 8 +- source/{ngc => gx}/fileio/history.c | 2 +- source/{ngc => gx}/fileio/history.h | 2 +- source/{ngc => gx}/fileio/unzip.c | 0 source/{ngc => gx}/fileio/unzip.h | 0 source/gx/gui/filesel.c | 406 +++++ source/{ngc/fileio => gx/gui}/filesel.h | 5 - source/gx/gui/font.c | 278 ++++ source/{ngc => gx}/gui/font.h | 37 +- source/{ngc => gx}/gui/ggentry.c | 10 +- source/{ngc => gx}/gui/legal.c | 45 +- source/{ngc => gx}/gui/menu.c | 632 +++----- source/gx/gui/menu.h | 209 +++ source/{ngc => gx}/gui/saveicon.h | 0 source/{ngc/ogc_audio.c => gx/gx_audio.c} | 18 +- source/{ngc/ogc_audio.h => gx/gx_audio.h} | 10 +- source/{ngc/ogc_input.c => gx/gx_input.c} | 118 +- source/{ngc/ogc_input.h => gx/gx_input.h} | 16 +- source/{ngc/ogc_video.c => gx/gx_video.c} | 347 +++- source/{ngc/ogc_video.h => gx/gx_video.h} | 30 +- source/{ngc/ngc.c => gx/main.c} | 70 +- source/{ngc => gx}/osd.h | 11 +- source/{ngc => gx}/png/Background_credits.c | 0 source/{ngc => gx}/png/Background_credits.h | 0 source/{ngc => gx}/png/Background_credits.png | Bin source/{ngc => gx}/png/Background_intro_c1.c | 0 source/{ngc => gx}/png/Background_intro_c1.h | 0 .../{ngc => gx}/png/Background_intro_c1.png | Bin source/{ngc => gx}/png/Background_intro_c2.c | 0 source/{ngc => gx}/png/Background_intro_c2.h | 0 .../{ngc => gx}/png/Background_intro_c2.png | Bin source/{ngc => gx}/png/Background_intro_c3.c | 0 source/{ngc => gx}/png/Background_intro_c3.h | 0 .../{ngc => gx}/png/Background_intro_c3.png | Bin source/{ngc => gx}/png/Background_intro_c4.c | 0 source/{ngc => gx}/png/Background_intro_c4.h | 0 .../{ngc => gx}/png/Background_intro_c4.png | Bin source/{ngc => gx}/png/Background_main.c | 0 source/{ngc => gx}/png/Background_main.h | 0 source/{ngc => gx}/png/Background_main.png | Bin source/{ngc => gx}/png/Background_overlay.c | 0 source/{ngc => gx}/png/Background_overlay.h | 0 source/{ngc => gx}/png/Background_overlay.png | Bin source/{ngc => gx}/png/Banner_bottom.c | 0 source/{ngc => gx}/png/Banner_bottom.h | 0 source/{ngc => gx}/png/Banner_bottom.png | Bin source/{ngc => gx}/png/Banner_main.c | 0 source/{ngc => gx}/png/Banner_main.h | 0 source/{ngc => gx}/png/Banner_main.png | Bin source/{ngc => gx}/png/Banner_top.c | 0 source/{ngc => gx}/png/Banner_top.h | 0 source/{ngc => gx}/png/Banner_top.png | Bin source/{ngc => gx}/png/Browser_dir.c | 0 source/{ngc => gx}/png/Browser_dir.h | 0 source/{ngc => gx}/png/Browser_dir.png | Bin source/{ngc => gx}/png/Button_delete.c | 0 source/{ngc => gx}/png/Button_delete.h | 0 source/{ngc => gx}/png/Button_delete.png | Bin source/{ngc => gx}/png/Button_delete_over.c | 0 source/{ngc => gx}/png/Button_delete_over.h | 0 source/{ngc => gx}/png/Button_delete_over.png | Bin source/{ngc => gx}/png/Button_down.c | 0 source/{ngc => gx}/png/Button_down.h | 0 source/{ngc => gx}/png/Button_down.png | Bin source/{ngc => gx}/png/Button_down_over.c | 0 source/{ngc => gx}/png/Button_down_over.h | 0 source/{ngc => gx}/png/Button_down_over.png | Bin source/{ngc => gx}/png/Button_icon.c | 0 source/{ngc => gx}/png/Button_icon.h | 0 source/{ngc => gx}/png/Button_icon.png | Bin source/{ngc => gx}/png/Button_icon_over.c | 0 source/{ngc => gx}/png/Button_icon_over.h | 0 source/{ngc => gx}/png/Button_icon_over.png | Bin source/{ngc => gx}/png/Button_icon_sm.c | 0 source/{ngc => gx}/png/Button_icon_sm.h | 0 source/{ngc => gx}/png/Button_icon_sm.png | Bin source/{ngc => gx}/png/Button_icon_sm_over.c | 0 source/{ngc => gx}/png/Button_icon_sm_over.h | 0 .../{ngc => gx}/png/Button_icon_sm_over.png | Bin source/{ngc => gx}/png/Button_load.c | 0 source/{ngc => gx}/png/Button_load.h | 0 source/{ngc => gx}/png/Button_load.png | Bin source/{ngc => gx}/png/Button_load_over.c | 0 source/{ngc => gx}/png/Button_load_over.h | 0 source/{ngc => gx}/png/Button_load_over.png | Bin source/{ngc => gx}/png/Button_save.c | 0 source/{ngc => gx}/png/Button_save.h | 0 source/{ngc => gx}/png/Button_save.png | Bin source/{ngc => gx}/png/Button_save_over.c | 0 source/{ngc => gx}/png/Button_save_over.h | 0 source/{ngc => gx}/png/Button_save_over.png | Bin source/{ngc => gx}/png/Button_special.c | 0 source/{ngc => gx}/png/Button_special.h | 0 source/{ngc => gx}/png/Button_special.png | Bin source/{ngc => gx}/png/Button_special_over.c | 0 source/{ngc => gx}/png/Button_special_over.h | 0 .../{ngc => gx}/png/Button_special_over.png | Bin source/{ngc => gx}/png/Button_text.c | 0 source/{ngc => gx}/png/Button_text.h | 0 source/{ngc => gx}/png/Button_text.png | Bin source/{ngc => gx}/png/Button_text_over.c | 0 source/{ngc => gx}/png/Button_text_over.h | 0 source/{ngc => gx}/png/Button_text_over.png | Bin source/{ngc => gx}/png/Button_text_sm.c | 0 source/{ngc => gx}/png/Button_text_sm.h | 0 source/{ngc => gx}/png/Button_text_sm.png | Bin source/{ngc => gx}/png/Button_text_sm_over.c | 0 source/{ngc => gx}/png/Button_text_sm_over.h | 0 .../{ngc => gx}/png/Button_text_sm_over.png | Bin source/{ngc => gx}/png/Button_up.c | 0 source/{ngc => gx}/png/Button_up.h | 0 source/{ngc => gx}/png/Button_up.png | Bin source/{ngc => gx}/png/Button_up_over.c | 0 source/{ngc => gx}/png/Button_up_over.h | 0 source/{ngc => gx}/png/Button_up_over.png | Bin source/{ngc => gx}/png/Crosshair_p1.c | 0 source/{ngc => gx}/png/Crosshair_p1.h | 0 source/{ngc => gx}/png/Crosshair_p1.png | Bin source/{ngc => gx}/png/Crosshair_p2.c | 0 source/{ngc => gx}/png/Crosshair_p2.h | 0 source/{ngc => gx}/png/Crosshair_p2.png | Bin source/{ngc => gx}/png/Ctrl_4wayplay.c | 0 source/{ngc => gx}/png/Ctrl_4wayplay.h | 0 source/{ngc => gx}/png/Ctrl_4wayplay.png | Bin source/{ngc => gx}/png/Ctrl_gamepad.c | 0 source/{ngc => gx}/png/Ctrl_gamepad.h | 0 source/{ngc => gx}/png/Ctrl_gamepad.png | Bin source/{ngc => gx}/png/Ctrl_justifiers.c | 0 source/{ngc => gx}/png/Ctrl_justifiers.h | 0 source/{ngc => gx}/png/Ctrl_justifiers.png | Bin .../{ngc => gx}/png/Ctrl_justifiers_black.c | 0 .../{ngc => gx}/png/Ctrl_justifiers_black.h | 0 .../{ngc => gx}/png/Ctrl_justifiers_black.png | Bin source/{ngc => gx}/png/Ctrl_menacer.c | 0 source/{ngc => gx}/png/Ctrl_menacer.h | 0 source/{ngc => gx}/png/Ctrl_menacer.png | Bin source/{ngc => gx}/png/Ctrl_mouse.c | 0 source/{ngc => gx}/png/Ctrl_mouse.h | 0 source/{ngc => gx}/png/Ctrl_mouse.png | Bin source/{ngc => gx}/png/Ctrl_port1.c | 0 source/{ngc => gx}/png/Ctrl_port1.h | 0 source/{ngc => gx}/png/Ctrl_port1.png | Bin source/{ngc => gx}/png/Ctrl_port2.c | 0 source/{ngc => gx}/png/Ctrl_port2.h | 0 source/{ngc => gx}/png/Ctrl_port2.png | Bin source/{ngc => gx}/png/Ctrl_port3.c | 0 source/{ngc => gx}/png/Ctrl_port3.h | 0 source/{ngc => gx}/png/Ctrl_port3.png | Bin source/{ngc => gx}/png/Ctrl_port4.c | 0 source/{ngc => gx}/png/Ctrl_port4.h | 0 source/{ngc => gx}/png/Ctrl_port4.png | Bin source/{ngc => gx}/png/Ctrl_teamplayer.c | 0 source/{ngc => gx}/png/Ctrl_teamplayer.h | 0 source/{ngc => gx}/png/Ctrl_teamplayer.png | Bin source/gx/png/Frame_s1.c | 271 ++++ source/{ngc => gx}/png/Frame_s1.h | 0 source/{ngc => gx}/png/Frame_s1.png | Bin source/gx/png/Frame_s2.c | 130 ++ source/{ngc => gx}/png/Frame_s2.h | 0 source/{ngc => gx}/png/Frame_s2.png | Bin source/{ngc => gx}/png/Frame_title.c | 0 source/{ngc => gx}/png/Frame_title.h | 0 source/{ngc => gx}/png/Frame_title.png | Bin source/{ngc => gx}/png/Key_A_gcn.c | 0 source/{ngc => gx}/png/Key_A_gcn.h | 0 source/{ngc => gx}/png/Key_A_gcn.png | Bin source/{ngc => gx}/png/Key_A_wii.c | 0 source/{ngc => gx}/png/Key_A_wii.h | 0 source/{ngc => gx}/png/Key_A_wii.png | Bin source/{ngc => gx}/png/Key_B_gcn.c | 0 source/{ngc => gx}/png/Key_B_gcn.h | 0 source/{ngc => gx}/png/Key_B_gcn.png | Bin source/{ngc => gx}/png/Key_B_wii.c | 0 source/{ngc => gx}/png/Key_B_wii.h | 0 source/{ngc => gx}/png/Key_B_wii.png | Bin source/{ngc => gx}/png/Key_home.c | 0 source/{ngc => gx}/png/Key_home.h | 0 source/{ngc => gx}/png/Key_home.png | Bin source/gx/png/Key_trigger_Z.c | 203 +++ source/gx/png/Key_trigger_Z.h | 14 + source/gx/png/Key_trigger_Z.png | Bin 0 -> 3110 bytes source/{ngc => gx}/png/Load_dvd.c | 0 source/{ngc => gx}/png/Load_dvd.h | 0 source/{ngc => gx}/png/Load_dvd.png | Bin source/{ngc => gx}/png/Load_recent.c | 0 source/{ngc => gx}/png/Load_recent.h | 0 source/{ngc => gx}/png/Load_recent.png | Bin source/{ngc => gx}/png/Load_sd.c | 0 source/{ngc => gx}/png/Load_sd.h | 0 source/{ngc => gx}/png/Load_sd.png | Bin source/{ngc => gx}/png/Load_usb.c | 0 source/{ngc => gx}/png/Load_usb.h | 0 source/{ngc => gx}/png/Load_usb.png | Bin source/{ngc => gx}/png/Main_file.c | 0 source/{ngc => gx}/png/Main_file.h | 0 source/{ngc => gx}/png/Main_file.png | Bin source/{ngc => gx}/png/Main_info.c | 0 source/{ngc => gx}/png/Main_info.h | 0 source/{ngc => gx}/png/Main_info.png | Bin source/{ngc => gx}/png/Main_load.c | 0 source/{ngc => gx}/png/Main_load.h | 0 source/{ngc => gx}/png/Main_load.png | Bin source/{ngc => gx}/png/Main_logo.c | 0 source/{ngc => gx}/png/Main_logo.h | 0 source/{ngc => gx}/png/Main_logo.png | Bin source/{ngc => gx}/png/Main_options.c | 0 source/{ngc => gx}/png/Main_options.h | 0 source/{ngc => gx}/png/Main_options.png | Bin source/{ngc => gx}/png/Main_play.c | 0 source/{ngc => gx}/png/Main_play.h | 0 source/{ngc => gx}/png/Main_play.png | Bin source/{ngc => gx}/png/Main_reset.c | 0 source/{ngc => gx}/png/Main_reset.h | 0 source/{ngc => gx}/png/Main_reset.png | Bin source/{ngc => gx}/png/Option_ctrl.c | 0 source/{ngc => gx}/png/Option_ctrl.h | 0 source/{ngc => gx}/png/Option_ctrl.png | Bin source/{ngc => gx}/png/Option_ggenie.c | 0 source/{ngc => gx}/png/Option_ggenie.h | 0 source/{ngc => gx}/png/Option_ggenie.png | Bin source/{ngc => gx}/png/Option_sound.c | 0 source/{ngc => gx}/png/Option_sound.h | 0 source/{ngc => gx}/png/Option_sound.png | Bin source/{ngc => gx}/png/Option_system.c | 0 source/{ngc => gx}/png/Option_system.h | 0 source/{ngc => gx}/png/Option_system.png | Bin source/{ngc => gx}/png/Option_video.c | 0 source/{ngc => gx}/png/Option_video.h | 0 source/{ngc => gx}/png/Option_video.png | Bin source/{ngc => gx}/png/Overlay_bar.c | 0 source/{ngc => gx}/png/Overlay_bar.h | 0 source/{ngc => gx}/png/Overlay_bar.png | Bin source/{ngc => gx}/png/Overlay_item.c | 0 source/{ngc => gx}/png/Overlay_item.h | 0 source/{ngc => gx}/png/Overlay_item.png | Bin source/{ngc => gx}/png/Overlay_item_over.c | 0 source/{ngc => gx}/png/Overlay_item_over.h | 0 source/{ngc => gx}/png/Overlay_item_over.png | Bin source/{ngc => gx}/png/Progress_bar.c | 0 source/{ngc => gx}/png/Progress_bar.h | 0 source/{ngc => gx}/png/Progress_bar.png | Bin source/gx/png/Snap_empty.c | 71 + source/{ngc => gx}/png/Snap_empty.h | 0 source/{ngc => gx}/png/Snap_empty.png | Bin source/gx/png/Snap_frame.c | 1402 +++++++++++++++++ source/gx/png/Snap_frame.h | 14 + source/{ngc => gx}/png/Snap_frame.png | Bin source/{ngc => gx}/png/Sram_empty.c | 0 source/{ngc => gx}/png/Sram_empty.h | 0 source/{ngc => gx}/png/Star_empty.c | 0 source/{ngc => gx}/png/Star_empty.h | 0 source/{ngc => gx}/png/Star_empty.png | Bin source/{ngc => gx}/png/Star_full.c | 0 source/{ngc => gx}/png/Star_full.h | 0 source/{ngc => gx}/png/Star_full.png | Bin source/{ngc => gx}/png/ctrl_classic.c | 0 source/{ngc => gx}/png/ctrl_classic.h | 0 source/{ngc => gx}/png/ctrl_classic.png | Bin source/{ngc => gx}/png/ctrl_gamecube.c | 0 source/{ngc => gx}/png/ctrl_gamecube.h | 0 source/{ngc => gx}/png/ctrl_gamecube.png | Bin source/{ngc => gx}/png/ctrl_nunchuk.c | 0 source/{ngc => gx}/png/ctrl_nunchuk.h | 0 source/{ngc => gx}/png/ctrl_nunchuk.png | Bin source/{ngc => gx}/png/ctrl_wiimote.c | 0 source/{ngc => gx}/png/ctrl_wiimote.h | 0 source/{ngc => gx}/png/ctrl_wiimote.png | Bin source/{ngc => gx}/png/generic_openhand.c | 0 source/{ngc => gx}/png/generic_openhand.h | 0 source/{ngc => gx}/png/generic_openhand.png | Bin source/{ngc => gx}/png/generic_point.c | 0 source/{ngc => gx}/png/generic_point.h | 0 source/{ngc => gx}/png/generic_point.png | Bin source/{ngc => gx}/png/multi_png.bat | 0 source/{ngc => gx}/png/raw2c.exe | Bin source/{ngc => gx}/sounds/button_over.c | 0 source/{ngc => gx}/sounds/button_over.h | 0 source/{ngc => gx}/sounds/button_over.pcm | Bin source/{ngc => gx}/sounds/button_select.c | 0 source/{ngc => gx}/sounds/button_select.h | 0 source/{ngc => gx}/sounds/button_select.pcm | Bin source/{ngc => gx}/sounds/raw2c.exe | Bin source/{ngc => gx}/sounds/sound2c.bat | 0 source/loadrom.c | 4 +- source/loadrom.h | 1 + source/ngc/fileio/filesel.c | 239 --- source/ngc/gui/font.c | 607 ------- source/ngc/png/Frame_s1.c | 355 ----- source/ngc/png/Frame_s2.c | 226 --- source/ngc/png/Snap_empty.c | 65 - 301 files changed, 3783 insertions(+), 2095 deletions(-) rename source/{ngc/gcaram.c => gx/aram.c} (95%) rename source/{ngc/gcaram.h => gx/aram.h} (96%) rename source/{ngc => gx}/config.c (94%) rename source/{ngc => gx}/config.h (94%) rename source/{ngc => gx}/fileio/dvd.c (95%) rename source/{ngc => gx}/fileio/dvd.h (100%) rename source/{ngc => gx}/fileio/file_dvd.c (95%) rename source/{ngc => gx}/fileio/file_dvd.h (100%) rename source/{ngc => gx}/fileio/file_fat.c (100%) rename source/{ngc => gx}/fileio/file_fat.h (100%) rename source/{ngc/filemem.c => gx/fileio/file_mem.c} (96%) rename source/{ngc => gx}/fileio/history.c (95%) rename source/{ngc => gx}/fileio/history.h (94%) rename source/{ngc => gx}/fileio/unzip.c (100%) rename source/{ngc => gx}/fileio/unzip.h (100%) create mode 100644 source/gx/gui/filesel.c rename source/{ngc/fileio => gx/gui}/filesel.h (91%) create mode 100644 source/gx/gui/font.c rename source/{ngc => gx}/gui/font.h (67%) rename source/{ngc => gx}/gui/ggentry.c (93%) rename source/{ngc => gx}/gui/legal.c (68%) rename source/{ngc => gx}/gui/menu.c (71%) create mode 100644 source/gx/gui/menu.h rename source/{ngc => gx}/gui/saveicon.h (100%) rename source/{ngc/ogc_audio.c => gx/gx_audio.c} (92%) rename source/{ngc/ogc_audio.h => gx/gx_audio.h} (85%) rename source/{ngc/ogc_input.c => gx/gx_input.c} (84%) rename source/{ngc/ogc_input.h => gx/gx_input.h} (77%) rename source/{ngc/ogc_video.c => gx/gx_video.c} (72%) rename source/{ngc/ogc_video.h => gx/gx_video.h} (60%) rename source/{ngc/ngc.c => gx/main.c} (81%) rename source/{ngc => gx}/osd.h (82%) rename source/{ngc => gx}/png/Background_credits.c (100%) rename source/{ngc => gx}/png/Background_credits.h (100%) rename source/{ngc => gx}/png/Background_credits.png (100%) rename source/{ngc => gx}/png/Background_intro_c1.c (100%) rename source/{ngc => gx}/png/Background_intro_c1.h (100%) rename source/{ngc => gx}/png/Background_intro_c1.png (100%) rename source/{ngc => gx}/png/Background_intro_c2.c (100%) rename source/{ngc => gx}/png/Background_intro_c2.h (100%) rename source/{ngc => gx}/png/Background_intro_c2.png (100%) rename source/{ngc => gx}/png/Background_intro_c3.c (100%) rename source/{ngc => gx}/png/Background_intro_c3.h (100%) rename source/{ngc => gx}/png/Background_intro_c3.png (100%) rename source/{ngc => gx}/png/Background_intro_c4.c (100%) rename source/{ngc => gx}/png/Background_intro_c4.h (100%) rename source/{ngc => gx}/png/Background_intro_c4.png (100%) rename source/{ngc => gx}/png/Background_main.c (100%) rename source/{ngc => gx}/png/Background_main.h (100%) rename source/{ngc => gx}/png/Background_main.png (100%) rename source/{ngc => gx}/png/Background_overlay.c (100%) rename source/{ngc => gx}/png/Background_overlay.h (100%) rename source/{ngc => gx}/png/Background_overlay.png (100%) rename source/{ngc => gx}/png/Banner_bottom.c (100%) rename source/{ngc => gx}/png/Banner_bottom.h (100%) rename source/{ngc => gx}/png/Banner_bottom.png (100%) rename source/{ngc => gx}/png/Banner_main.c (100%) rename source/{ngc => gx}/png/Banner_main.h (100%) rename source/{ngc => gx}/png/Banner_main.png (100%) rename source/{ngc => gx}/png/Banner_top.c (100%) rename source/{ngc => gx}/png/Banner_top.h (100%) rename source/{ngc => gx}/png/Banner_top.png (100%) rename source/{ngc => gx}/png/Browser_dir.c (100%) rename source/{ngc => gx}/png/Browser_dir.h (100%) rename source/{ngc => gx}/png/Browser_dir.png (100%) rename source/{ngc => gx}/png/Button_delete.c (100%) rename source/{ngc => gx}/png/Button_delete.h (100%) rename source/{ngc => gx}/png/Button_delete.png (100%) rename source/{ngc => gx}/png/Button_delete_over.c (100%) rename source/{ngc => gx}/png/Button_delete_over.h (100%) rename source/{ngc => gx}/png/Button_delete_over.png (100%) rename source/{ngc => gx}/png/Button_down.c (100%) rename source/{ngc => gx}/png/Button_down.h (100%) rename source/{ngc => gx}/png/Button_down.png (100%) rename source/{ngc => gx}/png/Button_down_over.c (100%) rename source/{ngc => gx}/png/Button_down_over.h (100%) rename source/{ngc => gx}/png/Button_down_over.png (100%) rename source/{ngc => gx}/png/Button_icon.c (100%) rename source/{ngc => gx}/png/Button_icon.h (100%) rename source/{ngc => gx}/png/Button_icon.png (100%) rename source/{ngc => gx}/png/Button_icon_over.c (100%) rename source/{ngc => gx}/png/Button_icon_over.h (100%) rename source/{ngc => gx}/png/Button_icon_over.png (100%) rename source/{ngc => gx}/png/Button_icon_sm.c (100%) rename source/{ngc => gx}/png/Button_icon_sm.h (100%) rename source/{ngc => gx}/png/Button_icon_sm.png (100%) rename source/{ngc => gx}/png/Button_icon_sm_over.c (100%) rename source/{ngc => gx}/png/Button_icon_sm_over.h (100%) rename source/{ngc => gx}/png/Button_icon_sm_over.png (100%) rename source/{ngc => gx}/png/Button_load.c (100%) rename source/{ngc => gx}/png/Button_load.h (100%) rename source/{ngc => gx}/png/Button_load.png (100%) rename source/{ngc => gx}/png/Button_load_over.c (100%) rename source/{ngc => gx}/png/Button_load_over.h (100%) rename source/{ngc => gx}/png/Button_load_over.png (100%) rename source/{ngc => gx}/png/Button_save.c (100%) rename source/{ngc => gx}/png/Button_save.h (100%) rename source/{ngc => gx}/png/Button_save.png (100%) rename source/{ngc => gx}/png/Button_save_over.c (100%) rename source/{ngc => gx}/png/Button_save_over.h (100%) rename source/{ngc => gx}/png/Button_save_over.png (100%) rename source/{ngc => gx}/png/Button_special.c (100%) rename source/{ngc => gx}/png/Button_special.h (100%) rename source/{ngc => gx}/png/Button_special.png (100%) rename source/{ngc => gx}/png/Button_special_over.c (100%) rename source/{ngc => gx}/png/Button_special_over.h (100%) rename source/{ngc => gx}/png/Button_special_over.png (100%) rename source/{ngc => gx}/png/Button_text.c (100%) rename source/{ngc => gx}/png/Button_text.h (100%) rename source/{ngc => gx}/png/Button_text.png (100%) rename source/{ngc => gx}/png/Button_text_over.c (100%) rename source/{ngc => gx}/png/Button_text_over.h (100%) rename source/{ngc => gx}/png/Button_text_over.png (100%) rename source/{ngc => gx}/png/Button_text_sm.c (100%) rename source/{ngc => gx}/png/Button_text_sm.h (100%) rename source/{ngc => gx}/png/Button_text_sm.png (100%) rename source/{ngc => gx}/png/Button_text_sm_over.c (100%) rename source/{ngc => gx}/png/Button_text_sm_over.h (100%) rename source/{ngc => gx}/png/Button_text_sm_over.png (100%) rename source/{ngc => gx}/png/Button_up.c (100%) rename source/{ngc => gx}/png/Button_up.h (100%) rename source/{ngc => gx}/png/Button_up.png (100%) rename source/{ngc => gx}/png/Button_up_over.c (100%) rename source/{ngc => gx}/png/Button_up_over.h (100%) rename source/{ngc => gx}/png/Button_up_over.png (100%) rename source/{ngc => gx}/png/Crosshair_p1.c (100%) rename source/{ngc => gx}/png/Crosshair_p1.h (100%) rename source/{ngc => gx}/png/Crosshair_p1.png (100%) rename source/{ngc => gx}/png/Crosshair_p2.c (100%) rename source/{ngc => gx}/png/Crosshair_p2.h (100%) rename source/{ngc => gx}/png/Crosshair_p2.png (100%) rename source/{ngc => gx}/png/Ctrl_4wayplay.c (100%) rename source/{ngc => gx}/png/Ctrl_4wayplay.h (100%) rename source/{ngc => gx}/png/Ctrl_4wayplay.png (100%) rename source/{ngc => gx}/png/Ctrl_gamepad.c (100%) rename source/{ngc => gx}/png/Ctrl_gamepad.h (100%) rename source/{ngc => gx}/png/Ctrl_gamepad.png (100%) rename source/{ngc => gx}/png/Ctrl_justifiers.c (100%) rename source/{ngc => gx}/png/Ctrl_justifiers.h (100%) rename source/{ngc => gx}/png/Ctrl_justifiers.png (100%) rename source/{ngc => gx}/png/Ctrl_justifiers_black.c (100%) rename source/{ngc => gx}/png/Ctrl_justifiers_black.h (100%) rename source/{ngc => gx}/png/Ctrl_justifiers_black.png (100%) rename source/{ngc => gx}/png/Ctrl_menacer.c (100%) rename source/{ngc => gx}/png/Ctrl_menacer.h (100%) rename source/{ngc => gx}/png/Ctrl_menacer.png (100%) rename source/{ngc => gx}/png/Ctrl_mouse.c (100%) rename source/{ngc => gx}/png/Ctrl_mouse.h (100%) rename source/{ngc => gx}/png/Ctrl_mouse.png (100%) rename source/{ngc => gx}/png/Ctrl_port1.c (100%) rename source/{ngc => gx}/png/Ctrl_port1.h (100%) rename source/{ngc => gx}/png/Ctrl_port1.png (100%) rename source/{ngc => gx}/png/Ctrl_port2.c (100%) rename source/{ngc => gx}/png/Ctrl_port2.h (100%) rename source/{ngc => gx}/png/Ctrl_port2.png (100%) rename source/{ngc => gx}/png/Ctrl_port3.c (100%) rename source/{ngc => gx}/png/Ctrl_port3.h (100%) rename source/{ngc => gx}/png/Ctrl_port3.png (100%) rename source/{ngc => gx}/png/Ctrl_port4.c (100%) rename source/{ngc => gx}/png/Ctrl_port4.h (100%) rename source/{ngc => gx}/png/Ctrl_port4.png (100%) rename source/{ngc => gx}/png/Ctrl_teamplayer.c (100%) rename source/{ngc => gx}/png/Ctrl_teamplayer.h (100%) rename source/{ngc => gx}/png/Ctrl_teamplayer.png (100%) create mode 100644 source/gx/png/Frame_s1.c rename source/{ngc => gx}/png/Frame_s1.h (100%) rename source/{ngc => gx}/png/Frame_s1.png (100%) create mode 100644 source/gx/png/Frame_s2.c rename source/{ngc => gx}/png/Frame_s2.h (100%) rename source/{ngc => gx}/png/Frame_s2.png (100%) rename source/{ngc => gx}/png/Frame_title.c (100%) rename source/{ngc => gx}/png/Frame_title.h (100%) rename source/{ngc => gx}/png/Frame_title.png (100%) rename source/{ngc => gx}/png/Key_A_gcn.c (100%) rename source/{ngc => gx}/png/Key_A_gcn.h (100%) rename source/{ngc => gx}/png/Key_A_gcn.png (100%) rename source/{ngc => gx}/png/Key_A_wii.c (100%) rename source/{ngc => gx}/png/Key_A_wii.h (100%) rename source/{ngc => gx}/png/Key_A_wii.png (100%) rename source/{ngc => gx}/png/Key_B_gcn.c (100%) rename source/{ngc => gx}/png/Key_B_gcn.h (100%) rename source/{ngc => gx}/png/Key_B_gcn.png (100%) rename source/{ngc => gx}/png/Key_B_wii.c (100%) rename source/{ngc => gx}/png/Key_B_wii.h (100%) rename source/{ngc => gx}/png/Key_B_wii.png (100%) rename source/{ngc => gx}/png/Key_home.c (100%) rename source/{ngc => gx}/png/Key_home.h (100%) rename source/{ngc => gx}/png/Key_home.png (100%) create mode 100644 source/gx/png/Key_trigger_Z.c create mode 100644 source/gx/png/Key_trigger_Z.h create mode 100644 source/gx/png/Key_trigger_Z.png rename source/{ngc => gx}/png/Load_dvd.c (100%) rename source/{ngc => gx}/png/Load_dvd.h (100%) rename source/{ngc => gx}/png/Load_dvd.png (100%) rename source/{ngc => gx}/png/Load_recent.c (100%) rename source/{ngc => gx}/png/Load_recent.h (100%) rename source/{ngc => gx}/png/Load_recent.png (100%) rename source/{ngc => gx}/png/Load_sd.c (100%) rename source/{ngc => gx}/png/Load_sd.h (100%) rename source/{ngc => gx}/png/Load_sd.png (100%) rename source/{ngc => gx}/png/Load_usb.c (100%) rename source/{ngc => gx}/png/Load_usb.h (100%) rename source/{ngc => gx}/png/Load_usb.png (100%) rename source/{ngc => gx}/png/Main_file.c (100%) rename source/{ngc => gx}/png/Main_file.h (100%) rename source/{ngc => gx}/png/Main_file.png (100%) rename source/{ngc => gx}/png/Main_info.c (100%) rename source/{ngc => gx}/png/Main_info.h (100%) rename source/{ngc => gx}/png/Main_info.png (100%) rename source/{ngc => gx}/png/Main_load.c (100%) rename source/{ngc => gx}/png/Main_load.h (100%) rename source/{ngc => gx}/png/Main_load.png (100%) rename source/{ngc => gx}/png/Main_logo.c (100%) rename source/{ngc => gx}/png/Main_logo.h (100%) rename source/{ngc => gx}/png/Main_logo.png (100%) rename source/{ngc => gx}/png/Main_options.c (100%) rename source/{ngc => gx}/png/Main_options.h (100%) rename source/{ngc => gx}/png/Main_options.png (100%) rename source/{ngc => gx}/png/Main_play.c (100%) rename source/{ngc => gx}/png/Main_play.h (100%) rename source/{ngc => gx}/png/Main_play.png (100%) rename source/{ngc => gx}/png/Main_reset.c (100%) rename source/{ngc => gx}/png/Main_reset.h (100%) rename source/{ngc => gx}/png/Main_reset.png (100%) rename source/{ngc => gx}/png/Option_ctrl.c (100%) rename source/{ngc => gx}/png/Option_ctrl.h (100%) rename source/{ngc => gx}/png/Option_ctrl.png (100%) rename source/{ngc => gx}/png/Option_ggenie.c (100%) rename source/{ngc => gx}/png/Option_ggenie.h (100%) rename source/{ngc => gx}/png/Option_ggenie.png (100%) rename source/{ngc => gx}/png/Option_sound.c (100%) rename source/{ngc => gx}/png/Option_sound.h (100%) rename source/{ngc => gx}/png/Option_sound.png (100%) rename source/{ngc => gx}/png/Option_system.c (100%) rename source/{ngc => gx}/png/Option_system.h (100%) rename source/{ngc => gx}/png/Option_system.png (100%) rename source/{ngc => gx}/png/Option_video.c (100%) rename source/{ngc => gx}/png/Option_video.h (100%) rename source/{ngc => gx}/png/Option_video.png (100%) rename source/{ngc => gx}/png/Overlay_bar.c (100%) rename source/{ngc => gx}/png/Overlay_bar.h (100%) rename source/{ngc => gx}/png/Overlay_bar.png (100%) rename source/{ngc => gx}/png/Overlay_item.c (100%) rename source/{ngc => gx}/png/Overlay_item.h (100%) rename source/{ngc => gx}/png/Overlay_item.png (100%) rename source/{ngc => gx}/png/Overlay_item_over.c (100%) rename source/{ngc => gx}/png/Overlay_item_over.h (100%) rename source/{ngc => gx}/png/Overlay_item_over.png (100%) rename source/{ngc => gx}/png/Progress_bar.c (100%) rename source/{ngc => gx}/png/Progress_bar.h (100%) rename source/{ngc => gx}/png/Progress_bar.png (100%) create mode 100644 source/gx/png/Snap_empty.c rename source/{ngc => gx}/png/Snap_empty.h (100%) rename source/{ngc => gx}/png/Snap_empty.png (100%) create mode 100644 source/gx/png/Snap_frame.c create mode 100644 source/gx/png/Snap_frame.h rename source/{ngc => gx}/png/Snap_frame.png (100%) rename source/{ngc => gx}/png/Sram_empty.c (100%) rename source/{ngc => gx}/png/Sram_empty.h (100%) rename source/{ngc => gx}/png/Star_empty.c (100%) rename source/{ngc => gx}/png/Star_empty.h (100%) rename source/{ngc => gx}/png/Star_empty.png (100%) rename source/{ngc => gx}/png/Star_full.c (100%) rename source/{ngc => gx}/png/Star_full.h (100%) rename source/{ngc => gx}/png/Star_full.png (100%) rename source/{ngc => gx}/png/ctrl_classic.c (100%) rename source/{ngc => gx}/png/ctrl_classic.h (100%) rename source/{ngc => gx}/png/ctrl_classic.png (100%) rename source/{ngc => gx}/png/ctrl_gamecube.c (100%) rename source/{ngc => gx}/png/ctrl_gamecube.h (100%) rename source/{ngc => gx}/png/ctrl_gamecube.png (100%) rename source/{ngc => gx}/png/ctrl_nunchuk.c (100%) rename source/{ngc => gx}/png/ctrl_nunchuk.h (100%) rename source/{ngc => gx}/png/ctrl_nunchuk.png (100%) rename source/{ngc => gx}/png/ctrl_wiimote.c (100%) rename source/{ngc => gx}/png/ctrl_wiimote.h (100%) rename source/{ngc => gx}/png/ctrl_wiimote.png (100%) rename source/{ngc => gx}/png/generic_openhand.c (100%) rename source/{ngc => gx}/png/generic_openhand.h (100%) rename source/{ngc => gx}/png/generic_openhand.png (100%) rename source/{ngc => gx}/png/generic_point.c (100%) rename source/{ngc => gx}/png/generic_point.h (100%) rename source/{ngc => gx}/png/generic_point.png (100%) rename source/{ngc => gx}/png/multi_png.bat (100%) rename source/{ngc => gx}/png/raw2c.exe (100%) rename source/{ngc => gx}/sounds/button_over.c (100%) rename source/{ngc => gx}/sounds/button_over.h (100%) rename source/{ngc => gx}/sounds/button_over.pcm (100%) rename source/{ngc => gx}/sounds/button_select.c (100%) rename source/{ngc => gx}/sounds/button_select.h (100%) rename source/{ngc => gx}/sounds/button_select.pcm (100%) rename source/{ngc => gx}/sounds/raw2c.exe (100%) rename source/{ngc => gx}/sounds/sound2c.bat (100%) delete mode 100644 source/ngc/fileio/filesel.c delete mode 100644 source/ngc/gui/font.c delete mode 100644 source/ngc/png/Frame_s1.c delete mode 100644 source/ngc/png/Frame_s2.c delete mode 100644 source/ngc/png/Snap_empty.c diff --git a/source/genesis.c b/source/genesis.c index 3b116ff..e02e32a 100644 --- a/source/genesis.c +++ b/source/genesis.c @@ -176,6 +176,7 @@ void gen_reset (uint32 hard_reset) void gen_shutdown (void) { + z80_exit(); } /*----------------------------------------------------------------------- diff --git a/source/ngc/gcaram.c b/source/gx/aram.c similarity index 95% rename from source/ngc/gcaram.c rename to source/gx/aram.c index 695a60f..b3596f7 100644 --- a/source/ngc/gcaram.c +++ b/source/gx/aram.c @@ -1,5 +1,5 @@ /**************************************************************************** - * gcaram.c + * aram.c * * ARAM wrapper for libogc * @@ -21,7 +21,6 @@ * ***************************************************************************/ - #include "shared.h" #define ARAMSTART 0x8000 diff --git a/source/ngc/gcaram.h b/source/gx/aram.h similarity index 96% rename from source/ngc/gcaram.h rename to source/gx/aram.h index 78e4350..9fb9e56 100644 --- a/source/ngc/gcaram.h +++ b/source/gx/aram.h @@ -1,5 +1,5 @@ /**************************************************************************** - * gcaram.c + * aram.c * * ARAM wrapper for libogc * diff --git a/source/ngc/config.c b/source/gx/config.c similarity index 94% rename from source/ngc/config.c rename to source/gx/config.c index bd6dbab..3ea2a25 100644 --- a/source/ngc/config.c +++ b/source/gx/config.c @@ -72,11 +72,11 @@ void config_load() fclose(fp); } -void set_config_defaults(void) +void config_setDefault(void) { /* version TAG */ strncpy(config.version,CONFIG_VERSION,15); - + /* sound options */ config.psg_preamp = 150; config.fm_preamp = 100; @@ -107,7 +107,7 @@ void set_config_defaults(void) config.bilinear = 1; /* controllers options */ - ogc_input_default(); + gx_input_setDefault(); config.gun_cursor = 1; config.invert_mouse = 0; } diff --git a/source/ngc/config.h b/source/gx/config.h similarity index 94% rename from source/ngc/config.h rename to source/gx/config.h index 0cbf0cf..cc817b7 100644 --- a/source/ngc/config.h +++ b/source/gx/config.h @@ -64,7 +64,7 @@ t_config config; extern void config_save(); extern void config_load(); -extern void set_config_defaults(void); +extern void config_setDefault(void); #endif /* _CONFIG_H_ */ diff --git a/source/ngc/fileio/dvd.c b/source/gx/fileio/dvd.c similarity index 95% rename from source/ngc/fileio/dvd.c rename to source/gx/fileio/dvd.c index 1460594..3e03799 100644 --- a/source/ngc/fileio/dvd.c +++ b/source/gx/fileio/dvd.c @@ -24,10 +24,6 @@ #include "shared.h" #include "font.h" -#ifdef HW_RVL -#include "di/di.h" -#endif - #ifndef HW_RVL static u64 DvdMaxOffset = 0x57057C00; /* 1.4 GB max. by default */ static vu32* const dvd = (u32*)0xCC006000; /* DVD I/O Address base */ diff --git a/source/ngc/fileio/dvd.h b/source/gx/fileio/dvd.h similarity index 100% rename from source/ngc/fileio/dvd.h rename to source/gx/fileio/dvd.h diff --git a/source/ngc/fileio/file_dvd.c b/source/gx/fileio/file_dvd.c similarity index 95% rename from source/ngc/fileio/file_dvd.c rename to source/gx/fileio/file_dvd.c index bce83b7..2e8dd8c 100644 --- a/source/ngc/fileio/file_dvd.c +++ b/source/gx/fileio/file_dvd.c @@ -27,10 +27,6 @@ #include "unzip.h" #include "filesel.h" -#ifdef HW_RVL -#include "di/di.h" -#endif - /** Minimal ISO Directory Definition **/ #define RECLEN 0 /* Record length */ #define EXTENT 6 /* Extent */ diff --git a/source/ngc/fileio/file_dvd.h b/source/gx/fileio/file_dvd.h similarity index 100% rename from source/ngc/fileio/file_dvd.h rename to source/gx/fileio/file_dvd.h diff --git a/source/ngc/fileio/file_fat.c b/source/gx/fileio/file_fat.c similarity index 100% rename from source/ngc/fileio/file_fat.c rename to source/gx/fileio/file_fat.c diff --git a/source/ngc/fileio/file_fat.h b/source/gx/fileio/file_fat.h similarity index 100% rename from source/ngc/fileio/file_fat.h rename to source/gx/fileio/file_fat.h diff --git a/source/ngc/filemem.c b/source/gx/fileio/file_mem.c similarity index 96% rename from source/ngc/filemem.c rename to source/gx/fileio/file_mem.c index cb6a80b..aa8c359 100644 --- a/source/ngc/filemem.c +++ b/source/gx/fileio/file_mem.c @@ -1,5 +1,5 @@ /* - * filemem.c + * file_mem.c * * FAT and Memory Card SRAM/Savestate files managment * @@ -23,12 +23,10 @@ #include "shared.h" #include "font.h" -#include "saveicon.h" +#include "menu.h" #include "filesel.h" - -#ifndef HW_RVL +#include "saveicon.h" #include "dvd.h" -#endif /* Support for MemCards */ /** diff --git a/source/ngc/fileio/history.c b/source/gx/fileio/history.c similarity index 95% rename from source/ngc/fileio/history.c rename to source/gx/fileio/history.c index 86f75ff..1aec1d7 100644 --- a/source/ngc/fileio/history.c +++ b/source/gx/fileio/history.c @@ -110,7 +110,7 @@ void history_load() fclose(fp); } -void set_history_defaults(void) +void history_setDefault(void) { int i; for(i=0; i < NUM_HISTORY_ENTRIES; i++) diff --git a/source/ngc/fileio/history.h b/source/gx/fileio/history.h similarity index 94% rename from source/ngc/fileio/history.h rename to source/gx/fileio/history.h index 75fbff5..4885831 100644 --- a/source/ngc/fileio/history.h +++ b/source/gx/fileio/history.h @@ -46,6 +46,6 @@ typedef struct extern t_history history; extern void history_add_file(char *filepath, char *filename); extern void history_load(); -extern void set_history_defaults(); +extern void history_setDefault(); #endif diff --git a/source/ngc/fileio/unzip.c b/source/gx/fileio/unzip.c similarity index 100% rename from source/ngc/fileio/unzip.c rename to source/gx/fileio/unzip.c diff --git a/source/ngc/fileio/unzip.h b/source/gx/fileio/unzip.h similarity index 100% rename from source/ngc/fileio/unzip.h rename to source/gx/fileio/unzip.h diff --git a/source/gx/gui/filesel.c b/source/gx/gui/filesel.c new file mode 100644 index 0000000..0bba912 --- /dev/null +++ b/source/gx/gui/filesel.c @@ -0,0 +1,406 @@ +/* + * filesel.c + * + * File Selection menu + * + * code by Softdev (2006), Eke-Eke (2007,2008) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ********************************************************************************/ + +#include "shared.h" +#include "menu.h" +#include "font.h" +#include "file_dvd.h" +#include "file_fat.h" +#include "filesel.h" + +#ifdef HW_RVL +#include +#endif + +/* this is emulator specific ! */ +#define PAGESIZE 14 +//#define PAGEOFFSET 120 + + +/* Global Variables */ +int maxfiles = 0; +int offset = 0; +int selection = 0; +int old_selection = 0; +int old_offset = 0; +int useFAT = 0; +int useHistory = 0; +int haveDVDdir = 0; +int haveFATdir = 0; + +FILEENTRIES filelist[MAXFILES]; + +/*************************************************************************** + * ShowFiles + * + * Show filenames list in current directory + ***************************************************************************/ +/*static void ShowFiles (int offset, int selection) +{ + int i, j; + char text[MAXJOLIET+2]; + + gxClearScreen ((GXColor)BLACK); + j = 0; + + for (i = offset; i < (offset + PAGESIZE) && (i < maxfiles); i++) + { + memset(text,0,MAXJOLIET+2); + if (filelist[i].flags) sprintf(text, "[%s]", filelist[i].filename + filelist[i].filename_offset); + else sprintf (text, "%s", filelist[i].filename + filelist[i].filename_offset); + if (j == (selection - offset)) WriteCentre_HL ((j * fheight) + PAGEOFFSET, text); + else WriteCentre ((j * fheight) + PAGEOFFSET, text); + j++; + } + gxSetScreen (); +}*/ + +/*************************************************************************** + * FileSortCallback (Marty Disibio) + * + * Quick sort callback to sort file entries with the following order: + * . + * .. + * + * + ***************************************************************************/ +int FileSortCallback(const void *f1, const void *f2) +{ + /* Special case for implicit directories */ + if(((FILEENTRIES *)f1)->filename[0] == '.' || ((FILEENTRIES *)f2)->filename[0] == '.') + { + if(strcmp(((FILEENTRIES *)f1)->filename, ".") == 0) { return -1; } + if(strcmp(((FILEENTRIES *)f2)->filename, ".") == 0) { return 1; } + if(strcmp(((FILEENTRIES *)f1)->filename, "..") == 0) { return -1; } + if(strcmp(((FILEENTRIES *)f2)->filename, "..") == 0) { return 1; } + } + + /* If one is a file and one is a directory the directory is first. */ + if(((FILEENTRIES *)f1)->flags == 1 && ((FILEENTRIES *)f2)->flags == 0) return -1; + if(((FILEENTRIES *)f1)->flags == 0 && ((FILEENTRIES *)f2)->flags == 1) return 1; + + return stricmp(((FILEENTRIES *)f1)->filename, ((FILEENTRIES *)f2)->filename); +} + +/**************************************************************************** + * FileSelector + * + * Let user select a file from the File listing +..* ROM file buffer is provided as input + * ROM size is returned + * + ****************************************************************************/ + +int FileSelector(unsigned char *buffer) +{ + short p; +// int redraw = 1; + int go_up = 0; + int quit =0; + int ret; + int i,size; + int yoffset = 86; + + char comment[2][30] = {"Back","Load ROM File"}; + char fname[MAXPATHLEN]; + FILE *xml; + FILE *snap; + +#ifdef HW_RVL + /* allocate wiimote pointer data (only done once) */ + gx_texture *pointer = gxTextureOpenPNG(generic_point); +#endif + + /* allocate background overlay texture */ + gui_image *overlay = &bg_overlay_line; + if (!overlay->texture) overlay->texture = gxTextureOpenPNG(overlay->data); + + /* allocate background image texture */ + gui_image *bg = &bg_right; + if (!bg->texture) bg->texture = gxTextureOpenPNG(bg->data); + + /* allocate logo texture */ + gui_image *logo = &logo_small; + if (!logo->texture) logo->texture = gxTextureOpenPNG(logo->data); + + /* allocate background elements textures */ + gui_image *banners[2] = {&top_banner,&bottom_banner}; + gui_item *helpers[2] = {&action_cancel, &action_select}; + for (i=0; i<2; i++) + { + /* banners */ + if (!banners[i]->texture) banners[i]->texture = gxTextureOpenPNG(banners[i]->data); + + /* key helpers */ + if (!helpers[i]->texture) helpers[i]->texture = gxTextureOpenPNG(helpers[i]->data); + } + + /* frames */ + gx_texture *frame_left = gxTextureOpenPNG(Frame_s1); + gx_texture *frame_right = gxTextureOpenPNG(Frame_s2); + + /* arrows */ + gx_texture *arrow_up = gxTextureOpenPNG(Button_up); + gx_texture *arrow_up_over = gxTextureOpenPNG(Button_up_over); + gx_texture *arrow_down = gxTextureOpenPNG(Button_down); + gx_texture *arrow_down_over = gxTextureOpenPNG(Button_down_over); + + /* selection bar */ + gx_texture *bar_over = gxTextureOpenPNG(Overlay_bar); + + /* directory icon */ + gx_texture *dir_icon = gxTextureOpenPNG(Browser_dir); + + /* stars */ + gx_texture *star_full = gxTextureOpenPNG(Star_full); + gx_texture *star_empty = gxTextureOpenPNG(Star_empty); + + /* snapshots */ + gx_texture *snap_frame = gxTextureOpenPNG(Snap_frame); + gx_texture *snap_empty = gxTextureOpenPNG(Snap_empty); + + while (!quit) + { + /* Draw menu*/ + gxClearScreen ((GXColor)BACKGROUND); + gxDrawRepeat(overlay->texture,overlay->x,overlay->y,overlay->w,overlay->h); + gxDrawTexture(bg->texture,bg->x,bg->y,bg->w,bg->h,255); + gxDrawTexture(banners[0]->texture,banners[0]->x,banners[0]->y,banners[0]->w,banners[0]->h,255); + gxDrawTexture(banners[1]->texture,banners[1]->x,banners[1]->y,banners[1]->w,banners[1]->h,255); + gxDrawTexture(helpers[0]->texture,helpers[0]->x,helpers[0]->y,helpers[0]->w,helpers[0]->h,255); + gxDrawTexture(helpers[1]->texture,helpers[1]->x,helpers[1]->y,helpers[1]->w,helpers[1]->h,255); + gxDrawTexture(logo->texture,logo->x,logo->y,logo->w,logo->h,255); + + /* Draw title & helps */ + FONT_alignLeft("ROM Files Selection", 22,10,56, (GXColor)WHITE); + FONT_alignLeft(comment[0], 16, helpers[0]->x+helpers[0]->w+6,helpers[0]->y+(helpers[0]->h-16)/2 + 16, (GXColor)WHITE); + FONT_alignRight(comment[1], 16, helpers[1]->x - 6, helpers[1]->y+(helpers[1]->h-16)/2 + 16, (GXColor)WHITE); + + /* ROM database informations */ + strncpy(fname, filelist[selection].filename, strlen(filelist[selection].filename) - 4); + sprintf(fname, "%s%s.xml","/genplus/db/",fname); + xml = fopen(fname, "rb"); + if (xml) + { + gxDrawTexture(frame_right,384,264,frame_right->width,frame_right->height,204); + fclose(xml); /* TODO */ + } + + /* ROM snapshot */ + strncpy(fname, filelist[selection].filename, strlen(filelist[selection].filename) - 4); + sprintf(fname, "%s%s.png","/genplus/snap/",fname); + snap = fopen(fname, "rb"); + if (snap) + { + fclose(snap); /* TODO */ + } + else + { + gxDrawTexture(snap_empty,422,114,snap_empty->width,snap_empty->height,255); + } + + /* Cartridge picture */ + gxDrawTexture(snap_frame,388,112,snap_frame->width,snap_frame->height,255); + + /* File list */ + gxDrawTexture(frame_left,14,76,frame_left->width,frame_left->height,204); + for (i = offset; i < (offset + PAGESIZE) && (i < maxfiles); i++) + { + if (i == selection) + { + gxDrawTexture(bar_over,22,yoffset - ((bar_over->height - dir_icon->height)/2), bar_over->width,bar_over->height,255); + } + + if (filelist[i].flags) + { + /* directory icon */ + gxDrawTexture(dir_icon,26,yoffset,dir_icon->width,dir_icon->height,255); + FONT_alignLeft(filelist[i].filename + filelist[i].filename_offset, 12,26+dir_icon->width+6,yoffset+(dir_icon->height-12)/2 + 12, (GXColor)WHITE); + } + else + { + FONT_alignLeft(filelist[i].filename + filelist[i].filename_offset, 12,26,yoffset+(dir_icon->height-12)/2 + 12, (GXColor)WHITE); + } + + yoffset += 22; + } + + /* copy EFB to XFB */ + gxSetScreen (); + + /* if (redraw) ShowFiles (offset, selection); + redraw = 0;*/ + p = m_input.keys; + + /* scroll displayed filename */ + if (p & PAD_BUTTON_LEFT) + { + if (filelist[selection].filename_offset > 0) + { + filelist[selection].filename_offset --; + //redraw = 1; + } + } + else if (p & PAD_BUTTON_RIGHT) + { + size = 0; + for (i=filelist[selection].filename_offset; i back_framewidth) + { + filelist[selection].filename_offset ++; + //redraw = 1; + } + } + + /* highlight next item */ + else if (p & PAD_BUTTON_DOWN) + { + filelist[selection].filename_offset = 0; + selection++; + if (selection == maxfiles) selection = offset = 0; + if ((selection - offset) >= PAGESIZE) offset += PAGESIZE; + //redraw = 1; + } + + /* highlight previous item */ + else if (p & PAD_BUTTON_UP) + { + filelist[selection].filename_offset = 0; + selection--; + if (selection < 0) + { + selection = maxfiles - 1; + offset = selection - PAGESIZE + 1; + } + if (selection < offset) offset -= PAGESIZE; + if (offset < 0) offset = 0; + //redraw = 1; + } + + /* go back one page */ + else if (p & PAD_TRIGGER_L) + { + filelist[selection].filename_offset = 0; + selection -= PAGESIZE; + if (selection < 0) + { + selection = maxfiles - 1; + offset = selection - PAGESIZE + 1; + } + if (selection < offset) offset -= PAGESIZE; + if (offset < 0) offset = 0; + //redraw = 1; + } + + /* go forward one page */ + else if (p & PAD_TRIGGER_R) + { + filelist[selection].filename_offset = 0; + selection += PAGESIZE; + if (selection > maxfiles - 1) selection = offset = 0; + if ((selection - offset) >= PAGESIZE) offset += PAGESIZE; + //redraw = 1; + } + + /* quit */ + if (p & PAD_TRIGGER_Z) + { + filelist[selection].filename_offset = 0; + return 0; + } + + /* open selected file or directory */ + if ((p & PAD_BUTTON_A) || (p & PAD_BUTTON_B)) + { + filelist[selection].filename_offset = 0; + go_up = 0; + + if (p & PAD_BUTTON_B) + { + /* go up one directory or quit */ + go_up = 1; + selection = useFAT ? 0 : 1; + } + + /*** This is directory ***/ + if (filelist[selection].flags) + { + /* get new directory */ + if (useFAT) ret =FAT_UpdateDir(go_up); + else ret = DVD_UpdateDir(go_up); + + /* get new entry list or quit */ + if (ret) + { + if (useFAT) maxfiles = FAT_ParseDirectory(); + else maxfiles = DVD_ParseDirectory(); + } + else + { + quit = 2; + } + } + + /*** This is a file ***/ + else + { + /* root directory ? */ + if (go_up) quit = 2; + else quit = 1; + } + //redraw = 1; + } + } + +#ifdef HW_RVL + /* allocate wiimote pointer data (only done once) */ + gxTextureClose(&pointer); +#endif + + gxTextureClose(&overlay->texture); + gxTextureClose(&bg->texture); + gxTextureClose(&logo->texture); + for (i=0; i<2; i++) + { + gxTextureClose(&banners[i]->texture); + gxTextureClose(&helpers[i]->texture); + } + gxTextureClose(&frame_left); + gxTextureClose(&frame_right); + gxTextureClose(&arrow_up); + gxTextureClose(&arrow_up_over); + gxTextureClose(&arrow_down); + gxTextureClose(&arrow_down_over); + gxTextureClose(&bar_over); + gxTextureClose(&dir_icon); + gxTextureClose(&star_full); + gxTextureClose(&star_empty); + gxTextureClose(&snap_frame); + gxTextureClose(&snap_empty); + + if (quit == 2) return 0; + else if (useFAT) return FAT_LoadFile(buffer); + else return DVD_LoadFile(buffer); +} diff --git a/source/ngc/fileio/filesel.h b/source/gx/gui/filesel.h similarity index 91% rename from source/ngc/fileio/filesel.h rename to source/gx/gui/filesel.h index 520c253..176126c 100644 --- a/source/ngc/fileio/filesel.h +++ b/source/gx/gui/filesel.h @@ -27,11 +27,6 @@ #define MAXJOLIET 256 #define MAXFILES 1000 -/* this is emulator specific ! */ -#define PAGESIZE 12 -#define PAGEOFFSET 120 - - /* Filelist structure */ typedef struct { diff --git a/source/gx/gui/font.c b/source/gx/gui/font.c new file mode 100644 index 0000000..d225b7a --- /dev/null +++ b/source/gx/gui/font.c @@ -0,0 +1,278 @@ +/***************************************************************************** + * font.c + * + * IPL FONT Engine, based on Qoob MP3 Player Font + * + * code by Softdev (2006), Eke-Eke(2007-2008) + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ********************************************************************************/ + +#include "shared.h" +#include "font.h" +#include "menu.h" + +/* Backdrop Frame Width (to avoid writing outside of the background frame) */ +u16 back_framewidth = 640; +int font_size[256], fheight; + +#ifndef HW_RVL +/* disable Qoob Modchip before IPL access (emukiddid) */ +static void ipl_set_config(unsigned char c) +{ + volatile unsigned long* exi = (volatile unsigned long*)0xCC006800; + unsigned long val,addr; + addr=0xc0000000; + val = c << 24; + exi[0] = ((((exi[0]) & 0x405) | 256) | 48); //select IPL + //write addr of IPL + exi[0 * 5 + 4] = addr; + exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; + while (exi[0 * 5 + 3] & 1); + //write the ipl we want to send + exi[0 * 5 + 4] = val; + exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; + while (exi[0 * 5 + 3] & 1); + exi[0] &= 0x405; //deselect IPL +} +#endif + +static sys_fontheader *fontHeader; +static u8 *fontTexture; + +int FONT_Init(void) +{ +#ifndef HW_RVL + /* disable Qoob before accessing IPL */ + ipl_set_config(6); +#endif + + /* initialize IPL font */ + fontHeader = memalign(32,sizeof(sys_fontheader)); + if (!fontHeader) return 0; + SYS_InitFont(&fontHeader); + + /* character width table */ + int i,c; + for (i=0; i<256; ++i) + { + if ((i < fontHeader->first_char) || (i > fontHeader->last_char)) c = fontHeader->inval_char; + else c = i - fontHeader->first_char; + font_size[i] = ((unsigned char*)fontHeader)[fontHeader->width_table + c]; + } + + /* default font height */ + fheight = fontHeader->cell_height; + + /* initialize texture data */ + fontTexture = memalign(32, fontHeader->cell_width * fontHeader->cell_height / 2); + if (!fontTexture) + { + free(fontHeader); + return 0; + } + + return 1; +} + +void FONT_Shutdown(void) +{ + if (fontHeader) free(fontHeader); + if (fontTexture) free(fontTexture); +} + +static void DrawChar(unsigned char c, int xpos, int ypos, int size, GXColor color) +{ + s32 width; + + /* reintialize texture object */ + GXTexObj texobj; + GX_InitTexObj(&texobj, fontTexture, fontHeader->cell_width, fontHeader->cell_height, GX_TF_I4, GX_CLAMP, GX_CLAMP, GX_FALSE); + GX_LoadTexObj(&texobj, GX_TEXMAP0); + + /* reinitialize font texture data */ + memset(fontTexture,0,fontHeader->cell_width * fontHeader->cell_height / 2); + SYS_GetFontTexel(c,fontTexture,0,fontHeader->cell_width/2,&width); + DCFlushRange(fontTexture, fontHeader->cell_width * fontHeader->cell_height / 2); + GX_InvalidateTexAll(); + + /* adjust texture width */ + width = (fontHeader->cell_width * size) / fontHeader->cell_height; + + /* GX rendering */ + GX_Begin(GX_QUADS, GX_VTXFMT0, 4); + GX_Position2s16(xpos, ypos - size); + GX_Color4u8(color.r, color.g, color.b, 0xff); + GX_TexCoord2f32(0.0, 0.0); + GX_Position2s16(xpos + width, ypos - size); + GX_Color4u8(color.r, color.g, color.b, 0xff); + GX_TexCoord2f32(1.0, 0.0); + GX_Position2s16(xpos + width, ypos); + GX_Color4u8(color.r, color.g, color.b, 0xff); + GX_TexCoord2f32(1.0, 1.0); + GX_Position2s16(xpos, ypos); + GX_Color4u8(color.r, color.g, color.b, 0xff); + GX_TexCoord2f32(0.0, 1.0); + GX_End (); + GX_DrawDone(); +} + + +void write_font(int x, int y, char *string) +{ + int ox = x; + while (*string && (x < (ox + back_framewidth))) + { + DrawChar(*string, x -(vmode->fbWidth/2), y-(vmode->efbHeight/2),fontHeader->cell_height,(GXColor)WHITE); + x += font_size[(u8)*string]; + string++; + } +} + +void WriteCentre( int y, char *string) +{ + int x, t; + for (x=t=0; tback_framewidth) x=back_framewidth; + x = (640 - x) >> 1; + write_font(x, y, string); +} + +void WriteCentre_HL( int y, char *string) +{ + gx_texture *texture = gxTextureOpenPNG(Overlay_bar); + if (texture) + { + gxDrawTexture(texture, 0, y-fheight, 640, fheight,240); + if (texture->data) free(texture->data); + free(texture); + } + WriteCentre(y, string); +} + +void FONT_alignLeft(char *string, int size, int x, int y, GXColor color) +{ + x -= (vmode->fbWidth / 2); + y -= (vmode->efbHeight / 2); + + while (*string) + { + DrawChar(*string, x, y, size,color); + x += (font_size[(u8)*string++] * size) / fheight; + } +} + +void FONT_alignRight(char *string, int size, int x, int y, GXColor color) +{ + int i; + u16 width = 0; + + for (i=0; ifbWidth / 2) + width; + y -= (vmode->efbHeight / 2); + + while (*string) + { + DrawChar(*string, x, y, size,color); + x += (font_size[(u8)*string++] * size) / fheight; + } +} + +void FONT_writeCenter(char *string, int size, int x1, int x2, int y, GXColor color) +{ + int i; + u16 width = 0; + + for (i=0; ifbWidth) / 2; + y -= (vmode->efbHeight / 2); + + while (*string) + { + DrawChar(*string, x1, y, size,color); + x1 += (font_size[(u8)*string++] * size) / fheight; + } +} + +/**************************************************************************** + * Draw functions (FrameBuffer) + * + ****************************************************************************/ +void fntDrawHLine (int x1, int x2, int y, int color) +{ + int i; + y = 320 * y; + x1 >>= 1; + x2 >>= 1; + for (i = x1; i <= x2; i++) xfb[whichfb][y + i] = color; +} + +void fntDrawVLine (int x, int y1, int y2, int color) +{ + int i; + x >>= 1; + for (i = y1; i <= y2; i++) xfb[whichfb][x + (640 * i) / 2] = color; +} + +void fntDrawBox (int x1, int y1, int x2, int y2, int color) +{ + fntDrawHLine (x1, x2, y1, color); + fntDrawHLine (x1, x2, y2, color); + fntDrawVLine (x1, y1, y2, color); + fntDrawVLine (x2, y1, y2, color); +} + +void fntDrawBoxFilled (int x1, int y1, int x2, int y2, int color) +{ + int h; + for (h = y1; h <= y2; h++) fntDrawHLine (x1, x2, h, color); +} + +/**************************************************************************** + * Generic GUI functions (deprecated) + * + ****************************************************************************/ +u8 SILENT = 0; + +void WaitButtonA () +{ + while (m_input.keys & PAD_BUTTON_A) VIDEO_WaitVSync(); + while (!(m_input.keys & PAD_BUTTON_A)) VIDEO_WaitVSync(); +} + +void WaitPrompt (char *msg) +{ + if (SILENT) return; + gxClearScreen((GXColor)BLACK); + WriteCentre(254, msg); + WriteCentre(254 + fheight, "Press A to Continue"); + gxSetScreen(); + WaitButtonA (); +} + +void ShowAction (char *msg) +{ + if (SILENT) return; + + gxClearScreen((GXColor)BLACK); + WriteCentre(254, msg); + gxSetScreen(); +} diff --git a/source/ngc/gui/font.h b/source/gx/gui/font.h similarity index 67% rename from source/ngc/gui/font.h rename to source/gx/gui/font.h index 9742893..535a88e 100644 --- a/source/ngc/gui/font.h +++ b/source/gx/gui/font.h @@ -1,9 +1,9 @@ /***************************************************************************** * font.c * - * IPL FONT Engine, based on Qoob MP3 Player Font + * IPL Font Engine, powered by GX hardware * - * code by Softdev (2006), Eke-Eke(2007-2008) + * code Eke-Eke(2009) * * * This program is free software; you can redistribute it and/or modify @@ -25,46 +25,25 @@ #ifndef _FONT_H #define _FONT_H -#define BLACK {0,0,0,0xff} -#define DARK_GREY {0x22,0x22,0x22,0xff} -#define WHITE {0xff,0xff,0xff,0xff} - - -extern GXColor BACKGROUND; - -typedef struct -{ - u8 *data; - u16 width; - u16 height; - u8 format; -} png_texture; - -extern void CloseTexturePNG(png_texture **p_texture); -extern png_texture *OpenTexturePNG(const u8 *buffer); -extern void DrawTexture(png_texture *texture, int x, int y, int w, int h); -extern void DrawTextureRepeat(png_texture *texture, int x, int y, int w, int h); -extern void DrawTextureAlpha(png_texture *texture, int x, int y, int w, int h, u8 alpha); - extern int FONT_Init(void); +extern void FONT_Shutdown(void); extern void FONT_alignLeft(char *string, int size, int x, int y, GXColor color); extern void FONT_alignRight(char *string, int size, int x, int y, GXColor color); extern void FONT_writeCenter(char *string, int size, int x1, int x2, int y, GXColor color); +extern void WaitButtonA (); +extern void WaitPrompt (char *msg); +extern void ShowAction (char *msg); + + extern void WriteCentre_HL( int y, char *string); extern void WriteCentre (int y, char *string); extern void write_font (int x, int y, char *string); extern void WriteText(char *text, int size, int x, int y); -extern void WaitPrompt (char *msg); -extern void ShowAction (char *msg); -extern void WaitButtonA (); -extern void ClearScreen (GXColor color); -extern void SetScreen (); extern void fntDrawBoxFilled (int x1, int y1, int x2, int y2, int color); extern int fheight; extern int font_size[256]; extern u16 back_framewidth; -extern u8 SILENT; #endif diff --git a/source/ngc/gui/ggentry.c b/source/gx/gui/ggentry.c similarity index 93% rename from source/ngc/gui/ggentry.c rename to source/gx/gui/ggentry.c index 3d985a1..e8e19f8 100644 --- a/source/ngc/gui/ggentry.c +++ b/source/gx/gui/ggentry.c @@ -23,11 +23,11 @@ #include "shared.h" #include "font.h" +#include "menu.h" #define MAXCODES 8 extern char menutitle[60]; -extern s16 ogc_input__getMenuButtons(u32 cnt); typedef struct { @@ -166,7 +166,7 @@ void DrawGGCodes () int i,j; unsigned char c[2] = { 0, 0 }; - ClearScreen ((GXColor)BACKGROUND); + gxClearScreen ((GXColor)BLACK); WriteCentre (134, menutitle); for (i = 0; i < MAXCODES; i++) @@ -193,7 +193,7 @@ void DrawGGCodes () } else WriteCentre ((i * fheight) + 190, (char *)ggcodes[i]); } - SetScreen (); + gxSetScreen (); } /**************************************************************************** @@ -221,7 +221,7 @@ void GGEditLine () redraw = 0; } - p = ogc_input__getMenuButtons(0); + p = m_input.keys; if (p & PAD_BUTTON_UP) { @@ -294,7 +294,7 @@ void GGSelectLine () redraw = 0; } - j = ogc_input__getMenuButtons(0); + j = m_input.keys; if (j & PAD_BUTTON_UP) { diff --git a/source/ngc/gui/legal.c b/source/gx/gui/legal.c similarity index 68% rename from source/ngc/gui/legal.c rename to source/gx/gui/legal.c index 362aa27..937c745 100644 --- a/source/ngc/gui/legal.c +++ b/source/gx/gui/legal.c @@ -24,12 +24,7 @@ #include "shared.h" #include "font.h" -#include "Background_intro_c1.h" -#include "Background_intro_c2.h" -#include "Background_intro_c3.h" -#include "Background_intro_c4.h" - -extern s16 ogc_input__getMenuButtons(u32 cnt); +#include "menu.h" /* * This is the legal stuff - which must be shown at program startup @@ -40,9 +35,9 @@ extern s16 ogc_input__getMenuButtons(u32 cnt); void legal () { int ypos = 64; - png_texture *texture; + gx_texture *texture; - ClearScreen((GXColor)BLACK); + gxClearScreen((GXColor)BLACK); WriteCentre (ypos, "Genesis Plus Sega Mega Drive Emulator (v1.2a)"); ypos += fheight; @@ -63,60 +58,60 @@ void legal () WriteCentre (ypos, "You are free to use it as you wish."); ypos += 2*fheight; - texture= OpenTexturePNG(Background_intro_c4); + texture= gxTextureOpenPNG(Background_intro_c4); if (texture) { - DrawTexture(texture, (640-texture->width)/2, ypos, texture->width, texture->height); + gxDrawTexture(texture, (640-texture->width)/2, ypos, texture->width, texture->height,255); ypos += texture->height + 2 * fheight; if (texture->data) free(texture->data); free(texture); } - SetScreen (); + gxSetScreen (); sleep (1); WriteCentre (ypos, "Press any button to skip intro"); - SetScreen (); + gxSetScreen (); int count = 100; while (count > 0) { count--; VIDEO_WaitVSync(); - if (ogc_input__getMenuButtons(0)) return; + if (m_input.keys) return; } - ClearScreen((GXColor)BLACK); - texture = OpenTexturePNG(Background_intro_c1); + gxClearScreen((GXColor)BLACK); + texture = gxTextureOpenPNG(Background_intro_c1); if (texture) { - DrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height); + gxDrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height,255); if (texture->data) free(texture->data); free(texture); } - SetScreen (); + gxSetScreen (); sleep (1); - ClearScreen((GXColor)WHITE); - texture = OpenTexturePNG(Background_intro_c2); + gxClearScreen((GXColor)WHITE); + texture = gxTextureOpenPNG(Background_intro_c2); if (texture) { - DrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height); + gxDrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height,255); if (texture->data) free(texture->data); free(texture); } - SetScreen (); + gxSetScreen (); sleep (1); - ClearScreen((GXColor)BLACK); - texture = OpenTexturePNG(Background_intro_c3); + gxClearScreen((GXColor)BLACK); + texture = gxTextureOpenPNG(Background_intro_c3); if (texture) { - DrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height); + gxDrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height,255); if (texture->data) free(texture->data); free(texture); } - SetScreen (); + gxSetScreen (); sleep (2); } diff --git a/source/ngc/gui/menu.c b/source/gx/gui/menu.c similarity index 71% rename from source/ngc/gui/menu.c rename to source/gx/gui/menu.c index 55deb79..97ca059 100644 --- a/source/ngc/gui/menu.c +++ b/source/gx/gui/menu.c @@ -24,200 +24,64 @@ #include "shared.h" #include "dvd.h" #include "font.h" +#include "menu.h" #include "file_dvd.h" #include "file_fat.h" #include "filesel.h" -#include "Banner_main.h" -#include "Banner_bottom.h" -#include "Banner_top.h" -#include "Background_main.h" -#include "Background_overlay.h" -#include "Frame_s1.h" -#include "Frame_s2.h" -#include "Frame_title.h" - -#include "Main_logo.h" -#include "Main_play.h" -#include "Main_load.h" -#include "Main_options.h" -#include "Main_file.h" -#include "Main_reset.h" -#include "Main_info.h" - -#include "Option_ctrl.h" -#include "Option_ggenie.h" -#include "Option_sound.h" -#include "Option_video.h" -#include "Option_system.h" - -#include "Load_recent.h" -#include "Load_sd.h" -#include "Load_dvd.h" - -#include "Button_text.h" -#include "Button_text_over.h" -#include "Button_icon.h" -#include "Button_icon_over.h" -#include "Button_up.h" -#include "Button_down.h" -#include "Button_up_over.h" -#include "Button_down_over.h" - -#ifdef HW_RVL -#include "Load_usb.h" -#include "Key_A_wii.h" -#include "Key_B_wii.h" -#include "Key_home.h" -#include "generic_point.h" -#include "generic_openhand.h" -#else -#include "Key_A_gcn.h" -#include "Key_B_gcn.h" -#include "Key_trigger_Z.h" -#endif - -#include "button_select.h" -#include "button_over.h" - -#ifdef HW_RVL -#include -#include -#endif - #include -/*****************************************************************************/ -/* Generic GUI structures */ -/*****************************************************************************/ - -/* Controller inputs structure */ -typedef struct -{ - u16 keys; #ifdef HW_RVL - struct ir_t ir; -#endif -} gui_input; - -/* Item descriptor*/ -typedef struct -{ - png_texture *texture; /* temporary texture data */ - const u8 *data; /* pointer to png image data (items icon only) */ - char text[64]; /* item string (items list only) */ - char comment[64]; /* item comment */ - u16 x; /* button image or text X position (upper left corner) */ - u16 y; /* button image or text Y position (upper left corner) */ - u16 w; /* button image or text width */ - u16 h; /* button image or text height */ -} gui_item; - -/* Button descriptor */ -typedef struct -{ - png_texture *texture[2]; /* temporary texture datas */ - const u8 *image[2]; /* pointer to png image datas (default) */ -} butn_data; - -/* Button descriptor */ -typedef struct -{ - butn_data *data; /* pointer to button image/texture data */ - u16 x; /* button image X position (upper left corner) */ - u16 y; /* button image Y position (upper left corner) */ - u16 w; /* button image pixels width */ - u16 h; /* button image pixels height */ -} gui_butn; - -/* Image descriptor */ -typedef struct -{ - png_texture *texture; /* temporary texture data */ - const u8 *data; /* pointer to png image data */ - u16 x; /* button image or text X position (upper left corner) */ - u16 y; /* button image or text Y position (upper left corner) */ - u16 w; /* button image or text width */ - u16 h; /* button image or text height */ -} gui_image; - -/* Menu descriptor */ -typedef struct -{ - char title[64]; /* menu title */ - s8 selected; /* index of selected item */ - u8 offset; /* items list offset */ - u8 max_items; /* total number of items */ - u8 max_buttons; /* total number of buttons (not necessary identical) */ - u8 shift; /* number of items by line */ - gui_item *items; /* menu items table */ - gui_butn *buttons; /* menu buttons table */ - gui_image *overlay; /* overlay image */ - gui_image *background; /* background image */ - gui_image *logo; /* logo image */ - gui_image *frames[2]; /* windows (max. 2) */ - gui_image *banners[2]; /* bottom & top banners */ - gui_item *helpers[2]; /* left & right key comments */ - gui_butn *arrows[2]; /* items list up & down arrows */ -} gui_menu; - -#ifdef HW_RVL -static png_texture *w_pointer[2]; +static gx_texture *w_pointer[2]; #endif -static gui_input m_input; +t_input_menu m_input; /*****************************************************************************/ -/* Generic Images */ +/* Common GUI images */ /*****************************************************************************/ -static gui_image logo_main = {NULL,Main_logo,204,362,232,56}; -static gui_image logo_small = {NULL,Main_logo,466,40,152,44}; -static gui_image top_banner = {NULL,Banner_top,0,0,640,108}; -static gui_image bottom_banner = {NULL,Banner_bottom,0,380,640,100}; -static gui_image main_banner = {NULL,Banner_main,0,340,640,140}; -static gui_image bg_right = {NULL,Background_main,356,144,348,288}; -static gui_image bg_center = {NULL,Background_main,146,80,348,288}; -static gui_image bg_overlay_line = {NULL,Background_overlay,0,0,640,480}; -static gui_image left_frame = {NULL,Frame_s1,8,72,372,336}; -static gui_image right_frame = {NULL,Frame_s2,384,116,248,296}; +gui_image logo_main = {NULL,Main_logo,204,362,232,56}; +gui_image logo_small = {NULL,Main_logo,466,40,152,44}; +gui_image top_banner = {NULL,Banner_top,0,0,640,108}; +gui_image bottom_banner = {NULL,Banner_bottom,0,380,640,100}; +gui_image main_banner = {NULL,Banner_main,0,340,640,140}; +gui_image bg_right = {NULL,Background_main,356,144,348,288}; +gui_image bg_center = {NULL,Background_main,146,80,348,288}; +gui_image bg_overlay_line = {NULL,Background_overlay,0,0,640,480}; +gui_image left_frame = {NULL,Frame_s1,8,70,372,336}; +gui_image right_frame = {NULL,Frame_s2,384,264,248,140}; /*****************************************************************************/ -/* Shared buttons data */ +/* Common GUI buttons data */ /*****************************************************************************/ -static butn_data arrow_up_data = +butn_data arrow_up_data = { {NULL,NULL}, {Button_up,Button_up_over} }; -static butn_data arrow_down_data = +butn_data arrow_down_data = { {NULL,NULL}, {Button_down,Button_down_over} }; -static butn_data button_text_data = +butn_data button_text_data = { {NULL,NULL}, {Button_text,Button_text_over} }; -static butn_data button_icon_data = +butn_data button_icon_data = { {NULL,NULL}, {Button_icon,Button_icon_over} }; /*****************************************************************************/ -/* Generic Arrow Buttons */ +/* Common GUI items */ /*****************************************************************************/ -static gui_butn arrow_up = {&arrow_up_data,172,86,36,36}; -static gui_butn arrow_down = {&arrow_down_data,172,356,36,36}; - -/*****************************************************************************/ -/* Generic Items */ -/*****************************************************************************/ -static gui_item action_cancel = +gui_item action_cancel = { #ifdef HW_RVL NULL,Key_B_wii,"","Back",10,422,28,28 @@ -226,7 +90,7 @@ static gui_item action_cancel = #endif }; -static gui_item action_select = +gui_item action_select = { #ifdef HW_RVL NULL,Key_A_wii,"","",602,422,28,28 @@ -235,7 +99,7 @@ static gui_item action_select = #endif }; -static gui_item action_exit = +gui_item action_exit = { #ifdef HW_RVL NULL,Key_home,"","",10,372,68,28 @@ -244,6 +108,12 @@ static gui_item action_exit = #endif }; +/*****************************************************************************/ +/* Arrow Buttons for items list menu */ +/*****************************************************************************/ +static gui_butn arrow_up = {&arrow_up_data,172,86,36,36}; +static gui_butn arrow_down = {&arrow_down_data,172,356,36,36}; + /*****************************************************************************/ /* Menu Items description */ @@ -489,60 +359,60 @@ static void menu_initialize(gui_menu *menu) #ifdef HW_RVL /* allocate wiimote pointer data (only done once) */ - w_pointer[0] = OpenTexturePNG(generic_point); -/* w_pointer[1] = OpenTexturePNG(generic_openhand);*/ + w_pointer[0] = gxTextureOpenPNG(generic_point); +/* w_pointer[1] = gxTextureOpenPNG(generic_openhand);*/ #endif /* allocate background overlay texture */ image = menu->overlay; - if (image) image->texture = OpenTexturePNG(image->data); + if (image) image->texture = gxTextureOpenPNG(image->data); /* allocate background image texture */ image = menu->background; - if (image) image->texture = OpenTexturePNG(image->data); + if (image) image->texture = gxTextureOpenPNG(image->data); /* allocate logo texture */ image = menu->logo; - if (image) image->texture = OpenTexturePNG(image->data); + if (image) image->texture = gxTextureOpenPNG(image->data); /* allocate background elements textures */ for (i=0; i<2; i++) { /* banners */ image = menu->banners[i]; - if (image) image->texture = OpenTexturePNG(image->data); + if (image) image->texture = gxTextureOpenPNG(image->data); /* frames */ image = menu->frames[i]; - if (image) image->texture = OpenTexturePNG(image->data); + if (image) image->texture = gxTextureOpenPNG(image->data); /* key helpers */ item = menu->helpers[i]; - if (item) item->texture = OpenTexturePNG(item->data); + if (item) item->texture = gxTextureOpenPNG(item->data); } /* allocate arrow buttons */ if (menu->max_items > menu->max_buttons) { - arrow_up_data.texture[0] = OpenTexturePNG(arrow_up_data.image[0]); - arrow_up_data.texture[1] = OpenTexturePNG(arrow_up_data.image[1]); - arrow_down_data.texture[0] = OpenTexturePNG(arrow_down_data.image[0]); - arrow_down_data.texture[1] = OpenTexturePNG(arrow_down_data.image[1]); + arrow_up_data.texture[0] = gxTextureOpenPNG(arrow_up_data.image[0]); + arrow_up_data.texture[1] = gxTextureOpenPNG(arrow_up_data.image[1]); + arrow_down_data.texture[0] = gxTextureOpenPNG(arrow_down_data.image[0]); + arrow_down_data.texture[1] = gxTextureOpenPNG(arrow_down_data.image[1]); } /* allocate menu buttons */ for (i=0; imax_buttons; i++) { button = &menu->buttons[i]; - if (!button->data->texture[0]) button->data->texture[0] = OpenTexturePNG(button->data->image[0]); - if (!button->data->texture[1]) button->data->texture[1] = OpenTexturePNG(button->data->image[1]); + if (!button->data->texture[0]) button->data->texture[0] = gxTextureOpenPNG(button->data->image[0]); + if (!button->data->texture[1]) button->data->texture[1] = gxTextureOpenPNG(button->data->image[1]); } /* allocate item textures */ for (i=0; imax_items; i++) { item = &menu->items[i]; - if (item->data) item->texture = OpenTexturePNG(item->data); + if (item->data) item->texture = gxTextureOpenPNG(item->data); } } @@ -554,54 +424,54 @@ static void menu_delete(gui_menu *menu) /* free background image texture */ if (menu->overlay) - CloseTexturePNG(&menu->overlay->texture); + gxTextureClose(&menu->overlay->texture); /* free background image texture */ if (menu->background) - CloseTexturePNG(&menu->background->texture); + gxTextureClose(&menu->background->texture); /* free logo texture */ if (menu->logo) - CloseTexturePNG(&menu->logo->texture); + gxTextureClose(&menu->logo->texture); /* free background elements textures */ for (i=0; i<2; i++) { #ifdef HW_RVL /* free wiimote pointer data */ - CloseTexturePNG(&w_pointer[i]); + gxTextureClose(&w_pointer[i]); #endif /* banners */ if (menu->banners[i]) - CloseTexturePNG(&menu->banners[i]->texture); + gxTextureClose(&menu->banners[i]->texture); /* frames */ if (menu->frames[i]) - CloseTexturePNG(&menu->frames[i]->texture); + gxTextureClose(&menu->frames[i]->texture); /* key helpers */ if (menu->helpers[i]) - CloseTexturePNG(&menu->helpers[i]->texture); + gxTextureClose(&menu->helpers[i]->texture); /* up&down arrows */ - CloseTexturePNG(&arrow_up_data.texture[i]); - CloseTexturePNG(&arrow_down_data.texture[i]); + gxTextureClose(&arrow_up_data.texture[i]); + gxTextureClose(&arrow_down_data.texture[i]); } /* free menu buttons */ for (i=0; imax_buttons; i++) { button = &menu->buttons[i]; - CloseTexturePNG(&button->data->texture[0]); - CloseTexturePNG(&button->data->texture[1]); + gxTextureClose(&button->data->texture[0]); + gxTextureClose(&button->data->texture[1]); } /* free item textures */ for (i=0; imax_items; i++) { item = &menu->items[i]; - CloseTexturePNG(&item->texture); + gxTextureClose(&item->texture); } } @@ -615,38 +485,38 @@ static void menu_draw(gui_menu *menu) /* draw background */ if ((menu == &menu_main) && genromsize) { - ClearScreen ((GXColor)BLACK); + gxClearScreen ((GXColor)BLACK); gxDrawScreenshot(128); image = menu->overlay; - if (image) DrawTextureRepeat(image->texture,image->x,image->y,image->w,image->h); + if (image) gxDrawRepeat(image->texture,image->x,image->y,image->w,image->h); } else { - ClearScreen ((GXColor)BACKGROUND); + gxClearScreen ((GXColor)BACKGROUND); image = menu->overlay; - if (image) DrawTextureRepeat(image->texture,image->x,image->y,image->w,image->h); + if (image) gxDrawRepeat(image->texture,image->x,image->y,image->w,image->h); image = menu->background; - if (image) DrawTexture(image->texture,image->x,image->y,image->w,image->h); + if (image) gxDrawTexture(image->texture,image->x,image->y,image->w,image->h,255); } for (i=0; i<2; i++) { /* draw top&bottom banners */ image = menu->banners[i]; - if (image) DrawTexture(image->texture,image->x,image->y,image->w,image->h); + if (image) gxDrawTexture(image->texture,image->x,image->y,image->w,image->h,255); /* draw frames */ image = menu->frames[i]; - if (image) DrawTextureAlpha(image->texture,image->x,image->y,image->w,image->h, 128); + if (image) gxDrawTexture(image->texture,image->x,image->y,image->w,image->h, 128); /* draw top&bottom banners */ image = menu->banners[i]; - if (image) DrawTexture(image->texture,image->x,image->y,image->w,image->h); + if (image) gxDrawTexture(image->texture,image->x,image->y,image->w,image->h,255); } /* draw logo */ image = menu->logo; - if (image) DrawTexture(image->texture,image->x,image->y,image->w,image->h); + if (image) gxDrawTexture(image->texture,image->x,image->y,image->w,image->h,255); /* draw title */ FONT_alignLeft(menu->title, 22,10,56, (GXColor)WHITE); @@ -655,16 +525,16 @@ static void menu_draw(gui_menu *menu) item = menu->helpers[0]; if (item) { - DrawTexture(item->texture, item->x, item->y, item->w, item->h); - FONT_alignLeft(item->comment, 16, item->x+item->w+6,item->y+(item->h-16)/2 + 16, (GXColor)WHITE); + gxDrawTexture(item->texture,item->x,item->y,item->w,item->h,255); + FONT_alignLeft(item->comment,16,item->x+item->w+6,item->y+(item->h-16)/2 + 16,(GXColor)WHITE); } /* draw right helper */ item = menu->helpers[1]; if (item) { - DrawTexture(item->texture, item->x, item->y, item->w, item->h); - FONT_alignRight(item->comment, 16, item->x - 6, item->y+(item->h-16)/2 + 16, (GXColor)WHITE); + gxDrawTexture(item->texture,item->x,item->y,item->w,item->h,255); + FONT_alignRight(item->comment,16,item->x-6,item->y+(item->h-16)/2+16,(GXColor)WHITE); } /* draw buttons + items */ @@ -672,20 +542,30 @@ static void menu_draw(gui_menu *menu) { /* draw button */ button = &menu->buttons[i]; - if (i==menu->selected) DrawTexture(button->data->texture[1], button->x-2, button->y-2, button->w+4, button->h+4); - else DrawTexture(button->data->texture[0], button->x, button->y, button->w, button->h); + if (i == menu->selected)gxDrawTexture(button->data->texture[1],button->x-2,button->y-2,button->w+4,button->h+4,255); + else gxDrawTexture(button->data->texture[0],button->x,button->y,button->w, button->h,255); /* draw item */ item = &menu->items[menu->offset +i]; - if (item->data) + if (i == menu->selected) { - if (i==menu->selected) DrawTexture(item->texture, item->x-2, item->y-2, item->w+4, item->h+4); - else DrawTexture(item->texture, item->x, item->y, item->w, item->h); + /* selected item */ + if (item->data) gxDrawTexture(item->texture, item->x-2,item->y-2,item->w+4,item->h+4,255); + else FONT_writeCenter(item->text,18,button->x,button->x+button->w,button->y+(button->h-18)/2+18,(GXColor)DARK_GREY); + + /* update help comment */ + if (menu->helpers[1]) + { + strcpy(menu->helpers[1]->comment,item->comment); + item = menu->helpers[1]; + FONT_alignRight(item->comment,16,item->x-6,item->y+(item->h-16)/2+16,(GXColor)WHITE); + } } else { - if (i==menu->selected) FONT_writeCenter(item->text, 18, button->x, button->x + button->w, button->y + (button->h - 18)/2 + 18, (GXColor)DARK_GREY); - else FONT_writeCenter(item->text, 16, button->x, button->x + button->w, button->y + (button->h - 16)/2 + 16, (GXColor)DARK_GREY); + /* normal item */ + if (item->data) gxDrawTexture(item->texture,item->x,item->y,item->w,item->h,255); + else FONT_writeCenter(item->text,16,button->x,button->x+button->w,button->y+(button->h - 16)/2+16,(GXColor)DARK_GREY); } } @@ -697,11 +577,11 @@ static void menu_draw(gui_menu *menu) { if (menu->selected == menu->max_buttons + i) { - DrawTexture(button->data->texture[1], button->x-2, button->y-2, button->w+4, button->h+4); + gxDrawTexture(button->data->texture[1],button->x-2,button->y-2,button->w+4,button->h+4,255); } else { - DrawTexture(button->data->texture[0], button->x, button->y, button->w, button->h); + gxDrawTexture(button->data->texture[0],button->x,button->y,button->w,button->h,255); } } } @@ -728,14 +608,14 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items delete_me[i] = 0; if (!data->texture[i]) { - data->texture[i] = OpenTexturePNG(data->image[i]); + data->texture[i] = gxTextureOpenPNG(data->image[i]); delete_me[i] = 1; } } /* initialize texture window */ - png_texture *window = OpenTexturePNG(Frame_s1); - png_texture *top = OpenTexturePNG(Frame_title); + gx_texture *window = gxTextureOpenPNG(Frame_s1); + gx_texture *top = gxTextureOpenPNG(Frame_title); /* get initial positions */ int w = data->texture[0]->width; @@ -750,27 +630,31 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items int yoffset = ywindow + window->height; /* slide in */ + parent->selected = -1; while (yoffset > 0) { /* draw parent menu */ menu_draw(parent); /* draw window */ - DrawTextureAlpha(window, xwindow, ywindow - yoffset, window->width, window->height,210); - DrawTexture(top, xwindow, ywindow - yoffset, top->width, top->height); + gxDrawTexture(window,xwindow,ywindow-yoffset,window->width,window->height,210); + gxDrawTexture(top,xwindow,ywindow-yoffset,top->width,top->height,255); /* draw title */ - FONT_writeCenter(title, 20,xwindow, xwindow + window->width, ywindow + (top->height-20) / 2 + 20 - yoffset, (GXColor)WHITE); + FONT_writeCenter(title,20,xwindow,xwindow+window->width,ywindow+(top->height-20)/2+20-yoffset,(GXColor)WHITE); /* draw buttons + text */ for (i=0; itexture[0],xpos, ypos+i*(20 + h)-yoffset, w,h); - FONT_writeCenter(items[i], 18, xpos, xpos + w, ypos + i*(20 + h) + (h + 18)/2 - yoffset, (GXColor)DARK_GREY); + gxDrawTexture(data->texture[0],xpos,ypos+i*(20 + h)-yoffset,w,h,255); + FONT_writeCenter(items[i],18,xpos,xpos+w,ypos+i*(20 + h)+(h + 18)/2- yoffset,(GXColor)DARK_GREY); } + /* update display */ + gxSetScreen (); + + /* slide speed */ yoffset -=60; - SetScreen (); } /* draw menu */ @@ -780,19 +664,19 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items menu_draw(parent); /* draw window */ - DrawTextureAlpha(window, xwindow, ywindow, window->width, window->height,210); - DrawTexture(top, xwindow, ywindow, top->width, top->height); + gxDrawTexture(window,xwindow,ywindow,window->width,window->height,210); + gxDrawTexture(top,xwindow,ywindow,top->width,top->height,255); /* draw title */ - FONT_writeCenter(title, 20,xwindow, xwindow + window->width, ywindow + (top->height-20) / 2 + 20, (GXColor)WHITE); + FONT_writeCenter(title,20,xwindow,xwindow+window->width,ywindow+(top->height-20)/2+20,(GXColor)WHITE); /* draw buttons + text */ for (i=0; itexture[1], xpos-2, ypos + i*(20 + h) - 2, w+4, h+4); - else DrawTexture(data->texture[0],xpos, ypos+i*(20 + h), w,h); - if (i==selected) FONT_writeCenter(items[i], 20, xpos, xpos + w, ypos + i*(20 + h) + (h + 20)/2, (GXColor)DARK_GREY); - else FONT_writeCenter(items[i], 18, xpos, xpos + w, ypos+i*(20 + h) + (h + 18)/2, (GXColor)DARK_GREY); + if (i==selected) gxDrawTexture(data->texture[1],xpos-2,ypos+i*(20+h)-2,w+4,h+4,255); + else gxDrawTexture(data->texture[0],xpos,ypos+i*(20 + h),w,h,255); + if (i==selected) FONT_writeCenter(items[i],20,xpos,xpos+w,ypos+i*(20+h)+(h+20)/2,(GXColor)DARK_GREY); + else FONT_writeCenter(items[i],18,xpos,xpos+w,ypos+i*(20+h)+(h+18)/2,(GXColor)DARK_GREY); } old = selected; @@ -815,16 +699,16 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items y = m_input.ir.y; /* draw wiimote pointer */ - gxResetCamera(m_input.ir.angle); - png_texture *texture = w_pointer[0]; - DrawTexture(texture, x-texture->width/2, y-texture->height/2, texture->width, texture->height); - gxResetCamera(0.0); + gxResetAngle(m_input.ir.angle); + gx_texture *texture = w_pointer[0]; + gxDrawTexture(texture,x-texture->width/2,y-texture->height/2,texture->width,texture->height,255); + gxResetAngle(0.0); /* check for valid buttons */ selected = -1; for (i=0; i= xpos) && (x <= (xpos + w)) && (y >= ypos + i*(20 + h)) && (y <= (ypos + i*(20 + h) + h))) + if ((x>=xpos)&&(x<=(xpos+w))&&(y>=ypos+i*(20 + h))&&(y<=(ypos+i*(20+h)+h))) { selected = i; break; @@ -833,15 +717,15 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items } #endif - /* copy EFB to XFB */ - SetScreen (); + /* update screen */ + gxSetScreen (); /* update selection */ - if (p & PAD_BUTTON_UP) + if (p&PAD_BUTTON_UP) { if (selected > 0) selected --; } - else if (p & PAD_BUTTON_DOWN) + else if (p&PAD_BUTTON_DOWN) { if (selected < (nb_items -1)) selected ++; } @@ -852,7 +736,7 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items if (selected >= 0) { voice = ASND_GetFirstUnusedVoice(); - if(voice >= 0) ASND_SetVoice(voice, VOICE_MONO_16BIT, 22050, 0, (u8 *)button_over, button_over_size, 255, 255, NULL); + if(voice >= 0) ASND_SetVoice(voice,VOICE_MONO_16BIT,22050,0,(u8 *)button_over,button_over_size,255,255,NULL); } } @@ -881,27 +765,27 @@ static int menu_prompt(gui_menu *parent, char *title, char *items[], u8 nb_items menu_draw(parent); /* draw window + header */ - DrawTextureAlpha(window, xwindow, ywindow - yoffset, window->width, window->height,210); - DrawTexture(top, xwindow, ywindow - yoffset, top->width, top->height); + gxDrawTexture(window,xwindow,ywindow-yoffset,window->width,window->height,210); + gxDrawTexture(top,xwindow,ywindow-yoffset,top->width,top->height,255); /* draw title */ - FONT_writeCenter(title, 20, xwindow, xwindow + window->width, ywindow + (top->height-20) / 2 + 20 - yoffset, (GXColor)WHITE); + FONT_writeCenter(title,20,xwindow,xwindow+window->width,ywindow+(top->height-20)/2+20-yoffset,(GXColor)WHITE); /* draw buttons + text */ for (i=0; itexture[0],xpos, ypos+i*(20 + h)-yoffset, w,h); - FONT_writeCenter(items[i], 18, xpos, xpos + w, ypos + i*(20 + h) + (h + 18)/2 - yoffset, (GXColor)WHITE); + gxDrawTexture(data->texture[0],xpos,ypos+i*(20+h)-yoffset,w,h,255); + FONT_writeCenter(items[i],18,xpos,xpos+w,ypos+i*(20+h)+(h+18)/2-yoffset,(GXColor)WHITE); } yoffset +=60; - SetScreen (); + gxSetScreen (); } /* close textures */ - CloseTexturePNG(&window); - if (delete_me[0]) CloseTexturePNG(&data->texture[0]); - if (delete_me[1]) CloseTexturePNG(&data->texture[1]); + gxTextureClose(&window); + if (delete_me[0]) gxTextureClose(&data->texture[0]); + if (delete_me[1]) gxTextureClose(&data->texture[1]); return ret; } @@ -963,29 +847,29 @@ static void menu_slide(gui_menu *menu, u8 speed, u8 out) { if ((menu == &menu_main) && genromsize) { - ClearScreen ((GXColor)BLACK); + gxClearScreen((GXColor)BLACK); gxDrawScreenshot(alpha); } else { - ClearScreen ((GXColor)BACKGROUND); + gxClearScreen((GXColor)BACKGROUND); temp = menu->overlay; - if (temp) DrawTextureRepeat(temp->texture,temp->x,temp->y,temp->w,temp->h); + if (temp) gxDrawRepeat(temp->texture,temp->x,temp->y,temp->w,temp->h); temp = menu->background; - if (temp) DrawTexture(temp->texture,temp->x,temp->y,temp->w,temp->h); + if (temp) gxDrawTexture(temp->texture,temp->x,temp->y,temp->w,temp->h,255); } /* draw top banner + logo */ if (image[out]) { - DrawTexture(image[out]->texture,image[out]->x,yfinal[out]-offset,image[out]->w,image[out]->h); - if (image[2] && !image[out^1]) DrawTexture(image[2]->texture,image[2]->x,yfinal[2]-offset,image[2]->w,image[2]->h); + gxDrawTexture(image[out]->texture,image[out]->x,yfinal[out]-offset,image[out]->w,image[out]->h,255); + if (image[2] && !image[out^1]) gxDrawTexture(image[2]->texture,image[2]->x,yfinal[2]-offset,image[2]->w,image[2]->h,255); } /* draw bottom banner + logo */ if (image[out^1]) { - DrawTexture(image[out^1]->texture,image[out^1]->x,yfinal[out^1]+offset,image[out^1]->w,image[out^1]->h); - if (image[2] && !image[out]) DrawTexture(image[2]->texture,image[2]->x,image[2]->y+offset,image[2]->w,image[2]->h); + gxDrawTexture(image[out^1]->texture,image[out^1]->x,yfinal[out^1]+offset,image[out^1]->w,image[out^1]->h,255); + if (image[2] && !image[out]) gxDrawTexture(image[2]->texture,image[2]->x,image[2]->y+offset,image[2]->w,image[2]->h,255); } /* update offset */ @@ -996,14 +880,14 @@ static void menu_slide(gui_menu *menu, u8 speed, u8 out) if (alpha > 255) alpha = 255; /* copy EFB to XFB */ - SetScreen (); + gxSetScreen (); } /* final position */ if (!out) { menu_draw(menu); - SetScreen (); + gxSetScreen (); } menu_delete(menu); @@ -1012,7 +896,7 @@ static void menu_slide(gui_menu *menu, u8 speed, u8 out) #define MAX_COLORS 14 #define VERSION "Version 1.03" -/* it's hard to choose a nice background colors ;-) */ +/* it's hard to choose a nice background color ;-) */ static GXColor background_colors[MAX_COLORS]= { {0x00,0x00,0x00,0xff}, /* black */ @@ -1055,10 +939,16 @@ static int menu_callback(gui_menu *menu) #ifdef HW_RVL if (Shutdown) { - /* autosave SRAM/State */ + /* system shutdown */ memfile_autosave(); - - /* shutdown Wii */ + system_shutdown(); + audio_shutdown(); + free(cart_rom); + free(texturemem); + FONT_Shutdown(); + VIDEO_ClearFrameBuffer(vmode, xfb[whichfb], COLOR_BLACK); + VIDEO_Flush(); + VIDEO_WaitVSync(); DI_Close(); SYS_ResetSystem(SYS_POWEROFF, 0, 0); } @@ -1069,16 +959,16 @@ static int menu_callback(gui_menu *menu) y = m_input.ir.y; /* draw wiimote pointer */ - gxResetCamera(m_input.ir.angle); - png_texture *texture = w_pointer[0]; - DrawTexture(texture, x-texture->width/2, y-texture->height/2, texture->width, texture->height); - gxResetCamera(0.0); + gxResetAngle(m_input.ir.angle); + gx_texture *texture = w_pointer[0]; + gxDrawTexture(texture, x-texture->width/2, y-texture->height/2, texture->width, texture->height,255); + gxResetAngle(0.0); /* check for valid buttons */ for (i=0; ibuttons[i]; - if ((x >= button->x) && (x <= (button->x + button->w)) && (y >= button->y) && (y <= (button->y + button->h))) + if ((x>=button->x)&&(x<=(button->x+button->w))&&(y>=button->y)&&(y<=(button->y+button->h))) { menu->selected = i; break; @@ -1107,9 +997,10 @@ static int menu_callback(gui_menu *menu) } #endif - /* copy EFB to XFB */ - SetScreen (); + /* update screen */ + gxSetScreen (); + /* update menu */ if (p & PAD_BUTTON_UP) { if (menu->selected == 0) @@ -1163,7 +1054,7 @@ static int menu_callback(gui_menu *menu) if (menu->selected < max_buttons + 2) { voice = ASND_GetFirstUnusedVoice(); - if(voice >= 0) ASND_SetVoice(voice, VOICE_MONO_16BIT, 22050, 0, (u8 *)button_over, button_over_size, 255, 255, NULL); + if(voice >= 0) ASND_SetVoice(voice,VOICE_MONO_16BIT,22050,0,(u8 *)button_over,button_over_size,255,255,NULL); } } @@ -1192,7 +1083,7 @@ static int menu_callback(gui_menu *menu) if (menu->selected < max_buttons) { voice = ASND_GetFirstUnusedVoice(); - if(voice >= 0) ASND_SetVoice(voice, VOICE_MONO_16BIT, 22050, 0, (u8 *)button_select, button_select_size, 255, 255, NULL); + if(voice >= 0) ASND_SetVoice(voice,VOICE_MONO_16BIT,22050,0,(u8 *)button_select,button_select_size,255,255,NULL); return (menu->offset + menu->selected); } else if (menu->selected == max_buttons) menu->offset --; @@ -1204,17 +1095,26 @@ static int menu_callback(gui_menu *menu) } else if (p & PAD_TRIGGER_Z) { + char *items[3] = + { + "View Credits", + "Exit to Loader", #ifdef HW_RVL - char *items[3] = {"Show Credits", "Exit to Loader", "Exit to System Menu"}; + "Exit to System Menu" #else - char *items[3] = {"Show Credits", "Exit to Loader", "Reset System"}; + "Reset System" #endif + }; + switch (menu_prompt(menu, VERSION, items,3)) { case 1: memfile_autosave(); system_shutdown(); audio_shutdown(); + free(cart_rom); + free(texturemem); + FONT_Shutdown(); VIDEO_ClearFrameBuffer(vmode, xfb[whichfb], COLOR_BLACK); VIDEO_Flush(); VIDEO_WaitVSync(); @@ -1228,6 +1128,9 @@ static int menu_callback(gui_menu *menu) memfile_autosave(); system_shutdown(); audio_shutdown(); + free(cart_rom); + free(texturemem); + FONT_Shutdown(); VIDEO_ClearFrameBuffer(vmode, xfb[whichfb], COLOR_BLACK); VIDEO_Flush(); VIDEO_WaitVSync(); @@ -1249,98 +1152,12 @@ static int menu_callback(gui_menu *menu) menu->arrows[1] = NULL; if (menu->offset > 0) menu->arrows[0] = &arrow_up; if (menu->offset + max_buttons < max_items) menu->arrows[1] = &arrow_down; - - /* update comment */ - if (menu->helpers[1]) - { - if (menu->selected < max_buttons) - { - gui_item *item = &menu->items[menu->offset + menu->selected]; - strcpy(menu->helpers[1]->comment,item->comment); - } - else strcpy(menu->helpers[1]->comment,""); - } } } -s16 ogc_input__getMenuButtons(u32 cnt) -{ - return m_input.keys; -} - -void menu_updateInputs(u32 cnt) -{ - /* get gamepad inputs */ - PAD_ScanPads(); - s16 p = PAD_ButtonsDown(0); - s8 x = PAD_StickX(0); - s8 y = PAD_StickY(0); - if (x > 70) p |= PAD_BUTTON_RIGHT; - else if (x < -70) p |= PAD_BUTTON_LEFT; - if (y > 60) p |= PAD_BUTTON_UP; - else if (y < -60) p |= PAD_BUTTON_DOWN; - -#ifdef HW_RVL - /* get wiimote + expansions inputs */ - WPAD_ScanPads(); - u32 q = WPAD_ButtonsDown(0); - /*u32 h = WPAD_ButtonsHeld(0);*/ - x = WPAD_StickX(0, 0); - y = WPAD_StickY(0, 0); - - /* Wiimote orientation */ - WPAD_IR(0, &m_input.ir); - - /* wiimote directions */ - if (m_input.ir.valid) - { - if (q & WPAD_BUTTON_UP) p |= PAD_BUTTON_UP; - else if (q & WPAD_BUTTON_DOWN) p |= PAD_BUTTON_DOWN; - else if (q & WPAD_BUTTON_LEFT) p |= PAD_BUTTON_LEFT; - else if (q & WPAD_BUTTON_RIGHT) p |= PAD_BUTTON_RIGHT; - } - else - { - if (q & WPAD_BUTTON_UP) p |= PAD_BUTTON_LEFT; - else if (q & WPAD_BUTTON_DOWN) p |= PAD_BUTTON_RIGHT; - else if (q & WPAD_BUTTON_LEFT) p |= PAD_BUTTON_DOWN; - else if (q & WPAD_BUTTON_RIGHT) p |= PAD_BUTTON_UP; - } - - /* analog sticks */ - if (y > 70) p |= PAD_BUTTON_UP; - else if (y < -70) p |= PAD_BUTTON_DOWN; - if (x < -60) p |= PAD_BUTTON_LEFT; - else if (x > 60) p |= PAD_BUTTON_RIGHT; - - /* classic controller directions */ - if (q & WPAD_CLASSIC_BUTTON_UP) p |= PAD_BUTTON_UP; - else if (q & WPAD_CLASSIC_BUTTON_DOWN) p |= PAD_BUTTON_DOWN; - if (q & WPAD_CLASSIC_BUTTON_LEFT) p |= PAD_BUTTON_LEFT; - else if (q & WPAD_CLASSIC_BUTTON_RIGHT) p |= PAD_BUTTON_RIGHT; - - /* wiimote keys */ - if (q & WPAD_BUTTON_MINUS) p |= PAD_TRIGGER_L; - if (q & WPAD_BUTTON_PLUS) p |= PAD_TRIGGER_R; - if (q & WPAD_BUTTON_A) p |= PAD_BUTTON_A; - if (q & WPAD_BUTTON_B) p |= PAD_BUTTON_B; - if (q & WPAD_BUTTON_2) p |= PAD_BUTTON_A; - if (q & WPAD_BUTTON_1) p |= PAD_BUTTON_B; - if (q & WPAD_BUTTON_HOME) p |= PAD_TRIGGER_Z; - - /* classic controller keys */ - if (q & WPAD_CLASSIC_BUTTON_FULL_L) p |= PAD_TRIGGER_L; - if (q & WPAD_CLASSIC_BUTTON_FULL_R) p |= PAD_TRIGGER_R; - if (q & WPAD_CLASSIC_BUTTON_A) p |= PAD_BUTTON_A; - if (q & WPAD_CLASSIC_BUTTON_B) p |= PAD_BUTTON_B; - if (q & WPAD_CLASSIC_BUTTON_HOME) p |= PAD_TRIGGER_Z; -#endif - - m_input.keys = p; -} /*************************************************************************** - * drawmenu + * drawmenu (deprecated) * * As it says, simply draws the menu with a highlight on the currently * selected item :) @@ -1358,36 +1175,36 @@ static void drawmenu (char items[][25], int maxitems, int selected) ypos += 130; /* reset texture data */ - png_texture *texture; - memset(&texture,0,sizeof(png_texture)); + gx_texture *texture; + memset(&texture,0,sizeof(gx_texture)); /* draw background items */ - ClearScreen ((GXColor)BACKGROUND); - texture= OpenTexturePNG(Background_main); + gxClearScreen ((GXColor)BACKGROUND); + texture= gxTextureOpenPNG(Background_main); if (texture) { - DrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height); + gxDrawTexture(texture, (640-texture->width)/2, (480-texture->height)/2, texture->width, texture->height,255); if (texture->data) free(texture->data); free(texture); } - texture= OpenTexturePNG(Banner_bottom); + texture= gxTextureOpenPNG(Banner_bottom); if (texture) { - DrawTexture(texture, 0, 480-texture->height, texture->width, texture->height); + gxDrawTexture(texture, 0, 480-texture->height, texture->width, texture->height, 255); if (texture->data) free(texture->data); free(texture); } - texture= OpenTexturePNG(Banner_top); + texture= gxTextureOpenPNG(Banner_top); if (texture) { - DrawTexture(texture, 0, 0, texture->width, texture->height); + gxDrawTexture(texture, 0, 0, texture->width, texture->height, 255); if (texture->data) free(texture->data); free(texture); } - texture= OpenTexturePNG(Main_logo); + texture= gxTextureOpenPNG(Main_logo); if (texture) { - DrawTexture(texture, 444, 28, 176, 48); + gxDrawTexture(texture, 444, 28, 176, 48, 255); if (texture->data) free(texture->data); free(texture); } @@ -1398,7 +1215,7 @@ static void drawmenu (char items[][25], int maxitems, int selected) else WriteCentre (i * fheight + ypos, (char *) items[i]); } - SetScreen (); + gxSetScreen (); } static int domenu (char items[][25], int maxitems, u8 fastmove) @@ -1417,7 +1234,7 @@ static int domenu (char items[][25], int maxitems, u8 fastmove) redraw = 0; } - p = ogc_input__getMenuButtons(0); + p = m_input.keys; if (p & PAD_BUTTON_UP) { @@ -1518,11 +1335,13 @@ static void soundmenu () if (genromsize) { unsigned char *temp = malloc(YM2612GetContextSize()); - if (!temp) break; - memcpy(temp, YM2612GetContextPtr(), YM2612GetContextSize()); + if (temp) memcpy(temp, YM2612GetContextPtr(), YM2612GetContextSize()); audio_init(48000); - YM2612Restore(temp); - free(temp); + if (temp) + { + YM2612Restore(temp); + free(temp); + } } break; @@ -1551,7 +1370,7 @@ static void systemmenu () else if (config.region_detect == 1) sprintf (items[0].text, "Console Region: USA"); else if (config.region_detect == 2) sprintf (items[0].text, "Console Region: EUR"); else if (config.region_detect == 3) sprintf (items[0].text, "Console Region: JAP"); - sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "ON" : "OFF"); + sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); sprintf (items[2].text, "System BIOS: %s", (config.bios_enabled & 1) ? "ON":"OFF"); sprintf (items[3].text, "SVP Cycles: %d", SVP_cycles); if (config.sram_auto == 0) sprintf (items[4].text, "Auto SRAM: FAT"); @@ -2019,7 +1838,7 @@ static void inputsmenu(void) case 7: if (config.input[player].device < 0) break; - ogc_input_config(config.input[player].port, config.input[player].device, input.padtype[player]); + gx_input_config(config.input[player].port, config.input[player].device, input.padtype[player]); break; case -1: @@ -2280,7 +2099,7 @@ static void showrominfo () { if (redraw) { - ClearScreen ((GXColor)BACKGROUND); + gxClearScreen ((GXColor)BLACK); ypos = 134; WriteCentre(ypos, "ROM Header Information"); @@ -2353,10 +2172,10 @@ static void showrominfo () ypos += fheight; WriteCentre (ypos, "Press A to Continue"); - SetScreen (); + gxSetScreen (); } - p = ogc_input__getMenuButtons(0); + p = m_input.keys; redraw = 0; if ((j<(max-8)) && (p & PAD_BUTTON_DOWN)) {redraw = 1; j++;} @@ -2375,6 +2194,24 @@ void MainMenu (u32 fps) int ret, quit = 0; /* uint32 crccheck;*/ +#ifdef HW_RVL + if (Shutdown) + { + /* system shutdown */ + memfile_autosave(); + system_shutdown(); + audio_shutdown(); + free(cart_rom); + free(texturemem); + FONT_Shutdown(); + VIDEO_ClearFrameBuffer(vmode, xfb[whichfb], COLOR_BLACK); + VIDEO_Flush(); + VIDEO_WaitVSync(); + DI_Close(); + SYS_ResetSystem(SYS_POWEROFF, 0, 0); + } +#endif + /* autosave (SRAM only) */ int temp = config.freeze_auto; config.freeze_auto = -1; @@ -2405,9 +2242,9 @@ void MainMenu (u32 fps) { /* basic fade-out effect */ menu_slide(m,10,1); - ClearScreen ((GXColor)BLACK); + gxClearScreen ((GXColor)BLACK); gxDrawScreenshot(0xff); - SetScreen (); + gxSetScreen (); quit = 1; } break; @@ -2421,50 +2258,21 @@ void MainMenu (u32 fps) break; case 3: /*** Memory Manager ***/ - quit = filemenu (); + if (genromsize) quit = filemenu (); break; case 4: /*** Emulator Reset ***/ if (genromsize || (config.bios_enabled == 3)) { system_reset (); - ClearScreen ((GXColor)BLACK); - SetScreen (); + gxClearScreen ((GXColor)BLACK); + gxSetScreen (); quit = 1; } break; case 5: /*** ROM Information ***/ - showrominfo (); - break; - - - case 6: /*** SD/PSO/TP Reload ***/ - memfile_autosave(); - system_shutdown(); - audio_shutdown(); - VIDEO_ClearFrameBuffer(vmode, xfb[whichfb], COLOR_BLACK); - VIDEO_Flush(); - VIDEO_WaitVSync(); -#ifdef HW_RVL - DI_Close(); -#endif - exit(0); - break; - - case 7: /*** Return to Wii System Menu ***/ - memfile_autosave(); - system_shutdown(); - audio_shutdown(); - VIDEO_ClearFrameBuffer(vmode, xfb[whichfb], COLOR_BLACK); - VIDEO_Flush(); - VIDEO_WaitVSync(); -#ifdef HW_RVL - DI_Close(); - SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); -#else - SYS_ResetSystem(SYS_HOTRESET,0,0); -#endif + if (genromsize) showrominfo (); break; } } diff --git a/source/gx/gui/menu.h b/source/gx/gui/menu.h new file mode 100644 index 0000000..6250039 --- /dev/null +++ b/source/gx/gui/menu.h @@ -0,0 +1,209 @@ +/**************************************************************************** + * menu.c + * + * Genesis Plus GX menu + * + * code by Eke-Eke (march 2009) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ***************************************************************************/ + +#ifndef _MENU_H +#define _MENU_H + +#ifdef HW_RVL +#include +#endif + + +#include "Background_intro_c1.h" +#include "Background_intro_c2.h" +#include "Background_intro_c3.h" +#include "Background_intro_c4.h" + +#include "Banner_main.h" +#include "Banner_bottom.h" +#include "Banner_top.h" + +#include "Background_main.h" +#include "Background_overlay.h" + +#include "Frame_s1.h" +#include "Frame_s2.h" +#include "Frame_title.h" + +#include "Overlay_bar.h" + +#include "Browser_dir.h" + +#include "Star_full.h" +#include "Star_empty.h" + +#include "Snap_empty.h" +#include "Snap_frame.h" + +#include "Main_logo.h" +#include "Main_play.h" +#include "Main_load.h" +#include "Main_options.h" +#include "Main_file.h" +#include "Main_reset.h" +#include "Main_info.h" + +#include "Option_ctrl.h" +#include "Option_ggenie.h" +#include "Option_sound.h" +#include "Option_video.h" +#include "Option_system.h" + +#include "Load_recent.h" +#include "Load_sd.h" +#include "Load_dvd.h" + +#include "Button_text.h" +#include "Button_text_over.h" +#include "Button_icon.h" +#include "Button_icon_over.h" +#include "Button_up.h" +#include "Button_down.h" +#include "Button_up_over.h" +#include "Button_down_over.h" + +#ifdef HW_RVL +#include "Load_usb.h" +#include "Key_A_wii.h" +#include "Key_B_wii.h" +#include "Key_home.h" +#include "generic_point.h" +#include "generic_openhand.h" +#else +#include "Key_A_gcn.h" +#include "Key_B_gcn.h" +#include "Key_trigger_Z.h" +#endif + +#include "button_select.h" +#include "button_over.h" + +/*****************************************************************************/ +/* Generic GUI structures */ +/*****************************************************************************/ + +/* Menu Inputs */ +typedef struct +{ + u16 keys; +#ifdef HW_RVL + struct ir_t ir; +#endif +} t_input_menu; + +/* Item descriptor*/ +typedef struct +{ + gx_texture *texture; /* temporary texture data */ + const u8 *data; /* pointer to png image data (items icon only) */ + char text[64]; /* item string (items list only) */ + char comment[64]; /* item comment */ + u16 x; /* button image or text X position (upper left corner) */ + u16 y; /* button image or text Y position (upper left corner) */ + u16 w; /* button image or text width */ + u16 h; /* button image or text height */ +} gui_item; + +/* Button descriptor */ +typedef struct +{ + gx_texture *texture[2]; /* temporary texture datas */ + const u8 *image[2]; /* pointer to png image datas (default) */ +} butn_data; + +/* Button descriptor */ +typedef struct +{ + butn_data *data; /* pointer to button image/texture data */ + u16 x; /* button image X position (upper left corner) */ + u16 y; /* button image Y position (upper left corner) */ + u16 w; /* button image pixels width */ + u16 h; /* button image pixels height */ +} gui_butn; + +/* Image descriptor */ +typedef struct +{ + gx_texture *texture; /* temporary texture data */ + const u8 *data; /* pointer to png image data */ + u16 x; /* button image or text X position (upper left corner) */ + u16 y; /* button image or text Y position (upper left corner) */ + u16 w; /* button image or text width */ + u16 h; /* button image or text height */ +} gui_image; + +/* Menu descriptor */ +typedef struct +{ + char title[64]; /* menu title */ + s8 selected; /* index of selected item */ + u8 offset; /* items list offset */ + u8 max_items; /* total number of items */ + u8 max_buttons; /* total number of buttons (not necessary identical) */ + u8 shift; /* number of items by line */ + gui_item *items; /* menu items table */ + gui_butn *buttons; /* menu buttons table */ + gui_image *overlay; /* overlay image */ + gui_image *background; /* background image */ + gui_image *logo; /* logo image */ + gui_image *frames[2]; /* windows (max. 2) */ + gui_image *banners[2]; /* bottom & top banners */ + gui_item *helpers[2]; /* left & right key comments */ + gui_butn *arrows[2]; /* items list up & down arrows */ +} gui_menu; + + +/* Global data */ +extern u8 SILENT; +extern t_input_menu m_input; + +/*****************************************************************************/ +/* Common GUI images */ +/*****************************************************************************/ +extern gui_image logo_main; +extern gui_image logo_small; +extern gui_image top_banner; +extern gui_image bottom_banner; +extern gui_image main_banner; +extern gui_image bg_right; +extern gui_image bg_center; +extern gui_image bg_overlay_line; +extern gui_image left_frame; +extern gui_image right_frame; + +/*****************************************************************************/ +/* Common GUI buttons data */ +/*****************************************************************************/ +extern butn_data arrow_up_data; +extern butn_data arrow_down_data; +extern butn_data button_text_data; +extern butn_data button_icon_data; + +/*****************************************************************************/ +/* Common GUI items */ +/*****************************************************************************/ +extern gui_item action_cancel; +extern gui_item action_select; +extern gui_item action_exit; + +#endif diff --git a/source/ngc/gui/saveicon.h b/source/gx/gui/saveicon.h similarity index 100% rename from source/ngc/gui/saveicon.h rename to source/gx/gui/saveicon.h diff --git a/source/ngc/ogc_audio.c b/source/gx/gx_audio.c similarity index 92% rename from source/ngc/ogc_audio.c rename to source/gx/gx_audio.c index 0b238af..abd25eb 100644 --- a/source/ngc/ogc_audio.c +++ b/source/gx/gx_audio.c @@ -1,5 +1,5 @@ /**************************************************************************** - * ogc_audio.c + * gx_audio.c * * Genesis Plus GX audio support * @@ -65,12 +65,12 @@ static void AudioDmaCallback(void) } /*** - ogc_audio__init + gx_audio__init This function initializes the Audio Interface Default samplerate is set to 48khZ ***/ -void ogc_audio_init(void) +void gx_audio_init(void) { AUDIO_Init (NULL); AUDIO_SetDSPSampleRate (AI_SAMPLERATE_48KHZ); @@ -92,7 +92,7 @@ void ogc_audio_init(void) } /*** - ogc_audio__update + gx_audio__update This function is called at the end of each frame Genesis Plus only provides sound data on completion of each frame. @@ -100,7 +100,7 @@ void ogc_audio_init(void) This function retrieves samples for the frame then set the next DMA parameters Parameters will be taken in account only when current DMA operation is over ***/ -void ogc_audio_update(void) +void gx_audio_update(void) { u32 size = dma_len; @@ -135,12 +135,12 @@ void ogc_audio_update(void) } /*** - ogc_audio__start + gx_audio__start This function resets the audio engine This is called when coming back from Main Menu ***/ -void ogc_audio_start(void) +void gx_audio_start(void) { /* shutdown menu audio */ ASND_Pause(1); @@ -172,13 +172,13 @@ void ogc_audio_start(void) } /*** - ogc_audio__stop + gx_audio__stop This function stops current Audio DMA process This is called when going back to Main Menu DMA need to be restarted when going back to the game (see above) ***/ -void ogc_audio_stop(void) +void gx_audio_stop(void) { /* shutdown sound emulation */ AUDIO_StopDMA (); diff --git a/source/ngc/ogc_audio.h b/source/gx/gx_audio.h similarity index 85% rename from source/ngc/ogc_audio.h rename to source/gx/gx_audio.h index 014e258..38aeacb 100644 --- a/source/ngc/ogc_audio.h +++ b/source/gx/gx_audio.h @@ -1,5 +1,5 @@ /**************************************************************************** - * ogc_audio.c + * gx_audio.c * * Genesis Plus GX audio support * @@ -27,9 +27,9 @@ extern u8 soundbuffer[2][3840]; extern u8 mixbuffer; -extern void ogc_audio_init(void); -extern void ogc_audio_start(void); -extern void ogc_audio_stop(void); -extern void ogc_audio_update(void); +extern void gx_audio_init(void); +extern void gx_audio_start(void); +extern void gx_audio_stop(void); +extern void gx_audio_update(void); #endif diff --git a/source/ngc/ogc_input.c b/source/gx/gx_input.c similarity index 84% rename from source/ngc/ogc_input.c rename to source/gx/gx_input.c index 9fe01cd..6903fbc 100644 --- a/source/ngc/ogc_input.c +++ b/source/gx/gx_input.c @@ -1,5 +1,5 @@ /**************************************************************************** - * ogc_input.c + * gx_input.c * * Genesis Plus GX input support * @@ -23,11 +23,7 @@ #include "shared.h" #include "font.h" - -#ifdef HW_RVL -#include -#include -#endif +#include "menu.h" /* configurable keys */ #define KEY_BUTTONA 0 @@ -137,10 +133,10 @@ static void pad_config(int num, int padtype) PAD_ScanPads(); } - ClearScreen((GXColor)BLACK); + gxClearScreen((GXColor)BLACK); sprintf(msg,"Press key for %s",keys_name[i]); WriteCentre(254, msg); - SetScreen(); + gxSetScreen(); /* check buttons state */ quit = 0; @@ -364,10 +360,10 @@ static void wpad_config(u8 num, u8 exp, u8 padtype) } /* user information */ - ClearScreen((GXColor)BLACK); + gxClearScreen((GXColor)BLACK); sprintf(msg,"Press key for %s",keys_name[i]); WriteCentre(254, msg); - SetScreen(); + gxSetScreen(); /* wait for input */ quit = 0; @@ -574,7 +570,7 @@ static void wpad_update(s8 num, u8 i, u32 exp) Generic input handlers ******************************************************************/ -void ogc_input_init(void) +void gx_input_init(void) { PAD_Init (); @@ -584,11 +580,11 @@ void ogc_input_init(void) WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR); WPAD_SetVRes(WPAD_CHAN_ALL,640,480); #endif - VIDEO_SetPostRetraceCallback(menu_updateInputs); + VIDEO_SetPostRetraceCallback(gx_input_updateMenu); VIDEO_Flush(); } -void ogc_input_default(void) +void gx_input_setDefault(void) { int i; @@ -687,7 +683,23 @@ void ogc_input_default(void) #endif } -void ogc_input_update(void) +void gx_input_config(u8 num, u8 type, u8 padtype) +{ + switch (type) + { + case 0: + pad_config(num, padtype); + break; + + default: +#ifdef HW_RVL + wpad_config(num,type-1, padtype); +#endif + break; + } +} + +void gx_input_updateEmu(void) { int i; int num = 0; @@ -723,18 +735,74 @@ void ogc_input_update(void) } } -void ogc_input_config(u8 num, u8 type, u8 padtype) +/* Menu inputs update function (done by Video Interrupt callback) */ +void gx_input_updateMenu(u32 cnt) { - switch (type) - { - case 0: - pad_config(num, padtype); - break; - - default: + /* get gamepad inputs */ + PAD_ScanPads(); + s16 p = PAD_ButtonsDown(0); + s8 x = PAD_StickX(0); + s8 y = PAD_StickY(0); + if (x > 70) p |= PAD_BUTTON_RIGHT; + else if (x < -70) p |= PAD_BUTTON_LEFT; + if (y > 60) p |= PAD_BUTTON_UP; + else if (y < -60) p |= PAD_BUTTON_DOWN; + #ifdef HW_RVL - wpad_config(num,type-1, padtype); -#endif - break; + /* get wiimote + expansions inputs */ + WPAD_ScanPads(); + u32 q = WPAD_ButtonsDown(0); + /*u32 h = WPAD_ButtonsHeld(0);*/ + x = WPAD_StickX(0, 0); + y = WPAD_StickY(0, 0); + + /* Wiimote orientation */ + WPAD_IR(0, &m_input.ir); + + /* wiimote directions */ + if (m_input.ir.valid) + { + if (q & WPAD_BUTTON_UP) p |= PAD_BUTTON_UP; + else if (q & WPAD_BUTTON_DOWN) p |= PAD_BUTTON_DOWN; + else if (q & WPAD_BUTTON_LEFT) p |= PAD_BUTTON_LEFT; + else if (q & WPAD_BUTTON_RIGHT) p |= PAD_BUTTON_RIGHT; } + else + { + if (q & WPAD_BUTTON_UP) p |= PAD_BUTTON_LEFT; + else if (q & WPAD_BUTTON_DOWN) p |= PAD_BUTTON_RIGHT; + else if (q & WPAD_BUTTON_LEFT) p |= PAD_BUTTON_DOWN; + else if (q & WPAD_BUTTON_RIGHT) p |= PAD_BUTTON_UP; + } + + /* analog sticks */ + if (y > 70) p |= PAD_BUTTON_UP; + else if (y < -70) p |= PAD_BUTTON_DOWN; + if (x < -60) p |= PAD_BUTTON_LEFT; + else if (x > 60) p |= PAD_BUTTON_RIGHT; + + /* classic controller directions */ + if (q & WPAD_CLASSIC_BUTTON_UP) p |= PAD_BUTTON_UP; + else if (q & WPAD_CLASSIC_BUTTON_DOWN) p |= PAD_BUTTON_DOWN; + if (q & WPAD_CLASSIC_BUTTON_LEFT) p |= PAD_BUTTON_LEFT; + else if (q & WPAD_CLASSIC_BUTTON_RIGHT) p |= PAD_BUTTON_RIGHT; + + /* wiimote keys */ + if (q & WPAD_BUTTON_MINUS) p |= PAD_TRIGGER_L; + if (q & WPAD_BUTTON_PLUS) p |= PAD_TRIGGER_R; + if (q & WPAD_BUTTON_A) p |= PAD_BUTTON_A; + if (q & WPAD_BUTTON_B) p |= PAD_BUTTON_B; + if (q & WPAD_BUTTON_2) p |= PAD_BUTTON_A; + if (q & WPAD_BUTTON_1) p |= PAD_BUTTON_B; + if (q & WPAD_BUTTON_HOME) p |= PAD_TRIGGER_Z; + + /* classic controller keys */ + if (q & WPAD_CLASSIC_BUTTON_FULL_L) p |= PAD_TRIGGER_L; + if (q & WPAD_CLASSIC_BUTTON_FULL_R) p |= PAD_TRIGGER_R; + if (q & WPAD_CLASSIC_BUTTON_A) p |= PAD_BUTTON_A; + if (q & WPAD_CLASSIC_BUTTON_B) p |= PAD_BUTTON_B; + if (q & WPAD_CLASSIC_BUTTON_HOME) p |= PAD_TRIGGER_Z; +#endif + + m_input.keys = p; } diff --git a/source/ngc/ogc_input.h b/source/gx/gx_input.h similarity index 77% rename from source/ngc/ogc_input.h rename to source/gx/gx_input.h index fd173b1..7706deb 100644 --- a/source/ngc/ogc_input.h +++ b/source/gx/gx_input.h @@ -1,5 +1,5 @@ /**************************************************************************** - * ogc_input.c + * gx_input.c * * Genesis Plus GX input support * @@ -21,7 +21,6 @@ * ***************************************************************************/ - #ifndef _GC_INPUT_H_ #define _GC_INPUT_H_ @@ -35,8 +34,10 @@ /* number of configurable keys */ #define MAX_KEYS 8 -#define update_input() ogc_input_update() +/* wrapper for genesis plus */ +#define update_input() gx_input_updateEmu() +/* key configuration structure */ typedef struct { s8 device; @@ -45,10 +46,11 @@ typedef struct extern u8 ConfigRequested; -extern void ogc_input_init(void); -extern void ogc_input_default(void); -extern void ogc_input_update(void); -extern void ogc_input_config(u8 num, u8 type, u8 padtype); +extern void gx_input_init(void); +extern void gx_input_setDefault(void); +extern void gx_input_config(u8 num, u8 type, u8 padtype); +extern void gx_input_updateEmu(void); +extern void gx_input_updateMenu(u32 cnt); extern s8 WPAD_StickX(u8 chan,u8 right); extern s8 WPAD_StickY(u8 chan,u8 right); diff --git a/source/ngc/ogc_video.c b/source/gx/gx_video.c similarity index 72% rename from source/ngc/ogc_video.c rename to source/gx/gx_video.c index 78ee8cc..7c928f4 100644 --- a/source/ngc/ogc_video.c +++ b/source/gx/gx_video.c @@ -1,9 +1,9 @@ /**************************************************************************** - * ogc_video.c + * gx_video.c * - * Genesis Plus GX video support + * Genesis Plus GX video & rendering support * - * code by Softdev (2006), Eke-Eke (2007,2008) + * code by Softdev (2006), Eke-Eke (2007,2009) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,13 +23,16 @@ #include "shared.h" #include "font.h" -#include "gcaram.h" +#include "sms_ntsc.h" +#include "aram.h" #include "md_ntsc.h" #include "sms_ntsc.h" #include "Crosshair_p1.h" #include "Crosshair_p2.h" +#include + #define TEX_WIDTH 720 #define TEX_HEIGHT 576 #define TEX_SIZE (TEX_WIDTH * TEX_HEIGHT * 2) @@ -37,6 +40,13 @@ #define HASPECT 320 #define VASPECT 240 +/* libpng wrapper */ +typedef struct +{ + u8 *buffer; + u32 offset; +} png_file; + /*** VI ***/ unsigned int *xfb[2]; /* External Framebuffers */ int whichfb = 0; /* Current Framebuffer */ @@ -60,7 +70,7 @@ static GXRModeObj *rmode; /*** GX Textures ***/ static u32 vwidth,vheight; -static png_texture *crosshair[2]; +static gx_texture *crosshair[2]; /* 288 lines progressive (PAL 50Hz) */ static GXRModeObj TV50hz_288p = @@ -359,10 +369,6 @@ static void gxStart(void) guLookAt(view, &cam.pos, &cam.up, &cam.view); GX_LoadPosMtxImm(view, GX_PNMTX0); GX_Flush(); - - /*** Initialize texture data ***/ - texturemem = memalign(32, TEX_SIZE); - memset (texturemem, 0, TEX_SIZE); } /* Reset GX rendering */ @@ -534,7 +540,7 @@ static void gxResetScale(u32 width, u32 height) GX_InvVtxCache(); } -static void gxDrawCrosshair(png_texture *texture, int x, int y) +static void gxDrawCrosshair(gx_texture *texture, int x, int y) { if (texture->data) { @@ -583,6 +589,205 @@ static void gxDrawCrosshair(png_texture *texture, int x, int y) } } +/* libpng read callback function */ +static void png_read_from_mem (png_structp png_ptr, png_bytep data, png_size_t length) +{ + png_file *file = (png_file *)png_get_io_ptr (png_ptr); + + /* copy data from image buffer */ + memcpy (data, file->buffer + file->offset, length); + + /* advance in the file */ + file->offset += length; +} + +/* convert a png file into RGBA8 texture */ +gx_texture *gxTextureOpenPNG(const u8 *buffer) +{ + int i; + png_file file; + + /* init PNG file structure */ + file.buffer = (u8 *) buffer; + file.offset = 0; + + /* check for valid magic number */ + /*if (!png_check_sig (file.buffer, 8)) return;*/ + + /* create a png read struct */ + png_structp png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!png_ptr) return NULL; + + /* create a png info struct */ + png_infop info_ptr = png_create_info_struct (png_ptr); + if (!info_ptr) + { + png_destroy_read_struct (&png_ptr, NULL, NULL); + return NULL; + } + + /* set callback for the read function */ + png_set_read_fn (png_ptr, (png_voidp *)(&file), png_read_from_mem); + + /* read png info */ + png_read_info (png_ptr, info_ptr); + + /* retrieve image information */ + u32 width = png_get_image_width(png_ptr, info_ptr); + u32 height = png_get_image_height(png_ptr, info_ptr); + +#if 0 + /* ensure PNG images are in the supported format */ + u32 bit_depth = png_get_bit_depth(png_ptr, info_ptr); + u32 color_type = png_get_color_type(png_ptr, info_ptr); + + /* support for RGBA8 textures ONLY !*/ + if ((color_type != PNG_COLOR_TYPE_RGB_ALPHA) || (bit_depth != 8)) + { + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + return; + } + + /* 4x4 tiles are required */ + if ((width%4) || (height%4)) + { + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + return; + } +#endif + + /* allocate memory to store raw image data */ + u32 stride = width << 2; + u8 *img_data = memalign (32, stride * height); + if (!img_data) + { + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + return NULL; + } + + /* allocate row pointer data */ + png_bytep *row_pointers = (png_bytep *)memalign (32, sizeof (png_bytep) * height); + if (!row_pointers) + { + free (img_data); + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + return NULL; + } + + /* store raw image data */ + for (i = 0; i < height; i++) + { + row_pointers[i] = img_data + (i * stride); + } + + /* decode image */ + png_read_image (png_ptr, row_pointers); + + /* finish decompression and release memory */ + png_read_end (png_ptr, NULL); + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + free(row_pointers); + + /* initialize texture */ + gx_texture *texture = (gx_texture *)memalign(32, sizeof(gx_texture)); + if (!texture) + { + free (img_data); + return NULL; + } + + /* initialize texture data */ + texture->data = memalign(32, stride * height); + if (!texture->data) + { + free (img_data); + free(texture); + return NULL; + } + + memset(texture->data, 0, stride * height); + texture->width = width; + texture->height = height; + texture->format = GX_TF_RGBA8; + + /* encode to GX_TF_RGBA8 format (4x4 pixels paired titles) */ + u16 *dst_ar = (u16 *)(texture->data); + u16 *dst_gb = (u16 *)(texture->data + 32); + u32 *src1 = (u32 *)(img_data); + u32 *src2 = (u32 *)(img_data + stride); + u32 *src3 = (u32 *)(img_data + 2*stride); + u32 *src4 = (u32 *)(img_data + 3*stride); + u32 pixel,h,w; + + for (h=0; h> 24) & 0x00ff); + *dst_gb++= (pixel >> 8) & 0xffff; + } + + /* line N + 1 (4 pixels) */ + for (i=0; i<4; i++) + { + pixel = *src2++; + *dst_ar++= ((pixel << 8) & 0xff00) | ((pixel >> 24) & 0x00ff); + *dst_gb++= (pixel >> 8) & 0xffff; + } + + /* line N + 2 (4 pixels) */ + for (i=0; i<4; i++) + { + pixel = *src3++; + *dst_ar++= ((pixel << 8) & 0xff00) | ((pixel >> 24) & 0x00ff); + *dst_gb++= (pixel >> 8) & 0xffff; + } + + /* line N + 3 (4 pixels) */ + for (i=0; i<4; i++) + { + pixel = *src4++; + *dst_ar++= ((pixel << 8) & 0xff00) | ((pixel >> 24) & 0x00ff); + *dst_gb++= (pixel >> 8) & 0xffff; + } + + /* next paired tiles */ + dst_ar += 16; + dst_gb += 16; + } + + /* next 4 lines */ + src1 = src4; + src2 = src1 + width; + src3 = src2 + width; + src4 = src3 + width; + } + + /* release memory */ + free(img_data); + + /* flush texture data from cache */ + DCFlushRange(texture->data, height * stride); + + return texture; +} + +void gxTextureClose(gx_texture **p_texture) +{ + gx_texture *texture = *p_texture; + + if (texture) + { + if (texture->data) free(texture->data); + free(texture); + *p_texture = NULL; + } +} + void gxDrawScreenshot(u8 alpha) { if (rmode) @@ -626,7 +831,78 @@ void gxDrawScreenshot(u8 alpha) } } -void gxResetCamera(f32 angle) +void gxDrawTexture(gx_texture *texture, int x, int y, int w, int h, u8 alpha) +{ + if (texture->data) + { + /* load texture object */ + GXTexObj texObj; + GX_InitTexObj(&texObj, texture->data, texture->width, texture->height, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); + GX_InitTexObjLOD(&texObj,GX_LINEAR,GX_LIN_MIP_LIN,0.0,10.0,0.0,GX_FALSE,GX_TRUE,GX_ANISO_4); /* does this really change anything ? */ + GX_LoadTexObj(&texObj, GX_TEXMAP0); + GX_InvalidateTexAll(); + + /* vertex coordinate */ + x -= (vmode->fbWidth/2); + y -= (vmode->efbHeight/2); + + /* draw textured quad */ + GX_Begin(GX_QUADS, GX_VTXFMT0, 4); + GX_Position2s16(x,y+h); + GX_Color4u8(0xff,0xff,0xff,alpha); + GX_TexCoord2f32(0.0, 1.0); + GX_Position2s16(x+w,y+h); + GX_Color4u8(0xff,0xff,0xff,alpha); + GX_TexCoord2f32(1.0, 1.0); + GX_Position2s16(x+w,y); + GX_Color4u8(0xff,0xff,0xff,alpha); + GX_TexCoord2f32(1.0, 0.0); + GX_Position2s16(x,y); + GX_Color4u8(0xff,0xff,0xff,alpha); + GX_TexCoord2f32(0.0, 0.0); + GX_End (); + GX_DrawDone(); + } +} + +void gxDrawRepeat(gx_texture *texture, int x, int y, int w, int h) +{ + if (texture->data) + { + /* load texture object */ + GXTexObj texObj; + GX_InitTexObj(&texObj, texture->data, texture->width, texture->height, GX_TF_RGBA8, GX_MIRROR, GX_MIRROR, GX_FALSE); + GX_LoadTexObj(&texObj, GX_TEXMAP0); + GX_InvalidateTexAll(); + + /* vertex coordinate */ + x -= (vmode->fbWidth/2); + y -= (vmode->efbHeight/2); + + /* texture coordinates */ + f32 s = (f32)w / (f32)texture->width; + f32 t = (f32)h / (f32)texture->height; + + /* draw textured quad */ + GX_Begin(GX_QUADS, GX_VTXFMT0, 4); + GX_Position2s16(x,y+h); + GX_Color4u8(0xff,0xff,0xff,0xff); + GX_TexCoord2f32(0.0, t); + GX_Position2s16(x+w,y+h); + GX_Color4u8(0xff,0xff,0xff,0xff); + GX_TexCoord2f32(s, t); + GX_Position2s16(x+w,y); + GX_Color4u8(0xff,0xff,0xff,0xff); + GX_TexCoord2f32(s, 0.0); + GX_Position2s16(x,y); + GX_Color4u8(0xff,0xff,0xff,0xff); + GX_TexCoord2f32(0.0, 0.0); + GX_End (); + GX_DrawDone(); + } +} + +void gxResetAngle(f32 angle) { Mtx view; @@ -647,9 +923,27 @@ void gxResetCamera(f32 angle) GX_Flush(); } +GXColor BACKGROUND = {0xd4,0xd0,0xc8,0xff}; + +void gxSetScreen () +{ + GX_CopyDisp(xfb[whichfb], GX_FALSE); + GX_Flush(); + VIDEO_SetNextFramebuffer (xfb[whichfb]); + VIDEO_Flush (); + VIDEO_WaitVSync (); +} + +void gxClearScreen (GXColor color) +{ + whichfb ^= 1; + GX_SetCopyClear(color,0x00ffffff); + GX_CopyDisp(xfb[whichfb], GX_TRUE); + GX_Flush(); +} /* Restore Menu Video mode */ -void ogc_video_stop(void) +void gx_video_stop(void) { /* lightgun textures */ if (crosshair[0]) @@ -673,12 +967,12 @@ void ogc_video_stop(void) gxDrawScreenshot(0xff); VIDEO_Configure(vmode); VIDEO_SetPreRetraceCallback(NULL); - VIDEO_SetPostRetraceCallback(menu_updateInputs); - SetScreen (); + VIDEO_SetPostRetraceCallback(gx_input_updateMenu); + gxSetScreen (); } /* Update Video settings */ -void ogc_video_start(void) +void gx_video_start(void) { /* 50Hz/60Hz mode */ if ((config.tv_mode == 1) || ((config.tv_mode == 2) && vdp_pal)) gc_pal = 1; @@ -728,8 +1022,8 @@ void ogc_video_start(void) { if (config.gun_cursor) { - if (input.dev[4] == DEVICE_LIGHTGUN) crosshair[0] = OpenTexturePNG(Crosshair_p1); - if (input.dev[5] == DEVICE_LIGHTGUN) crosshair[1] = OpenTexturePNG(Crosshair_p2); + if (input.dev[4] == DEVICE_LIGHTGUN) crosshair[0] = gxTextureOpenPNG(Crosshair_p1); + if (input.dev[5] == DEVICE_LIGHTGUN) crosshair[1] = gxTextureOpenPNG(Crosshair_p2); } } @@ -743,7 +1037,7 @@ void ogc_video_start(void) /* GX render update */ -void ogc_video_update(void) +void gx_video_update(void) { /* check if display has changed */ if (bitmap.viewport.changed) @@ -833,7 +1127,7 @@ void ogc_video_update(void) } /* Initialize VIDEO subsystem */ -void ogc_video_init(void) +void gx_video_init(void) { /* * Before doing anything else under libogc, @@ -937,6 +1231,17 @@ void ogc_video_init(void) gxResetRendering(1); gxResetView(vmode); - /* Initialize Font */ - FONT_Init(); + /* Initialize texture data */ + texturemem = memalign(32, TEX_SIZE); + if (!texturemem) + { + WaitPrompt("Failed to allocate texture buffer... Rebooting"); +#ifdef HW_RVL + DI_Close(); + SYS_ResetSystem(SYS_RESTART,0,0); +#else + SYS_ResetSystem(SYS_HOTRESET,0,0); +#endif + } + memset (texturemem, 0, TEX_SIZE); } diff --git a/source/ngc/ogc_video.h b/source/gx/gx_video.h similarity index 60% rename from source/ngc/ogc_video.h rename to source/gx/gx_video.h index 33f3bee..e632659 100644 --- a/source/ngc/ogc_video.h +++ b/source/gx/gx_video.h @@ -1,5 +1,5 @@ /**************************************************************************** - * ogc_video.c + * gx_video.c * * Genesis Plus GX video support * @@ -24,6 +24,12 @@ #ifndef _GC_VIDEO_H_ #define _GC_VIDEO_H_ +/* EFB colors */ +#define BLACK {0,0,0,0xff} +#define DARK_GREY {0x22,0x22,0x22,0xff} +#define WHITE {0xff,0xff,0xff,0xff} + +/* image texture */ typedef struct { u8 *data; @@ -32,20 +38,28 @@ typedef struct u8 format; } gx_texture; +/* Global variables */ extern unsigned int *xfb[2]; extern int whichfb; extern GXRModeObj *vmode; extern u8 *texturemem; extern u8 gc_pal; +extern GXColor BACKGROUND; -extern void ogc_video_init(void); -extern void ogc_video_start(void); -extern void ogc_video_stop(void); -extern void ogc_video_update(void); +/* GX video emulation functions */ +extern void gx_video_init(void); +extern void gx_video_start(void); +extern void gx_video_stop(void); +extern void gx_video_update(void); -extern void gxResetCamera(f32 angle); +/* GX draw functions */ +extern gx_texture *gxTextureOpenPNG(const u8 *buffer); +extern void gxTextureClose(gx_texture **p_texture); extern void gxDrawScreenshot(u8 alpha); - - +extern void gxDrawTexture(gx_texture *texture, int x, int y, int w, int h, u8 alpha); +extern void gxDrawRepeat(gx_texture *texture, int x, int y, int w, int h); +extern void gxResetAngle(f32 angle); +extern void gxClearScreen (GXColor color); +extern void gxSetScreen (); #endif diff --git a/source/ngc/ngc.c b/source/gx/main.c similarity index 81% rename from source/ngc/ngc.c rename to source/gx/main.c index 73596b3..1ded406 100644 --- a/source/ngc/ngc.c +++ b/source/gx/main.c @@ -1,5 +1,5 @@ /**************************************************************************** - * ngc.c + * main.c * * Genesis Plus GX main * @@ -24,18 +24,15 @@ #include "shared.h" #include "font.h" #include "history.h" -#include "gcaram.h" - -#ifdef HW_DOL +#include "aram.h" #include "dvd.h" -#else -#include -#endif #include - #ifdef HW_RVL +#include +#include + /* Power Button callback */ u8 Shutdown = 0; void Power_Off(void) @@ -80,7 +77,19 @@ static void load_bios() static void init_machine (void) { /* Allocate cart_rom here ( 10 MBytes ) */ - cart_rom = memalign(32, 10 * 1024 * 1024); + cart_rom = memalign(32, MAXROMSIZE); + if (!cart_rom) + { + WaitPrompt("Failed to allocate ROM buffer... Rebooting"); + free(texturemem); + FONT_Shutdown(); +#ifdef HW_RVL + DI_Close(); + SYS_ResetSystem(SYS_RESTART,0,0); +#else + SYS_ResetSystem(SYS_HOTRESET,0,0); +#endif + } /* BIOS support */ load_bios(); @@ -134,10 +143,23 @@ int main (int argc, char *argv[]) uint32 TotalFrames = 0; uint32 FramesPerSecond = 0; - /* initialize OGC subsystems */ - ogc_video_init(); - ogc_input_init(); - ogc_audio_init(); + /* initialize harwdare */ + gx_video_init(); + gx_input_init(); + gx_audio_init(); + + /* initialize font */ + if (!FONT_Init()) + { + WaitPrompt("Failed to allocate ROM buffer... Rebooting"); + free(texturemem); +#ifdef HW_RVL + DI_Close(); + SYS_ResetSystem(SYS_RESTART,0,0); +#else + SYS_ResetSystem(SYS_HOTRESET,0,0); +#endif + } #ifdef HW_DOL /* initialize GC DVD interface */ @@ -165,11 +187,11 @@ int main (int argc, char *argv[]) /* default config */ legal(); - set_config_defaults(); + config_setDefault(); config_load(); /* restore recent files list */ - set_history_defaults(); + history_setDefault(); history_load(); /* initialize Virtual Machine */ @@ -180,8 +202,8 @@ int main (int argc, char *argv[]) { ARAMFetch((char *)cart_rom, (void *)0x8000, genromsize); reloadrom (); - ogc_video_start(); - ogc_audio_start(); + gx_video_start(); + gx_audio_start(); frameticker = 1; } else @@ -197,8 +219,8 @@ int main (int argc, char *argv[]) if (ConfigRequested) { /* stop audio & video */ - ogc_audio_stop(); - ogc_video_stop(); + gx_audio_stop(); + gx_video_stop(); /* go to menu */ MainMenu (FramesPerSecond); @@ -210,8 +232,8 @@ int main (int argc, char *argv[]) FramesPerSecond = vdp_rate; /* start audio & video */ - ogc_video_start(); - ogc_audio_start(); + gx_video_start(); + gx_audio_start(); /* reset framesync */ frameticker = 1; @@ -224,7 +246,7 @@ int main (int argc, char *argv[]) system_frame (1); /* update audio only */ - ogc_audio_update(); + gx_audio_update(); } else { @@ -236,8 +258,8 @@ int main (int argc, char *argv[]) system_frame (0); /* update video & audio */ - ogc_video_update(); - ogc_audio_update(); + gx_video_update(); + gx_audio_update(); RenderedFrames++; } diff --git a/source/ngc/osd.h b/source/gx/osd.h similarity index 82% rename from source/ngc/osd.h rename to source/gx/osd.h index 523e4ce..9b2a346 100644 --- a/source/ngc/osd.h +++ b/source/gx/osd.h @@ -12,9 +12,13 @@ #include #include -#include "ogc_input.h" -#include "ogc_audio.h" -#include "ogc_video.h" +#ifdef HW_RVL +#include +#endif + +#include "gx_input.h" +#include "gx_audio.h" +#include "gx_video.h" #include "config.h" #define DEFAULT_PATH "/genplus" @@ -30,7 +34,6 @@ extern int ManageSRAM(u8 direction, u8 device); extern int ManageState(u8 direction, u8 device); extern void memfile_autosave(); extern void memfile_autoload(); -extern void menu_updateInputs(u32 cnt); extern u8 fat_enabled; extern u32 frameticker; diff --git a/source/ngc/png/Background_credits.c b/source/gx/png/Background_credits.c similarity index 100% rename from source/ngc/png/Background_credits.c rename to source/gx/png/Background_credits.c diff --git a/source/ngc/png/Background_credits.h b/source/gx/png/Background_credits.h similarity index 100% rename from source/ngc/png/Background_credits.h rename to source/gx/png/Background_credits.h diff --git a/source/ngc/png/Background_credits.png b/source/gx/png/Background_credits.png similarity index 100% rename from source/ngc/png/Background_credits.png rename to source/gx/png/Background_credits.png diff --git a/source/ngc/png/Background_intro_c1.c b/source/gx/png/Background_intro_c1.c similarity index 100% rename from source/ngc/png/Background_intro_c1.c rename to source/gx/png/Background_intro_c1.c diff --git a/source/ngc/png/Background_intro_c1.h b/source/gx/png/Background_intro_c1.h similarity index 100% rename from source/ngc/png/Background_intro_c1.h rename to source/gx/png/Background_intro_c1.h diff --git a/source/ngc/png/Background_intro_c1.png b/source/gx/png/Background_intro_c1.png similarity index 100% rename from source/ngc/png/Background_intro_c1.png rename to source/gx/png/Background_intro_c1.png diff --git a/source/ngc/png/Background_intro_c2.c b/source/gx/png/Background_intro_c2.c similarity index 100% rename from source/ngc/png/Background_intro_c2.c rename to source/gx/png/Background_intro_c2.c diff --git a/source/ngc/png/Background_intro_c2.h b/source/gx/png/Background_intro_c2.h similarity index 100% rename from source/ngc/png/Background_intro_c2.h rename to source/gx/png/Background_intro_c2.h diff --git a/source/ngc/png/Background_intro_c2.png b/source/gx/png/Background_intro_c2.png similarity index 100% rename from source/ngc/png/Background_intro_c2.png rename to source/gx/png/Background_intro_c2.png diff --git a/source/ngc/png/Background_intro_c3.c b/source/gx/png/Background_intro_c3.c similarity index 100% rename from source/ngc/png/Background_intro_c3.c rename to source/gx/png/Background_intro_c3.c diff --git a/source/ngc/png/Background_intro_c3.h b/source/gx/png/Background_intro_c3.h similarity index 100% rename from source/ngc/png/Background_intro_c3.h rename to source/gx/png/Background_intro_c3.h diff --git a/source/ngc/png/Background_intro_c3.png b/source/gx/png/Background_intro_c3.png similarity index 100% rename from source/ngc/png/Background_intro_c3.png rename to source/gx/png/Background_intro_c3.png diff --git a/source/ngc/png/Background_intro_c4.c b/source/gx/png/Background_intro_c4.c similarity index 100% rename from source/ngc/png/Background_intro_c4.c rename to source/gx/png/Background_intro_c4.c diff --git a/source/ngc/png/Background_intro_c4.h b/source/gx/png/Background_intro_c4.h similarity index 100% rename from source/ngc/png/Background_intro_c4.h rename to source/gx/png/Background_intro_c4.h diff --git a/source/ngc/png/Background_intro_c4.png b/source/gx/png/Background_intro_c4.png similarity index 100% rename from source/ngc/png/Background_intro_c4.png rename to source/gx/png/Background_intro_c4.png diff --git a/source/ngc/png/Background_main.c b/source/gx/png/Background_main.c similarity index 100% rename from source/ngc/png/Background_main.c rename to source/gx/png/Background_main.c diff --git a/source/ngc/png/Background_main.h b/source/gx/png/Background_main.h similarity index 100% rename from source/ngc/png/Background_main.h rename to source/gx/png/Background_main.h diff --git a/source/ngc/png/Background_main.png b/source/gx/png/Background_main.png similarity index 100% rename from source/ngc/png/Background_main.png rename to source/gx/png/Background_main.png diff --git a/source/ngc/png/Background_overlay.c b/source/gx/png/Background_overlay.c similarity index 100% rename from source/ngc/png/Background_overlay.c rename to source/gx/png/Background_overlay.c diff --git a/source/ngc/png/Background_overlay.h b/source/gx/png/Background_overlay.h similarity index 100% rename from source/ngc/png/Background_overlay.h rename to source/gx/png/Background_overlay.h diff --git a/source/ngc/png/Background_overlay.png b/source/gx/png/Background_overlay.png similarity index 100% rename from source/ngc/png/Background_overlay.png rename to source/gx/png/Background_overlay.png diff --git a/source/ngc/png/Banner_bottom.c b/source/gx/png/Banner_bottom.c similarity index 100% rename from source/ngc/png/Banner_bottom.c rename to source/gx/png/Banner_bottom.c diff --git a/source/ngc/png/Banner_bottom.h b/source/gx/png/Banner_bottom.h similarity index 100% rename from source/ngc/png/Banner_bottom.h rename to source/gx/png/Banner_bottom.h diff --git a/source/ngc/png/Banner_bottom.png b/source/gx/png/Banner_bottom.png similarity index 100% rename from source/ngc/png/Banner_bottom.png rename to source/gx/png/Banner_bottom.png diff --git a/source/ngc/png/Banner_main.c b/source/gx/png/Banner_main.c similarity index 100% rename from source/ngc/png/Banner_main.c rename to source/gx/png/Banner_main.c diff --git a/source/ngc/png/Banner_main.h b/source/gx/png/Banner_main.h similarity index 100% rename from source/ngc/png/Banner_main.h rename to source/gx/png/Banner_main.h diff --git a/source/ngc/png/Banner_main.png b/source/gx/png/Banner_main.png similarity index 100% rename from source/ngc/png/Banner_main.png rename to source/gx/png/Banner_main.png diff --git a/source/ngc/png/Banner_top.c b/source/gx/png/Banner_top.c similarity index 100% rename from source/ngc/png/Banner_top.c rename to source/gx/png/Banner_top.c diff --git a/source/ngc/png/Banner_top.h b/source/gx/png/Banner_top.h similarity index 100% rename from source/ngc/png/Banner_top.h rename to source/gx/png/Banner_top.h diff --git a/source/ngc/png/Banner_top.png b/source/gx/png/Banner_top.png similarity index 100% rename from source/ngc/png/Banner_top.png rename to source/gx/png/Banner_top.png diff --git a/source/ngc/png/Browser_dir.c b/source/gx/png/Browser_dir.c similarity index 100% rename from source/ngc/png/Browser_dir.c rename to source/gx/png/Browser_dir.c diff --git a/source/ngc/png/Browser_dir.h b/source/gx/png/Browser_dir.h similarity index 100% rename from source/ngc/png/Browser_dir.h rename to source/gx/png/Browser_dir.h diff --git a/source/ngc/png/Browser_dir.png b/source/gx/png/Browser_dir.png similarity index 100% rename from source/ngc/png/Browser_dir.png rename to source/gx/png/Browser_dir.png diff --git a/source/ngc/png/Button_delete.c b/source/gx/png/Button_delete.c similarity index 100% rename from source/ngc/png/Button_delete.c rename to source/gx/png/Button_delete.c diff --git a/source/ngc/png/Button_delete.h b/source/gx/png/Button_delete.h similarity index 100% rename from source/ngc/png/Button_delete.h rename to source/gx/png/Button_delete.h diff --git a/source/ngc/png/Button_delete.png b/source/gx/png/Button_delete.png similarity index 100% rename from source/ngc/png/Button_delete.png rename to source/gx/png/Button_delete.png diff --git a/source/ngc/png/Button_delete_over.c b/source/gx/png/Button_delete_over.c similarity index 100% rename from source/ngc/png/Button_delete_over.c rename to source/gx/png/Button_delete_over.c diff --git a/source/ngc/png/Button_delete_over.h b/source/gx/png/Button_delete_over.h similarity index 100% rename from source/ngc/png/Button_delete_over.h rename to source/gx/png/Button_delete_over.h diff --git a/source/ngc/png/Button_delete_over.png b/source/gx/png/Button_delete_over.png similarity index 100% rename from source/ngc/png/Button_delete_over.png rename to source/gx/png/Button_delete_over.png diff --git a/source/ngc/png/Button_down.c b/source/gx/png/Button_down.c similarity index 100% rename from source/ngc/png/Button_down.c rename to source/gx/png/Button_down.c diff --git a/source/ngc/png/Button_down.h b/source/gx/png/Button_down.h similarity index 100% rename from source/ngc/png/Button_down.h rename to source/gx/png/Button_down.h diff --git a/source/ngc/png/Button_down.png b/source/gx/png/Button_down.png similarity index 100% rename from source/ngc/png/Button_down.png rename to source/gx/png/Button_down.png diff --git a/source/ngc/png/Button_down_over.c b/source/gx/png/Button_down_over.c similarity index 100% rename from source/ngc/png/Button_down_over.c rename to source/gx/png/Button_down_over.c diff --git a/source/ngc/png/Button_down_over.h b/source/gx/png/Button_down_over.h similarity index 100% rename from source/ngc/png/Button_down_over.h rename to source/gx/png/Button_down_over.h diff --git a/source/ngc/png/Button_down_over.png b/source/gx/png/Button_down_over.png similarity index 100% rename from source/ngc/png/Button_down_over.png rename to source/gx/png/Button_down_over.png diff --git a/source/ngc/png/Button_icon.c b/source/gx/png/Button_icon.c similarity index 100% rename from source/ngc/png/Button_icon.c rename to source/gx/png/Button_icon.c diff --git a/source/ngc/png/Button_icon.h b/source/gx/png/Button_icon.h similarity index 100% rename from source/ngc/png/Button_icon.h rename to source/gx/png/Button_icon.h diff --git a/source/ngc/png/Button_icon.png b/source/gx/png/Button_icon.png similarity index 100% rename from source/ngc/png/Button_icon.png rename to source/gx/png/Button_icon.png diff --git a/source/ngc/png/Button_icon_over.c b/source/gx/png/Button_icon_over.c similarity index 100% rename from source/ngc/png/Button_icon_over.c rename to source/gx/png/Button_icon_over.c diff --git a/source/ngc/png/Button_icon_over.h b/source/gx/png/Button_icon_over.h similarity index 100% rename from source/ngc/png/Button_icon_over.h rename to source/gx/png/Button_icon_over.h diff --git a/source/ngc/png/Button_icon_over.png b/source/gx/png/Button_icon_over.png similarity index 100% rename from source/ngc/png/Button_icon_over.png rename to source/gx/png/Button_icon_over.png diff --git a/source/ngc/png/Button_icon_sm.c b/source/gx/png/Button_icon_sm.c similarity index 100% rename from source/ngc/png/Button_icon_sm.c rename to source/gx/png/Button_icon_sm.c diff --git a/source/ngc/png/Button_icon_sm.h b/source/gx/png/Button_icon_sm.h similarity index 100% rename from source/ngc/png/Button_icon_sm.h rename to source/gx/png/Button_icon_sm.h diff --git a/source/ngc/png/Button_icon_sm.png b/source/gx/png/Button_icon_sm.png similarity index 100% rename from source/ngc/png/Button_icon_sm.png rename to source/gx/png/Button_icon_sm.png diff --git a/source/ngc/png/Button_icon_sm_over.c b/source/gx/png/Button_icon_sm_over.c similarity index 100% rename from source/ngc/png/Button_icon_sm_over.c rename to source/gx/png/Button_icon_sm_over.c diff --git a/source/ngc/png/Button_icon_sm_over.h b/source/gx/png/Button_icon_sm_over.h similarity index 100% rename from source/ngc/png/Button_icon_sm_over.h rename to source/gx/png/Button_icon_sm_over.h diff --git a/source/ngc/png/Button_icon_sm_over.png b/source/gx/png/Button_icon_sm_over.png similarity index 100% rename from source/ngc/png/Button_icon_sm_over.png rename to source/gx/png/Button_icon_sm_over.png diff --git a/source/ngc/png/Button_load.c b/source/gx/png/Button_load.c similarity index 100% rename from source/ngc/png/Button_load.c rename to source/gx/png/Button_load.c diff --git a/source/ngc/png/Button_load.h b/source/gx/png/Button_load.h similarity index 100% rename from source/ngc/png/Button_load.h rename to source/gx/png/Button_load.h diff --git a/source/ngc/png/Button_load.png b/source/gx/png/Button_load.png similarity index 100% rename from source/ngc/png/Button_load.png rename to source/gx/png/Button_load.png diff --git a/source/ngc/png/Button_load_over.c b/source/gx/png/Button_load_over.c similarity index 100% rename from source/ngc/png/Button_load_over.c rename to source/gx/png/Button_load_over.c diff --git a/source/ngc/png/Button_load_over.h b/source/gx/png/Button_load_over.h similarity index 100% rename from source/ngc/png/Button_load_over.h rename to source/gx/png/Button_load_over.h diff --git a/source/ngc/png/Button_load_over.png b/source/gx/png/Button_load_over.png similarity index 100% rename from source/ngc/png/Button_load_over.png rename to source/gx/png/Button_load_over.png diff --git a/source/ngc/png/Button_save.c b/source/gx/png/Button_save.c similarity index 100% rename from source/ngc/png/Button_save.c rename to source/gx/png/Button_save.c diff --git a/source/ngc/png/Button_save.h b/source/gx/png/Button_save.h similarity index 100% rename from source/ngc/png/Button_save.h rename to source/gx/png/Button_save.h diff --git a/source/ngc/png/Button_save.png b/source/gx/png/Button_save.png similarity index 100% rename from source/ngc/png/Button_save.png rename to source/gx/png/Button_save.png diff --git a/source/ngc/png/Button_save_over.c b/source/gx/png/Button_save_over.c similarity index 100% rename from source/ngc/png/Button_save_over.c rename to source/gx/png/Button_save_over.c diff --git a/source/ngc/png/Button_save_over.h b/source/gx/png/Button_save_over.h similarity index 100% rename from source/ngc/png/Button_save_over.h rename to source/gx/png/Button_save_over.h diff --git a/source/ngc/png/Button_save_over.png b/source/gx/png/Button_save_over.png similarity index 100% rename from source/ngc/png/Button_save_over.png rename to source/gx/png/Button_save_over.png diff --git a/source/ngc/png/Button_special.c b/source/gx/png/Button_special.c similarity index 100% rename from source/ngc/png/Button_special.c rename to source/gx/png/Button_special.c diff --git a/source/ngc/png/Button_special.h b/source/gx/png/Button_special.h similarity index 100% rename from source/ngc/png/Button_special.h rename to source/gx/png/Button_special.h diff --git a/source/ngc/png/Button_special.png b/source/gx/png/Button_special.png similarity index 100% rename from source/ngc/png/Button_special.png rename to source/gx/png/Button_special.png diff --git a/source/ngc/png/Button_special_over.c b/source/gx/png/Button_special_over.c similarity index 100% rename from source/ngc/png/Button_special_over.c rename to source/gx/png/Button_special_over.c diff --git a/source/ngc/png/Button_special_over.h b/source/gx/png/Button_special_over.h similarity index 100% rename from source/ngc/png/Button_special_over.h rename to source/gx/png/Button_special_over.h diff --git a/source/ngc/png/Button_special_over.png b/source/gx/png/Button_special_over.png similarity index 100% rename from source/ngc/png/Button_special_over.png rename to source/gx/png/Button_special_over.png diff --git a/source/ngc/png/Button_text.c b/source/gx/png/Button_text.c similarity index 100% rename from source/ngc/png/Button_text.c rename to source/gx/png/Button_text.c diff --git a/source/ngc/png/Button_text.h b/source/gx/png/Button_text.h similarity index 100% rename from source/ngc/png/Button_text.h rename to source/gx/png/Button_text.h diff --git a/source/ngc/png/Button_text.png b/source/gx/png/Button_text.png similarity index 100% rename from source/ngc/png/Button_text.png rename to source/gx/png/Button_text.png diff --git a/source/ngc/png/Button_text_over.c b/source/gx/png/Button_text_over.c similarity index 100% rename from source/ngc/png/Button_text_over.c rename to source/gx/png/Button_text_over.c diff --git a/source/ngc/png/Button_text_over.h b/source/gx/png/Button_text_over.h similarity index 100% rename from source/ngc/png/Button_text_over.h rename to source/gx/png/Button_text_over.h diff --git a/source/ngc/png/Button_text_over.png b/source/gx/png/Button_text_over.png similarity index 100% rename from source/ngc/png/Button_text_over.png rename to source/gx/png/Button_text_over.png diff --git a/source/ngc/png/Button_text_sm.c b/source/gx/png/Button_text_sm.c similarity index 100% rename from source/ngc/png/Button_text_sm.c rename to source/gx/png/Button_text_sm.c diff --git a/source/ngc/png/Button_text_sm.h b/source/gx/png/Button_text_sm.h similarity index 100% rename from source/ngc/png/Button_text_sm.h rename to source/gx/png/Button_text_sm.h diff --git a/source/ngc/png/Button_text_sm.png b/source/gx/png/Button_text_sm.png similarity index 100% rename from source/ngc/png/Button_text_sm.png rename to source/gx/png/Button_text_sm.png diff --git a/source/ngc/png/Button_text_sm_over.c b/source/gx/png/Button_text_sm_over.c similarity index 100% rename from source/ngc/png/Button_text_sm_over.c rename to source/gx/png/Button_text_sm_over.c diff --git a/source/ngc/png/Button_text_sm_over.h b/source/gx/png/Button_text_sm_over.h similarity index 100% rename from source/ngc/png/Button_text_sm_over.h rename to source/gx/png/Button_text_sm_over.h diff --git a/source/ngc/png/Button_text_sm_over.png b/source/gx/png/Button_text_sm_over.png similarity index 100% rename from source/ngc/png/Button_text_sm_over.png rename to source/gx/png/Button_text_sm_over.png diff --git a/source/ngc/png/Button_up.c b/source/gx/png/Button_up.c similarity index 100% rename from source/ngc/png/Button_up.c rename to source/gx/png/Button_up.c diff --git a/source/ngc/png/Button_up.h b/source/gx/png/Button_up.h similarity index 100% rename from source/ngc/png/Button_up.h rename to source/gx/png/Button_up.h diff --git a/source/ngc/png/Button_up.png b/source/gx/png/Button_up.png similarity index 100% rename from source/ngc/png/Button_up.png rename to source/gx/png/Button_up.png diff --git a/source/ngc/png/Button_up_over.c b/source/gx/png/Button_up_over.c similarity index 100% rename from source/ngc/png/Button_up_over.c rename to source/gx/png/Button_up_over.c diff --git a/source/ngc/png/Button_up_over.h b/source/gx/png/Button_up_over.h similarity index 100% rename from source/ngc/png/Button_up_over.h rename to source/gx/png/Button_up_over.h diff --git a/source/ngc/png/Button_up_over.png b/source/gx/png/Button_up_over.png similarity index 100% rename from source/ngc/png/Button_up_over.png rename to source/gx/png/Button_up_over.png diff --git a/source/ngc/png/Crosshair_p1.c b/source/gx/png/Crosshair_p1.c similarity index 100% rename from source/ngc/png/Crosshair_p1.c rename to source/gx/png/Crosshair_p1.c diff --git a/source/ngc/png/Crosshair_p1.h b/source/gx/png/Crosshair_p1.h similarity index 100% rename from source/ngc/png/Crosshair_p1.h rename to source/gx/png/Crosshair_p1.h diff --git a/source/ngc/png/Crosshair_p1.png b/source/gx/png/Crosshair_p1.png similarity index 100% rename from source/ngc/png/Crosshair_p1.png rename to source/gx/png/Crosshair_p1.png diff --git a/source/ngc/png/Crosshair_p2.c b/source/gx/png/Crosshair_p2.c similarity index 100% rename from source/ngc/png/Crosshair_p2.c rename to source/gx/png/Crosshair_p2.c diff --git a/source/ngc/png/Crosshair_p2.h b/source/gx/png/Crosshair_p2.h similarity index 100% rename from source/ngc/png/Crosshair_p2.h rename to source/gx/png/Crosshair_p2.h diff --git a/source/ngc/png/Crosshair_p2.png b/source/gx/png/Crosshair_p2.png similarity index 100% rename from source/ngc/png/Crosshair_p2.png rename to source/gx/png/Crosshair_p2.png diff --git a/source/ngc/png/Ctrl_4wayplay.c b/source/gx/png/Ctrl_4wayplay.c similarity index 100% rename from source/ngc/png/Ctrl_4wayplay.c rename to source/gx/png/Ctrl_4wayplay.c diff --git a/source/ngc/png/Ctrl_4wayplay.h b/source/gx/png/Ctrl_4wayplay.h similarity index 100% rename from source/ngc/png/Ctrl_4wayplay.h rename to source/gx/png/Ctrl_4wayplay.h diff --git a/source/ngc/png/Ctrl_4wayplay.png b/source/gx/png/Ctrl_4wayplay.png similarity index 100% rename from source/ngc/png/Ctrl_4wayplay.png rename to source/gx/png/Ctrl_4wayplay.png diff --git a/source/ngc/png/Ctrl_gamepad.c b/source/gx/png/Ctrl_gamepad.c similarity index 100% rename from source/ngc/png/Ctrl_gamepad.c rename to source/gx/png/Ctrl_gamepad.c diff --git a/source/ngc/png/Ctrl_gamepad.h b/source/gx/png/Ctrl_gamepad.h similarity index 100% rename from source/ngc/png/Ctrl_gamepad.h rename to source/gx/png/Ctrl_gamepad.h diff --git a/source/ngc/png/Ctrl_gamepad.png b/source/gx/png/Ctrl_gamepad.png similarity index 100% rename from source/ngc/png/Ctrl_gamepad.png rename to source/gx/png/Ctrl_gamepad.png diff --git a/source/ngc/png/Ctrl_justifiers.c b/source/gx/png/Ctrl_justifiers.c similarity index 100% rename from source/ngc/png/Ctrl_justifiers.c rename to source/gx/png/Ctrl_justifiers.c diff --git a/source/ngc/png/Ctrl_justifiers.h b/source/gx/png/Ctrl_justifiers.h similarity index 100% rename from source/ngc/png/Ctrl_justifiers.h rename to source/gx/png/Ctrl_justifiers.h diff --git a/source/ngc/png/Ctrl_justifiers.png b/source/gx/png/Ctrl_justifiers.png similarity index 100% rename from source/ngc/png/Ctrl_justifiers.png rename to source/gx/png/Ctrl_justifiers.png diff --git a/source/ngc/png/Ctrl_justifiers_black.c b/source/gx/png/Ctrl_justifiers_black.c similarity index 100% rename from source/ngc/png/Ctrl_justifiers_black.c rename to source/gx/png/Ctrl_justifiers_black.c diff --git a/source/ngc/png/Ctrl_justifiers_black.h b/source/gx/png/Ctrl_justifiers_black.h similarity index 100% rename from source/ngc/png/Ctrl_justifiers_black.h rename to source/gx/png/Ctrl_justifiers_black.h diff --git a/source/ngc/png/Ctrl_justifiers_black.png b/source/gx/png/Ctrl_justifiers_black.png similarity index 100% rename from source/ngc/png/Ctrl_justifiers_black.png rename to source/gx/png/Ctrl_justifiers_black.png diff --git a/source/ngc/png/Ctrl_menacer.c b/source/gx/png/Ctrl_menacer.c similarity index 100% rename from source/ngc/png/Ctrl_menacer.c rename to source/gx/png/Ctrl_menacer.c diff --git a/source/ngc/png/Ctrl_menacer.h b/source/gx/png/Ctrl_menacer.h similarity index 100% rename from source/ngc/png/Ctrl_menacer.h rename to source/gx/png/Ctrl_menacer.h diff --git a/source/ngc/png/Ctrl_menacer.png b/source/gx/png/Ctrl_menacer.png similarity index 100% rename from source/ngc/png/Ctrl_menacer.png rename to source/gx/png/Ctrl_menacer.png diff --git a/source/ngc/png/Ctrl_mouse.c b/source/gx/png/Ctrl_mouse.c similarity index 100% rename from source/ngc/png/Ctrl_mouse.c rename to source/gx/png/Ctrl_mouse.c diff --git a/source/ngc/png/Ctrl_mouse.h b/source/gx/png/Ctrl_mouse.h similarity index 100% rename from source/ngc/png/Ctrl_mouse.h rename to source/gx/png/Ctrl_mouse.h diff --git a/source/ngc/png/Ctrl_mouse.png b/source/gx/png/Ctrl_mouse.png similarity index 100% rename from source/ngc/png/Ctrl_mouse.png rename to source/gx/png/Ctrl_mouse.png diff --git a/source/ngc/png/Ctrl_port1.c b/source/gx/png/Ctrl_port1.c similarity index 100% rename from source/ngc/png/Ctrl_port1.c rename to source/gx/png/Ctrl_port1.c diff --git a/source/ngc/png/Ctrl_port1.h b/source/gx/png/Ctrl_port1.h similarity index 100% rename from source/ngc/png/Ctrl_port1.h rename to source/gx/png/Ctrl_port1.h diff --git a/source/ngc/png/Ctrl_port1.png b/source/gx/png/Ctrl_port1.png similarity index 100% rename from source/ngc/png/Ctrl_port1.png rename to source/gx/png/Ctrl_port1.png diff --git a/source/ngc/png/Ctrl_port2.c b/source/gx/png/Ctrl_port2.c similarity index 100% rename from source/ngc/png/Ctrl_port2.c rename to source/gx/png/Ctrl_port2.c diff --git a/source/ngc/png/Ctrl_port2.h b/source/gx/png/Ctrl_port2.h similarity index 100% rename from source/ngc/png/Ctrl_port2.h rename to source/gx/png/Ctrl_port2.h diff --git a/source/ngc/png/Ctrl_port2.png b/source/gx/png/Ctrl_port2.png similarity index 100% rename from source/ngc/png/Ctrl_port2.png rename to source/gx/png/Ctrl_port2.png diff --git a/source/ngc/png/Ctrl_port3.c b/source/gx/png/Ctrl_port3.c similarity index 100% rename from source/ngc/png/Ctrl_port3.c rename to source/gx/png/Ctrl_port3.c diff --git a/source/ngc/png/Ctrl_port3.h b/source/gx/png/Ctrl_port3.h similarity index 100% rename from source/ngc/png/Ctrl_port3.h rename to source/gx/png/Ctrl_port3.h diff --git a/source/ngc/png/Ctrl_port3.png b/source/gx/png/Ctrl_port3.png similarity index 100% rename from source/ngc/png/Ctrl_port3.png rename to source/gx/png/Ctrl_port3.png diff --git a/source/ngc/png/Ctrl_port4.c b/source/gx/png/Ctrl_port4.c similarity index 100% rename from source/ngc/png/Ctrl_port4.c rename to source/gx/png/Ctrl_port4.c diff --git a/source/ngc/png/Ctrl_port4.h b/source/gx/png/Ctrl_port4.h similarity index 100% rename from source/ngc/png/Ctrl_port4.h rename to source/gx/png/Ctrl_port4.h diff --git a/source/ngc/png/Ctrl_port4.png b/source/gx/png/Ctrl_port4.png similarity index 100% rename from source/ngc/png/Ctrl_port4.png rename to source/gx/png/Ctrl_port4.png diff --git a/source/ngc/png/Ctrl_teamplayer.c b/source/gx/png/Ctrl_teamplayer.c similarity index 100% rename from source/ngc/png/Ctrl_teamplayer.c rename to source/gx/png/Ctrl_teamplayer.c diff --git a/source/ngc/png/Ctrl_teamplayer.h b/source/gx/png/Ctrl_teamplayer.h similarity index 100% rename from source/ngc/png/Ctrl_teamplayer.h rename to source/gx/png/Ctrl_teamplayer.h diff --git a/source/ngc/png/Ctrl_teamplayer.png b/source/gx/png/Ctrl_teamplayer.png similarity index 100% rename from source/ngc/png/Ctrl_teamplayer.png rename to source/gx/png/Ctrl_teamplayer.png diff --git a/source/gx/png/Frame_s1.c b/source/gx/png/Frame_s1.c new file mode 100644 index 0000000..26f95c6 --- /dev/null +++ b/source/gx/png/Frame_s1.c @@ -0,0 +1,271 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +const unsigned char Frame_s1[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x01, 0x74, 0x00, 0x00, 0x01, 0x50, 0x08, 0x06, 0x00, 0x00, 0x00, 0xaf, 0x5e, 0x85, + 0x73, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x12, 0x00, 0x00, 0x0b, + 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x31, + 0x34, 0x2f, 0x30, 0x39, 0x21, 0x4c, 0xc5, 0x30, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, + 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, + 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x0f, 0xbf, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xdd, + 0x7b, 0x90, 0x9d, 0x75, 0x7d, 0xc7, 0xf1, 0xcf, 0xd9, 0x7b, 0xae, 0x40, 0x90, 0xc2, 0x54, 0xe5, + 0x22, 0x37, 0x4b, 0xac, 0x20, 0xb1, 0xc1, 0x0b, 0x17, 0xd1, 0xfe, 0xa1, 0xce, 0x48, 0xed, 0x58, + 0x4c, 0x55, 0x18, 0xec, 0xd8, 0xfe, 0xd1, 0x76, 0x7a, 0xb1, 0x63, 0xc7, 0xb6, 0x53, 0x75, 0x18, + 0x67, 0x3a, 0x74, 0xc6, 0x99, 0xde, 0x9c, 0xb1, 0x9d, 0xd2, 0xa2, 0xfd, 0xa7, 0x28, 0x1d, 0x1d, + 0xe9, 0x78, 0x1d, 0x85, 0x20, 0x08, 0x72, 0x09, 0x04, 0x08, 0x44, 0x48, 0x90, 0xaa, 0x10, 0xe4, + 0x92, 0x40, 0x08, 0x24, 0xbb, 0x9b, 0xdd, 0x7d, 0xfa, 0xc7, 0x73, 0x1e, 0xf7, 0xe4, 0x42, 0x12, + 0xa4, 0x84, 0xf4, 0xcb, 0xeb, 0x35, 0xf3, 0xcc, 0xd9, 0xb3, 0x39, 0x7b, 0xf6, 0x39, 0xff, 0x7c, + 0xf7, 0x9d, 0xdf, 0x79, 0xce, 0xf3, 0xf4, 0x9a, 0xa6, 0xc9, 0x0b, 0x30, 0x94, 0x64, 0xbc, 0xbf, + 0x4d, 0xf4, 0xef, 0xf7, 0x92, 0xbc, 0xa0, 0x27, 0x05, 0x78, 0x19, 0x68, 0x92, 0xcc, 0x26, 0x99, + 0x49, 0x32, 0x99, 0x64, 0x67, 0xff, 0xeb, 0x5f, 0x78, 0x7e, 0x8e, 0x3c, 0xcf, 0xc7, 0x0f, 0xa5, + 0x1d, 0xdc, 0x13, 0x49, 0x16, 0xf6, 0x7f, 0x7e, 0xac, 0x7f, 0xbb, 0x60, 0xe0, 0xf9, 0xe6, 0x5e, + 0xc8, 0x4e, 0x01, 0x14, 0xd6, 0x0c, 0xdc, 0xee, 0x4c, 0x3b, 0xcc, 0xb7, 0x27, 0x99, 0xce, 0xfc, + 0x50, 0xdf, 0xd9, 0xdf, 0xe6, 0x9e, 0xcf, 0x13, 0x3f, 0x9f, 0x81, 0xbe, 0x28, 0xc9, 0x2f, 0xa5, + 0x1d, 0xe4, 0x0b, 0x32, 0x3f, 0xd0, 0x47, 0xd2, 0x0e, 0xfa, 0xc1, 0x61, 0x3e, 0x1b, 0x03, 0x1d, + 0x60, 0x6f, 0x9a, 0xfe, 0x36, 0x97, 0x76, 0x68, 0x4f, 0xa5, 0x9d, 0xa9, 0x93, 0x69, 0x87, 0xfa, + 0xf4, 0xc0, 0xd7, 0xcf, 0x6b, 0xb0, 0x1f, 0xe8, 0x40, 0x3f, 0x2c, 0xc9, 0x89, 0x69, 0x07, 0xfa, + 0xa2, 0xb4, 0x55, 0xde, 0x2d, 0xaf, 0x64, 0xe0, 0x97, 0x75, 0xff, 0x7d, 0x98, 0x3d, 0xd0, 0x1d, + 0x00, 0x78, 0x19, 0x9a, 0xeb, 0x6f, 0xc3, 0x69, 0xe7, 0x68, 0x2f, 0xed, 0x3c, 0x9e, 0x4a, 0x32, + 0xda, 0xff, 0x7a, 0xb2, 0xbf, 0x75, 0x25, 0xbf, 0xdf, 0x48, 0x3e, 0x90, 0x81, 0x7e, 0x58, 0x92, + 0xd7, 0x26, 0x39, 0x2e, 0xed, 0x40, 0x1f, 0xef, 0x3f, 0xf1, 0xcc, 0xc0, 0xd6, 0xfd, 0xe2, 0xee, + 0xaf, 0x8b, 0x42, 0x07, 0xd8, 0xbb, 0xc1, 0x42, 0xef, 0x02, 0xb8, 0x97, 0x76, 0xb8, 0x8f, 0x65, + 0x7e, 0x6d, 0xbd, 0x5b, 0xfd, 0x38, 0xe0, 0xf7, 0x26, 0xf7, 0x37, 0xd0, 0xbb, 0x61, 0x7e, 0x62, + 0x92, 0x57, 0xf5, 0xef, 0x27, 0xed, 0x7a, 0xcf, 0xb6, 0xb4, 0x7f, 0x4d, 0x76, 0xf4, 0xef, 0x6f, + 0xcf, 0xfc, 0x50, 0xef, 0xfe, 0xfa, 0x00, 0xb0, 0xab, 0x26, 0xbb, 0x0e, 0xf5, 0xc1, 0x41, 0xdd, + 0x45, 0xf2, 0x6c, 0xe6, 0x57, 0x3a, 0x0e, 0x78, 0x96, 0xee, 0x6b, 0xa0, 0x1f, 0x96, 0xe4, 0xd4, + 0x24, 0x27, 0xa4, 0x1d, 0xe6, 0xcb, 0xfa, 0x8f, 0xdf, 0x91, 0x64, 0xfb, 0x93, 0x4f, 0x3e, 0xf5, + 0xf4, 0xf5, 0xd7, 0xdf, 0xb8, 0x62, 0x64, 0x64, 0xf8, 0x75, 0x4b, 0x0f, 0x5b, 0xbc, 0x78, 0xc1, + 0xc4, 0x44, 0x2f, 0x49, 0x5e, 0xe0, 0x51, 0x33, 0x00, 0x2f, 0x3b, 0x53, 0x53, 0xd3, 0xcd, 0xd6, + 0xad, 0xdb, 0x9e, 0x79, 0xe6, 0x99, 0x67, 0xee, 0x38, 0xe9, 0xe4, 0x93, 0x3e, 0x7f, 0xe6, 0x1b, + 0x4e, 0x7f, 0x2a, 0xc9, 0xd4, 0x63, 0x8f, 0x3d, 0x36, 0xb3, 0x66, 0xcd, 0x9a, 0x5c, 0x71, 0xc5, + 0x15, 0xb9, 0xea, 0xaa, 0xab, 0x86, 0x92, 0x34, 0xcd, 0x3e, 0x86, 0x6c, 0xef, 0x39, 0xfe, 0x6d, + 0x69, 0xe6, 0x87, 0xf9, 0xab, 0x93, 0x1c, 0x99, 0xf6, 0xbf, 0x02, 0xd3, 0x5b, 0xb7, 0x3e, 0xfd, + 0xc4, 0xd5, 0xff, 0xfd, 0xf5, 0x95, 0xc7, 0x1d, 0xfb, 0xca, 0x93, 0x7e, 0xfa, 0xd3, 0x87, 0xb3, + 0x66, 0xcd, 0x5d, 0xb9, 0xfd, 0x8e, 0xbb, 0xf3, 0xe8, 0xa3, 0x8f, 0x67, 0xe7, 0xce, 0x9d, 0xff, + 0xf7, 0xaf, 0x14, 0xa0, 0xb0, 0x91, 0x91, 0x91, 0x1c, 0x73, 0xcc, 0x51, 0x39, 0xf3, 0xcc, 0xd7, + 0xe7, 0x2d, 0x6f, 0xfe, 0xb5, 0x1c, 0x7b, 0xec, 0xab, 0xb2, 0xf6, 0xce, 0x75, 0xf7, 0x4f, 0xee, + 0x98, 0xfc, 0xab, 0xa5, 0x4b, 0x17, 0x6c, 0xfa, 0xec, 0x67, 0x3f, 0x3b, 0xb7, 0x66, 0xcd, 0x9a, + 0x64, 0xe0, 0xe8, 0x98, 0xa6, 0x69, 0xf6, 0x5a, 0xed, 0x7b, 0x1b, 0xe8, 0x8b, 0x92, 0x9c, 0x9c, + 0xe4, 0x35, 0x69, 0xd7, 0xcd, 0x97, 0xa5, 0x5d, 0xa4, 0x9f, 0xb9, 0xff, 0xfe, 0x8d, 0xdb, 0x7e, + 0xfc, 0xe3, 0x1f, 0x5f, 0x30, 0x35, 0x35, 0x3d, 0xfe, 0xdd, 0x6b, 0x6e, 0xc8, 0xa3, 0x8f, 0x3e, + 0xfe, 0xa2, 0xbc, 0x40, 0x80, 0x97, 0xab, 0x63, 0x8e, 0x39, 0x2a, 0xe7, 0x9d, 0xfb, 0xe6, 0x2c, + 0x58, 0x30, 0x31, 0x75, 0xdf, 0xfd, 0x1b, 0x3f, 0xfd, 0xc7, 0x7f, 0xf4, 0xfb, 0xd7, 0xec, 0xe5, + 0x61, 0xb3, 0x49, 0xe6, 0x76, 0xaf, 0xf5, 0xdd, 0x07, 0xfa, 0x70, 0xda, 0x41, 0x7e, 0x72, 0x92, + 0xe3, 0x93, 0x1c, 0x95, 0xf6, 0x4d, 0xd0, 0x9d, 0x6b, 0xd7, 0xde, 0xf5, 0xec, 0x53, 0x4f, 0x3d, + 0x79, 0xe1, 0x75, 0xd7, 0xdd, 0xd4, 0xfb, 0xcf, 0x2b, 0xbf, 0x92, 0x99, 0x99, 0x99, 0x17, 0xe5, + 0xc5, 0x00, 0xbc, 0xdc, 0x8d, 0x8d, 0x8d, 0xe6, 0xc2, 0x0b, 0x2f, 0xc8, 0xf9, 0x6f, 0x3b, 0xbb, + 0xf9, 0xd6, 0xb7, 0xae, 0xf9, 0xe4, 0x65, 0x97, 0x5d, 0xba, 0x3a, 0xf3, 0x47, 0x15, 0x26, 0xfd, + 0x35, 0xf6, 0xa6, 0x69, 0x76, 0x19, 0xc4, 0xbb, 0x0f, 0xf4, 0xa5, 0x69, 0xdf, 0x04, 0x3d, 0x39, + 0xc9, 0x2b, 0x93, 0x2c, 0x4e, 0x32, 0xb3, 0x69, 0xd3, 0x23, 0x4f, 0x3f, 0xf0, 0xc0, 0x03, 0x1f, + 0xfa, 0xfe, 0x8d, 0xb7, 0xf6, 0xee, 0xba, 0x6b, 0xfd, 0x8b, 0xfa, 0x42, 0x00, 0x48, 0x86, 0x86, + 0x86, 0x72, 0xce, 0x39, 0x67, 0x65, 0xf9, 0xf2, 0x53, 0x9a, 0x6b, 0xaf, 0xbd, 0xfe, 0x0f, 0x3f, + 0xf9, 0x89, 0xbf, 0xbc, 0x37, 0xed, 0x11, 0x2f, 0xc9, 0xfc, 0x11, 0x32, 0xd3, 0x83, 0xcb, 0x2f, + 0x83, 0x6f, 0x8a, 0x0e, 0xa7, 0x3d, 0x2c, 0x71, 0x59, 0x92, 0x25, 0xfd, 0x7f, 0x9b, 0x4e, 0xf2, + 0xf4, 0x6d, 0xb7, 0xad, 0x59, 0x75, 0xf7, 0xdd, 0xeb, 0x7b, 0x57, 0x7c, 0xfe, 0xca, 0x83, 0xf2, + 0x42, 0x00, 0x48, 0x7e, 0xf0, 0x83, 0x5b, 0x73, 0xf1, 0x45, 0x17, 0xf6, 0xce, 0x38, 0x63, 0xf9, + 0xdf, 0x25, 0x79, 0x57, 0xda, 0xb9, 0xdc, 0x1d, 0xc2, 0x38, 0xd4, 0xbf, 0x9d, 0xea, 0x1e, 0x3f, + 0x58, 0xe8, 0x4b, 0x92, 0x9c, 0x94, 0xf6, 0x10, 0xc5, 0x5f, 0x4e, 0xfb, 0x49, 0xd0, 0xa9, 0xaf, + 0x7d, 0xed, 0x9b, 0x27, 0x8e, 0x8e, 0x8e, 0xbc, 0xe9, 0x8b, 0x5f, 0xbc, 0x3a, 0x3b, 0x26, 0x27, + 0x0f, 0xde, 0x2b, 0x01, 0x20, 0x13, 0x13, 0xe3, 0x59, 0xf5, 0xfe, 0x0b, 0xf2, 0xf0, 0xc3, 0x8f, + 0xac, 0xfe, 0xc8, 0x47, 0x2e, 0xf9, 0xdb, 0xb4, 0xf1, 0x9d, 0xcc, 0x7f, 0x06, 0x68, 0x47, 0xd3, + 0x34, 0xb3, 0xc9, 0x7c, 0xa1, 0x0f, 0x25, 0x39, 0x3c, 0xed, 0x92, 0xcb, 0xc2, 0xfe, 0x0f, 0x4c, + 0x6f, 0xde, 0xbc, 0xe5, 0xd9, 0x85, 0x0b, 0x27, 0xce, 0xfa, 0xdc, 0xe7, 0x3e, 0x9f, 0xdb, 0xef, + 0xb8, 0xfb, 0xe0, 0xbe, 0x0a, 0x00, 0x92, 0x24, 0xb3, 0xb3, 0x33, 0xf9, 0x9d, 0x0f, 0x7f, 0xe0, + 0xbc, 0x73, 0xce, 0x39, 0xff, 0xdf, 0xaf, 0xbf, 0xfe, 0xda, 0x6d, 0x69, 0x2b, 0x7d, 0x28, 0xf3, + 0xa7, 0x5a, 0xd9, 0x91, 0xcc, 0x0f, 0xf4, 0xb1, 0xb4, 0xe7, 0x12, 0x98, 0x48, 0x3b, 0xcc, 0x67, + 0x93, 0x4c, 0xdd, 0x78, 0xe3, 0xcd, 0xbf, 0xda, 0x34, 0x73, 0xbd, 0x91, 0xd1, 0xb1, 0xac, 0x5c, + 0xb9, 0xe2, 0xa0, 0xbf, 0x08, 0x00, 0x92, 0x34, 0xbd, 0x4c, 0x4e, 0x4e, 0xf6, 0x2e, 0xbe, 0xf8, + 0xe2, 0xdf, 0xbd, 0xfe, 0xfa, 0x6b, 0xff, 0x3e, 0xf3, 0x4b, 0x2f, 0x73, 0x49, 0x76, 0xf6, 0x7a, + 0xbd, 0xa1, 0xa6, 0x69, 0xe6, 0xba, 0x81, 0xbe, 0x30, 0xed, 0x30, 0x1f, 0xef, 0x3f, 0x68, 0x3a, + 0xc9, 0xb6, 0xd1, 0xd1, 0xe1, 0x95, 0x5f, 0xf8, 0x8f, 0xff, 0xca, 0xad, 0xb7, 0xae, 0x7d, 0x29, + 0x5e, 0x02, 0x00, 0x7d, 0x63, 0xe3, 0x23, 0xf9, 0xad, 0xf7, 0xbd, 0xe7, 0xad, 0x49, 0xfe, 0x21, + 0x6d, 0x78, 0x77, 0x6b, 0xe8, 0xd3, 0xe9, 0xbf, 0xe7, 0xd9, 0x0d, 0xf4, 0x89, 0xb4, 0xc7, 0x9f, + 0x8f, 0xa6, 0x1d, 0xe8, 0x93, 0xb7, 0xdd, 0x76, 0xc7, 0xe2, 0xc5, 0x8b, 0x17, 0x0d, 0x8f, 0x8d, + 0x8e, 0xab, 0x73, 0x80, 0x97, 0xd8, 0xf4, 0xd4, 0x4c, 0x8e, 0x3c, 0xf2, 0x88, 0xe1, 0x8f, 0x7d, + 0xec, 0x2f, 0x56, 0x7c, 0xe6, 0x33, 0x97, 0xdd, 0x93, 0xf9, 0xb5, 0xf4, 0xf1, 0xb4, 0x6f, 0x8c, + 0x4e, 0x0f, 0x9e, 0xfa, 0x76, 0xb4, 0xff, 0x80, 0x26, 0xc9, 0xf4, 0xba, 0x7b, 0xee, 0x3d, 0x73, + 0x6c, 0x74, 0x24, 0xdf, 0xbf, 0xf1, 0xe6, 0x97, 0x62, 0xdf, 0x01, 0xd8, 0xcd, 0xaa, 0x55, 0x17, + 0xe4, 0xf0, 0x23, 0x96, 0x9d, 0x9d, 0xe4, 0x87, 0x69, 0xe7, 0x76, 0x93, 0xfe, 0xec, 0xee, 0xf5, + 0x7a, 0xbd, 0xee, 0x02, 0x15, 0xdd, 0xe9, 0x1a, 0x93, 0x76, 0xfd, 0x7c, 0xfa, 0xc8, 0x65, 0x47, + 0x9c, 0xb2, 0x69, 0xd3, 0xcf, 0xd4, 0x39, 0xc0, 0x21, 0x62, 0xf3, 0xe6, 0x27, 0xf3, 0x2b, 0xaf, + 0x3d, 0xe5, 0xb4, 0xec, 0x7a, 0x0d, 0x8a, 0xd1, 0xfe, 0x36, 0x3c, 0x38, 0xd0, 0x07, 0xd7, 0x63, + 0x26, 0x27, 0x27, 0x27, 0xc7, 0x6e, 0xf8, 0xfe, 0xcd, 0xb9, 0xe5, 0x96, 0x35, 0x2f, 0xc1, 0x6e, + 0x03, 0xb0, 0xbb, 0xc3, 0x0f, 0x5b, 0x9c, 0xf3, 0xce, 0x7b, 0xcb, 0x78, 0xff, 0xee, 0xe0, 0xea, + 0xca, 0x68, 0x92, 0xd1, 0x91, 0xb4, 0xeb, 0xe7, 0x83, 0x97, 0x8f, 0x9b, 0x4a, 0xb2, 0xfd, 0x84, + 0x13, 0x8e, 0x5d, 0x7a, 0xd8, 0xd2, 0xc3, 0x14, 0x3a, 0xc0, 0x21, 0x62, 0xc1, 0xc2, 0x85, 0x39, + 0xe9, 0xa4, 0x13, 0x96, 0xa4, 0x3d, 0xba, 0xa5, 0x97, 0x76, 0x90, 0x8f, 0xa7, 0x9d, 0xe1, 0x3b, + 0xba, 0x4b, 0xc8, 0x0d, 0x1e, 0x02, 0x33, 0x9d, 0x64, 0x6a, 0x6e, 0xae, 0xc9, 0x35, 0xd7, 0x7e, + 0x2f, 0xd3, 0xd3, 0xce, 0xa0, 0x08, 0x70, 0x28, 0x58, 0xb0, 0x60, 0x22, 0x1f, 0xf8, 0xed, 0xf7, + 0x76, 0x77, 0x87, 0x32, 0x7f, 0xc1, 0xa1, 0xf1, 0x24, 0x23, 0x5d, 0x95, 0x77, 0xc3, 0x7c, 0x36, + 0xfd, 0x6b, 0xd8, 0xf5, 0x7a, 0xc9, 0x19, 0x67, 0xbc, 0xfe, 0x20, 0xef, 0x2e, 0x00, 0xfb, 0xd2, + 0xeb, 0xf5, 0x92, 0x76, 0x98, 0x8f, 0x66, 0xfe, 0x0a, 0x47, 0x63, 0x19, 0x18, 0xe8, 0x83, 0xd7, + 0x02, 0xed, 0x6e, 0xad, 0x9f, 0x03, 0x1c, 0x62, 0xfa, 0xa7, 0x6b, 0xe9, 0x56, 0x56, 0x46, 0xd3, + 0xce, 0xeb, 0xe1, 0x24, 0xbd, 0xee, 0xb0, 0x97, 0x6e, 0xeb, 0xae, 0x05, 0xda, 0xf4, 0x7a, 0x3d, + 0xeb, 0xe7, 0x00, 0x87, 0x98, 0x81, 0x42, 0x1f, 0xdc, 0x7a, 0xe9, 0x0f, 0xf4, 0xbd, 0x6a, 0x9a, + 0x46, 0xa1, 0x03, 0x1c, 0x62, 0xfa, 0x85, 0xde, 0x9d, 0xcb, 0xe5, 0xe7, 0xc3, 0x3c, 0xfb, 0x1a, + 0xe8, 0x0a, 0x1d, 0xe0, 0xd0, 0xd3, 0x2f, 0xf4, 0xbd, 0x52, 0xe8, 0x00, 0xff, 0x8f, 0xec, 0xe3, + 0x1a, 0xd1, 0xcf, 0x3d, 0xd0, 0x15, 0x3a, 0xc0, 0xa1, 0x47, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, + 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, + 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, + 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, + 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, + 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, + 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, + 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, + 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, + 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, + 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, + 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, + 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, + 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, + 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, + 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, + 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, + 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, + 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, + 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, + 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, + 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, + 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, + 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, + 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, + 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, + 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, + 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, + 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, + 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, + 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, + 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, + 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, + 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, + 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, + 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, + 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, + 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, + 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, + 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, + 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, + 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, + 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, + 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, + 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, + 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, + 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, + 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, + 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, + 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, + 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, + 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, + 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, + 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, + 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, + 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, + 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, + 0xa1, 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, + 0x0a, 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, + 0xd0, 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, + 0x1d, 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, + 0x01, 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, + 0xa0, 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, + 0x8a, 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, + 0x08, 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, + 0x50, 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, + 0x85, 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0x50, + 0xe8, 0x00, 0x45, 0x28, 0x74, 0x80, 0x22, 0x14, 0x3a, 0x40, 0x11, 0x0a, 0x1d, 0xa0, 0x08, 0x85, + 0x0e, 0x50, 0x84, 0x42, 0x07, 0x28, 0x42, 0xa1, 0x03, 0x14, 0xa1, 0xd0, 0x01, 0x8a, 0xf8, 0x45, + 0x0a, 0xbd, 0x51, 0xe8, 0x00, 0x87, 0x9e, 0xfd, 0x15, 0x7a, 0x33, 0xb0, 0xa5, 0xbb, 0x55, 0xe8, + 0x00, 0x87, 0x9e, 0x81, 0x42, 0xdf, 0x23, 0xd5, 0xbb, 0x42, 0x6f, 0x92, 0xcc, 0x25, 0x99, 0xed, + 0xdf, 0xce, 0x35, 0x4d, 0x93, 0xdb, 0x6f, 0xbf, 0x33, 0x33, 0x33, 0x33, 0x07, 0x65, 0x27, 0x01, + 0xd8, 0xbf, 0x7e, 0xa1, 0x0f, 0xa7, 0x1d, 0xe8, 0xbd, 0x24, 0x43, 0xfd, 0xdb, 0x8c, 0xa4, 0x1d, + 0xe2, 0x3b, 0xfb, 0xdb, 0x70, 0xff, 0x7e, 0xd3, 0xeb, 0xf5, 0xf2, 0xd6, 0xb7, 0x9e, 0x95, 0x1d, + 0x3b, 0x26, 0x5f, 0x8a, 0x7d, 0x06, 0x60, 0x37, 0xe3, 0xe3, 0x63, 0x5d, 0xa1, 0x8f, 0x24, 0x19, + 0x4d, 0x3b, 0xb3, 0x93, 0x7e, 0x88, 0x8f, 0x24, 0x99, 0x49, 0x32, 0x95, 0x64, 0x3a, 0xed, 0xa4, + 0x9f, 0x4d, 0x7f, 0x0d, 0x7d, 0xe3, 0x86, 0x07, 0xf2, 0xf0, 0xa6, 0x9f, 0x1d, 0xfc, 0xbd, 0x06, + 0x60, 0x0f, 0xa7, 0x9c, 0x72, 0x62, 0x57, 0xe8, 0x13, 0x49, 0xc6, 0x33, 0xbf, 0xec, 0x32, 0x93, + 0x64, 0x76, 0x24, 0xed, 0x30, 0xdf, 0x3e, 0xf0, 0x8f, 0xbd, 0x24, 0x79, 0xfc, 0xf1, 0x2d, 0x4f, + 0xbf, 0xed, 0x6d, 0x67, 0x2f, 0xdd, 0xb0, 0xf1, 0xc1, 0x83, 0xbe, 0xd3, 0x00, 0xec, 0x69, 0xc5, + 0x8a, 0xd7, 0x67, 0xd3, 0xa6, 0x47, 0xb7, 0x25, 0x59, 0x90, 0x76, 0x66, 0xef, 0xcc, 0x7c, 0x94, + 0x4f, 0x8d, 0xf4, 0xbf, 0x31, 0xdd, 0xdf, 0x46, 0xfa, 0x5b, 0xb3, 0x65, 0xcb, 0x93, 0x53, 0x23, + 0xa3, 0xc3, 0x8e, 0x74, 0x01, 0x38, 0x44, 0x9c, 0x75, 0xd6, 0x1b, 0xb2, 0x79, 0xf3, 0xe6, 0xe9, + 0xb4, 0x85, 0x3e, 0x9a, 0xfe, 0x8a, 0x4a, 0xfa, 0x73, 0xbc, 0x5b, 0x72, 0xe9, 0x86, 0xfa, 0x68, + 0xda, 0x42, 0x6f, 0xc6, 0xc6, 0x46, 0xd7, 0x9f, 0x71, 0xc6, 0xeb, 0x8e, 0x5a, 0xbf, 0x7e, 0xe3, + 0x4b, 0xb3, 0xe7, 0x00, 0xec, 0xe2, 0x75, 0xcb, 0x4f, 0xcd, 0x9a, 0x35, 0x6b, 0xef, 0x4b, 0x5b, + 0xe7, 0xdd, 0x51, 0x8a, 0xb3, 0x69, 0xe7, 0xf8, 0xf4, 0xe0, 0x37, 0xba, 0x74, 0x1f, 0x4a, 0xd2, + 0x6c, 0xdf, 0x31, 0x75, 0xc3, 0x51, 0x47, 0x1d, 0x79, 0xee, 0xba, 0x75, 0xf7, 0x66, 0xfb, 0xf6, + 0x1d, 0x2f, 0xcd, 0xde, 0x03, 0x90, 0x24, 0x59, 0xb0, 0x60, 0x22, 0x4b, 0x97, 0x2e, 0xc9, 0xd7, + 0xbf, 0xf1, 0xf5, 0x75, 0x69, 0x07, 0xfa, 0x50, 0xda, 0x37, 0x43, 0xa7, 0x93, 0xcc, 0x34, 0x4d, + 0x33, 0xd7, 0x1d, 0xb6, 0x38, 0xb8, 0xec, 0x32, 0x94, 0x24, 0x1f, 0xbe, 0xe4, 0x83, 0x6b, 0xaf, + 0xbd, 0x76, 0xf5, 0xec, 0x85, 0x17, 0xfe, 0xc6, 0xf0, 0xfa, 0xf5, 0x1b, 0x5e, 0x82, 0xdd, 0x07, + 0xa0, 0x73, 0xfa, 0xe9, 0xa7, 0x65, 0xdb, 0xb6, 0x67, 0x66, 0xaf, 0x5b, 0xfd, 0xdd, 0x67, 0x93, + 0x2c, 0x4d, 0x3b, 0xaf, 0x77, 0xa6, 0x7d, 0x0f, 0x74, 0x47, 0x32, 0x7f, 0x1c, 0xfa, 0x4c, 0x76, + 0x1d, 0xe8, 0xc3, 0x49, 0xe6, 0xee, 0x5d, 0x7f, 0xff, 0x0d, 0xa7, 0x9c, 0x7c, 0xc2, 0x79, 0x5f, + 0xf8, 0xc2, 0x95, 0x07, 0x7d, 0xe7, 0x01, 0x68, 0x8d, 0x8f, 0x8f, 0x67, 0xd5, 0xfb, 0xdf, 0x93, + 0x6f, 0x7e, 0xeb, 0x3b, 0xb7, 0x24, 0x59, 0x9c, 0x76, 0x76, 0x4f, 0xa6, 0x7d, 0x33, 0x74, 0x47, + 0x76, 0x1b, 0xe8, 0xdd, 0x1a, 0x4c, 0x77, 0x2c, 0xfa, 0x5c, 0x92, 0xb9, 0x37, 0xbe, 0x71, 0xc5, + 0xe5, 0xd3, 0x53, 0x3b, 0xce, 0x5d, 0xb5, 0xea, 0x37, 0x7b, 0x0f, 0x3e, 0xf8, 0x93, 0x83, 0xfd, + 0x1a, 0x00, 0x48, 0xb2, 0x7c, 0xf9, 0xa9, 0x39, 0xf2, 0x15, 0xcb, 0x9a, 0x7f, 0xbb, 0xfc, 0x5f, + 0xd6, 0xa5, 0x1d, 0xe8, 0xdd, 0xcc, 0xee, 0x86, 0xf9, 0x74, 0xb2, 0xeb, 0xb9, 0x5c, 0xa6, 0xfa, + 0xf7, 0x7b, 0xfd, 0xdb, 0xe6, 0xac, 0x95, 0x2b, 0x1e, 0xff, 0xc7, 0x7f, 0xfa, 0xe7, 0xef, 0x9d, + 0x73, 0xf6, 0xca, 0xf3, 0xae, 0xbe, 0xfa, 0x1b, 0x3e, 0x64, 0x04, 0x70, 0x90, 0x2d, 0x59, 0xb2, + 0x28, 0x1f, 0xfc, 0xc0, 0x7b, 0xf3, 0xe5, 0x2f, 0x5f, 0x7d, 0xf3, 0x96, 0x2d, 0x9b, 0x97, 0x24, + 0x19, 0x4b, 0xb2, 0x2d, 0xed, 0x52, 0xcb, 0xd3, 0x49, 0xb6, 0x36, 0x4d, 0x33, 0x97, 0x24, 0xbd, + 0xdd, 0x4e, 0xf4, 0xd2, 0x1d, 0xac, 0x3e, 0xda, 0xbf, 0x3f, 0x93, 0x64, 0xe7, 0xb7, 0xbf, 0xfd, + 0x9d, 0x6f, 0x3f, 0xf4, 0xf0, 0x23, 0xe3, 0xd7, 0xad, 0xbe, 0x29, 0x3b, 0x9d, 0x0a, 0x00, 0xe0, + 0xa0, 0x18, 0x1e, 0x1e, 0xca, 0x3b, 0xde, 0x7e, 0x4e, 0x8e, 0x3e, 0xfa, 0x15, 0x53, 0xef, 0x7e, + 0xf7, 0x3b, 0xbf, 0x9a, 0xb6, 0xce, 0x67, 0x92, 0x3c, 0x9e, 0xe4, 0x47, 0x49, 0x36, 0x26, 0xf9, + 0x9f, 0xa6, 0x69, 0x66, 0x93, 0x3d, 0xcf, 0xb6, 0x38, 0x9d, 0xfe, 0x61, 0x8b, 0xfd, 0xfb, 0x73, + 0x49, 0x66, 0x6e, 0xbe, 0xf9, 0xf6, 0x3f, 0x38, 0xe7, 0x9c, 0x37, 0x5d, 0xbe, 0x71, 0xe3, 0x83, + 0xbd, 0x2f, 0x7d, 0xe9, 0xab, 0x07, 0xe5, 0x85, 0x00, 0xbc, 0x9c, 0x8d, 0x8c, 0x8c, 0xe4, 0x92, + 0x4b, 0x56, 0xe5, 0xf8, 0xe3, 0x5f, 0xdd, 0x5c, 0x74, 0xf1, 0x45, 0x5f, 0x4d, 0x72, 0x44, 0xda, + 0xf9, 0x3c, 0x99, 0xe4, 0x99, 0x24, 0x4f, 0x26, 0x79, 0xbc, 0x1b, 0xe6, 0xc9, 0x9e, 0x85, 0x9e, + 0xb4, 0x75, 0xde, 0x2d, 0xbd, 0xcc, 0x6d, 0xd8, 0xb0, 0x61, 0x6e, 0xed, 0xda, 0xb5, 0x33, 0x5b, + 0xb6, 0x6c, 0x7b, 0xc7, 0x69, 0xa7, 0x9d, 0xf2, 0x37, 0xf7, 0xdd, 0xf7, 0x40, 0xef, 0xa6, 0x9b, + 0xd6, 0x64, 0xc7, 0xa4, 0xe5, 0x17, 0x80, 0x17, 0xc3, 0xe8, 0xc8, 0x48, 0xce, 0x3d, 0xef, 0x4d, + 0x39, 0xf5, 0xd4, 0x13, 0x9b, 0x3f, 0xfd, 0x93, 0x8f, 0x7e, 0x65, 0xcd, 0x9a, 0x5b, 0x97, 0xa5, + 0x7d, 0x7f, 0x73, 0x32, 0xc9, 0x23, 0x69, 0xeb, 0xfc, 0xfe, 0x24, 0x0f, 0xec, 0x6f, 0xa0, 0xf7, + 0x32, 0x7f, 0x26, 0xaf, 0x66, 0xf5, 0xea, 0xd5, 0xcd, 0xf9, 0xe7, 0x9f, 0xdf, 0x24, 0xc9, 0x5f, + 0x7f, 0xe2, 0xd3, 0xbf, 0xfe, 0xc6, 0x15, 0xa7, 0x7f, 0x2a, 0xc9, 0xf8, 0x15, 0x57, 0x5c, 0x99, + 0x75, 0xf7, 0xfc, 0xf0, 0xc5, 0x7f, 0x65, 0x00, 0x2f, 0x13, 0x23, 0x23, 0x23, 0x59, 0xbe, 0xfc, + 0xd4, 0x5c, 0xf4, 0xa1, 0xf7, 0xa5, 0x69, 0x9a, 0xa9, 0x4f, 0x7e, 0xea, 0x53, 0x5f, 0xbb, 0x67, + 0xdd, 0x5d, 0xcb, 0xd2, 0xae, 0x9b, 0x4f, 0x25, 0xd9, 0x9c, 0xe4, 0xc1, 0x24, 0x1b, 0x92, 0xdc, + 0xd7, 0x34, 0xcd, 0xb3, 0x83, 0x3f, 0xbf, 0xb7, 0x81, 0x9e, 0xf4, 0xcf, 0xe9, 0x72, 0xd5, 0x55, + 0x57, 0xe5, 0x9e, 0x7b, 0xee, 0xc9, 0xa5, 0x97, 0x5e, 0xda, 0x7d, 0x6f, 0xe8, 0xa3, 0x7f, 0xf6, + 0xe7, 0x47, 0xaf, 0x5c, 0xb9, 0xf2, 0xb2, 0xd7, 0x9c, 0x70, 0xec, 0x6b, 0xb7, 0x6c, 0x79, 0x2a, + 0x3f, 0x7a, 0xf0, 0x27, 0x79, 0xe8, 0xa1, 0x47, 0xf2, 0xd8, 0x63, 0x4f, 0xf8, 0x00, 0x12, 0xc0, + 0xf3, 0xd0, 0xeb, 0xf5, 0xb2, 0x60, 0xc1, 0x44, 0x8e, 0x3a, 0xea, 0xc8, 0x1c, 0x77, 0xdc, 0xab, + 0x72, 0xe2, 0x6b, 0x8e, 0xcb, 0xe1, 0x87, 0x2f, 0xcd, 0xed, 0xb7, 0xdf, 0xb9, 0xe1, 0xe3, 0x1f, + 0xff, 0xd8, 0x2d, 0x5b, 0xb7, 0x6e, 0x3d, 0x3a, 0xed, 0x7b, 0x9b, 0x33, 0x49, 0xb6, 0x24, 0xf9, + 0x49, 0xda, 0x75, 0xf3, 0xf5, 0x4d, 0xd3, 0x6c, 0xdd, 0xe3, 0xf9, 0xf6, 0x75, 0xf5, 0x8b, 0xfe, + 0x2f, 0x1c, 0x3c, 0xe7, 0xee, 0x70, 0xda, 0x25, 0x99, 0xd1, 0x73, 0xcf, 0x7d, 0xfb, 0x31, 0xef, + 0x7c, 0xd7, 0xbb, 0x7e, 0xef, 0x84, 0xe3, 0x8f, 0x3b, 0xe3, 0x98, 0x63, 0x8e, 0x5e, 0xb2, 0x68, + 0xd1, 0x82, 0xde, 0xbe, 0x2e, 0x8d, 0x04, 0xc0, 0xde, 0x3d, 0xfb, 0xec, 0xf6, 0x66, 0xd3, 0xa6, + 0x9f, 0x3d, 0x73, 0xe7, 0x5d, 0x77, 0xdf, 0x7d, 0xf9, 0xbf, 0xfe, 0xf3, 0xad, 0x9b, 0x37, 0x3f, + 0x71, 0x78, 0xda, 0x35, 0xf3, 0xc5, 0x69, 0xdf, 0xcb, 0x7c, 0x2a, 0xc9, 0x43, 0x49, 0x1e, 0x48, + 0x3b, 0xcc, 0x9f, 0xda, 0xdb, 0xf3, 0x3c, 0x9f, 0x81, 0xde, 0x0d, 0xf3, 0xf1, 0xfe, 0x36, 0x91, + 0xf9, 0x13, 0xc4, 0xf4, 0xfa, 0xbf, 0x34, 0x99, 0x1f, 0xfc, 0x3f, 0x3f, 0xe9, 0x3a, 0x00, 0xbb, + 0xe8, 0xe6, 0xea, 0x58, 0xda, 0x39, 0xba, 0xb0, 0x7f, 0xbb, 0x20, 0xc9, 0xa2, 0xb4, 0x83, 0x7c, + 0x22, 0xed, 0x1c, 0xdd, 0x96, 0xf9, 0x75, 0xf3, 0x1f, 0x3e, 0xd7, 0x30, 0x4f, 0xf6, 0x71, 0x91, + 0xe8, 0x4e, 0xd3, 0x34, 0xcd, 0x6e, 0xe9, 0xdd, 0x0d, 0xf7, 0xb1, 0xfe, 0xd6, 0x9d, 0x53, 0xa0, + 0xab, 0xf8, 0xee, 0x8c, 0x8d, 0xdd, 0x3a, 0x3c, 0x00, 0x7b, 0x1a, 0x4e, 0x3b, 0x2b, 0xbb, 0xa1, + 0xde, 0x9d, 0x70, 0xab, 0x3b, 0x92, 0xa5, 0xdb, 0x36, 0x27, 0xf9, 0x69, 0xda, 0x35, 0xf3, 0x3d, + 0x96, 0x59, 0x06, 0xed, 0x77, 0xa0, 0x27, 0x49, 0xd3, 0x34, 0x73, 0xbd, 0x5e, 0x6f, 0x28, 0xf3, + 0x97, 0xaa, 0x9b, 0x4b, 0xff, 0x84, 0xea, 0xfd, 0xad, 0xfb, 0x30, 0xd2, 0x58, 0xe6, 0x8f, 0x92, + 0x31, 0xd0, 0x01, 0x9e, 0x5b, 0xb7, 0x92, 0x31, 0x9c, 0xf6, 0x53, 0xfa, 0xdd, 0x2a, 0x47, 0x77, + 0xc2, 0xc4, 0xe9, 0xb4, 0x87, 0x27, 0x3e, 0x91, 0xe4, 0xc1, 0xa6, 0x69, 0x9e, 0xde, 0xdf, 0x13, + 0x1e, 0xd0, 0x40, 0xef, 0xeb, 0x06, 0xf7, 0xa0, 0xb9, 0xfe, 0x8e, 0x74, 0x4b, 0x31, 0xdd, 0xb0, + 0x9f, 0x8d, 0x25, 0x17, 0x80, 0x7d, 0x19, 0x1a, 0xf8, 0xba, 0xbb, 0x9e, 0x73, 0x77, 0xe6, 0xdb, + 0xee, 0x23, 0xfd, 0xcf, 0x26, 0x79, 0xa2, 0x69, 0x9a, 0xed, 0x07, 0xf2, 0x84, 0xfb, 0x5d, 0x43, + 0xdf, 0xe3, 0x07, 0xda, 0x52, 0xef, 0x6a, 0xbc, 0xbb, 0xae, 0xdd, 0x68, 0x76, 0x5d, 0x53, 0x1f, + 0xbc, 0x80, 0x29, 0x00, 0x7b, 0xea, 0x4e, 0x7f, 0xdb, 0x5d, 0x71, 0xa8, 0xbb, 0xb6, 0xf3, 0xe0, + 0x39, 0x5a, 0xa6, 0xba, 0x8f, 0xf5, 0x1f, 0x88, 0xe7, 0x3d, 0xd0, 0x77, 0xf9, 0xe1, 0x76, 0x6d, + 0xbd, 0x5b, 0x33, 0xef, 0x4e, 0x19, 0x60, 0x98, 0x03, 0x1c, 0xb8, 0x9f, 0x5f, 0x42, 0x2e, 0xc9, + 0xf4, 0xf3, 0x19, 0xe0, 0xbb, 0xfb, 0x5f, 0xbe, 0x6c, 0xdd, 0x8e, 0x9e, 0x71, 0xc1, 0xbc, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +const int Frame_s1_size = sizeof(Frame_s1); diff --git a/source/ngc/png/Frame_s1.h b/source/gx/png/Frame_s1.h similarity index 100% rename from source/ngc/png/Frame_s1.h rename to source/gx/png/Frame_s1.h diff --git a/source/ngc/png/Frame_s1.png b/source/gx/png/Frame_s1.png similarity index 100% rename from source/ngc/png/Frame_s1.png rename to source/gx/png/Frame_s1.png diff --git a/source/gx/png/Frame_s2.c b/source/gx/png/Frame_s2.c new file mode 100644 index 0000000..e2cd48e --- /dev/null +++ b/source/gx/png/Frame_s2.c @@ -0,0 +1,130 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +const unsigned char Frame_s2[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x8c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x51, 0x62, 0x64, + 0xdc, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x12, 0x00, 0x00, 0x0b, + 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x31, + 0x34, 0x2f, 0x30, 0x39, 0x21, 0x4c, 0xc5, 0x30, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, + 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, + 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x06, 0xf2, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xda, + 0x5d, 0x6c, 0x95, 0x77, 0x1d, 0xc0, 0xf1, 0xef, 0xd3, 0x73, 0x5a, 0x28, 0xd0, 0x49, 0x69, 0xa9, + 0xb2, 0x0d, 0x61, 0x56, 0x60, 0x81, 0xc4, 0x69, 0xb6, 0xe0, 0x4b, 0x5c, 0x16, 0x6f, 0x54, 0x16, + 0xc3, 0x88, 0x17, 0x92, 0x99, 0xcc, 0xc0, 0x95, 0xde, 0xb1, 0x78, 0xe1, 0x8c, 0xb7, 0xce, 0xc4, + 0xc4, 0xc4, 0xc4, 0x4b, 0xe3, 0x2e, 0xd6, 0x18, 0x75, 0x66, 0xc4, 0x19, 0xcc, 0x58, 0xa3, 0x33, + 0xd1, 0x84, 0x4d, 0x28, 0x2a, 0x06, 0x2f, 0x0a, 0x2b, 0x8c, 0x8d, 0xbe, 0x09, 0xf4, 0x65, 0x70, + 0x5a, 0xe8, 0xfb, 0xdf, 0x8b, 0xff, 0x69, 0xca, 0x5b, 0xb1, 0x2c, 0xac, 0xb5, 0xbf, 0x7d, 0x3f, + 0xc9, 0x93, 0xf3, 0xd2, 0x73, 0x4e, 0x9f, 0x73, 0xf1, 0x3b, 0xdf, 0x73, 0x9e, 0xff, 0x53, 0xa4, + 0x94, 0x58, 0x80, 0x7a, 0x60, 0x0d, 0xb0, 0x16, 0x28, 0x80, 0x29, 0x60, 0x41, 0x4f, 0x94, 0x74, + 0x4f, 0xcc, 0x54, 0xb7, 0x6b, 0xc0, 0x08, 0x30, 0x51, 0xbd, 0x7d, 0x47, 0xe5, 0x3b, 0xfc, 0xad, + 0x1e, 0x68, 0x02, 0xd6, 0x03, 0xb5, 0xd5, 0xfb, 0x6a, 0xc8, 0xc3, 0xbd, 0xa0, 0x17, 0x97, 0x74, + 0xcf, 0xcc, 0x90, 0x67, 0x6f, 0xf6, 0xfa, 0xec, 0x2c, 0x4e, 0x72, 0x87, 0xd8, 0xce, 0x37, 0xe0, + 0x1b, 0x80, 0x2d, 0xc0, 0xea, 0xea, 0x0b, 0x25, 0xf2, 0x50, 0x8f, 0x03, 0xd3, 0xf7, 0x66, 0x7f, + 0x25, 0xdd, 0xa5, 0xd9, 0x41, 0x2e, 0x80, 0x12, 0x79, 0x16, 0x8b, 0xa2, 0x28, 0x0a, 0x80, 0x94, + 0xd2, 0x2d, 0xd1, 0xbd, 0xdd, 0x80, 0x6f, 0x04, 0x1e, 0x25, 0x97, 0x7b, 0x12, 0x18, 0x05, 0xc6, + 0xc8, 0x9f, 0x1a, 0x57, 0xab, 0xb7, 0x27, 0xf0, 0x2b, 0xba, 0xb4, 0x98, 0x66, 0xc8, 0xf3, 0x38, + 0x51, 0xbd, 0x9c, 0x06, 0x66, 0x76, 0xed, 0xda, 0x55, 0x26, 0x7f, 0xc3, 0x2e, 0x17, 0x45, 0x31, + 0x96, 0x52, 0x1a, 0xbf, 0xfe, 0x49, 0x37, 0x0f, 0xf8, 0xc7, 0x81, 0x2f, 0x90, 0x87, 0xbc, 0x00, + 0x86, 0x8e, 0x1f, 0xff, 0x67, 0x63, 0x6f, 0x6f, 0xef, 0x97, 0xea, 0xea, 0xea, 0x3e, 0xd6, 0xd2, + 0xd2, 0xd4, 0x50, 0x14, 0x05, 0x0b, 0xfc, 0xdd, 0x2e, 0xe9, 0x03, 0x70, 0xe1, 0xc2, 0x40, 0x65, + 0x74, 0x74, 0xb4, 0x6f, 0x70, 0x70, 0xb8, 0xad, 0xbd, 0xbd, 0xfd, 0x4d, 0xf2, 0xf1, 0xb1, 0x3a, + 0x60, 0x75, 0x51, 0x14, 0xc3, 0x29, 0xa5, 0x6b, 0xb3, 0x8f, 0x2d, 0xae, 0x1b, 0xd6, 0xcd, 0xc0, + 0xe3, 0xd5, 0xcb, 0xba, 0xf3, 0xdd, 0x3d, 0x95, 0x8e, 0x63, 0xc7, 0x77, 0x35, 0x35, 0x35, 0x36, + 0x9c, 0x3a, 0x7d, 0x86, 0x8e, 0x8e, 0x13, 0x9c, 0xea, 0xec, 0x62, 0xf8, 0xbd, 0xcb, 0x4c, 0x4d, + 0x4d, 0x21, 0x69, 0x71, 0xd5, 0xd6, 0xd6, 0xd2, 0xdc, 0xd4, 0xc8, 0xf6, 0x1d, 0xdb, 0x78, 0xec, + 0xb1, 0x4f, 0xf3, 0x89, 0x87, 0x36, 0x31, 0x30, 0x30, 0x58, 0xf9, 0xd5, 0xaf, 0x7f, 0xf3, 0xfc, + 0x1f, 0x0e, 0xfd, 0xae, 0x9f, 0xb9, 0x6f, 0xd9, 0x03, 0x29, 0xa5, 0xab, 0x30, 0x37, 0xe0, 0xf7, + 0x01, 0x4f, 0x02, 0xdb, 0x81, 0x95, 0x6f, 0xbf, 0xfd, 0x4e, 0xa5, 0xaf, 0xbf, 0x77, 0xf7, 0xe9, + 0x53, 0x67, 0x8b, 0x63, 0x1d, 0x27, 0x18, 0x19, 0x19, 0x5d, 0xaa, 0xf7, 0x24, 0x69, 0x1e, 0x0d, + 0x0d, 0x6b, 0x78, 0xfc, 0x8b, 0x3b, 0xd9, 0xfc, 0xd0, 0xc6, 0xd4, 0xf6, 0xe2, 0x2f, 0x7f, 0xfa, + 0xc2, 0x0b, 0x3f, 0xef, 0x24, 0x0f, 0xf9, 0x15, 0xa0, 0x37, 0xa5, 0x34, 0x39, 0x3b, 0xe0, 0x8f, + 0x00, 0x5f, 0x01, 0xee, 0x1f, 0x1d, 0xbd, 0x3a, 0x7c, 0xe4, 0xc8, 0x1b, 0x4f, 0xfe, 0xe5, 0xaf, + 0x6f, 0x96, 0x5e, 0x7e, 0xf9, 0xd0, 0x12, 0xee, 0xbe, 0xa4, 0xff, 0xa5, 0x54, 0x2a, 0xf1, 0xcd, + 0xa7, 0xbf, 0xce, 0xce, 0x9d, 0x9f, 0x99, 0x3e, 0x70, 0xe0, 0xc0, 0x73, 0x5d, 0x5d, 0xa7, 0xc7, + 0xc8, 0xc7, 0xcc, 0x7a, 0x52, 0x4a, 0x03, 0x45, 0x4a, 0xe9, 0x3e, 0xe0, 0x6b, 0xe4, 0x21, 0xaf, + 0x7f, 0xf5, 0x70, 0xfb, 0x47, 0xc7, 0xae, 0x8d, 0xb5, 0xbe, 0xf2, 0xfb, 0x76, 0x66, 0x66, 0x5c, + 0x09, 0x93, 0xfe, 0xdf, 0x95, 0x4a, 0x35, 0xec, 0xfd, 0xc6, 0x6e, 0x06, 0x06, 0x87, 0xde, 0xda, + 0xbf, 0xef, 0x99, 0x5f, 0x90, 0x0f, 0x80, 0x0f, 0x00, 0x6f, 0x95, 0xc9, 0x07, 0xd4, 0x5a, 0xc8, + 0xcb, 0x61, 0x23, 0xe5, 0x72, 0xe9, 0xb3, 0x2f, 0xb6, 0xbd, 0x44, 0x67, 0x67, 0xd7, 0x12, 0xee, + 0xb2, 0xa4, 0xbb, 0x51, 0x2a, 0xd5, 0xb0, 0x77, 0xef, 0x53, 0xad, 0xe4, 0x03, 0xe7, 0x2b, 0xc8, + 0x43, 0xde, 0x5c, 0x06, 0x5a, 0xab, 0x77, 0x5c, 0x05, 0x2e, 0x36, 0xad, 0x6b, 0x2c, 0x35, 0x34, + 0xdc, 0xc7, 0xce, 0x9d, 0x8f, 0x2e, 0xdd, 0xde, 0x4a, 0xba, 0x2b, 0xa5, 0x52, 0x99, 0xf5, 0xcd, + 0x4d, 0x25, 0xf2, 0x6f, 0xf0, 0x7a, 0xf2, 0x51, 0xf5, 0xf1, 0x72, 0xf5, 0x46, 0x22, 0xaf, 0x6f, + 0x0f, 0xa5, 0x94, 0xe8, 0xe8, 0xf8, 0xc7, 0xd2, 0xed, 0xa9, 0xa4, 0xf7, 0xe5, 0x3b, 0xdf, 0x7e, + 0x06, 0xf2, 0x09, 0x30, 0x6b, 0xc8, 0xdf, 0xc8, 0xc7, 0xca, 0xe4, 0x45, 0xf3, 0xb1, 0xea, 0x63, + 0xc6, 0x8b, 0xa2, 0xb0, 0xde, 0xd2, 0x32, 0x54, 0x3d, 0xa1, 0xad, 0xbe, 0xba, 0x15, 0x40, 0x5d, + 0x99, 0x5c, 0xef, 0xd9, 0xa3, 0x69, 0xc9, 0x82, 0x4b, 0xcb, 0x53, 0x75, 0x45, 0xac, 0xc4, 0xdc, + 0x09, 0x6c, 0x35, 0xb7, 0x9c, 0xaa, 0x6a, 0xc1, 0xa5, 0xe5, 0xa9, 0x5a, 0xf0, 0x1b, 0xdc, 0x32, + 0xe0, 0x16, 0x5c, 0x5a, 0x9e, 0x6e, 0x77, 0x0a, 0xb9, 0x05, 0x97, 0x82, 0xb0, 0xe0, 0x52, 0x60, + 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, + 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, + 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, + 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, + 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, + 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, + 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, + 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, + 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, + 0x60, 0x16, 0x5c, 0x0a, 0x6c, 0x41, 0x05, 0x07, 0x2c, 0xb8, 0xb4, 0x0c, 0x2d, 0xa8, 0xe0, 0x80, + 0x05, 0x97, 0x96, 0x21, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, + 0x97, 0x02, 0xb3, 0xe0, 0xd2, 0x87, 0x8c, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, + 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, + 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, + 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, + 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, + 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, + 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, + 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, + 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, + 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, + 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, + 0xc0, 0x2c, 0xb8, 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, + 0x82, 0x4b, 0x81, 0x59, 0x70, 0x29, 0x30, 0x0b, 0x2e, 0x05, 0x66, 0xc1, 0xa5, 0xc0, 0x2c, 0xb8, + 0x14, 0x98, 0x05, 0x97, 0x02, 0xb3, 0xe0, 0x52, 0x60, 0x16, 0x5c, 0x0a, 0xcc, 0x82, 0x4b, 0x81, + 0x59, 0x70, 0x29, 0xb0, 0x32, 0x90, 0xae, 0xdb, 0x66, 0xc0, 0x82, 0x4b, 0xcb, 0x58, 0x51, 0xdd, + 0x12, 0xe4, 0x01, 0x9f, 0x01, 0xa6, 0xaa, 0x77, 0x4c, 0x83, 0x05, 0x97, 0x96, 0x9b, 0x9a, 0x9a, + 0x9a, 0xd9, 0xab, 0xb5, 0x40, 0x1d, 0x79, 0x96, 0x4b, 0x65, 0x60, 0x18, 0x58, 0x03, 0x94, 0xc8, + 0x83, 0xce, 0x89, 0x13, 0x27, 0x99, 0x9c, 0x9c, 0x5c, 0x82, 0xdd, 0x94, 0xf4, 0x7e, 0x34, 0xad, + 0x6b, 0x9c, 0xbd, 0xba, 0x0e, 0xa8, 0x07, 0x46, 0x80, 0xd1, 0x32, 0x70, 0x0e, 0x58, 0x09, 0x34, + 0x00, 0x33, 0x95, 0xca, 0xc8, 0xf4, 0xee, 0xdd, 0x5f, 0x2d, 0x75, 0x77, 0xf7, 0x2d, 0xc9, 0x8e, + 0x4a, 0xba, 0x7b, 0x3b, 0xb6, 0x6f, 0xe5, 0xca, 0x95, 0xca, 0x34, 0xf0, 0x00, 0xb9, 0xe2, 0x43, + 0xc0, 0x3b, 0x65, 0xe0, 0x12, 0x79, 0xea, 0xa7, 0x80, 0xe9, 0x73, 0xe7, 0xce, 0x9f, 0x7d, 0x78, + 0x5b, 0xeb, 0xd6, 0x43, 0x87, 0x5e, 0x63, 0x72, 0x72, 0x6a, 0xe9, 0xf6, 0x58, 0xd2, 0x82, 0xac, + 0x5a, 0x55, 0xcf, 0x53, 0xbb, 0xbf, 0xcc, 0xd1, 0xa3, 0x1d, 0xe7, 0xc8, 0xf5, 0x1e, 0x03, 0x06, + 0x80, 0xee, 0x22, 0xa5, 0x04, 0xd0, 0x4c, 0x9e, 0xfc, 0xba, 0xae, 0xae, 0xb3, 0xa5, 0x9e, 0x9e, + 0xee, 0x9f, 0x9d, 0xfc, 0x77, 0x67, 0xe9, 0xd8, 0xb1, 0x13, 0x4b, 0xb7, 0xd7, 0x92, 0x16, 0xe4, + 0x89, 0x27, 0x3e, 0xcf, 0x96, 0x4f, 0x6e, 0x9e, 0xde, 0xb3, 0x67, 0xcf, 0xc1, 0x4a, 0xe5, 0x4a, + 0x13, 0x70, 0x11, 0x78, 0x3d, 0xa5, 0x74, 0x72, 0x76, 0x99, 0xec, 0x32, 0xb0, 0x1a, 0x58, 0xbd, + 0x65, 0x4b, 0xeb, 0xd4, 0x91, 0x37, 0xfe, 0xf6, 0xe3, 0x47, 0x3e, 0xb5, 0xe3, 0x07, 0xd3, 0x53, + 0xd3, 0xc5, 0x4b, 0xbf, 0x7d, 0x85, 0xa1, 0xa1, 0xf7, 0x96, 0x6c, 0xe7, 0x25, 0xdd, 0x5e, 0x73, + 0xf3, 0x3a, 0xf6, 0xef, 0x7f, 0x9a, 0x87, 0xb7, 0xb5, 0xa6, 0x67, 0x9f, 0xfd, 0xee, 0xc1, 0x4a, + 0xe5, 0x4a, 0x2d, 0x79, 0x96, 0xcf, 0x93, 0x7f, 0x7a, 0x33, 0x5b, 0x70, 0x80, 0x55, 0xc0, 0x5a, + 0xaa, 0x47, 0xd6, 0x5f, 0x3d, 0xfc, 0xc7, 0xcd, 0xa4, 0x99, 0x1f, 0xb6, 0xb4, 0x34, 0x35, 0xf4, + 0xf7, 0x5f, 0xe4, 0xdd, 0x77, 0x7b, 0xe8, 0xee, 0xe9, 0xe3, 0xd2, 0xa5, 0x41, 0xc6, 0xc7, 0x27, + 0x96, 0xe2, 0xfd, 0x48, 0x1f, 0x6a, 0x2b, 0x56, 0xd4, 0xb1, 0x7e, 0x7d, 0x13, 0x1b, 0x1f, 0xbc, + 0x9f, 0x4d, 0x9b, 0x1e, 0x64, 0xc3, 0x86, 0x16, 0xfa, 0xfa, 0x2e, 0x54, 0x9e, 0xfb, 0xfe, 0xf7, + 0x0e, 0x9e, 0x3e, 0xd5, 0xb9, 0x82, 0x7c, 0xe4, 0xbc, 0x1f, 0x38, 0x9a, 0x52, 0x3a, 0x0f, 0x37, + 0x0e, 0x38, 0xc0, 0x0a, 0xf2, 0x11, 0xf5, 0x5a, 0xf2, 0xf2, 0xd9, 0xd8, 0xf3, 0x3f, 0xfa, 0xc9, + 0xe7, 0x9a, 0x9b, 0x1a, 0xbf, 0xd5, 0xd8, 0xb8, 0xf6, 0x81, 0xd6, 0xd6, 0xcd, 0x0d, 0x8b, 0xfc, + 0x9e, 0x24, 0xdd, 0xe4, 0xcc, 0x99, 0x73, 0x95, 0xfe, 0xfe, 0xff, 0xf4, 0x1f, 0x7e, 0xed, 0xf0, + 0x9f, 0x5f, 0xff, 0x53, 0xfb, 0x35, 0xe0, 0x23, 0xd5, 0x3f, 0xf5, 0x01, 0x7f, 0x4f, 0x29, 0xf5, + 0xce, 0x3e, 0xf6, 0xe6, 0x01, 0x87, 0xbc, 0x86, 0xb6, 0xaa, 0x7a, 0x7d, 0x62, 0xdf, 0xbe, 0x7d, + 0x53, 0x6d, 0x6d, 0x6d, 0x75, 0xe4, 0xa1, 0xa7, 0x7a, 0xb9, 0x92, 0x79, 0xce, 0x82, 0x93, 0xf4, + 0x81, 0xa9, 0x25, 0xff, 0x94, 0x6e, 0x20, 0xcf, 0x68, 0x3d, 0x79, 0x16, 0x4b, 0xc0, 0x20, 0xf0, + 0xaf, 0x94, 0xd2, 0x0d, 0xcb, 0x5f, 0xb7, 0x1b, 0x70, 0xc8, 0xc3, 0x5b, 0xee, 0xea, 0xea, 0x9a, + 0xd9, 0xba, 0x75, 0x6b, 0x41, 0x2e, 0x7b, 0xb9, 0xba, 0xd5, 0x57, 0x5f, 0xdc, 0x01, 0x97, 0x16, + 0x4f, 0xc1, 0xdc, 0xfc, 0xcd, 0xce, 0x63, 0x0d, 0xf9, 0x6b, 0xf9, 0x28, 0x70, 0x36, 0xa5, 0x74, + 0xe1, 0x96, 0x27, 0xcd, 0x33, 0xe0, 0x00, 0x45, 0x51, 0x14, 0x90, 0x3f, 0x35, 0xca, 0xcc, 0x95, + 0x7b, 0x35, 0x73, 0x9f, 0x1a, 0x92, 0x16, 0x4f, 0x99, 0x3c, 0x77, 0x89, 0x3c, 0xf0, 0x13, 0xe4, + 0xe5, 0xb0, 0xe1, 0x94, 0xd2, 0xb5, 0xf9, 0x9e, 0x30, 0x9f, 0x54, 0x1d, 0xfe, 0x89, 0xa2, 0x28, + 0xa6, 0xc8, 0xeb, 0xe4, 0x35, 0xd5, 0x7f, 0x30, 0x8d, 0x03, 0x2e, 0x2d, 0xb6, 0x1a, 0xf2, 0xb1, + 0xb1, 0xcb, 0xc0, 0xd5, 0xf9, 0x86, 0xfa, 0x7a, 0xff, 0x05, 0x1d, 0xd8, 0x0d, 0xa8, 0x3e, 0xb1, + 0x49, 0x09, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +const int Frame_s2_size = sizeof(Frame_s2); diff --git a/source/ngc/png/Frame_s2.h b/source/gx/png/Frame_s2.h similarity index 100% rename from source/ngc/png/Frame_s2.h rename to source/gx/png/Frame_s2.h diff --git a/source/ngc/png/Frame_s2.png b/source/gx/png/Frame_s2.png similarity index 100% rename from source/ngc/png/Frame_s2.png rename to source/gx/png/Frame_s2.png diff --git a/source/ngc/png/Frame_title.c b/source/gx/png/Frame_title.c similarity index 100% rename from source/ngc/png/Frame_title.c rename to source/gx/png/Frame_title.c diff --git a/source/ngc/png/Frame_title.h b/source/gx/png/Frame_title.h similarity index 100% rename from source/ngc/png/Frame_title.h rename to source/gx/png/Frame_title.h diff --git a/source/ngc/png/Frame_title.png b/source/gx/png/Frame_title.png similarity index 100% rename from source/ngc/png/Frame_title.png rename to source/gx/png/Frame_title.png diff --git a/source/ngc/png/Key_A_gcn.c b/source/gx/png/Key_A_gcn.c similarity index 100% rename from source/ngc/png/Key_A_gcn.c rename to source/gx/png/Key_A_gcn.c diff --git a/source/ngc/png/Key_A_gcn.h b/source/gx/png/Key_A_gcn.h similarity index 100% rename from source/ngc/png/Key_A_gcn.h rename to source/gx/png/Key_A_gcn.h diff --git a/source/ngc/png/Key_A_gcn.png b/source/gx/png/Key_A_gcn.png similarity index 100% rename from source/ngc/png/Key_A_gcn.png rename to source/gx/png/Key_A_gcn.png diff --git a/source/ngc/png/Key_A_wii.c b/source/gx/png/Key_A_wii.c similarity index 100% rename from source/ngc/png/Key_A_wii.c rename to source/gx/png/Key_A_wii.c diff --git a/source/ngc/png/Key_A_wii.h b/source/gx/png/Key_A_wii.h similarity index 100% rename from source/ngc/png/Key_A_wii.h rename to source/gx/png/Key_A_wii.h diff --git a/source/ngc/png/Key_A_wii.png b/source/gx/png/Key_A_wii.png similarity index 100% rename from source/ngc/png/Key_A_wii.png rename to source/gx/png/Key_A_wii.png diff --git a/source/ngc/png/Key_B_gcn.c b/source/gx/png/Key_B_gcn.c similarity index 100% rename from source/ngc/png/Key_B_gcn.c rename to source/gx/png/Key_B_gcn.c diff --git a/source/ngc/png/Key_B_gcn.h b/source/gx/png/Key_B_gcn.h similarity index 100% rename from source/ngc/png/Key_B_gcn.h rename to source/gx/png/Key_B_gcn.h diff --git a/source/ngc/png/Key_B_gcn.png b/source/gx/png/Key_B_gcn.png similarity index 100% rename from source/ngc/png/Key_B_gcn.png rename to source/gx/png/Key_B_gcn.png diff --git a/source/ngc/png/Key_B_wii.c b/source/gx/png/Key_B_wii.c similarity index 100% rename from source/ngc/png/Key_B_wii.c rename to source/gx/png/Key_B_wii.c diff --git a/source/ngc/png/Key_B_wii.h b/source/gx/png/Key_B_wii.h similarity index 100% rename from source/ngc/png/Key_B_wii.h rename to source/gx/png/Key_B_wii.h diff --git a/source/ngc/png/Key_B_wii.png b/source/gx/png/Key_B_wii.png similarity index 100% rename from source/ngc/png/Key_B_wii.png rename to source/gx/png/Key_B_wii.png diff --git a/source/ngc/png/Key_home.c b/source/gx/png/Key_home.c similarity index 100% rename from source/ngc/png/Key_home.c rename to source/gx/png/Key_home.c diff --git a/source/ngc/png/Key_home.h b/source/gx/png/Key_home.h similarity index 100% rename from source/ngc/png/Key_home.h rename to source/gx/png/Key_home.h diff --git a/source/ngc/png/Key_home.png b/source/gx/png/Key_home.png similarity index 100% rename from source/ngc/png/Key_home.png rename to source/gx/png/Key_home.png diff --git a/source/gx/png/Key_trigger_Z.c b/source/gx/png/Key_trigger_Z.c new file mode 100644 index 0000000..322aee5 --- /dev/null +++ b/source/gx/png/Key_trigger_Z.c @@ -0,0 +1,203 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +const unsigned char Key_trigger_Z[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x1c, 0x08, 0x06, 0x00, 0x00, 0x00, 0xd8, 0xce, 0x19, + 0x28, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0a, 0xf0, 0x00, 0x00, 0x0a, + 0xf0, 0x01, 0x42, 0xac, 0x34, 0x98, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, + 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, 0xbb, 0x91, + 0x2a, 0x24, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x31, 0x33, 0x2f, 0x30, 0x39, + 0xbc, 0x9b, 0xfd, 0x89, 0x00, 0x00, 0x0b, 0x7a, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xcd, 0x99, + 0x7f, 0x6c, 0x54, 0x55, 0xda, 0xc7, 0x3f, 0x33, 0xd3, 0xd2, 0x4e, 0x87, 0xd2, 0xda, 0xda, 0xa6, + 0x1d, 0xdb, 0x52, 0x4a, 0x3b, 0xa2, 0xb8, 0x40, 0xad, 0xe1, 0x97, 0x8a, 0x48, 0x44, 0x63, 0x04, + 0xde, 0xa2, 0xa1, 0x04, 0x8c, 0xbe, 0xb2, 0x91, 0xb2, 0x5d, 0x82, 0xbb, 0x28, 0x21, 0x84, 0x4d, + 0x34, 0xc6, 0xf8, 0xe2, 0x8f, 0x25, 0xae, 0x09, 0x79, 0x81, 0x46, 0xf2, 0xf2, 0x62, 0xa2, 0x28, + 0xca, 0x22, 0xc5, 0x04, 0x79, 0x59, 0xa1, 0x1a, 0xa8, 0x09, 0x75, 0xa4, 0x69, 0x43, 0x61, 0x2a, + 0xb5, 0xa5, 0x74, 0xda, 0xd2, 0x32, 0x9d, 0xe9, 0xfd, 0x31, 0xf7, 0xf7, 0x7d, 0xff, 0xd0, 0x3b, + 0xb6, 0xb4, 0x45, 0xb2, 0xbb, 0x82, 0xdf, 0xe4, 0x64, 0x4e, 0xee, 0xbd, 0xe7, 0xdc, 0xfb, 0x7c, + 0xce, 0xf3, 0x3c, 0xe7, 0xcc, 0x39, 0x2e, 0xdb, 0xb6, 0x19, 0x4b, 0x2e, 0x97, 0x2b, 0x51, 0xef, + 0xe8, 0xe8, 0x98, 0x7c, 0xe2, 0xc4, 0x89, 0x77, 0x2e, 0x5f, 0xbe, 0xfc, 0xbb, 0x96, 0x96, 0x96, + 0xc9, 0xfd, 0xfd, 0xfd, 0xc9, 0xc9, 0xc9, 0xc9, 0x94, 0x96, 0x96, 0x8e, 0xd9, 0xf6, 0xb7, 0xa0, + 0x70, 0x38, 0xcc, 0xd5, 0xab, 0x57, 0xad, 0xcc, 0xcc, 0xcc, 0xe8, 0xec, 0xd9, 0xb3, 0xeb, 0x1f, + 0x7e, 0xf8, 0xe1, 0x8d, 0xf7, 0xdf, 0x7f, 0x7f, 0xa7, 0x73, 0x7f, 0x5c, 0xbb, 0xaf, 0xbd, 0x31, + 0x1c, 0x44, 0x43, 0x43, 0x43, 0xd5, 0xd9, 0xb3, 0x67, 0x5f, 0x0f, 0x85, 0x42, 0xa5, 0x7e, 0xbf, + 0x9f, 0xe2, 0xe2, 0x62, 0xee, 0xbc, 0xf3, 0x4e, 0x0a, 0x0b, 0x0b, 0xc9, 0xc8, 0xc8, 0x18, 0xf1, + 0xec, 0x6f, 0x4d, 0xb2, 0x2c, 0xd3, 0xd4, 0xd4, 0x44, 0x63, 0x63, 0x23, 0xc1, 0x60, 0x90, 0xd6, + 0xd6, 0x56, 0xee, 0xba, 0xeb, 0xae, 0xef, 0x03, 0x81, 0xc0, 0x5f, 0xb6, 0x6e, 0xdd, 0xfa, 0xb1, + 0xf3, 0xdc, 0x28, 0xfb, 0xc7, 0x22, 0xd5, 0xdb, 0xdb, 0x3b, 0xf9, 0xc4, 0x89, 0x13, 0x7f, 0xef, + 0xec, 0xec, 0x2c, 0xbf, 0xe7, 0x9e, 0x7b, 0x28, 0x2d, 0x2d, 0x25, 0x18, 0x0c, 0x52, 0x57, 0x57, + 0x47, 0x47, 0x47, 0x07, 0xba, 0xae, 0x03, 0xe0, 0xf1, 0x78, 0xb8, 0xe3, 0x8e, 0x3b, 0xa8, 0xac, + 0xac, 0xe4, 0x91, 0x47, 0x1e, 0xc1, 0xef, 0xf7, 0xff, 0xca, 0x66, 0xfe, 0xf3, 0xfa, 0xe1, 0x87, + 0x1f, 0xd8, 0xbd, 0x7b, 0x37, 0x9f, 0x7d, 0xf6, 0x19, 0x33, 0x67, 0xce, 0xfc, 0xae, 0xb8, 0xb8, + 0x78, 0xf9, 0x9b, 0x6f, 0xbe, 0xd9, 0xf9, 0x8b, 0x40, 0x5a, 0x5a, 0x5a, 0x56, 0x36, 0x36, 0x36, + 0xfe, 0x4f, 0x6a, 0x6a, 0xaa, 0x77, 0xfa, 0xf4, 0xe9, 0x1c, 0x38, 0x70, 0x80, 0xe3, 0xc7, 0x8f, + 0x73, 0xfb, 0xed, 0xb7, 0x53, 0x54, 0x54, 0xc4, 0xd4, 0xa9, 0x53, 0xc9, 0xc8, 0xc8, 0x40, 0x55, + 0x55, 0x2e, 0x5d, 0xba, 0x44, 0x6b, 0x6b, 0x2b, 0x03, 0x03, 0x03, 0x68, 0x9a, 0xc6, 0xa2, 0x45, + 0x8b, 0x78, 0xe1, 0x85, 0x17, 0x7e, 0x93, 0x60, 0x0c, 0xc3, 0x40, 0xd3, 0x34, 0xce, 0x9d, 0x3b, + 0xc7, 0xd6, 0xad, 0x5b, 0x89, 0x44, 0x22, 0xf1, 0x8a, 0x8a, 0x8a, 0xe7, 0x6a, 0x6b, 0x6b, 0x3f, + 0x86, 0x61, 0x9e, 0xe2, 0x54, 0x6c, 0xdb, 0xa6, 0xa5, 0xa5, 0x65, 0x65, 0x6d, 0x6d, 0xad, 0x55, + 0x5f, 0x5f, 0x6f, 0x1f, 0x3e, 0x7c, 0xd8, 0x5e, 0xb4, 0x68, 0x91, 0x5d, 0x55, 0x55, 0x65, 0xef, + 0xdf, 0xbf, 0xdf, 0xee, 0xee, 0xee, 0xb6, 0xc7, 0x53, 0x53, 0x53, 0x93, 0x5d, 0x53, 0x53, 0x63, + 0xcf, 0x98, 0x31, 0xc3, 0x9e, 0x37, 0x6f, 0x9e, 0x5d, 0x57, 0x57, 0x37, 0xee, 0xb3, 0xb7, 0x42, + 0x96, 0x65, 0xd9, 0x9a, 0xa6, 0xd9, 0xa2, 0x28, 0xda, 0x91, 0x48, 0xc4, 0xee, 0xea, 0xea, 0xb2, + 0x57, 0xaf, 0x5e, 0x6d, 0xe7, 0xe4, 0xe4, 0x58, 0x2b, 0x56, 0xac, 0xa8, 0x72, 0xec, 0xb7, 0x6d, + 0xfb, 0x67, 0x20, 0x7d, 0x7d, 0x7d, 0x93, 0xf7, 0xec, 0xd9, 0xa3, 0x7d, 0xf3, 0xcd, 0x37, 0xf6, + 0xa1, 0x43, 0x87, 0xec, 0x79, 0xf3, 0xe6, 0xd9, 0xdb, 0xb6, 0x6d, 0xb3, 0x07, 0x06, 0x06, 0x6e, + 0xe8, 0x65, 0x82, 0x20, 0xd8, 0x27, 0x4f, 0x9e, 0xb4, 0x67, 0xcf, 0x9e, 0x6d, 0xcf, 0x9d, 0x3b, + 0xd7, 0x3e, 0x74, 0xe8, 0xd0, 0xcd, 0xb0, 0xf5, 0x86, 0x64, 0x9a, 0xa6, 0xad, 0xaa, 0xaa, 0x2d, + 0x08, 0x82, 0x1d, 0x89, 0x44, 0xec, 0xde, 0xde, 0x5e, 0xbb, 0xad, 0xad, 0xcd, 0xae, 0xa9, 0xa9, + 0xb1, 0xfd, 0x7e, 0xbf, 0x3e, 0x67, 0xce, 0x9c, 0xc9, 0x0e, 0x14, 0xb7, 0x93, 0x18, 0x8f, 0x1c, + 0x39, 0xd2, 0x90, 0x97, 0x97, 0x97, 0xdc, 0xdf, 0xdf, 0xcf, 0x8e, 0x1d, 0x3b, 0x78, 0xfe, 0xf9, + 0xe7, 0xd9, 0xbc, 0x79, 0x33, 0xd9, 0xd9, 0xd9, 0xa3, 0xdc, 0x4f, 0xb7, 0x6d, 0xf4, 0x61, 0x9e, + 0x65, 0x9a, 0x26, 0xa6, 0x69, 0x32, 0x6d, 0xda, 0x34, 0xf6, 0xef, 0xdf, 0x4f, 0x72, 0x72, 0x32, + 0xaf, 0xbd, 0xf6, 0x1a, 0x75, 0x75, 0x75, 0xbf, 0x6a, 0x18, 0xdc, 0xa8, 0x6c, 0x67, 0xf4, 0xf9, + 0xf9, 0x7b, 0xdd, 0x6e, 0x37, 0xeb, 0xd7, 0xaf, 0x67, 0xea, 0xd4, 0xa9, 0x49, 0xba, 0xae, 0x37, + 0xc0, 0x8f, 0x13, 0x8a, 0x1b, 0xe0, 0xcb, 0x2f, 0xbf, 0xfc, 0x93, 0x20, 0x08, 0xf9, 0xa5, 0xa5, + 0xa5, 0xbc, 0xf3, 0xce, 0x3b, 0x3c, 0xfe, 0xf8, 0xe3, 0xac, 0x59, 0xb3, 0x06, 0xb7, 0xdb, 0x3d, + 0xaa, 0x73, 0xc1, 0xb0, 0x78, 0xed, 0xe2, 0x55, 0xb6, 0x84, 0xfa, 0xb9, 0xaa, 0x99, 0x58, 0x96, + 0x85, 0x69, 0x9a, 0x18, 0x86, 0x91, 0x78, 0xd1, 0x7b, 0xef, 0xbd, 0x87, 0xa2, 0x28, 0xbc, 0xf1, + 0xc6, 0x1b, 0x84, 0xc3, 0xe1, 0x9b, 0x69, 0xfb, 0x28, 0x39, 0x30, 0x6c, 0xdb, 0xc6, 0xb2, 0xac, + 0x44, 0x71, 0x06, 0x71, 0xe3, 0xc6, 0x8d, 0x84, 0x42, 0xa1, 0xfc, 0xa5, 0x4b, 0x97, 0xfe, 0x19, + 0xc0, 0x03, 0x30, 0x6d, 0xda, 0xb4, 0x13, 0x0f, 0x3e, 0xf8, 0x60, 0xf2, 0xc1, 0x83, 0x07, 0x51, + 0x14, 0x85, 0x57, 0x5e, 0x79, 0x85, 0xd4, 0xd4, 0xd4, 0x51, 0x9d, 0xf7, 0x6a, 0x06, 0x7f, 0xeb, + 0x88, 0xf0, 0x43, 0xdc, 0xa0, 0x4f, 0x33, 0x39, 0x36, 0x20, 0x72, 0x57, 0x5a, 0x32, 0x93, 0x30, + 0xd1, 0x34, 0x2d, 0x01, 0xc5, 0xb2, 0x2c, 0xca, 0xcb, 0xcb, 0x39, 0x78, 0xf0, 0x20, 0xd1, 0x68, + 0x94, 0x47, 0x1f, 0x7d, 0xf4, 0x26, 0x63, 0x18, 0x29, 0xc7, 0x2b, 0x2c, 0xcb, 0xc2, 0x30, 0x0c, + 0x74, 0x5d, 0x4f, 0x94, 0xb4, 0xb4, 0x34, 0x44, 0x51, 0xe4, 0xcc, 0x99, 0x33, 0x0f, 0x45, 0xa3, + 0xd1, 0xd7, 0xdd, 0xf5, 0xf5, 0xf5, 0x2b, 0x63, 0xb1, 0x98, 0x37, 0x3f, 0x3f, 0x9f, 0xa3, 0x47, + 0x8f, 0xf2, 0xd4, 0x53, 0x4f, 0x31, 0x69, 0xd2, 0xa4, 0x51, 0x9d, 0x5e, 0x94, 0x75, 0xfe, 0xfb, + 0x52, 0x94, 0x01, 0xdd, 0x24, 0xd5, 0xed, 0x62, 0x82, 0x0b, 0x7a, 0x55, 0x83, 0xb5, 0x2d, 0x61, + 0xfe, 0xaf, 0x7f, 0x28, 0xe1, 0x25, 0x4e, 0x29, 0x28, 0x28, 0xa0, 0xa4, 0xa4, 0x84, 0xfa, 0xfa, + 0xfa, 0x5b, 0xee, 0x25, 0x8e, 0x1c, 0x2f, 0xb9, 0xf6, 0xf7, 0xe9, 0xa7, 0x9f, 0xa6, 0xab, 0xab, + 0xcb, 0xbb, 0x78, 0xf1, 0xe2, 0x95, 0xee, 0x0b, 0x17, 0x2e, 0xfc, 0xa1, 0xa4, 0xa4, 0x84, 0xaf, + 0xbf, 0xfe, 0x9a, 0x9c, 0x9c, 0x1c, 0x16, 0x2c, 0x58, 0x30, 0xaa, 0xa3, 0xef, 0x86, 0x54, 0xde, + 0xef, 0x89, 0xa1, 0x5b, 0x36, 0x29, 0x6e, 0xd7, 0x4f, 0x39, 0x04, 0x3c, 0xd8, 0xa8, 0xba, 0xce, + 0x9f, 0x9a, 0xbb, 0xd9, 0xd3, 0x39, 0x80, 0x69, 0x9a, 0xe8, 0xba, 0x8e, 0xa6, 0x69, 0xa8, 0xaa, + 0xca, 0xca, 0x95, 0x2b, 0xd1, 0x34, 0x8d, 0xcf, 0x3f, 0xff, 0x7c, 0x44, 0x7f, 0xc1, 0x60, 0x90, + 0xfb, 0xee, 0xbb, 0xef, 0xba, 0xe5, 0x46, 0x55, 0x5b, 0x5b, 0x9b, 0x68, 0x13, 0x0c, 0x06, 0x13, + 0xd7, 0x05, 0x41, 0xa0, 0xae, 0xae, 0x8e, 0x57, 0x5f, 0x7d, 0x95, 0xb6, 0xb6, 0xb6, 0x04, 0x90, + 0xe1, 0x30, 0x9c, 0xba, 0xc7, 0xe3, 0x61, 0xe6, 0xcc, 0x99, 0xc4, 0xe3, 0xf1, 0x3f, 0x24, 0x7d, + 0xff, 0xfd, 0xf7, 0xb3, 0x2a, 0x2b, 0x2b, 0x79, 0xf7, 0xdd, 0x77, 0x29, 0x2a, 0x2a, 0x22, 0x37, + 0x37, 0xf7, 0x67, 0xa2, 0xc0, 0xb1, 0x01, 0x89, 0x7f, 0x44, 0x64, 0x52, 0xdc, 0x2e, 0x5c, 0x2e, + 0xb0, 0xec, 0x1f, 0xaf, 0xeb, 0xb6, 0x8d, 0x6a, 0x59, 0x98, 0x86, 0xc9, 0x04, 0xcb, 0xe4, 0xaf, + 0x6d, 0x7d, 0x5c, 0x8c, 0xa4, 0xf2, 0xc7, 0x3c, 0x1f, 0xa6, 0xa6, 0xa2, 0xaa, 0x2a, 0x05, 0x05, + 0x05, 0x68, 0x9a, 0xc6, 0xa7, 0x9f, 0x7e, 0xca, 0xda, 0xb5, 0x6b, 0xc7, 0x34, 0x28, 0x3d, 0x3d, + 0x9d, 0x40, 0x20, 0x70, 0xc3, 0x00, 0xae, 0xd5, 0x70, 0x78, 0xf9, 0xf9, 0xf9, 0x89, 0xfa, 0xb2, + 0x65, 0xcb, 0x10, 0x04, 0x81, 0x8a, 0x8a, 0x0a, 0x02, 0x81, 0x40, 0x62, 0x31, 0x79, 0x6d, 0x4e, + 0x71, 0x3c, 0x7b, 0xc6, 0x8c, 0x19, 0x9c, 0x3e, 0x7d, 0x7a, 0x56, 0x52, 0x47, 0x47, 0x47, 0x46, + 0x51, 0x51, 0x11, 0x1d, 0x1d, 0x1d, 0xcc, 0x9e, 0x3d, 0x7b, 0xc4, 0xcb, 0x3e, 0xbb, 0x22, 0x70, + 0xa4, 0x5f, 0x62, 0xa2, 0xc7, 0x8d, 0x6e, 0xd9, 0x98, 0x36, 0x44, 0x0d, 0x8b, 0xa8, 0x6e, 0x72, + 0x45, 0xd1, 0x89, 0x48, 0x71, 0x5c, 0x72, 0x1c, 0x5b, 0x55, 0xc8, 0xb0, 0x0d, 0x0e, 0x74, 0xf6, + 0x63, 0x08, 0x43, 0xfc, 0x3e, 0xd7, 0x8b, 0xaa, 0xfe, 0x08, 0xc5, 0xe7, 0xf3, 0xd1, 0xdf, 0xdf, + 0x3f, 0xae, 0x41, 0x81, 0x40, 0x80, 0xdd, 0xbb, 0x77, 0x8f, 0x79, 0xef, 0xa5, 0x97, 0x5e, 0x42, + 0x10, 0x04, 0x00, 0xd6, 0xad, 0x5b, 0x47, 0x45, 0x45, 0x05, 0xdb, 0xb7, 0x6f, 0xe7, 0xc2, 0x85, + 0x0b, 0x00, 0x6c, 0xda, 0xb4, 0x89, 0xee, 0xee, 0x6e, 0x1a, 0x1b, 0x1b, 0x01, 0x58, 0xb8, 0x70, + 0x21, 0xf9, 0xf9, 0xf9, 0x54, 0x57, 0x57, 0x27, 0xda, 0x85, 0x42, 0x21, 0x6a, 0x6a, 0x6a, 0xd8, + 0xb0, 0x61, 0x03, 0x05, 0x05, 0x05, 0xa3, 0x40, 0x38, 0x0b, 0xb6, 0x82, 0x82, 0x02, 0x7a, 0x7a, + 0x7a, 0x32, 0x92, 0x22, 0x91, 0x88, 0x2b, 0x2b, 0x2b, 0x0b, 0xc3, 0x30, 0xc8, 0xca, 0xca, 0x1a, + 0xf1, 0x41, 0x8b, 0xb2, 0x7c, 0x4c, 0xf7, 0xa5, 0xf0, 0x5f, 0xed, 0x57, 0xd1, 0xb1, 0xf1, 0x79, + 0xdc, 0x2c, 0xce, 0xf2, 0xa2, 0xe8, 0x3a, 0x31, 0xc9, 0x64, 0x10, 0x8b, 0xbf, 0xf7, 0xc7, 0x90, + 0xe4, 0x38, 0x68, 0x1a, 0x7f, 0x9d, 0x9c, 0xce, 0xed, 0x58, 0x48, 0x92, 0x84, 0xaa, 0xaa, 0x68, + 0x9a, 0x86, 0xd7, 0xeb, 0x45, 0x92, 0xa4, 0x71, 0x81, 0x7c, 0xfb, 0xed, 0xb7, 0xa3, 0x42, 0xa4, + 0xba, 0xba, 0x9a, 0xea, 0xea, 0x6a, 0xd6, 0xad, 0x5b, 0xc7, 0xba, 0x75, 0xeb, 0x10, 0x04, 0x81, + 0x4d, 0x9b, 0x36, 0xb1, 0x6a, 0xd5, 0x2a, 0x3e, 0xfc, 0xf0, 0x43, 0x00, 0x56, 0xaf, 0x5e, 0x4d, + 0x20, 0x10, 0xe0, 0xe4, 0xc9, 0x93, 0x89, 0x50, 0x11, 0x45, 0x11, 0x60, 0x54, 0xe8, 0x04, 0x83, + 0x41, 0x44, 0x51, 0x1c, 0x05, 0xc2, 0x09, 0x6f, 0x4d, 0xd3, 0xc8, 0xce, 0xce, 0x46, 0x14, 0x45, + 0x57, 0x92, 0xa6, 0x69, 0x89, 0x3f, 0x69, 0xaa, 0xaa, 0x8e, 0xf8, 0xb0, 0x49, 0x49, 0x6e, 0x4c, + 0x3b, 0x89, 0x21, 0xd3, 0x42, 0x34, 0x2d, 0x26, 0x79, 0xdd, 0xac, 0xcc, 0x49, 0x23, 0x16, 0x8b, + 0xd1, 0x27, 0x0a, 0xc4, 0xec, 0x21, 0xfe, 0x21, 0x0e, 0xd2, 0x27, 0x28, 0xa4, 0x58, 0x26, 0x3e, + 0xd5, 0x83, 0xcb, 0x32, 0x11, 0x7f, 0x7a, 0x91, 0xae, 0xeb, 0x58, 0x96, 0x35, 0x2e, 0x0c, 0x18, + 0x3b, 0x64, 0x9c, 0xa5, 0xbf, 0xe3, 0x3d, 0x0e, 0x94, 0xda, 0xda, 0x5a, 0x00, 0x96, 0x2e, 0x5d, + 0xca, 0x8b, 0x2f, 0xbe, 0x38, 0x6e, 0x9f, 0x8d, 0x8d, 0x8d, 0x09, 0xc8, 0x15, 0x15, 0x15, 0xec, + 0xdc, 0xb9, 0x93, 0x78, 0x3c, 0x8e, 0x24, 0x49, 0x23, 0x60, 0x0c, 0x2f, 0x8e, 0x92, 0xbc, 0x5e, + 0xaf, 0x7d, 0xf9, 0xf2, 0x65, 0x97, 0xc7, 0xe3, 0xa1, 0xbd, 0xbd, 0x3d, 0x71, 0xc3, 0x59, 0xc8, + 0xc4, 0x0d, 0x93, 0x21, 0xdd, 0x60, 0x48, 0x33, 0x88, 0x62, 0xa1, 0x28, 0x0a, 0x82, 0x20, 0x30, + 0x38, 0x38, 0x48, 0x34, 0x1a, 0x45, 0x1d, 0x8c, 0x60, 0xcb, 0x2a, 0x96, 0xcb, 0xc5, 0x60, 0xcc, + 0x8d, 0xc9, 0xc8, 0xa9, 0x6d, 0x68, 0x68, 0x88, 0xe4, 0xe4, 0xe4, 0x71, 0x3f, 0xfe, 0x7a, 0x21, + 0xf3, 0xef, 0x92, 0xe3, 0x15, 0xd7, 0x42, 0x18, 0xee, 0x21, 0x97, 0x2e, 0x5d, 0xc2, 0xe7, 0xf3, + 0xd9, 0x49, 0x7e, 0xbf, 0x3f, 0xd6, 0xdc, 0xdc, 0x9c, 0xe9, 0xf7, 0xfb, 0x69, 0x6e, 0x6e, 0x1e, + 0x95, 0x81, 0x55, 0x4d, 0x43, 0x90, 0x15, 0x44, 0x4d, 0x23, 0x62, 0xb8, 0xb9, 0x32, 0x94, 0x44, + 0x4c, 0x94, 0x91, 0x34, 0x9d, 0xa8, 0x1c, 0x47, 0x95, 0x44, 0x6c, 0x59, 0xc1, 0x02, 0xc4, 0x21, + 0x17, 0x2e, 0x97, 0x9d, 0x18, 0x05, 0xd3, 0x34, 0x51, 0x55, 0xf5, 0xba, 0x7f, 0xf6, 0x42, 0xa1, + 0x10, 0xd5, 0xd5, 0xd5, 0xa3, 0xae, 0xd7, 0xd6, 0xd6, 0x22, 0x08, 0x42, 0xc2, 0x3b, 0xfc, 0x7e, + 0x3f, 0x0b, 0x17, 0x2e, 0xe4, 0x83, 0x0f, 0x3e, 0xa0, 0xae, 0xae, 0x8e, 0x40, 0x20, 0xc0, 0xaa, + 0x55, 0xab, 0x7e, 0x11, 0x46, 0x38, 0x1c, 0x66, 0xf7, 0xee, 0xdd, 0x3c, 0xf4, 0xd0, 0x43, 0xf8, + 0x7c, 0xbe, 0x44, 0x6e, 0x73, 0x42, 0xda, 0xf1, 0xe4, 0xb6, 0xb6, 0x36, 0x72, 0x73, 0x73, 0x63, + 0x49, 0x85, 0x85, 0x85, 0xdf, 0x35, 0x34, 0x34, 0x3c, 0xfc, 0xe4, 0x93, 0x4f, 0xb2, 0x6b, 0xd7, + 0x2e, 0x5a, 0x5b, 0x5b, 0x29, 0x29, 0x29, 0x49, 0xc4, 0x5b, 0x3c, 0xae, 0x22, 0xca, 0x12, 0xba, + 0x6e, 0xd2, 0x26, 0x68, 0xfc, 0x47, 0xef, 0x15, 0x6c, 0x59, 0xc4, 0x18, 0x8a, 0xa2, 0xc7, 0x06, + 0x91, 0x64, 0x05, 0x8f, 0x12, 0xc7, 0x32, 0x4d, 0x04, 0xc1, 0x85, 0xcb, 0xed, 0x4a, 0x8c, 0x48, + 0x38, 0x1c, 0x26, 0x2d, 0x2d, 0x8d, 0xe5, 0xcb, 0x97, 0x8f, 0x08, 0x9d, 0xe1, 0x75, 0x27, 0xc6, + 0xaf, 0x55, 0x2c, 0x16, 0xa3, 0xa6, 0xa6, 0x06, 0x41, 0x10, 0x48, 0x4f, 0x4f, 0xe7, 0xed, 0xb7, + 0xdf, 0xa6, 0xac, 0xac, 0x8c, 0xc6, 0xc6, 0x46, 0x42, 0xa1, 0x10, 0xdb, 0xb7, 0x6f, 0xc7, 0xe7, + 0xf3, 0x8d, 0xd8, 0xcf, 0x70, 0x56, 0xa1, 0x00, 0x4b, 0x96, 0x2c, 0xe1, 0xc8, 0x91, 0x23, 0xf4, + 0xf4, 0xf4, 0xb0, 0x77, 0xef, 0x5e, 0x4a, 0x4a, 0x4a, 0x98, 0x3c, 0x79, 0x32, 0xb2, 0x2c, 0x23, + 0xcb, 0x32, 0xf1, 0x78, 0x9c, 0x78, 0x3c, 0x8e, 0xa2, 0x28, 0xc4, 0xe3, 0x71, 0x5a, 0x5a, 0x5a, + 0xc8, 0xcc, 0xcc, 0xfc, 0xce, 0xb5, 0x77, 0xef, 0xde, 0x15, 0xbb, 0x76, 0xed, 0xfa, 0x78, 0xff, + 0xfe, 0xfd, 0x54, 0x55, 0x55, 0x71, 0xef, 0xbd, 0xf7, 0xb2, 0x6d, 0xdb, 0xb6, 0x04, 0x90, 0x2e, + 0x49, 0xe1, 0xf1, 0x33, 0x97, 0x50, 0x75, 0x1d, 0x0c, 0x1d, 0x43, 0x51, 0xb0, 0x15, 0x09, 0x5b, + 0x1c, 0x02, 0x51, 0xc0, 0x25, 0x0e, 0x61, 0x49, 0x22, 0xe8, 0x1a, 0xcf, 0xfb, 0xd3, 0x49, 0x77, + 0x93, 0x68, 0x7b, 0xf4, 0xe8, 0x51, 0x52, 0x53, 0x53, 0xf9, 0xe8, 0xa3, 0x8f, 0xc8, 0xcb, 0xcb, + 0xfb, 0xc5, 0xd1, 0xfc, 0x77, 0xc9, 0xf1, 0x70, 0xc3, 0x30, 0x38, 0x7f, 0xfe, 0x3c, 0x1e, 0x8f, + 0x27, 0xb1, 0x22, 0x95, 0x24, 0x09, 0x49, 0x92, 0x12, 0x39, 0x45, 0x92, 0x24, 0x7a, 0x7b, 0x7b, + 0x79, 0xeb, 0xad, 0xb7, 0xb8, 0xfb, 0xee, 0xbb, 0xab, 0x92, 0x9e, 0x7b, 0xee, 0xb9, 0x03, 0x8f, + 0x3d, 0xf6, 0x58, 0xfc, 0xe8, 0xd1, 0xa3, 0xde, 0x05, 0x0b, 0x16, 0xf0, 0xc5, 0x17, 0x5f, 0x70, + 0xfe, 0xfc, 0x79, 0xa6, 0x4c, 0x99, 0x82, 0x61, 0x18, 0xa4, 0xd9, 0x26, 0x1b, 0x0b, 0x26, 0x22, + 0xa9, 0x3a, 0xba, 0xaa, 0xa2, 0x29, 0x2e, 0x34, 0xd9, 0x42, 0xf3, 0xea, 0xa8, 0xa9, 0x06, 0xca, + 0x04, 0x0d, 0x65, 0x82, 0x8e, 0x26, 0x19, 0xa0, 0xc6, 0x91, 0x7f, 0x0a, 0xb5, 0xfe, 0xfe, 0x7e, + 0x0c, 0xc3, 0x60, 0xee, 0xdc, 0xb9, 0xa4, 0xa7, 0xa7, 0x5f, 0x77, 0xa6, 0xf9, 0x35, 0x81, 0xe4, + 0xe6, 0xe6, 0x22, 0xcb, 0x72, 0xc2, 0x78, 0xa7, 0x38, 0xd7, 0x64, 0x59, 0xa6, 0xbe, 0xbe, 0x9e, + 0xec, 0xec, 0xec, 0x78, 0x53, 0x53, 0xd3, 0x81, 0x24, 0x80, 0xf9, 0xf3, 0xe7, 0x6f, 0xd9, 0xb9, + 0x73, 0xe7, 0xbb, 0x3b, 0x76, 0xec, 0xe0, 0xd4, 0xa9, 0x53, 0x6c, 0xd8, 0xb0, 0x81, 0x4f, 0x3e, + 0xf9, 0x04, 0x80, 0x64, 0xcb, 0xe4, 0xc9, 0x6c, 0x2f, 0x9a, 0xe6, 0x41, 0x51, 0x40, 0x96, 0x4d, + 0xa4, 0x09, 0x3a, 0x82, 0x27, 0x85, 0x18, 0x0a, 0x43, 0xf6, 0x04, 0x62, 0x56, 0x12, 0x82, 0xe9, + 0x46, 0x51, 0x14, 0xb4, 0x9f, 0xbc, 0xa3, 0xa1, 0xa1, 0x81, 0xbc, 0xbc, 0x3c, 0x9e, 0x7d, 0xf6, + 0xd9, 0x9b, 0x0a, 0xc3, 0x01, 0xe2, 0x78, 0xa9, 0xa6, 0x69, 0x23, 0x80, 0x88, 0xa2, 0x88, 0x28, + 0x8a, 0xc4, 0xe3, 0x71, 0x64, 0x59, 0xa6, 0xb3, 0xb3, 0x93, 0xa6, 0xa6, 0x26, 0x02, 0x81, 0xc0, + 0x96, 0xde, 0xde, 0x5e, 0x12, 0x9b, 0xa2, 0x95, 0x95, 0x95, 0xe1, 0x89, 0x13, 0x27, 0xe6, 0x2f, + 0x59, 0xb2, 0x24, 0x11, 0x9f, 0xb5, 0xb5, 0xb5, 0x58, 0x96, 0x85, 0xae, 0xeb, 0xa8, 0xaa, 0x8a, + 0xa2, 0x28, 0x89, 0xce, 0x45, 0x51, 0x44, 0x10, 0x04, 0x86, 0x86, 0x86, 0x12, 0x45, 0x92, 0x24, + 0x74, 0x5d, 0xe7, 0xd4, 0xa9, 0x53, 0x64, 0x65, 0x65, 0x51, 0x5d, 0x5d, 0xcd, 0x03, 0x0f, 0x3c, + 0x70, 0x53, 0x61, 0x0c, 0x07, 0xe2, 0x2c, 0xba, 0xe2, 0xf1, 0x78, 0x02, 0x84, 0x20, 0x08, 0x88, + 0xa2, 0x88, 0x2c, 0xcb, 0x28, 0x8a, 0xc2, 0xbe, 0x7d, 0xfb, 0x70, 0xbb, 0xdd, 0x3d, 0x1d, 0x1d, + 0x1d, 0x7e, 0x80, 0x24, 0xdb, 0xb6, 0x71, 0xb9, 0x5c, 0x2c, 0x5e, 0xbc, 0x78, 0xce, 0x9e, 0x3d, + 0x7b, 0xda, 0x8b, 0x8a, 0x8a, 0x92, 0xd6, 0xaf, 0x5f, 0xcf, 0x8e, 0x1d, 0x3b, 0xa8, 0xaa, 0xaa, + 0xe2, 0xe5, 0x97, 0x5f, 0xa6, 0xb8, 0xb8, 0x38, 0xf1, 0xff, 0xc4, 0xc9, 0xcc, 0x4e, 0x76, 0x1e, + 0x3e, 0xa3, 0x5c, 0xb9, 0x72, 0x85, 0x73, 0xe7, 0xce, 0x91, 0x95, 0x95, 0xc5, 0x33, 0xcf, 0x3c, + 0x43, 0x79, 0x79, 0xf9, 0x4d, 0xf7, 0x8e, 0xe1, 0x40, 0x9c, 0x59, 0xce, 0x19, 0x48, 0xa7, 0x48, + 0x92, 0x44, 0x24, 0x12, 0xe1, 0xf8, 0xf1, 0xe3, 0x44, 0xa3, 0x51, 0x63, 0xc2, 0x84, 0x09, 0x73, + 0x9c, 0x76, 0x49, 0x4e, 0x05, 0xe8, 0xea, 0xee, 0xee, 0x5e, 0xfd, 0xfe, 0xfb, 0xef, 0x7f, 0x34, + 0x7f, 0xfe, 0x7c, 0xd7, 0x9a, 0x35, 0x6b, 0xd8, 0xb7, 0x6f, 0x1f, 0x5b, 0xb6, 0x6c, 0x61, 0xea, + 0xd4, 0xa9, 0x2c, 0x5f, 0xbe, 0x9c, 0xc2, 0xc2, 0xc2, 0x31, 0xa7, 0xac, 0x70, 0x38, 0x4c, 0x30, + 0x18, 0xc4, 0x30, 0x0c, 0x72, 0x72, 0x72, 0x58, 0xb1, 0x62, 0x05, 0x33, 0x67, 0xce, 0xbc, 0x25, + 0x30, 0x1c, 0x39, 0xfb, 0x1d, 0x8e, 0x87, 0x0c, 0x07, 0x22, 0xcb, 0x32, 0x75, 0x75, 0x75, 0x5c, + 0xbe, 0x7c, 0xd9, 0x2e, 0x2c, 0x2c, 0x5c, 0xdd, 0xd6, 0xd6, 0xd6, 0xe5, 0xb4, 0x1b, 0xb5, 0xc9, + 0xbc, 0x76, 0xed, 0xda, 0x15, 0x5f, 0x7d, 0xf5, 0xd5, 0xff, 0x02, 0xde, 0xcd, 0x9b, 0x37, 0x73, + 0xfa, 0xf4, 0x69, 0x9a, 0x9b, 0x9b, 0x13, 0x10, 0x7c, 0x3e, 0x1f, 0x69, 0x69, 0x69, 0x98, 0xa6, + 0x49, 0x2c, 0x16, 0x43, 0x55, 0x55, 0xbc, 0x5e, 0x2f, 0x29, 0x29, 0x29, 0x94, 0x95, 0x95, 0xf1, + 0xc4, 0x13, 0x4f, 0x90, 0x99, 0x99, 0x79, 0xb3, 0xed, 0x1f, 0xa5, 0xe1, 0x8b, 0x31, 0x67, 0x46, + 0x11, 0x45, 0x91, 0x50, 0x28, 0xc4, 0xe1, 0xc3, 0x87, 0xb1, 0x2c, 0x2b, 0x9e, 0x99, 0x99, 0xf9, + 0x9f, 0xed, 0xed, 0xed, 0x07, 0x86, 0x33, 0x18, 0xf3, 0x18, 0x62, 0xc1, 0x82, 0x05, 0x85, 0x1e, + 0x8f, 0xe7, 0xd0, 0x99, 0x33, 0x67, 0xee, 0x9d, 0x33, 0x67, 0x0e, 0x95, 0x95, 0x95, 0x84, 0xc3, + 0x61, 0x4e, 0x9d, 0x3a, 0x35, 0x62, 0xd4, 0x6d, 0xdb, 0x26, 0x2d, 0x2d, 0x8d, 0xf2, 0xf2, 0x72, + 0x66, 0xcd, 0x9a, 0x35, 0xe6, 0x3e, 0xca, 0xad, 0x90, 0xb3, 0x21, 0xe4, 0xe4, 0x10, 0x59, 0x96, + 0x69, 0x6f, 0x6f, 0xe7, 0xd8, 0xb1, 0x63, 0x84, 0x42, 0x21, 0xa6, 0x4c, 0x99, 0x12, 0x8c, 0x44, + 0x22, 0x95, 0x57, 0xaf, 0x5e, 0xed, 0x72, 0x9e, 0x77, 0x74, 0xdd, 0x83, 0xaa, 0x65, 0xcb, 0x96, + 0xad, 0xe8, 0xeb, 0xeb, 0x7b, 0xfd, 0xec, 0xd9, 0xb3, 0x65, 0xce, 0x41, 0x55, 0x49, 0x49, 0x09, + 0xf9, 0xf9, 0xf9, 0xdc, 0x76, 0xdb, 0x6d, 0x78, 0xbd, 0xde, 0x71, 0x4f, 0xc0, 0x6e, 0xb5, 0xa2, + 0xd1, 0x28, 0xad, 0xad, 0xad, 0xb4, 0xb6, 0xb6, 0xd2, 0xd1, 0xd1, 0xc1, 0xe0, 0xe0, 0x20, 0xa5, + 0xa5, 0xa5, 0x6d, 0x29, 0x29, 0x29, 0x7f, 0x69, 0x6e, 0x6e, 0x3e, 0x00, 0x63, 0x9f, 0xde, 0x8d, + 0xe9, 0x21, 0x30, 0x12, 0xcc, 0xf4, 0xe9, 0xd3, 0x0b, 0x73, 0x73, 0x73, 0xff, 0x26, 0x08, 0xc2, + 0xef, 0x2e, 0x5e, 0xbc, 0x58, 0x1c, 0x8d, 0x46, 0x93, 0x27, 0x4e, 0x9c, 0x48, 0x59, 0x59, 0xd9, + 0xaf, 0x64, 0xce, 0xbf, 0xae, 0x9e, 0x9e, 0x1e, 0x06, 0x07, 0x07, 0xcd, 0x8c, 0x8c, 0x8c, 0xc1, + 0x82, 0x82, 0x82, 0xaf, 0xc2, 0xe1, 0xf0, 0x9f, 0x7b, 0x7a, 0x7a, 0x12, 0xb9, 0x62, 0x3c, 0xbb, + 0xff, 0x1f, 0x34, 0xfa, 0x2c, 0xf2, 0xcb, 0xe6, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +const int Key_trigger_Z_size = sizeof(Key_trigger_Z); diff --git a/source/gx/png/Key_trigger_Z.h b/source/gx/png/Key_trigger_Z.h new file mode 100644 index 0000000..56f1b78 --- /dev/null +++ b/source/gx/png/Key_trigger_Z.h @@ -0,0 +1,14 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +//--------------------------------------------------------------------------------- +#ifndef _Key_trigger_Z_h_ +#define _Key_trigger_Z_h_ +//--------------------------------------------------------------------------------- +extern const unsigned char Key_trigger_Z[]; +extern const int Key_trigger_Z_size; +//--------------------------------------------------------------------------------- +#endif //_Key_trigger_Z_h_ +//--------------------------------------------------------------------------------- diff --git a/source/gx/png/Key_trigger_Z.png b/source/gx/png/Key_trigger_Z.png new file mode 100644 index 0000000000000000000000000000000000000000..a3f28fbe23f80483000d233e7f045fd7850956eb GIT binary patch literal 3110 zcmV+>4B7LEP)93k%7}$QbeLZ%wi+)6~>NV`C%1V35|@2_Mo_i=QEhQKXQdd_;M@I*`t^?rlc(~(^ zJE*LzetY}=-#rDbJpZLL*bUvD2ieAr&J zXpvo2Rb}trzu)fe?zYEMQ&W>&Q&VHlm@&hiH*cO@S64Ugv$sN)W!ajh*`g@gkx0bu z>guvruU>8E*`s~)%{TU;Lx=2n^XA#xwr#Tq1_o~E zWr85sCr_TVXV0E(&z(EhK6L2N&9L=`WSXX}s;Vsrf*pxO?B3p9yREIwuBoZ9{eHhb zXU?3-4ivYO7>^t|(vX*zm)zgq&yF2Cc>ek4*}Qo(+1c5n+)uY{^kJT5nkJ@cGHu#4 z_V3?Ma&j`Sz4jV)b#=dL7~H6AXY~2`d);m~>({Sm>eQ)8x~@0Cj}wX;;L9(+{F5LE z`K6_$yz|aGJpTCOtXZ=Lx7$6cbHT89?c!Cog!;LvnOK&EX_^>@k$BO2@4bhjD7^8; z8-&B*n`!$fIWTP7#R12Apcv=a|L_+awEg9lL*g;!pA zh1As4QJwc{27l{_@I&07Pcu0-AaYk)GLtaTG%W$evMkEW%Q<-PAkk=)M<0FkCSw>W z$15z$!Y~YUT~Cy>v@}Ff9mF^1{F8raSq=c`({+gVe92P8CFsh^PhE(3~iJ@CIDQ?$KIRre|sJhOdn!DN4 zIe=-J=(>)kX{f5o%9Sh8G>y+c|9nJ$!C;X4?z`{0pyHL}XIj zE?h3K>>sb|wvB38n1;y&%jB3i8=fZ^x0BqW{iSF)h8XFq{ zSh#Q@`T6-&S63(6g+d`}YHHZ9VFLvP1*1SX3$}uS0(yFSGLj;Zh$|~A3&SwT%E}t? zL5s3{O!uYmU+q`XvGIA_EY9+x=sGdUWDtwL_s5XrIA|Jwot)0?SV)qDs;X$3hS%#w zlB98geEaRUqe7&*x|-_hYSyh=$GUav5Cnlun>Mj()ha&x@IwGruU<_c5a8s=lZj9f zMG;_B=mdj7L{S_C!U=Cp)5y-wMifO?lBQ{iKWVC}j`*-iNp4I#i6PTMG%Y51-K@+> zBNmI%Ckn*uA^sr_(kCdSSSCKzgUd1ze|nLw>sXdGE({nuWSphH<2??P+S*zGmM&e& zi!Z)7Zl8^fjS0vV6&38$BI7l=aMIDS_%PN-3#bC^h$;hc~XlRJ!yc*FqTX zA(t*)!sqkZNq)aS*4*5j>G%6-Zf+ixfmKaIkQGEtBVxF@GL%G2l#w)@s2oR?L~L2X z0>mK~E|;Ac1=BQ9RrR`m_Clc$)z#IbuGiMqA_zjlJN$k>3l}crgAYESuC9(iAi%0s zt9}tiI2>m8?%h1}&_noqzC>!G+81N{mQ2940L-jpfUi zj|iRNbtlHJRV)^xrltl#5J*o?=k2%OrmU=t#>PfMp%B}*Z^!5Jjo8m{R-ph(mMr1O zkt6i<^ssmDUP?+zm^^thvMeLZGVyqvcs!1xD8%D&T3TAj%*_1GwRi8{6}xur`gs5T z{Zv&|aqqqNvTfV81duLC;qfz#euA`|i7| zlAe3+xdV?q_E`Mr(WBl43l{Lj7hiDx{CTEKnSx;$q}e7L3nn6|I=ZT&DK0eGLi6gV zsRqgf4P}CkCK;f{k$(!c{{DUp!(i^*xumD3Uw5YYHG$;j<|4~-!g!}R*JN3yzP_I9 z?Cf|`Q`3PYfcf+1Z`rwX=es+0?BLX?Q*79s<(FTkxVSj+|HR46PIewXqg=Ui zg>&c5k(HIjGtWFjd3pIw_m1H}oLSBpNT*1WL?ja7`0?XJqfukRgb8z;c1cbJ=<4q7 zUj6?2?|(FZ{(RS(HEYY+>rusVrZI7~1Y#4rqUa&lO)Vg)m2 z&b%cs969?Pj)x2fBFi#$b#+|6eAzB6EL`2z*4E{;8@0*2cJ0~~Uw!q}{{r64n>Ta% z^l6%#n-dUxJ|AgmX_%%-EEYpmRlHs=DJdzGm6h?t6HkztnR&DAAEn`oF=s{*MUhY_ z#Noq-u`DZ|nVI>Y?d|OchBFxR7-GSK1%)1u=g^rmXYQRdXAYH>m4w4#PMtb6V$^Nh zCM_+E^73+K&6+jlKFY0-vmxZ<5LuRKZ*S+=v15cnA*M{35{yJ5l~=D`?Q))Xblroh zWy_YW=UBZndJ(D6Ornw6?a=(b2)+;2@=? zrEMuGDSv5hZax5GpWcn>Autlm^y$+Jb8~b5CJ4gsE?&G?9F0bkCr+G5Sy|byWX`{? zo}L~C2M5iJjEup8f`YHY;qae(dU_JMVm!P5A2j+b^2_Ep1ONa407*qoM6N<$f=!k% A0RR91 literal 0 HcmV?d00001 diff --git a/source/ngc/png/Load_dvd.c b/source/gx/png/Load_dvd.c similarity index 100% rename from source/ngc/png/Load_dvd.c rename to source/gx/png/Load_dvd.c diff --git a/source/ngc/png/Load_dvd.h b/source/gx/png/Load_dvd.h similarity index 100% rename from source/ngc/png/Load_dvd.h rename to source/gx/png/Load_dvd.h diff --git a/source/ngc/png/Load_dvd.png b/source/gx/png/Load_dvd.png similarity index 100% rename from source/ngc/png/Load_dvd.png rename to source/gx/png/Load_dvd.png diff --git a/source/ngc/png/Load_recent.c b/source/gx/png/Load_recent.c similarity index 100% rename from source/ngc/png/Load_recent.c rename to source/gx/png/Load_recent.c diff --git a/source/ngc/png/Load_recent.h b/source/gx/png/Load_recent.h similarity index 100% rename from source/ngc/png/Load_recent.h rename to source/gx/png/Load_recent.h diff --git a/source/ngc/png/Load_recent.png b/source/gx/png/Load_recent.png similarity index 100% rename from source/ngc/png/Load_recent.png rename to source/gx/png/Load_recent.png diff --git a/source/ngc/png/Load_sd.c b/source/gx/png/Load_sd.c similarity index 100% rename from source/ngc/png/Load_sd.c rename to source/gx/png/Load_sd.c diff --git a/source/ngc/png/Load_sd.h b/source/gx/png/Load_sd.h similarity index 100% rename from source/ngc/png/Load_sd.h rename to source/gx/png/Load_sd.h diff --git a/source/ngc/png/Load_sd.png b/source/gx/png/Load_sd.png similarity index 100% rename from source/ngc/png/Load_sd.png rename to source/gx/png/Load_sd.png diff --git a/source/ngc/png/Load_usb.c b/source/gx/png/Load_usb.c similarity index 100% rename from source/ngc/png/Load_usb.c rename to source/gx/png/Load_usb.c diff --git a/source/ngc/png/Load_usb.h b/source/gx/png/Load_usb.h similarity index 100% rename from source/ngc/png/Load_usb.h rename to source/gx/png/Load_usb.h diff --git a/source/ngc/png/Load_usb.png b/source/gx/png/Load_usb.png similarity index 100% rename from source/ngc/png/Load_usb.png rename to source/gx/png/Load_usb.png diff --git a/source/ngc/png/Main_file.c b/source/gx/png/Main_file.c similarity index 100% rename from source/ngc/png/Main_file.c rename to source/gx/png/Main_file.c diff --git a/source/ngc/png/Main_file.h b/source/gx/png/Main_file.h similarity index 100% rename from source/ngc/png/Main_file.h rename to source/gx/png/Main_file.h diff --git a/source/ngc/png/Main_file.png b/source/gx/png/Main_file.png similarity index 100% rename from source/ngc/png/Main_file.png rename to source/gx/png/Main_file.png diff --git a/source/ngc/png/Main_info.c b/source/gx/png/Main_info.c similarity index 100% rename from source/ngc/png/Main_info.c rename to source/gx/png/Main_info.c diff --git a/source/ngc/png/Main_info.h b/source/gx/png/Main_info.h similarity index 100% rename from source/ngc/png/Main_info.h rename to source/gx/png/Main_info.h diff --git a/source/ngc/png/Main_info.png b/source/gx/png/Main_info.png similarity index 100% rename from source/ngc/png/Main_info.png rename to source/gx/png/Main_info.png diff --git a/source/ngc/png/Main_load.c b/source/gx/png/Main_load.c similarity index 100% rename from source/ngc/png/Main_load.c rename to source/gx/png/Main_load.c diff --git a/source/ngc/png/Main_load.h b/source/gx/png/Main_load.h similarity index 100% rename from source/ngc/png/Main_load.h rename to source/gx/png/Main_load.h diff --git a/source/ngc/png/Main_load.png b/source/gx/png/Main_load.png similarity index 100% rename from source/ngc/png/Main_load.png rename to source/gx/png/Main_load.png diff --git a/source/ngc/png/Main_logo.c b/source/gx/png/Main_logo.c similarity index 100% rename from source/ngc/png/Main_logo.c rename to source/gx/png/Main_logo.c diff --git a/source/ngc/png/Main_logo.h b/source/gx/png/Main_logo.h similarity index 100% rename from source/ngc/png/Main_logo.h rename to source/gx/png/Main_logo.h diff --git a/source/ngc/png/Main_logo.png b/source/gx/png/Main_logo.png similarity index 100% rename from source/ngc/png/Main_logo.png rename to source/gx/png/Main_logo.png diff --git a/source/ngc/png/Main_options.c b/source/gx/png/Main_options.c similarity index 100% rename from source/ngc/png/Main_options.c rename to source/gx/png/Main_options.c diff --git a/source/ngc/png/Main_options.h b/source/gx/png/Main_options.h similarity index 100% rename from source/ngc/png/Main_options.h rename to source/gx/png/Main_options.h diff --git a/source/ngc/png/Main_options.png b/source/gx/png/Main_options.png similarity index 100% rename from source/ngc/png/Main_options.png rename to source/gx/png/Main_options.png diff --git a/source/ngc/png/Main_play.c b/source/gx/png/Main_play.c similarity index 100% rename from source/ngc/png/Main_play.c rename to source/gx/png/Main_play.c diff --git a/source/ngc/png/Main_play.h b/source/gx/png/Main_play.h similarity index 100% rename from source/ngc/png/Main_play.h rename to source/gx/png/Main_play.h diff --git a/source/ngc/png/Main_play.png b/source/gx/png/Main_play.png similarity index 100% rename from source/ngc/png/Main_play.png rename to source/gx/png/Main_play.png diff --git a/source/ngc/png/Main_reset.c b/source/gx/png/Main_reset.c similarity index 100% rename from source/ngc/png/Main_reset.c rename to source/gx/png/Main_reset.c diff --git a/source/ngc/png/Main_reset.h b/source/gx/png/Main_reset.h similarity index 100% rename from source/ngc/png/Main_reset.h rename to source/gx/png/Main_reset.h diff --git a/source/ngc/png/Main_reset.png b/source/gx/png/Main_reset.png similarity index 100% rename from source/ngc/png/Main_reset.png rename to source/gx/png/Main_reset.png diff --git a/source/ngc/png/Option_ctrl.c b/source/gx/png/Option_ctrl.c similarity index 100% rename from source/ngc/png/Option_ctrl.c rename to source/gx/png/Option_ctrl.c diff --git a/source/ngc/png/Option_ctrl.h b/source/gx/png/Option_ctrl.h similarity index 100% rename from source/ngc/png/Option_ctrl.h rename to source/gx/png/Option_ctrl.h diff --git a/source/ngc/png/Option_ctrl.png b/source/gx/png/Option_ctrl.png similarity index 100% rename from source/ngc/png/Option_ctrl.png rename to source/gx/png/Option_ctrl.png diff --git a/source/ngc/png/Option_ggenie.c b/source/gx/png/Option_ggenie.c similarity index 100% rename from source/ngc/png/Option_ggenie.c rename to source/gx/png/Option_ggenie.c diff --git a/source/ngc/png/Option_ggenie.h b/source/gx/png/Option_ggenie.h similarity index 100% rename from source/ngc/png/Option_ggenie.h rename to source/gx/png/Option_ggenie.h diff --git a/source/ngc/png/Option_ggenie.png b/source/gx/png/Option_ggenie.png similarity index 100% rename from source/ngc/png/Option_ggenie.png rename to source/gx/png/Option_ggenie.png diff --git a/source/ngc/png/Option_sound.c b/source/gx/png/Option_sound.c similarity index 100% rename from source/ngc/png/Option_sound.c rename to source/gx/png/Option_sound.c diff --git a/source/ngc/png/Option_sound.h b/source/gx/png/Option_sound.h similarity index 100% rename from source/ngc/png/Option_sound.h rename to source/gx/png/Option_sound.h diff --git a/source/ngc/png/Option_sound.png b/source/gx/png/Option_sound.png similarity index 100% rename from source/ngc/png/Option_sound.png rename to source/gx/png/Option_sound.png diff --git a/source/ngc/png/Option_system.c b/source/gx/png/Option_system.c similarity index 100% rename from source/ngc/png/Option_system.c rename to source/gx/png/Option_system.c diff --git a/source/ngc/png/Option_system.h b/source/gx/png/Option_system.h similarity index 100% rename from source/ngc/png/Option_system.h rename to source/gx/png/Option_system.h diff --git a/source/ngc/png/Option_system.png b/source/gx/png/Option_system.png similarity index 100% rename from source/ngc/png/Option_system.png rename to source/gx/png/Option_system.png diff --git a/source/ngc/png/Option_video.c b/source/gx/png/Option_video.c similarity index 100% rename from source/ngc/png/Option_video.c rename to source/gx/png/Option_video.c diff --git a/source/ngc/png/Option_video.h b/source/gx/png/Option_video.h similarity index 100% rename from source/ngc/png/Option_video.h rename to source/gx/png/Option_video.h diff --git a/source/ngc/png/Option_video.png b/source/gx/png/Option_video.png similarity index 100% rename from source/ngc/png/Option_video.png rename to source/gx/png/Option_video.png diff --git a/source/ngc/png/Overlay_bar.c b/source/gx/png/Overlay_bar.c similarity index 100% rename from source/ngc/png/Overlay_bar.c rename to source/gx/png/Overlay_bar.c diff --git a/source/ngc/png/Overlay_bar.h b/source/gx/png/Overlay_bar.h similarity index 100% rename from source/ngc/png/Overlay_bar.h rename to source/gx/png/Overlay_bar.h diff --git a/source/ngc/png/Overlay_bar.png b/source/gx/png/Overlay_bar.png similarity index 100% rename from source/ngc/png/Overlay_bar.png rename to source/gx/png/Overlay_bar.png diff --git a/source/ngc/png/Overlay_item.c b/source/gx/png/Overlay_item.c similarity index 100% rename from source/ngc/png/Overlay_item.c rename to source/gx/png/Overlay_item.c diff --git a/source/ngc/png/Overlay_item.h b/source/gx/png/Overlay_item.h similarity index 100% rename from source/ngc/png/Overlay_item.h rename to source/gx/png/Overlay_item.h diff --git a/source/ngc/png/Overlay_item.png b/source/gx/png/Overlay_item.png similarity index 100% rename from source/ngc/png/Overlay_item.png rename to source/gx/png/Overlay_item.png diff --git a/source/ngc/png/Overlay_item_over.c b/source/gx/png/Overlay_item_over.c similarity index 100% rename from source/ngc/png/Overlay_item_over.c rename to source/gx/png/Overlay_item_over.c diff --git a/source/ngc/png/Overlay_item_over.h b/source/gx/png/Overlay_item_over.h similarity index 100% rename from source/ngc/png/Overlay_item_over.h rename to source/gx/png/Overlay_item_over.h diff --git a/source/ngc/png/Overlay_item_over.png b/source/gx/png/Overlay_item_over.png similarity index 100% rename from source/ngc/png/Overlay_item_over.png rename to source/gx/png/Overlay_item_over.png diff --git a/source/ngc/png/Progress_bar.c b/source/gx/png/Progress_bar.c similarity index 100% rename from source/ngc/png/Progress_bar.c rename to source/gx/png/Progress_bar.c diff --git a/source/ngc/png/Progress_bar.h b/source/gx/png/Progress_bar.h similarity index 100% rename from source/ngc/png/Progress_bar.h rename to source/gx/png/Progress_bar.h diff --git a/source/ngc/png/Progress_bar.png b/source/gx/png/Progress_bar.png similarity index 100% rename from source/ngc/png/Progress_bar.png rename to source/gx/png/Progress_bar.png diff --git a/source/gx/png/Snap_empty.c b/source/gx/png/Snap_empty.c new file mode 100644 index 0000000..2db0c11 --- /dev/null +++ b/source/gx/png/Snap_empty.c @@ -0,0 +1,71 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +const unsigned char Snap_empty[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x74, 0x08, 0x06, 0x00, 0x00, 0x00, 0x0b, 0x8b, 0x99, + 0x6e, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x12, 0x00, 0x00, 0x0b, + 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x31, + 0x34, 0x2f, 0x30, 0x39, 0x21, 0x4c, 0xc5, 0x30, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, + 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, + 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x03, 0x3e, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xd6, + 0x3f, 0x4b, 0x1b, 0x01, 0x00, 0x86, 0xf1, 0x37, 0xb9, 0x53, 0x14, 0x4e, 0x70, 0x10, 0x8d, 0x93, + 0x08, 0x0e, 0xc2, 0x29, 0x51, 0xb2, 0x89, 0x10, 0x87, 0x52, 0x07, 0x97, 0x0e, 0x0e, 0x0e, 0x6e, + 0x82, 0xdf, 0xc0, 0xa9, 0xa5, 0xa1, 0x2d, 0xc5, 0xd1, 0x5d, 0x10, 0x74, 0x77, 0x68, 0x37, 0x51, + 0xc1, 0x7f, 0xeb, 0x81, 0x46, 0x8d, 0x83, 0x08, 0x8a, 0x53, 0xb2, 0x8a, 0x62, 0x54, 0x82, 0x9d, + 0x0a, 0x1d, 0xbb, 0x94, 0x7b, 0xeb, 0x3d, 0xbf, 0x4f, 0xf0, 0x4e, 0x2f, 0x4f, 0x2e, 0x49, 0x12, + 0x49, 0xd2, 0xda, 0xda, 0x5a, 0xff, 0xc0, 0xc0, 0xc0, 0x97, 0x91, 0x91, 0x91, 0x62, 0x6f, 0x6f, + 0x6f, 0x20, 0xe0, 0x1f, 0x6b, 0x34, 0x1a, 0xad, 0xf3, 0xf3, 0xf3, 0x93, 0xeb, 0xeb, 0xeb, 0xca, + 0xe2, 0xe2, 0x62, 0x5d, 0x92, 0x72, 0x49, 0x92, 0x68, 0x7f, 0x7f, 0xff, 0x7d, 0xb1, 0x58, 0xfc, + 0xf6, 0xf0, 0xf0, 0x10, 0xec, 0xee, 0xee, 0xea, 0xf2, 0xf2, 0x52, 0x4f, 0x4f, 0x4f, 0x69, 0xef, + 0xc5, 0x1b, 0x95, 0xcf, 0xe7, 0x15, 0x45, 0x91, 0x86, 0x87, 0x87, 0x35, 0x31, 0x31, 0xa1, 0x28, + 0x8a, 0x5a, 0xd5, 0x6a, 0xf5, 0xd3, 0xd4, 0xd4, 0xd4, 0x4e, 0x6e, 0x79, 0x79, 0xb9, 0xbf, 0x54, + 0x2a, 0xfd, 0xa8, 0x56, 0xab, 0xc1, 0xf6, 0xf6, 0xb6, 0x9e, 0x9f, 0x9f, 0xd3, 0xde, 0x8b, 0x0c, + 0x69, 0x6f, 0x6f, 0xd7, 0xf4, 0xf4, 0xb4, 0x8a, 0xc5, 0x62, 0x2b, 0x49, 0x92, 0x0f, 0xa1, 0xa4, + 0xca, 0xd5, 0xd5, 0x55, 0xb0, 0xb4, 0xb4, 0x94, 0xf6, 0x36, 0x64, 0xd4, 0xce, 0xce, 0x8e, 0xd6, + 0xd7, 0xd7, 0x03, 0x49, 0x95, 0x7c, 0x1c, 0xc7, 0xe3, 0x1b, 0x1b, 0x1b, 0x69, 0x6f, 0x42, 0xc6, + 0x6d, 0x6e, 0x6e, 0x2a, 0x8e, 0xe3, 0xf1, 0xb0, 0x50, 0x28, 0x04, 0x5d, 0x5d, 0x5d, 0x2a, 0x97, + 0xcb, 0x69, 0x6f, 0x42, 0x86, 0x85, 0x61, 0xa8, 0x42, 0xa1, 0x10, 0xe4, 0x25, 0xe9, 0xe5, 0xe5, + 0x25, 0xed, 0x3d, 0xc8, 0xb8, 0xbb, 0xbb, 0x3b, 0x49, 0x52, 0x28, 0x49, 0x07, 0x07, 0x07, 0xa9, + 0x8e, 0x01, 0x7e, 0xcb, 0xa7, 0x3d, 0x00, 0xf8, 0x53, 0x28, 0x89, 0x7e, 0x84, 0x0d, 0x1e, 0x12, + 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, + 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, + 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, + 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, + 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, + 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, + 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, + 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, + 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, + 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, + 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, + 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, + 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, + 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, + 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, + 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, + 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, + 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, + 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, + 0x21, 0x61, 0x85, 0x86, 0x84, 0x15, 0x1e, 0x12, 0x56, 0x68, 0x48, 0x58, 0xe1, 0x21, 0x61, 0x85, + 0x86, 0x84, 0x95, 0xbc, 0x24, 0x75, 0x74, 0x74, 0xa4, 0xbd, 0x03, 0x19, 0x17, 0x45, 0x91, 0x24, + 0x29, 0xac, 0xd7, 0xeb, 0xad, 0xc7, 0xc7, 0xc7, 0xe0, 0xf0, 0xf0, 0x30, 0xe5, 0x49, 0xc8, 0xb2, + 0x99, 0x99, 0x19, 0xd5, 0xeb, 0xf5, 0x56, 0xbe, 0x56, 0xab, 0x1d, 0xcf, 0xcd, 0xcd, 0xa5, 0xbd, + 0x07, 0x19, 0x37, 0x3f, 0x3f, 0xaf, 0x5a, 0xad, 0x76, 0x1c, 0x4a, 0xaa, 0x0c, 0x0d, 0x0d, 0xfd, + 0x5c, 0x59, 0x59, 0x09, 0xb7, 0xb6, 0xb6, 0xd4, 0x6c, 0x36, 0xd3, 0xde, 0x86, 0x0c, 0xe9, 0xec, + 0xec, 0xd4, 0xec, 0xec, 0xac, 0x7a, 0x7a, 0x7a, 0x5a, 0x37, 0x37, 0x37, 0x95, 0x5c, 0x92, 0x24, + 0xda, 0xdb, 0xdb, 0x7b, 0x37, 0x36, 0x36, 0xf6, 0xbd, 0xd9, 0x6c, 0x06, 0x47, 0x47, 0x47, 0xba, + 0xb8, 0xb8, 0xd0, 0xfd, 0xfd, 0xbd, 0x5e, 0x5f, 0x5f, 0xd3, 0xde, 0x8b, 0x37, 0xaa, 0xbb, 0xbb, + 0x5b, 0x71, 0x1c, 0x6b, 0x72, 0x72, 0x52, 0x6d, 0x6d, 0x6d, 0xad, 0xd3, 0xd3, 0xd3, 0x8f, 0xe5, + 0x72, 0x79, 0x37, 0x97, 0x24, 0x89, 0x24, 0x69, 0x75, 0x75, 0xb5, 0x77, 0x70, 0x70, 0xf0, 0xeb, + 0xe8, 0xe8, 0xe8, 0x78, 0x5f, 0x5f, 0x5f, 0x90, 0xf2, 0x5e, 0xfc, 0xa5, 0xff, 0xf5, 0x34, 0x72, + 0xb9, 0x9c, 0x1a, 0x8d, 0x46, 0xeb, 0xec, 0xec, 0xec, 0xe4, 0xf6, 0xf6, 0xf6, 0xf3, 0xc2, 0xc2, + 0x42, 0xa3, 0x54, 0x2a, 0xe9, 0x17, 0xaf, 0x26, 0xf3, 0x04, 0xe9, 0x29, 0x16, 0xb3, 0x00, 0x00, + 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +const int Snap_empty_size = sizeof(Snap_empty); diff --git a/source/ngc/png/Snap_empty.h b/source/gx/png/Snap_empty.h similarity index 100% rename from source/ngc/png/Snap_empty.h rename to source/gx/png/Snap_empty.h diff --git a/source/ngc/png/Snap_empty.png b/source/gx/png/Snap_empty.png similarity index 100% rename from source/ngc/png/Snap_empty.png rename to source/gx/png/Snap_empty.png diff --git a/source/gx/png/Snap_frame.c b/source/gx/png/Snap_frame.c new file mode 100644 index 0000000..b6ca874 --- /dev/null +++ b/source/gx/png/Snap_frame.c @@ -0,0 +1,1402 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +const unsigned char Snap_frame[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x94, 0x08, 0x06, 0x00, 0x00, 0x00, 0x90, 0xa2, 0xc5, + 0xb8, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x12, 0x00, 0x00, 0x0b, + 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x31, + 0x34, 0x2f, 0x30, 0x39, 0x21, 0x4c, 0xc5, 0x30, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, + 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, + 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x20, 0x00, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xec, 0x9d, + 0x77, 0xbc, 0x65, 0x55, 0x79, 0xf7, 0xbf, 0xcf, 0x5a, 0xbb, 0x9c, 0x73, 0xcb, 0xcc, 0x9d, 0xb9, + 0xd3, 0x19, 0x86, 0x26, 0xbd, 0x23, 0x08, 0x88, 0x8a, 0x82, 0x8d, 0xa0, 0x24, 0x6a, 0x8c, 0x0d, + 0xe3, 0x9b, 0x22, 0x31, 0x1a, 0x4d, 0x62, 0x89, 0x79, 0xa3, 0x46, 0xa3, 0xc4, 0xf8, 0x26, 0x26, + 0x26, 0x6a, 0xd4, 0xc4, 0x1a, 0x63, 0xa2, 0xd1, 0x04, 0x0b, 0x22, 0x82, 0x82, 0x48, 0x91, 0x0e, + 0x4a, 0xaf, 0x03, 0xc3, 0xf4, 0x76, 0xe7, 0xf6, 0x73, 0xce, 0xde, 0x6b, 0xad, 0xe7, 0xfd, 0x63, + 0xef, 0x73, 0xef, 0x39, 0xb7, 0x0c, 0x03, 0x62, 0x94, 0x61, 0xff, 0x3e, 0x1c, 0xe6, 0x94, 0xd5, + 0xf6, 0xbe, 0xeb, 0xd9, 0xcf, 0xb3, 0x9e, 0x2a, 0xaa, 0xca, 0x2f, 0x00, 0x03, 0x9f, 0xf9, 0xec, + 0x17, 0xf6, 0xcd, 0x7d, 0xa6, 0xea, 0x33, 0x1a, 0x93, 0x99, 0x2a, 0x88, 0xa8, 0x88, 0x18, 0x2b, + 0x34, 0xb7, 0x31, 0x2a, 0xfd, 0xe1, 0xc7, 0xd7, 0xde, 0x3a, 0xb2, 0x61, 0xed, 0xdd, 0xd9, 0x9a, + 0xc3, 0xf7, 0x4f, 0x1f, 0xb9, 0x7b, 0x44, 0xf2, 0x96, 0xe7, 0xb8, 0x63, 0x0e, 0xaf, 0x47, 0x71, + 0x6c, 0xb6, 0xef, 0xd8, 0xd8, 0x98, 0x98, 0x18, 0xca, 0xa3, 0x28, 0x31, 0x83, 0x83, 0x83, 0xf5, + 0x24, 0x8e, 0xcd, 0xae, 0xe1, 0xe1, 0xa6, 0x35, 0x56, 0x96, 0x2f, 0x5f, 0xba, 0x60, 0xc7, 0xce, + 0xa1, 0xf1, 0x7b, 0xee, 0xb9, 0x77, 0x08, 0x08, 0x49, 0x92, 0x44, 0x59, 0x96, 0x91, 0x24, 0x89, + 0xa4, 0x69, 0x2a, 0x00, 0xad, 0x56, 0x4b, 0x93, 0x24, 0x31, 0xd6, 0xda, 0x28, 0x8a, 0x22, 0x11, + 0x21, 0x5a, 0xbe, 0x74, 0xd9, 0xc0, 0x82, 0xfe, 0xfe, 0x05, 0x21, 0x04, 0xcd, 0xf3, 0xdc, 0x03, + 0xc4, 0x71, 0x6c, 0xe3, 0x38, 0xb6, 0x00, 0xaa, 0xaa, 0x22, 0x22, 0x26, 0xb2, 0x51, 0x08, 0xb9, + 0x15, 0x55, 0x13, 0x45, 0x51, 0x1c, 0x47, 0x51, 0x22, 0x22, 0x32, 0xeb, 0x2a, 0x05, 0x9c, 0x0f, + 0xb4, 0x5a, 0x1e, 0xc5, 0xcf, 0x7b, 0x33, 0x54, 0x51, 0x44, 0x88, 0xa3, 0x74, 0x3f, 0xc4, 0x3c, + 0x5b, 0x8d, 0x2c, 0x43, 0x09, 0x80, 0x8a, 0x48, 0x5d, 0x8c, 0x0c, 0x0a, 0x52, 0x07, 0x8a, 0x3f, + 0x86, 0x08, 0xb8, 0x26, 0x8d, 0x96, 0x23, 0x77, 0xae, 0xf8, 0x3c, 0x0f, 0x44, 0x20, 0xcf, 0x1d, + 0xde, 0x39, 0xa4, 0xec, 0x2f, 0x22, 0x03, 0x08, 0xf5, 0xd9, 0x0b, 0x81, 0x56, 0xab, 0xf9, 0xa8, + 0x7f, 0x3c, 0x11, 0xc1, 0x7b, 0x4f, 0x2b, 0x6f, 0xe0, 0x72, 0xf7, 0xe8, 0xed, 0x01, 0xa7, 0x82, + 0xcb, 0x3d, 0xf2, 0x68, 0xfb, 0x49, 0x84, 0x2c, 0xf7, 0x68, 0x9e, 0xed, 0xf6, 0xba, 0x3a, 0x96, + 0x4c, 0xce, 0xa3, 0xb7, 0x23, 0x78, 0x70, 0x19, 0x7b, 0xd2, 0x54, 0x81, 0xfc, 0xb1, 0x6c, 0xfb, + 0x1c, 0x50, 0x72, 0x60, 0x13, 0x70, 0x65, 0x6e, 0xc2, 0x77, 0xb1, 0xd1, 0x4f, 0x9f, 0xb6, 0x6a, + 0x41, 0xff, 0xe2, 0x81, 0xc5, 0x47, 0xc5, 0x71, 0x7d, 0x79, 0xee, 0xb4, 0xe9, 0xbc, 0x8e, 0x67, + 0xad, 0x89, 0xf5, 0x77, 0xdf, 0x7d, 0xcd, 0xb5, 0x9b, 0xd7, 0xed, 0x1c, 0x7f, 0x0c, 0x33, 0xec, + 0x31, 0xe4, 0x89, 0x26, 0xd8, 0xe1, 0xe1, 0x89, 0x05, 0xbf, 0xfb, 0xa6, 0x3f, 0xf8, 0x8f, 0x7b, + 0xef, 0x5b, 0x7b, 0x52, 0xe6, 0x43, 0xae, 0x51, 0x20, 0xe4, 0x01, 0x28, 0x6e, 0x94, 0x02, 0xb1, + 0xf3, 0x48, 0x5c, 0x23, 0x6b, 0x35, 0x1a, 0x59, 0xab, 0xd9, 0x22, 0x32, 0xb1, 0x78, 0xdb, 0x03, + 0x62, 0xca, 0x61, 0x54, 0xd5, 0x67, 0x10, 0x72, 0x8a, 0x3f, 0x41, 0x0a, 0x58, 0xa0, 0x09, 0x18, + 0xa0, 0x17, 0x68, 0x00, 0xdb, 0x01, 0x0f, 0xc4, 0xe5, 0xf7, 0x33, 0x61, 0x81, 0xa4, 0x1c, 0x23, + 0x06, 0xfa, 0xcb, 0xcf, 0xbf, 0x2c, 0x24, 0x14, 0xd7, 0x32, 0xd7, 0x5a, 0x2b, 0xfc, 0xea, 0xc3, + 0x67, 0xd0, 0x70, 0x22, 0xa3, 0x40, 0x23, 0x0e, 0x6a, 0x13, 0xa4, 0x37, 0xe0, 0x6b, 0x28, 0x0a, + 0x78, 0x11, 0xdb, 0x84, 0xe8, 0x36, 0xef, 0xb3, 0x5b, 0x96, 0x2d, 0x1b, 0xfc, 0xc6, 0xed, 0x37, + 0x5f, 0x73, 0xeb, 0x13, 0xb9, 0x80, 0x27, 0x9c, 0x60, 0xcf, 0x7e, 0xf9, 0x6b, 0xff, 0xe6, 0x86, + 0x9b, 0x6e, 0xfa, 0xf3, 0x96, 0x0f, 0xe4, 0x18, 0x90, 0x08, 0x91, 0x62, 0x8e, 0x24, 0x2a, 0x1e, + 0xaa, 0x46, 0x0d, 0xe4, 0x19, 0x1a, 0x5b, 0x22, 0x31, 0xc4, 0x41, 0x51, 0x99, 0xb9, 0x8e, 0x3d, + 0x78, 0x54, 0xee, 0xcd, 0x50, 0xca, 0x3d, 0xf0, 0xbf, 0x0f, 0x11, 0x41, 0x55, 0x99, 0x4b, 0xa8, + 0xf8, 0x65, 0x60, 0x8f, 0xee, 0x82, 0x76, 0x33, 0xec, 0xc7, 0xba, 0xaf, 0x1f, 0xfd, 0x5a, 0x05, + 0x15, 0x68, 0xa2, 0xc5, 0xbd, 0x51, 0xe8, 0xab, 0x2d, 0x22, 0x8a, 0x12, 0x54, 0x3a, 0xa5, 0x16, + 0x03, 0x08, 0x21, 0x38, 0x90, 0xfc, 0xa1, 0x7d, 0x96, 0x2d, 0x3b, 0xf7, 0xda, 0xcb, 0x2f, 0xf9, + 0xc9, 0x63, 0x5a, 0xcc, 0xee, 0x56, 0xf1, 0x04, 0x11, 0xac, 0xfc, 0xc3, 0x27, 0x3e, 0x77, 0xfc, + 0x95, 0x57, 0x5c, 0xf3, 0xa6, 0x5b, 0x6e, 0xbb, 0xf9, 0xff, 0x78, 0x27, 0x71, 0xd4, 0xdb, 0x8f, + 0x44, 0x06, 0xc2, 0x74, 0x23, 0x6b, 0x2c, 0x71, 0x64, 0x11, 0x93, 0x31, 0xb1, 0x6b, 0x98, 0x56, + 0xcb, 0xa9, 0xb1, 0x7a, 0x9d, 0x20, 0xdb, 0x98, 0xc9, 0x79, 0xf6, 0x70, 0xaf, 0x3c, 0xb6, 0x2d, + 0x25, 0x8f, 0x7b, 0x5c, 0x55, 0x9d, 0x54, 0xd5, 0x96, 0x88, 0xc4, 0x22, 0xd2, 0xdb, 0xd5, 0x64, + 0x0f, 0x37, 0xf6, 0x63, 0x59, 0xab, 0x08, 0x20, 0x66, 0x8f, 0xfb, 0x3c, 0x16, 0xe2, 0xda, 0x5d, + 0xdb, 0x10, 0x42, 0x1e, 0x82, 0xe6, 0xc6, 0x48, 0x14, 0x42, 0x68, 0xa9, 0x16, 0x8f, 0x8e, 0xdd, + 0x8a, 0xe5, 0x7b, 0x3c, 0x73, 0x7b, 0xfe, 0x3d, 0x6e, 0xb9, 0x47, 0xe3, 0x6b, 0xd9, 0x46, 0x51, + 0x0d, 0x41, 0x03, 0x40, 0x1c, 0xc7, 0xb1, 0x31, 0x32, 0x5b, 0x92, 0x29, 0x1b, 0x17, 0xf7, 0x40, + 0x0a, 0xca, 0x16, 0x42, 0x96, 0xe5, 0xe3, 0xce, 0xb9, 0x51, 0x60, 0x12, 0x90, 0xf2, 0x6f, 0xdc, + 0x2b, 0x42, 0xaa, 0xaa, 0x82, 0x46, 0xaa, 0xb1, 0x10, 0x11, 0x22, 0x54, 0x9e, 0x9d, 0xd6, 0xfa, + 0x56, 0x0c, 0x0c, 0xae, 0x20, 0x6f, 0x09, 0x36, 0x0a, 0x5d, 0x53, 0x18, 0x11, 0x9a, 0x79, 0x93, + 0xa1, 0x91, 0xad, 0xe0, 0xc3, 0xdd, 0x4b, 0x17, 0x0d, 0xfc, 0x51, 0xec, 0x64, 0x6d, 0x7f, 0xdd, + 0x1c, 0x3c, 0xb8, 0x6c, 0xb5, 0x3d, 0xe7, 0x65, 0x67, 0x5c, 0xff, 0xfa, 0x73, 0xdf, 0xb0, 0x6b, + 0x4f, 0xef, 0x42, 0xd7, 0x1d, 0x79, 0xac, 0x04, 0x3b, 0x32, 0xea, 0x96, 0x7d, 0xf4, 0x1f, 0x3e, + 0x72, 0xcc, 0x15, 0xd7, 0xdf, 0xf2, 0xbc, 0xa1, 0xa1, 0x6d, 0xcb, 0x47, 0x27, 0x47, 0x27, 0xc5, + 0xb1, 0xba, 0xa7, 0xde, 0xf7, 0xec, 0xcc, 0xb5, 0x96, 0x6c, 0xd9, 0xba, 0x93, 0x15, 0x83, 0xcb, + 0x58, 0xb3, 0x6a, 0x0d, 0x49, 0x9c, 0x62, 0x6d, 0x04, 0x40, 0x2b, 0xcf, 0x30, 0x62, 0x41, 0xc1, + 0x46, 0x9e, 0x9d, 0x23, 0xa3, 0x0c, 0xed, 0x1a, 0xbe, 0x6f, 0xe7, 0xf8, 0xd6, 0x17, 0x4c, 0xb4, + 0x26, 0x1a, 0x33, 0xe7, 0x71, 0x5b, 0x36, 0x6f, 0x7f, 0x3c, 0x17, 0x54, 0xa1, 0xc2, 0xe3, 0x45, + 0xb4, 0x62, 0xe5, 0xd2, 0x3d, 0x69, 0x77, 0xc4, 0xea, 0xc3, 0xde, 0xd8, 0xdb, 0xb7, 0xf0, 0xfc, + 0x45, 0x8b, 0x06, 0x45, 0xd4, 0x62, 0x43, 0x37, 0xc1, 0x8a, 0x08, 0x8a, 0xf2, 0xf0, 0x96, 0x0d, + 0xac, 0x5d, 0xfb, 0x20, 0x0b, 0xfa, 0xfb, 0x46, 0x84, 0xb0, 0x95, 0xd0, 0xd8, 0x2f, 0x4a, 0x7a, + 0x52, 0x11, 0xbd, 0x09, 0x23, 0x17, 0xae, 0xd8, 0x67, 0xd5, 0x0d, 0x6f, 0xf9, 0xfd, 0xd7, 0x5d, + 0xf7, 0xfa, 0x57, 0xbf, 0x6e, 0x78, 0x8f, 0xd7, 0xf8, 0x18, 0xaf, 0x89, 0x33, 0xcf, 0x39, 0xe7, + 0x3d, 0x5b, 0xb7, 0x6f, 0x7c, 0xd3, 0xe4, 0x44, 0x96, 0x20, 0x66, 0xea, 0x69, 0x3d, 0x3c, 0xb6, + 0x93, 0x86, 0x6b, 0x62, 0x04, 0x7a, 0xfb, 0x13, 0xd6, 0xac, 0xde, 0x07, 0x82, 0x81, 0xe0, 0x51, + 0x84, 0xf1, 0xc9, 0x31, 0x46, 0x27, 0x47, 0x31, 0x46, 0x08, 0x41, 0x08, 0x78, 0x4c, 0xc4, 0xf8, + 0x44, 0x6b, 0xe2, 0x84, 0x39, 0xa6, 0xb9, 0x87, 0xe2, 0x7c, 0x5a, 0xa1, 0xc2, 0xff, 0x26, 0x06, + 0x81, 0xc3, 0x1e, 0xad, 0xd1, 0xe6, 0xa1, 0xcd, 0xe3, 0x87, 0xd6, 0xfb, 0x86, 0x6a, 0x26, 0x19, + 0xb4, 0x11, 0xd4, 0x93, 0x1a, 0xc1, 0x29, 0xaa, 0xa5, 0x16, 0x46, 0x20, 0x8a, 0x22, 0x26, 0x5a, + 0x03, 0x6c, 0x4c, 0x23, 0x86, 0x47, 0x76, 0x2d, 0x1c, 0x5c, 0xbc, 0x60, 0x61, 0xad, 0x77, 0x00, + 0x9f, 0x5b, 0x5a, 0x79, 0x7e, 0xa2, 0xaa, 0x3f, 0xf1, 0xa1, 0x75, 0x1b, 0xb3, 0x0f, 0x7d, 0xf4, + 0x33, 0xf7, 0x7f, 0xf9, 0xeb, 0x17, 0x7e, 0xea, 0x07, 0x17, 0x7c, 0xed, 0xb3, 0x14, 0xea, 0xad, + 0xdd, 0x62, 0x4f, 0x09, 0x36, 0x3a, 0xf9, 0x85, 0x67, 0xbc, 0xe5, 0xbe, 0x07, 0x1f, 0x3e, 0x26, + 0x9b, 0xf4, 0x67, 0xd5, 0xd2, 0xfe, 0xa4, 0x37, 0x5d, 0x40, 0x2d, 0xad, 0x93, 0xa6, 0x29, 0xb5, + 0x5a, 0xca, 0xd6, 0x1d, 0x9b, 0xf1, 0x43, 0x4d, 0x14, 0x21, 0xa8, 0xe0, 0x4d, 0x44, 0x2c, 0xa0, + 0xc1, 0x23, 0xa2, 0xe4, 0xae, 0xc5, 0xc8, 0xf8, 0x08, 0x93, 0xcd, 0x06, 0x08, 0x34, 0x5c, 0x46, + 0x70, 0xe1, 0x60, 0x2b, 0xf6, 0x25, 0x5e, 0x7d, 0xa7, 0x2a, 0x72, 0x03, 0xb0, 0x6d, 0x0f, 0xd7, + 0x55, 0xa1, 0xc2, 0x13, 0x89, 0xc5, 0xc0, 0x51, 0xc0, 0xea, 0xdd, 0x35, 0x6a, 0x64, 0xcd, 0x66, + 0x1e, 0x7c, 0x30, 0x69, 0x02, 0xa6, 0xd8, 0xba, 0x62, 0x67, 0x88, 0xee, 0x21, 0x50, 0x4b, 0x22, + 0xd2, 0x9a, 0x90, 0xe7, 0x81, 0xc5, 0x8b, 0x97, 0xb0, 0xcf, 0xf2, 0xfd, 0x99, 0x98, 0x18, 0x63, + 0x74, 0x7c, 0x8c, 0x56, 0x96, 0xe3, 0xf2, 0x3c, 0x19, 0x1b, 0x6e, 0x1c, 0x79, 0xfb, 0xae, 0xfb, + 0x3e, 0x79, 0xe2, 0x69, 0x2f, 0x3c, 0xeb, 0xb4, 0xd3, 0x4f, 0xfb, 0x8b, 0x7f, 0xfa, 0xf0, 0xfb, + 0x6f, 0xdf, 0xdd, 0xdc, 0x7b, 0x44, 0xb0, 0x6b, 0x0e, 0x3f, 0xe2, 0xb5, 0xbb, 0x26, 0x26, 0xfe, + 0x31, 0xa8, 0xb2, 0xb0, 0xbf, 0x9f, 0x81, 0x9e, 0x41, 0x16, 0x2e, 0x1c, 0x64, 0x61, 0x5f, 0x2f, + 0x91, 0x24, 0x20, 0xb0, 0x6b, 0x78, 0x2b, 0x82, 0xc3, 0x4b, 0x20, 0x73, 0xa0, 0x3e, 0x80, 0x11, + 0xac, 0x2d, 0x14, 0x18, 0x8d, 0x2c, 0x63, 0x74, 0x72, 0x9c, 0xb1, 0xc9, 0x71, 0x7c, 0xf0, 0x38, + 0xef, 0x11, 0xa4, 0x4f, 0xd1, 0xa7, 0xc3, 0x94, 0x4d, 0xa4, 0x41, 0xa1, 0xcd, 0x1d, 0xd8, 0x93, + 0x75, 0x55, 0xa8, 0xf0, 0x04, 0x63, 0x00, 0x38, 0x00, 0x38, 0x04, 0xe6, 0x30, 0x8b, 0x15, 0x68, + 0x44, 0x51, 0x4c, 0x1e, 0x74, 0x10, 0xe7, 0xf1, 0xc6, 0xe3, 0x54, 0xf0, 0xaa, 0x04, 0x05, 0x2b, + 0x82, 0x01, 0xd4, 0x28, 0xb9, 0x53, 0x50, 0x83, 0x48, 0x4a, 0x6f, 0xbd, 0x8f, 0x95, 0x4b, 0x16, + 0xd3, 0xe8, 0xe9, 0x61, 0xa0, 0x6f, 0x21, 0x13, 0x8d, 0x8c, 0xa1, 0xb1, 0x5d, 0xa5, 0x99, 0xab, + 0x29, 0x6b, 0x37, 0xad, 0x7b, 0xc9, 0xd6, 0x6f, 0x0f, 0xad, 0xfa, 0xa7, 0x0f, 0xbf, 0xff, 0x44, + 0x76, 0xa3, 0x67, 0xdb, 0x2d, 0xc1, 0xfe, 0xf1, 0x3b, 0xde, 0xbf, 0xe6, 0xbf, 0x2f, 0xf8, 0xef, + 0x57, 0x8d, 0x36, 0x77, 0xbd, 0x36, 0xb1, 0x29, 0x39, 0x81, 0x05, 0x3d, 0x4b, 0x18, 0x5c, 0x30, + 0xc8, 0x82, 0xfe, 0x01, 0xea, 0x69, 0x0c, 0xa1, 0xd0, 0x65, 0x9a, 0x38, 0xc1, 0xa9, 0x27, 0xa7, + 0x58, 0xa4, 0xc9, 0x1d, 0xde, 0x18, 0x9a, 0x79, 0x00, 0x81, 0x2c, 0xcb, 0x69, 0xb4, 0x9a, 0x34, + 0x5a, 0x4d, 0x7c, 0x70, 0xf8, 0x10, 0x10, 0x04, 0x45, 0x97, 0x77, 0x2c, 0xb0, 0x01, 0x8c, 0x01, + 0x0b, 0x1f, 0xe3, 0x8d, 0xae, 0x50, 0xe1, 0x89, 0xc0, 0x42, 0x60, 0x65, 0xf9, 0x9a, 0x97, 0x60, + 0xad, 0x91, 0xde, 0xc9, 0xe6, 0xa8, 0x99, 0x9c, 0x98, 0x04, 0x14, 0x17, 0x75, 0xdb, 0xe0, 0xad, + 0x15, 0x8c, 0x31, 0x64, 0xb9, 0xc3, 0x46, 0x42, 0x3d, 0x11, 0x5a, 0x2d, 0x47, 0x96, 0x39, 0x7a, + 0xd2, 0x98, 0xe0, 0x94, 0x10, 0x3c, 0x4b, 0xec, 0x42, 0x62, 0x6b, 0x19, 0x19, 0x1f, 0x26, 0xd7, + 0x9c, 0xb1, 0xa1, 0xd1, 0xa3, 0x56, 0x1f, 0x7e, 0xec, 0x67, 0x7e, 0xfb, 0xdc, 0xd7, 0x7c, 0xf4, + 0xc3, 0xef, 0xf9, 0xf3, 0xfb, 0xe7, 0x9a, 0x7c, 0xb7, 0xf6, 0xc0, 0xcb, 0x7e, 0x72, 0xf9, 0xbb, + 0xc6, 0xdc, 0xf8, 0xdf, 0x9a, 0x24, 0x39, 0x6e, 0xd2, 0xb7, 0x20, 0x18, 0xe2, 0xc8, 0x10, 0x25, + 0x16, 0x45, 0xc9, 0x5a, 0x81, 0x5c, 0x41, 0xad, 0xe0, 0x43, 0xc0, 0x13, 0x63, 0x34, 0x26, 0x77, + 0x4d, 0x26, 0xf2, 0x26, 0xcd, 0x56, 0x8b, 0x66, 0xde, 0xa2, 0x95, 0x65, 0x4c, 0xb4, 0x9a, 0x34, + 0xb3, 0x16, 0x99, 0xcb, 0xc8, 0x9d, 0xc3, 0x7b, 0x8f, 0xf7, 0x4e, 0x28, 0x6c, 0xa3, 0xed, 0xd7, + 0x42, 0x0a, 0xb1, 0x64, 0xc1, 0x63, 0xb9, 0xcb, 0x15, 0x2a, 0x3c, 0x41, 0x58, 0x40, 0xb1, 0xff, + 0x16, 0xd2, 0xbd, 0x2f, 0xbb, 0xf6, 0xa8, 0x0b, 0x3e, 0xcd, 0x5c, 0x4e, 0xee, 0x95, 0x80, 0xa7, + 0x91, 0x37, 0x69, 0xe4, 0x4d, 0x26, 0xf3, 0x06, 0xad, 0x3c, 0x27, 0xcf, 0x14, 0x97, 0x07, 0x9c, + 0xcb, 0x09, 0xb9, 0x25, 0x88, 0x25, 0xcb, 0x5b, 0x64, 0x99, 0xa7, 0x99, 0x79, 0x9a, 0x2e, 0xa7, + 0x99, 0x65, 0x38, 0xef, 0xf1, 0xde, 0xe3, 0x32, 0x8f, 0xf5, 0x11, 0xfd, 0xbd, 0x0b, 0x93, 0xc6, + 0x78, 0xeb, 0xbc, 0x6f, 0x7c, 0xe3, 0x9b, 0x6f, 0x98, 0x6f, 0x81, 0xf3, 0x72, 0xd8, 0x13, 0x4e, + 0x3d, 0xe5, 0xe4, 0x0d, 0x5b, 0xb7, 0xfd, 0xbe, 0x27, 0xa0, 0xce, 0xa3, 0x58, 0x1a, 0x0e, 0x46, + 0x27, 0x1a, 0xf4, 0x26, 0x39, 0x71, 0xec, 0xc1, 0x0a, 0xe4, 0x16, 0xe7, 0x02, 0xda, 0xca, 0x90, + 0x96, 0x20, 0xb5, 0x16, 0xcd, 0x6c, 0x8c, 0xf1, 0xf1, 0x49, 0x62, 0x63, 0x08, 0xaa, 0x08, 0x86, + 0x66, 0xb3, 0x45, 0x96, 0xe7, 0x78, 0xef, 0x51, 0xd5, 0x29, 0x1b, 0xa3, 0xaa, 0x76, 0x3a, 0x32, + 0x48, 0x79, 0xd3, 0xfa, 0x7f, 0xce, 0x1b, 0x5f, 0xa1, 0xc2, 0xe3, 0x41, 0x3f, 0xc5, 0xfe, 0xab, + 0x31, 0xbf, 0x83, 0x8d, 0x38, 0xef, 0x34, 0xcb, 0x9b, 0xf8, 0x90, 0xe3, 0x7d, 0x98, 0xda, 0xcb, + 0x22, 0x02, 0xea, 0xf1, 0x46, 0xe8, 0x91, 0x18, 0xc9, 0x3d, 0x1a, 0x84, 0x20, 0x42, 0xcb, 0x35, + 0x69, 0xe6, 0x19, 0x59, 0x26, 0xa8, 0x0a, 0x59, 0xf0, 0x6c, 0xdf, 0xb9, 0x03, 0xef, 0x5c, 0x29, + 0x71, 0xe6, 0x64, 0x99, 0x27, 0xa9, 0xa5, 0x0c, 0x0f, 0x0f, 0xbf, 0xe3, 0x8c, 0xb3, 0x7f, 0x63, + 0xd3, 0xe5, 0x17, 0x7d, 0xeb, 0x53, 0x33, 0x27, 0x9f, 0x8b, 0x60, 0xcd, 0xa5, 0x57, 0xde, 0xda, + 0xb7, 0x61, 0xdb, 0xd8, 0x07, 0x5c, 0x33, 0xaf, 0x61, 0x02, 0x68, 0x61, 0x5b, 0x22, 0x72, 0x8c, + 0x8c, 0xee, 0xa0, 0xd6, 0x53, 0x27, 0x0a, 0x96, 0x28, 0xc4, 0xa8, 0xa6, 0x20, 0xd0, 0xf4, 0xa5, + 0x2d, 0x2c, 0x4b, 0x08, 0x99, 0x61, 0x78, 0x62, 0x12, 0xd5, 0x18, 0x5b, 0x2a, 0xbe, 0xc6, 0x9a, + 0xe3, 0xe4, 0x2e, 0x27, 0x68, 0xdb, 0xdf, 0x69, 0x7a, 0xbe, 0x8e, 0xf7, 0x31, 0xd0, 0x43, 0xe1, + 0xc9, 0x54, 0xa1, 0xc2, 0xff, 0x36, 0x7a, 0x29, 0xf6, 0xdf, 0x7c, 0x9e, 0x73, 0x00, 0xb1, 0x0f, + 0x3e, 0x34, 0xf2, 0x9c, 0x5d, 0xa3, 0x3b, 0x0b, 0x62, 0x9d, 0x32, 0x8d, 0x0a, 0x49, 0x9c, 0x22, + 0x46, 0x98, 0x6c, 0x59, 0x26, 0x5a, 0x13, 0x88, 0x2a, 0x71, 0x0e, 0xad, 0x46, 0xce, 0x48, 0x63, + 0x84, 0xfe, 0xfa, 0x02, 0x1a, 0x93, 0xe3, 0x8c, 0x8f, 0x8f, 0xe1, 0xf2, 0x9c, 0x46, 0x63, 0x12, + 0x14, 0x1c, 0x01, 0x49, 0x20, 0x21, 0x46, 0x09, 0xb5, 0xf5, 0x8f, 0x6c, 0xfb, 0xd8, 0x4b, 0x5e, + 0x71, 0xde, 0xcd, 0xdf, 0xfd, 0x9f, 0x7f, 0xbd, 0xbe, 0x73, 0xf2, 0x39, 0x09, 0xf6, 0x3d, 0xef, + 0xfb, 0xb3, 0x57, 0x8c, 0x35, 0xc6, 0x9f, 0x27, 0x28, 0x04, 0x5f, 0x7a, 0xbe, 0x38, 0x0c, 0x8a, + 0xf3, 0x0d, 0xc6, 0x26, 0x86, 0x49, 0xe2, 0x18, 0xeb, 0x2d, 0xc1, 0x80, 0xb5, 0x09, 0xae, 0x31, + 0x89, 0x6a, 0x86, 0x20, 0xb4, 0x9a, 0x0d, 0x36, 0x6c, 0xdd, 0x80, 0xa8, 0x10, 0x95, 0x17, 0x33, + 0xd6, 0x1a, 0xc1, 0x79, 0x87, 0x6a, 0x98, 0x39, 0x9f, 0x9d, 0xf1, 0xb9, 0x46, 0x45, 0xb0, 0x15, + 0x7e, 0x39, 0xe8, 0xa5, 0xd8, 0x7f, 0x96, 0xd9, 0xfb, 0x72, 0x0a, 0x21, 0x28, 0x8d, 0x56, 0xc6, + 0x8e, 0xa1, 0xcd, 0xb4, 0x82, 0x27, 0x34, 0x73, 0xda, 0x36, 0x1d, 0x63, 0xe2, 0xc2, 0xfd, 0x36, + 0x8a, 0x40, 0x15, 0x9f, 0xe5, 0x85, 0xe5, 0xc4, 0xe7, 0x0c, 0xef, 0xdc, 0x41, 0xb3, 0xa7, 0xc9, + 0xd8, 0xf8, 0x04, 0xad, 0x66, 0x8b, 0x3c, 0xcf, 0x08, 0xc1, 0xa3, 0x3e, 0x60, 0x8c, 0x01, 0x11, + 0x9a, 0xc1, 0x61, 0x4d, 0xcc, 0xc4, 0x58, 0x33, 0x71, 0xd9, 0xc4, 0x3b, 0x76, 0x35, 0x26, 0x5e, + 0xb7, 0xa8, 0xde, 0x3b, 0x65, 0xee, 0x99, 0x45, 0xb0, 0x7f, 0xf9, 0xc1, 0x8f, 0x1e, 0xb7, 0x7e, + 0xcb, 0xc6, 0xbf, 0x75, 0x3e, 0x4f, 0x23, 0x1b, 0x01, 0x29, 0x59, 0x16, 0x88, 0x22, 0x41, 0x44, + 0x69, 0x91, 0x33, 0x32, 0x32, 0x42, 0x96, 0xe5, 0xc4, 0x26, 0x26, 0x96, 0x04, 0xb1, 0x96, 0xdc, + 0x64, 0x98, 0x14, 0x4c, 0x2c, 0x64, 0x4c, 0xe0, 0x46, 0x9b, 0x88, 0x16, 0x06, 0x64, 0x01, 0x72, + 0x94, 0xf0, 0xe8, 0x4e, 0x66, 0x42, 0x21, 0x8a, 0xf4, 0x3c, 0xf6, 0x7b, 0x5d, 0xa1, 0xc2, 0xcf, + 0x8d, 0x1e, 0xa6, 0x7d, 0xcf, 0xe7, 0x83, 0x28, 0x6a, 0x82, 0xcb, 0x19, 0x1d, 0x9d, 0x20, 0x73, + 0x2d, 0xac, 0x14, 0x8a, 0xd5, 0x10, 0xc0, 0x95, 0x51, 0x05, 0xc6, 0x40, 0x9a, 0xd6, 0x30, 0xd6, + 0xa2, 0xaa, 0x84, 0x66, 0xce, 0xc6, 0x2d, 0x2d, 0xac, 0x31, 0xc4, 0x51, 0x44, 0x50, 0x8f, 0xf7, + 0x8a, 0x0f, 0x82, 0x77, 0x8e, 0x28, 0x36, 0xc4, 0xb1, 0xc1, 0x85, 0x9c, 0x48, 0xea, 0xe4, 0xc1, + 0xb3, 0x7e, 0xfb, 0xa6, 0x57, 0x7e, 0xe3, 0x7f, 0x2e, 0xfe, 0xc2, 0x79, 0xe7, 0xfe, 0xe6, 0xf7, + 0xdb, 0x93, 0xcf, 0x20, 0x58, 0xd7, 0xb7, 0xf6, 0xa1, 0x7b, 0x3f, 0x3e, 0x31, 0xde, 0x5c, 0x62, + 0xa4, 0xf0, 0x14, 0x4c, 0x6c, 0x4c, 0xe4, 0x05, 0x8b, 0x21, 0xd3, 0xc2, 0x86, 0xea, 0x05, 0xc6, + 0x9b, 0x13, 0x24, 0x62, 0x30, 0xbe, 0x94, 0xdf, 0x23, 0x83, 0x91, 0x88, 0x90, 0x05, 0x48, 0x7b, + 0xf1, 0xad, 0x06, 0x1a, 0x3c, 0x6a, 0x0c, 0x62, 0x14, 0x8d, 0xd8, 0x13, 0xa7, 0x50, 0x29, 0xd7, + 0x34, 0x9f, 0x86, 0xae, 0x42, 0x85, 0x5f, 0x24, 0xea, 0x14, 0xfb, 0x6f, 0xb7, 0x04, 0x0b, 0x2a, + 0xd8, 0x40, 0xd0, 0x0c, 0x4c, 0x0e, 0x49, 0xd1, 0x5c, 0x27, 0x5a, 0x98, 0xd2, 0x27, 0x5e, 0x43, + 0x3a, 0x75, 0xa6, 0x15, 0xc0, 0x07, 0xc8, 0xb2, 0x06, 0xc6, 0x18, 0xe2, 0xd8, 0x12, 0x91, 0x14, + 0x0a, 0xdb, 0xa0, 0x10, 0x09, 0x2e, 0x56, 0x1c, 0x45, 0x64, 0x96, 0x27, 0x10, 0xc7, 0x96, 0x91, + 0x9d, 0xa3, 0xfc, 0xf4, 0xd6, 0xdb, 0x6b, 0x9c, 0xfb, 0x9b, 0x53, 0x93, 0x77, 0x11, 0xec, 0x5d, + 0x77, 0xdd, 0xbd, 0x66, 0xfd, 0x86, 0x75, 0x47, 0xe6, 0xad, 0x0c, 0x93, 0xa4, 0xa8, 0x06, 0x54, + 0x0d, 0x71, 0xbc, 0x80, 0x40, 0x86, 0x0d, 0x19, 0x82, 0x21, 0xb8, 0x42, 0x8d, 0x9d, 0x69, 0x8e, + 0xe6, 0x85, 0x18, 0xdc, 0xd7, 0xd7, 0x87, 0x7a, 0x4b, 0x6f, 0xef, 0x20, 0x12, 0x09, 0xa3, 0x13, + 0xbb, 0x90, 0x04, 0x24, 0x8a, 0x70, 0x6a, 0x31, 0x7b, 0xe6, 0x01, 0x59, 0x3a, 0x78, 0x52, 0xdb, + 0xc3, 0x1b, 0x5c, 0xa1, 0xc2, 0x13, 0x89, 0x1a, 0xd3, 0x7b, 0x70, 0x3e, 0x48, 0x9b, 0xf1, 0xa8, + 0xcf, 0xc1, 0x14, 0xc4, 0x48, 0x0e, 0xaa, 0xb6, 0xed, 0xd4, 0x8c, 0x18, 0xc1, 0x7b, 0x47, 0x14, + 0x15, 0x92, 0xb5, 0x08, 0x88, 0xc4, 0xe4, 0xb9, 0x62, 0x0c, 0x60, 0xf3, 0xa9, 0xef, 0x51, 0x83, + 0xba, 0x52, 0x02, 0x8f, 0x84, 0x96, 0x3a, 0xfa, 0x24, 0x45, 0x80, 0x1b, 0xae, 0xbb, 0xb9, 0xcb, + 0x89, 0xa8, 0xeb, 0x60, 0x7d, 0xf5, 0xd5, 0xb7, 0xb2, 0x71, 0xf3, 0xce, 0x3c, 0x8a, 0x2c, 0x6a, + 0x1d, 0xd6, 0xc0, 0xd2, 0xc5, 0xfb, 0x70, 0xe8, 0xa1, 0x87, 0xb0, 0x6c, 0xd9, 0x12, 0x6c, 0x14, + 0x15, 0x87, 0x6c, 0x53, 0xf6, 0x74, 0x0e, 0x10, 0xd2, 0x5a, 0x44, 0xd2, 0xb7, 0x10, 0x93, 0xf6, + 0xb2, 0x62, 0xc9, 0x1a, 0x16, 0x2f, 0x1c, 0xc4, 0x21, 0x08, 0x31, 0xa6, 0x29, 0x44, 0x2d, 0xe9, + 0x0a, 0x02, 0xa8, 0x50, 0xe1, 0x49, 0x0d, 0x91, 0xc2, 0x2f, 0xde, 0x05, 0xd4, 0x7b, 0xb4, 0x01, + 0x9a, 0x03, 0x12, 0x03, 0x51, 0xe1, 0xf6, 0x84, 0x92, 0xe7, 0x59, 0xbb, 0x39, 0x21, 0x28, 0xde, + 0x17, 0x91, 0x07, 0x59, 0x06, 0x59, 0xab, 0x70, 0x65, 0x2c, 0x08, 0x3c, 0x40, 0xd6, 0x82, 0x2c, + 0x83, 0x56, 0x0b, 0xc9, 0x33, 0x82, 0x57, 0xbc, 0x0f, 0x24, 0x29, 0xef, 0xee, 0x9c, 0xba, 0x8b, + 0x60, 0xb7, 0x6d, 0xdd, 0xe5, 0x5a, 0x9e, 0x90, 0x23, 0xa8, 0x53, 0xac, 0xf6, 0x72, 0xea, 0x71, + 0xc7, 0xf2, 0x3b, 0xaf, 0x7e, 0x3e, 0x27, 0x1c, 0x75, 0x2c, 0xb5, 0x78, 0x31, 0xa0, 0xa8, 0x15, + 0xd4, 0xfb, 0x29, 0xed, 0x98, 0xb5, 0x09, 0x3d, 0xb5, 0x7e, 0x62, 0x53, 0x67, 0xd9, 0x8a, 0x15, + 0x2c, 0x59, 0xb2, 0x14, 0xd5, 0x98, 0x2c, 0x33, 0x10, 0x2c, 0xe2, 0x79, 0xca, 0x47, 0xcb, 0x55, + 0xd8, 0x8b, 0xa0, 0x10, 0x49, 0x8c, 0x4a, 0x0a, 0x3e, 0x43, 0xa4, 0x1d, 0xb6, 0x0d, 0xa8, 0x07, + 0x75, 0xa0, 0x01, 0x29, 0x83, 0x85, 0x54, 0xc1, 0x94, 0x5e, 0x7f, 0x58, 0x0f, 0xd6, 0xe1, 0x70, + 0xb8, 0xe0, 0xa7, 0x23, 0x97, 0x44, 0x8b, 0x57, 0x50, 0x08, 0x01, 0xa5, 0x89, 0x6a, 0x0b, 0x1f, + 0xc2, 0xd3, 0xe8, 0xa0, 0x9e, 0x2e, 0x82, 0x6d, 0x64, 0x0d, 0xef, 0x83, 0x07, 0x11, 0x54, 0xc1, + 0x46, 0x31, 0x2b, 0x56, 0xae, 0xe1, 0xb0, 0x83, 0x0f, 0x63, 0xe5, 0xf2, 0xa5, 0x53, 0xec, 0x7d, + 0xe6, 0x59, 0x54, 0x01, 0x6b, 0x62, 0x52, 0x49, 0xe8, 0xa9, 0x41, 0x8f, 0x35, 0x98, 0xa0, 0x58, + 0x40, 0xa5, 0x9c, 0xe5, 0x97, 0x13, 0xda, 0x59, 0xa1, 0xc2, 0x2f, 0x04, 0x41, 0x28, 0xb2, 0x6b, + 0x88, 0xe0, 0x13, 0x8b, 0x8f, 0x4b, 0x73, 0xa5, 0x58, 0x8a, 0xb3, 0x60, 0xc1, 0x65, 0x67, 0x42, + 0xe2, 0x1c, 0x49, 0x72, 0x24, 0xcd, 0x10, 0xeb, 0x4a, 0x02, 0x99, 0x1f, 0x4e, 0x25, 0xeb, 0xfc, + 0xdc, 0x45, 0xb0, 0x99, 0x6b, 0x80, 0x7a, 0x51, 0x55, 0x8c, 0x58, 0xea, 0x49, 0x5c, 0x74, 0x32, + 0x86, 0x86, 0xf3, 0x04, 0xa4, 0x50, 0x7f, 0x75, 0x2e, 0x44, 0x81, 0x48, 0xc9, 0x5b, 0x19, 0x59, + 0x50, 0xb2, 0x3c, 0xe0, 0x43, 0x20, 0x88, 0x10, 0x28, 0x1e, 0x1a, 0x15, 0x2a, 0xec, 0x4d, 0x28, + 0x48, 0x53, 0x11, 0x1c, 0xea, 0x2c, 0x01, 0x41, 0x23, 0x2d, 0x68, 0x4f, 0xdb, 0x2d, 0xe6, 0xeb, + 0x2c, 0xd3, 0xaf, 0x3d, 0x10, 0x3b, 0x35, 0x74, 0xbb, 0x3d, 0x76, 0x29, 0x9d, 0x44, 0x7d, 0x19, + 0x31, 0x2c, 0x04, 0x0d, 0x78, 0xef, 0xb1, 0xd6, 0x52, 0xc7, 0x50, 0xb7, 0x42, 0x64, 0x42, 0x69, + 0x47, 0x9d, 0x39, 0x91, 0x10, 0xd7, 0x2c, 0x62, 0x15, 0x0d, 0x65, 0xa6, 0x04, 0x85, 0x60, 0x14, + 0x6f, 0xcb, 0xf5, 0x55, 0x49, 0x51, 0x2a, 0xec, 0x25, 0x90, 0x32, 0x0f, 0x42, 0x6e, 0x2d, 0xde, + 0x14, 0x4c, 0x0d, 0x05, 0x9f, 0x28, 0x36, 0x13, 0x64, 0x2e, 0x12, 0x79, 0x5c, 0x50, 0x34, 0x6f, + 0x75, 0x7d, 0xd3, 0x45, 0x46, 0x39, 0x8a, 0x2d, 0xb3, 0x77, 0x59, 0x32, 0x2c, 0x4a, 0xab, 0xd5, + 0x62, 0xa8, 0x31, 0x8c, 0x11, 0x83, 0x35, 0x76, 0x2a, 0x2f, 0x53, 0xc7, 0x90, 0xc4, 0x44, 0x24, + 0x91, 0x25, 0xb5, 0x42, 0x14, 0x97, 0x79, 0x9b, 0x10, 0x62, 0x23, 0x68, 0x0c, 0x26, 0x02, 0x53, + 0x9d, 0x61, 0x2b, 0xec, 0x45, 0x10, 0x01, 0xb5, 0x16, 0x2b, 0x1d, 0x12, 0xa7, 0x80, 0x4f, 0x15, + 0x57, 0x57, 0x82, 0x2d, 0xcf, 0xa3, 0xb3, 0x3a, 0xb6, 0x29, 0x68, 0x96, 0xc7, 0xdf, 0x6c, 0xcc, + 0x91, 0xa6, 0xa7, 0x8b, 0xc3, 0xb6, 0xa7, 0x76, 0x40, 0xc0, 0x10, 0x10, 0x44, 0x84, 0x48, 0x2c, + 0x36, 0x4e, 0x08, 0x51, 0x4c, 0xa4, 0x8a, 0xc1, 0xe0, 0x98, 0x8e, 0x89, 0x33, 0x02, 0x59, 0xae, + 0x64, 0x99, 0xe2, 0x5c, 0xf1, 0x70, 0xf1, 0xe4, 0x18, 0x15, 0x0c, 0x05, 0x05, 0xff, 0x82, 0xb2, + 0x33, 0x56, 0xa8, 0xf0, 0xbf, 0x8e, 0x82, 0x84, 0x3c, 0xa8, 0x60, 0xa2, 0x94, 0x10, 0x5a, 0x45, + 0x12, 0xcc, 0x00, 0xa6, 0x54, 0xb0, 0x4a, 0x00, 0x89, 0xa3, 0x29, 0x33, 0x4f, 0x1b, 0x9a, 0x47, + 0x10, 0x81, 0x5a, 0x50, 0xdd, 0x8d, 0x72, 0x47, 0x04, 0xa2, 0x88, 0x99, 0x39, 0x2b, 0xbb, 0x08, + 0xd6, 0x62, 0x08, 0x65, 0x3e, 0x47, 0x25, 0xc2, 0xa9, 0x22, 0xc6, 0x92, 0xd6, 0x7a, 0x0a, 0x83, + 0x70, 0xf1, 0x1f, 0xbe, 0x74, 0x77, 0x6e, 0xd3, 0x7e, 0x56, 0x24, 0xc9, 0xc1, 0x48, 0xe1, 0xd8, + 0xdc, 0x0c, 0x42, 0x30, 0x0e, 0xb5, 0x09, 0xa1, 0x7c, 0xca, 0x54, 0x0c, 0xb6, 0xc2, 0xde, 0x02, + 0xa5, 0xc8, 0xaa, 0x5a, 0xe8, 0x8b, 0x0a, 0x87, 0x21, 0xa7, 0xad, 0x82, 0x41, 0xe5, 0xd3, 0x79, + 0xc3, 0xd4, 0xe8, 0x2c, 0x7a, 0x14, 0xa3, 0x45, 0x52, 0x42, 0x05, 0x99, 0x32, 0xf9, 0xce, 0xa1, + 0xc5, 0x35, 0x06, 0x92, 0x18, 0xc7, 0x6e, 0x38, 0xac, 0x9a, 0xe9, 0x8f, 0x02, 0xb8, 0x50, 0xa6, + 0xbd, 0x00, 0x44, 0x0a, 0x0d, 0x71, 0x28, 0x5f, 0x9d, 0xc3, 0x68, 0xf9, 0x83, 0x08, 0x18, 0xa3, + 0xd4, 0x0c, 0xb4, 0x4f, 0xe0, 0x15, 0xa1, 0x56, 0xd8, 0x1b, 0x21, 0xc6, 0x12, 0xfb, 0x80, 0x76, + 0xc9, 0x9a, 0x74, 0xbb, 0x5d, 0x84, 0x39, 0x9c, 0x0f, 0x4c, 0x28, 0xc5, 0xe2, 0x3d, 0x38, 0xe8, + 0xea, 0x6c, 0xfa, 0xe9, 0x3a, 0xc3, 0x3a, 0xc0, 0x20, 0xa4, 0x85, 0x0b, 0x3f, 0x82, 0xc7, 0x1a, + 0x43, 0x4f, 0xdc, 0x4b, 0x9a, 0xf6, 0x31, 0x95, 0xe7, 0x7a, 0x37, 0x73, 0x84, 0xa0, 0xb8, 0x22, + 0x6f, 0x1d, 0xea, 0xf6, 0x3c, 0x4b, 0x61, 0x85, 0x0a, 0x4f, 0x36, 0x24, 0x08, 0x86, 0x9c, 0x82, + 0x72, 0x1e, 0x73, 0xee, 0xc8, 0xc7, 0x35, 0x67, 0x37, 0xc1, 0x7a, 0x1f, 0xda, 0xce, 0xbc, 0x82, + 0x47, 0x83, 0x23, 0x6f, 0xe5, 0x65, 0xa6, 0xd5, 0xf9, 0x26, 0x11, 0x20, 0xc3, 0xc4, 0x82, 0x4a, + 0x44, 0xab, 0x95, 0xa3, 0x9a, 0x13, 0x13, 0x61, 0x6d, 0xa5, 0x1a, 0xae, 0xb0, 0xf7, 0x62, 0x9a, + 0x7d, 0xfd, 0xc2, 0xb9, 0xd2, 0x94, 0xcc, 0xdc, 0x45, 0x51, 0x26, 0x14, 0xbc, 0x5d, 0x01, 0x11, + 0x53, 0x72, 0x4b, 0x47, 0xc3, 0x4f, 0xd0, 0x6a, 0x8e, 0x21, 0xde, 0xcf, 0xb9, 0x36, 0x55, 0xf0, + 0x59, 0xc0, 0x8a, 0x12, 0xc5, 0x09, 0x60, 0xf1, 0x84, 0xca, 0x1b, 0xb1, 0x42, 0x85, 0x9f, 0x07, + 0x32, 0xf5, 0xbf, 0x29, 0x18, 0x00, 0x4f, 0xa3, 0xf8, 0x29, 0x24, 0xa8, 0x46, 0x21, 0x88, 0x12, + 0xd4, 0x60, 0x25, 0x90, 0xb9, 0x31, 0xc6, 0x1b, 0x31, 0xad, 0x2c, 0x60, 0xbc, 0x2f, 0x9c, 0x94, + 0x3b, 0xbc, 0x21, 0x14, 0x25, 0x21, 0xc6, 0x58, 0x53, 0xc6, 0x03, 0x0a, 0x8a, 0x29, 0xcc, 0x38, + 0x95, 0x87, 0x53, 0x85, 0xbd, 0x14, 0xaa, 0x1e, 0x97, 0x2b, 0xbe, 0x19, 0x4d, 0x91, 0x94, 0x9a, + 0xc2, 0x16, 0x5b, 0x36, 0x40, 0xa2, 0x68, 0x16, 0x83, 0xd3, 0x2c, 0x46, 0x5b, 0x09, 0x92, 0xa5, + 0x44, 0xc4, 0x5d, 0xd5, 0x1d, 0x5c, 0x5e, 0x04, 0xc3, 0x07, 0x11, 0x3c, 0x06, 0x3c, 0x44, 0xea, + 0xa0, 0x23, 0x36, 0xd7, 0x74, 0xfe, 0x3b, 0x30, 0x90, 0x2e, 0x71, 0x21, 0xab, 0x4d, 0x36, 0x03, + 0xc6, 0x5b, 0x82, 0xcd, 0x98, 0x68, 0x4d, 0xd2, 0x9a, 0x34, 0xd8, 0x38, 0xc6, 0x46, 0x10, 0x19, + 0x45, 0x67, 0xb8, 0x53, 0x4d, 0x99, 0x96, 0x3a, 0x8c, 0xad, 0x42, 0x71, 0xbe, 0xae, 0x50, 0x61, + 0x6f, 0x85, 0x35, 0x82, 0xe9, 0xcc, 0xfa, 0x2f, 0x20, 0x41, 0xda, 0x22, 0x2a, 0xea, 0xdc, 0x6c, + 0x86, 0xb5, 0x1b, 0x4f, 0xa7, 0xa8, 0x27, 0x46, 0xad, 0x21, 0x8d, 0xeb, 0x18, 0x1f, 0x31, 0xd1, + 0x18, 0x67, 0xa2, 0xd5, 0x6c, 0x6b, 0xa8, 0x80, 0x92, 0x50, 0x2d, 0x75, 0x0f, 0xb0, 0xa0, 0xaf, + 0xbe, 0x72, 0xd1, 0x40, 0xff, 0x82, 0x9e, 0x3a, 0xc4, 0x92, 0xe0, 0x72, 0xd8, 0xbe, 0x73, 0x0b, + 0x4d, 0x37, 0x4c, 0x1a, 0xd7, 0x88, 0x6c, 0x8a, 0x48, 0x3c, 0x1d, 0x5f, 0xd4, 0x89, 0x0e, 0x83, + 0x91, 0x00, 0x4e, 0x4b, 0x25, 0x59, 0xa5, 0x74, 0xaa, 0xb0, 0x37, 0x42, 0x20, 0xa4, 0x4a, 0x88, + 0x2c, 0x4a, 0xcc, 0x13, 0x22, 0x4a, 0xfa, 0x80, 0x28, 0xb4, 0x9a, 0x93, 0xd8, 0xc8, 0x73, 0xf0, + 0x7e, 0xfb, 0x37, 0x0e, 0x3a, 0xe0, 0xa0, 0xfb, 0x99, 0xef, 0x0c, 0x7b, 0xf0, 0x61, 0x47, 0xde, + 0xf2, 0xbc, 0xd3, 0x9f, 0xf3, 0xb1, 0x13, 0x8e, 0x39, 0xf6, 0xbb, 0x92, 0xda, 0x96, 0xf3, 0x81, + 0x3b, 0x7e, 0x76, 0x17, 0xdf, 0xfb, 0xee, 0xc5, 0x64, 0xd9, 0x24, 0x3d, 0x3d, 0x0b, 0x68, 0xe5, + 0x6e, 0x7e, 0xdd, 0x53, 0x07, 0xf6, 0xc0, 0x8f, 0xa3, 0x42, 0x85, 0x27, 0x2f, 0xca, 0xe0, 0x9a, + 0x08, 0xc3, 0x13, 0x16, 0x3b, 0x1a, 0x42, 0x11, 0xa9, 0x23, 0x9e, 0x03, 0x0e, 0xdc, 0x7f, 0xe8, + 0x5d, 0x6f, 0x7b, 0xdb, 0x6f, 0x5c, 0x72, 0xc1, 0x7f, 0xbc, 0xaa, 0xb3, 0x49, 0x97, 0x1d, 0xf6, + 0xa5, 0x67, 0x3d, 0x6f, 0xd3, 0x4b, 0xcf, 0x7a, 0xde, 0xdb, 0xbf, 0x77, 0xf1, 0x15, 0x47, 0xbe, + 0xf1, 0x8f, 0xdf, 0x7e, 0x6a, 0xe6, 0x86, 0xd3, 0x28, 0x8a, 0x58, 0xb7, 0x7e, 0x1d, 0xe3, 0xa3, + 0x63, 0xd8, 0xc4, 0x10, 0x27, 0x16, 0x57, 0x46, 0xd1, 0xb7, 0x51, 0x31, 0xd1, 0x0a, 0x4f, 0x45, + 0x68, 0x4b, 0x50, 0x02, 0x12, 0x3d, 0x71, 0xf1, 0xa3, 0xaa, 0x90, 0xf6, 0xd4, 0x10, 0x9b, 0x6c, + 0x7c, 0xd5, 0x6f, 0xbe, 0xf4, 0x56, 0x8a, 0x84, 0x70, 0x53, 0x39, 0x9d, 0xa6, 0x38, 0x6c, 0xde, + 0x71, 0xb0, 0x0d, 0x92, 0x81, 0xe4, 0xda, 0x6c, 0x34, 0xa8, 0xd5, 0x7a, 0x38, 0xfe, 0xd8, 0x93, + 0x88, 0xfb, 0x7a, 0x18, 0x19, 0xdd, 0x41, 0x1c, 0xc5, 0x85, 0x9c, 0x1e, 0x04, 0x2d, 0xb2, 0xdb, + 0xe0, 0xda, 0x41, 0xed, 0xaa, 0x38, 0x5f, 0x88, 0xdc, 0x46, 0x0a, 0x1f, 0xe2, 0x8a, 0xcd, 0x56, + 0xd8, 0x1b, 0x21, 0x08, 0xb9, 0x0d, 0xf8, 0x48, 0x51, 0xa6, 0x37, 0xba, 0x4e, 0xdb, 0x40, 0xcb, + 0xc8, 0xb6, 0xb9, 0x61, 0xe6, 0x70, 0xae, 0x17, 0x11, 0xc4, 0x1a, 0x9a, 0x99, 0x63, 0xcb, 0xc6, + 0x4d, 0x87, 0xbf, 0xfd, 0xdd, 0xef, 0xb9, 0xeb, 0x2f, 0x3f, 0xf0, 0xc1, 0x2f, 0x75, 0xb6, 0xe9, + 0xe4, 0xb0, 0xf2, 0xf5, 0x0b, 0x2e, 0x7c, 0xcf, 0xc7, 0x3e, 0xfe, 0xf1, 0xe5, 0x0f, 0x6e, 0xd8, + 0xb4, 0x7a, 0xb4, 0x31, 0xde, 0xbf, 0x72, 0xe5, 0x0a, 0x0e, 0x3d, 0xe4, 0x50, 0x86, 0x77, 0xed, + 0xe4, 0x81, 0xfb, 0x1f, 0x60, 0xe7, 0xae, 0x51, 0x6c, 0x5a, 0x43, 0xc6, 0x26, 0x11, 0x03, 0x59, + 0x94, 0x03, 0x96, 0x16, 0xd3, 0x74, 0x39, 0x45, 0x9f, 0x5a, 0xc4, 0xf2, 0xca, 0x13, 0x24, 0xde, + 0x57, 0xa8, 0xf0, 0xab, 0x04, 0x11, 0x43, 0x24, 0x19, 0xc1, 0xe4, 0x48, 0xe8, 0xa4, 0xd2, 0xae, + 0x46, 0x8f, 0x63, 0xe0, 0x42, 0x7f, 0x34, 0xbc, 0x6b, 0x28, 0xfa, 0xca, 0x7f, 0x7e, 0x75, 0xc9, + 0x92, 0x05, 0xb5, 0x03, 0x3f, 0xf8, 0x81, 0xbf, 0x9c, 0xfa, 0x79, 0x8a, 0x60, 0x63, 0x70, 0xe3, + 0xa3, 0xbb, 0x56, 0x99, 0xe0, 0x5f, 0x2e, 0xaa, 0x2b, 0x0c, 0x42, 0x2d, 0x8e, 0x19, 0xe8, 0x1f, + 0xc0, 0x65, 0x39, 0xc3, 0xbb, 0x46, 0x71, 0xc1, 0xd0, 0x4b, 0xa0, 0x15, 0x83, 0xcb, 0x32, 0xc4, + 0x14, 0xa6, 0x9c, 0x04, 0x83, 0x78, 0x25, 0x78, 0x47, 0xdb, 0x21, 0x31, 0x40, 0x45, 0xa8, 0x15, + 0xf6, 0x6e, 0x28, 0xb4, 0x23, 0x52, 0xdb, 0x90, 0x00, 0x53, 0x8e, 0xf6, 0xce, 0x41, 0x1c, 0xcf, + 0xd9, 0xd5, 0x7b, 0x2d, 0x33, 0x91, 0x76, 0x7c, 0x17, 0x02, 0xc1, 0x2b, 0x3d, 0x35, 0x21, 0xad, + 0xd5, 0x6f, 0xdb, 0x7f, 0xff, 0x03, 0xdf, 0xb0, 0xa8, 0x37, 0xda, 0xdc, 0xd9, 0xaf, 0x8b, 0x67, + 0xff, 0xee, 0xff, 0xf9, 0xed, 0xb7, 0x5c, 0x73, 0xe5, 0xe5, 0x07, 0xbc, 0xe8, 0xc5, 0x67, 0xbe, + 0xab, 0x56, 0x4f, 0x27, 0x37, 0x6e, 0xdd, 0xc4, 0x35, 0x37, 0x5c, 0x4b, 0xbd, 0xa7, 0xc6, 0xb1, + 0xc7, 0x1d, 0x4b, 0x1a, 0x09, 0x86, 0x88, 0x9e, 0xb4, 0x97, 0x10, 0x02, 0xd6, 0xc7, 0x98, 0xac, + 0x10, 0x03, 0x6c, 0xcd, 0xe0, 0x54, 0x20, 0x6f, 0x90, 0x4b, 0x0e, 0x02, 0xa6, 0xe2, 0xae, 0x15, + 0xf6, 0x4e, 0xa8, 0x48, 0x91, 0xc7, 0x29, 0x4c, 0x42, 0xc8, 0xe7, 0x61, 0xa6, 0xbb, 0xe1, 0xb0, + 0xaa, 0x90, 0xe7, 0xda, 0xd5, 0xc4, 0x08, 0xa4, 0x49, 0x84, 0x0b, 0x19, 0x83, 0xcb, 0x16, 0xaf, + 0xbb, 0xf2, 0xd2, 0x8b, 0x7e, 0xfa, 0xed, 0x6f, 0x7e, 0x7b, 0x6b, 0x67, 0xbf, 0x29, 0x82, 0x6d, + 0x36, 0x9b, 0xed, 0xae, 0xcd, 0xb3, 0x5e, 0x78, 0xe6, 0x55, 0x49, 0x54, 0x6f, 0xf9, 0xa0, 0xa8, + 0x81, 0xe5, 0xab, 0x56, 0xb1, 0x7a, 0xd5, 0x0a, 0x6a, 0xb5, 0x88, 0x5a, 0x52, 0xa7, 0x5e, 0xeb, + 0x43, 0xe2, 0x18, 0xa9, 0x43, 0x48, 0xc1, 0x2b, 0xf8, 0x56, 0x20, 0x36, 0x0a, 0x71, 0x0f, 0xb1, + 0x26, 0x45, 0x00, 0x7b, 0x47, 0xaa, 0x9b, 0x0a, 0x15, 0xf6, 0x26, 0x28, 0x4c, 0x27, 0x23, 0x7c, + 0x1c, 0x1e, 0xb8, 0x22, 0x10, 0xc7, 0x42, 0x67, 0xd4, 0x69, 0x91, 0x71, 0x46, 0x88, 0x6d, 0xc4, + 0xd8, 0xe8, 0xf8, 0x9a, 0x37, 0xbf, 0xfd, 0xdd, 0x67, 0x7c, 0xf0, 0x6f, 0xfe, 0xfe, 0x59, 0x9d, + 0xfd, 0xa6, 0x44, 0xe2, 0x5a, 0xad, 0xa6, 0x97, 0x5f, 0x76, 0xf5, 0x6b, 0x3e, 0xfb, 0x1f, 0xff, + 0x7e, 0xe8, 0x83, 0x0f, 0xaf, 0x7d, 0x65, 0x36, 0x3e, 0xb6, 0x68, 0x51, 0xad, 0x9f, 0xfd, 0x56, + 0xed, 0xc3, 0xe6, 0x1d, 0x43, 0xac, 0x7d, 0xe0, 0x5e, 0x86, 0x5b, 0xe3, 0x0c, 0xf6, 0x2c, 0x2a, + 0x0e, 0xc7, 0x91, 0x41, 0x8d, 0x27, 0x94, 0xc9, 0xa3, 0xd4, 0x08, 0x52, 0x6a, 0x99, 0x0c, 0x81, + 0xa9, 0x80, 0x9d, 0x0a, 0x15, 0xf6, 0x3e, 0x88, 0x50, 0xd0, 0x80, 0x2d, 0x0a, 0x38, 0xe2, 0x75, + 0x0e, 0x86, 0x3a, 0x67, 0x0c, 0xb8, 0x80, 0x16, 0xe2, 0xb0, 0x91, 0x6e, 0x01, 0xd4, 0x18, 0xa1, + 0x95, 0xe5, 0xd4, 0xd2, 0x98, 0xf1, 0x91, 0xe1, 0x63, 0xbf, 0x73, 0xe1, 0x45, 0x97, 0xd5, 0x7b, + 0x7a, 0xaf, 0xf9, 0xcb, 0xff, 0xfb, 0x8e, 0x29, 0xa2, 0xed, 0x32, 0xeb, 0xac, 0xdb, 0xf0, 0xf0, + 0xd9, 0x1b, 0xd6, 0xad, 0x7d, 0xdd, 0x3d, 0x77, 0x3e, 0x80, 0x77, 0x39, 0xcb, 0x56, 0x0e, 0x72, + 0xf8, 0x11, 0x87, 0x22, 0xb9, 0xb2, 0x7d, 0xdb, 0x36, 0x6c, 0x16, 0x61, 0xea, 0x85, 0xac, 0xad, + 0x2d, 0x25, 0x8a, 0x12, 0xbc, 0x73, 0x85, 0xc8, 0x1e, 0x0b, 0x1a, 0x02, 0x3e, 0x77, 0x78, 0x40, + 0x22, 0x0b, 0x7b, 0x90, 0x64, 0xaa, 0x42, 0x85, 0x27, 0x23, 0x74, 0x76, 0x8d, 0xa8, 0xe2, 0x4c, + 0x6b, 0xb5, 0xc8, 0xb4, 0xaf, 0x8a, 0xa4, 0x69, 0x47, 0xb8, 0xab, 0x00, 0x0e, 0x55, 0x07, 0x51, + 0x84, 0x4f, 0x8a, 0x52, 0x1e, 0xb1, 0x08, 0xde, 0x6b, 0x91, 0xd3, 0x98, 0x80, 0x88, 0xd0, 0xca, + 0x26, 0x58, 0xb0, 0x60, 0xc0, 0x1d, 0x73, 0xf8, 0xc1, 0x13, 0xfb, 0xef, 0xbf, 0xff, 0x58, 0xe7, + 0x14, 0x5d, 0x04, 0x7b, 0xcc, 0xf1, 0xc7, 0x5d, 0xfd, 0xc6, 0x28, 0x1e, 0xbc, 0xfc, 0xc7, 0x37, + 0x9c, 0x78, 0xe1, 0xf7, 0x2f, 0x5a, 0xb2, 0x75, 0xfb, 0x16, 0xae, 0xba, 0xea, 0x4a, 0x4e, 0x38, + 0xf2, 0xe9, 0x1c, 0x74, 0xc0, 0xfe, 0x6c, 0xd9, 0xb1, 0x89, 0xdc, 0xbb, 0xa2, 0x2c, 0xbc, 0x1a, + 0xd4, 0xc5, 0xd3, 0xb5, 0x72, 0xa6, 0x5d, 0x28, 0x51, 0x31, 0x04, 0x91, 0x4a, 0x1a, 0xae, 0xb0, + 0x97, 0x63, 0x66, 0x74, 0x3a, 0x88, 0xeb, 0x60, 0x9b, 0x5d, 0x1c, 0x56, 0x01, 0x8b, 0xa9, 0xe5, + 0x88, 0xc9, 0x09, 0x9a, 0x61, 0x89, 0x40, 0xd3, 0xd2, 0xfa, 0x13, 0x50, 0x55, 0x8c, 0xb1, 0xa4, + 0x69, 0x0f, 0x8b, 0x96, 0x2c, 0xb9, 0xe4, 0xa2, 0x6f, 0x7f, 0xe3, 0x25, 0x33, 0x67, 0x9c, 0x92, + 0xbe, 0x3d, 0x0d, 0x9e, 0x7e, 0xcc, 0x51, 0xff, 0xf6, 0xdb, 0xaf, 0x7b, 0xd5, 0xcb, 0x9f, 0x7d, + 0xc6, 0xb3, 0x6f, 0xef, 0xeb, 0xef, 0xa5, 0x91, 0xe7, 0xe4, 0x4e, 0xd9, 0xef, 0xc0, 0x83, 0x38, + 0xf4, 0x90, 0xc3, 0x48, 0x92, 0x1a, 0x32, 0xe5, 0x6f, 0x28, 0x28, 0x93, 0x18, 0x6d, 0x60, 0xba, + 0x5c, 0x98, 0xdb, 0xc8, 0x67, 0x7d, 0x53, 0xa1, 0xc2, 0x53, 0x06, 0x22, 0x68, 0x9e, 0xcf, 0xa1, + 0x74, 0x9d, 0x3f, 0x50, 0x15, 0x94, 0xc8, 0x5a, 0xd4, 0x07, 0x5a, 0x13, 0xe3, 0x47, 0xbf, 0xef, + 0x43, 0x1f, 0x39, 0xff, 0x9f, 0xff, 0xf5, 0x73, 0xaf, 0xee, 0x6c, 0xd1, 0xc5, 0x61, 0xef, 0x5b, + 0xfb, 0xc8, 0x79, 0x57, 0x5d, 0x77, 0xe3, 0x5b, 0x2e, 0xfd, 0xc1, 0x8f, 0xf7, 0x1d, 0x19, 0x19, + 0x65, 0x41, 0xda, 0x43, 0x4f, 0xbd, 0x87, 0xcd, 0x1b, 0xd6, 0xb3, 0x63, 0xc7, 0x4e, 0x82, 0xcf, + 0x90, 0xb8, 0xc6, 0x14, 0x53, 0xd5, 0x80, 0x68, 0x98, 0x77, 0xf2, 0x4a, 0xe3, 0x54, 0xe1, 0x29, + 0x8d, 0x19, 0x87, 0xda, 0xdd, 0xa5, 0x35, 0x2b, 0x92, 0xad, 0x19, 0x5a, 0x59, 0x46, 0x1c, 0x47, + 0x4c, 0x4c, 0x8c, 0xaf, 0xb9, 0xe0, 0x9b, 0xdf, 0x79, 0xcf, 0xa2, 0xbe, 0x64, 0xdd, 0x5b, 0xce, + 0xfb, 0xfd, 0xaf, 0xb5, 0xdb, 0x4d, 0x11, 0xac, 0xa5, 0xce, 0xe5, 0x57, 0x5c, 0x71, 0xc4, 0x27, + 0x3e, 0xf9, 0x99, 0x83, 0xef, 0x7f, 0xe8, 0x61, 0x92, 0x7a, 0x8d, 0x25, 0x83, 0x4b, 0x79, 0xd6, + 0xa9, 0xa7, 0x23, 0xb9, 0xe7, 0xc1, 0x75, 0x37, 0xe1, 0xbd, 0x23, 0x89, 0x63, 0x9a, 0xcd, 0xc2, + 0x55, 0xc2, 0x98, 0x5e, 0x32, 0x62, 0x3c, 0x73, 0x89, 0xbf, 0x31, 0xcc, 0x4a, 0x21, 0x55, 0xa1, + 0xc2, 0x53, 0x13, 0xaa, 0x10, 0x45, 0x42, 0x3e, 0x53, 0xa3, 0x2c, 0x42, 0x28, 0x8b, 0x9c, 0x47, + 0x65, 0x29, 0x9c, 0x2c, 0xf3, 0xc4, 0xd6, 0x6d, 0x1a, 0x19, 0x1e, 0xfe, 0x62, 0x24, 0xfd, 0xf7, + 0x77, 0x36, 0xef, 0xea, 0x7e, 0xf4, 0xe1, 0x87, 0x86, 0x57, 0xff, 0xd6, 0x2b, 0xd6, 0x3e, 0xff, + 0x79, 0x2f, 0x68, 0x44, 0x0a, 0x63, 0x23, 0x43, 0xdc, 0x76, 0xfb, 0x4d, 0xec, 0x18, 0xdb, 0xc1, + 0xf2, 0x15, 0x2b, 0x30, 0x51, 0x5c, 0x38, 0xff, 0x4f, 0xad, 0xa2, 0x14, 0x8e, 0xe7, 0x4b, 0x9e, + 0x5c, 0xd9, 0x60, 0x2b, 0xec, 0xd5, 0x98, 0xcb, 0xbb, 0xa9, 0xf3, 0xfd, 0x8c, 0xe0, 0x73, 0x03, + 0xda, 0x14, 0x42, 0x53, 0x50, 0x4d, 0x09, 0x12, 0x13, 0x34, 0x20, 0xc6, 0x60, 0xac, 0xc1, 0x87, + 0x40, 0x2d, 0x8e, 0xa9, 0x25, 0x11, 0xab, 0xf6, 0xd9, 0x77, 0x64, 0xc3, 0xda, 0xbb, 0x3e, 0xfc, + 0xb3, 0x9b, 0xaf, 0xff, 0xb7, 0xae, 0x31, 0x3a, 0x3f, 0x9c, 0x76, 0xea, 0xc9, 0x7f, 0xf8, 0xbe, + 0x3f, 0x7f, 0xc7, 0x41, 0xaf, 0x7e, 0xe5, 0xcb, 0xae, 0x5f, 0x38, 0xb8, 0x80, 0xa1, 0xd1, 0x51, + 0xd6, 0x6f, 0xde, 0xcc, 0x7e, 0xfb, 0xee, 0xc7, 0x49, 0xc7, 0x3f, 0x83, 0x7a, 0xad, 0xa7, 0xa8, + 0xa0, 0x2e, 0x16, 0x95, 0x80, 0x8b, 0x32, 0x24, 0x02, 0xe3, 0x3c, 0x2a, 0x1e, 0xac, 0xc7, 0x98, + 0xa2, 0x82, 0x97, 0x06, 0x08, 0x55, 0x4e, 0xa7, 0x0a, 0x7b, 0x29, 0x82, 0x86, 0xd9, 0x72, 0xa5, + 0x82, 0x4a, 0xc9, 0xc5, 0x54, 0x11, 0x6b, 0xa7, 0xf6, 0xbf, 0x48, 0xe1, 0x28, 0xa1, 0xc6, 0x20, + 0x89, 0x45, 0x4c, 0x00, 0x0d, 0x85, 0x0c, 0x6a, 0xa4, 0x68, 0x4b, 0x11, 0xf7, 0x93, 0x65, 0x81, + 0x38, 0xae, 0x1d, 0xfe, 0xb5, 0xff, 0xb9, 0xf8, 0xc2, 0x3b, 0xef, 0x5c, 0xbb, 0xaa, 0x73, 0x8a, + 0xae, 0x33, 0xec, 0xfa, 0x47, 0xb6, 0xbe, 0xe7, 0x9e, 0xbb, 0x1f, 0x78, 0xe6, 0xcf, 0x6e, 0xfb, + 0xd9, 0xb1, 0x63, 0xc3, 0xe3, 0xd4, 0xe2, 0x88, 0xde, 0x34, 0x61, 0xc7, 0xb6, 0xad, 0x4c, 0xb6, + 0x32, 0xf2, 0x4c, 0xc1, 0x0a, 0x49, 0x12, 0x11, 0xe2, 0x80, 0x5a, 0x47, 0x50, 0x50, 0x49, 0xb0, + 0x15, 0x65, 0x56, 0x78, 0x4a, 0xa1, 0x2b, 0xae, 0xbc, 0xc0, 0xcc, 0x00, 0xf6, 0x3c, 0x87, 0x68, + 0x46, 0x09, 0x66, 0x15, 0x70, 0xa0, 0x0e, 0x4c, 0x22, 0xa4, 0x14, 0x89, 0x0b, 0x15, 0xc5, 0x8a, + 0xd0, 0x6a, 0x65, 0x98, 0x24, 0xe2, 0x91, 0xcd, 0xeb, 0xf9, 0xe0, 0x47, 0xfe, 0xe6, 0x8c, 0xbe, + 0x44, 0x3e, 0x79, 0xc3, 0x35, 0x3f, 0x7e, 0x79, 0xbb, 0x7b, 0xd7, 0x68, 0x3f, 0xb9, 0xfe, 0xda, + 0x17, 0x7d, 0xfc, 0x13, 0xff, 0xf4, 0xec, 0xdb, 0xee, 0xbc, 0x0f, 0x17, 0x27, 0x2c, 0x5a, 0xb2, + 0x82, 0xe3, 0x4f, 0x38, 0x09, 0x1b, 0xf5, 0x70, 0xdf, 0x9d, 0xb7, 0xe1, 0xf3, 0x51, 0xfa, 0xeb, + 0x03, 0x04, 0x51, 0xac, 0x89, 0x0b, 0x62, 0xd5, 0xee, 0x73, 0xaa, 0xb1, 0x86, 0x48, 0x22, 0x10, + 0xc5, 0xc4, 0x5a, 0xd9, 0x61, 0x2b, 0x3c, 0x75, 0x31, 0x97, 0x6b, 0xe2, 0xf4, 0x19, 0x12, 0xca, + 0x24, 0xa9, 0x81, 0x42, 0xd4, 0xcd, 0x32, 0x25, 0x4d, 0x2d, 0xb1, 0x31, 0x90, 0xe7, 0xf4, 0x24, + 0x86, 0x7a, 0x2d, 0xe9, 0x1a, 0xa4, 0x4b, 0x24, 0x5e, 0xbd, 0x7a, 0xf9, 0xd8, 0x73, 0x9f, 0xf7, + 0xdc, 0x70, 0xc2, 0xd3, 0x4f, 0x55, 0x2b, 0x86, 0xf1, 0xc6, 0x24, 0x0f, 0x3f, 0xfc, 0x10, 0x43, + 0x23, 0x3b, 0x88, 0x6c, 0x8d, 0x66, 0x6e, 0xf0, 0x45, 0x75, 0x78, 0x82, 0xfa, 0x22, 0xdb, 0xf9, + 0x0c, 0xce, 0xaa, 0x41, 0xf1, 0xbe, 0xc8, 0xb2, 0xac, 0xbe, 0x12, 0x89, 0x2b, 0x54, 0xe8, 0x84, + 0xa0, 0x48, 0xa4, 0x48, 0x0a, 0x01, 0xa5, 0x85, 0x92, 0x97, 0xca, 0x1e, 0x6b, 0x95, 0xc8, 0x16, + 0x46, 0xd2, 0x25, 0xcb, 0x97, 0xad, 0xfb, 0xe3, 0x37, 0xbf, 0xe9, 0x0d, 0x3f, 0xbe, 0xec, 0xd2, + 0x73, 0x3b, 0xfb, 0xcf, 0x38, 0xc3, 0x9e, 0x7a, 0xf6, 0x5f, 0xff, 0xd5, 0xfb, 0x07, 0xdf, 0x70, + 0xee, 0x6f, 0xdd, 0x3c, 0xb8, 0xa0, 0x9f, 0xb1, 0xb1, 0x61, 0x36, 0x6f, 0xdd, 0xc8, 0xea, 0x55, + 0xab, 0x78, 0xc6, 0x09, 0x4f, 0xa7, 0xbf, 0x37, 0x45, 0x5d, 0x8e, 0x20, 0x04, 0xf1, 0x04, 0x09, + 0xa8, 0x04, 0x88, 0xa3, 0x29, 0xe1, 0x20, 0x84, 0x50, 0x7a, 0x81, 0x08, 0xda, 0x5d, 0x78, 0xab, + 0x42, 0x85, 0xbd, 0x08, 0x32, 0xa7, 0x6d, 0xa4, 0x0b, 0x73, 0xd9, 0x71, 0x44, 0x0b, 0x96, 0xea, + 0x0a, 0x73, 0x68, 0x0d, 0x43, 0xad, 0x1c, 0xc9, 0x5a, 0x21, 0x84, 0xa2, 0x9e, 0x4e, 0xbd, 0xd6, + 0x97, 0x9d, 0xfe, 0xac, 0xe7, 0xde, 0x35, 0x32, 0xb6, 0xb1, 0xbf, 0xb3, 0x7b, 0x97, 0x48, 0xdc, + 0x74, 0xe1, 0xb5, 0x5b, 0x36, 0x6e, 0x3c, 0x79, 0xfb, 0xc8, 0xc8, 0x8a, 0x4c, 0x95, 0x58, 0x0c, + 0xea, 0x03, 0x21, 0xf3, 0xe4, 0x18, 0xd4, 0x14, 0x35, 0x75, 0x24, 0x28, 0x36, 0xb7, 0x60, 0x2c, + 0x1a, 0x14, 0xa9, 0x9b, 0x22, 0x77, 0xb1, 0x16, 0x04, 0x8b, 0x05, 0x09, 0x79, 0x61, 0xd9, 0xa9, + 0x44, 0xe2, 0x0a, 0x7b, 0x25, 0x14, 0x37, 0x93, 0x64, 0xb5, 0x2c, 0xcf, 0x21, 0xa5, 0x6b, 0x62, + 0x92, 0xcc, 0x51, 0x5b, 0x27, 0x9e, 0xaa, 0xad, 0x53, 0x10, 0x7d, 0xa7, 0xd3, 0x91, 0xe0, 0x7c, + 0x91, 0xfc, 0x61, 0xf3, 0xa6, 0xf5, 0x07, 0xbf, 0xf1, 0x6d, 0xef, 0xbc, 0x71, 0xa0, 0xbf, 0xef, + 0x27, 0xff, 0xf5, 0x95, 0xcf, 0x9c, 0xd6, 0x6e, 0xd1, 0x49, 0xb0, 0xf6, 0xea, 0x1f, 0x5d, 0xf9, + 0xa7, 0x9f, 0xfb, 0xf2, 0x97, 0x4f, 0xbc, 0xf2, 0x86, 0x5b, 0xd8, 0x31, 0x3a, 0xc2, 0xca, 0x65, + 0xcb, 0x38, 0xe5, 0xe4, 0xd3, 0xf0, 0x5e, 0xb9, 0xe9, 0x96, 0xab, 0x19, 0x19, 0x6d, 0x31, 0x30, + 0xd0, 0x8f, 0x17, 0x45, 0x14, 0x4c, 0x56, 0x72, 0xd3, 0xb2, 0x4e, 0x88, 0x06, 0x45, 0x8c, 0x21, + 0x8a, 0x22, 0xf0, 0x1e, 0x63, 0x01, 0xb1, 0xbb, 0xb7, 0x18, 0x57, 0xa8, 0xf0, 0x24, 0x84, 0x6a, + 0x20, 0xa0, 0xd3, 0x69, 0x5a, 0xa0, 0x50, 0x3a, 0x69, 0x87, 0xd2, 0xc9, 0xfb, 0x59, 0x4a, 0x27, + 0x49, 0x5b, 0x48, 0x54, 0xa6, 0x20, 0x57, 0x4b, 0xa1, 0x76, 0xea, 0x20, 0x5a, 0x29, 0x94, 0x50, + 0xcd, 0x3c, 0xe3, 0x9e, 0xfb, 0xee, 0x62, 0xa0, 0x7f, 0xd1, 0xce, 0xce, 0xfe, 0x9d, 0x22, 0xb1, + 0xf7, 0x2a, 0x21, 0x4e, 0x12, 0xea, 0x89, 0x21, 0xb6, 0x86, 0xc9, 0xdc, 0x33, 0x34, 0xb4, 0x8b, + 0xa1, 0x91, 0x51, 0xb2, 0xcc, 0x11, 0x1b, 0x43, 0x6c, 0x94, 0x44, 0x20, 0x44, 0x01, 0x1f, 0x7b, + 0x7c, 0x1c, 0x20, 0x74, 0xe4, 0x78, 0x12, 0x21, 0x52, 0x81, 0x28, 0xc5, 0x53, 0xe5, 0x88, 0xa9, + 0xb0, 0xb7, 0x62, 0x1e, 0xc9, 0xb1, 0xcb, 0x7d, 0x78, 0x8e, 0xbd, 0x1f, 0x2c, 0xe4, 0x16, 0x82, + 0x25, 0x60, 0xc8, 0x4a, 0xc5, 0x53, 0x1b, 0xd6, 0x08, 0x01, 0x65, 0xd1, 0x82, 0x81, 0x87, 0xcf, + 0x79, 0xf1, 0x8b, 0x7f, 0xfd, 0x67, 0x37, 0x5c, 0x76, 0x4e, 0x67, 0x77, 0x03, 0xe0, 0x42, 0x23, + 0x6d, 0x36, 0x9b, 0xf6, 0xb8, 0x13, 0x4f, 0x7c, 0xd9, 0x87, 0xde, 0xff, 0xce, 0x53, 0xdf, 0xfa, + 0xd6, 0xb7, 0xdd, 0xb1, 0xa8, 0xbf, 0x8f, 0xd1, 0xa1, 0x1d, 0xdc, 0x71, 0xc7, 0xad, 0xd4, 0xd3, + 0x98, 0x63, 0x8e, 0x3b, 0x89, 0x7a, 0x5f, 0x8a, 0x43, 0x91, 0xc8, 0x16, 0xda, 0xe9, 0xb8, 0x78, + 0xa9, 0x77, 0x98, 0x8e, 0xb5, 0x55, 0x42, 0x70, 0x85, 0xbd, 0x1e, 0x8f, 0x27, 0xfd, 0x0b, 0xa0, + 0xce, 0x16, 0x25, 0x27, 0x35, 0x26, 0x60, 0xc9, 0x51, 0x7c, 0x59, 0x34, 0x4e, 0x55, 0x31, 0x62, + 0xe8, 0xa9, 0xd7, 0xb0, 0x96, 0xeb, 0x3e, 0xf1, 0xb1, 0x0f, 0x7f, 0x67, 0x66, 0xff, 0x36, 0xbf, + 0x5e, 0x12, 0x42, 0xd8, 0xb5, 0x7c, 0x71, 0xef, 0xd2, 0x21, 0xb7, 0x68, 0xff, 0x9a, 0xd5, 0x18, + 0x53, 0x94, 0x9d, 0x8c, 0xe2, 0x84, 0x45, 0x03, 0x0b, 0xc8, 0xb5, 0x88, 0x7b, 0x0d, 0x7e, 0xda, + 0xf6, 0x34, 0x95, 0x40, 0xdc, 0x76, 0x08, 0x06, 0xaa, 0x38, 0x0d, 0x88, 0x51, 0xa8, 0xcc, 0x3a, + 0x15, 0xf6, 0x52, 0xb4, 0x0b, 0x5b, 0x3c, 0xe6, 0x7e, 0x69, 0x86, 0x98, 0xc2, 0xee, 0x1a, 0x11, + 0x11, 0x93, 0xa2, 0xed, 0xf2, 0xad, 0x22, 0xe4, 0xce, 0x63, 0x04, 0xc6, 0x46, 0xc7, 0x8f, 0x3b, + 0xf3, 0xd7, 0x5e, 0xf6, 0xb7, 0xb5, 0x98, 0x47, 0x2e, 0xfa, 0xf6, 0x37, 0x3f, 0xd9, 0xee, 0x1f, + 0x01, 0x44, 0xa6, 0xbe, 0x31, 0xea, 0x61, 0xc1, 0xd5, 0x37, 0xde, 0xf8, 0xcf, 0x5f, 0xfc, 0xfc, + 0x97, 0x4e, 0xbb, 0xe2, 0xaa, 0x2b, 0x18, 0x1e, 0x1a, 0x62, 0xc9, 0xa2, 0x45, 0x1c, 0x7e, 0xe4, + 0x91, 0x6c, 0xdb, 0xba, 0x85, 0x7b, 0x1e, 0xba, 0x9f, 0xac, 0x19, 0xe8, 0xef, 0x4d, 0x09, 0x79, + 0xa7, 0xfa, 0x57, 0x21, 0xb2, 0x53, 0x35, 0x81, 0x82, 0xcf, 0x71, 0xe2, 0x41, 0x04, 0x2b, 0xb2, + 0x27, 0x45, 0xf5, 0x2a, 0x54, 0x78, 0x52, 0xc2, 0xd2, 0x55, 0x68, 0x72, 0x36, 0x1e, 0x23, 0x17, + 0x9e, 0xb6, 0xce, 0x0a, 0x79, 0xde, 0x3a, 0x6c, 0xed, 0xda, 0x47, 0x0e, 0x5b, 0xd8, 0xdf, 0xfb, + 0x89, 0xce, 0x36, 0x9d, 0x27, 0xe2, 0xc6, 0xc8, 0x68, 0x33, 0xd9, 0x32, 0x3c, 0xc9, 0x64, 0x1e, + 0xe1, 0x42, 0x1d, 0x6b, 0x6a, 0x24, 0x51, 0xc2, 0x44, 0xab, 0xc5, 0xd0, 0xae, 0x11, 0xf2, 0xdc, + 0x61, 0xe9, 0x43, 0x4d, 0x8e, 0xf1, 0x82, 0x71, 0x79, 0x99, 0x97, 0x35, 0x9b, 0x9a, 0xcc, 0xa9, + 0x4e, 0x95, 0xd4, 0x51, 0xf4, 0xd1, 0x55, 0xdf, 0x15, 0x2a, 0x3c, 0x89, 0xd1, 0xae, 0x50, 0x93, + 0x1a, 0x41, 0x4b, 0x0f, 0xa6, 0x59, 0xae, 0x89, 0x5d, 0x5a, 0xe2, 0x04, 0xd2, 0xe2, 0xbd, 0x43, + 0xf0, 0x84, 0x62, 0x8c, 0xf2, 0x65, 0x81, 0x2c, 0xcb, 0x59, 0xb5, 0x6a, 0xe5, 0xc4, 0x99, 0xa7, + 0x3f, 0xf7, 0xb6, 0x67, 0x9e, 0xfc, 0xcc, 0x0b, 0x3a, 0xe7, 0x33, 0x00, 0xcd, 0x66, 0xb3, 0x06, + 0xe4, 0x47, 0x1d, 0x71, 0xf4, 0xff, 0xfb, 0x8b, 0x3f, 0xfb, 0xb3, 0x3f, 0x7e, 0xcb, 0x79, 0xe7, + 0x3d, 0xb0, 0x68, 0x70, 0x01, 0xdb, 0x87, 0xb6, 0x73, 0xfd, 0xf5, 0xd7, 0x92, 0xa4, 0x09, 0x27, + 0x9f, 0x78, 0x2a, 0xbd, 0xfd, 0x31, 0x8e, 0x1c, 0x69, 0x0b, 0x03, 0xda, 0xf1, 0x2a, 0x11, 0x8b, + 0x62, 0xcb, 0xac, 0xe8, 0x95, 0x2f, 0x71, 0x85, 0xa7, 0x2c, 0xe6, 0xab, 0xad, 0x53, 0xfc, 0x48, + 0x9b, 0x30, 0xa6, 0x4e, 0x95, 0x08, 0xb1, 0x42, 0x64, 0x63, 0xd2, 0x24, 0xa5, 0xbf, 0xb7, 0xff, + 0xbe, 0x4f, 0x7c, 0xec, 0xaf, 0x9f, 0xf7, 0x9a, 0x57, 0x9f, 0x7d, 0x45, 0x67, 0xcf, 0x36, 0x87, + 0xcd, 0x01, 0xf6, 0x5b, 0x39, 0x70, 0xf1, 0x7e, 0x2b, 0x07, 0x16, 0x3f, 0xf4, 0xc0, 0x5d, 0xaf, + 0xab, 0x45, 0x31, 0xaa, 0x8e, 0x28, 0xb1, 0xac, 0x58, 0xbe, 0x9c, 0x24, 0xe9, 0x25, 0x4d, 0x6a, + 0xb8, 0x56, 0x40, 0x6c, 0x47, 0x85, 0xae, 0x4e, 0x2b, 0x92, 0x82, 0xd8, 0x94, 0xa4, 0x56, 0x08, + 0x0a, 0x5a, 0x15, 0xc3, 0xaa, 0x50, 0xe1, 0x51, 0x21, 0x80, 0xc4, 0x31, 0x3e, 0x77, 0x58, 0x31, + 0x28, 0x9e, 0xed, 0xdb, 0xb6, 0x1e, 0xfe, 0x9a, 0x37, 0xbc, 0xf9, 0x86, 0x7a, 0x62, 0x7e, 0xf8, + 0x85, 0xcf, 0x7e, 0xf2, 0x1d, 0xed, 0xb6, 0x11, 0x40, 0xad, 0x56, 0x50, 0xd8, 0x75, 0xd7, 0xdd, + 0xf4, 0x95, 0x6f, 0x5c, 0xf0, 0xed, 0x97, 0x5d, 0x7b, 0xe3, 0x8d, 0xec, 0xd8, 0xbc, 0x8d, 0xc1, + 0xde, 0x85, 0x1c, 0xb8, 0xff, 0x41, 0xec, 0xd8, 0xbe, 0x83, 0x87, 0x37, 0xdd, 0x41, 0x73, 0xbc, + 0x41, 0x2d, 0x8d, 0x8b, 0x60, 0x5b, 0x63, 0xd0, 0x38, 0x26, 0xe0, 0xa7, 0xd8, 0xbe, 0x31, 0x82, + 0x88, 0x01, 0xf5, 0x68, 0x15, 0xbf, 0x5e, 0xa1, 0xc2, 0xa3, 0xa2, 0x48, 0x0b, 0x53, 0x84, 0xd7, + 0x05, 0x2f, 0x34, 0x5b, 0x8e, 0x9e, 0x7a, 0x44, 0xc3, 0x67, 0xb5, 0x4b, 0x2e, 0xbf, 0xf4, 0x98, + 0x25, 0x8b, 0x16, 0xf7, 0x02, 0xef, 0xa2, 0x8c, 0x34, 0x88, 0x00, 0x9a, 0x40, 0x0d, 0xe4, 0xa1, + 0xf5, 0x1b, 0x2f, 0xbf, 0xec, 0x9a, 0xab, 0x5e, 0xfc, 0xd0, 0xda, 0x0d, 0xf5, 0x60, 0x62, 0x92, + 0xde, 0x3a, 0xfb, 0xec, 0xb3, 0x2f, 0x79, 0xa6, 0x3c, 0xb4, 0x76, 0x2d, 0xa3, 0x13, 0x2d, 0x6a, + 0xb5, 0x14, 0xd4, 0x23, 0xd6, 0x12, 0xa2, 0x18, 0x17, 0x20, 0x48, 0x61, 0x3b, 0x2a, 0x44, 0x77, + 0x4f, 0xde, 0x72, 0x33, 0x45, 0xf7, 0x0a, 0x15, 0xf6, 0x6a, 0x4c, 0xed, 0xf7, 0x0e, 0x46, 0x35, + 0xb7, 0xbf, 0xd0, 0x0c, 0x2e, 0x26, 0x42, 0x08, 0x81, 0x66, 0xab, 0x85, 0x05, 0xac, 0xb5, 0x34, + 0x9b, 0x39, 0xcb, 0x17, 0x0d, 0xf2, 0xeb, 0x2f, 0x79, 0xc9, 0xe8, 0xd3, 0x0e, 0xdc, 0xef, 0x5e, + 0x66, 0x96, 0x9b, 0x2c, 0x47, 0x89, 0x4f, 0x3f, 0xe3, 0xd9, 0x3f, 0xfc, 0xd8, 0xdf, 0xff, 0xc3, + 0x73, 0x5f, 0xf9, 0x8a, 0x97, 0xff, 0xfd, 0x82, 0xc5, 0x7d, 0xf9, 0xce, 0xa1, 0x6d, 0xdc, 0x70, + 0xdd, 0x75, 0x48, 0x64, 0x39, 0xf1, 0xc4, 0x13, 0x58, 0x34, 0x50, 0x07, 0x02, 0x96, 0x18, 0x09, + 0x01, 0xc9, 0x03, 0xd6, 0x09, 0xa2, 0xd3, 0xb2, 0xb8, 0xf3, 0x01, 0x47, 0x40, 0x0d, 0x65, 0xb4, + 0xce, 0x13, 0x78, 0x57, 0x2a, 0x54, 0xf8, 0x15, 0x41, 0x27, 0xd9, 0x29, 0x65, 0x79, 0x55, 0x20, + 0x44, 0xd3, 0x3f, 0xce, 0x8c, 0xac, 0x03, 0x45, 0x83, 0x43, 0x43, 0x41, 0xd5, 0x42, 0xc1, 0x31, + 0x23, 0x11, 0xac, 0x2a, 0x21, 0x04, 0xe2, 0xd8, 0x10, 0x19, 0x61, 0xff, 0xd5, 0xfb, 0xf3, 0x27, + 0x6f, 0x7d, 0xeb, 0x3b, 0xdf, 0xf9, 0xb6, 0x37, 0x9f, 0xdd, 0x39, 0x42, 0x21, 0x12, 0x17, 0x73, + 0x66, 0xab, 0x06, 0x17, 0xdf, 0xb3, 0x6a, 0x70, 0xf1, 0xa2, 0xa5, 0xbd, 0xc9, 0x8d, 0x97, 0xfc, + 0xe8, 0x7b, 0xc3, 0xad, 0x5c, 0x97, 0xe6, 0x21, 0x67, 0x9f, 0xd5, 0xcb, 0x89, 0x35, 0xe5, 0xae, + 0xbb, 0x6f, 0x23, 0xcf, 0x1c, 0x46, 0x04, 0xeb, 0x3d, 0x9a, 0x2b, 0x16, 0x41, 0x4a, 0x97, 0x49, + 0xaf, 0x20, 0xea, 0xda, 0xa9, 0x57, 0xc1, 0x4b, 0x55, 0x5b, 0xa7, 0xc2, 0x5e, 0x0c, 0x29, 0x23, + 0xd7, 0x20, 0x57, 0xc5, 0x18, 0x10, 0x2b, 0x53, 0xf9, 0x07, 0xbb, 0x39, 0xac, 0x14, 0x92, 0x69, + 0x94, 0x21, 0x58, 0x40, 0xb0, 0x58, 0x92, 0xce, 0x2a, 0xec, 0x02, 0xea, 0x03, 0x2e, 0x28, 0x0f, + 0xaf, 0xdf, 0xc4, 0xa7, 0x3e, 0xfe, 0x4f, 0x6f, 0xea, 0xed, 0x35, 0xfe, 0x6f, 0x3e, 0xfc, 0xff, + 0xbe, 0xd0, 0x1e, 0xa5, 0xeb, 0x19, 0x70, 0xc7, 0x1d, 0x77, 0x7f, 0xef, 0xd2, 0xcb, 0xae, 0x3c, + 0xfd, 0x47, 0xd7, 0xfd, 0x38, 0xdf, 0x39, 0xba, 0xb3, 0xb7, 0xa7, 0x5e, 0x67, 0xd9, 0xb2, 0x15, + 0x6c, 0xdc, 0xb8, 0x99, 0xa1, 0xed, 0xc3, 0x8c, 0x8c, 0xb7, 0xa8, 0xc5, 0x11, 0xa1, 0x1d, 0x86, + 0x53, 0x3e, 0x49, 0x32, 0x3a, 0x24, 0x01, 0x81, 0x48, 0x05, 0xa3, 0x10, 0x3c, 0x45, 0x00, 0x40, + 0x85, 0x0a, 0x7b, 0x19, 0x66, 0xaa, 0x68, 0xda, 0xef, 0x3b, 0x6b, 0xeb, 0x84, 0x39, 0x94, 0xae, + 0x12, 0x09, 0x22, 0x8a, 0x16, 0xd9, 0xbb, 0x67, 0x18, 0x59, 0x84, 0x10, 0x1c, 0x51, 0x2c, 0x8c, + 0x8e, 0x6c, 0xe3, 0xdb, 0x17, 0x5f, 0x72, 0xc2, 0x92, 0xc1, 0x81, 0xf7, 0xfe, 0x0d, 0xcc, 0x4d, + 0xb0, 0xf7, 0xdf, 0xf7, 0xc0, 0xd2, 0xff, 0xfe, 0xf6, 0x7f, 0xf7, 0xdc, 0x74, 0xe7, 0x5d, 0x88, + 0x44, 0x2c, 0x59, 0x3c, 0xc0, 0xd3, 0x0e, 0x79, 0x1a, 0xda, 0xc8, 0xb9, 0xf7, 0xfe, 0xbb, 0x19, + 0x1b, 0x1d, 0x27, 0x5d, 0xb2, 0x98, 0x4c, 0xa7, 0x23, 0x61, 0x75, 0x6a, 0xaa, 0xe2, 0x7d, 0x2b, + 0x94, 0x7e, 0x14, 0x42, 0xa1, 0x4d, 0xae, 0x3c, 0x9d, 0x2a, 0x54, 0x98, 0x46, 0x27, 0x67, 0x9b, + 0xf9, 0x93, 0x2a, 0xd6, 0x58, 0x62, 0x6b, 0x88, 0x93, 0x64, 0x63, 0xad, 0xbe, 0xf0, 0x63, 0xb9, + 0x26, 0x0f, 0x76, 0xb6, 0x69, 0xdb, 0x61, 0x2d, 0xc0, 0xc9, 0xa7, 0x9e, 0x78, 0xe5, 0xbb, 0xfe, + 0xe4, 0x4f, 0xdf, 0xf6, 0xea, 0xdf, 0x78, 0xe5, 0x85, 0x7d, 0xfd, 0xbd, 0x6e, 0xdb, 0xce, 0x1d, + 0xdc, 0x72, 0xf3, 0xcd, 0xb8, 0x90, 0x71, 0xf4, 0xe1, 0x47, 0xb1, 0x78, 0xc9, 0x00, 0x01, 0x3f, + 0x2b, 0x39, 0x46, 0x7b, 0xea, 0xc2, 0x9e, 0x04, 0x26, 0x32, 0x25, 0xc5, 0x3e, 0xe1, 0x97, 0x5b, + 0xa1, 0xc2, 0x5e, 0x0d, 0x63, 0x84, 0xa0, 0xca, 0x3e, 0xfb, 0x1f, 0x30, 0x7e, 0xef, 0xcf, 0xae, + 0xfa, 0xd4, 0x6d, 0xd7, 0xfd, 0xf0, 0x5b, 0x9d, 0xbf, 0x77, 0x99, 0x75, 0x56, 0xad, 0x5c, 0xf9, + 0x8e, 0x97, 0x9d, 0xb3, 0x92, 0x13, 0x8f, 0x7e, 0xfa, 0x15, 0x57, 0x5d, 0x7b, 0xd5, 0x69, 0x43, + 0x43, 0x23, 0x8b, 0x27, 0x1b, 0x93, 0xac, 0xd9, 0xff, 0x40, 0x6a, 0x51, 0x0f, 0x6b, 0x37, 0x3c, + 0xc4, 0xe8, 0xe4, 0xe4, 0x2c, 0xed, 0x97, 0xa2, 0xe4, 0x52, 0xf8, 0x6c, 0xd4, 0xe3, 0x08, 0x1b, + 0x45, 0xa8, 0x16, 0x9e, 0x1f, 0x65, 0xf4, 0x50, 0x85, 0x0a, 0x15, 0x1e, 0x05, 0xde, 0x2b, 0x71, + 0x04, 0xa8, 0x92, 0x37, 0xdd, 0xa1, 0xe7, 0x7f, 0xe4, 0x1f, 0x2e, 0xaf, 0x47, 0xfc, 0xdd, 0x3b, + 0xde, 0xf9, 0xf6, 0x29, 0x6f, 0xa7, 0xc2, 0xac, 0xd3, 0x6c, 0x9a, 0x5a, 0xad, 0x16, 0x1e, 0x7e, + 0x78, 0xfd, 0x87, 0x7e, 0x78, 0xf9, 0x8f, 0xcf, 0xbc, 0xec, 0xaa, 0x1f, 0xc9, 0xe4, 0xd8, 0xe4, + 0xc2, 0x5a, 0xad, 0xc6, 0x82, 0x05, 0x8b, 0xd9, 0xbe, 0x6d, 0x27, 0x13, 0x13, 0xeb, 0x18, 0x6d, + 0x8e, 0x81, 0x28, 0x31, 0xb6, 0xcb, 0x8f, 0xd2, 0x22, 0x18, 0x0d, 0x18, 0x15, 0xd4, 0x44, 0x24, + 0xd6, 0x54, 0xcc, 0xb5, 0xc2, 0x5e, 0x8d, 0xe2, 0x08, 0xd8, 0xcd, 0x89, 0x24, 0x80, 0xf1, 0xcc, + 0x2f, 0x59, 0x0a, 0x68, 0xa6, 0x10, 0x47, 0x68, 0x64, 0x8b, 0x6a, 0x75, 0xed, 0xca, 0xed, 0x14, + 0xdc, 0xd5, 0xf9, 0x40, 0x2d, 0x8e, 0xd8, 0xb0, 0x6e, 0x2d, 0xff, 0xf1, 0xef, 0x5f, 0x3b, 0x65, + 0xe5, 0xd2, 0x65, 0x9f, 0x7a, 0xc7, 0x3b, 0xdf, 0xfe, 0x2d, 0x3a, 0xed, 0xb0, 0x14, 0x7c, 0xb0, + 0x71, 0xf3, 0x5d, 0xb7, 0xdc, 0xfa, 0xd9, 0x2f, 0x7f, 0xf1, 0xbd, 0x77, 0xdd, 0x7d, 0x3f, 0x4a, + 0x60, 0xc9, 0xe0, 0x0a, 0x8e, 0x39, 0xea, 0x48, 0x54, 0x95, 0x3b, 0xef, 0xbe, 0x8b, 0xe1, 0xb1, + 0x71, 0x16, 0x2d, 0x58, 0x58, 0x1c, 0x9c, 0x3b, 0xd6, 0xe1, 0x99, 0x56, 0x53, 0xc3, 0xe3, 0x8e, + 0x3c, 0xaa, 0x50, 0xe1, 0xc9, 0x8d, 0xb6, 0x06, 0x69, 0xbe, 0xfd, 0xaf, 0x20, 0x89, 0x20, 0xd6, + 0x83, 0x3a, 0x84, 0x08, 0x4f, 0x84, 0x2f, 0x03, 0xe1, 0xad, 0x11, 0x94, 0x40, 0xe6, 0x72, 0x6a, + 0x3d, 0x3d, 0x23, 0x49, 0x7d, 0xc1, 0x65, 0x99, 0x70, 0x13, 0x1d, 0x27, 0xd0, 0xb6, 0x48, 0xdc, + 0x00, 0x38, 0xe1, 0x98, 0x13, 0x9e, 0xf7, 0xbb, 0xbf, 0x77, 0xde, 0xf8, 0x35, 0x57, 0x5f, 0x13, + 0x5f, 0xfc, 0xfd, 0xef, 0x25, 0x3b, 0x46, 0x76, 0xc9, 0x1d, 0x77, 0xdc, 0xc6, 0x01, 0xfb, 0x3e, + 0x8d, 0xc5, 0x83, 0xcb, 0x19, 0x9b, 0x1c, 0x2f, 0x62, 0x5f, 0x6b, 0x49, 0x25, 0xe6, 0x56, 0x78, + 0x8a, 0xe3, 0x71, 0x70, 0x25, 0x81, 0x90, 0x95, 0x89, 0xd8, 0x92, 0x18, 0x6f, 0x2d, 0x4e, 0x03, + 0x81, 0x82, 0x10, 0x0d, 0x42, 0x44, 0x4c, 0x40, 0x58, 0xba, 0x6c, 0xf9, 0x0d, 0x3f, 0xbd, 0xe6, + 0x87, 0xaf, 0x68, 0x77, 0x6d, 0x36, 0x9b, 0x71, 0xad, 0x56, 0xeb, 0x2e, 0x1c, 0x70, 0xc0, 0xea, + 0x7d, 0xff, 0xe4, 0x0f, 0x5e, 0xff, 0xaa, 0xfe, 0xbf, 0xf8, 0xf3, 0xf7, 0x9e, 0xd9, 0xbf, 0x70, + 0xf1, 0xae, 0x56, 0xb3, 0xc9, 0xd8, 0xe4, 0x24, 0xab, 0xd7, 0xac, 0xe1, 0xd8, 0xa3, 0x8f, 0xa6, + 0xaf, 0xaf, 0x8e, 0x20, 0xe4, 0x2d, 0xad, 0x14, 0x4a, 0x15, 0x9e, 0xd2, 0x30, 0x02, 0x9a, 0x83, + 0x1f, 0x7f, 0xbc, 0x85, 0xcb, 0x8b, 0x0e, 0x06, 0x48, 0x80, 0x04, 0xc1, 0xa8, 0x62, 0x8d, 0x92, + 0xd8, 0x80, 0xcb, 0xdd, 0x9a, 0x4f, 0x7f, 0xfa, 0x6b, 0x6f, 0xb8, 0xe8, 0x3b, 0x17, 0x3f, 0xb7, + 0xec, 0xe0, 0x60, 0x86, 0x59, 0x67, 0xdb, 0xf6, 0x5d, 0x2f, 0xbc, 0xe8, 0x07, 0x17, 0x1f, 0x7d, + 0xc5, 0x95, 0x3f, 0x39, 0xa6, 0xd1, 0x68, 0xf4, 0x1a, 0x6b, 0x20, 0x04, 0x76, 0xed, 0xdc, 0x8e, + 0xcb, 0x95, 0xd1, 0xc9, 0x06, 0xc6, 0x18, 0x6a, 0x55, 0xe6, 0x97, 0x0a, 0x4f, 0x71, 0x04, 0x55, + 0xc4, 0x0a, 0xa6, 0x06, 0x61, 0x4f, 0xfd, 0x70, 0x15, 0x4c, 0x0a, 0x62, 0x04, 0xd5, 0x16, 0x91, + 0x46, 0xc4, 0xd4, 0xa6, 0x02, 0xd8, 0xad, 0x11, 0x5c, 0x70, 0x18, 0x49, 0xd9, 0xb6, 0x65, 0xcb, + 0xa1, 0xff, 0xf2, 0x85, 0xcf, 0x7c, 0x69, 0xf5, 0xaa, 0x95, 0x0f, 0x9e, 0x7d, 0xce, 0x59, 0x87, + 0xd4, 0x6a, 0xb5, 0xae, 0x33, 0x2c, 0x00, 0xb7, 0xdd, 0x7b, 0xef, 0xaf, 0x7f, 0xe9, 0xcb, 0x5f, + 0xf9, 0x83, 0x9b, 0x6f, 0xb9, 0x05, 0xa2, 0x88, 0x55, 0x2b, 0x56, 0xf0, 0x9c, 0x67, 0x9c, 0x8e, + 0xe6, 0x70, 0xfb, 0xbd, 0xb7, 0xe2, 0x32, 0x4f, 0x5f, 0x6f, 0x0d, 0x1b, 0x15, 0x9e, 0x1a, 0x02, + 0x78, 0x3c, 0x4a, 0xd6, 0xed, 0xaa, 0xa5, 0xc5, 0x93, 0xa3, 0x0a, 0xd6, 0xa9, 0xb0, 0x37, 0xa3, + 0xf0, 0x35, 0x28, 0x79, 0x65, 0xbb, 0xa2, 0xa3, 0xa1, 0xc3, 0x8b, 0x62, 0xff, 0x94, 0xba, 0x04, + 0x00, 0x00, 0x20, 0x00, 0x49, 0x44, 0x41, 0x54, 0x76, 0x1f, 0x75, 0x40, 0x54, 0x74, 0x0c, 0x18, + 0x3c, 0xd3, 0xc7, 0xde, 0xe0, 0x95, 0x10, 0x20, 0x88, 0xa7, 0x5e, 0x4f, 0xc8, 0x35, 0x77, 0x3b, + 0x47, 0x47, 0xee, 0x64, 0x0e, 0x5f, 0x62, 0x00, 0x6a, 0x91, 0xbd, 0xfe, 0xf4, 0xd3, 0x9e, 0xc3, + 0xa9, 0xa7, 0x3c, 0x97, 0xc8, 0x24, 0x4c, 0x8c, 0x4c, 0xf2, 0xd0, 0xba, 0xb5, 0x34, 0x26, 0x26, + 0xe8, 0xe9, 0xed, 0xc7, 0x46, 0x1e, 0xaf, 0x39, 0xf8, 0x08, 0xa4, 0x48, 0x78, 0x6c, 0xb0, 0x08, + 0xc9, 0x54, 0x91, 0x69, 0x0d, 0x0e, 0x1f, 0x42, 0xe9, 0x7c, 0x55, 0xa1, 0xc2, 0xde, 0x0b, 0x0d, + 0xda, 0x65, 0xe2, 0x54, 0x0b, 0x21, 0x56, 0x54, 0x14, 0x35, 0xc5, 0xbf, 0x5d, 0x68, 0xfb, 0x31, + 0xaa, 0x80, 0x14, 0x49, 0x0a, 0x1b, 0x04, 0xda, 0xe9, 0x1f, 0xbc, 0x2f, 0x73, 0x13, 0xab, 0x63, + 0xc9, 0x8a, 0x95, 0x5b, 0x3f, 0xf8, 0x97, 0xef, 0x79, 0xc5, 0xb5, 0x3f, 0xfa, 0xde, 0xaf, 0x77, + 0x0e, 0x31, 0x45, 0xb0, 0xcd, 0x66, 0x93, 0x67, 0x9d, 0x72, 0xd2, 0x97, 0x3f, 0xf8, 0xbe, 0x3f, + 0x3f, 0xec, 0x3d, 0xef, 0xf9, 0x8b, 0xf3, 0x16, 0x2f, 0x1e, 0xdc, 0x35, 0x34, 0x36, 0xc2, 0x83, + 0x0f, 0x3c, 0xc0, 0xe0, 0xe0, 0x20, 0xa7, 0x9c, 0x74, 0x32, 0x3d, 0x49, 0x6f, 0xe1, 0x37, 0x99, + 0x67, 0xb3, 0x17, 0x02, 0xa0, 0x90, 0xf9, 0x22, 0x83, 0x62, 0x4e, 0xc5, 0x61, 0x2b, 0xec, 0xbd, + 0x50, 0xd5, 0xd2, 0xcd, 0x90, 0x2e, 0x71, 0x58, 0xbc, 0x60, 0xf2, 0xf2, 0xe5, 0xe6, 0x62, 0xb1, + 0x02, 0x99, 0x43, 0x7d, 0xc0, 0x88, 0x50, 0x47, 0x48, 0xcb, 0x94, 0x10, 0x69, 0x2a, 0x18, 0xa3, + 0xc4, 0x71, 0x4c, 0x1c, 0x45, 0x3b, 0x9e, 0x71, 0xc2, 0x33, 0xee, 0xb9, 0xfd, 0xce, 0xbb, 0x06, + 0x7d, 0x87, 0x24, 0x3c, 0xf5, 0xa6, 0x56, 0xab, 0x31, 0xdc, 0xf0, 0xb5, 0x07, 0xef, 0xb9, 0xfb, + 0xf8, 0x9b, 0x6e, 0xbc, 0x71, 0x8d, 0xf7, 0x1a, 0xc7, 0x91, 0x45, 0x0d, 0x8c, 0x65, 0x4d, 0xb2, + 0x10, 0x70, 0x9a, 0x23, 0xc1, 0x60, 0x65, 0x46, 0xfa, 0xa9, 0x8e, 0xc4, 0x6c, 0x8a, 0xe0, 0xab, + 0x20, 0x9d, 0x0a, 0x4f, 0x05, 0xcc, 0x67, 0xc2, 0x91, 0x8e, 0xd7, 0xcc, 0x2e, 0x9e, 0xa9, 0x1f, + 0x04, 0xc1, 0x96, 0x05, 0x6f, 0x14, 0xf0, 0x4e, 0x48, 0x93, 0x14, 0xc1, 0xb3, 0x65, 0xe3, 0xe6, + 0x23, 0xcf, 0x7d, 0xc3, 0xeb, 0x6f, 0x5f, 0xb1, 0x6c, 0xd1, 0x4f, 0xfe, 0xeb, 0xab, 0xff, 0xf9, + 0xa2, 0x76, 0xff, 0xae, 0x33, 0xec, 0x5d, 0x77, 0xdc, 0xbe, 0xe6, 0xef, 0xfe, 0xfe, 0x1f, 0xbf, + 0x7a, 0xeb, 0xcf, 0x6e, 0x63, 0xe7, 0xd0, 0x10, 0x4b, 0x17, 0x2c, 0xe6, 0xc0, 0x03, 0x0e, 0x66, + 0xf3, 0xc6, 0xcd, 0xac, 0xdf, 0xb2, 0x9e, 0x91, 0xc9, 0x49, 0x06, 0xfa, 0x16, 0x22, 0xd2, 0x1d, + 0x37, 0xa4, 0xce, 0x77, 0x85, 0x26, 0x98, 0xca, 0x2b, 0xb1, 0x42, 0x85, 0xd9, 0x50, 0x8a, 0xc8, + 0x36, 0x23, 0x20, 0x39, 0xa2, 0x8a, 0x16, 0xe5, 0x31, 0x50, 0x55, 0x9c, 0x53, 0x44, 0x72, 0xac, + 0x45, 0x2d, 0x59, 0xeb, 0x81, 0x87, 0x1f, 0xd6, 0x46, 0xd6, 0xa8, 0x87, 0x10, 0x72, 0x63, 0x0a, + 0x26, 0xd9, 0xc5, 0x2a, 0xb7, 0xec, 0xd8, 0x3e, 0x3c, 0xb4, 0x6b, 0xd7, 0x85, 0x49, 0xbd, 0xee, + 0xe2, 0x38, 0x22, 0x53, 0x4f, 0x2b, 0x73, 0x4c, 0x4e, 0x4e, 0x12, 0x32, 0xc5, 0xe4, 0x06, 0xdf, + 0x12, 0x42, 0x68, 0x02, 0x61, 0x2a, 0xcd, 0x69, 0x51, 0x92, 0xa0, 0x20, 0xd1, 0xd4, 0x74, 0x3c, + 0x5c, 0x2a, 0x36, 0x5b, 0x61, 0x2f, 0x85, 0x88, 0x14, 0x29, 0x90, 0x76, 0xb3, 0xc7, 0x67, 0x05, + 0xb0, 0x0b, 0x68, 0xae, 0xa8, 0x46, 0xa8, 0x49, 0x51, 0x4c, 0x19, 0xd5, 0x13, 0x08, 0x21, 0x90, + 0xa6, 0x86, 0xc2, 0x7f, 0x50, 0xf3, 0xc8, 0x46, 0x2f, 0xd9, 0xf8, 0xe0, 0xdd, 0x3d, 0x6b, 0x8e, + 0x39, 0xe9, 0x39, 0xc3, 0xa3, 0x13, 0x53, 0x43, 0x74, 0x11, 0xec, 0xcb, 0xcf, 0x7a, 0xc1, 0xe6, + 0x1f, 0x5f, 0xf2, 0xed, 0x73, 0xce, 0x7f, 0xff, 0x5f, 0xbe, 0x65, 0xf9, 0x3e, 0xab, 0xc7, 0xc7, + 0xc7, 0x46, 0xd8, 0xb6, 0x75, 0x13, 0x07, 0x1c, 0xf8, 0x34, 0x4e, 0x3e, 0xf5, 0x54, 0x16, 0x2e, + 0x1a, 0xc4, 0x87, 0xa2, 0xd4, 0xa4, 0xd8, 0x84, 0x3c, 0x16, 0x42, 0x02, 0xea, 0x9b, 0x88, 0x17, + 0xc4, 0x1a, 0x9c, 0x0a, 0x46, 0x0c, 0x22, 0x60, 0xe3, 0xaa, 0x4a, 0x47, 0x85, 0xa7, 0x10, 0x14, + 0xd4, 0xb6, 0x0b, 0x3a, 0x43, 0x1c, 0xcf, 0x21, 0x6a, 0x4e, 0xc5, 0xd3, 0x95, 0x6c, 0xad, 0x4c, + 0x11, 0x63, 0xad, 0x25, 0x84, 0x80, 0xb5, 0x16, 0x0b, 0xd1, 0x3e, 0xab, 0x56, 0xbf, 0xed, 0xb6, + 0xfb, 0xd6, 0xbd, 0xe8, 0xbf, 0xff, 0xf9, 0xef, 0xc2, 0xe2, 0x81, 0xfe, 0x29, 0x2a, 0xea, 0x22, + 0xd8, 0x96, 0xf7, 0xb5, 0xed, 0xdb, 0x77, 0x9e, 0xba, 0x72, 0xe9, 0xb2, 0x3c, 0x35, 0x38, 0x6c, + 0x8e, 0x49, 0x6b, 0x88, 0x40, 0xab, 0xd1, 0xc2, 0x9a, 0x9c, 0x9e, 0x44, 0xe9, 0xa9, 0xf7, 0x16, + 0xf5, 0xdf, 0x4d, 0x84, 0x37, 0x9e, 0x38, 0xd1, 0xf2, 0xd8, 0x6c, 0x8a, 0x5a, 0x97, 0xd6, 0x10, + 0xe6, 0x2c, 0x46, 0x59, 0xa1, 0xc2, 0xde, 0x01, 0x55, 0x90, 0x4e, 0x13, 0x0e, 0xc5, 0xfb, 0x76, + 0x41, 0xe7, 0x99, 0xf9, 0xf5, 0x8b, 0x4e, 0x60, 0x6a, 0x82, 0x89, 0x1c, 0xa2, 0x0d, 0x04, 0xd7, + 0x35, 0x80, 0x94, 0xe9, 0x62, 0x1a, 0x2d, 0x6f, 0xd6, 0x6f, 0xd8, 0x76, 0xce, 0xf9, 0xef, 0x7f, + 0xff, 0x45, 0xe7, 0xbd, 0xe9, 0x0f, 0xbf, 0xda, 0x39, 0x44, 0xd7, 0x61, 0xf4, 0xce, 0x7b, 0xef, + 0xde, 0xff, 0xf3, 0x5f, 0xfc, 0xf2, 0x8f, 0xee, 0xb8, 0xe3, 0xde, 0x74, 0xd3, 0xf6, 0x4d, 0x24, + 0x26, 0x25, 0xcb, 0xc6, 0xb8, 0xf1, 0x67, 0x57, 0xe3, 0x5d, 0x60, 0x64, 0x74, 0x27, 0xf5, 0xb4, + 0x97, 0x66, 0x98, 0x00, 0x8a, 0xb2, 0x02, 0xaa, 0x96, 0xcc, 0x83, 0xda, 0x80, 0xfa, 0x80, 0x06, + 0x08, 0x26, 0x10, 0x19, 0x21, 0xcb, 0x81, 0x1a, 0x95, 0x68, 0x5c, 0x61, 0xef, 0xc3, 0x6e, 0xfc, + 0x85, 0xa7, 0xde, 0xce, 0xe5, 0x10, 0xd8, 0x75, 0x5e, 0x9c, 0x11, 0x3c, 0x20, 0xe0, 0x9c, 0x92, + 0xa4, 0x29, 0x93, 0x93, 0xe3, 0xfc, 0xe8, 0xea, 0xab, 0xed, 0x9a, 0xd5, 0xab, 0x9e, 0x41, 0x47, + 0xe8, 0x79, 0x3b, 0x5a, 0x07, 0x80, 0xfb, 0x1e, 0x7c, 0x60, 0xed, 0x95, 0xd7, 0x5e, 0xf3, 0xfc, + 0x89, 0xf1, 0xc9, 0xc5, 0x07, 0x1f, 0x72, 0x90, 0x5a, 0x27, 0x13, 0x5b, 0xb7, 0x6f, 0x1f, 0x6e, + 0x84, 0x31, 0x13, 0x22, 0x1f, 0x96, 0xaf, 0x59, 0x99, 0x1e, 0x77, 0xd8, 0xb1, 0x47, 0x6f, 0xdd, + 0xbc, 0xf5, 0xc3, 0xeb, 0x36, 0x3f, 0x34, 0xe8, 0x5a, 0x2d, 0x12, 0x6b, 0x8b, 0x0c, 0x8a, 0xb9, + 0x07, 0x09, 0xa8, 0x28, 0x3e, 0xf3, 0x44, 0x01, 0xbc, 0x54, 0xb4, 0x5a, 0xa1, 0xc2, 0x9e, 0xc0, + 0x39, 0xc5, 0x5a, 0xc1, 0x5a, 0x21, 0xcf, 0x26, 0xd9, 0xff, 0x80, 0xfd, 0x79, 0xfe, 0xf3, 0x9f, + 0xff, 0x5f, 0xdb, 0xb6, 0x0d, 0x9d, 0x4f, 0x07, 0x19, 0x75, 0x72, 0x58, 0xf3, 0xea, 0x97, 0xfe, + 0x46, 0xf6, 0xea, 0x97, 0xfe, 0xc6, 0xd5, 0x8f, 0x32, 0xf6, 0xb5, 0xaf, 0x38, 0xf7, 0xf7, 0xce, + 0xb5, 0xaa, 0xcf, 0x8e, 0x4d, 0x4c, 0x1e, 0x72, 0x6a, 0x52, 0x24, 0x62, 0x13, 0x0a, 0x63, 0x72, + 0x33, 0xcf, 0x08, 0x15, 0xa5, 0x56, 0xa8, 0xf0, 0xe8, 0x90, 0xc2, 0xc3, 0xa9, 0xcc, 0x1c, 0x8c, + 0x2a, 0xe4, 0xce, 0xb3, 0xdf, 0x01, 0x07, 0xf1, 0xc6, 0xdf, 0xfd, 0xfd, 0xcb, 0x0e, 0x3f, 0x68, + 0xd5, 0x1d, 0x74, 0x70, 0x58, 0x03, 0x85, 0x0d, 0xb6, 0xed, 0xab, 0x38, 0x13, 0x9e, 0x06, 0x81, + 0x89, 0xae, 0xb3, 0x6e, 0xb3, 0x91, 0xed, 0x0c, 0x41, 0xb0, 0x26, 0x2a, 0x46, 0x92, 0x8e, 0x74, + 0xe2, 0x79, 0x8b, 0xd0, 0xca, 0xca, 0x4a, 0x59, 0xd5, 0x09, 0xb6, 0xc2, 0x53, 0x0c, 0x8f, 0xb6, + 0xe5, 0x55, 0xa6, 0x5e, 0x82, 0x4c, 0xe5, 0xf3, 0xb6, 0x56, 0xc8, 0x73, 0x2d, 0x95, 0x55, 0x31, + 0xf7, 0xde, 0x77, 0x3f, 0x1f, 0x38, 0xff, 0xaf, 0x8e, 0x7b, 0xe3, 0x1f, 0xfd, 0xe9, 0xa9, 0x23, + 0xbb, 0xc6, 0xfb, 0xda, 0xdd, 0x67, 0x25, 0x62, 0x9c, 0x09, 0x4b, 0x1d, 0x4f, 0x63, 0x06, 0x31, + 0x4b, 0xaf, 0x90, 0x92, 0x87, 0x51, 0x40, 0x09, 0x6a, 0x71, 0x14, 0x0e, 0xc4, 0x6a, 0x63, 0xe2, + 0xc4, 0x96, 0x4a, 0xa8, 0xa2, 0xba, 0x4e, 0xdb, 0x2e, 0x5b, 0x71, 0xdd, 0x0a, 0x7b, 0x0d, 0xe6, + 0xda, 0xcb, 0xca, 0x54, 0x05, 0x76, 0x51, 0xc8, 0x32, 0xa5, 0x56, 0xeb, 0xf8, 0x51, 0x22, 0xd4, + 0x09, 0x85, 0x35, 0x47, 0x31, 0xb1, 0xed, 0x0a, 0x82, 0xb7, 0xb6, 0x60, 0x7c, 0xf5, 0x5a, 0xca, + 0xc8, 0x8e, 0x6d, 0x5c, 0x71, 0xe5, 0xe8, 0x9b, 0x97, 0xad, 0x58, 0x71, 0x46, 0xdf, 0x82, 0x9e, + 0xa7, 0xb7, 0xdb, 0x3c, 0x2a, 0xc1, 0x42, 0x41, 0xb4, 0x9d, 0x48, 0xd3, 0x34, 0xc5, 0x18, 0xd4, + 0x87, 0x22, 0x11, 0xb2, 0x66, 0xa8, 0xf5, 0x88, 0x29, 0x5c, 0xb5, 0x02, 0x32, 0x65, 0xce, 0x69, + 0x13, 0xea, 0xe3, 0x29, 0xcd, 0x57, 0xa1, 0xc2, 0x93, 0x0a, 0x02, 0xe2, 0x64, 0xb7, 0x41, 0xec, + 0x92, 0x38, 0xc4, 0x04, 0x14, 0xc5, 0x77, 0x44, 0xeb, 0xc0, 0x74, 0xe2, 0x87, 0x3c, 0xf7, 0x0c, + 0x2c, 0x5c, 0xbc, 0xee, 0x90, 0x43, 0xf7, 0xff, 0xfc, 0x91, 0x87, 0x1d, 0xba, 0xc1, 0x5a, 0x33, + 0xe5, 0x0b, 0xbc, 0x47, 0x04, 0x3b, 0x6b, 0xd2, 0xb2, 0x42, 0x9d, 0x88, 0x65, 0xe6, 0xea, 0xc4, + 0x65, 0xb4, 0x73, 0x9b, 0x56, 0x09, 0x13, 0x2b, 0x54, 0x98, 0x81, 0x29, 0xe5, 0x70, 0x0d, 0x87, + 0x21, 0x27, 0x60, 0x05, 0xc4, 0x15, 0xce, 0xff, 0x7d, 0xf5, 0x84, 0x38, 0x82, 0x45, 0xcb, 0x96, + 0xdc, 0xf3, 0xfd, 0x6f, 0x7d, 0xfd, 0x43, 0x33, 0xbb, 0x3f, 0x7e, 0xc6, 0xa7, 0x10, 0x4b, 0x8a, + 0x99, 0x99, 0x29, 0x5c, 0x41, 0x25, 0xa0, 0x46, 0x09, 0x96, 0x4a, 0x4d, 0x5c, 0xa1, 0xc2, 0x2c, + 0x08, 0xe0, 0x30, 0x78, 0x12, 0x11, 0xf0, 0xa0, 0x62, 0x88, 0x93, 0x18, 0xaf, 0x06, 0xef, 0x85, + 0xd1, 0xe1, 0xa1, 0x63, 0xff, 0xe0, 0xed, 0xef, 0xfc, 0xf4, 0xf9, 0x1f, 0xfa, 0xc0, 0x5b, 0x3a, + 0x7b, 0x3e, 0x2e, 0x82, 0x2d, 0x0a, 0x5d, 0x09, 0x99, 0x36, 0x09, 0xda, 0x0e, 0xb7, 0x6f, 0xb3, + 0x75, 0x01, 0x1e, 0xc5, 0x67, 0xab, 0x42, 0x85, 0xbd, 0x06, 0x9d, 0xa1, 0x3a, 0x7b, 0xd0, 0x7c, + 0xca, 0x06, 0xeb, 0x88, 0x08, 0x24, 0x2a, 0xa4, 0x22, 0x24, 0x02, 0x11, 0x01, 0xef, 0x5b, 0x88, + 0x44, 0xec, 0xda, 0xb9, 0x73, 0xc5, 0xc5, 0x17, 0x5d, 0xfa, 0xa6, 0x4b, 0xae, 0xb8, 0xe9, 0xaf, + 0x3a, 0x47, 0x7e, 0x5c, 0x22, 0xb1, 0xb5, 0x01, 0x95, 0x1c, 0xc3, 0x74, 0x11, 0x2c, 0x34, 0xc2, + 0x88, 0xc7, 0xf9, 0x40, 0x68, 0xba, 0xe2, 0xe0, 0x3a, 0xd3, 0xd3, 0xa3, 0x42, 0x85, 0xbd, 0x05, + 0xa5, 0xae, 0x86, 0xd2, 0x79, 0x5f, 0xd4, 0x63, 0x72, 0x29, 0x32, 0xff, 0xc3, 0x3c, 0xfc, 0x2a, + 0x14, 0x59, 0x13, 0x23, 0x83, 0x44, 0x11, 0x41, 0x23, 0x9a, 0x14, 0x61, 0x76, 0x51, 0x99, 0x77, + 0x42, 0x80, 0x66, 0x6b, 0x8c, 0xa5, 0xcb, 0x56, 0x70, 0xe8, 0x11, 0x47, 0x3c, 0xb2, 0xa0, 0xde, + 0xff, 0x1f, 0x9d, 0xa3, 0x4d, 0x11, 0x6c, 0x59, 0xc1, 0x6e, 0x8f, 0x10, 0xd7, 0x6b, 0x4d, 0x6b, + 0x03, 0x9a, 0x85, 0x29, 0x1e, 0x1d, 0x11, 0xa3, 0xa5, 0x6b, 0x47, 0x94, 0xc4, 0x18, 0x63, 0x31, + 0xce, 0x15, 0x09, 0x6b, 0x2a, 0x66, 0x5b, 0x61, 0x2f, 0x83, 0x02, 0x1e, 0x83, 0x21, 0x46, 0xc9, + 0x50, 0x71, 0xc5, 0xf1, 0xb4, 0x83, 0x05, 0x76, 0x33, 0x5c, 0x01, 0x0d, 0x60, 0x42, 0xa1, 0x2d, + 0xd6, 0x22, 0x8f, 0x77, 0xd4, 0xd6, 0xf7, 0x74, 0x8c, 0x6c, 0x8c, 0x61, 0x9f, 0x95, 0x2b, 0x1f, + 0xfc, 0xee, 0xd7, 0xbe, 0x70, 0x06, 0xf0, 0x48, 0xe7, 0x28, 0x53, 0x22, 0xf1, 0x9e, 0x12, 0x2b, + 0x80, 0xc3, 0x4c, 0x84, 0x72, 0x39, 0xea, 0x8a, 0xbc, 0xc4, 0x85, 0x36, 0x38, 0x10, 0x47, 0x86, + 0x9e, 0xfe, 0x3e, 0x24, 0x8d, 0xf1, 0x21, 0x9b, 0xb5, 0xec, 0x0a, 0x15, 0xf6, 0x16, 0x94, 0x14, + 0x30, 0xf5, 0x59, 0x6d, 0x91, 0x22, 0xa6, 0xf3, 0x35, 0xab, 0x4f, 0x24, 0x88, 0x09, 0x14, 0x67, + 0x58, 0x25, 0x2a, 0x0d, 0xa0, 0x6d, 0xd4, 0xca, 0xc8, 0xb7, 0x6d, 0x43, 0x3b, 0xe4, 0x6d, 0xef, + 0x7e, 0xdf, 0x29, 0x7f, 0xf2, 0x17, 0xef, 0x39, 0xa6, 0xb3, 0xff, 0x7c, 0x22, 0xf1, 0x7c, 0x67, + 0xdb, 0x00, 0xf4, 0x26, 0x91, 0xdd, 0x4f, 0xd5, 0x63, 0x88, 0xf1, 0x59, 0x20, 0xb1, 0xe0, 0x25, + 0x47, 0x08, 0x38, 0x4f, 0x71, 0xc8, 0xf5, 0x1e, 0x89, 0x2c, 0x45, 0x95, 0xf6, 0x8a, 0xc9, 0x56, + 0xa8, 0x00, 0xcc, 0xaa, 0xad, 0x33, 0x55, 0x9b, 0xaa, 0xb4, 0xe9, 0x38, 0x1f, 0xb0, 0x62, 0x18, + 0xda, 0xbe, 0xf3, 0xc0, 0x8b, 0x2f, 0xbe, 0xe8, 0xbf, 0xf6, 0x5d, 0xb5, 0xfc, 0x7e, 0xe0, 0xd0, + 0x76, 0xd3, 0x59, 0x04, 0xfb, 0xca, 0xd7, 0xfe, 0xf6, 0xcb, 0x37, 0x6f, 0xdb, 0xfc, 0x77, 0x36, + 0xad, 0xed, 0x58, 0x32, 0xb0, 0xc4, 0xef, 0xb3, 0x62, 0x25, 0x1a, 0x0c, 0xa3, 0xc3, 0xbb, 0xf0, + 0x41, 0x7d, 0xdc, 0xd7, 0x3b, 0xb0, 0x73, 0xeb, 0x8e, 0x23, 0x05, 0x25, 0xd7, 0x09, 0x4c, 0xdd, + 0xd2, 0x20, 0x10, 0x9c, 0xa7, 0x88, 0xd6, 0x11, 0xbc, 0x77, 0x78, 0xe7, 0x8b, 0x0c, 0x55, 0x15, + 0x2a, 0x54, 0x98, 0x46, 0xdb, 0xf9, 0x5f, 0x0b, 0xfb, 0x8e, 0x20, 0xa8, 0x06, 0x9c, 0x77, 0x58, + 0x1b, 0xd1, 0xca, 0x73, 0x44, 0x22, 0xfa, 0x6b, 0xe9, 0x64, 0xda, 0x93, 0xde, 0xd5, 0x3b, 0xd0, + 0x7f, 0x8f, 0x06, 0x44, 0xcc, 0x3c, 0x04, 0x9b, 0xbb, 0xf0, 0x60, 0xd2, 0x53, 0xbb, 0xe6, 0x9e, + 0xfb, 0xd7, 0x9e, 0x7b, 0xe7, 0xf8, 0x3a, 0x79, 0xda, 0x41, 0x07, 0xb2, 0x62, 0xc5, 0x0a, 0x36, + 0x6f, 0xd8, 0xc2, 0x83, 0x0f, 0x3f, 0x48, 0x6f, 0x12, 0xb1, 0xef, 0x01, 0x07, 0x80, 0x49, 0x30, + 0x1a, 0x13, 0xa9, 0x21, 0x12, 0x30, 0x51, 0x84, 0x0f, 0x4d, 0x34, 0x28, 0xc6, 0x5a, 0x9c, 0x94, + 0xb5, 0x75, 0xaa, 0x94, 0xa8, 0x15, 0x2a, 0x14, 0x28, 0x73, 0x19, 0x97, 0xfe, 0x87, 0x78, 0x63, + 0x69, 0x11, 0x0a, 0x87, 0x85, 0x00, 0xc6, 0x28, 0x69, 0x62, 0xc1, 0xc0, 0xbe, 0x07, 0xee, 0x7b, + 0xdf, 0x75, 0x97, 0x7e, 0xe7, 0x24, 0x80, 0xe0, 0x31, 0xed, 0x83, 0xe5, 0x2c, 0xd1, 0xf7, 0x5b, + 0x5f, 0xff, 0xca, 0xcf, 0x2e, 0xff, 0xce, 0x85, 0xbf, 0x7d, 0xc0, 0x9a, 0x03, 0x1f, 0xda, 0x35, + 0xb9, 0x83, 0x4d, 0x9b, 0xb6, 0xb2, 0xdf, 0xbe, 0x07, 0xf2, 0xac, 0x53, 0x9f, 0xcb, 0xf2, 0xa5, + 0xab, 0x21, 0x5a, 0x80, 0x95, 0x1e, 0xac, 0x5a, 0x8c, 0xb5, 0x78, 0xf1, 0x04, 0x51, 0xac, 0xc6, + 0x18, 0x22, 0x22, 0xe3, 0xf1, 0x65, 0x82, 0xa9, 0x8a, 0x52, 0x2b, 0xec, 0xb5, 0x28, 0x2a, 0x96, + 0x23, 0x34, 0xb1, 0xe2, 0x49, 0x8c, 0xc1, 0x66, 0xd2, 0xfd, 0xca, 0x65, 0x56, 0x17, 0x75, 0x90, + 0x44, 0x11, 0xa9, 0xa4, 0xc4, 0x6a, 0xb1, 0x5a, 0x64, 0x3d, 0x4d, 0x92, 0x04, 0x00, 0x11, 0x83, + 0x51, 0xc5, 0x4d, 0x36, 0x0e, 0xff, 0xd8, 0x67, 0xbe, 0xf8, 0x91, 0x9f, 0xdc, 0x78, 0xcb, 0x8b, + 0x40, 0xd3, 0xf6, 0x18, 0xb3, 0x38, 0xec, 0xe7, 0xfe, 0xe5, 0xdf, 0x56, 0x3e, 0xbc, 0x6d, 0xfd, + 0x1b, 0x77, 0xee, 0xda, 0xb5, 0x3c, 0x4a, 0x2c, 0x51, 0x0a, 0x3b, 0xb6, 0x6f, 0x23, 0x8a, 0xea, + 0x04, 0xa3, 0x68, 0xa4, 0xe4, 0xa1, 0x59, 0x68, 0xbc, 0x9c, 0xa2, 0x62, 0xc8, 0x04, 0x1c, 0x39, + 0x81, 0x0c, 0x17, 0x94, 0xa0, 0x8a, 0xd2, 0xa2, 0xc8, 0x9d, 0x58, 0xb1, 0xd8, 0x0a, 0x7b, 0x2b, + 0xda, 0x85, 0x57, 0x0b, 0xa5, 0xeb, 0x5c, 0x59, 0x4d, 0xbb, 0x3e, 0x4b, 0x19, 0x8d, 0x93, 0x7b, + 0xd2, 0xd4, 0x63, 0x98, 0xf6, 0x25, 0x56, 0x0d, 0x88, 0x08, 0xb9, 0x73, 0xd4, 0x93, 0x1a, 0x5b, + 0xb6, 0xec, 0x4c, 0xbf, 0xf0, 0x6f, 0x5f, 0x78, 0xf7, 0xf7, 0xbf, 0xbf, 0xf4, 0x25, 0x97, 0x7c, + 0xeb, 0x82, 0xe3, 0xda, 0x63, 0xcc, 0x22, 0xd8, 0x2f, 0x7c, 0xe3, 0xab, 0x2f, 0xd9, 0xb8, 0x75, + 0xc3, 0x5f, 0x6d, 0x19, 0x1e, 0x66, 0xe5, 0xf2, 0x55, 0x9c, 0x78, 0xcc, 0x49, 0x04, 0x0c, 0xb7, + 0xdc, 0x76, 0x2b, 0x9b, 0xb7, 0x6e, 0x67, 0x41, 0x5f, 0x1f, 0x79, 0xee, 0x70, 0x59, 0x86, 0xc9, + 0xb5, 0xe0, 0xd5, 0x22, 0x85, 0xae, 0x4b, 0x05, 0x17, 0xa6, 0x73, 0xc2, 0x55, 0xa8, 0x50, 0xa1, + 0x1b, 0x22, 0xe0, 0x9d, 0x12, 0xe2, 0x32, 0x23, 0x45, 0x49, 0xe4, 0x9d, 0xa9, 0x94, 0x9a, 0x79, + 0x46, 0x2a, 0x26, 0x9f, 0x18, 0x0f, 0xa3, 0xad, 0x05, 0xfd, 0x3b, 0x29, 0xcb, 0x74, 0xc0, 0x1c, + 0x04, 0xbb, 0x64, 0xf1, 0xd2, 0xfb, 0x6d, 0x6c, 0xaf, 0x19, 0x73, 0xfe, 0x19, 0xa3, 0x13, 0x93, + 0xf1, 0xf6, 0x2d, 0xdb, 0x18, 0x58, 0x34, 0x48, 0x6a, 0x2d, 0x96, 0x22, 0xda, 0xa0, 0x99, 0xe5, + 0xe4, 0x5a, 0xa8, 0xa6, 0x45, 0x04, 0x63, 0x2c, 0x11, 0xa6, 0x3c, 0x42, 0xb7, 0xd1, 0x4e, 0x35, + 0x51, 0x71, 0xd7, 0x0a, 0x7b, 0x37, 0x1e, 0x2b, 0x6b, 0x4a, 0xeb, 0x82, 0xb5, 0x65, 0x6e, 0x63, + 0x81, 0x10, 0x94, 0x3c, 0x07, 0x11, 0x25, 0x2d, 0x7d, 0x18, 0xfa, 0x7a, 0x93, 0xef, 0x3f, 0x70, + 0xfb, 0x2d, 0xe7, 0xb4, 0xfb, 0xb4, 0xfd, 0x24, 0x66, 0x9d, 0x61, 0xbf, 0xf3, 0xf5, 0x7f, 0xbf, + 0xe2, 0xaa, 0x8b, 0x2f, 0x3a, 0xf3, 0xb0, 0xd5, 0x07, 0x6f, 0xdc, 0x35, 0x34, 0xc4, 0x6d, 0x77, + 0xdf, 0x4e, 0x3d, 0xed, 0xe1, 0x99, 0xcf, 0x38, 0x8d, 0xc1, 0x45, 0x0b, 0x69, 0x66, 0x19, 0xb9, + 0xb6, 0x4a, 0x65, 0x57, 0x5a, 0xbc, 0x24, 0x99, 0x31, 0x8a, 0x42, 0x5b, 0x24, 0xae, 0x2a, 0xb1, + 0x57, 0xd8, 0x2b, 0xa1, 0x80, 0xc5, 0xab, 0x90, 0xab, 0x92, 0x6b, 0x67, 0x32, 0xee, 0x79, 0x92, + 0x12, 0xcf, 0x35, 0x8a, 0x16, 0x26, 0x9d, 0x24, 0x11, 0x92, 0x58, 0x0a, 0xf3, 0x8e, 0x40, 0xd2, + 0xdf, 0x3f, 0x00, 0x2c, 0x04, 0xec, 0xf0, 0xf0, 0xf8, 0x94, 0xb9, 0x65, 0x16, 0x87, 0xfd, 0xf1, + 0x65, 0xd7, 0xf4, 0xaf, 0xdb, 0xb1, 0xf1, 0x9c, 0x46, 0x73, 0x6c, 0x61, 0x44, 0xc0, 0x22, 0x4c, + 0x36, 0x33, 0x5c, 0x08, 0x58, 0x0b, 0x12, 0x51, 0x84, 0xd5, 0xa9, 0x20, 0x91, 0x14, 0x0e, 0x55, + 0x2a, 0x65, 0xb6, 0x44, 0x8b, 0xa0, 0xa8, 0x3a, 0x8a, 0x34, 0xa8, 0x1e, 0xf1, 0x01, 0x54, 0x51, + 0xb3, 0xc7, 0x6e, 0xcb, 0x4a, 0xf1, 0x40, 0xa9, 0x50, 0xe1, 0x7f, 0x1b, 0x4d, 0xf6, 0x4c, 0x24, + 0xd4, 0xc2, 0x6e, 0x5a, 0x10, 0xec, 0x54, 0x78, 0x9c, 0x05, 0x09, 0xed, 0x73, 0x2d, 0x68, 0x3b, + 0x29, 0xe1, 0x8c, 0xce, 0xad, 0xa6, 0x22, 0xb5, 0x32, 0xfe, 0x55, 0x15, 0x11, 0x21, 0xb2, 0x86, + 0xcc, 0x07, 0x22, 0xa3, 0x88, 0x78, 0x26, 0x87, 0x47, 0x9e, 0x79, 0xca, 0x73, 0x9e, 0x7f, 0xdb, + 0xc2, 0x25, 0x7d, 0xd7, 0x7d, 0xef, 0x1b, 0x17, 0xbc, 0xae, 0x4d, 0xb1, 0xb3, 0x08, 0xf6, 0x83, + 0xff, 0xf0, 0xe1, 0x73, 0xb6, 0x6d, 0x1f, 0xfa, 0xca, 0xa6, 0xcd, 0xdb, 0x19, 0x5c, 0xb8, 0x94, + 0x13, 0x8e, 0x3e, 0x99, 0x38, 0x8a, 0xb9, 0xfe, 0xc6, 0xeb, 0xd9, 0xbc, 0x6d, 0x1b, 0x49, 0xcd, + 0x12, 0x5c, 0x8c, 0xa4, 0x1e, 0x89, 0x5a, 0xb8, 0x3c, 0xe0, 0x5c, 0x82, 0x8a, 0x2b, 0x73, 0x3a, + 0x19, 0x90, 0x18, 0xa1, 0x46, 0x1c, 0x9a, 0x98, 0x66, 0x06, 0xaa, 0xb8, 0x7a, 0x8a, 0x3e, 0x7a, + 0xa5, 0xe7, 0xc2, 0x2b, 0x1a, 0x1a, 0x7b, 0x70, 0xd3, 0x2a, 0x54, 0x78, 0xa2, 0xd1, 0xa0, 0xd8, + 0x7f, 0x8f, 0x52, 0x96, 0x19, 0x2d, 0x1c, 0x82, 0x32, 0xac, 0x28, 0xbe, 0x24, 0x71, 0x9f, 0x82, + 0x69, 0xb9, 0xc2, 0x25, 0x57, 0x00, 0xa9, 0xb5, 0x2d, 0xad, 0xf3, 0xcf, 0x28, 0x05, 0xd1, 0x66, + 0x59, 0x46, 0x30, 0x86, 0x2c, 0x0f, 0x58, 0x63, 0x68, 0xb6, 0x32, 0xbb, 0x63, 0x74, 0x78, 0x4d, + 0xff, 0x60, 0x9f, 0xb3, 0xd6, 0x74, 0x17, 0x74, 0xee, 0xc4, 0x64, 0xa3, 0xb5, 0xd5, 0xc4, 0x76, + 0x8b, 0x23, 0x5f, 0x2e, 0x26, 0x15, 0x63, 0x85, 0xcc, 0xb7, 0x18, 0x6f, 0x36, 0xf1, 0xc1, 0x14, + 0x25, 0xe1, 0x15, 0xbc, 0x42, 0xee, 0x02, 0x46, 0x2c, 0x44, 0x0a, 0xe4, 0x84, 0x90, 0x83, 0xea, + 0x54, 0x21, 0xac, 0x4c, 0x12, 0x54, 0x22, 0xc4, 0x82, 0x99, 0xa9, 0x42, 0xeb, 0xbe, 0x01, 0x6d, + 0x04, 0x20, 0x03, 0x26, 0xe7, 0xbf, 0xc2, 0x0a, 0x15, 0x7e, 0x61, 0x98, 0xa4, 0xd8, 0x7f, 0x73, + 0x31, 0xc6, 0x36, 0x82, 0x20, 0xc1, 0x9a, 0x88, 0x10, 0x5c, 0x77, 0xde, 0xed, 0x4e, 0x91, 0x58, + 0xc1, 0xc4, 0x82, 0x95, 0xee, 0xec, 0x89, 0x5a, 0xe6, 0x2b, 0x2e, 0xb8, 0xeb, 0x74, 0x7b, 0x45, + 0xb0, 0x2a, 0xa8, 0x40, 0x33, 0x6b, 0x71, 0xf0, 0xa1, 0x87, 0xb5, 0x7e, 0xeb, 0xd5, 0x2f, 0xff, + 0x9c, 0xe6, 0x93, 0x1f, 0x65, 0xbe, 0xea, 0x75, 0x00, 0xd7, 0x5e, 0xfe, 0xc3, 0x1f, 0xfe, 0xec, + 0x9a, 0xab, 0x4f, 0x39, 0xe2, 0x90, 0x23, 0x37, 0x0e, 0x8d, 0x8c, 0x70, 0xdd, 0x75, 0x57, 0x13, + 0x72, 0xc7, 0xe9, 0xa7, 0x3d, 0x87, 0x65, 0xcb, 0x17, 0xd1, 0xd0, 0x8c, 0x3c, 0x38, 0xc4, 0x2b, + 0xde, 0x15, 0xca, 0x2b, 0xab, 0xa0, 0xad, 0xe2, 0x52, 0xda, 0x2b, 0x2b, 0xf2, 0x3c, 0x09, 0x91, + 0x38, 0x4c, 0x28, 0x45, 0xe3, 0x79, 0x6e, 0x40, 0xc7, 0xcb, 0x53, 0x88, 0x25, 0x13, 0xf3, 0x35, + 0xae, 0x50, 0xe1, 0x17, 0x88, 0x09, 0x8a, 0xfd, 0xe7, 0xe9, 0xde, 0x97, 0xdd, 0x7b, 0x54, 0x70, + 0x5e, 0x15, 0xcd, 0x72, 0xe2, 0xb6, 0x8e, 0xa6, 0xf4, 0x5e, 0x2a, 0x44, 0xe2, 0x92, 0x08, 0xe6, + 0x21, 0xf9, 0xe2, 0x74, 0xe8, 0x50, 0x72, 0x94, 0x1c, 0x31, 0x8e, 0x38, 0x86, 0x80, 0xc3, 0x8a, + 0x50, 0x4f, 0x53, 0xac, 0xea, 0x9d, 0x6f, 0x3f, 0xef, 0x77, 0xdf, 0xfb, 0x8e, 0xb7, 0xfc, 0xd1, + 0xc3, 0x9d, 0x7d, 0x67, 0x71, 0xd8, 0x26, 0x13, 0xc9, 0x6d, 0x3f, 0xbd, 0xef, 0xd0, 0x40, 0x88, + 0x09, 0xe0, 0x7d, 0x20, 0x92, 0x98, 0x85, 0xbd, 0xfd, 0xd4, 0x13, 0x4b, 0x4f, 0x5a, 0x2b, 0x26, + 0x0b, 0x1e, 0x00, 0x27, 0x01, 0x13, 0xcd, 0xb2, 0x38, 0x21, 0xaa, 0x58, 0xcd, 0xb1, 0x5a, 0x88, + 0x04, 0x21, 0x58, 0xbc, 0x91, 0xe9, 0x3c, 0x18, 0xd3, 0x08, 0x32, 0xfd, 0x9d, 0x03, 0x5a, 0x69, + 0x9a, 0xf0, 0x3b, 0x7f, 0xfc, 0x87, 0x4b, 0x0d, 0xd0, 0x74, 0x8e, 0xcc, 0xb9, 0x59, 0xd7, 0xde, + 0x53, 0x26, 0xcb, 0x09, 0x21, 0xd0, 0xcc, 0x66, 0x54, 0xd3, 0xdb, 0x03, 0x8c, 0x8f, 0x8f, 0xd3, + 0xd7, 0xd7, 0x47, 0x2e, 0x8a, 0x2f, 0xc3, 0x9a, 0x8c, 0x31, 0xc4, 0x51, 0xc4, 0xf0, 0xf6, 0x9d, + 0xd0, 0xca, 0xc0, 0xfe, 0xf2, 0x12, 0xdb, 0x18, 0x03, 0x8d, 0x09, 0xc7, 0xe8, 0xa8, 0x63, 0xea, + 0xf8, 0x6f, 0x32, 0x4c, 0xb4, 0x91, 0xee, 0xb8, 0x45, 0x4f, 0x70, 0x4b, 0x21, 0x2c, 0xa4, 0xd8, + 0x67, 0x7b, 0x86, 0xe2, 0x01, 0x4b, 0x91, 0x5f, 0x28, 0x9d, 0xab, 0x85, 0xc1, 0x44, 0x43, 0x60, + 0x32, 0x1e, 0x6f, 0x9e, 0x03, 0x63, 0x84, 0x46, 0xd3, 0xb3, 0x63, 0x6b, 0x86, 0xb1, 0xbb, 0x39, + 0x0e, 0x19, 0xb0, 0x49, 0x69, 0x8f, 0x6c, 0xfe, 0xf2, 0x9e, 0xd5, 0xc6, 0x08, 0x21, 0x68, 0x0b, + 0x66, 0x64, 0xf8, 0xee, 0x86, 0x13, 0xc4, 0x84, 0x32, 0x34, 0x47, 0x1b, 0x0e, 0x6b, 0x04, 0xd4, + 0x21, 0xea, 0x21, 0xe8, 0xd4, 0xd1, 0x2f, 0x64, 0x8a, 0x4b, 0xb5, 0xcb, 0x13, 0x41, 0x44, 0x70, + 0xb9, 0xa2, 0x56, 0x88, 0x4d, 0xc1, 0x89, 0x43, 0xa0, 0x08, 0x53, 0x2d, 0xfd, 0x0f, 0xad, 0x31, + 0xac, 0xdb, 0xb0, 0xe1, 0x69, 0x2f, 0x79, 0xcd, 0x6b, 0x2f, 0xed, 0xef, 0xed, 0xf9, 0xf1, 0x57, + 0x3f, 0xf7, 0xb9, 0x77, 0xb5, 0x27, 0x17, 0x9d, 0x51, 0x4b, 0xe3, 0x39, 0x2f, 0x3e, 0xfb, 0xb4, + 0x91, 0xe1, 0xb1, 0x4b, 0x37, 0x6c, 0xd9, 0xd0, 0xa3, 0x21, 0xe1, 0xb0, 0x03, 0x8f, 0x64, 0xe1, + 0xc2, 0x41, 0x76, 0xee, 0x1c, 0xe6, 0xa1, 0x0d, 0xf7, 0xb3, 0xa0, 0xaf, 0x1f, 0x35, 0x9e, 0x0d, + 0x9b, 0xd7, 0x13, 0xdc, 0x04, 0xa8, 0x47, 0x8c, 0x65, 0xcd, 0x8a, 0x43, 0x19, 0x1d, 0xcf, 0x58, + 0xba, 0x7c, 0x35, 0xab, 0x56, 0x2c, 0xe6, 0xea, 0x1b, 0x2e, 0xa7, 0xd5, 0x1c, 0x03, 0x63, 0x89, + 0x34, 0x47, 0x6c, 0x84, 0x5a, 0x53, 0x9e, 0x71, 0xa7, 0xe7, 0x13, 0x29, 0x34, 0x63, 0x9d, 0x87, + 0xef, 0x7a, 0xad, 0x46, 0x6f, 0xbd, 0x86, 0x00, 0x5e, 0x03, 0x3a, 0x47, 0xf6, 0x36, 0xdb, 0x4e, + 0xab, 0xae, 0x8a, 0x0f, 0x8f, 0xbd, 0xb0, 0xa5, 0x73, 0x8e, 0x28, 0x8a, 0xca, 0x7a, 0x05, 0xc5, + 0x29, 0x43, 0x44, 0x30, 0x22, 0x34, 0xb2, 0x26, 0x21, 0xcc, 0x95, 0x05, 0x7a, 0x0e, 0xcc, 0x25, + 0xe9, 0x0b, 0xed, 0x11, 0xbb, 0x9b, 0xce, 0x73, 0x2a, 0x90, 0x79, 0x32, 0x4c, 0x06, 0x1f, 0xc8, + 0x73, 0x9d, 0x7e, 0xc6, 0x09, 0x4c, 0x07, 0x5c, 0x76, 0x0e, 0x2c, 0x73, 0xe6, 0xe3, 0xd1, 0xdd, + 0x5c, 0x80, 0xb4, 0xcf, 0x2d, 0x0a, 0xea, 0x99, 0xe3, 0x9c, 0x25, 0x20, 0x59, 0x11, 0x0e, 0x36, + 0x7b, 0xe0, 0x39, 0xd7, 0x3b, 0xd7, 0xcd, 0x08, 0x08, 0xce, 0xcf, 0x1d, 0x63, 0xd2, 0x39, 0x42, + 0xf9, 0xfc, 0xc7, 0x58, 0xd7, 0xfd, 0xe3, 0xd4, 0x5c, 0xda, 0xf5, 0xaf, 0x52, 0xde, 0x17, 0x9d, + 0xe3, 0xde, 0x89, 0x76, 0xad, 0x51, 0xa5, 0x34, 0x38, 0xce, 0xd5, 0xb6, 0x03, 0x3e, 0x28, 0x3e, + 0x28, 0x1a, 0xe6, 0xd7, 0x3c, 0x09, 0xa8, 0xb1, 0x56, 0x22, 0x9b, 0xe2, 0x27, 0x33, 0xc8, 0x5b, + 0x20, 0x1e, 0x51, 0xc8, 0x25, 0xe0, 0xa7, 0x86, 0x57, 0x92, 0x90, 0x20, 0x51, 0x0a, 0xb5, 0xd2, + 0x8a, 0x92, 0x35, 0x21, 0xcf, 0x01, 0x8b, 0x24, 0x31, 0xf5, 0x38, 0x29, 0xf7, 0x84, 0x96, 0x34, + 0x00, 0x4a, 0x20, 0x32, 0x09, 0x51, 0x1c, 0xd1, 0xb3, 0xb0, 0xce, 0xca, 0x95, 0x8b, 0x1f, 0xb9, + 0xe6, 0xe2, 0x4b, 0xf6, 0x6b, 0x8f, 0x3a, 0xeb, 0x4e, 0xee, 0xd8, 0x3e, 0x94, 0x64, 0x99, 0xeb, + 0xc9, 0x9a, 0x19, 0xbd, 0x0b, 0x06, 0x38, 0x60, 0xcd, 0x81, 0xe4, 0x2a, 0xdc, 0x7b, 0xff, 0x5a, + 0xd4, 0x25, 0x2c, 0xe8, 0x5b, 0xc8, 0xd6, 0x5d, 0x9b, 0x21, 0x73, 0x44, 0x92, 0x80, 0xb4, 0xcb, + 0x74, 0x94, 0xc9, 0xa7, 0x42, 0x28, 0xc4, 0xe1, 0x2c, 0x03, 0xe7, 0x88, 0xd3, 0x08, 0x25, 0xa1, + 0x2d, 0x37, 0x4c, 0xdd, 0xe3, 0xf2, 0xea, 0x05, 0x29, 0x0b, 0xe3, 0x16, 0x89, 0xa9, 0x32, 0xa7, + 0xb4, 0x1a, 0x13, 0x0c, 0xef, 0x74, 0x33, 0x97, 0xf6, 0x84, 0xa2, 0xfd, 0x90, 0x30, 0x5d, 0xb6, + 0xe3, 0x02, 0x2a, 0x8f, 0xc1, 0x7a, 0x3c, 0x73, 0xaf, 0xa0, 0x38, 0x8d, 0x28, 0xb8, 0x60, 0xf7, + 0x28, 0x56, 0xf2, 0x59, 0x6d, 0x03, 0x96, 0xa0, 0xf3, 0x78, 0x83, 0xcd, 0xda, 0x5b, 0x45, 0xa0, + 0xf3, 0x4c, 0x14, 0xb2, 0xda, 0x6c, 0x57, 0xd0, 0x48, 0xdc, 0xac, 0xef, 0x80, 0xb6, 0x45, 0x62, + 0x7a, 0xff, 0x7b, 0xf0, 0x44, 0x68, 0x99, 0xe9, 0x72, 0xba, 0xdd, 0x1c, 0x35, 0x4e, 0xb5, 0x0c, + 0x23, 0x8b, 0x74, 0xd6, 0xd0, 0x76, 0x2e, 0x0b, 0x9e, 0x08, 0xc6, 0x86, 0xa9, 0xbe, 0xe5, 0x57, + 0x38, 0x2d, 0x72, 0x1c, 0x94, 0x3b, 0x02, 0x53, 0x1e, 0xa7, 0x4c, 0x28, 0x2a, 0xb9, 0x91, 0x1b, + 0xb0, 0x20, 0x53, 0xf9, 0xc7, 0xcc, 0xf4, 0xc6, 0x11, 0xb0, 0x58, 0x9c, 0xb7, 0xa8, 0x8d, 0x11, + 0x1c, 0x5a, 0x4a, 0x17, 0xaa, 0x86, 0xa0, 0x31, 0xd6, 0x2a, 0x3e, 0xe4, 0x20, 0x90, 0x6a, 0x44, + 0x96, 0xe7, 0x98, 0x24, 0x21, 0xe0, 0x09, 0xea, 0xa7, 0x96, 0x63, 0xc4, 0x60, 0xcb, 0x4d, 0xa9, + 0xb4, 0x8f, 0x72, 0xf3, 0xf8, 0x0f, 0xa8, 0x80, 0x88, 0x58, 0x0c, 0x51, 0x00, 0x97, 0xb7, 0x10, + 0x53, 0xdc, 0x07, 0x2d, 0xf7, 0x72, 0xdc, 0xd1, 0xcd, 0x98, 0x84, 0x24, 0x8e, 0xa1, 0x34, 0xdd, + 0xe4, 0x44, 0x78, 0x04, 0x31, 0x16, 0xcd, 0x0b, 0xe9, 0x34, 0x8a, 0x0a, 0xba, 0xc8, 0xf3, 0x1c, + 0x63, 0x0c, 0xc6, 0x18, 0x7c, 0xc8, 0xe8, 0x4d, 0x6a, 0xb7, 0x0c, 0xf4, 0x0f, 0x9e, 0x7f, 0xe4, + 0x21, 0x87, 0x8e, 0x75, 0x2e, 0x61, 0x16, 0xc1, 0x7e, 0xe9, 0x73, 0x9f, 0xb8, 0xf6, 0xbe, 0x07, + 0x37, 0xbd, 0xe8, 0x1f, 0x3f, 0xf9, 0xcf, 0x9f, 0xff, 0xe9, 0x5d, 0x77, 0xae, 0xbe, 0xf8, 0x47, + 0x17, 0x71, 0xc2, 0x91, 0xc7, 0x73, 0xc8, 0x41, 0x07, 0xb0, 0x65, 0xcb, 0x36, 0x82, 0xcf, 0x19, + 0x1b, 0x1b, 0x2d, 0x7d, 0x88, 0x8b, 0xee, 0x21, 0x04, 0x9a, 0x46, 0xf1, 0x52, 0xf8, 0x42, 0xaa, + 0xb6, 0x15, 0xdd, 0x86, 0x48, 0x3d, 0xaa, 0x10, 0x54, 0x40, 0x3b, 0x9c, 0x2b, 0xa4, 0xdc, 0x10, + 0xc6, 0x80, 0x28, 0xde, 0x95, 0x2e, 0x5e, 0x0a, 0x46, 0x2d, 0xf2, 0x8b, 0xce, 0xe0, 0xa6, 0x5d, + 0xff, 0x74, 0x61, 0x7e, 0xfd, 0xd8, 0x0c, 0x18, 0x90, 0x19, 0x1b, 0x57, 0x00, 0xa3, 0x11, 0x1e, + 0x3b, 0x8b, 0x6b, 0xc5, 0x33, 0xb8, 0x63, 0x91, 0x4c, 0xc7, 0x92, 0x6b, 0xb4, 0x7b, 0x4d, 0xe2, + 0x54, 0x7b, 0xc5, 0xe6, 0xf9, 0x8c, 0x6f, 0x95, 0x60, 0x23, 0x82, 0x8d, 0x66, 0xb1, 0xf0, 0x58, + 0x66, 0x6c, 0x3c, 0xa1, 0xc8, 0x1f, 0xe4, 0xa5, 0x2c, 0x92, 0xc6, 0x54, 0xca, 0x12, 0x89, 0x6c, + 0x61, 0x7a, 0x9b, 0xb1, 0x8c, 0x28, 0xcc, 0x26, 0xd8, 0x60, 0x20, 0x98, 0xd9, 0x04, 0x1b, 0x89, + 0xeb, 0xba, 0x0e, 0x11, 0xc1, 0xfb, 0x80, 0xe6, 0x8a, 0x8d, 0x63, 0x42, 0xf0, 0x60, 0x0c, 0x62, + 0x0c, 0x09, 0xa1, 0xa0, 0x7c, 0x0c, 0x8a, 0x12, 0x4c, 0x19, 0x3b, 0xed, 0x14, 0x71, 0x11, 0x51, + 0x5c, 0x2b, 0x6a, 0x1f, 0xe7, 0x39, 0x49, 0x6a, 0xf0, 0xc4, 0xd0, 0xca, 0x90, 0x28, 0x02, 0x63, + 0x0b, 0x87, 0x40, 0x9d, 0x20, 0x32, 0x80, 0x28, 0x21, 0x08, 0x21, 0xb7, 0x24, 0x89, 0x45, 0xc5, + 0xa3, 0xda, 0xc4, 0x18, 0x87, 0x15, 0x8b, 0xaa, 0xc3, 0xc6, 0x01, 0x91, 0xc2, 0x8b, 0x5e, 0x51, + 0xd4, 0x59, 0xbc, 0xf3, 0xc4, 0x71, 0x8d, 0x66, 0x3e, 0x89, 0x15, 0x4b, 0x94, 0xc4, 0x85, 0x64, + 0x35, 0x45, 0xb0, 0x32, 0x75, 0xcd, 0xed, 0x37, 0x06, 0x30, 0x0a, 0xb6, 0xed, 0x2b, 0xaf, 0x8e, + 0xf6, 0x91, 0x21, 0x9a, 0x29, 0x51, 0x89, 0xc1, 0x63, 0x3a, 0x1e, 0xb2, 0x0a, 0x12, 0xd3, 0x7e, + 0x52, 0x76, 0x0a, 0x86, 0xaa, 0xc5, 0x83, 0x2a, 0x8e, 0x2c, 0x49, 0x1c, 0xb3, 0x74, 0xd9, 0x8a, + 0x87, 0x6f, 0xba, 0xea, 0xfb, 0xdf, 0x64, 0x06, 0x66, 0x11, 0xec, 0x33, 0x8e, 0x3f, 0xb1, 0xf9, + 0x8c, 0xe3, 0xb9, 0xf4, 0x53, 0x9f, 0xfe, 0xd7, 0xfb, 0x4d, 0x98, 0x5c, 0x9d, 0x67, 0x96, 0x2d, + 0xeb, 0x37, 0x70, 0xd4, 0xf1, 0x4f, 0xc7, 0xa6, 0xf0, 0xd3, 0xdb, 0x6f, 0xa5, 0xd9, 0x6c, 0x92, + 0x48, 0x8a, 0x2b, 0xcd, 0xa5, 0xb1, 0x1a, 0x4c, 0xee, 0x31, 0x52, 0x68, 0xb9, 0x0c, 0x20, 0x69, + 0x0d, 0x7c, 0x8e, 0x6a, 0xfb, 0x84, 0x08, 0xed, 0xd8, 0xd8, 0xf6, 0x23, 0x49, 0x11, 0x6c, 0x64, + 0x09, 0x04, 0x34, 0x94, 0x01, 0x03, 0xe5, 0xc2, 0x7f, 0x99, 0x0e, 0x52, 0x7b, 0x3c, 0xb5, 0xa7, + 0xc8, 0x33, 0x3b, 0x03, 0x82, 0x27, 0x62, 0xb6, 0x84, 0x10, 0x66, 0xf3, 0x1f, 0x20, 0x10, 0xd1, + 0xda, 0xc3, 0x09, 0x65, 0x0e, 0xd3, 0x98, 0x20, 0x2e, 0x60, 0xf3, 0xd9, 0x63, 0x84, 0xf9, 0x0c, + 0xf8, 0x9d, 0x5f, 0x95, 0xa2, 0xa3, 0xc9, 0x3c, 0xcc, 0xb1, 0xe6, 0xb9, 0x4c, 0x71, 0xe2, 0x15, + 0x3b, 0x87, 0x00, 0xa4, 0xb3, 0x1e, 0x3b, 0xa5, 0x7d, 0xb2, 0xcc, 0x55, 0x44, 0x3d, 0xc5, 0xe5, + 0x8e, 0x90, 0xe5, 0x08, 0x0e, 0xca, 0x87, 0xb9, 0x18, 0x48, 0xa2, 0xe2, 0x41, 0x1f, 0x9c, 0xc1, + 0x5a, 0xc8, 0x5c, 0x03, 0x63, 0x0d, 0x60, 0x69, 0xb4, 0x1a, 0x60, 0x27, 0x0a, 0x16, 0x1e, 0x74, + 0x5a, 0x67, 0x1a, 0x2c, 0xd6, 0xd7, 0x88, 0x30, 0x48, 0x30, 0x18, 0xf5, 0xf8, 0xc9, 0x26, 0x81, + 0x80, 0x0b, 0x8e, 0x10, 0x14, 0x89, 0x14, 0x35, 0x35, 0xe2, 0xb4, 0x07, 0xe7, 0x1c, 0xa8, 0x62, + 0x82, 0x21, 0x34, 0x3d, 0xea, 0x14, 0x5f, 0x1b, 0x25, 0xae, 0xa5, 0xf8, 0xa0, 0xe4, 0xb9, 0xc7, + 0x04, 0x41, 0xa4, 0x5d, 0xc6, 0x6d, 0x9a, 0xa3, 0x4f, 0xc1, 0x0a, 0x6a, 0x84, 0xd0, 0x75, 0x4e, + 0xe9, 0xbc, 0xda, 0x8e, 0x9b, 0xac, 0x19, 0x4e, 0x05, 0x27, 0x6d, 0x09, 0x4a, 0x41, 0xf3, 0x92, + 0x68, 0xa7, 0xe1, 0x7d, 0xc0, 0xda, 0x18, 0x11, 0xc8, 0x32, 0x5f, 0x3c, 0x57, 0x83, 0x7f, 0xee, + 0xff, 0x7d, 0xff, 0xf9, 0xbf, 0x79, 0xe2, 0xb1, 0xc7, 0x5f, 0xff, 0xc2, 0xb3, 0xcf, 0xda, 0xda, + 0x9f, 0x16, 0xa2, 0xc6, 0x2c, 0x82, 0x7d, 0xdb, 0xdb, 0xdf, 0xb1, 0x64, 0xe3, 0xc6, 0x9d, 0xe7, + 0x6c, 0xdc, 0xf4, 0xc8, 0x11, 0x6a, 0x0c, 0x2e, 0xe4, 0x0c, 0x2c, 0x5b, 0xc6, 0x11, 0x47, 0x1e, + 0xc1, 0xed, 0xb7, 0xdd, 0xc6, 0xe8, 0x44, 0x03, 0x63, 0x13, 0xf0, 0x01, 0xaf, 0x0e, 0x01, 0x22, + 0x53, 0x43, 0xbc, 0x2f, 0xb9, 0xe2, 0x1c, 0xce, 0x91, 0xe5, 0xd5, 0x88, 0x2a, 0xed, 0x38, 0xc0, + 0x92, 0xac, 0x89, 0x4d, 0x82, 0x0f, 0x39, 0x2d, 0xe7, 0xb1, 0x6d, 0x25, 0xcf, 0x2f, 0x91, 0x58, + 0x1f, 0x2b, 0x66, 0x16, 0xa3, 0x87, 0xf6, 0xa5, 0xcf, 0xb1, 0xd1, 0xe7, 0xa0, 0x9d, 0xf9, 0xda, + 0x3e, 0xf6, 0x85, 0xfc, 0x9c, 0x63, 0x4c, 0x89, 0x3d, 0xdd, 0x98, 0xfb, 0x4f, 0x21, 0x8f, 0x79, + 0x3a, 0x2f, 0x85, 0x74, 0x10, 0x7c, 0x80, 0x66, 0xa3, 0xe0, 0xf2, 0x71, 0x0d, 0xac, 0x45, 0x33, + 0x4f, 0xab, 0x15, 0x20, 0xb2, 0x18, 0x3b, 0x81, 0xf3, 0x0d, 0x8c, 0x89, 0x70, 0xad, 0x0c, 0x44, + 0xb0, 0x76, 0x01, 0x26, 0x4b, 0x51, 0x94, 0xd8, 0x58, 0x8c, 0x11, 0x72, 0x5a, 0x58, 0xa9, 0xd3, + 0x6c, 0x29, 0xad, 0x6c, 0x0c, 0x7c, 0x8b, 0x74, 0x61, 0x8a, 0x49, 0x04, 0x1b, 0xc0, 0x62, 0x88, + 0xa4, 0x46, 0xe6, 0x02, 0x6a, 0xc0, 0xe5, 0x19, 0x91, 0x49, 0xc9, 0x5b, 0xc3, 0xf8, 0x2c, 0x67, + 0x70, 0xf9, 0x12, 0xd2, 0x9a, 0x61, 0xeb, 0x10, 0xe4, 0x93, 0x13, 0xc4, 0xbd, 0x7d, 0x10, 0x94, + 0x80, 0x07, 0x31, 0x98, 0xd0, 0x76, 0x7e, 0x28, 0xb8, 0x9f, 0xa7, 0xb8, 0xc5, 0x91, 0x0a, 0x88, + 0xc1, 0x23, 0xa8, 0x58, 0x3a, 0x2c, 0x2e, 0xb3, 0xef, 0x92, 0x2a, 0x45, 0x11, 0xd9, 0xdd, 0xdf, + 0xd1, 0x82, 0x2c, 0x94, 0x38, 0x36, 0xf8, 0x10, 0x08, 0x1a, 0xb1, 0x6d, 0xcb, 0xd6, 0xc5, 0xdf, + 0xba, 0xf0, 0xbb, 0x5f, 0xfd, 0xc9, 0x75, 0xd7, 0x5d, 0xf4, 0xc2, 0xb3, 0xcf, 0x7a, 0x79, 0xbb, + 0xed, 0x2c, 0x82, 0xfd, 0xfe, 0x0f, 0xae, 0x7a, 0xe1, 0xce, 0x5d, 0xc3, 0x9f, 0xcf, 0xd5, 0xa3, + 0x92, 0xb0, 0xff, 0xea, 0xc3, 0x78, 0xed, 0x6b, 0x5e, 0x4b, 0x5f, 0x5f, 0x0f, 0x97, 0xfd, 0xe0, + 0x72, 0x34, 0x80, 0x58, 0x0b, 0x3e, 0x90, 0x52, 0x07, 0x6d, 0xa0, 0x64, 0xd3, 0xd2, 0x83, 0x9f, + 0xbb, 0xc8, 0xa4, 0xa0, 0x33, 0x52, 0xff, 0x17, 0xef, 0x23, 0x13, 0x53, 0x24, 0xa7, 0x0a, 0x98, + 0x39, 0xb5, 0x95, 0xbf, 0xba, 0x08, 0x14, 0x8e, 0xdc, 0x33, 0x61, 0x8c, 0x14, 0x9a, 0xdd, 0x19, + 0x3f, 0xb9, 0x39, 0xda, 0x8a, 0x48, 0x97, 0x13, 0xf8, 0xaf, 0x12, 0x02, 0x90, 0xcd, 0xa1, 0xe4, + 0xb2, 0x08, 0x89, 0xce, 0x16, 0xe2, 0xe7, 0xbe, 0x84, 0x42, 0xb4, 0x8c, 0xd5, 0x90, 0x67, 0x19, + 0x69, 0x2d, 0xe1, 0xf9, 0x67, 0x9e, 0xc5, 0x89, 0xa7, 0x3d, 0x83, 0xc5, 0x83, 0x83, 0x2c, 0xe8, + 0xeb, 0x25, 0x6b, 0xb4, 0x68, 0xb8, 0x9c, 0x9e, 0x7a, 0x8d, 0x34, 0xad, 0x73, 0xd9, 0x65, 0x57, + 0xf0, 0x5f, 0xff, 0xf9, 0x65, 0x4e, 0x7f, 0xe1, 0x59, 0x9c, 0xf9, 0x82, 0x97, 0xb2, 0x7c, 0xd9, + 0x52, 0x7c, 0x18, 0x47, 0x11, 0x7a, 0xa2, 0x84, 0x28, 0x02, 0x52, 0xc3, 0xbd, 0x3f, 0x7d, 0x98, + 0xcf, 0x7e, 0xe9, 0xb3, 0x1c, 0x75, 0xe4, 0x49, 0x3c, 0xff, 0xec, 0xb3, 0x58, 0xb2, 0x72, 0x90, + 0xe0, 0x8a, 0x8c, 0x9d, 0xaa, 0x86, 0x9a, 0x59, 0x88, 0x35, 0x8e, 0xcd, 0x1b, 0x37, 0xf1, 0xb9, + 0xcf, 0x7e, 0x96, 0xdb, 0x6f, 0xb9, 0x99, 0xc1, 0x55, 0x2b, 0x38, 0xf7, 0xf5, 0xbf, 0xc3, 0x0b, + 0x5f, 0x74, 0x26, 0x3d, 0x3d, 0x96, 0x75, 0xf7, 0x6f, 0xe7, 0x73, 0x5f, 0xfc, 0x22, 0x57, 0x5f, + 0x73, 0x0d, 0x56, 0x2c, 0xb1, 0x31, 0x78, 0xaf, 0x98, 0x92, 0xd0, 0xda, 0x05, 0xdd, 0x4c, 0xfb, + 0x86, 0x38, 0x30, 0x6a, 0xb0, 0x56, 0x08, 0x38, 0xbc, 0x78, 0xe6, 0x53, 0xc0, 0x25, 0x52, 0x27, + 0x32, 0x29, 0x56, 0x03, 0x88, 0x29, 0x3c, 0x32, 0x64, 0xb6, 0x02, 0xce, 0x96, 0x1a, 0x74, 0xef, + 0x1d, 0x60, 0xc9, 0xb2, 0x06, 0x26, 0xa9, 0x33, 0x32, 0x36, 0x11, 0x21, 0xd1, 0xf2, 0xfe, 0x74, + 0x7e, 0xc7, 0x89, 0x78, 0xe9, 0xca, 0xe5, 0xbf, 0xb7, 0x7e, 0x68, 0x33, 0xb9, 0x57, 0x62, 0xea, + 0x2c, 0x5d, 0xbc, 0x94, 0x24, 0xae, 0x33, 0x3e, 0xda, 0x22, 0xd3, 0xe2, 0x8c, 0x63, 0xd4, 0x17, + 0x55, 0xd8, 0x8d, 0xc5, 0x17, 0xc9, 0x19, 0xa7, 0x06, 0xc8, 0x73, 0x47, 0xf0, 0xbe, 0x4c, 0x79, + 0xd1, 0x71, 0x7c, 0xef, 0xfa, 0x6b, 0x4e, 0xeb, 0x2f, 0x45, 0x4c, 0xd1, 0xd6, 0x28, 0x59, 0xf6, + 0xd8, 0xb5, 0xbd, 0xbf, 0x4c, 0x28, 0x73, 0x3f, 0x40, 0x25, 0xd6, 0x39, 0x39, 0x6f, 0x98, 0x29, + 0x46, 0x2a, 0x10, 0x29, 0x7e, 0x4f, 0x13, 0x73, 0x28, 0x73, 0x49, 0xad, 0x85, 0x02, 0x69, 0x2e, + 0xa2, 0x9f, 0x47, 0xe7, 0x34, 0x27, 0x22, 0x98, 0xa5, 0x73, 0x82, 0x39, 0xfb, 0x07, 0x94, 0xd6, + 0x1c, 0x3f, 0x44, 0x53, 0xca, 0xc5, 0x69, 0x86, 0xad, 0x2a, 0x44, 0x89, 0x30, 0x39, 0xb2, 0x93, + 0x7d, 0xf6, 0x3b, 0x80, 0x0f, 0x9c, 0xff, 0x5e, 0x4e, 0x3d, 0xed, 0xf9, 0xac, 0xdb, 0xea, 0xd8, + 0x31, 0xe9, 0xf1, 0x2d, 0x47, 0x32, 0x20, 0xa4, 0x6a, 0xf0, 0x79, 0xc6, 0xe1, 0x07, 0x2e, 0xe4, + 0x84, 0x23, 0x4f, 0xe4, 0x94, 0x13, 0x4f, 0xe1, 0xf8, 0x67, 0xbe, 0x90, 0xed, 0x3b, 0x02, 0x9b, + 0xb7, 0xee, 0x84, 0x1e, 0x83, 0xcb, 0x32, 0x26, 0x10, 0x1a, 0x13, 0x93, 0x1c, 0xbc, 0xe4, 0x20, + 0xde, 0xfa, 0xe6, 0x97, 0xf3, 0xac, 0x67, 0x3e, 0x8b, 0x64, 0x60, 0x3f, 0x1e, 0x19, 0xca, 0xd9, + 0xb4, 0x63, 0x04, 0xaf, 0x20, 0x62, 0x11, 0x1c, 0x13, 0xe3, 0x13, 0xac, 0x5a, 0xd4, 0xc3, 0x6b, + 0x5f, 0x73, 0x36, 0x3f, 0xf9, 0xd1, 0x75, 0xac, 0xbd, 0xf7, 0x61, 0x3e, 0xf4, 0xa1, 0x8f, 0x73, + 0xca, 0x8b, 0x5f, 0xce, 0x77, 0xbf, 0x7b, 0x15, 0xbb, 0x76, 0x8d, 0xf3, 0xd2, 0x33, 0x8e, 0xe7, + 0xdf, 0xfe, 0xe5, 0xd9, 0xbc, 0xe9, 0xad, 0x6f, 0xe1, 0x07, 0x3f, 0xb8, 0x14, 0xe9, 0xeb, 0x41, + 0x73, 0x8f, 0x29, 0x35, 0xca, 0x46, 0x3b, 0x8d, 0x5a, 0x8a, 0x48, 0xc0, 0xda, 0xa8, 0xfb, 0x3a, + 0xe7, 0x80, 0x21, 0x2a, 0x0b, 0xc4, 0x29, 0x51, 0x49, 0x0b, 0x01, 0x5b, 0xda, 0x8b, 0x3a, 0xb4, + 0xae, 0x1d, 0x70, 0xce, 0x13, 0xc5, 0x96, 0x24, 0x8a, 0x91, 0xa0, 0xa5, 0x1b, 0x7e, 0xd2, 0x65, + 0xb3, 0x9c, 0x49, 0xb0, 0xb6, 0x16, 0xd5, 0x96, 0x84, 0x2c, 0x27, 0x8a, 0x05, 0xcd, 0x3d, 0x8d, + 0x49, 0x47, 0xab, 0x91, 0x93, 0x3b, 0x47, 0xc8, 0x1d, 0x46, 0x3d, 0x88, 0x23, 0x18, 0xc8, 0xd4, + 0x51, 0xa4, 0x91, 0x8a, 0xf0, 0x52, 0x88, 0x3d, 0xaa, 0x8a, 0x95, 0xb8, 0xac, 0x85, 0x95, 0xd1, + 0x92, 0xb9, 0x76, 0x92, 0x16, 0xf9, 0xe6, 0x14, 0x20, 0x2f, 0x54, 0x6c, 0xbe, 0xf0, 0xbb, 0x78, + 0xd2, 0x61, 0xf6, 0x91, 0x12, 0xf5, 0xc5, 0x6b, 0x4f, 0xda, 0x12, 0x20, 0xec, 0xe9, 0x11, 0x76, + 0x3e, 0x38, 0xe6, 0x26, 0xe4, 0xc7, 0x82, 0x99, 0xba, 0xac, 0xdd, 0x60, 0x1e, 0x1d, 0x2a, 0x19, + 0xd9, 0x54, 0x03, 0x6b, 0x85, 0x38, 0x16, 0xc4, 0xa4, 0x34, 0x1a, 0x13, 0x2c, 0x5c, 0xd6, 0xc3, + 0xa7, 0x3f, 0xfd, 0x39, 0x96, 0x1e, 0x79, 0x0a, 0xbf, 0x77, 0xfe, 0xff, 0x70, 0xfb, 0x3d, 0xc3, + 0xa4, 0x51, 0x82, 0x6f, 0xb6, 0x00, 0x41, 0x4c, 0xcc, 0x78, 0xd3, 0x71, 0xee, 0xaf, 0x1d, 0xc0, + 0x97, 0xde, 0x7b, 0xd2, 0x85, 0xd2, 0xf3, 0xda, 0x93, 0xcf, 0xfb, 0xc8, 0x05, 0xcb, 0x6e, 0xb8, + 0x71, 0x0b, 0x49, 0x9a, 0x90, 0x24, 0x29, 0xda, 0xf2, 0xb8, 0x20, 0xb4, 0x5a, 0xe3, 0x9c, 0x72, + 0xfc, 0x7a, 0x7e, 0xed, 0x93, 0x2f, 0xfd, 0x9f, 0xc5, 0xfb, 0x1c, 0x7c, 0xce, 0xef, 0x9f, 0x7f, + 0x73, 0x7c, 0xc7, 0x9d, 0x77, 0x51, 0xef, 0xed, 0xc7, 0x87, 0x06, 0x62, 0x52, 0x42, 0x98, 0x40, + 0xf3, 0x88, 0x83, 0xf6, 0x5b, 0xc6, 0x51, 0x07, 0xaf, 0xc2, 0x69, 0x83, 0x17, 0xfd, 0xda, 0x8b, + 0x39, 0xe1, 0x8c, 0x17, 0xf1, 0xfa, 0xb7, 0x7f, 0x87, 0xad, 0x0f, 0x3f, 0x48, 0xb4, 0xb0, 0x8f, + 0x4f, 0x5e, 0xf0, 0x08, 0x5f, 0xf8, 0xe0, 0x2b, 0xf9, 0x93, 0xb7, 0xbc, 0x89, 0x9f, 0x5c, 0x73, + 0x23, 0x8d, 0x6c, 0x9c, 0x44, 0xea, 0x28, 0x8e, 0x40, 0x61, 0xaa, 0xe9, 0xc4, 0x40, 0x3d, 0xa6, + 0xb7, 0x37, 0x66, 0xb2, 0xe1, 0x40, 0x0d, 0x71, 0x30, 0x88, 0x99, 0x9b, 0xc3, 0x82, 0xc3, 0xe5, + 0xe0, 0x25, 0x01, 0x23, 0x85, 0x26, 0x5b, 0x5d, 0xc1, 0xae, 0x44, 0x70, 0x71, 0x8a, 0xd1, 0xe9, + 0x88, 0xf1, 0x76, 0x10, 0x7b, 0x50, 0x4f, 0x6c, 0x13, 0x24, 0x8d, 0x41, 0x5b, 0x5d, 0x83, 0xcf, + 0x24, 0x58, 0xaf, 0x1a, 0x26, 0x0b, 0x55, 0x45, 0xa1, 0xef, 0x8f, 0xd3, 0x42, 0x31, 0x94, 0xbb, + 0x0c, 0xa1, 0xf0, 0xcf, 0xf0, 0x46, 0x30, 0x36, 0x2a, 0x6c, 0x4a, 0xb3, 0x6c, 0x22, 0x8a, 0x3a, + 0x87, 0x3c, 0x9e, 0x33, 0xd5, 0x93, 0x91, 0x60, 0x7f, 0x05, 0x45, 0xd9, 0xc7, 0x8d, 0x9f, 0xf7, + 0xfe, 0xcf, 0x7a, 0x2e, 0x0b, 0x9e, 0x09, 0xb4, 0xd9, 0xe2, 0x35, 0xaf, 0xfa, 0x53, 0xf6, 0x3b, + 0xfa, 0x04, 0xce, 0x7b, 0xc7, 0xd7, 0xb9, 0xed, 0xc1, 0xcd, 0x9c, 0x7c, 0xfc, 0x21, 0xf4, 0xc6, + 0x86, 0x20, 0x1e, 0x13, 0x2b, 0x6a, 0x61, 0xb2, 0xe5, 0x39, 0xfa, 0xa8, 0x25, 0x3c, 0x38, 0x54, + 0xeb, 0x79, 0xf7, 0x5f, 0x5f, 0x62, 0xae, 0xbb, 0x79, 0x0b, 0x27, 0x9f, 0xf8, 0x34, 0x7a, 0x13, + 0x4f, 0x44, 0x5a, 0x98, 0x64, 0x42, 0x44, 0xd6, 0x1a, 0xe7, 0xf8, 0x23, 0x06, 0xb9, 0x7b, 0x93, + 0xe9, 0x79, 0xdf, 0x47, 0x2f, 0x90, 0xdb, 0xee, 0x9c, 0xe4, 0xf8, 0x67, 0x1c, 0xc6, 0xc2, 0xa4, + 0x97, 0x46, 0x36, 0x8c, 0xd3, 0x1c, 0x23, 0xcb, 0x41, 0x0d, 0xfb, 0xad, 0x5a, 0xcc, 0x40, 0x8f, + 0x50, 0x8b, 0x03, 0xc7, 0x3f, 0xfd, 0x54, 0x2e, 0xba, 0xf8, 0x6e, 0xee, 0xbe, 0xeb, 0x41, 0x4e, + 0x7f, 0xe6, 0x09, 0x0c, 0x2c, 0xef, 0xe7, 0xf2, 0x2b, 0x6e, 0xe0, 0xf3, 0xff, 0x79, 0x21, 0x7f, + 0xff, 0xee, 0xd3, 0x38, 0xf6, 0x84, 0x23, 0xf9, 0xc9, 0x8f, 0xaf, 0x26, 0xa4, 0x32, 0xe7, 0xfe, + 0x15, 0x11, 0x94, 0x98, 0x66, 0xa3, 0x81, 0x04, 0x88, 0x4c, 0x44, 0x9e, 0x7b, 0xe2, 0xf9, 0xfc, + 0x4a, 0x44, 0xc0, 0x05, 0x88, 0xc2, 0x1c, 0xe5, 0xd8, 0x77, 0x73, 0x1b, 0x77, 0xb3, 0xa7, 0x66, + 0x12, 0x6c, 0x41, 0xfa, 0x1d, 0x1a, 0x32, 0x51, 0xf0, 0xaa, 0x64, 0x2e, 0xc7, 0xfb, 0xac, 0xb8, + 0x10, 0xef, 0x09, 0x79, 0x3e, 0xa5, 0x41, 0x9c, 0xa9, 0x1d, 0xf3, 0xf8, 0x2e, 0x31, 0x79, 0x8f, + 0x20, 0x73, 0xac, 0xe6, 0x57, 0x1d, 0xe5, 0x99, 0xe6, 0x49, 0xf9, 0xa0, 0xe9, 0x84, 0x32, 0x2d, + 0x12, 0xff, 0x3c, 0x98, 0x43, 0x04, 0x0f, 0x3e, 0x50, 0x1b, 0xec, 0xe7, 0x79, 0x2f, 0x78, 0x01, + 0xdf, 0xbb, 0xee, 0x61, 0xae, 0xbf, 0x77, 0x03, 0xcf, 0x3d, 0xf9, 0x54, 0x26, 0xc7, 0x76, 0x72, + 0xd7, 0x86, 0xf5, 0xa4, 0xb5, 0x94, 0xf1, 0x46, 0x20, 0xcf, 0x02, 0x13, 0x63, 0x63, 0x1c, 0xb4, + 0xa8, 0x87, 0x63, 0x0f, 0x58, 0x71, 0xe6, 0x3d, 0xeb, 0xd6, 0x72, 0xe0, 0x81, 0x2b, 0xf0, 0x2d, + 0xcb, 0x4f, 0xef, 0xdf, 0x8a, 0x55, 0x8f, 0xf7, 0x4d, 0xa4, 0xa7, 0x87, 0xf1, 0x91, 0x6d, 0xc4, + 0xf1, 0x01, 0xdc, 0x70, 0xc7, 0xa6, 0xb3, 0x6e, 0x59, 0x37, 0xc9, 0xa1, 0x47, 0x1d, 0x0c, 0xad, + 0x26, 0x37, 0xde, 0x7a, 0x2f, 0x1a, 0x0b, 0x46, 0x6b, 0x18, 0x0b, 0xad, 0x89, 0x06, 0xe1, 0x90, + 0x71, 0x86, 0x87, 0xf7, 0xe1, 0xa0, 0x03, 0xd6, 0xb0, 0x78, 0xdf, 0x03, 0xf8, 0xe6, 0x45, 0xeb, + 0xd9, 0x67, 0xf5, 0x20, 0x19, 0x96, 0x87, 0x1f, 0x7c, 0x84, 0x83, 0xf6, 0xdf, 0x87, 0x3b, 0xee, + 0x5d, 0xc7, 0xf6, 0x61, 0xcb, 0x19, 0xcf, 0x7d, 0x16, 0xd7, 0x5d, 0x75, 0x1d, 0xce, 0x4c, 0x92, + 0x68, 0x7d, 0xf6, 0xc5, 0x00, 0x3d, 0x69, 0x4f, 0xe1, 0xad, 0xe4, 0x1c, 0x79, 0x9e, 0x61, 0x4d, + 0x87, 0xf9, 0x67, 0x2e, 0x3c, 0xc1, 0x7b, 0x63, 0x16, 0x89, 0x08, 0x51, 0x91, 0x05, 0x8a, 0x22, + 0xe2, 0x20, 0x6f, 0x29, 0x93, 0x79, 0x4e, 0x23, 0x77, 0xc5, 0xf9, 0xa0, 0x6c, 0xa7, 0x1d, 0x9d, + 0xbb, 0xd6, 0xf4, 0x38, 0xbc, 0x8e, 0xa6, 0x06, 0x7c, 0x0c, 0x62, 0xd9, 0xaf, 0x0c, 0x9e, 0xec, + 0xc4, 0x0a, 0x53, 0xf6, 0xd9, 0x27, 0xfc, 0xe1, 0x23, 0x8a, 0x6a, 0x42, 0x7f, 0x92, 0x52, 0x5f, + 0x90, 0x70, 0xeb, 0x25, 0xdb, 0x59, 0x38, 0xb8, 0x88, 0x20, 0x93, 0xdc, 0xf4, 0xb3, 0xfb, 0xd9, + 0xef, 0xa0, 0x35, 0xac, 0x5e, 0xb3, 0x0f, 0x03, 0x71, 0x8b, 0xa3, 0x0e, 0xec, 0x63, 0xc5, 0x12, + 0xd1, 0xa3, 0x0e, 0x3a, 0xc0, 0xed, 0x1a, 0x99, 0x8c, 0x77, 0x8e, 0x2b, 0xfb, 0xaf, 0x34, 0x6c, + 0x7e, 0x64, 0x13, 0x59, 0x63, 0x8c, 0xc3, 0x0f, 0x1d, 0x24, 0xad, 0xad, 0x20, 0xa8, 0xb0, 0xa0, + 0x67, 0x11, 0x7f, 0xf8, 0x92, 0x63, 0xdc, 0xe6, 0xe1, 0x86, 0x34, 0xc6, 0xc4, 0xca, 0xf2, 0x26, + 0xeb, 0x37, 0x6c, 0xa3, 0x6f, 0x60, 0x11, 0x87, 0x1f, 0x75, 0x08, 0x59, 0x63, 0x84, 0x88, 0x06, + 0xb9, 0x33, 0xfc, 0xff, 0xf6, 0xce, 0x3d, 0xd8, 0x93, 0xa3, 0xba, 0xef, 0x9f, 0xd3, 0xdd, 0x33, + 0xf3, 0xfb, 0xfd, 0xee, 0x63, 0xf7, 0x6a, 0xdf, 0xbb, 0x42, 0x5a, 0x3d, 0x41, 0x12, 0x08, 0xf4, + 0xc2, 0x28, 0x14, 0x0f, 0x81, 0x01, 0xf3, 0x0a, 0x98, 0x54, 0xec, 0x10, 0xc7, 0x2e, 0x70, 0x5c, + 0xa9, 0x04, 0xa7, 0x8a, 0xc2, 0x09, 0x94, 0xcb, 0x71, 0x52, 0xa9, 0xe0, 0xd8, 0x0e, 0x45, 0x82, + 0xe3, 0x2a, 0xbb, 0x2a, 0xa6, 0x78, 0xd8, 0x54, 0x1c, 0xec, 0xe2, 0x11, 0x08, 0xd8, 0xd8, 0x0e, + 0xc4, 0x3c, 0x8a, 0x60, 0x24, 0x40, 0x48, 0x20, 0x21, 0x89, 0xd5, 0xae, 0xd0, 0x6a, 0x57, 0xbb, + 0xda, 0xbb, 0x77, 0xef, 0xeb, 0xf7, 0x98, 0x99, 0xee, 0x93, 0x3f, 0x7a, 0xe6, 0x77, 0x7f, 0x8f, + 0xb9, 0xbb, 0x77, 0xa5, 0xdd, 0x14, 0x96, 0x75, 0xaa, 0xb4, 0xab, 0x9d, 0xdf, 0x4c, 0x4f, 0x77, + 0x4f, 0x9f, 0xd3, 0xe7, 0x9c, 0x3e, 0xe7, 0x7b, 0x0e, 0xec, 0x98, 0xa7, 0xf4, 0x05, 0x37, 0xdd, + 0x7c, 0x0b, 0x8f, 0xf9, 0xdd, 0xfc, 0xe0, 0xe1, 0xbb, 0xb9, 0xe6, 0xca, 0x1d, 0x9c, 0x39, 0xbd, + 0xc8, 0x91, 0xe3, 0xc7, 0x79, 0xd1, 0x0b, 0xae, 0xe5, 0xc1, 0xb2, 0xcd, 0x37, 0xef, 0x5f, 0xe7, + 0x55, 0xaf, 0x7e, 0x25, 0xbf, 0xfb, 0xfb, 0x1f, 0x62, 0x6d, 0xf5, 0x04, 0x63, 0x11, 0xfb, 0x23, + 0xd4, 0x2d, 0xd7, 0x71, 0x92, 0x54, 0x26, 0x8f, 0x44, 0x07, 0x55, 0xa3, 0x4a, 0x7c, 0x71, 0x68, + 0x52, 0xa6, 0x06, 0x4f, 0x58, 0xa9, 0x23, 0x90, 0x04, 0x4f, 0xc9, 0x80, 0xde, 0xf2, 0x0a, 0x45, + 0xbf, 0x17, 0xcf, 0x30, 0xaa, 0x5d, 0xd5, 0x68, 0x8c, 0x91, 0xac, 0x63, 0x7a, 0xe2, 0xb1, 0xb7, + 0x50, 0xfa, 0x82, 0x32, 0x94, 0xf1, 0x88, 0xa7, 0x68, 0x1e, 0x74, 0x4d, 0x42, 0x9d, 0xb0, 0xfb, + 0x74, 0x58, 0xf5, 0x4f, 0x03, 0xba, 0x08, 0x9f, 0x41, 0xf0, 0x14, 0xc1, 0xa3, 0x6b, 0xeb, 0xec, + 0x9c, 0x53, 0x06, 0xcb, 0x06, 0x67, 0x4b, 0x76, 0xed, 0x74, 0x2c, 0x2d, 0xaf, 0x71, 0xe8, 0x91, + 0x47, 0x79, 0xf0, 0xe1, 0x47, 0x58, 0x5e, 0x5d, 0xe6, 0x55, 0x2f, 0x7e, 0xde, 0xf1, 0x57, 0xbc, + 0x60, 0xd7, 0x07, 0x5a, 0xa9, 0x52, 0x68, 0x06, 0xaa, 0xb8, 0x34, 0xa7, 0xd7, 0xed, 0x72, 0xe4, + 0x44, 0x97, 0xc3, 0x87, 0x4e, 0xf1, 0xc0, 0x7d, 0x0f, 0xb3, 0x63, 0x26, 0xe1, 0x0d, 0x2f, 0xb9, + 0xe2, 0xc3, 0x92, 0x94, 0xdf, 0xce, 0x5a, 0x73, 0xb4, 0x0d, 0xd0, 0x55, 0x0e, 0xec, 0x59, 0x60, + 0xe0, 0x57, 0xb8, 0xf7, 0x07, 0x0f, 0x71, 0xcf, 0x7d, 0x87, 0xf8, 0xde, 0xfd, 0x3f, 0xe4, 0x7b, + 0x47, 0x1e, 0x84, 0xa4, 0xc3, 0x6b, 0x5e, 0xf6, 0x2a, 0x0e, 0xff, 0xc8, 0x73, 0x7a, 0x6d, 0x95, + 0xf9, 0xb9, 0x84, 0xd3, 0xa7, 0x8f, 0xb3, 0xbe, 0xea, 0xd1, 0xde, 0x0a, 0x9d, 0x59, 0xc7, 0x97, + 0xbf, 0xf1, 0x08, 0xfb, 0x0e, 0x5c, 0xce, 0x0b, 0x6f, 0x79, 0x01, 0xa1, 0xef, 0x9b, 0xfd, 0xbe, + 0xaa, 0x2c, 0xaf, 0x2e, 0xd3, 0x2f, 0x0a, 0x3c, 0xe0, 0x9c, 0x3d, 0xb7, 0xe9, 0xa7, 0xa3, 0x71, + 0x53, 0x9b, 0x9c, 0x8b, 0x6f, 0x36, 0x77, 0x0d, 0xb7, 0x4e, 0x32, 0x6c, 0xf9, 0xc4, 0xe9, 0x93, + 0x9f, 0x4c, 0x5d, 0x42, 0xcc, 0x3b, 0x8f, 0xe1, 0x7b, 0x45, 0xde, 0x27, 0xef, 0xc7, 0x43, 0x60, + 0x91, 0xaa, 0x25, 0x6b, 0x87, 0x1d, 0x51, 0xaa, 0x70, 0x74, 0xd9, 0x38, 0xb7, 0x8a, 0x71, 0x66, + 0x9b, 0x03, 0xb0, 0x29, 0x4a, 0x29, 0x05, 0x85, 0xcf, 0x09, 0xc5, 0xc5, 0x0d, 0x43, 0x7c, 0x86, + 0xfe, 0xff, 0x53, 0x7d, 0xb6, 0x68, 0xad, 0x65, 0x65, 0x19, 0xbe, 0xfd, 0xcd, 0x3b, 0x79, 0xd5, + 0xed, 0x57, 0xa0, 0xa6, 0xc7, 0xe1, 0x47, 0xd7, 0xb9, 0xe9, 0xe6, 0x1b, 0xb8, 0xf6, 0xaa, 0xbd, + 0xec, 0xdf, 0x3d, 0x03, 0x69, 0xc6, 0x07, 0x3f, 0x7e, 0x27, 0xbf, 0xf0, 0xaf, 0x3f, 0xb9, 0xff, + 0xb1, 0x53, 0xc5, 0x7b, 0x3a, 0x2d, 0x43, 0x42, 0xc1, 0x7c, 0x3b, 0xf0, 0xa2, 0x9b, 0x0f, 0xf2, + 0xfc, 0x9b, 0xaf, 0x61, 0xd7, 0xde, 0x6d, 0xec, 0xbf, 0x62, 0x8e, 0x4b, 0x2f, 0xdb, 0x85, 0x0d, + 0x39, 0x85, 0x1f, 0xfc, 0xb3, 0x1d, 0xf3, 0xed, 0xdb, 0xfa, 0x85, 0x47, 0x5c, 0x86, 0x5a, 0x83, + 0x98, 0x2e, 0x3b, 0x66, 0x0c, 0xcf, 0xda, 0xbd, 0x9f, 0xab, 0xaf, 0x39, 0x88, 0xd8, 0x59, 0x1e, + 0x3f, 0x52, 0xe0, 0x12, 0xc7, 0x20, 0x9d, 0xe5, 0xce, 0x7b, 0x4e, 0xb2, 0x73, 0x67, 0x87, 0xdc, + 0xa7, 0x2c, 0x9d, 0x1a, 0x40, 0x2f, 0x70, 0x7c, 0xb9, 0xcb, 0xfe, 0xcb, 0x3a, 0x7c, 0xeb, 0xde, + 0xa3, 0x1c, 0x5f, 0x35, 0xbc, 0xf6, 0xd5, 0x3f, 0x09, 0x16, 0x0a, 0x2b, 0x84, 0xa9, 0x90, 0xb7, + 0x18, 0xd0, 0x63, 0xc4, 0x12, 0x8c, 0xa1, 0x00, 0x4c, 0x72, 0x76, 0x3b, 0xce, 0xa4, 0x09, 0x89, + 0xd4, 0xd1, 0x4e, 0x45, 0x15, 0x19, 0xb5, 0x95, 0x09, 0x84, 0xb2, 0x08, 0x53, 0xdc, 0x33, 0x65, + 0xb5, 0x0c, 0xd6, 0xd6, 0xce, 0x58, 0x35, 0x94, 0x28, 0x81, 0x18, 0x46, 0xe6, 0xb5, 0xc4, 0xfb, + 0x80, 0x2f, 0x3c, 0x21, 0x04, 0xc4, 0x18, 0x70, 0x1b, 0xa1, 0x70, 0x22, 0xe0, 0xac, 0xaf, 0x62, + 0x33, 0xab, 0x86, 0xe2, 0xc5, 0x4d, 0xf8, 0x35, 0x46, 0xd1, 0x96, 0x9a, 0x33, 0xe8, 0xf6, 0xf1, + 0x45, 0xf1, 0xcc, 0x2e, 0xfb, 0x74, 0x22, 0x89, 0x38, 0x45, 0xc1, 0x47, 0xbc, 0xea, 0x90, 0xaf, + 0xf0, 0xc5, 0xbf, 0xfc, 0x0b, 0x9e, 0x7d, 0x20, 0xe1, 0x57, 0xfe, 0xc9, 0xf5, 0x2c, 0x1e, 0x3b, + 0xc2, 0xf7, 0xee, 0x3e, 0x44, 0xb9, 0x7c, 0x0a, 0x5d, 0x5a, 0x64, 0xef, 0x25, 0x73, 0xdc, 0x72, + 0xeb, 0xad, 0x7c, 0xf7, 0xa1, 0xc7, 0xf9, 0xc0, 0xc7, 0xbf, 0x41, 0xaf, 0x10, 0x66, 0x93, 0x8c, + 0xbc, 0x70, 0x9c, 0x5e, 0x5a, 0xa2, 0xbb, 0xdc, 0x47, 0x97, 0x61, 0xfd, 0xe4, 0x80, 0x53, 0x47, + 0x97, 0xab, 0xb3, 0xfb, 0xec, 0xdf, 0x1e, 0x3d, 0xb1, 0xfe, 0xbf, 0x13, 0x37, 0x60, 0x6d, 0x10, + 0xf0, 0x21, 0xa5, 0x9b, 0x0f, 0x58, 0xeb, 0x75, 0x39, 0x7d, 0x6a, 0x95, 0xcc, 0xe7, 0xec, 0xdc, + 0xb5, 0x0d, 0x9b, 0xa6, 0xa4, 0xb6, 0xe0, 0x9b, 0xf7, 0x1d, 0xe7, 0x3b, 0x3f, 0x78, 0x98, 0x83, + 0x7b, 0xf6, 0xf2, 0xd8, 0xf1, 0x45, 0xd2, 0xd4, 0x70, 0xc5, 0x35, 0x0b, 0x2c, 0x2e, 0xe5, 0xec, + 0xde, 0x9e, 0x71, 0x26, 0x14, 0x7c, 0xe1, 0xab, 0x8f, 0x71, 0xdb, 0x8d, 0x37, 0xb3, 0x7f, 0xdf, + 0x1e, 0x4a, 0xa9, 0x4e, 0x2d, 0xb4, 0xde, 0x15, 0x13, 0xd0, 0x36, 0x48, 0x8a, 0x2f, 0xc1, 0x96, + 0x82, 0xf8, 0x40, 0x51, 0x6c, 0xe6, 0xab, 0xd1, 0x18, 0xf5, 0x97, 0xa6, 0xa4, 0xc6, 0xe0, 0xb4, + 0x8e, 0x72, 0xda, 0xda, 0x3a, 0x97, 0x20, 0x91, 0x61, 0x27, 0x3c, 0x50, 0x53, 0x0c, 0x6b, 0x9d, + 0x73, 0x0a, 0x51, 0x4f, 0x17, 0x21, 0x2f, 0x72, 0x06, 0x79, 0x3e, 0xe4, 0xbf, 0xa1, 0x0a, 0x30, + 0xda, 0x90, 0x2a, 0xbe, 0x88, 0x15, 0xeb, 0xca, 0xa1, 0x09, 0x1b, 0x40, 0xcf, 0x5e, 0x5b, 0xc7, + 0x88, 0x25, 0x78, 0xa5, 0xf4, 0x4f, 0xd2, 0xab, 0xfc, 0x0c, 0xfd, 0xd8, 0x53, 0xe9, 0x07, 0xa4, + 0x0b, 0x19, 0xaf, 0xfe, 0xc9, 0xd7, 0x72, 0xc5, 0xe5, 0x7b, 0xf9, 0x57, 0xff, 0xfc, 0x15, 0xfc, + 0xc6, 0xaf, 0xbe, 0x9e, 0xcb, 0xaf, 0xb9, 0x94, 0x15, 0xd3, 0xe6, 0xd1, 0x25, 0xcf, 0xd7, 0xbe, + 0xf5, 0x00, 0x62, 0x33, 0x76, 0x1f, 0xd8, 0xc5, 0x97, 0xee, 0xbc, 0x8f, 0xc3, 0xc7, 0x56, 0xc1, + 0x18, 0x56, 0xd7, 0x73, 0x1e, 0x78, 0x70, 0xc0, 0x03, 0x0f, 0xaf, 0x91, 0x17, 0x05, 0xd6, 0x3a, + 0xb2, 0x79, 0xc3, 0x5a, 0x99, 0xf3, 0xf0, 0xd2, 0xfa, 0x15, 0xed, 0xd9, 0xed, 0x0b, 0x62, 0x1d, + 0x90, 0x53, 0xda, 0x12, 0x4f, 0x9b, 0x7e, 0xbf, 0xcd, 0x63, 0x8b, 0xf0, 0xd0, 0xb1, 0x12, 0xe7, + 0xda, 0xa4, 0x36, 0xc1, 0x84, 0x0e, 0x5f, 0xbd, 0xf3, 0x61, 0xfa, 0xea, 0xe9, 0x74, 0x1c, 0x8f, + 0x9d, 0x38, 0xc5, 0xf3, 0x5e, 0x70, 0x3d, 0x2f, 0x7d, 0xf9, 0x95, 0xac, 0x2c, 0x77, 0x59, 0x5f, + 0x73, 0xec, 0x59, 0x48, 0xf9, 0xcb, 0x2f, 0xdd, 0xcf, 0x25, 0x97, 0x5d, 0xc9, 0xad, 0xb7, 0xbe, + 0x10, 0x8a, 0x1c, 0xb1, 0xae, 0xca, 0xf1, 0x4e, 0x40, 0x95, 0x34, 0xcd, 0xb0, 0xe2, 0x86, 0x21, + 0xb8, 0x1a, 0x02, 0xf8, 0x73, 0xec, 0x98, 0x4f, 0x59, 0x25, 0x1e, 0x67, 0xd8, 0xa9, 0xfd, 0xdc, + 0xa6, 0x4a, 0x69, 0x14, 0x13, 0x32, 0xbc, 0x14, 0xf4, 0xf2, 0x9c, 0x52, 0xa1, 0x93, 0x38, 0x9c, + 0x35, 0x31, 0x38, 0x7a, 0x82, 0xcd, 0x55, 0x84, 0x22, 0x28, 0x52, 0xfa, 0xf3, 0xa8, 0xaa, 0x15, + 0x2b, 0x77, 0x09, 0xb1, 0x64, 0xe5, 0x33, 0xf4, 0x34, 0x24, 0x81, 0x30, 0x10, 0xe6, 0xb7, 0xed, + 0xe5, 0xf6, 0x3b, 0x5e, 0xc9, 0x67, 0xbe, 0xfe, 0x30, 0x9f, 0xff, 0xca, 0x21, 0x5a, 0xd9, 0x2c, + 0x0b, 0xed, 0x8c, 0x6e, 0x5e, 0x62, 0xfd, 0x02, 0xcb, 0xeb, 0x81, 0x5e, 0xaf, 0x47, 0x6a, 0x33, + 0x06, 0xb9, 0xa1, 0xdb, 0x5d, 0x26, 0x58, 0x45, 0x8d, 0x43, 0x4d, 0x17, 0x69, 0xf7, 0x69, 0x2f, + 0x74, 0x68, 0x19, 0x47, 0xd9, 0xdd, 0xc9, 0xbd, 0x0f, 0xae, 0xf0, 0x91, 0x4f, 0x7c, 0xfd, 0x17, + 0x2f, 0xdd, 0xb7, 0x87, 0x41, 0x5e, 0xe2, 0x9c, 0xa1, 0x93, 0x65, 0x1c, 0x3a, 0x74, 0x94, 0xde, + 0x5e, 0x41, 0xc2, 0x1a, 0x46, 0x3a, 0x24, 0xa6, 0x80, 0x96, 0xe7, 0xf0, 0xd2, 0x69, 0xbe, 0x7c, + 0xe7, 0x29, 0xe6, 0x66, 0x77, 0xd2, 0xf7, 0xd0, 0xef, 0xc1, 0xbd, 0xf7, 0x1f, 0xe5, 0xd8, 0xf1, + 0x9c, 0xfe, 0x5a, 0x97, 0xe3, 0x4f, 0x2c, 0xf1, 0xac, 0xfd, 0x3b, 0xf9, 0xe1, 0x03, 0xc7, 0x38, + 0xb9, 0x16, 0x78, 0xf1, 0xed, 0xb7, 0xf1, 0xd9, 0x4f, 0x7e, 0x8e, 0x90, 0x04, 0xb0, 0x01, 0x42, + 0x0f, 0x63, 0x52, 0xe6, 0xe6, 0x67, 0xe8, 0x2e, 0x09, 0x06, 0x25, 0x68, 0x0e, 0x2e, 0xc1, 0x60, + 0x38, 0x9f, 0x3c, 0xe4, 0xf3, 0x9e, 0x40, 0xc6, 0xe3, 0x8e, 0xa7, 0x18, 0xb6, 0x93, 0x76, 0x62, + 0xfa, 0x4f, 0x95, 0xa0, 0xa8, 0x41, 0xe9, 0xaf, 0x75, 0xa1, 0x15, 0xe8, 0xd7, 0x01, 0x95, 0x28, + 0x84, 0x40, 0x04, 0x5c, 0xab, 0x0e, 0xbe, 0x15, 0x4a, 0xc9, 0xf1, 0xaa, 0x78, 0x9d, 0x4e, 0x59, + 0x6b, 0xa2, 0x3a, 0xa7, 0xa7, 0xd3, 0x6a, 0xd1, 0x03, 0x06, 0xfd, 0xee, 0x33, 0xaa, 0xf1, 0xd3, + 0x8a, 0x14, 0xb1, 0x06, 0x83, 0xb2, 0xda, 0x5d, 0xe3, 0xeb, 0xdf, 0x1f, 0xf0, 0xa9, 0xcf, 0x3f, + 0x4e, 0x67, 0xc6, 0x31, 0xdb, 0x39, 0x43, 0xc0, 0x51, 0xf6, 0x53, 0xae, 0xbd, 0x72, 0x37, 0xf3, + 0x33, 0x33, 0xdc, 0x73, 0xef, 0x7d, 0xbc, 0xed, 0x4d, 0xcf, 0xe3, 0x45, 0x37, 0x1f, 0x24, 0xf9, + 0xef, 0xf7, 0xd3, 0x1d, 0xf4, 0xb9, 0xf2, 0xba, 0x03, 0x84, 0x47, 0x1f, 0x67, 0x6d, 0xa9, 0x64, + 0x65, 0x70, 0x8a, 0x5c, 0x3a, 0x88, 0x28, 0xf7, 0xfc, 0xb0, 0xe0, 0xf9, 0xcf, 0xde, 0xc6, 0xb6, + 0x19, 0xe1, 0xd4, 0xf1, 0x13, 0x5c, 0x75, 0xf9, 0x75, 0xe8, 0x51, 0x61, 0x75, 0x75, 0x95, 0xdd, + 0xbb, 0xe6, 0x38, 0x78, 0xf9, 0x1c, 0xcb, 0xdd, 0x2e, 0xa5, 0x0a, 0x5f, 0xbe, 0xf3, 0x71, 0x7e, + 0x74, 0xaa, 0xcb, 0xc2, 0x82, 0xe5, 0xcc, 0xe2, 0x0a, 0xb3, 0x99, 0x63, 0xcf, 0xf6, 0x84, 0x94, + 0x59, 0xae, 0xb9, 0x6a, 0x1b, 0xf3, 0x97, 0xb4, 0xd9, 0x73, 0xc9, 0x76, 0xee, 0x5a, 0x7f, 0x94, + 0x2f, 0x7c, 0xed, 0x31, 0x5e, 0x73, 0xf3, 0x8b, 0xd9, 0xbe, 0x67, 0x17, 0x67, 0x96, 0x4e, 0xe0, + 0xd2, 0x79, 0xb4, 0x0c, 0xcc, 0xce, 0xce, 0xd1, 0x76, 0x09, 0xeb, 0x28, 0x79, 0xee, 0xf1, 0x5a, + 0xe0, 0x6c, 0x95, 0xa3, 0x18, 0x2e, 0x12, 0xc3, 0x0a, 0x74, 0x66, 0xda, 0x9d, 0xd1, 0x4b, 0xd3, + 0x27, 0x6f, 0xa9, 0x6c, 0x24, 0x68, 0x18, 0x43, 0xde, 0x5b, 0xe3, 0xf0, 0xe1, 0x87, 0x78, 0xe0, + 0xd0, 0x83, 0x74, 0xd7, 0x57, 0x31, 0x2a, 0xc8, 0x20, 0x10, 0x02, 0x0c, 0x2b, 0x11, 0xa8, 0xc6, + 0x03, 0xe2, 0xf3, 0x74, 0x6f, 0xab, 0x2a, 0x62, 0x84, 0xf6, 0x4c, 0x87, 0x34, 0xfb, 0x31, 0x0d, + 0xa8, 0x7d, 0x86, 0x9e, 0x02, 0x19, 0x20, 0xa7, 0x60, 0x89, 0x34, 0xed, 0x70, 0xd5, 0x55, 0xfb, + 0xb8, 0xf6, 0xca, 0x0e, 0x97, 0xed, 0xdd, 0xce, 0xce, 0x1d, 0x07, 0xd9, 0xb9, 0x7b, 0x3f, 0x3b, + 0xf7, 0xcf, 0x51, 0xf8, 0x75, 0xfe, 0xe6, 0xae, 0x3b, 0xb9, 0xea, 0xaa, 0x2b, 0x79, 0xfb, 0x5b, + 0x6e, 0xe6, 0x39, 0x07, 0xda, 0xbc, 0xf9, 0xa7, 0x6f, 0xe7, 0x91, 0x1f, 0x1e, 0xe3, 0xa1, 0xfb, + 0x7f, 0xc4, 0xf6, 0xd6, 0x0e, 0x5a, 0x9d, 0x6d, 0xcc, 0x75, 0x5a, 0xec, 0x58, 0x48, 0x48, 0x52, + 0xa5, 0x95, 0x39, 0x6e, 0xbb, 0xe9, 0x32, 0x7e, 0xf6, 0x4d, 0x2f, 0xe5, 0xd1, 0x47, 0x4f, 0x70, + 0xe8, 0xd0, 0xa3, 0xcc, 0xcf, 0xb4, 0xd9, 0xb5, 0xbb, 0xc3, 0xf6, 0x9d, 0x33, 0xac, 0x9e, 0x5e, + 0xe6, 0x47, 0x47, 0x16, 0x39, 0x76, 0x5c, 0xf9, 0xe8, 0x27, 0x1e, 0xe2, 0xe4, 0xd1, 0x2e, 0x33, + 0x99, 0xe7, 0xc8, 0xc3, 0x47, 0xb9, 0xe5, 0x96, 0xb2, 0x8f, 0x5f, 0xc7, 0x00, 0x00, 0x16, 0x56, + 0x49, 0x44, 0x41, 0x54, 0xbd, 0xfc, 0xd4, 0x6b, 0xae, 0x21, 0xb8, 0x2e, 0xda, 0x52, 0x96, 0xcf, + 0x2c, 0xf1, 0xe0, 0xfd, 0x87, 0xa1, 0x5f, 0xf0, 0x57, 0x5f, 0x7b, 0x98, 0xce, 0xf6, 0x05, 0x6e, + 0x7c, 0xc1, 0x0b, 0x20, 0x08, 0x5e, 0x0b, 0xd4, 0x05, 0x4c, 0xdb, 0x91, 0x0f, 0x72, 0x4a, 0x1f, + 0xa3, 0xb9, 0xca, 0x22, 0xa7, 0x28, 0xfa, 0x94, 0xc5, 0x79, 0xa2, 0x9d, 0x9c, 0xcf, 0x12, 0x57, + 0xc8, 0xb2, 0xce, 0x17, 0x46, 0x2f, 0x4d, 0xed, 0xb0, 0xdb, 0x5a, 0xdb, 0x24, 0x4d, 0x0c, 0xbd, + 0x7c, 0x1d, 0x23, 0x8e, 0x95, 0x6e, 0x97, 0xfb, 0x1e, 0x7c, 0x98, 0x76, 0x9a, 0x31, 0xe8, 0xae, + 0x03, 0x01, 0x4d, 0x2d, 0x46, 0x1c, 0xf4, 0x02, 0x4a, 0x0b, 0x44, 0xf0, 0xc6, 0x53, 0x14, 0x25, + 0x1d, 0x05, 0x1f, 0x3c, 0x0e, 0x17, 0xcf, 0xf5, 0xb2, 0xe6, 0x4e, 0x5a, 0x0c, 0x8e, 0x40, 0x28, + 0x7b, 0x74, 0xd7, 0x0d, 0xd6, 0xa6, 0x90, 0x99, 0x28, 0xad, 0xfc, 0xc6, 0xf1, 0x11, 0xe1, 0x3c, + 0x07, 0x79, 0x0e, 0x72, 0x6e, 0x93, 0x4c, 0x13, 0x8d, 0xaf, 0xf4, 0x01, 0xfc, 0xe8, 0x81, 0xf3, + 0xc8, 0xef, 0x8d, 0xd4, 0x70, 0x9f, 0xb1, 0xf1, 0x34, 0xbb, 0xf4, 0x10, 0x46, 0xda, 0x4a, 0x2a, + 0x28, 0x9d, 0xd2, 0xeb, 0x74, 0x34, 0x8b, 0x82, 0x75, 0x82, 0x35, 0xe0, 0x7d, 0xdd, 0x87, 0xc9, + 0x33, 0xed, 0xe9, 0x7c, 0xd5, 0xc9, 0x3e, 0x58, 0x2b, 0x43, 0xb9, 0x59, 0x96, 0xfa, 0xd4, 0xa7, + 0xae, 0xa1, 0x01, 0x63, 0xe2, 0x18, 0xcb, 0xa2, 0x4a, 0xe0, 0x48, 0x26, 0x26, 0x41, 0x15, 0x11, + 0x87, 0xb1, 0x8e, 0x32, 0x57, 0x9c, 0xc9, 0x90, 0x19, 0xe1, 0xd8, 0x0f, 0x16, 0xf9, 0xd1, 0x91, + 0x33, 0x90, 0xf6, 0xd0, 0xe0, 0x11, 0xe3, 0xb0, 0x59, 0x46, 0x4b, 0x72, 0xde, 0xf0, 0xf2, 0x1b, + 0xf9, 0xa5, 0x7f, 0xfa, 0x4a, 0xee, 0xfd, 0xea, 0x07, 0xf9, 0xdd, 0xdf, 0xfe, 0x6b, 0xde, 0xf1, + 0xee, 0xdf, 0x62, 0xe7, 0xdc, 0xdf, 0xe7, 0x63, 0x7f, 0x7a, 0x37, 0x8b, 0x8b, 0x2b, 0xa8, 0x04, + 0x0c, 0x82, 0xed, 0x77, 0x59, 0x5f, 0x3f, 0xc3, 0xe3, 0xab, 0x07, 0x98, 0x49, 0x84, 0xf7, 0xfc, + 0xe3, 0x1b, 0x48, 0xc2, 0x32, 0x9f, 0xfc, 0xf3, 0xbb, 0x39, 0xf9, 0x84, 0x60, 0x9d, 0xc1, 0xa5, + 0x67, 0xd0, 0xa0, 0xa4, 0xad, 0x19, 0xf6, 0x74, 0x12, 0xf2, 0xa2, 0xe4, 0xea, 0x83, 0xbb, 0x79, + 0xd6, 0xde, 0xdd, 0x0c, 0x4e, 0x97, 0xbc, 0xe5, 0xb5, 0xb7, 0xb1, 0xba, 0xb8, 0x44, 0xb9, 0xee, + 0x29, 0x8d, 0x05, 0x6d, 0x61, 0x8d, 0xe1, 0x86, 0x6b, 0xf7, 0x33, 0x3f, 0xd7, 0xc2, 0x2c, 0x5c, + 0xc5, 0x9b, 0x5e, 0x7f, 0x07, 0x5f, 0xfd, 0xf2, 0x17, 0xd1, 0x90, 0x33, 0x33, 0xb7, 0x8b, 0xcc, + 0xb6, 0x58, 0x59, 0x59, 0x43, 0x30, 0x04, 0x09, 0xb8, 0x34, 0xab, 0xfc, 0x38, 0x75, 0xf4, 0x4c, + 0xc3, 0x3c, 0xe1, 0xf0, 0x03, 0x25, 0xa4, 0x8a, 0x11, 0x43, 0x2b, 0x99, 0xa5, 0x40, 0x2b, 0x0f, + 0xba, 0x40, 0xae, 0x94, 0x12, 0x28, 0x0d, 0xe0, 0x62, 0x52, 0x41, 0x3d, 0xc1, 0x1d, 0x49, 0x48, + 0x14, 0x66, 0x66, 0xb2, 0xff, 0x31, 0xda, 0xe6, 0x14, 0xc3, 0xde, 0x72, 0xeb, 0x0b, 0x17, 0x1e, + 0x3c, 0x7c, 0x88, 0xe5, 0xf2, 0x74, 0xb4, 0x67, 0xb5, 0x47, 0xb7, 0xbb, 0x4c, 0x3e, 0xb0, 0x78, + 0x2d, 0xf0, 0xb6, 0x40, 0x54, 0x08, 0xfd, 0x01, 0x89, 0x31, 0x88, 0x49, 0xa2, 0x51, 0xed, 0x95, + 0xd0, 0xcf, 0xd1, 0x34, 0xaf, 0x02, 0x69, 0xfd, 0x59, 0x19, 0x4d, 0x89, 0x19, 0xf7, 0x8a, 0xd2, + 0x1f, 0xf4, 0x98, 0xed, 0x24, 0x6c, 0x9f, 0x59, 0x60, 0x75, 0x75, 0x09, 0x75, 0x86, 0x10, 0x3c, + 0x62, 0x0c, 0xe2, 0xc6, 0x17, 0xfd, 0x53, 0xa5, 0x52, 0x75, 0x7c, 0x7e, 0xeb, 0x54, 0x8c, 0x73, + 0x44, 0x8e, 0x59, 0xd7, 0x80, 0x4c, 0x41, 0xc5, 0x58, 0x23, 0x17, 0x6a, 0xec, 0xa2, 0x3c, 0xd7, + 0x29, 0x1f, 0x43, 0xd1, 0x90, 0xad, 0x33, 0x24, 0x89, 0x6d, 0xf9, 0x5a, 0xbb, 0x92, 0xe9, 0xd4, + 0x2c, 0x31, 0xb2, 0x91, 0x82, 0x58, 0x5f, 0xab, 0x84, 0x4c, 0x3d, 0x47, 0xde, 0xeb, 0x05, 0xb3, + 0xa8, 0xe2, 0xe9, 0xdd, 0x26, 0x13, 0xaf, 0x54, 0x68, 0x09, 0x34, 0x7c, 0xe7, 0x18, 0x24, 0x2d, + 0xe4, 0x18, 0x3c, 0x65, 0xae, 0xac, 0x9f, 0x5a, 0xe4, 0xe7, 0xdf, 0xf8, 0x32, 0xee, 0xb8, 0xed, + 0x4a, 0x42, 0x28, 0xf0, 0x45, 0x0f, 0x6b, 0x1c, 0x49, 0xda, 0x21, 0x4d, 0xa1, 0xe3, 0x96, 0xf9, + 0x3f, 0x7f, 0xf1, 0xdb, 0xbc, 0xef, 0x3f, 0x7f, 0x98, 0x53, 0xc7, 0x1e, 0x66, 0x35, 0x5f, 0xe7, + 0x5d, 0xef, 0xfa, 0x55, 0x5e, 0xf5, 0xde, 0x17, 0xb3, 0xbc, 0x96, 0x13, 0xc4, 0x0e, 0xe3, 0xef, + 0xbc, 0x0f, 0xec, 0xdd, 0xb7, 0x93, 0xa3, 0x87, 0xee, 0xe5, 0x93, 0x1f, 0xff, 0x30, 0x2f, 0x7a, + 0xc9, 0xab, 0x79, 0xe3, 0x6f, 0xfc, 0x14, 0x4f, 0x9c, 0x8e, 0x79, 0xa5, 0x26, 0x78, 0x62, 0xf9, + 0x98, 0xd8, 0xb9, 0x32, 0x28, 0x33, 0x1d, 0xcb, 0x4c, 0xbb, 0xc3, 0x99, 0x95, 0x7d, 0x3c, 0xeb, + 0xd2, 0x9c, 0xbc, 0x68, 0x73, 0xf3, 0xc1, 0x3b, 0x2a, 0x34, 0x4f, 0xc5, 0x5a, 0x43, 0xd2, 0x0a, + 0x68, 0x7f, 0x99, 0x7d, 0x33, 0x2b, 0x74, 0xe6, 0x2e, 0xa1, 0xdd, 0xea, 0x30, 0x28, 0x4a, 0x66, + 0x92, 0x8c, 0xbc, 0xd7, 0x23, 0x94, 0x8a, 0x35, 0x11, 0x45, 0x34, 0x54, 0x60, 0x6b, 0x6e, 0xd3, + 0x93, 0x90, 0x2a, 0xf1, 0xc1, 0xc6, 0xcc, 0xad, 0x3a, 0x8d, 0x32, 0xcb, 0x84, 0xa2, 0x10, 0xf2, + 0xbc, 0x88, 0x79, 0xb7, 0x26, 0x66, 0xe8, 0xc4, 0xff, 0x0c, 0x36, 0x18, 0x6c, 0x9a, 0x32, 0xa0, + 0xa0, 0x93, 0x76, 0xb8, 0xee, 0x9a, 0x1b, 0xc6, 0x3e, 0xf8, 0x14, 0xc3, 0xfe, 0x83, 0x9f, 0x7e, + 0xdd, 0xe7, 0x3e, 0xfd, 0xe9, 0x4f, 0xff, 0x1c, 0x26, 0xbb, 0x2d, 0xd7, 0x80, 0xd1, 0x7e, 0x44, + 0x57, 0x1e, 0x09, 0x3b, 0x0b, 0x79, 0x8e, 0x33, 0x96, 0xed, 0xdb, 0xb6, 0x93, 0xb6, 0x1c, 0x8a, + 0xd0, 0xcf, 0x7d, 0x04, 0x9d, 0x22, 0x50, 0xa8, 0x89, 0xbb, 0xd8, 0x59, 0xea, 0x60, 0x05, 0x34, + 0x66, 0x12, 0x8a, 0xa2, 0x41, 0xe9, 0xf6, 0xfa, 0x6c, 0x9b, 0xdb, 0x49, 0x7b, 0xc7, 0x76, 0x4e, + 0x2d, 0x3e, 0x4a, 0xc8, 0x7b, 0x68, 0x2b, 0xdd, 0xc8, 0x6f, 0xba, 0x60, 0xbb, 0x6c, 0xe5, 0x5e, + 0x1f, 0xbb, 0x94, 0x56, 0x59, 0x60, 0x02, 0x52, 0x82, 0x54, 0xc2, 0x46, 0x36, 0xa0, 0x5e, 0xb4, + 0xaa, 0x0a, 0x38, 0xf6, 0xd8, 0x64, 0x9f, 0x84, 0x0d, 0x37, 0xfc, 0xf0, 0xde, 0xd1, 0xf7, 0x45, + 0xcc, 0xe6, 0xad, 0x0d, 0xa6, 0xf2, 0x4e, 0x8e, 0xbd, 0x4f, 0x99, 0x82, 0xb7, 0xaa, 0xce, 0x3b, + 0x2f, 0x46, 0xd0, 0x43, 0x44, 0x0a, 0x39, 0xeb, 0x1d, 0x8c, 0x8f, 0x65, 0x44, 0x42, 0x69, 0x55, + 0xdc, 0x1b, 0xcb, 0xf2, 0xe2, 0x0a, 0xef, 0xff, 0x0f, 0xff, 0x9e, 0xe7, 0xde, 0x78, 0x13, 0x46, + 0x03, 0xc5, 0x60, 0x09, 0x97, 0xce, 0x22, 0x58, 0x8a, 0x7c, 0x8d, 0x32, 0x04, 0xee, 0x7b, 0xe8, + 0x07, 0xdc, 0xf3, 0xbd, 0xfb, 0xf1, 0x61, 0x1f, 0x69, 0xeb, 0x00, 0x5f, 0xf8, 0xcc, 0x17, 0xf9, + 0xc6, 0x57, 0xbe, 0xc1, 0x2d, 0xcf, 0xbd, 0x9a, 0xdd, 0xbb, 0x16, 0x28, 0xfb, 0xd5, 0x62, 0x12, + 0xb0, 0x89, 0xc5, 0x78, 0xe5, 0x87, 0x8f, 0x2f, 0x72, 0xd7, 0xdd, 0x77, 0xb1, 0xf3, 0x4f, 0x3e, + 0xc1, 0x4d, 0x57, 0x5f, 0xcd, 0x25, 0x97, 0xcc, 0x61, 0xac, 0x23, 0x84, 0x40, 0x39, 0x08, 0x75, + 0x9d, 0x2a, 0xfa, 0x65, 0x34, 0xe1, 0x7c, 0xf0, 0x38, 0x27, 0x2c, 0xae, 0x2d, 0xd1, 0xb1, 0x09, + 0xad, 0xd6, 0x2c, 0x65, 0xb1, 0x5a, 0x45, 0xe2, 0xc6, 0x6f, 0x2c, 0x04, 0xd6, 0x8b, 0x84, 0x63, + 0x27, 0x97, 0xf1, 0x85, 0xd0, 0x4a, 0x67, 0xe8, 0x17, 0x05, 0x83, 0xfe, 0x00, 0xd5, 0x68, 0xf5, + 0x99, 0x10, 0xd0, 0x32, 0x1e, 0xd1, 0xa8, 0x9a, 0x58, 0x7e, 0x6e, 0x0b, 0x73, 0x99, 0x75, 0x3a, + 0x58, 0xe7, 0x28, 0x97, 0xd6, 0x63, 0xc2, 0x80, 0x0f, 0x11, 0x00, 0xc1, 0x0a, 0x62, 0x13, 0x72, + 0xf5, 0x64, 0x89, 0x23, 0x49, 0x0c, 0xdd, 0x7e, 0x9f, 0x2b, 0x0e, 0x1e, 0x7c, 0xec, 0xe5, 0xb7, + 0xff, 0xc4, 0xf1, 0xd1, 0x76, 0xa6, 0x40, 0xd8, 0x00, 0x5e, 0xf5, 0x86, 0x7f, 0xf4, 0xf1, 0x6f, + 0x7e, 0xe7, 0xee, 0x9f, 0x2d, 0x43, 0x49, 0x49, 0x97, 0xb2, 0x92, 0xf4, 0xb6, 0x42, 0x57, 0x90, + 0x20, 0xcc, 0xcf, 0x6f, 0x67, 0xf7, 0xce, 0x5d, 0xb4, 0x3a, 0xf3, 0x24, 0xd6, 0x71, 0xec, 0xe4, + 0x71, 0x16, 0x4f, 0x9d, 0xa6, 0xd3, 0x5a, 0x60, 0xff, 0xfe, 0xcb, 0x38, 0x74, 0xf8, 0x3b, 0xac, + 0x77, 0x4f, 0x6e, 0x31, 0xe8, 0x59, 0x41, 0x0d, 0x73, 0xe9, 0x0e, 0x66, 0x67, 0xda, 0xe4, 0x45, + 0x97, 0xfe, 0x20, 0xa7, 0x5b, 0xac, 0xa2, 0x83, 0x12, 0xd4, 0x6e, 0xe4, 0x6b, 0x4d, 0x3e, 0x37, + 0x46, 0x9b, 0x4d, 0xdc, 0xc4, 0x7d, 0x53, 0xcd, 0xc8, 0xc6, 0x2e, 0x5b, 0xcf, 0xc7, 0xc5, 0x8a, + 0xe5, 0x18, 0x1d, 0xc7, 0xd9, 0xa2, 0xbc, 0xff, 0x56, 0x50, 0xa8, 0x24, 0x79, 0x35, 0x1e, 0xd9, + 0x48, 0x3b, 0x8b, 0xa4, 0x20, 0x16, 0x97, 0x0a, 0xe5, 0xea, 0x72, 0x85, 0xd2, 0x68, 0xa2, 0x00, + 0xab, 0x76, 0x1c, 0x44, 0x21, 0x49, 0xa3, 0x36, 0x91, 0xce, 0x60, 0x9c, 0x21, 0x94, 0x03, 0xac, + 0x9b, 0xc3, 0x87, 0x12, 0x7c, 0xbf, 0x02, 0xc1, 0x1e, 0x30, 0x4c, 0x81, 0xaa, 0xcb, 0xc0, 0x65, + 0x19, 0xd6, 0x65, 0xf8, 0x5e, 0x95, 0xf1, 0xa5, 0x55, 0x7c, 0xa5, 0x78, 0xe2, 0x6e, 0x31, 0xf9, + 0xa1, 0x5d, 0x25, 0x81, 0xea, 0x76, 0x5c, 0xd5, 0x0f, 0x1f, 0xbf, 0x7d, 0x10, 0x48, 0x67, 0x00, + 0x30, 0x56, 0x69, 0xb5, 0x3b, 0x60, 0x12, 0x82, 0xb1, 0x68, 0x91, 0xe3, 0xcb, 0x2e, 0x58, 0x8b, + 0x09, 0xa1, 0xc2, 0xf4, 0x87, 0xbc, 0x50, 0x92, 0x49, 0x93, 0x60, 0x38, 0xf6, 0x59, 0x9c, 0x4b, + 0x49, 0x92, 0x80, 0xe0, 0xd8, 0xb9, 0x6b, 0x3f, 0xaa, 0x5d, 0xce, 0x2c, 0x2d, 0x51, 0xf8, 0x40, + 0x91, 0x97, 0x94, 0x65, 0xce, 0x10, 0xd7, 0xaa, 0xd5, 0xa2, 0x33, 0xd7, 0xc6, 0x04, 0x43, 0x42, + 0xca, 0x8d, 0x37, 0xde, 0xf0, 0xf6, 0x3f, 0xff, 0xf4, 0xc7, 0x3e, 0x3a, 0x31, 0x82, 0x69, 0xba, + 0xf9, 0xa6, 0x5b, 0xfe, 0xf4, 0xe8, 0xb1, 0x53, 0xaf, 0x3d, 0xf9, 0xc4, 0xe3, 0xf3, 0x5d, 0x5f, + 0xa0, 0xda, 0xc7, 0x79, 0x5b, 0xed, 0x86, 0x11, 0xd3, 0x26, 0x35, 0x0e, 0x21, 0x43, 0x82, 0xa1, + 0x95, 0x65, 0x68, 0x59, 0x30, 0xc8, 0x73, 0x66, 0x3b, 0x0e, 0x63, 0x3c, 0x41, 0x43, 0x5c, 0xf4, + 0x67, 0xd9, 0x65, 0x9d, 0x0a, 0xa6, 0xce, 0x2b, 0x14, 0xe8, 0xf6, 0x16, 0x19, 0x14, 0x19, 0x0b, + 0xf3, 0xbb, 0xe8, 0xcc, 0x75, 0x70, 0xfd, 0x8c, 0xdc, 0xf5, 0x09, 0x65, 0x89, 0xf7, 0x3e, 0x26, + 0xf8, 0x56, 0x06, 0xa8, 0xb0, 0x61, 0x13, 0x56, 0xd3, 0x53, 0xbd, 0x66, 0xfa, 0x65, 0x22, 0x49, + 0x35, 0x29, 0xb1, 0x84, 0xc8, 0xa4, 0x6d, 0x29, 0x26, 0xda, 0x9c, 0x3a, 0x8c, 0xfc, 0x10, 0xca, + 0x56, 0xfc, 0x98, 0x1b, 0x7b, 0x9c, 0x34, 0xb6, 0x0d, 0x1b, 0x91, 0x5d, 0x9b, 0xd9, 0xc6, 0x1b, + 0xfd, 0x88, 0xa1, 0x9b, 0xc1, 0x7b, 0x10, 0x48, 0xd2, 0x0c, 0xa9, 0x30, 0x8d, 0xa6, 0xa9, 0x59, + 0xf8, 0x6c, 0x2e, 0x92, 0x36, 0x17, 0x5e, 0xc3, 0x52, 0xbd, 0x72, 0x76, 0x19, 0xf1, 0xa4, 0x36, + 0xe9, 0xd1, 0x41, 0x37, 0xa8, 0x1c, 0x41, 0x23, 0x2c, 0x4b, 0x6b, 0x7e, 0x0f, 0x41, 0x04, 0x35, + 0x06, 0x63, 0xa2, 0x63, 0x43, 0xa5, 0x87, 0x56, 0x2a, 0xa9, 0x09, 0x0e, 0xe3, 0x0d, 0x6a, 0x4b, + 0x5c, 0x27, 0xa5, 0x3f, 0xf0, 0xb4, 0xdb, 0xb3, 0x14, 0x61, 0x1b, 0xa2, 0x01, 0xcc, 0x00, 0x30, + 0x18, 0x49, 0x22, 0xc0, 0x5f, 0x50, 0x92, 0x24, 0xc1, 0x19, 0x87, 0x76, 0x14, 0x71, 0x2e, 0xa2, + 0x6b, 0x4a, 0x0c, 0x87, 0x84, 0x3a, 0x3c, 0xba, 0x0e, 0xee, 0x11, 0xda, 0x69, 0x9b, 0xb2, 0x2c, + 0xc9, 0xf3, 0x2a, 0x9f, 0xd1, 0x3a, 0x52, 0xdb, 0xc2, 0xe7, 0x67, 0xf0, 0xa6, 0xac, 0x80, 0xf9, + 0x66, 0x71, 0xc6, 0xd1, 0xb1, 0x4a, 0x19, 0x3c, 0x79, 0x1e, 0x28, 0x7b, 0x03, 0x8a, 0x62, 0x1d, + 0x95, 0x78, 0xee, 0x2a, 0x46, 0x90, 0xca, 0x54, 0xd0, 0x44, 0x1b, 0x66, 0x4e, 0x41, 0x5c, 0x84, + 0x47, 0xd2, 0xaa, 0xe4, 0xea, 0x04, 0xbe, 0x96, 0x28, 0xd8, 0x54, 0xa2, 0xbb, 0xa6, 0xba, 0x9e, + 0x8a, 0x10, 0x4a, 0x8f, 0x2f, 0x3c, 0x97, 0x5f, 0x7d, 0xf0, 0xee, 0xeb, 0xae, 0xbb, 0xf4, 0x73, + 0x93, 0xd3, 0xdd, 0xc8, 0xb0, 0xff, 0xe9, 0xbd, 0xef, 0xfe, 0xd4, 0xfd, 0x0f, 0x1c, 0xde, 0xe1, + 0xcb, 0xe2, 0x0f, 0xc2, 0xe2, 0x80, 0x52, 0xf3, 0x0a, 0x86, 0x34, 0x16, 0x6e, 0x46, 0xa1, 0xd7, + 0x1b, 0x90, 0xad, 0xad, 0xa0, 0xea, 0xb1, 0xc6, 0x13, 0x8a, 0x3e, 0xa2, 0x01, 0x6b, 0x2d, 0x9d, + 0xb4, 0x45, 0x6a, 0x0c, 0xbd, 0x2d, 0x6a, 0x7f, 0x0a, 0x15, 0x82, 0x21, 0x84, 0x32, 0x67, 0x69, + 0xf9, 0x34, 0x69, 0x9a, 0xd0, 0x6e, 0xb5, 0xe8, 0xb4, 0x16, 0x40, 0x85, 0xa2, 0xc8, 0x29, 0x75, + 0x1c, 0xb8, 0xd3, 0x89, 0x19, 0x9a, 0x9e, 0x45, 0xa5, 0x62, 0xcb, 0x84, 0xe3, 0x3b, 0x42, 0x6f, + 0x24, 0x18, 0xf1, 0xc3, 0x43, 0xec, 0xbc, 0x21, 0xc9, 0x60, 0xb8, 0xa8, 0xad, 0x82, 0x53, 0x82, + 0x0a, 0x2d, 0x51, 0x12, 0x01, 0xc4, 0x12, 0x91, 0x1f, 0x9b, 0x29, 0x2f, 0xf2, 0x21, 0xa6, 0x71, + 0x0d, 0x5b, 0x59, 0xaf, 0x5d, 0x2d, 0xfd, 0x70, 0x21, 0x87, 0x10, 0x28, 0x34, 0xe0, 0xeb, 0x0f, + 0xe4, 0x84, 0xc4, 0x66, 0x18, 0x63, 0x1a, 0xd8, 0x6d, 0xda, 0xdb, 0x56, 0x3b, 0xe3, 0x9b, 0xc8, + 0xd9, 0x0a, 0xb9, 0x72, 0xe2, 0xf9, 0x10, 0x60, 0xd4, 0xcc, 0x36, 0xd2, 0x0c, 0xb7, 0xec, 0xc3, + 0xb9, 0xd4, 0xdf, 0xa7, 0x40, 0x5a, 0x09, 0x2b, 0x4a, 0x3c, 0x9e, 0xcc, 0xb4, 0x28, 0xcb, 0x92, + 0xd9, 0x6c, 0x3b, 0x79, 0x1e, 0x8f, 0x47, 0xac, 0xb5, 0xa8, 0x0a, 0x3d, 0x1f, 0x6d, 0xf7, 0xd9, + 0x74, 0x30, 0x14, 0x30, 0x51, 0x26, 0xcc, 0x54, 0x03, 0x13, 0xd4, 0x96, 0xa0, 0x81, 0x60, 0xdb, + 0xb4, 0xdb, 0x19, 0x50, 0x92, 0x58, 0x8b, 0xef, 0x77, 0x31, 0xc6, 0xd5, 0x48, 0xdd, 0x14, 0x43, + 0x2b, 0x56, 0x71, 0xce, 0x0d, 0xa1, 0x71, 0x8b, 0xa2, 0x88, 0x11, 0x7b, 0x10, 0xa3, 0xf6, 0xb2, + 0x4b, 0x28, 0x8a, 0xf5, 0x0a, 0x2e, 0xb7, 0x8c, 0x61, 0xb3, 0xc1, 0xb1, 0xd6, 0xeb, 0x91, 0x87, + 0x02, 0x50, 0x8c, 0xd5, 0x2a, 0x0e, 0x21, 0xfa, 0x09, 0xd4, 0xd6, 0x82, 0x80, 0xcd, 0xf2, 0x04, + 0xd8, 0xc0, 0x1d, 0x77, 0x04, 0x84, 0xb5, 0xde, 0x1a, 0x56, 0x94, 0x2e, 0xc4, 0xb0, 0x47, 0xb1, + 0x20, 0x09, 0xa6, 0x06, 0xd9, 0x77, 0x10, 0x82, 0x61, 0xe7, 0xc2, 0xc2, 0xe1, 0x1b, 0xae, 0x7f, + 0xce, 0xaf, 0xff, 0x97, 0xdf, 0xfc, 0xad, 0x53, 0x93, 0x2d, 0x3a, 0x80, 0x7e, 0xbf, 0x2f, 0xad, + 0x56, 0x6b, 0xec, 0x73, 0xbd, 0xe4, 0xa5, 0x57, 0x7f, 0xbc, 0xcc, 0xcf, 0xbc, 0xce, 0x8a, 0x7f, + 0xf3, 0xb1, 0xe3, 0x9e, 0xbe, 0x0e, 0x40, 0x2c, 0x45, 0x05, 0x1d, 0xb9, 0xd2, 0x5f, 0x45, 0x4d, + 0x9f, 0xb5, 0x9e, 0xe1, 0xf4, 0xe9, 0x8c, 0x7e, 0x6f, 0xb0, 0x21, 0x6c, 0xb7, 0xf8, 0xe1, 0xcb, + 0x49, 0x54, 0x3f, 0x25, 0xe2, 0x5f, 0xfa, 0x35, 0x34, 0x08, 0x45, 0x4e, 0x54, 0x49, 0xbc, 0x54, + 0x92, 0x73, 0x9c, 0xa6, 0x17, 0xb9, 0xd0, 0x0c, 0xbd, 0xc0, 0x10, 0x92, 0xf6, 0xec, 0xbb, 0x48, + 0x74, 0x96, 0xd4, 0xce, 0x9e, 0x81, 0xa1, 0x42, 0xd9, 0x03, 0xdd, 0x24, 0xf7, 0x4c, 0x46, 0x54, + 0x5c, 0x45, 0x23, 0xea, 0xa3, 0x15, 0xac, 0x99, 0x86, 0x50, 0xe9, 0x0d, 0xca, 0x5a, 0x9f, 0x00, + 0x60, 0x5d, 0x63, 0xa6, 0x87, 0x6d, 0xc2, 0x93, 0x99, 0x74, 0x38, 0x55, 0x77, 0x4c, 0x45, 0xc2, + 0x55, 0x3f, 0xb8, 0x31, 0x2e, 0x8c, 0x89, 0x1b, 0x22, 0x8a, 0x0f, 0xc2, 0x68, 0xd1, 0x05, 0x53, + 0x45, 0xac, 0x8d, 0x6e, 0x86, 0x22, 0x95, 0x47, 0xfb, 0x62, 0x30, 0xec, 0xc8, 0x9a, 0xa8, 0xff, + 0x77, 0x95, 0x88, 0xc3, 0xbb, 0x54, 0x61, 0x51, 0xd7, 0x82, 0x34, 0xde, 0x5e, 0x4e, 0x3c, 0x48, + 0xf3, 0x47, 0x13, 0x01, 0x0d, 0x2c, 0x2d, 0x6f, 0xb4, 0xbf, 0x21, 0x75, 0xa7, 0x1f, 0xab, 0x37, + 0x85, 0xf8, 0xa8, 0x8c, 0xff, 0x10, 0x03, 0xe4, 0x63, 0xd0, 0x92, 0x82, 0x9a, 0x00, 0xae, 0x64, + 0x08, 0x1b, 0x62, 0x20, 0x98, 0x2a, 0xc0, 0xc7, 0x32, 0xa6, 0x35, 0x2a, 0x11, 0xb8, 0x21, 0x99, + 0x84, 0xcc, 0xa9, 0xd0, 0xe5, 0x24, 0xa9, 0x2a, 0xab, 0x2b, 0x74, 0x57, 0x96, 0xc9, 0x8b, 0x7c, + 0x18, 0xa3, 0x6c, 0x8c, 0x21, 0x4d, 0x52, 0x10, 0x8f, 0x35, 0x06, 0xe7, 0x32, 0x76, 0x6e, 0xdf, + 0xcd, 0x4f, 0xbc, 0xf0, 0xa6, 0x77, 0x7e, 0xe4, 0xf7, 0xdf, 0xff, 0xf9, 0xa6, 0xe9, 0xac, 0x77, + 0xd8, 0xa9, 0x4f, 0xf5, 0xee, 0x7f, 0xf9, 0x2b, 0xab, 0x1d, 0xf3, 0xd1, 0x7f, 0xf3, 0x3f, 0x3f, + 0xfb, 0x67, 0x37, 0x78, 0xaf, 0xd7, 0x3c, 0xb1, 0xb4, 0xc8, 0x7a, 0xd9, 0x27, 0x69, 0xb7, 0xf0, + 0x78, 0x7c, 0x18, 0xb0, 0x52, 0x7a, 0x28, 0x95, 0x4c, 0x8a, 0x88, 0xf5, 0xea, 0xda, 0x78, 0xef, + 0x51, 0xad, 0x6c, 0x88, 0x42, 0xc8, 0x32, 0x33, 0xbe, 0x38, 0x88, 0x59, 0xfc, 0x53, 0x1b, 0x45, + 0xcd, 0x6b, 0x55, 0xda, 0x52, 0x51, 0xd6, 0x6b, 0x31, 0x9f, 0xfc, 0x0e, 0x9b, 0x92, 0xa2, 0x43, + 0x47, 0xc3, 0x05, 0xa1, 0x31, 0x7f, 0x4a, 0x65, 0x6f, 0x4d, 0xfe, 0xbe, 0x75, 0x6d, 0xf6, 0xdc, + 0xef, 0xd8, 0x0a, 0x35, 0x49, 0x2d, 0x91, 0xea, 0x4c, 0x7c, 0xc2, 0x01, 0x54, 0x73, 0xe0, 0xc4, + 0xca, 0xdd, 0x14, 0xe0, 0xe2, 0x22, 0x38, 0xae, 0xce, 0x9f, 0x26, 0x3d, 0x7b, 0x54, 0xde, 0xf1, + 0xe9, 0xa9, 0x6a, 0xc2, 0xd3, 0x82, 0xe8, 0xd1, 0xaf, 0x1e, 0x1d, 0xb6, 0xe8, 0x03, 0xe8, 0xd0, + 0x0c, 0x1a, 0x61, 0xea, 0x7a, 0x71, 0x8d, 0x0a, 0x73, 0x01, 0x35, 0xd3, 0x2f, 0x4c, 0x34, 0xe6, + 0xb0, 0x35, 0xb9, 0x44, 0x1a, 0x7b, 0x22, 0x50, 0xa7, 0x97, 0x6b, 0x28, 0x19, 0xe4, 0x4a, 0x4e, + 0xa0, 0x9d, 0x25, 0x50, 0x2a, 0x45, 0x1e, 0x48, 0x8d, 0x92, 0xb6, 0x52, 0x5a, 0x59, 0xca, 0xec, + 0xec, 0xc2, 0xf1, 0x1b, 0xaf, 0xbf, 0xf1, 0xd7, 0x3f, 0xf2, 0xc1, 0x0f, 0xfc, 0xaf, 0xc6, 0x81, + 0x51, 0x31, 0x6c, 0xab, 0xd5, 0x1c, 0x4f, 0xf8, 0xcb, 0xef, 0x78, 0xdb, 0x7d, 0x87, 0x1f, 0x3d, + 0xf6, 0xca, 0xfe, 0xc0, 0xff, 0x9a, 0x71, 0xf6, 0xad, 0xa7, 0x17, 0x9f, 0xd8, 0x36, 0x28, 0x72, + 0xba, 0x52, 0xe0, 0x4c, 0x44, 0x2d, 0x2f, 0xcb, 0x92, 0x5e, 0x95, 0xb9, 0x9c, 0x99, 0x18, 0xf9, + 0x54, 0x98, 0x7e, 0x65, 0x9b, 0x4c, 0xaf, 0x81, 0x4d, 0xd7, 0x44, 0xed, 0x0b, 0x98, 0x30, 0x89, + 0x8c, 0x35, 0x8d, 0x80, 0x66, 0x8d, 0x4d, 0x68, 0x4c, 0xb6, 0xbf, 0x60, 0x0b, 0x6f, 0xa4, 0x1d, + 0x6b, 0xb7, 0x70, 0xac, 0xf3, 0x14, 0xdf, 0xf1, 0x64, 0xc9, 0xd8, 0x66, 0xd0, 0x37, 0xdf, 0x64, + 0x1d, 0xff, 0x58, 0x30, 0xe5, 0x79, 0x50, 0xc5, 0x1f, 0x65, 0x23, 0xe4, 0x4e, 0xf3, 0x60, 0xfc, + 0x66, 0xe7, 0x5a, 0x0d, 0x81, 0x3d, 0x53, 0xc7, 0x56, 0x1a, 0xd5, 0xd5, 0xcd, 0xbe, 0xea, 0xd6, + 0xa6, 0x4f, 0x62, 0xdf, 0x82, 0x8f, 0xf6, 0x76, 0x96, 0x61, 0x0c, 0x24, 0x09, 0x58, 0x4d, 0x29, + 0xf2, 0x40, 0x96, 0x59, 0x66, 0x12, 0x4b, 0xa7, 0xdd, 0x62, 0x66, 0x76, 0x9e, 0xb9, 0xb9, 0xf9, + 0x23, 0xd7, 0x5e, 0x7d, 0xdd, 0xcf, 0xfc, 0xf1, 0x47, 0x7e, 0xe7, 0xce, 0xb3, 0xb6, 0xdc, 0xe4, + 0x25, 0x6e, 0xa2, 0xb7, 0xfc, 0xc3, 0x5f, 0xfa, 0xd0, 0xd1, 0xc7, 0x8f, 0xfc, 0xcc, 0xe3, 0xc7, + 0x17, 0x67, 0x7b, 0xfd, 0x1e, 0x45, 0x99, 0xa3, 0x46, 0x18, 0x04, 0x1f, 0x55, 0x8d, 0x7e, 0x81, + 0x4b, 0x33, 0x66, 0x67, 0xb7, 0x73, 0xe0, 0xb2, 0xcb, 0x38, 0xf4, 0xd0, 0x0f, 0x58, 0x5d, 0x3e, + 0x4e, 0x96, 0x26, 0x53, 0x3b, 0x6c, 0xde, 0xb4, 0xc3, 0x2a, 0x31, 0xa9, 0xb6, 0x92, 0xa8, 0x75, + 0xd6, 0x52, 0x59, 0x9e, 0xc7, 0x39, 0xec, 0xc5, 0x5c, 0x8c, 0x4f, 0xed, 0x0b, 0x5e, 0x7c, 0x3a, + 0xcb, 0x4e, 0x1f, 0x13, 0x37, 0x64, 0x23, 0x30, 0xa4, 0x9c, 0x98, 0x4f, 0xad, 0x82, 0x36, 0xa6, + 0x37, 0x8f, 0xe9, 0x26, 0x65, 0x34, 0xb0, 0xe3, 0xdc, 0xdd, 0x12, 0x11, 0x92, 0x89, 0xcd, 0x4a, + 0x04, 0x8a, 0x92, 0xa1, 0x93, 0xe8, 0xac, 0xa4, 0x11, 0x85, 0x72, 0x24, 0x39, 0xec, 0x82, 0x52, + 0x59, 0x0b, 0xdc, 0xca, 0x94, 0x71, 0x46, 0xf0, 0xc4, 0x78, 0xfa, 0x49, 0x4a, 0x46, 0x9c, 0xa4, + 0x9b, 0x76, 0x56, 0xea, 0x2c, 0xf1, 0x38, 0xdf, 0x59, 0x96, 0x55, 0x6a, 0x3f, 0x88, 0x18, 0x90, + 0x80, 0xa8, 0xd0, 0x69, 0xb7, 0x10, 0x67, 0x8f, 0xb4, 0x3a, 0x9d, 0x3f, 0x7a, 0xf6, 0xe5, 0xcf, + 0x39, 0xf4, 0x92, 0x97, 0xbd, 0xe2, 0xff, 0xbe, 0xe7, 0x5d, 0x3f, 0xff, 0xd0, 0xb9, 0xfa, 0xbb, + 0x65, 0x86, 0x05, 0xf8, 0xb9, 0x5f, 0xfc, 0x17, 0x37, 0x9d, 0x3c, 0x71, 0xfa, 0xb3, 0xa7, 0x4f, + 0x2e, 0x5e, 0xba, 0xb4, 0x7c, 0x8a, 0x92, 0x40, 0xbf, 0x5f, 0x12, 0x34, 0x50, 0x84, 0x92, 0x7e, + 0x29, 0xcc, 0x65, 0x3b, 0x38, 0x78, 0xe9, 0x1e, 0x7e, 0xf8, 0xc8, 0x03, 0x2c, 0xaf, 0x9e, 0xa4, + 0x3d, 0x11, 0x9c, 0x23, 0xc0, 0x40, 0xb4, 0x99, 0x61, 0x07, 0x13, 0x37, 0x2a, 0x54, 0xc5, 0x6f, + 0xa6, 0xa9, 0x46, 0xae, 0x1f, 0x1b, 0xcd, 0x96, 0x87, 0xf2, 0x0c, 0xfd, 0x5d, 0xa4, 0x06, 0x87, + 0xae, 0x9b, 0xd8, 0x61, 0x85, 0x78, 0xba, 0xe3, 0x1b, 0x4a, 0x91, 0x9c, 0x9b, 0x61, 0x01, 0x49, + 0xa9, 0xe1, 0x27, 0x45, 0x24, 0x6a, 0xaf, 0xaa, 0xa4, 0x69, 0x4a, 0x2b, 0x9b, 0x25, 0x6d, 0x59, + 0xb2, 0x76, 0xba, 0x9a, 0xd9, 0xf4, 0x0b, 0x73, 0xf3, 0xdb, 0x3e, 0xf8, 0xd7, 0x5f, 0xf8, 0xd4, + 0x5f, 0x9d, 0xcf, 0x10, 0xce, 0x8b, 0x61, 0x01, 0xde, 0xf9, 0xcb, 0xbf, 0x79, 0x79, 0x37, 0x9c, + 0x7a, 0xe7, 0x89, 0x13, 0x8b, 0xef, 0x58, 0x39, 0xbd, 0x62, 0xfa, 0x83, 0x3c, 0xac, 0x0d, 0x4a, + 0x7d, 0x7c, 0xf1, 0x98, 0x76, 0xbb, 0xab, 0xad, 0xce, 0xdc, 0x4e, 0xd9, 0xb7, 0xeb, 0x72, 0x1e, + 0x3d, 0x7e, 0x3f, 0xcb, 0x4b, 0x27, 0x30, 0x2e, 0x65, 0x92, 0x65, 0x8d, 0x16, 0x08, 0x61, 0x78, + 0xfe, 0x54, 0x4a, 0x0c, 0xa4, 0x68, 0xc4, 0x64, 0x1e, 0x77, 0x7e, 0x6e, 0x50, 0x93, 0xf3, 0x25, + 0x10, 0x61, 0x66, 0x9e, 0x61, 0xdc, 0xa7, 0x0f, 0x29, 0x1b, 0x81, 0x40, 0x93, 0xb4, 0x55, 0x18, + 0x57, 0x65, 0x03, 0x1a, 0xe5, 0x5c, 0xf7, 0x57, 0x1e, 0xed, 0xd4, 0xc8, 0xd4, 0x8e, 0x7e, 0xf6, + 0x65, 0x55, 0xbd, 0x64, 0x24, 0x30, 0x46, 0x44, 0x68, 0xb5, 0x5b, 0x68, 0x80, 0x6d, 0xf3, 0x33, + 0x27, 0x9f, 0x7b, 0xfd, 0xb5, 0x9f, 0x86, 0xd6, 0x5d, 0xdb, 0x76, 0xef, 0xbc, 0xe7, 0x8f, 0xff, + 0xdb, 0xef, 0x7c, 0x73, 0x0b, 0x3d, 0x9f, 0xa2, 0xf3, 0x66, 0xd8, 0x9a, 0x3e, 0xf3, 0x67, 0x5f, + 0xb9, 0xe1, 0xf0, 0xe1, 0xc3, 0xad, 0x93, 0xc7, 0x17, 0x07, 0x8b, 0x4b, 0xbd, 0xe2, 0xfb, 0xdf, + 0xfb, 0x46, 0x71, 0xe7, 0xbd, 0xdf, 0xfa, 0xaf, 0x69, 0x67, 0xe1, 0x0d, 0x97, 0x1d, 0xb8, 0x9e, + 0x93, 0x4f, 0x3c, 0xc4, 0xf2, 0x99, 0x47, 0x28, 0x42, 0x7b, 0xc2, 0xd6, 0x10, 0x12, 0x1d, 0x10, + 0x0b, 0x74, 0x44, 0x46, 0x2d, 0x6b, 0x67, 0x4e, 0xa3, 0x43, 0x65, 0xab, 0x23, 0x21, 0x32, 0xf1, + 0xe0, 0x3c, 0x9e, 0xf9, 0xbb, 0x46, 0xe7, 0x33, 0x9f, 0x3f, 0x6e, 0x74, 0x8e, 0x33, 0xee, 0xb3, + 0x92, 0x12, 0x0f, 0xd4, 0xb7, 0x78, 0xcc, 0x68, 0x54, 0x70, 0x0d, 0x40, 0xe9, 0x9b, 0x82, 0x23, + 0xd6, 0x77, 0x4a, 0x6b, 0xa3, 0x5b, 0xaa, 0x98, 0x4e, 0x8b, 0x34, 0x6b, 0xa3, 0xc0, 0xc1, 0x7d, + 0xfb, 0xde, 0xfd, 0xdd, 0xaf, 0x7f, 0xf1, 0xfd, 0x5b, 0xec, 0xf1, 0xa6, 0xf4, 0xa4, 0x71, 0x0a, + 0xdf, 0xf4, 0xba, 0x97, 0x7e, 0x1f, 0x5e, 0x3a, 0x76, 0xad, 0xb3, 0xeb, 0xb2, 0x13, 0xa8, 0x10, + 0xca, 0x92, 0x41, 0x31, 0x20, 0xe4, 0x9e, 0x24, 0x85, 0x62, 0x13, 0xa1, 0x50, 0x8a, 0x8e, 0xe7, + 0xc2, 0x36, 0x89, 0xb4, 0xb8, 0xfd, 0x6e, 0x6d, 0xa1, 0xfd, 0x6d, 0x5e, 0x90, 0x17, 0x93, 0x14, + 0x8c, 0x05, 0x1b, 0xeb, 0x9f, 0x46, 0xa7, 0xcc, 0xdf, 0xb6, 0x79, 0xba, 0x10, 0xde, 0xff, 0x2d, + 0xd6, 0x6c, 0x0a, 0x28, 0x79, 0x83, 0x43, 0xab, 0x49, 0x25, 0x56, 0xea, 0xda, 0x39, 0x1b, 0xe4, + 0x20, 0x9e, 0x17, 0x17, 0x1e, 0x8c, 0x50, 0x86, 0x5c, 0xb1, 0xe1, 0xae, 0xa7, 0xd0, 0xf3, 0xf1, + 0xb6, 0x2f, 0x14, 0xa5, 0xa9, 0x5d, 0xc8, 0x7d, 0x89, 0xd7, 0x40, 0x66, 0x13, 0xd6, 0x6c, 0x55, + 0x28, 0x8b, 0x40, 0xc1, 0xb8, 0xc6, 0xab, 0xc4, 0x09, 0x28, 0xaa, 0xdd, 0x35, 0x16, 0x52, 0x9a, + 0xcc, 0x8c, 0x27, 0x86, 0x55, 0x35, 0x38, 0x00, 0xce, 0x87, 0xea, 0x89, 0x1e, 0x6d, 0x45, 0x81, + 0xa2, 0xd8, 0x3a, 0xc2, 0x63, 0x92, 0x4c, 0x5b, 0x2f, 0x8d, 0x6d, 0x68, 0xcc, 0x5e, 0xb1, 0x13, + 0x2a, 0x95, 0x00, 0x41, 0x15, 0xef, 0x47, 0xe2, 0x81, 0x35, 0x7a, 0x29, 0x9d, 0x9b, 0x56, 0xbf, + 0x2e, 0x04, 0x95, 0x55, 0x94, 0x85, 0x4b, 0xa4, 0xaa, 0xc3, 0x6b, 0x30, 0x46, 0xb1, 0x76, 0xfc, + 0x65, 0xd1, 0x09, 0xa4, 0x55, 0x40, 0xfb, 0x04, 0x35, 0x6d, 0x2b, 0x9b, 0x1c, 0x67, 0xd5, 0x00, + 0xb9, 0x63, 0xd7, 0x4c, 0x74, 0xe4, 0x3c, 0xd9, 0xe1, 0x45, 0x47, 0x99, 0x46, 0xc7, 0xe3, 0x04, + 0x9d, 0xdf, 0xb9, 0xb1, 0x70, 0x3e, 0x38, 0xae, 0xa6, 0xd1, 0x3e, 0x6b, 0x26, 0x5f, 0xb1, 0x91, + 0x10, 0x81, 0x09, 0xeb, 0x27, 0xad, 0x2f, 0x30, 0x12, 0x48, 0x9c, 0x0d, 0x0c, 0xf2, 0xa7, 0x0a, + 0x17, 0x0f, 0x5c, 0x40, 0x86, 0xfd, 0x77, 0xef, 0xfd, 0x8f, 0xdb, 0x5c, 0xc7, 0xec, 0x1d, 0xac, + 0x81, 0x96, 0x81, 0x72, 0xc4, 0xc8, 0x94, 0xea, 0x45, 0x31, 0x66, 0x44, 0x09, 0x62, 0x86, 0xb5, + 0x4b, 0xd2, 0x2a, 0xa5, 0x48, 0x11, 0x06, 0x53, 0xa5, 0xc0, 0x05, 0x23, 0x39, 0x96, 0x82, 0xb3, + 0x15, 0x27, 0xae, 0xdf, 0x11, 0xd0, 0x2a, 0x8a, 0x68, 0xfa, 0x5e, 0xc3, 0x84, 0x89, 0x7c, 0x9e, + 0x2b, 0xa8, 0x3e, 0x52, 0x1b, 0x6b, 0xe2, 0x2c, 0x6d, 0x18, 0x99, 0x36, 0xc9, 0xad, 0x44, 0x46, + 0x1e, 0x14, 0x61, 0xec, 0xd9, 0xa6, 0x7b, 0x2f, 0x04, 0xa5, 0x15, 0xc2, 0x75, 0x2c, 0xda, 0x64, + 0x51, 0x2c, 0x88, 0x47, 0x26, 0xec, 0x86, 0x4d, 0xd3, 0x98, 0x05, 0xa6, 0x02, 0xbc, 0x84, 0xf8, + 0x21, 0x1b, 0x7c, 0x05, 0xa9, 0x33, 0xcd, 0x05, 0xbf, 0xa6, 0x6f, 0x3d, 0x2f, 0x72, 0x46, 0x1a, + 0x3b, 0x39, 0x39, 0x8f, 0x9b, 0x93, 0x12, 0x07, 0xb2, 0x15, 0x9d, 0x58, 0x30, 0x78, 0x32, 0x1d, + 0x8c, 0xad, 0xb9, 0xb3, 0x3f, 0xa5, 0xc3, 0x3f, 0x8b, 0x91, 0x4b, 0x26, 0xb5, 0x78, 0x13, 0x10, + 0xb5, 0x52, 0x84, 0xa6, 0xf8, 0xb2, 0xf3, 0xa7, 0x0b, 0xc6, 0xb0, 0xbd, 0x5e, 0x7f, 0x6f, 0x6a, + 0x92, 0xab, 0xd7, 0x35, 0x16, 0xd2, 0x2d, 0x8b, 0x1c, 0x2b, 0x2e, 0x46, 0x75, 0xd4, 0x91, 0x57, + 0xd5, 0xf8, 0xb5, 0x5e, 0x3c, 0xba, 0x11, 0x50, 0xa8, 0x53, 0xd1, 0x11, 0x51, 0x8c, 0x8b, 0xd6, + 0xfb, 0x6e, 0x3d, 0xde, 0xe6, 0xa5, 0x2d, 0x28, 0xa8, 0xc5, 0x4b, 0xd2, 0x70, 0xf6, 0x5e, 0xc6, + 0x92, 0x96, 0x93, 0x1f, 0xa0, 0xa9, 0x00, 0xce, 0xc6, 0xaf, 0x13, 0xed, 0x6f, 0x82, 0xa2, 0xa1, + 0xd3, 0x5a, 0x81, 0xaa, 0xc4, 0x7a, 0xa5, 0x63, 0xd7, 0x75, 0x38, 0x04, 0xeb, 0x2c, 0x65, 0x51, + 0x85, 0x2c, 0xaa, 0x10, 0x82, 0x99, 0xb6, 0x06, 0xcc, 0xb9, 0x44, 0xd4, 0x74, 0x8f, 0x87, 0xc8, + 0x03, 0xc3, 0xc6, 0xa2, 0xde, 0x22, 0xc3, 0xea, 0xcd, 0x75, 0x8e, 0x94, 0xa2, 0x98, 0x21, 0x23, + 0xd5, 0x59, 0x53, 0x0d, 0x95, 0x2c, 0x1b, 0x57, 0xaa, 0x56, 0xf7, 0x4f, 0x76, 0x30, 0x48, 0xd2, + 0x80, 0xcd, 0x75, 0x6e, 0x6c, 0xaf, 0x73, 0x8d, 0x2c, 0x0a, 0x9a, 0x69, 0xaf, 0x93, 0x73, 0xd3, + 0x31, 0xa6, 0xaa, 0x50, 0xfa, 0xc9, 0x35, 0x52, 0x1f, 0xf2, 0x6f, 0xe5, 0x40, 0xbf, 0x76, 0x86, + 0x8c, 0xde, 0x67, 0xaa, 0x79, 0x0a, 0x13, 0xd2, 0xa7, 0xaa, 0x77, 0x5c, 0x2f, 0x81, 0x5a, 0xe3, + 0x56, 0xb0, 0x89, 0x92, 0x25, 0x19, 0x12, 0x14, 0x2b, 0x5e, 0xb3, 0xcc, 0x5e, 0x90, 0xac, 0xc7, + 0x27, 0xed, 0x74, 0x9a, 0xa2, 0xd5, 0x81, 0x9b, 0xbb, 0xee, 0xb9, 0x7f, 0xa4, 0xe2, 0xde, 0xba, + 0x6d, 0xdb, 0x02, 0xeb, 0x67, 0x56, 0xe9, 0xf6, 0xcf, 0x50, 0x26, 0x45, 0xb4, 0x43, 0x21, 0x96, + 0x18, 0x0c, 0x44, 0x67, 0x5a, 0x83, 0x7e, 0x69, 0x86, 0x43, 0xaa, 0xc5, 0xf8, 0x86, 0xe1, 0xe2, + 0xa9, 0xbd, 0xcd, 0x9b, 0xa0, 0x8d, 0x8b, 0x12, 0xab, 0x4a, 0xb9, 0x4d, 0xbc, 0x81, 0x4d, 0xe3, + 0x6c, 0x4a, 0xc9, 0x19, 0xa6, 0xed, 0x8c, 0x5d, 0x9d, 0x5e, 0x2e, 0x82, 0x6a, 0x88, 0x81, 0xfc, + 0x9b, 0x2c, 0x46, 0x3b, 0x2c, 0xbf, 0x69, 0xe2, 0x82, 0x73, 0xd5, 0x42, 0x12, 0x21, 0xf8, 0x12, + 0xf5, 0xbe, 0x9a, 0x88, 0x49, 0xc1, 0x11, 0xe1, 0x41, 0x45, 0xb6, 0x18, 0x31, 0x52, 0xdd, 0xe5, + 0xab, 0x94, 0x2f, 0xac, 0xab, 0xde, 0xef, 0xa3, 0x20, 0xab, 0x2a, 0xb1, 0xc7, 0x98, 0x12, 0x83, + 0xc3, 0x51, 0x54, 0x0c, 0xe0, 0xab, 0xb1, 0x24, 0x9a, 0x63, 0x19, 0xa9, 0xe5, 0xbb, 0x09, 0xc5, + 0x0a, 0x31, 0x86, 0xd0, 0xd0, 0x37, 0x3f, 0x81, 0x3f, 0xf4, 0xe3, 0xe7, 0xba, 0xdf, 0xda, 0x5c, + 0x0a, 0x52, 0x7d, 0xbb, 0x5a, 0x38, 0x59, 0x44, 0x0d, 0xde, 0xe6, 0x60, 0x42, 0xb5, 0x8e, 0x37, + 0x52, 0x25, 0x87, 0x45, 0xbd, 0x0d, 0x48, 0x65, 0x6e, 0xa8, 0x2a, 0x9d, 0x74, 0x9e, 0x94, 0x14, + 0x25, 0x14, 0xfb, 0xf6, 0xec, 0xb8, 0xf2, 0xbe, 0x3b, 0xbf, 0x76, 0xf4, 0xa9, 0x8e, 0xe0, 0xc2, + 0xd9, 0xb0, 0x73, 0x59, 0x59, 0xf4, 0xba, 0x5f, 0x71, 0xad, 0xb9, 0xb7, 0xf6, 0x07, 0x7d, 0x24, + 0x75, 0xb0, 0x0e, 0x36, 0x6c, 0x2c, 0x01, 0x0d, 0x3a, 0x14, 0x76, 0x35, 0xc3, 0x8e, 0xc6, 0x1f, + 0x4b, 0x85, 0x05, 0x15, 0x50, 0xca, 0xb1, 0xae, 0x29, 0x1b, 0x3b, 0x6b, 0x52, 0xa5, 0xfa, 0xc6, + 0xc5, 0x36, 0x0a, 0xd2, 0x18, 0xa5, 0xbe, 0x87, 0x50, 0x45, 0x60, 0x0c, 0x1f, 0x17, 0xec, 0x84, + 0xba, 0xad, 0x04, 0x02, 0xbd, 0x89, 0x41, 0xd4, 0xaa, 0x53, 0x8b, 0xc9, 0x8f, 0x3b, 0xad, 0xd6, + 0x29, 0x82, 0xc7, 0xd9, 0x3e, 0x53, 0x89, 0xb2, 0x15, 0x99, 0xb1, 0xc3, 0x64, 0x01, 0xad, 0xe2, + 0x4a, 0x03, 0xd1, 0xa9, 0xe1, 0x52, 0x20, 0xc7, 0xd2, 0x65, 0x9c, 0x69, 0x15, 0xa5, 0x35, 0x05, + 0x71, 0xb9, 0x29, 0x55, 0x36, 0xa5, 0xad, 0xff, 0xa1, 0x75, 0x6d, 0xd3, 0x2a, 0xa9, 0xa0, 0xca, + 0x23, 0x10, 0x51, 0x10, 0x43, 0xc0, 0xc4, 0x12, 0x88, 0xc4, 0xd0, 0x74, 0x88, 0x0b, 0x2c, 0xc2, + 0x09, 0x9c, 0x9b, 0x44, 0x15, 0xdb, 0xa0, 0xe9, 0x34, 0x97, 0x5e, 0x94, 0xea, 0x6c, 0xb2, 0xa1, + 0xcf, 0x0d, 0x6f, 0xb3, 0x13, 0x63, 0xde, 0xd8, 0xef, 0x36, 0x63, 0xf8, 0x26, 0x63, 0xba, 0xf9, + 0x72, 0x23, 0x6d, 0xa2, 0xc2, 0xd7, 0x51, 0xdf, 0x31, 0xe3, 0x52, 0x51, 0x3c, 0x36, 0x58, 0x50, + 0x17, 0xf3, 0x66, 0x15, 0xea, 0x82, 0xd4, 0x04, 0x19, 0xce, 0xaf, 0x58, 0x8b, 0x06, 0x83, 0x6b, + 0x19, 0x4a, 0x3f, 0x20, 0x71, 0x09, 0x88, 0x14, 0xb3, 0x73, 0x9d, 0x0b, 0x62, 0xf5, 0x5c, 0x50, + 0xa7, 0x93, 0xf3, 0xe1, 0x4b, 0xf8, 0xfc, 0x09, 0x6b, 0x3a, 0xbb, 0x06, 0xbd, 0x35, 0xd2, 0xcc, + 0xa2, 0x79, 0x36, 0xe4, 0x4a, 0xa9, 0x34, 0xb3, 0x3a, 0x7a, 0xd0, 0x13, 0xa6, 0xea, 0xc9, 0xd6, + 0x8c, 0xe1, 0x86, 0xd9, 0x2a, 0x82, 0x54, 0xcb, 0x23, 0x2e, 0x07, 0x25, 0x91, 0x30, 0x64, 0x03, + 0xac, 0x8d, 0x13, 0x2a, 0x55, 0xdd, 0x4e, 0x3f, 0xda, 0x92, 0x22, 0x62, 0x18, 0x38, 0x3b, 0x99, + 0xdd, 0x04, 0x18, 0xac, 0xcc, 0x4c, 0x8d, 0xc1, 0x54, 0xd2, 0x75, 0x7a, 0x81, 0x34, 0xad, 0x00, + 0x87, 0x30, 0x43, 0xe3, 0x57, 0x87, 0xe9, 0xe5, 0x5f, 0x25, 0xa4, 0x47, 0xd3, 0x50, 0xaa, 0x0a, + 0xe9, 0x9b, 0xc1, 0x5d, 0x6c, 0x1c, 0xc0, 0x9f, 0x95, 0x14, 0x86, 0x12, 0x2c, 0x50, 0x83, 0xe9, + 0xc6, 0xf7, 0x54, 0x11, 0x36, 0x35, 0x76, 0x75, 0x84, 0xa9, 0x65, 0x98, 0x0e, 0xa8, 0x78, 0x5a, + 0x15, 0xe3, 0xc9, 0x59, 0xb2, 0x91, 0xa6, 0xc8, 0x18, 0x9a, 0x62, 0x21, 0xdb, 0x93, 0xf3, 0x50, + 0x45, 0x21, 0x48, 0x98, 0x5c, 0x66, 0x1a, 0xf3, 0xa4, 0x37, 0xa0, 0x18, 0x86, 0x64, 0xcd, 0xb8, + 0xe6, 0x28, 0x95, 0xfa, 0x2e, 0x32, 0x12, 0x71, 0x5f, 0x77, 0x63, 0x33, 0x98, 0x10, 0x25, 0x56, + 0x6b, 0xaf, 0x37, 0x85, 0xb3, 0x0c, 0x25, 0x49, 0x6c, 0x83, 0xdd, 0x6d, 0x36, 0x6d, 0xdb, 0x0d, + 0xff, 0x8e, 0xe2, 0x58, 0x9c, 0x1d, 0x82, 0x89, 0xab, 0x08, 0x0c, 0x4a, 0xf0, 0xca, 0xb2, 0x5f, + 0x63, 0x35, 0xac, 0x81, 0xf5, 0xcc, 0xb5, 0x3a, 0x7f, 0x70, 0xed, 0xad, 0x57, 0x1f, 0x3b, 0x4b, + 0x37, 0xb6, 0x4c, 0x17, 0x94, 0x61, 0xd7, 0xce, 0x1c, 0x7f, 0x70, 0xd7, 0x35, 0xcf, 0xff, 0xf6, + 0xf2, 0xf2, 0xf2, 0x6b, 0xb6, 0xcf, 0xcd, 0xb0, 0x67, 0xc7, 0xe5, 0xb4, 0x5c, 0x07, 0x9d, 0x2c, + 0xa2, 0x2a, 0x51, 0x35, 0xeb, 0x6b, 0x9f, 0xb2, 0x8c, 0xb2, 0xac, 0xce, 0xa6, 0x19, 0xde, 0x30, + 0xb4, 0x23, 0x62, 0xa8, 0x93, 0xd4, 0x97, 0x83, 0x56, 0x45, 0x7b, 0xab, 0x3b, 0x9d, 0x23, 0x4b, + 0xa3, 0xdd, 0xaa, 0x1e, 0xe8, 0xcb, 0x98, 0xbe, 0x9d, 0xa4, 0x82, 0x37, 0x01, 0x67, 0xc2, 0x06, + 0xa4, 0x09, 0xc4, 0x5d, 0xb1, 0x6c, 0x8f, 0xf7, 0x4b, 0x05, 0xb5, 0x39, 0xd8, 0x01, 0x93, 0x6a, + 0xaa, 0x4c, 0x25, 0x44, 0xd7, 0x7d, 0xdb, 0x2a, 0x82, 0x04, 0x0c, 0x31, 0x9a, 0x54, 0x51, 0xca, + 0xca, 0xee, 0x4e, 0x11, 0x6d, 0x33, 0x6e, 0x9b, 0x0b, 0x6a, 0x72, 0x26, 0xed, 0x75, 0x21, 0xae, + 0xc3, 0xf1, 0x3e, 0xc3, 0x94, 0xca, 0x51, 0xdd, 0xd3, 0x1b, 0x14, 0x58, 0x6b, 0xb1, 0xce, 0x56, + 0x38, 0x42, 0x91, 0x47, 0xec, 0x30, 0x8a, 0xa7, 0x12, 0x98, 0xba, 0xc1, 0xe4, 0xe7, 0x24, 0x05, + 0x12, 0x83, 0x24, 0x32, 0xf5, 0x88, 0xfa, 0x86, 0x6b, 0x5a, 0xd5, 0xc5, 0x95, 0xf1, 0x8b, 0xc6, + 0xd9, 0x98, 0xda, 0x36, 0xa9, 0x45, 0x4c, 0x39, 0x97, 0x36, 0xef, 0x5b, 0x22, 0xa6, 0xd9, 0xb3, + 0xa0, 0x1b, 0x9b, 0x03, 0xc4, 0x04, 0xb0, 0xcd, 0xc8, 0x61, 0x1b, 0x5a, 0x1f, 0x15, 0xb5, 0xe3, + 0xdf, 0xdc, 0xd5, 0x1a, 0x49, 0x35, 0x0e, 0x19, 0xf1, 0x25, 0x89, 0x08, 0x45, 0x5e, 0xa0, 0x0a, + 0xee, 0xcc, 0x31, 0xba, 0x47, 0x97, 0x71, 0x22, 0x47, 0xee, 0xb8, 0xfd, 0xef, 0x7d, 0xec, 0x0f, + 0xdf, 0xf7, 0x7b, 0x9b, 0x77, 0xe2, 0x3c, 0xe8, 0x82, 0xd7, 0x8b, 0xbb, 0xed, 0x39, 0xcf, 0xff, + 0xb5, 0x6f, 0xdc, 0x73, 0xd7, 0x81, 0x60, 0xc2, 0x73, 0x13, 0x9b, 0xd1, 0xb2, 0x2d, 0xc6, 0x22, + 0x87, 0x15, 0xa4, 0xb2, 0x61, 0x33, 0x52, 0x54, 0x22, 0x40, 0x95, 0x31, 0xd3, 0x8e, 0x97, 0xd1, + 0x87, 0x42, 0x18, 0x6f, 0xa3, 0x28, 0x62, 0x48, 0x64, 0x9a, 0x24, 0x18, 0xa9, 0x63, 0xa6, 0x84, + 0xd0, 0x09, 0x20, 0xb5, 0x83, 0x29, 0xa6, 0xaf, 0x89, 0xaf, 0x1c, 0x2c, 0x93, 0xce, 0xa8, 0x74, + 0xb4, 0xcd, 0xda, 0xde, 0x4a, 0x90, 0x46, 0xe4, 0x38, 0x61, 0xf8, 0xf1, 0x86, 0x3f, 0x45, 0xc6, + 0x1b, 0xfd, 0xa8, 0x52, 0x5d, 0x25, 0x4c, 0x2f, 0x54, 0x31, 0xc5, 0x70, 0xfd, 0x15, 0x45, 0xd5, + 0x43, 0x53, 0x54, 0x36, 0xe6, 0x04, 0x15, 0xda, 0xb8, 0x4e, 0x37, 0xf5, 0x5c, 0x4c, 0xeb, 0xec, + 0x94, 0x83, 0x7e, 0xc4, 0x10, 0xc8, 0x12, 0x8c, 0x31, 0x20, 0x11, 0xe3, 0xae, 0xcc, 0x47, 0x8c, + 0x8c, 0x68, 0xa4, 0xa1, 0xd4, 0x58, 0x5c, 0x93, 0x8a, 0x7f, 0x03, 0xe5, 0xca, 0x54, 0xe6, 0x12, + 0x50, 0xfa, 0x89, 0xbc, 0x5e, 0x05, 0x44, 0x1b, 0x15, 0x6d, 0x61, 0x93, 0xf1, 0x0d, 0xcb, 0xb6, + 0x6c, 0xae, 0xea, 0x6e, 0x08, 0x77, 0xdd, 0x10, 0xf6, 0xa3, 0xf7, 0xcb, 0x86, 0xe0, 0xa8, 0x63, + 0x9f, 0x8b, 0xbc, 0x56, 0xb1, 0x64, 0xa2, 0xc9, 0xd1, 0xe7, 0xaa, 0xb6, 0xd4, 0x57, 0xdf, 0x75, + 0x54, 0x20, 0x0b, 0x90, 0xc7, 0x4c, 0x35, 0x0c, 0x5e, 0x88, 0x20, 0xe2, 0xbe, 0x44, 0x8c, 0x89, + 0x3e, 0x07, 0x24, 0xe6, 0x6c, 0x5b, 0xa1, 0x2c, 0x07, 0x18, 0x23, 0xdf, 0xdd, 0xb3, 0xfd, 0xd2, + 0xd7, 0xff, 0xe1, 0x87, 0x7e, 0xef, 0xb1, 0xe9, 0xc1, 0x3c, 0x39, 0xba, 0x70, 0x4e, 0xa7, 0x11, + 0x7a, 0xd9, 0x1b, 0xdf, 0xbc, 0xe3, 0x81, 0xfb, 0x1e, 0x7c, 0x1f, 0x2a, 0xbf, 0x30, 0xf0, 0x7a, + 0x16, 0xc4, 0x9b, 0xf8, 0x05, 0xac, 0xb1, 0x18, 0x63, 0x37, 0xb7, 0xa0, 0xb4, 0x2e, 0x27, 0x3f, + 0xf1, 0x68, 0xf5, 0x9b, 0xd6, 0x1e, 0x44, 0x15, 0xd4, 0xfa, 0x78, 0xf6, 0xa5, 0x11, 0xc9, 0xc1, + 0x8a, 0x81, 0x60, 0x1b, 0xcf, 0x18, 0xd5, 0x96, 0xc3, 0x36, 0x62, 0xe8, 0x9a, 0x42, 0x61, 0x90, + 0xc2, 0x35, 0x2e, 0xc8, 0x21, 0xb9, 0xfa, 0x03, 0x86, 0x29, 0x86, 0x05, 0xc5, 0xaa, 0xc3, 0x60, + 0x87, 0x19, 0x4b, 0x35, 0x95, 0x7e, 0xda, 0x2b, 0x6d, 0x44, 0xa7, 0x13, 0xca, 0x6b, 0xe9, 0xf2, + 0x14, 0x31, 0x9a, 0xfd, 0x10, 0x6f, 0xa1, 0xca, 0x97, 0x15, 0x90, 0x60, 0xb0, 0x3e, 0x41, 0x45, + 0x89, 0xa5, 0x85, 0x2b, 0xc6, 0x71, 0xb2, 0x91, 0xfc, 0x5b, 0x91, 0xd0, 0x94, 0xec, 0xae, 0x44, + 0xcf, 0x78, 0x83, 0x1b, 0xce, 0x6a, 0x83, 0xfe, 0x39, 0xea, 0x7f, 0x38, 0x37, 0x25, 0xd5, 0x99, + 0x7b, 0x93, 0x8a, 0xae, 0xb5, 0x26, 0x3d, 0xe2, 0x13, 0x54, 0xc0, 0x5a, 0x1b, 0x05, 0x52, 0x95, + 0x57, 0xeb, 0xcb, 0xf1, 0xb5, 0x52, 0xdf, 0x63, 0xcd, 0x66, 0xe8, 0x1e, 0x1b, 0xed, 0xbb, 0x24, + 0xc1, 0xc8, 0xb8, 0x3f, 0x61, 0xa4, 0x77, 0x95, 0x6d, 0xab, 0x1b, 0x1a, 0x1f, 0x42, 0x51, 0x14, + 0x47, 0x1e, 0x7f, 0xe2, 0xf8, 0x9f, 0x78, 0xf5, 0x05, 0xaa, 0x1e, 0x53, 0xf4, 0x8c, 0xe0, 0xf7, + 0x5c, 0xb2, 0xef, 0x63, 0xf7, 0xfd, 0xcd, 0x57, 0x4f, 0x6c, 0x79, 0xf0, 0x5b, 0xa0, 0x8b, 0xc2, + 0xb0, 0x00, 0x6f, 0x48, 0x0f, 0xd8, 0xe3, 0x2f, 0xba, 0xfe, 0x8e, 0x99, 0x1d, 0x97, 0x5c, 0xe6, + 0x8c, 0xcd, 0x46, 0x81, 0x3d, 0x13, 0x19, 0xc7, 0x85, 0x08, 0xa1, 0xb2, 0x49, 0x93, 0x49, 0x2f, + 0xe3, 0x06, 0x19, 0xb3, 0x79, 0x60, 0xd8, 0x10, 0xc8, 0x45, 0x14, 0x0d, 0x86, 0x8e, 0x75, 0x64, + 0x95, 0xec, 0x54, 0x55, 0x30, 0x01, 0x11, 0x61, 0x30, 0x18, 0xac, 0x2e, 0x9d, 0x59, 0x3e, 0xb9, + 0xb2, 0xb2, 0xba, 0xbe, 0xb6, 0xd6, 0xed, 0xe7, 0xdd, 0xe0, 0x7d, 0x08, 0x4a, 0x80, 0x74, 0xbb, + 0xb3, 0xf3, 0x3b, 0xe6, 0xb2, 0x96, 0x4d, 0xd3, 0xa8, 0x43, 0x55, 0xde, 0xe9, 0xe0, 0x43, 0x77, + 0xbd, 0x9b, 0x17, 0x45, 0x51, 0x86, 0x10, 0xd4, 0x38, 0x2b, 0x74, 0x6a, 0xfb, 0x7a, 0x1c, 0x54, + 0x2d, 0x84, 0xa0, 0x85, 0x2f, 0x35, 0x2d, 0xdb, 0xda, 0x71, 0x33, 0x26, 0x10, 0xd0, 0xa0, 0x5a, + 0x96, 0x65, 0x08, 0x41, 0x35, 0x9f, 0xc5, 0x38, 0xe7, 0x8c, 0x11, 0xc1, 0x18, 0x23, 0x2a, 0x90, + 0x96, 0x42, 0x5a, 0xc6, 0x9d, 0x29, 0x54, 0x52, 0xa5, 0xd5, 0x6a, 0x25, 0x73, 0x7b, 0x3a, 0xa9, + 0x4d, 0x8c, 0x51, 0x55, 0x4d, 0x92, 0xc4, 0x09, 0x22, 0xcb, 0xab, 0x2b, 0xeb, 0x00, 0xdd, 0x5e, + 0xaf, 0xe8, 0xf6, 0x7b, 0xa5, 0x06, 0x55, 0x31, 0x22, 0x73, 0x33, 0xb3, 0x69, 0x96, 0xa6, 0x53, + 0x1c, 0x94, 0x98, 0x64, 0xa8, 0x50, 0x16, 0x3e, 0x66, 0x55, 0x25, 0xc6, 0xd1, 0xb6, 0x19, 0x68, + 0xb4, 0xc0, 0x87, 0x9b, 0x53, 0x4b, 0xb5, 0x5b, 0xf4, 0x0b, 0x5f, 0x7a, 0x4d, 0x92, 0xc4, 0x18, + 0x89, 0x07, 0x34, 0xed, 0xa9, 0x56, 0x15, 0x21, 0xc5, 0x87, 0x4c, 0x07, 0x83, 0xbe, 0x2f, 0xcb, + 0x32, 0x98, 0xaa, 0xde, 0xa2, 0xb4, 0xbc, 0x1a, 0x2b, 0xd2, 0x6e, 0xb7, 0x9d, 0x19, 0x96, 0x25, + 0x1f, 0xf7, 0x82, 0x0f, 0xf2, 0xdc, 0x97, 0x65, 0x19, 0x5a, 0x59, 0x66, 0xad, 0x9b, 0x16, 0x07, + 0x33, 0x95, 0x13, 0xc2, 0x84, 0x79, 0x2d, 0x7d, 0x5c, 0x33, 0x49, 0xea, 0x0c, 0x44, 0x5f, 0x5a, + 0xd6, 0x86, 0x34, 0x1d, 0xfa, 0xd5, 0x50, 0x55, 0xda, 0x9d, 0x0e, 0xce, 0x25, 0xa8, 0x06, 0x34, + 0x28, 0xbd, 0xde, 0xb8, 0x33, 0x31, 0x68, 0xa0, 0x95, 0xb5, 0x48, 0xd2, 0x74, 0xda, 0x3c, 0xab, + 0xef, 0xf1, 0x3e, 0xe4, 0x79, 0x1e, 0xda, 0x33, 0x73, 0x9a, 0x65, 0x99, 0x84, 0xa9, 0xb2, 0xa9, + 0x01, 0x63, 0xe6, 0xb0, 0xc1, 0xa9, 0x8e, 0x44, 0x71, 0x88, 0x11, 0xd9, 0xbf, 0xe7, 0xc0, 0xd2, + 0xdb, 0xdf, 0xf6, 0xea, 0x47, 0x1b, 0x1b, 0xbe, 0xc0, 0x74, 0xd1, 0x18, 0xf6, 0x19, 0x7a, 0x86, + 0x9e, 0xa1, 0x0b, 0x4f, 0xff, 0x0f, 0x4b, 0x4a, 0x1b, 0xd0, 0xb1, 0x3c, 0xce, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; +const int Snap_frame_size = sizeof(Snap_frame); diff --git a/source/gx/png/Snap_frame.h b/source/gx/png/Snap_frame.h new file mode 100644 index 0000000..d235ed0 --- /dev/null +++ b/source/gx/png/Snap_frame.h @@ -0,0 +1,14 @@ +/* + This file was autogenerated by raw2c. +Visit http://www.devkitpro.org +*/ + +//--------------------------------------------------------------------------------- +#ifndef _Snap_frame_h_ +#define _Snap_frame_h_ +//--------------------------------------------------------------------------------- +extern const unsigned char Snap_frame[]; +extern const int Snap_frame_size; +//--------------------------------------------------------------------------------- +#endif //_Snap_frame_h_ +//--------------------------------------------------------------------------------- diff --git a/source/ngc/png/Snap_frame.png b/source/gx/png/Snap_frame.png similarity index 100% rename from source/ngc/png/Snap_frame.png rename to source/gx/png/Snap_frame.png diff --git a/source/ngc/png/Sram_empty.c b/source/gx/png/Sram_empty.c similarity index 100% rename from source/ngc/png/Sram_empty.c rename to source/gx/png/Sram_empty.c diff --git a/source/ngc/png/Sram_empty.h b/source/gx/png/Sram_empty.h similarity index 100% rename from source/ngc/png/Sram_empty.h rename to source/gx/png/Sram_empty.h diff --git a/source/ngc/png/Star_empty.c b/source/gx/png/Star_empty.c similarity index 100% rename from source/ngc/png/Star_empty.c rename to source/gx/png/Star_empty.c diff --git a/source/ngc/png/Star_empty.h b/source/gx/png/Star_empty.h similarity index 100% rename from source/ngc/png/Star_empty.h rename to source/gx/png/Star_empty.h diff --git a/source/ngc/png/Star_empty.png b/source/gx/png/Star_empty.png similarity index 100% rename from source/ngc/png/Star_empty.png rename to source/gx/png/Star_empty.png diff --git a/source/ngc/png/Star_full.c b/source/gx/png/Star_full.c similarity index 100% rename from source/ngc/png/Star_full.c rename to source/gx/png/Star_full.c diff --git a/source/ngc/png/Star_full.h b/source/gx/png/Star_full.h similarity index 100% rename from source/ngc/png/Star_full.h rename to source/gx/png/Star_full.h diff --git a/source/ngc/png/Star_full.png b/source/gx/png/Star_full.png similarity index 100% rename from source/ngc/png/Star_full.png rename to source/gx/png/Star_full.png diff --git a/source/ngc/png/ctrl_classic.c b/source/gx/png/ctrl_classic.c similarity index 100% rename from source/ngc/png/ctrl_classic.c rename to source/gx/png/ctrl_classic.c diff --git a/source/ngc/png/ctrl_classic.h b/source/gx/png/ctrl_classic.h similarity index 100% rename from source/ngc/png/ctrl_classic.h rename to source/gx/png/ctrl_classic.h diff --git a/source/ngc/png/ctrl_classic.png b/source/gx/png/ctrl_classic.png similarity index 100% rename from source/ngc/png/ctrl_classic.png rename to source/gx/png/ctrl_classic.png diff --git a/source/ngc/png/ctrl_gamecube.c b/source/gx/png/ctrl_gamecube.c similarity index 100% rename from source/ngc/png/ctrl_gamecube.c rename to source/gx/png/ctrl_gamecube.c diff --git a/source/ngc/png/ctrl_gamecube.h b/source/gx/png/ctrl_gamecube.h similarity index 100% rename from source/ngc/png/ctrl_gamecube.h rename to source/gx/png/ctrl_gamecube.h diff --git a/source/ngc/png/ctrl_gamecube.png b/source/gx/png/ctrl_gamecube.png similarity index 100% rename from source/ngc/png/ctrl_gamecube.png rename to source/gx/png/ctrl_gamecube.png diff --git a/source/ngc/png/ctrl_nunchuk.c b/source/gx/png/ctrl_nunchuk.c similarity index 100% rename from source/ngc/png/ctrl_nunchuk.c rename to source/gx/png/ctrl_nunchuk.c diff --git a/source/ngc/png/ctrl_nunchuk.h b/source/gx/png/ctrl_nunchuk.h similarity index 100% rename from source/ngc/png/ctrl_nunchuk.h rename to source/gx/png/ctrl_nunchuk.h diff --git a/source/ngc/png/ctrl_nunchuk.png b/source/gx/png/ctrl_nunchuk.png similarity index 100% rename from source/ngc/png/ctrl_nunchuk.png rename to source/gx/png/ctrl_nunchuk.png diff --git a/source/ngc/png/ctrl_wiimote.c b/source/gx/png/ctrl_wiimote.c similarity index 100% rename from source/ngc/png/ctrl_wiimote.c rename to source/gx/png/ctrl_wiimote.c diff --git a/source/ngc/png/ctrl_wiimote.h b/source/gx/png/ctrl_wiimote.h similarity index 100% rename from source/ngc/png/ctrl_wiimote.h rename to source/gx/png/ctrl_wiimote.h diff --git a/source/ngc/png/ctrl_wiimote.png b/source/gx/png/ctrl_wiimote.png similarity index 100% rename from source/ngc/png/ctrl_wiimote.png rename to source/gx/png/ctrl_wiimote.png diff --git a/source/ngc/png/generic_openhand.c b/source/gx/png/generic_openhand.c similarity index 100% rename from source/ngc/png/generic_openhand.c rename to source/gx/png/generic_openhand.c diff --git a/source/ngc/png/generic_openhand.h b/source/gx/png/generic_openhand.h similarity index 100% rename from source/ngc/png/generic_openhand.h rename to source/gx/png/generic_openhand.h diff --git a/source/ngc/png/generic_openhand.png b/source/gx/png/generic_openhand.png similarity index 100% rename from source/ngc/png/generic_openhand.png rename to source/gx/png/generic_openhand.png diff --git a/source/ngc/png/generic_point.c b/source/gx/png/generic_point.c similarity index 100% rename from source/ngc/png/generic_point.c rename to source/gx/png/generic_point.c diff --git a/source/ngc/png/generic_point.h b/source/gx/png/generic_point.h similarity index 100% rename from source/ngc/png/generic_point.h rename to source/gx/png/generic_point.h diff --git a/source/ngc/png/generic_point.png b/source/gx/png/generic_point.png similarity index 100% rename from source/ngc/png/generic_point.png rename to source/gx/png/generic_point.png diff --git a/source/ngc/png/multi_png.bat b/source/gx/png/multi_png.bat similarity index 100% rename from source/ngc/png/multi_png.bat rename to source/gx/png/multi_png.bat diff --git a/source/ngc/png/raw2c.exe b/source/gx/png/raw2c.exe similarity index 100% rename from source/ngc/png/raw2c.exe rename to source/gx/png/raw2c.exe diff --git a/source/ngc/sounds/button_over.c b/source/gx/sounds/button_over.c similarity index 100% rename from source/ngc/sounds/button_over.c rename to source/gx/sounds/button_over.c diff --git a/source/ngc/sounds/button_over.h b/source/gx/sounds/button_over.h similarity index 100% rename from source/ngc/sounds/button_over.h rename to source/gx/sounds/button_over.h diff --git a/source/ngc/sounds/button_over.pcm b/source/gx/sounds/button_over.pcm similarity index 100% rename from source/ngc/sounds/button_over.pcm rename to source/gx/sounds/button_over.pcm diff --git a/source/ngc/sounds/button_select.c b/source/gx/sounds/button_select.c similarity index 100% rename from source/ngc/sounds/button_select.c rename to source/gx/sounds/button_select.c diff --git a/source/ngc/sounds/button_select.h b/source/gx/sounds/button_select.h similarity index 100% rename from source/ngc/sounds/button_select.h rename to source/gx/sounds/button_select.h diff --git a/source/ngc/sounds/button_select.pcm b/source/gx/sounds/button_select.pcm similarity index 100% rename from source/ngc/sounds/button_select.pcm rename to source/gx/sounds/button_select.pcm diff --git a/source/ngc/sounds/raw2c.exe b/source/gx/sounds/raw2c.exe similarity index 100% rename from source/ngc/sounds/raw2c.exe rename to source/gx/sounds/raw2c.exe diff --git a/source/ngc/sounds/sound2c.bat b/source/gx/sounds/sound2c.bat similarity index 100% rename from source/ngc/sounds/sound2c.bat rename to source/gx/sounds/sound2c.bat diff --git a/source/loadrom.c b/source/loadrom.c index 1cba790..02c8571 100644 --- a/source/loadrom.c +++ b/source/loadrom.c @@ -288,11 +288,11 @@ int load_rom(char *filename) } /* max. 10 MBytes supported */ - if (size > 0xA00000) size = 0xA00000; + if (size > MAXROMSIZE) size = MAXROMSIZE; genromsize = size; /* clear unused ROM space */ - if (size < 0xA00000) memset (cart_rom + size, 0x00, 0xA00000 - size); + if (size < MAXROMSIZE) memset (cart_rom + size, 0x00, MAXROMSIZE - size); getrominfo((char *)cart_rom); /* get infos from ROM header */ set_region(); /* set game region (PAL/NTSC, JAP/USA/EUR) */ diff --git a/source/loadrom.h b/source/loadrom.h index 81dd572..4b17a7a 100644 --- a/source/loadrom.h +++ b/source/loadrom.h @@ -24,6 +24,7 @@ #define _LOADROM_H_ #define MAXCOMPANY 64 +#define MAXROMSIZE 10485760 typedef struct { diff --git a/source/ngc/fileio/filesel.c b/source/ngc/fileio/filesel.c deleted file mode 100644 index 713ebe7..0000000 --- a/source/ngc/fileio/filesel.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - * filesel.c - * - * File Selection menu - * - * code by Softdev (2006), Eke-Eke (2007,2008) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - ********************************************************************************/ - -#include "shared.h" -#include "font.h" -#include "file_dvd.h" -#include "file_fat.h" -#include "filesel.h" - -/* Global Variables */ -int maxfiles = 0; -int offset = 0; -int selection = 0; -int old_selection = 0; -int old_offset = 0; -int useFAT = 0; -int useHistory = 0; -int haveDVDdir = 0; -int haveFATdir = 0; - -FILEENTRIES filelist[MAXFILES]; - -/*************************************************************************** - * ShowFiles - * - * Show filenames list in current directory - ***************************************************************************/ -static void ShowFiles (int offset, int selection) -{ - int i, j; - char text[MAXJOLIET+2]; - - ClearScreen ((GXColor)BLACK); - j = 0; - - for (i = offset; i < (offset + PAGESIZE) && (i < maxfiles); i++) - { - memset(text,0,MAXJOLIET+2); - if (filelist[i].flags) sprintf(text, "[%s]", filelist[i].filename + filelist[i].filename_offset); - else sprintf (text, "%s", filelist[i].filename + filelist[i].filename_offset); - if (j == (selection - offset)) WriteCentre_HL ((j * fheight) + PAGEOFFSET, text); - else WriteCentre ((j * fheight) + PAGEOFFSET, text); - j++; - } - SetScreen (); -} - -/*************************************************************************** - * FileSortCallback (Marty Disibio) - * - * Quick sort callback to sort file entries with the following order: - * . - * .. - * - * - ***************************************************************************/ -int FileSortCallback(const void *f1, const void *f2) -{ - /* Special case for implicit directories */ - if(((FILEENTRIES *)f1)->filename[0] == '.' || ((FILEENTRIES *)f2)->filename[0] == '.') - { - if(strcmp(((FILEENTRIES *)f1)->filename, ".") == 0) { return -1; } - if(strcmp(((FILEENTRIES *)f2)->filename, ".") == 0) { return 1; } - if(strcmp(((FILEENTRIES *)f1)->filename, "..") == 0) { return -1; } - if(strcmp(((FILEENTRIES *)f2)->filename, "..") == 0) { return 1; } - } - - /* If one is a file and one is a directory the directory is first. */ - if(((FILEENTRIES *)f1)->flags == 1 && ((FILEENTRIES *)f2)->flags == 0) return -1; - if(((FILEENTRIES *)f1)->flags == 0 && ((FILEENTRIES *)f2)->flags == 1) return 1; - - return stricmp(((FILEENTRIES *)f1)->filename, ((FILEENTRIES *)f2)->filename); -} - -/**************************************************************************** - * FileSelector - * - * Let user select a file from the File listing -.* ROM file buffer is provided as input - * ROM size is returned - * - ****************************************************************************/ -extern s16 ogc_input__getMenuButtons(u32 cnt); -int FileSelector(unsigned char *buffer) -{ - short p; - int redraw = 1; - int go_up = 0; - int ret; - int i,size; - - while (1) - { - if (redraw) ShowFiles (offset, selection); - redraw = 0; - p = ogc_input__getMenuButtons(0); - - /* scroll displayed filename */ - if (p & PAD_BUTTON_LEFT) - { - if (filelist[selection].filename_offset > 0) - { - filelist[selection].filename_offset --; - redraw = 1; - } - } - else if (p & PAD_BUTTON_RIGHT) - { - size = 0; - for (i=filelist[selection].filename_offset; i back_framewidth) - { - filelist[selection].filename_offset ++; - redraw = 1; - } - } - - /* highlight next item */ - else if (p & PAD_BUTTON_DOWN) - { - filelist[selection].filename_offset = 0; - selection++; - if (selection == maxfiles) selection = offset = 0; - if ((selection - offset) >= PAGESIZE) offset += PAGESIZE; - redraw = 1; - } - - /* highlight previous item */ - else if (p & PAD_BUTTON_UP) - { - filelist[selection].filename_offset = 0; - selection--; - if (selection < 0) - { - selection = maxfiles - 1; - offset = selection - PAGESIZE + 1; - } - if (selection < offset) offset -= PAGESIZE; - if (offset < 0) offset = 0; - redraw = 1; - } - - /* go back one page */ - else if (p & PAD_TRIGGER_L) - { - filelist[selection].filename_offset = 0; - selection -= PAGESIZE; - if (selection < 0) - { - selection = maxfiles - 1; - offset = selection - PAGESIZE + 1; - } - if (selection < offset) offset -= PAGESIZE; - if (offset < 0) offset = 0; - redraw = 1; - } - - /* go forward one page */ - else if (p & PAD_TRIGGER_R) - { - filelist[selection].filename_offset = 0; - selection += PAGESIZE; - if (selection > maxfiles - 1) selection = offset = 0; - if ((selection - offset) >= PAGESIZE) offset += PAGESIZE; - redraw = 1; - } - - /* quit */ - if (p & PAD_TRIGGER_Z) - { - filelist[selection].filename_offset = 0; - return 0; - } - - /* open selected file or directory */ - if ((p & PAD_BUTTON_A) || (p & PAD_BUTTON_B)) - { - filelist[selection].filename_offset = 0; - go_up = 0; - - if (p & PAD_BUTTON_B) - { - /* go up one directory or quit */ - go_up = 1; - selection = useFAT ? 0 : 1; - } - - /*** This is directory ***/ - if (filelist[selection].flags) - { - /* get new directory */ - if (useFAT) ret =FAT_UpdateDir(go_up); - else ret = DVD_UpdateDir(go_up); - - /* get new entry list or quit */ - if (ret) - { - if (useFAT) maxfiles = FAT_ParseDirectory(); - else maxfiles = DVD_ParseDirectory(); - } - else return 0; - } - - /*** This is a file ***/ - else - { - /* root directory ? */ - if (go_up) return 0; - - /* Load file */ - if (useFAT) return FAT_LoadFile(buffer); - else return DVD_LoadFile(buffer); - } - redraw = 1; - } - } -} diff --git a/source/ngc/gui/font.c b/source/ngc/gui/font.c deleted file mode 100644 index 642ff68..0000000 --- a/source/ngc/gui/font.c +++ /dev/null @@ -1,607 +0,0 @@ -/***************************************************************************** - * font.c - * - * IPL FONT Engine, based on Qoob MP3 Player Font - * - * code by Softdev (2006), Eke-Eke(2007-2008) - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - ********************************************************************************/ - -#include "shared.h" -#include "font.h" -#include "Overlay_bar.h" - -#include - -/* Backdrop Frame Width (to avoid writing outside of the background frame) */ -u16 back_framewidth = 640; -int font_size[256], fheight; - -#ifndef HW_RVL -/* disable Qoob Modchip before IPL access (emukiddid) */ -static void ipl_set_config(unsigned char c) -{ - volatile unsigned long* exi = (volatile unsigned long*)0xCC006800; - unsigned long val,addr; - addr=0xc0000000; - val = c << 24; - exi[0] = ((((exi[0]) & 0x405) | 256) | 48); //select IPL - //write addr of IPL - exi[0 * 5 + 4] = addr; - exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; - while (exi[0 * 5 + 3] & 1); - //write the ipl we want to send - exi[0 * 5 + 4] = val; - exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; - while (exi[0 * 5 + 3] & 1); - exi[0] &= 0x405; //deselect IPL -} -#endif - -static sys_fontheader *fontHeader; -static u8 *texture; - -int FONT_Init(void) -{ -#ifndef HW_RVL - /* disable Qoob before accessing IPL */ - ipl_set_config(6); -#endif - - /* initialize IPL font */ - fontHeader = memalign(32,sizeof(sys_fontheader)); - if (!fontHeader) return -1; - SYS_InitFont(&fontHeader); - - /* character width table */ - int i,c; - for (i=0; i<256; ++i) - { - if ((i < fontHeader->first_char) || (i > fontHeader->last_char)) c = fontHeader->inval_char; - else c = i - fontHeader->first_char; - font_size[i] = ((unsigned char*)fontHeader)[fontHeader->width_table + c]; - } - - /* default font height */ - fheight = fontHeader->cell_height; - - /* initialize texture data */ - texture = memalign(32, fontHeader->cell_width * fontHeader->cell_height / 2); - if (!texture) return -1; - - return 0; -} - -static void DrawChar(unsigned char c, int xpos, int ypos, int size, GXColor color) -{ - s32 width; - - /* reintialize texture object */ - GXTexObj texobj; - GX_InitTexObj(&texobj, texture, fontHeader->cell_width, fontHeader->cell_height, GX_TF_I4, GX_CLAMP, GX_CLAMP, GX_FALSE); - GX_LoadTexObj(&texobj, GX_TEXMAP0); - - /* reinitialize font texture data */ - memset(texture,0,fontHeader->cell_width * fontHeader->cell_height / 2); - SYS_GetFontTexel(c,texture,0,fontHeader->cell_width/2,&width); - DCFlushRange(texture, fontHeader->cell_width * fontHeader->cell_height / 2); - GX_InvalidateTexAll(); - - /* adjust texture width */ - width = (fontHeader->cell_width * size) / fontHeader->cell_height; - - /* GX rendering */ - GX_Begin(GX_QUADS, GX_VTXFMT0, 4); - GX_Position2s16(xpos, ypos - size); - GX_Color4u8(color.r, color.g, color.b, 0xff); - GX_TexCoord2f32(0.0, 0.0); - GX_Position2s16(xpos + width, ypos - size); - GX_Color4u8(color.r, color.g, color.b, 0xff); - GX_TexCoord2f32(1.0, 0.0); - GX_Position2s16(xpos + width, ypos); - GX_Color4u8(color.r, color.g, color.b, 0xff); - GX_TexCoord2f32(1.0, 1.0); - GX_Position2s16(xpos, ypos); - GX_Color4u8(color.r, color.g, color.b, 0xff); - GX_TexCoord2f32(0.0, 1.0); - GX_End (); - GX_DrawDone(); -} - - -void write_font(int x, int y, char *string) -{ - int ox = x; - while (*string && (x < (ox + back_framewidth))) - { - DrawChar(*string, x -(vmode->fbWidth/2), y-(vmode->efbHeight/2),fontHeader->cell_height,(GXColor)WHITE); - x += font_size[(u8)*string]; - string++; - } -} - -void WriteCentre( int y, char *string) -{ - int x, t; - for (x=t=0; tback_framewidth) x=back_framewidth; - x = (640 - x) >> 1; - write_font(x, y, string); -} - -void WriteCentre_HL( int y, char *string) -{ - png_texture *texture = OpenTexturePNG(Overlay_bar); - if (texture) - { - DrawTexture(texture, 0, y-fheight, 640, fheight); - if (texture->data) free(texture->data); - free(texture); - } - WriteCentre(y, string); -} - -void FONT_alignLeft(char *string, int size, int x, int y, GXColor color) -{ - x -= (vmode->fbWidth / 2); - y -= (vmode->efbHeight / 2); - - while (*string) - { - DrawChar(*string, x, y, size,color); - x += (font_size[(u8)*string++] * size) / fheight; - } -} - -void FONT_alignRight(char *string, int size, int x, int y, GXColor color) -{ - int i; - u16 width = 0; - - for (i=0; ifbWidth / 2) + width; - y -= (vmode->efbHeight / 2); - - while (*string) - { - DrawChar(*string, x, y, size,color); - x += (font_size[(u8)*string++] * size) / fheight; - } -} - -void FONT_writeCenter(char *string, int size, int x1, int x2, int y, GXColor color) -{ - int i; - u16 width = 0; - - for (i=0; ifbWidth) / 2; - y -= (vmode->efbHeight / 2); - - while (*string) - { - DrawChar(*string, x1, y, size,color); - x1 += (font_size[(u8)*string++] * size) / fheight; - } -} - -/**************************************************************************** - * Draw functions (FrameBuffer) - * - ****************************************************************************/ -void fntDrawHLine (int x1, int x2, int y, int color) -{ - int i; - y = 320 * y; - x1 >>= 1; - x2 >>= 1; - for (i = x1; i <= x2; i++) xfb[whichfb][y + i] = color; -} - -void fntDrawVLine (int x, int y1, int y2, int color) -{ - int i; - x >>= 1; - for (i = y1; i <= y2; i++) xfb[whichfb][x + (640 * i) / 2] = color; -} - -void fntDrawBox (int x1, int y1, int x2, int y2, int color) -{ - fntDrawHLine (x1, x2, y1, color); - fntDrawHLine (x1, x2, y2, color); - fntDrawVLine (x1, y1, y2, color); - fntDrawVLine (x2, y1, y2, color); -} - -void fntDrawBoxFilled (int x1, int y1, int x2, int y2, int color) -{ - int h; - for (h = y1; h <= y2; h++) fntDrawHLine (x1, x2, h, color); -} - -/**************************************************************************** - * Draw functions (GX) - * - ****************************************************************************/ -typedef struct -{ - u8 *buffer; - u32 offset; -} png_file; - -/* libpng read callback function */ -static void png_read_from_mem (png_structp png_ptr, png_bytep data, png_size_t length) -{ - png_file *file = (png_file *)png_get_io_ptr (png_ptr); - - /* copy data from image buffer */ - memcpy (data, file->buffer + file->offset, length); - - /* advance in the file */ - file->offset += length; -} - -void CloseTexturePNG(png_texture **p_texture) -{ - png_texture *texture = *p_texture; - - if (texture) - { - if (texture->data) free(texture->data); - free(texture); - *p_texture = NULL; - } -} - -/* convert a png file into RGBA8 texture */ -png_texture *OpenTexturePNG(const u8 *buffer) -{ - int i; - png_file file; - - /* init PNG file structure */ - file.buffer = (u8 *) buffer; - file.offset = 0; - - /* check for valid magic number */ - /*if (!png_check_sig (file.buffer, 8)) return;*/ - - /* create a png read struct */ - png_structp png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (!png_ptr) return NULL; - - /* create a png info struct */ - png_infop info_ptr = png_create_info_struct (png_ptr); - if (!info_ptr) - { - png_destroy_read_struct (&png_ptr, NULL, NULL); - return NULL; - } - - /* set callback for the read function */ - png_set_read_fn (png_ptr, (png_voidp *)(&file), png_read_from_mem); - - /* read png info */ - png_read_info (png_ptr, info_ptr); - - /* retrieve image information */ - u32 width = png_get_image_width(png_ptr, info_ptr); - u32 height = png_get_image_height(png_ptr, info_ptr); - -#if 0 - /* ensure PNG images are in the supported format */ - u32 bit_depth = png_get_bit_depth(png_ptr, info_ptr); - u32 color_type = png_get_color_type(png_ptr, info_ptr); - - /* support for RGBA8 textures ONLY !*/ - if ((color_type != PNG_COLOR_TYPE_RGB_ALPHA) || (bit_depth != 8)) - { - png_destroy_read_struct (&png_ptr, &info_ptr, NULL); - return; - } - - /* 4x4 tiles are required */ - if ((width%4) || (height%4)) - { - png_destroy_read_struct (&png_ptr, &info_ptr, NULL); - return; - } -#endif - - /* allocate memory to store raw image data */ - u32 stride = width << 2; - u8 *img_data = memalign (32, stride * height); - if (!img_data) - { - png_destroy_read_struct (&png_ptr, &info_ptr, NULL); - return NULL; - } - - /* allocate row pointer data */ - png_bytep *row_pointers = (png_bytep *)memalign (32, sizeof (png_bytep) * height); - if (!row_pointers) - { - free (img_data); - png_destroy_read_struct (&png_ptr, &info_ptr, NULL); - return NULL; - } - - /* store raw image data */ - for (i = 0; i < height; i++) - { - row_pointers[i] = img_data + (i * stride); - } - - /* decode image */ - png_read_image (png_ptr, row_pointers); - - /* finish decompression and release memory */ - png_read_end (png_ptr, NULL); - png_destroy_read_struct (&png_ptr, &info_ptr, NULL); - free(row_pointers); - - /* initialize texture */ - png_texture *texture = (png_texture *)memalign(32, sizeof(png_texture)); - if (!texture) - { - free (img_data); - return NULL; - } - - /* initialize texture data */ - texture->data = memalign(32, stride * height); - if (!texture->data) - { - free (img_data); - free(texture); - return NULL; - } - - memset(texture->data, 0, stride * height); - texture->width = width; - texture->height = height; - texture->format = GX_TF_RGBA8; - - /* encode to GX_TF_RGBA8 format (4x4 pixels paired titles) */ - u16 *dst_ar = (u16 *)(texture->data); - u16 *dst_gb = (u16 *)(texture->data + 32); - u32 *src1 = (u32 *)(img_data); - u32 *src2 = (u32 *)(img_data + stride); - u32 *src3 = (u32 *)(img_data + 2*stride); - u32 *src4 = (u32 *)(img_data + 3*stride); - u32 pixel,h,w; - - for (h=0; h> 24) & 0x00ff); - *dst_gb++= (pixel >> 8) & 0xffff; - } - - /* line N + 1 (4 pixels) */ - for (i=0; i<4; i++) - { - pixel = *src2++; - *dst_ar++= ((pixel << 8) & 0xff00) | ((pixel >> 24) & 0x00ff); - *dst_gb++= (pixel >> 8) & 0xffff; - } - - /* line N + 2 (4 pixels) */ - for (i=0; i<4; i++) - { - pixel = *src3++; - *dst_ar++= ((pixel << 8) & 0xff00) | ((pixel >> 24) & 0x00ff); - *dst_gb++= (pixel >> 8) & 0xffff; - } - - /* line N + 3 (4 pixels) */ - for (i=0; i<4; i++) - { - pixel = *src4++; - *dst_ar++= ((pixel << 8) & 0xff00) | ((pixel >> 24) & 0x00ff); - *dst_gb++= (pixel >> 8) & 0xffff; - } - - /* next paired tiles */ - dst_ar += 16; - dst_gb += 16; - } - - /* next 4 lines */ - src1 = src4; - src2 = src1 + width; - src3 = src2 + width; - src4 = src3 + width; - } - - /* release memory */ - free(img_data); - - /* flush texture data from cache */ - DCFlushRange(texture->data, height * stride); - - return texture; -} - -void DrawTexture(png_texture *texture, int x, int y, int w, int h) -{ - if (texture->data) - { - /* load texture object */ - GXTexObj texObj; - GX_InitTexObj(&texObj, texture->data, texture->width, texture->height, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GX_InitTexObjLOD(&texObj,GX_LINEAR,GX_LIN_MIP_LIN,0.0,10.0,0.0,GX_FALSE,GX_TRUE,GX_ANISO_4); /* does this really change anything ? */ - GX_LoadTexObj(&texObj, GX_TEXMAP0); - GX_InvalidateTexAll(); - - /* adjust coordinate system */ - x -= (vmode->fbWidth/2); - y -= (vmode->efbHeight/2); - - /* Draw textured quad */ - GX_Begin(GX_QUADS, GX_VTXFMT0, 4); - GX_Position2s16(x,y+h); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(0.0, 1.0); - GX_Position2s16(x+w,y+h); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(1.0, 1.0); - GX_Position2s16(x+w,y); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(1.0, 0.0); - GX_Position2s16(x,y); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(0.0, 0.0); - GX_End (); - GX_DrawDone(); - } -} - -void DrawTextureAlpha(png_texture *texture, int x, int y, int w, int h, u8 alpha) -{ - if (texture->data) - { - /* load texture object */ - GXTexObj texObj; - GX_InitTexObj(&texObj, texture->data, texture->width, texture->height, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GX_InitTexObjLOD(&texObj,GX_LINEAR,GX_LIN_MIP_LIN,0.0,10.0,0.0,GX_FALSE,GX_TRUE,GX_ANISO_4); /* does this really change anything ? */ - GX_LoadTexObj(&texObj, GX_TEXMAP0); - GX_InvalidateTexAll(); - - /* vertex coordinate */ - x -= (vmode->fbWidth/2); - y -= (vmode->efbHeight/2); - - /* draw textured quad */ - GX_Begin(GX_QUADS, GX_VTXFMT0, 4); - GX_Position2s16(x,y+h); - GX_Color4u8(0xff,0xff,0xff,alpha); - GX_TexCoord2f32(0.0, 1.0); - GX_Position2s16(x+w,y+h); - GX_Color4u8(0xff,0xff,0xff,alpha); - GX_TexCoord2f32(1.0, 1.0); - GX_Position2s16(x+w,y); - GX_Color4u8(0xff,0xff,0xff,alpha); - GX_TexCoord2f32(1.0, 0.0); - GX_Position2s16(x,y); - GX_Color4u8(0xff,0xff,0xff,alpha); - GX_TexCoord2f32(0.0, 0.0); - GX_End (); - GX_DrawDone(); - } -} - -void DrawTextureRepeat(png_texture *texture, int x, int y, int w, int h) -{ - if (texture->data) - { - /* load texture object */ - GXTexObj texObj; - GX_InitTexObj(&texObj, texture->data, texture->width, texture->height, GX_TF_RGBA8, GX_MIRROR, GX_MIRROR, GX_FALSE); - GX_LoadTexObj(&texObj, GX_TEXMAP0); - GX_InvalidateTexAll(); - - /* vertex coordinate */ - x -= (vmode->fbWidth/2); - y -= (vmode->efbHeight/2); - - /* texture coordinates */ - f32 s = (f32)vmode->fbWidth / (f32)texture->width; - f32 t = (f32)vmode->efbHeight / (f32)texture->height; - - /* draw textured quad */ - GX_Begin(GX_QUADS, GX_VTXFMT0, 4); - GX_Position2s16(x,y+h); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(0.0, t); - GX_Position2s16(x+w,y+h); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(s, t); - GX_Position2s16(x+w,y); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(s, 0.0); - GX_Position2s16(x,y); - GX_Color4u8(0xff,0xff,0xff,0xff); - GX_TexCoord2f32(0.0, 0.0); - GX_End (); - GX_DrawDone(); - } -} - -/**************************************************************************** - * Display functions - * - ****************************************************************************/ -u8 SILENT = 0; - -GXColor BACKGROUND = {0xd4,0xd0,0xc8,0xff}; - - -void SetScreen () -{ - GX_CopyDisp(xfb[whichfb], GX_FALSE); - GX_Flush(); - VIDEO_SetNextFramebuffer (xfb[whichfb]); - VIDEO_Flush (); - VIDEO_WaitVSync (); -} - -void ClearScreen (GXColor color) -{ - whichfb ^= 1; - GX_SetCopyClear(color,0x00ffffff); - GX_CopyDisp(xfb[whichfb], GX_TRUE); - GX_Flush(); -} - -extern s16 ogc_input__getMenuButtons(u32 cnt); - -void WaitButtonA () -{ - s16 p = ogc_input__getMenuButtons(0); - while (p & PAD_BUTTON_A) p = ogc_input__getMenuButtons(0); - while (!(p & PAD_BUTTON_A)) p = ogc_input__getMenuButtons(0); -} - -void WaitPrompt (char *msg) -{ - if (SILENT) return; - ClearScreen((GXColor)BLACK); - WriteCentre(254, msg); - WriteCentre(254 + fheight, "Press A to Continue"); - SetScreen(); - WaitButtonA (); -} - -void ShowAction (char *msg) -{ - if (SILENT) return; - - ClearScreen((GXColor)BLACK); - WriteCentre(254, msg); - SetScreen(); -} diff --git a/source/ngc/png/Frame_s1.c b/source/ngc/png/Frame_s1.c deleted file mode 100644 index d7297a3..0000000 --- a/source/ngc/png/Frame_s1.c +++ /dev/null @@ -1,355 +0,0 @@ -/* - This file was autogenerated by raw2c. -Visit http://www.devkitpro.org -*/ - -const unsigned char Frame_s1[] = { - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, - 0x00, 0x00, 0x01, 0x74, 0x00, 0x00, 0x01, 0x50, 0x08, 0x06, 0x00, 0x00, 0x00, 0xaf, 0x5e, 0x85, - 0x73, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0a, 0xf0, 0x00, 0x00, 0x0a, - 0xf0, 0x01, 0x42, 0xac, 0x34, 0x98, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x30, - 0x36, 0x2f, 0x30, 0x39, 0xb6, 0x25, 0x24, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, - 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, - 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x14, 0xfb, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xdd, - 0x5b, 0x8c, 0x5d, 0x67, 0xd9, 0xd8, 0xf1, 0xe7, 0x5d, 0xc7, 0x7d, 0x9a, 0xed, 0xd9, 0x73, 0xb0, - 0x67, 0xc6, 0xf6, 0xcc, 0xc4, 0x91, 0x5d, 0x1f, 0x92, 0xf1, 0x28, 0x4e, 0x44, 0x70, 0x20, 0x50, - 0x09, 0xf2, 0x55, 0x34, 0x5f, 0x42, 0x85, 0x52, 0xd1, 0xbb, 0xf6, 0x02, 0x82, 0x14, 0xd5, 0x20, - 0x21, 0x71, 0x59, 0xc1, 0x1d, 0x52, 0x54, 0x45, 0xaa, 0x44, 0x45, 0x2f, 0xaa, 0x4a, 0x14, 0xa9, - 0x17, 0x54, 0x91, 0x0a, 0x58, 0x04, 0x90, 0x10, 0x07, 0x97, 0xe4, 0x13, 0x0d, 0x8e, 0x4b, 0x1c, - 0xc7, 0x14, 0x27, 0xb6, 0x27, 0x36, 0x90, 0x38, 0x33, 0xe3, 0xd9, 0xc7, 0xb5, 0xd6, 0x7b, 0xe8, - 0x85, 0x67, 0x3e, 0x42, 0x8e, 0xfe, 0x6e, 0x32, 0xe6, 0xf1, 0xff, 0x27, 0x6d, 0x69, 0x66, 0x34, - 0x7b, 0xcf, 0x7a, 0x6f, 0x1e, 0xfd, 0xe7, 0x5d, 0x7b, 0xaf, 0x65, 0x42, 0x08, 0x72, 0xb3, 0x8c, - 0x31, 0x89, 0x88, 0xd4, 0x44, 0xa4, 0x29, 0x22, 0xcd, 0xc9, 0xc9, 0xc9, 0xda, 0xdc, 0xdc, 0x5c, - 0x63, 0x72, 0x72, 0xb2, 0xd5, 0x6e, 0xb7, 0x77, 0x84, 0x10, 0x12, 0x63, 0x4c, 0x14, 0x45, 0x91, - 0xf7, 0xde, 0xdf, 0xfc, 0x0b, 0x03, 0xc0, 0x6d, 0xc2, 0x18, 0xb3, 0x35, 0x1b, 0x5d, 0x08, 0xa1, - 0xf4, 0xde, 0xf7, 0xd7, 0xd7, 0xd7, 0x57, 0x57, 0x57, 0x57, 0x7b, 0x97, 0x2f, 0x5f, 0x1e, 0xf6, - 0x7a, 0xbd, 0x52, 0x44, 0x0a, 0x11, 0xa9, 0x36, 0x7f, 0xe7, 0xa6, 0x67, 0xa9, 0xb9, 0x99, 0xdf, - 0x35, 0xc6, 0x18, 0x11, 0xe9, 0x4c, 0x4e, 0x4e, 0xce, 0xcc, 0xcc, 0xcc, 0x4c, 0x4c, 0x4d, 0x4d, - 0xb5, 0x9b, 0xcd, 0xe6, 0x78, 0x1c, 0xc7, 0x79, 0xad, 0x56, 0xcb, 0xd2, 0x34, 0x4d, 0xdb, 0xed, - 0x76, 0x2d, 0xcb, 0xb2, 0x78, 0x73, 0x98, 0xff, 0x93, 0x0e, 0x02, 0x00, 0x6e, 0x17, 0x5b, 0x03, - 0x3d, 0x84, 0xe0, 0xbd, 0xf7, 0x45, 0x51, 0x14, 0xfd, 0xe1, 0x70, 0xb8, 0x3e, 0x1c, 0x0e, 0x07, - 0xd6, 0xda, 0x81, 0xb5, 0xb6, 0x3f, 0x18, 0x0c, 0xba, 0x7f, 0xfc, 0xe3, 0x1f, 0x7b, 0xe7, 0xcf, - 0x9f, 0x1f, 0x88, 0x48, 0x11, 0x42, 0x70, 0x37, 0xf3, 0xda, 0xc9, 0x4d, 0xfc, 0xf1, 0x48, 0x44, - 0x76, 0x1f, 0x3a, 0x74, 0xe8, 0xe0, 0x1d, 0x77, 0xdc, 0xb1, 0x98, 0xe7, 0xf9, 0x78, 0xb3, 0xd9, - 0xac, 0xb5, 0xdb, 0xed, 0x2c, 0x4d, 0xd3, 0xb8, 0x56, 0xab, 0x45, 0x71, 0x1c, 0x4b, 0x96, 0x65, - 0x51, 0x1c, 0xc7, 0x21, 0x84, 0xe0, 0x8c, 0x31, 0xce, 0x39, 0xc7, 0x40, 0x07, 0x80, 0x77, 0xf2, - 0x22, 0x22, 0x21, 0x04, 0xe7, 0xbd, 0x2f, 0xcb, 0xb2, 0xcc, 0xad, 0xb5, 0xb5, 0xa2, 0x28, 0x06, - 0x65, 0x59, 0x0e, 0x9c, 0x73, 0x83, 0xa2, 0x28, 0x9a, 0x9d, 0x4e, 0xe7, 0xfa, 0xfe, 0xfd, 0xfb, - 0x37, 0x5e, 0x7d, 0xf5, 0xd5, 0xeb, 0xc6, 0x98, 0x41, 0x08, 0xc1, 0x7f, 0xd0, 0x0b, 0xbf, 0xef, - 0x40, 0xdf, 0x1c, 0xe6, 0x7b, 0x97, 0x96, 0x96, 0x8e, 0xde, 0x75, 0xd7, 0x5d, 0x77, 0x77, 0x3a, - 0x9d, 0xe9, 0x56, 0xab, 0x55, 0xaf, 0xd7, 0xeb, 0x26, 0xcb, 0x32, 0x93, 0x24, 0x49, 0x88, 0xa2, - 0x28, 0x44, 0x51, 0xe4, 0xa2, 0x28, 0xf2, 0xc6, 0x18, 0xe7, 0xbd, 0xb7, 0x21, 0x04, 0xbb, 0x75, - 0xd0, 0x00, 0x80, 0xbf, 0x08, 0x9b, 0x44, 0x24, 0xb2, 0xd6, 0x86, 0x5a, 0xad, 0xe6, 0xcb, 0xb2, - 0x0c, 0xf5, 0x7a, 0xdd, 0x94, 0x65, 0x19, 0x7b, 0xef, 0x93, 0xb2, 0x2c, 0xa3, 0xf1, 0xf1, 0x71, - 0x53, 0x14, 0x85, 0xdb, 0xb9, 0x73, 0x67, 0x29, 0x22, 0x5b, 0x8f, 0xf7, 0xf5, 0x9e, 0x03, 0x7d, - 0x73, 0x98, 0xef, 0x59, 0x5a, 0x5a, 0x5a, 0x3e, 0x7a, 0xf4, 0xe8, 0x3d, 0xb3, 0xb3, 0xb3, 0xbb, - 0x67, 0x66, 0x66, 0x76, 0x34, 0x1a, 0x8d, 0x24, 0x8e, 0x63, 0x27, 0x22, 0xd6, 0x18, 0x63, 0xbd, - 0xf7, 0x95, 0xb5, 0xb6, 0xb0, 0xd6, 0x96, 0xd6, 0xda, 0xc2, 0x7b, 0xbf, 0xf5, 0xef, 0x01, 0x03, - 0x1d, 0x00, 0xde, 0x26, 0xfc, 0x85, 0x13, 0x91, 0x2a, 0x8a, 0x22, 0x97, 0xe7, 0xb9, 0xf7, 0xde, - 0x47, 0xb5, 0x5a, 0x2d, 0xb1, 0xd6, 0x26, 0x55, 0x55, 0xc5, 0xd6, 0xda, 0x38, 0xcf, 0xf3, 0xc8, - 0x18, 0x63, 0xee, 0xbb, 0xef, 0xbe, 0xc8, 0x18, 0x63, 0x3e, 0x68, 0x2b, 0xfb, 0x5d, 0x07, 0xfa, - 0xdb, 0x87, 0xf9, 0x9e, 0x3d, 0x7b, 0xe6, 0x17, 0x16, 0x16, 0x26, 0xa7, 0xa6, 0xa6, 0xea, 0x71, - 0x1c, 0x4b, 0x51, 0x14, 0xc3, 0xe1, 0x70, 0x58, 0x16, 0x45, 0x51, 0x94, 0x65, 0x39, 0xb0, 0xd6, - 0x0e, 0x9c, 0x73, 0x3d, 0xe7, 0xdc, 0xc0, 0x7b, 0x3f, 0x12, 0x11, 0x0a, 0x1d, 0x00, 0xde, 0xc5, - 0xe6, 0x50, 0xf6, 0x5b, 0x8f, 0xb7, 0x0c, 0x69, 0xef, 0x9c, 0xb3, 0x71, 0x1c, 0x0f, 0xa3, 0x28, - 0x1a, 0xa5, 0x69, 0x3a, 0xda, 0x8c, 0xe5, 0x2a, 0xcb, 0xb2, 0x9b, 0x3a, 0x2f, 0xf9, 0x8e, 0x93, - 0xa2, 0x9b, 0x27, 0x40, 0xf7, 0x1c, 0x3d, 0x7a, 0x74, 0x79, 0x69, 0x69, 0xe9, 0x9e, 0xdd, 0xbb, - 0x77, 0x2f, 0x2c, 0x2e, 0x2e, 0x4e, 0xee, 0xda, 0xb5, 0x6b, 0x2c, 0xcf, 0xf3, 0x78, 0x34, 0x1a, - 0x8d, 0x36, 0x36, 0x36, 0xd6, 0x57, 0x57, 0x57, 0xd7, 0xd2, 0x34, 0x3d, 0xb8, 0x7b, 0xf7, 0xee, - 0xa3, 0x93, 0x93, 0x93, 0x3b, 0x9a, 0xcd, 0xe6, 0x4d, 0x9d, 0x60, 0x05, 0x00, 0xfc, 0xb5, 0xe1, - 0x70, 0x18, 0xae, 0x5d, 0xbb, 0x76, 0xfd, 0x4f, 0x7f, 0xfa, 0xd3, 0xb3, 0x6f, 0xbe, 0xf9, 0xe6, - 0x7f, 0x71, 0xce, 0xad, 0x88, 0xc8, 0x46, 0x08, 0x61, 0x63, 0x38, 0x1c, 0x0e, 0xeb, 0xf5, 0x7a, - 0x21, 0x22, 0xfe, 0xc8, 0x91, 0x23, 0xe1, 0xb1, 0xc7, 0x1e, 0xf3, 0x22, 0xf2, 0xae, 0xc3, 0xf6, - 0xaf, 0x86, 0xf0, 0xd6, 0x30, 0x5f, 0x5e, 0x5e, 0x5e, 0xba, 0xeb, 0xae, 0xbb, 0x8e, 0xcd, 0xcd, - 0xcd, 0xcd, 0x2f, 0x2e, 0x2e, 0x4e, 0xed, 0xda, 0xb5, 0xab, 0x55, 0xaf, 0xd7, 0x53, 0x6b, 0x6d, - 0xb9, 0xb2, 0xb2, 0xb2, 0x3e, 0x1c, 0x0e, 0x0f, 0x1f, 0x3b, 0x76, 0xec, 0xf0, 0x1f, 0xfe, 0xf0, - 0x07, 0xf9, 0xd5, 0xaf, 0x7e, 0x25, 0xa7, 0x4e, 0x9d, 0x92, 0xd7, 0x5e, 0x7b, 0x4d, 0xca, 0xf2, - 0x03, 0xb7, 0x78, 0x00, 0x00, 0x6f, 0x91, 0xa6, 0xa9, 0xec, 0xdd, 0xbb, 0x57, 0x3e, 0xf6, 0xb1, - 0x8f, 0xc9, 0x43, 0x0f, 0x3d, 0x24, 0xfb, 0xf7, 0xef, 0x97, 0x53, 0xa7, 0x4e, 0x9d, 0x79, 0xed, - 0xb5, 0xd7, 0xfe, 0x6d, 0xbb, 0xdd, 0xbe, 0x28, 0x22, 0xe5, 0xc6, 0xc6, 0x46, 0x68, 0xb7, 0xdb, - 0x41, 0x44, 0x64, 0x62, 0x62, 0x22, 0x9c, 0x38, 0x71, 0xc2, 0x8a, 0xc8, 0x3b, 0xde, 0xf9, 0xf2, - 0xf6, 0x81, 0x3e, 0x71, 0xf8, 0xf0, 0xe1, 0x7b, 0x96, 0x96, 0x96, 0xee, 0xdd, 0xbd, 0x7b, 0xf7, - 0x1d, 0xfb, 0xf6, 0xed, 0x9b, 0x9e, 0x9e, 0x9e, 0x6e, 0xe5, 0x79, 0x1e, 0x87, 0x10, 0xec, 0x85, - 0x0b, 0x17, 0xfa, 0xfb, 0xf7, 0xef, 0xff, 0x17, 0xd6, 0xda, 0xfa, 0xd3, 0x4f, 0x3f, 0x2d, 0x2b, - 0x2b, 0x2b, 0x1f, 0xd6, 0x9a, 0x01, 0xe0, 0xb6, 0xb0, 0x77, 0xef, 0x5e, 0x79, 0xe4, 0x91, 0x47, - 0xa4, 0xd1, 0x68, 0x0c, 0x5f, 0x7a, 0xe9, 0xa5, 0xc7, 0xfb, 0xfd, 0xfe, 0xff, 0x12, 0x91, 0x68, - 0x34, 0x1a, 0x05, 0x11, 0x91, 0x4e, 0xa7, 0x23, 0x73, 0x73, 0x73, 0xf6, 0xf0, 0xe1, 0xc3, 0xe5, - 0xb1, 0x63, 0xc7, 0xac, 0xbc, 0xa5, 0xd6, 0xff, 0x71, 0xa0, 0x1b, 0x63, 0xd2, 0xf1, 0xf1, 0xf1, - 0x23, 0x1f, 0xff, 0xf8, 0xc7, 0x1f, 0x58, 0x5c, 0x5c, 0xfc, 0x67, 0x8b, 0x8b, 0x8b, 0xbb, 0x66, - 0x67, 0x67, 0xdb, 0x8d, 0x46, 0x23, 0x71, 0xce, 0xd9, 0x97, 0x5f, 0x7e, 0x79, 0xf0, 0x91, 0x8f, - 0x7c, 0xe4, 0x5f, 0xfd, 0xf0, 0x87, 0x3f, 0x34, 0xdf, 0xfa, 0xd6, 0xb7, 0xa4, 0xaa, 0xaa, 0x6d, - 0x59, 0x2c, 0x00, 0x68, 0x97, 0xe7, 0xb9, 0x3c, 0xfe, 0xf8, 0xe3, 0xf2, 0xe8, 0xa3, 0x8f, 0x86, - 0x93, 0x27, 0x4f, 0xfe, 0xbb, 0xb1, 0xb1, 0xb1, 0x1f, 0xf5, 0x7a, 0x3d, 0x69, 0xb5, 0x5a, 0x92, - 0x65, 0x99, 0x69, 0xb5, 0x5a, 0x7e, 0x76, 0x76, 0xb6, 0x7c, 0xec, 0xb1, 0xc7, 0x06, 0x72, 0xe3, - 0x03, 0x48, 0x22, 0xf2, 0xd7, 0x27, 0x45, 0x77, 0x2c, 0x2e, 0x2e, 0xee, 0x1e, 0x1b, 0x1b, 0x9b, - 0xee, 0x74, 0x3a, 0x63, 0x9d, 0x4e, 0xa7, 0x96, 0x65, 0x99, 0x29, 0xcb, 0xb2, 0xb8, 0x72, 0xe5, - 0x4a, 0xef, 0x81, 0x07, 0x1e, 0xf8, 0xd7, 0x3f, 0xfa, 0xd1, 0x8f, 0xcc, 0xe9, 0xd3, 0xa7, 0xe5, - 0xf8, 0xf1, 0xe3, 0x1f, 0xfe, 0x0a, 0x01, 0xe0, 0x36, 0xf2, 0xe2, 0x8b, 0x2f, 0xca, 0xfc, 0xfc, - 0xbc, 0x79, 0xf4, 0xd1, 0x47, 0xff, 0xdb, 0xb3, 0xcf, 0x3e, 0xfb, 0xb0, 0x88, 0xfc, 0x5f, 0x11, - 0x49, 0xca, 0xb2, 0x8c, 0xbc, 0xf7, 0xbe, 0xdf, 0xef, 0xc7, 0x67, 0xcf, 0x9e, 0x75, 0x47, 0x8e, - 0x1c, 0xf1, 0xb2, 0xb9, 0xfd, 0x92, 0x88, 0xdc, 0xa8, 0xf3, 0x4e, 0xa7, 0x33, 0x37, 0x3f, 0x3f, - 0x3f, 0x3f, 0x39, 0x39, 0x39, 0x3e, 0x3e, 0x3e, 0x9e, 0x67, 0x59, 0x16, 0x39, 0xe7, 0xaa, 0xc1, - 0x60, 0xd0, 0x9b, 0x9d, 0x9d, 0x7d, 0xf4, 0xe4, 0xc9, 0x93, 0xe6, 0xc9, 0x27, 0x9f, 0xdc, 0xc6, - 0xe5, 0x01, 0xc0, 0xed, 0xe5, 0x67, 0x3f, 0xfb, 0x99, 0x7c, 0xe5, 0x2b, 0x5f, 0x31, 0xc7, 0x8f, - 0x1f, 0xff, 0x9f, 0x67, 0xcf, 0x9e, 0xbd, 0x4b, 0x44, 0xb2, 0x38, 0x8e, 0xd3, 0xa2, 0x28, 0xa4, - 0xd7, 0xeb, 0x65, 0xe7, 0xcf, 0x9f, 0x37, 0x9b, 0x03, 0x7d, 0x28, 0x22, 0x61, 0xab, 0xd0, 0xc7, - 0xf6, 0xec, 0xd9, 0xb3, 0xab, 0xd9, 0x6c, 0x8e, 0x8f, 0x8d, 0x8d, 0xe5, 0xf5, 0x7a, 0x3d, 0x16, - 0x11, 0x37, 0x1c, 0x0e, 0x8b, 0x6e, 0xb7, 0xbb, 0x7b, 0x7a, 0x7a, 0xba, 0x7e, 0xf6, 0xec, 0x59, - 0xf9, 0xc4, 0x27, 0x3e, 0xb1, 0x6d, 0x0b, 0x03, 0x80, 0xdb, 0xd1, 0xcb, 0x2f, 0xbf, 0x2c, 0x9f, - 0xfa, 0xd4, 0xa7, 0xea, 0x33, 0x33, 0x33, 0x4f, 0x5d, 0xb9, 0x72, 0xe5, 0x3f, 0x88, 0x48, 0x6e, - 0xad, 0x8d, 0xbc, 0xf7, 0x59, 0xaf, 0xd7, 0x93, 0xe7, 0x9f, 0x7f, 0xbe, 0x3a, 0x76, 0xec, 0x58, - 0x29, 0x22, 0x36, 0x31, 0xc6, 0xc4, 0xed, 0x76, 0x7b, 0x6a, 0xef, 0xde, 0xbd, 0xb3, 0xed, 0x76, - 0x7b, 0xac, 0xd5, 0x6a, 0xe5, 0x59, 0x96, 0x45, 0xde, 0xfb, 0x6a, 0x75, 0x75, 0xb5, 0x7f, 0xf7, - 0xdd, 0x77, 0x7f, 0xec, 0x1b, 0xdf, 0xf8, 0x86, 0x9c, 0x3a, 0x75, 0x6a, 0xbb, 0xd7, 0x05, 0x00, - 0xb7, 0xa5, 0x10, 0x82, 0x7c, 0xed, 0x6b, 0x5f, 0xfb, 0xfb, 0x57, 0x5e, 0x79, 0xe5, 0x3f, 0xd7, - 0x6a, 0xb5, 0x51, 0x51, 0x14, 0x51, 0x9a, 0xa6, 0x79, 0x59, 0x96, 0x72, 0xe5, 0xca, 0x95, 0xea, - 0xd8, 0xb1, 0x63, 0x43, 0x11, 0x71, 0x89, 0x88, 0xd4, 0xe6, 0xe6, 0xe6, 0xda, 0xb5, 0x5a, 0x6d, - 0xac, 0xd1, 0x68, 0x64, 0x59, 0x96, 0x19, 0x63, 0x8c, 0x1d, 0x8d, 0x46, 0x65, 0x92, 0x24, 0xfb, - 0xd6, 0xd7, 0xd7, 0x4d, 0x1c, 0xc7, 0xd4, 0x39, 0x00, 0x6c, 0x13, 0xef, 0xbd, 0x0c, 0x06, 0x03, - 0xb3, 0x6f, 0xdf, 0xbe, 0x7f, 0x7f, 0xf5, 0xea, 0xd5, 0xff, 0x28, 0x22, 0x35, 0xe7, 0x9c, 0x1b, - 0x0e, 0x87, 0xbe, 0x2c, 0xcb, 0xd1, 0xb9, 0x73, 0xe7, 0x6a, 0x87, 0x0e, 0x1d, 0x2a, 0x12, 0x11, - 0x69, 0xec, 0xdc, 0xb9, 0x73, 0xa2, 0x5e, 0xaf, 0xd7, 0x1b, 0x8d, 0x46, 0x92, 0xa6, 0xa9, 0x58, - 0x6b, 0xcb, 0xa2, 0x28, 0xba, 0x0b, 0x0b, 0x0b, 0x0f, 0x3c, 0xf5, 0xd4, 0x53, 0xf2, 0x8b, 0x5f, - 0xfc, 0x62, 0xbb, 0xd7, 0x03, 0x00, 0xb7, 0xb5, 0x7a, 0xbd, 0x2e, 0x5f, 0xfc, 0xe2, 0x17, 0xff, - 0xee, 0xea, 0xd5, 0xab, 0x4f, 0x89, 0x48, 0x62, 0xad, 0x4d, 0x9d, 0x73, 0xa6, 0x2c, 0xcb, 0xe2, - 0x8d, 0x37, 0xde, 0x68, 0x1c, 0x3a, 0x74, 0x68, 0x90, 0x88, 0x48, 0xb3, 0xd1, 0x68, 0xec, 0x68, - 0xb5, 0x5a, 0xb5, 0x2c, 0xcb, 0xe2, 0x24, 0x49, 0x82, 0xb5, 0xb6, 0xe8, 0xf5, 0x7a, 0xc9, 0x8e, - 0x1d, 0x3b, 0x92, 0x34, 0x4d, 0xa9, 0x73, 0x00, 0xd8, 0x66, 0xc3, 0xe1, 0x50, 0x76, 0xee, 0xdc, - 0x99, 0x34, 0x9b, 0xcd, 0x7b, 0xfa, 0xfd, 0xfe, 0x1f, 0x9c, 0x73, 0x69, 0x55, 0x55, 0x71, 0xbf, - 0xdf, 0xaf, 0xfa, 0xfd, 0xfe, 0x98, 0x88, 0x6c, 0x24, 0x53, 0x53, 0x53, 0xb5, 0x24, 0x49, 0xea, - 0xb5, 0x5a, 0x2d, 0xcd, 0xb2, 0xcc, 0x6c, 0x5e, 0xcf, 0xbc, 0xac, 0xaa, 0xea, 0xd0, 0x85, 0x0b, - 0x17, 0xe4, 0xa7, 0x3f, 0xfd, 0xe9, 0x76, 0xaf, 0x03, 0x00, 0x20, 0x22, 0x4f, 0x3c, 0xf1, 0x84, - 0x14, 0x45, 0xf1, 0xcf, 0x8d, 0x31, 0x17, 0x9d, 0x73, 0x35, 0x6b, 0x6d, 0x5c, 0x55, 0x55, 0xe9, - 0xbd, 0xaf, 0x77, 0xbb, 0xdd, 0x34, 0xd9, 0xb9, 0x73, 0x67, 0x3d, 0xcf, 0xf3, 0x34, 0xcb, 0xb2, - 0x28, 0x8a, 0x22, 0x09, 0x21, 0x38, 0x6b, 0x6d, 0xb1, 0x7f, 0xff, 0xfe, 0xc3, 0x57, 0xae, 0x5c, - 0xa1, 0xce, 0x01, 0xe0, 0x16, 0xf1, 0xe7, 0x3f, 0xff, 0x59, 0x0e, 0x1c, 0x38, 0xb0, 0xfc, 0xe2, - 0x8b, 0x2f, 0x26, 0x21, 0x84, 0xc4, 0x7b, 0x1f, 0x59, 0x6b, 0xeb, 0xc3, 0xe1, 0xb0, 0x71, 0xe9, - 0xd2, 0xa5, 0x7a, 0xb2, 0xf9, 0xd1, 0xfe, 0x2c, 0x8e, 0x63, 0x63, 0x8c, 0x71, 0xd6, 0xda, 0x50, - 0x55, 0xd5, 0xa8, 0x28, 0x8a, 0xfc, 0xc7, 0x3f, 0xfe, 0x31, 0xfb, 0xe7, 0x00, 0x70, 0x8b, 0x98, - 0x9e, 0x9e, 0x96, 0x47, 0x1e, 0x79, 0xa4, 0x2e, 0x22, 0x12, 0x42, 0x88, 0xad, 0xb5, 0xb1, 0x73, - 0x2e, 0x1f, 0x8d, 0x46, 0xf5, 0x6b, 0xd7, 0xae, 0x35, 0x93, 0x56, 0xab, 0xd5, 0x6e, 0xb5, 0x5a, - 0xb5, 0x34, 0x4d, 0xe3, 0x38, 0x8e, 0xbd, 0xf7, 0xbe, 0x74, 0xce, 0xf5, 0x0e, 0x1f, 0x3e, 0xdc, - 0x19, 0x1f, 0x1f, 0xa7, 0xd0, 0x01, 0xe0, 0x16, 0x51, 0xaf, 0xd7, 0xe5, 0xd0, 0xa1, 0x43, 0xe3, - 0xe7, 0xcf, 0x9f, 0xb7, 0xe6, 0xc6, 0xad, 0xe1, 0xb2, 0xb2, 0x2c, 0x65, 0x30, 0x18, 0x8c, 0xf5, - 0xfb, 0xfd, 0x1d, 0x49, 0x1c, 0xc7, 0x79, 0x96, 0x65, 0x71, 0x1c, 0xc7, 0x21, 0x8a, 0x22, 0x6f, - 0xad, 0x2d, 0xbd, 0xf7, 0xc3, 0x10, 0x82, 0x7c, 0xff, 0xfb, 0xdf, 0x97, 0xa2, 0x28, 0xb6, 0x7b, - 0x0d, 0x00, 0x00, 0x11, 0x69, 0x36, 0x9b, 0x72, 0xe2, 0xc4, 0x09, 0x11, 0xb9, 0x51, 0xe8, 0x65, - 0x59, 0xe6, 0xb5, 0x5a, 0x2d, 0x76, 0xce, 0x95, 0xce, 0xb9, 0x66, 0x12, 0x45, 0x91, 0x89, 0xe3, - 0x38, 0x18, 0x63, 0x5c, 0x08, 0xc1, 0x86, 0x10, 0xca, 0x10, 0xc2, 0xd0, 0x18, 0x23, 0xf7, 0xdf, - 0x7f, 0xff, 0x36, 0x1f, 0x3e, 0x00, 0xe0, 0x5d, 0x24, 0x21, 0x84, 0x3c, 0x84, 0x50, 0xb3, 0xd6, - 0x56, 0xce, 0xb9, 0xba, 0xf7, 0xbe, 0x96, 0xc8, 0x8d, 0x8b, 0xba, 0x58, 0xef, 0xbd, 0xf5, 0xde, - 0x47, 0x21, 0x84, 0x6a, 0xeb, 0x0e, 0xd3, 0xec, 0x9f, 0x03, 0xc0, 0x2d, 0x29, 0xf3, 0xde, 0x67, - 0xde, 0xfb, 0x4c, 0x6e, 0x5c, 0x35, 0x37, 0x89, 0xa2, 0x28, 0x4d, 0x42, 0x08, 0x7e, 0xf3, 0x6e, - 0xd2, 0x5e, 0x44, 0x9c, 0xf7, 0x7e, 0xeb, 0x6b, 0xf6, 0xcf, 0x01, 0xe0, 0x16, 0x14, 0x42, 0x88, - 0x45, 0x24, 0xde, 0x8c, 0xf0, 0x58, 0x44, 0x22, 0x91, 0xf7, 0xb9, 0x49, 0xb4, 0x08, 0x85, 0x0e, - 0x00, 0xb7, 0xa8, 0x48, 0x44, 0x22, 0x63, 0x4c, 0x14, 0x42, 0x30, 0x21, 0x84, 0x28, 0x84, 0x10, - 0xbd, 0xef, 0x40, 0xa7, 0xd0, 0x01, 0xe0, 0x6f, 0x07, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, - 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, - 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, - 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, - 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, - 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, - 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, - 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, - 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0x04, 0x85, 0x0e, - 0x00, 0x4a, 0x50, 0xe8, 0x00, 0xa0, 0xc4, 0x7b, 0x0d, 0x74, 0x2f, 0x42, 0xa1, 0x03, 0xc0, 0xdf, - 0x92, 0x44, 0x44, 0x24, 0x6c, 0x12, 0x11, 0x89, 0xa2, 0x28, 0x38, 0xe7, 0x44, 0x84, 0x42, 0x07, - 0x80, 0x5b, 0x55, 0x08, 0xc1, 0xbc, 0xfd, 0x67, 0x89, 0x31, 0x26, 0x44, 0x51, 0xe4, 0x45, 0xc4, - 0x87, 0x10, 0x9c, 0xf7, 0xde, 0xcb, 0x66, 0xa1, 0xff, 0xfa, 0xd7, 0xbf, 0x96, 0xaa, 0xaa, 0x3e, - 0xec, 0xe3, 0x04, 0x00, 0xbc, 0x8f, 0x10, 0x42, 0x2c, 0x22, 0x91, 0xf7, 0x3e, 0x12, 0x91, 0xc8, - 0x6c, 0x4a, 0xbc, 0xf7, 0x23, 0xe7, 0x5c, 0xe9, 0x9c, 0xab, 0xac, 0xb5, 0x41, 0x44, 0xaa, 0x10, - 0x82, 0x13, 0x11, 0x79, 0xe8, 0xa1, 0x87, 0xa4, 0xd7, 0xeb, 0x6d, 0xeb, 0x81, 0x03, 0x00, 0x6e, - 0xa8, 0xd5, 0x6a, 0x22, 0x22, 0x12, 0x42, 0xc8, 0x9d, 0x73, 0xa9, 0x31, 0x26, 0x36, 0xc6, 0xd8, - 0x28, 0x8a, 0x24, 0x8e, 0x63, 0x97, 0x88, 0xc8, 0xa0, 0x28, 0x8a, 0xbe, 0x73, 0x2e, 0x77, 0xce, - 0xe5, 0x71, 0x1c, 0xdb, 0xad, 0xed, 0x97, 0xb3, 0x67, 0xcf, 0xca, 0xc5, 0x8b, 0x17, 0xb7, 0xf1, - 0xf0, 0x01, 0x00, 0x5b, 0x96, 0x96, 0x96, 0x44, 0x44, 0x24, 0x84, 0xd0, 0x70, 0xce, 0xd5, 0xd2, - 0x34, 0x8d, 0xe3, 0x38, 0x2e, 0xb3, 0x2c, 0xb3, 0xc6, 0x98, 0x32, 0x59, 0x5b, 0x5b, 0x5b, 0x6b, - 0xb7, 0xdb, 0xe3, 0x65, 0x59, 0xd6, 0xaa, 0xaa, 0xf2, 0x51, 0x14, 0x89, 0x88, 0xc8, 0x95, 0x2b, - 0x57, 0xd6, 0x1e, 0x7e, 0xf8, 0xe1, 0xce, 0xef, 0x7e, 0xf7, 0xbb, 0xed, 0x3c, 0x7e, 0x00, 0xc0, - 0xa6, 0x07, 0x1f, 0x7c, 0x50, 0x2e, 0x5f, 0xbe, 0xbc, 0x5e, 0x55, 0x55, 0xd3, 0x7b, 0x5f, 0x8b, - 0xa2, 0xc8, 0x65, 0x59, 0xe6, 0x9b, 0xcd, 0x66, 0x39, 0x36, 0x36, 0xb6, 0x91, 0xac, 0xae, 0xae, - 0xf6, 0x66, 0x66, 0x66, 0x7a, 0x55, 0x55, 0xb5, 0xac, 0xb5, 0x26, 0x4d, 0xd3, 0xd8, 0x18, 0x13, - 0xde, 0x78, 0xe3, 0x8d, 0x61, 0x9e, 0xe7, 0x1d, 0xde, 0xe9, 0x02, 0x00, 0xb7, 0x86, 0x4f, 0x7f, - 0xfa, 0xd3, 0x72, 0xed, 0xda, 0xb5, 0xc2, 0x7b, 0xdf, 0xb0, 0xd6, 0xa6, 0xc6, 0x18, 0x49, 0x92, - 0x44, 0xf2, 0x3c, 0xb7, 0x13, 0x13, 0x13, 0xfd, 0xe4, 0xf2, 0xe5, 0xcb, 0xc3, 0x7d, 0xfb, 0xf6, - 0x0d, 0xaa, 0xaa, 0x1a, 0x39, 0xe7, 0xd2, 0x10, 0x42, 0x22, 0x22, 0xa1, 0xaa, 0xaa, 0x17, 0x3e, - 0xfa, 0xd1, 0x8f, 0xce, 0xf1, 0x4e, 0x17, 0x00, 0xb8, 0x35, 0xdc, 0x7b, 0xef, 0xbd, 0xf2, 0xfb, - 0xdf, 0xff, 0xfe, 0x25, 0x6b, 0x6d, 0x1e, 0x42, 0x48, 0x92, 0x24, 0xa9, 0xd2, 0x34, 0x0d, 0x59, - 0x96, 0x95, 0xbb, 0x76, 0xed, 0x1a, 0x25, 0xdd, 0x6e, 0xb7, 0x74, 0xce, 0x8d, 0xaa, 0xaa, 0x1a, - 0x3a, 0xe7, 0x32, 0xe7, 0x9c, 0x4f, 0x92, 0xc4, 0x5d, 0xba, 0x74, 0xe9, 0xe7, 0x07, 0x0e, 0x1c, - 0xf8, 0xcc, 0xf3, 0xcf, 0x3f, 0xcf, 0x89, 0x51, 0x00, 0xd8, 0x66, 0xcd, 0x66, 0x53, 0x26, 0x26, - 0x26, 0xe4, 0xea, 0xd5, 0xab, 0xbf, 0x77, 0xce, 0xe5, 0xc6, 0x98, 0x38, 0x8e, 0x63, 0xa9, 0xd5, - 0x6a, 0x55, 0x92, 0x24, 0xc3, 0xa9, 0xa9, 0xa9, 0x51, 0x22, 0x22, 0xe5, 0x60, 0x30, 0xe8, 0x8e, - 0x46, 0xa3, 0x76, 0x59, 0x96, 0x59, 0xbd, 0x5e, 0x97, 0x10, 0x82, 0x6b, 0xb7, 0xdb, 0x67, 0x42, - 0x08, 0xf6, 0x0b, 0x5f, 0xf8, 0x42, 0xf2, 0xdb, 0xdf, 0xfe, 0x76, 0xbb, 0xd7, 0x02, 0x00, 0xb7, - 0xb5, 0xe3, 0xc7, 0x8f, 0xcb, 0xfa, 0xfa, 0xba, 0xed, 0x76, 0xbb, 0xae, 0xaa, 0xaa, 0x46, 0xa3, - 0xd1, 0x70, 0x79, 0x9e, 0xfb, 0x46, 0xa3, 0x31, 0x6a, 0x34, 0x1a, 0xd7, 0x45, 0xa4, 0x9f, 0x88, - 0x48, 0xb5, 0xb6, 0xb6, 0x36, 0x98, 0x9e, 0x9e, 0xee, 0x5b, 0x6b, 0x6b, 0x65, 0x59, 0x9a, 0x24, - 0x49, 0xc4, 0x18, 0xe3, 0x9f, 0x7b, 0xee, 0xb9, 0x67, 0x96, 0x97, 0x97, 0x1f, 0x7e, 0xea, 0xa9, - 0xa7, 0xb6, 0x7b, 0x2d, 0x00, 0x70, 0xdb, 0xaa, 0xd7, 0xeb, 0xf2, 0xc4, 0x13, 0x4f, 0xc8, 0xb3, - 0xcf, 0x3e, 0xfb, 0xbf, 0xcb, 0xb2, 0x6c, 0x79, 0xef, 0x93, 0x24, 0x49, 0x6c, 0xad, 0x56, 0x2b, - 0x1b, 0x8d, 0x46, 0x7f, 0xd7, 0xae, 0x5d, 0xab, 0x22, 0x32, 0x48, 0x44, 0xc4, 0x9d, 0x39, 0x73, - 0x66, 0xb0, 0x77, 0xef, 0xde, 0xbe, 0xb5, 0xb6, 0xee, 0x9c, 0x33, 0xde, 0xfb, 0x28, 0x8a, 0x22, - 0x1b, 0x45, 0xd1, 0x7f, 0x9a, 0x9f, 0x9f, 0xff, 0x97, 0x5f, 0xfa, 0xd2, 0x97, 0xcc, 0xb9, 0x73, - 0xe7, 0xb6, 0x7b, 0x4d, 0x00, 0x70, 0x5b, 0xba, 0xef, 0xbe, 0xfb, 0x64, 0xd7, 0xae, 0x5d, 0xe1, - 0xd4, 0xa9, 0x53, 0x17, 0x47, 0xa3, 0x51, 0x33, 0x4d, 0x53, 0x9f, 0xe7, 0x79, 0x68, 0x34, 0x1a, - 0x65, 0xad, 0x56, 0xeb, 0xce, 0xcd, 0xcd, 0x6d, 0x88, 0xc8, 0x28, 0x09, 0x21, 0x04, 0x63, 0x4c, - 0xb1, 0xb2, 0xb2, 0x72, 0x7d, 0x7c, 0x7c, 0x3c, 0xad, 0xd7, 0xeb, 0xbe, 0x2c, 0xcb, 0x24, 0x8a, - 0x22, 0xeb, 0xbd, 0x5f, 0xfd, 0xe5, 0x2f, 0x7f, 0xf9, 0xc3, 0xcf, 0x7c, 0xe6, 0x33, 0x7f, 0xff, - 0x9d, 0xef, 0x7c, 0x47, 0x06, 0x83, 0xc1, 0x76, 0xaf, 0x0b, 0x00, 0x6e, 0x2b, 0x3b, 0x76, 0xec, - 0x90, 0x2f, 0x7f, 0xf9, 0xcb, 0xf2, 0xf3, 0x9f, 0xff, 0xfc, 0xd4, 0xda, 0xda, 0x5a, 0xcb, 0x5a, - 0x9b, 0xb6, 0x5a, 0xad, 0x51, 0xab, 0xd5, 0x2a, 0xdb, 0xed, 0x76, 0x77, 0x66, 0x66, 0xe6, 0x4f, - 0xed, 0x76, 0xfb, 0x4d, 0x11, 0x71, 0x5b, 0x17, 0xe7, 0xb2, 0x67, 0xce, 0x9c, 0xe9, 0xdf, 0x79, - 0xe7, 0x9d, 0xd9, 0x68, 0x34, 0x92, 0x34, 0x4d, 0xb3, 0x2c, 0xcb, 0x7c, 0x1c, 0xc7, 0xc3, 0x28, - 0x8a, 0x1e, 0x8f, 0xe3, 0xf8, 0x53, 0xdf, 0xfc, 0xe6, 0x37, 0xeb, 0x3f, 0xf8, 0xc1, 0x0f, 0xa4, - 0x2c, 0xcb, 0xed, 0x5c, 0x1b, 0x00, 0xdc, 0x36, 0xe2, 0x38, 0x96, 0xcf, 0x7d, 0xee, 0x73, 0x92, - 0x24, 0xc9, 0xf0, 0xfc, 0xf9, 0xf3, 0xd7, 0x86, 0xc3, 0x61, 0x2b, 0xcf, 0x73, 0x97, 0xe7, 0xb9, - 0xdf, 0xb1, 0x63, 0xc7, 0xa8, 0xd9, 0x6c, 0xae, 0x2f, 0x2e, 0x2e, 0xfe, 0x59, 0x44, 0x36, 0x44, - 0xde, 0x72, 0x71, 0x2e, 0x63, 0xcc, 0xe8, 0xd2, 0xa5, 0x4b, 0xdd, 0x46, 0xa3, 0x21, 0x79, 0x9e, - 0xd7, 0x93, 0x24, 0x09, 0x79, 0x9e, 0x8f, 0x9c, 0x73, 0xc5, 0x33, 0xcf, 0x3c, 0xf3, 0x77, 0x9f, - 0xfd, 0xec, 0x67, 0x7f, 0xf1, 0xd2, 0x4b, 0x2f, 0x99, 0x6f, 0x7f, 0xfb, 0xdb, 0xdb, 0xba, 0x40, - 0x00, 0xb8, 0x1d, 0xa4, 0x69, 0x2a, 0x5f, 0xfd, 0xea, 0x57, 0xe5, 0xe0, 0xc1, 0x83, 0xe1, 0xe9, - 0xa7, 0x9f, 0x7e, 0xa6, 0xdb, 0xed, 0xb6, 0x8d, 0x31, 0x26, 0xcb, 0x32, 0xdb, 0xe9, 0x74, 0x8a, - 0x4e, 0xa7, 0x73, 0x7d, 0x61, 0x61, 0x61, 0xa5, 0xd3, 0xe9, 0xfc, 0x51, 0x44, 0xac, 0xc8, 0x5b, - 0x2e, 0x9f, 0x1b, 0x42, 0x70, 0xc6, 0x98, 0xd1, 0xbe, 0x7d, 0xfb, 0x62, 0x6b, 0xad, 0x35, 0xc6, - 0x84, 0x3c, 0xcf, 0x6d, 0x14, 0x45, 0xd5, 0xe4, 0xe4, 0xe4, 0x3f, 0xbc, 0xf0, 0xc2, 0x0b, 0xff, - 0xe6, 0xf3, 0x9f, 0xff, 0xfc, 0xff, 0x38, 0x78, 0xf0, 0xa0, 0xf9, 0xc9, 0x4f, 0x7e, 0x22, 0xfd, - 0x7e, 0x7f, 0xdb, 0x16, 0x0a, 0x00, 0x9a, 0x65, 0x59, 0x26, 0x0f, 0x3f, 0xfc, 0xb0, 0x2c, 0x2f, - 0x2f, 0x87, 0x93, 0x27, 0x4f, 0xfe, 0xe0, 0x95, 0x57, 0x5e, 0x99, 0x70, 0xce, 0xc5, 0x8d, 0x46, - 0xa3, 0x9c, 0x98, 0x98, 0x28, 0x3a, 0x9d, 0x4e, 0xaf, 0xd5, 0x6a, 0xbd, 0xb9, 0xb8, 0xb8, 0x78, - 0x45, 0x44, 0xae, 0x6f, 0x3d, 0xcf, 0x6c, 0x5e, 0xb6, 0xe5, 0xc6, 0x37, 0xc6, 0x98, 0xfd, 0xfb, - 0xf7, 0x67, 0x0f, 0x3e, 0xf8, 0x60, 0x36, 0x39, 0x39, 0x29, 0xd3, 0xd3, 0xd3, 0x3e, 0xcf, 0x73, - 0xfb, 0xe6, 0x9b, 0x6f, 0x3a, 0x11, 0x89, 0xba, 0xdd, 0xee, 0xe7, 0xee, 0xbf, 0xff, 0xfe, 0xff, - 0x2a, 0x22, 0xf5, 0x27, 0x9f, 0x7c, 0x52, 0x7e, 0xf3, 0x9b, 0xdf, 0x7c, 0xf8, 0x2b, 0x05, 0x00, - 0xa5, 0xd2, 0x34, 0x95, 0x7b, 0xef, 0xbd, 0x57, 0x4e, 0x9c, 0x38, 0x21, 0xc6, 0x98, 0xe1, 0x73, - 0xcf, 0x3d, 0xf7, 0xd3, 0xf3, 0xe7, 0xcf, 0xef, 0xa8, 0xaa, 0x2a, 0xad, 0xd7, 0xeb, 0xd5, 0xcc, - 0xcc, 0x4c, 0xf7, 0xce, 0x3b, 0xef, 0x7c, 0x7d, 0x7e, 0x7e, 0xfe, 0xd5, 0xe5, 0xe5, 0xe5, 0x7f, - 0x38, 0x74, 0xe8, 0xd0, 0xf3, 0x22, 0xb2, 0xba, 0xf5, 0xfc, 0xbf, 0x1a, 0xe8, 0x22, 0x37, 0x86, - 0xfa, 0x27, 0x3f, 0xf9, 0xc9, 0xf8, 0xc0, 0x81, 0x03, 0x66, 0x6e, 0x6e, 0xce, 0x1c, 0x3e, 0x7c, - 0xd8, 0xad, 0xad, 0xad, 0x45, 0x57, 0xaf, 0x5e, 0x8d, 0x45, 0x24, 0x49, 0xd3, 0x74, 0x7e, 0xcf, - 0x9e, 0x3d, 0xff, 0xfd, 0xe0, 0xc1, 0x83, 0xf7, 0xbc, 0xfe, 0xfa, 0xeb, 0x72, 0xee, 0xdc, 0x39, - 0xb9, 0x70, 0xe1, 0x82, 0x5c, 0xbd, 0x7a, 0x55, 0xba, 0xdd, 0xee, 0x87, 0xbc, 0x7c, 0x00, 0xf8, - 0xdb, 0x15, 0x45, 0x91, 0x34, 0x9b, 0x4d, 0x99, 0x9d, 0x9d, 0x95, 0x03, 0x07, 0x0e, 0xc8, 0x91, - 0x23, 0x47, 0x64, 0x6a, 0x6a, 0x4a, 0x5e, 0x78, 0xe1, 0x85, 0xb3, 0xa7, 0x4f, 0x9f, 0x7e, 0x69, - 0x65, 0x65, 0x65, 0xb2, 0x2c, 0xcb, 0x3c, 0xcb, 0x32, 0x37, 0x33, 0x33, 0xd3, 0x5b, 0x58, 0x58, - 0xb8, 0xb6, 0xb0, 0xb0, 0x70, 0xe9, 0xe8, 0xd1, 0xa3, 0xff, 0x67, 0x69, 0x69, 0xe9, 0xb4, 0x88, - 0xbc, 0x26, 0x22, 0xff, 0x38, 0xc4, 0xdf, 0x31, 0xd0, 0xdf, 0xc6, 0x7c, 0xef, 0x7b, 0xdf, 0x8b, - 0xce, 0x9e, 0x3d, 0x1b, 0xcb, 0x8d, 0xed, 0x99, 0x9a, 0x88, 0x34, 0x44, 0xa4, 0x31, 0x1c, 0x0e, - 0x17, 0x5a, 0xad, 0xd6, 0x97, 0x17, 0x16, 0x16, 0x8e, 0xef, 0xd9, 0xb3, 0x67, 0x7c, 0x6c, 0x6c, - 0xec, 0x1d, 0x17, 0x5b, 0x07, 0x00, 0x7c, 0xb0, 0x5e, 0xaf, 0x17, 0x56, 0x56, 0x56, 0xae, 0xbf, - 0xfa, 0xea, 0xab, 0xa7, 0xaf, 0x5f, 0xbf, 0x7e, 0x6e, 0x7d, 0x7d, 0x7d, 0xbc, 0xdb, 0xed, 0x8e, - 0x8f, 0x46, 0xa3, 0x46, 0x92, 0x24, 0x61, 0x7a, 0x7a, 0xba, 0x3f, 0x3f, 0x3f, 0xbf, 0x3a, 0x3f, - 0x3f, 0x7f, 0x79, 0x69, 0x69, 0xe9, 0xf9, 0xe5, 0xe5, 0xe5, 0xd3, 0x22, 0xb2, 0x22, 0x9b, 0xf7, - 0xae, 0xd8, 0xf2, 0x81, 0x03, 0xfd, 0xeb, 0x5f, 0xff, 0xba, 0x99, 0x9b, 0x9b, 0x8b, 0xd7, 0xd7, - 0xd7, 0x6b, 0x83, 0xc1, 0xa0, 0x5e, 0x14, 0xc5, 0x78, 0x9a, 0xa6, 0x3b, 0x44, 0x64, 0x3c, 0x84, - 0x30, 0x26, 0x22, 0xb5, 0xcd, 0x8b, 0xad, 0xdb, 0xcd, 0xe7, 0x44, 0x21, 0x84, 0x54, 0x44, 0x92, - 0x77, 0xbb, 0xa3, 0x06, 0x00, 0xdc, 0xee, 0x8c, 0x31, 0x26, 0x84, 0x10, 0x87, 0x10, 0x72, 0xef, - 0x7d, 0xd3, 0x5a, 0xdb, 0xac, 0xaa, 0xaa, 0x61, 0xad, 0xad, 0x57, 0x55, 0xd5, 0x18, 0x8d, 0x46, - 0xcd, 0xa2, 0x28, 0xf2, 0x28, 0x8a, 0xa2, 0x89, 0x89, 0x89, 0x62, 0xcf, 0x9e, 0x3d, 0x6b, 0x7b, - 0xf7, 0xee, 0x5d, 0xb9, 0xfb, 0xee, 0xbb, 0x7f, 0xfb, 0x5e, 0xc3, 0x5c, 0xe4, 0x83, 0x07, 0xba, - 0xc8, 0x8d, 0x4a, 0x4f, 0xd7, 0xd6, 0xd6, 0xea, 0xbd, 0x5e, 0xaf, 0x55, 0x55, 0xd5, 0x44, 0x55, - 0x55, 0x1d, 0x6b, 0xed, 0x84, 0x73, 0xae, 0xed, 0xbd, 0xdf, 0x1a, 0xe8, 0xd1, 0xe6, 0x01, 0xa6, - 0x22, 0x92, 0x7a, 0xef, 0x19, 0xe8, 0x00, 0xf0, 0xde, 0x92, 0x10, 0x42, 0xe2, 0x9c, 0xab, 0x55, - 0x55, 0x55, 0xf3, 0xde, 0x67, 0xde, 0xfb, 0x34, 0x84, 0x90, 0x1a, 0x63, 0xe2, 0x34, 0x4d, 0xa3, - 0x46, 0xa3, 0x61, 0xa7, 0xa6, 0xa6, 0xba, 0x33, 0x33, 0x33, 0x57, 0x8f, 0x1e, 0x3d, 0x7a, 0x7a, - 0x69, 0x69, 0xe9, 0x8c, 0xbc, 0xc7, 0x30, 0x17, 0xb9, 0xb9, 0x81, 0x2e, 0x22, 0x12, 0x7f, 0xf7, - 0xbb, 0xdf, 0x6d, 0x16, 0x45, 0xd1, 0x1a, 0x8d, 0x46, 0x9d, 0xb2, 0x2c, 0x27, 0xac, 0xb5, 0x13, - 0xd6, 0xda, 0xb6, 0x73, 0xae, 0xe6, 0x9c, 0xcb, 0xac, 0xb5, 0x99, 0xb5, 0x36, 0x73, 0xce, 0xe5, - 0xde, 0xfb, 0x44, 0x44, 0xe2, 0xcd, 0xdb, 0x23, 0x01, 0x00, 0xde, 0x26, 0x84, 0x10, 0x1b, 0x63, - 0x62, 0x11, 0x89, 0xe3, 0x38, 0x8e, 0x8d, 0x31, 0x71, 0x14, 0x45, 0x26, 0x4d, 0x53, 0x93, 0x65, - 0x99, 0xd4, 0x6a, 0x35, 0x37, 0x36, 0x36, 0x36, 0x1c, 0x1f, 0x1f, 0x7f, 0xe3, 0xe0, 0xc1, 0x83, - 0x2f, 0x2e, 0x2f, 0x2f, 0xff, 0x4e, 0x6e, 0xec, 0x99, 0xbf, 0xeb, 0x30, 0x17, 0xb9, 0xf9, 0x81, - 0x6e, 0x2e, 0x5e, 0xbc, 0x98, 0x9f, 0x3e, 0x7d, 0xba, 0x69, 0x8c, 0x19, 0xdb, 0xd8, 0xd8, 0xe8, - 0x14, 0x45, 0xd1, 0xa9, 0xaa, 0xaa, 0xed, 0x9c, 0xab, 0x57, 0x55, 0x55, 0xdb, 0x7c, 0xd4, 0x9d, - 0x73, 0xf9, 0x66, 0xa5, 0x47, 0x9b, 0x0f, 0x00, 0xc0, 0xdb, 0x78, 0xef, 0xa3, 0x38, 0x8e, 0x4d, - 0x14, 0x45, 0x51, 0x96, 0x65, 0x3e, 0x49, 0x12, 0x93, 0xa6, 0xa9, 0xcb, 0xf3, 0xdc, 0x8f, 0x8d, - 0x8d, 0x15, 0xcd, 0x66, 0x73, 0x98, 0x65, 0xd9, 0xf5, 0x3b, 0xee, 0xb8, 0xe3, 0xd5, 0x83, 0x07, - 0x0f, 0xfe, 0x3f, 0x11, 0xb9, 0x22, 0x6f, 0x39, 0x01, 0xfa, 0x6e, 0x6e, 0x76, 0xa0, 0x8b, 0xdc, - 0x18, 0xce, 0xe9, 0x2b, 0xaf, 0xbc, 0x52, 0xbb, 0x7c, 0xf9, 0xf2, 0x58, 0xaf, 0xd7, 0x1b, 0x77, - 0xce, 0x35, 0x47, 0xa3, 0x51, 0x63, 0x73, 0xcf, 0xa7, 0x55, 0x96, 0x65, 0xc3, 0x39, 0x57, 0x97, - 0x1b, 0xff, 0x4a, 0x44, 0xc6, 0x18, 0xb6, 0x5c, 0x00, 0xe0, 0x5d, 0x84, 0x10, 0xe2, 0x38, 0x8e, - 0x43, 0x96, 0x65, 0xae, 0xd9, 0x6c, 0x16, 0x59, 0x96, 0xd9, 0x2c, 0xcb, 0xaa, 0x28, 0x8a, 0x46, - 0xe3, 0xe3, 0xe3, 0xd7, 0x27, 0x27, 0x27, 0xd7, 0xa7, 0xa7, 0xa7, 0xd7, 0xa6, 0xa6, 0xa6, 0x5e, - 0x17, 0x91, 0x35, 0xf9, 0x80, 0x61, 0x2e, 0xf2, 0x4f, 0x1b, 0xe8, 0x5b, 0x62, 0x11, 0xc9, 0x44, - 0x24, 0xef, 0x76, 0xbb, 0xe9, 0xe5, 0xcb, 0x97, 0xeb, 0xab, 0xab, 0xab, 0xad, 0x8d, 0x8d, 0x8d, - 0x71, 0xe7, 0xdc, 0xd6, 0x6d, 0x91, 0x22, 0x06, 0x3a, 0x00, 0xbc, 0x37, 0xef, 0xbd, 0x89, 0xa2, - 0x28, 0xc4, 0x71, 0x5c, 0xd4, 0xeb, 0xf5, 0xee, 0xec, 0xec, 0x6c, 0x6f, 0xe7, 0xce, 0x9d, 0xc3, - 0xc9, 0xc9, 0xc9, 0x91, 0x88, 0x0c, 0x44, 0xa4, 0x2f, 0x22, 0x23, 0xf9, 0xcb, 0x1b, 0x4e, 0x3e, - 0xd0, 0xff, 0x07, 0x5d, 0x4b, 0x5b, 0xfd, 0x73, 0x94, 0xfd, 0x43, 0x00, 0x00, 0x00, 0x00, 0x49, - 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 -}; -const int Frame_s1_size = sizeof(Frame_s1); diff --git a/source/ngc/png/Frame_s2.c b/source/ngc/png/Frame_s2.c deleted file mode 100644 index 6673f8b..0000000 --- a/source/ngc/png/Frame_s2.c +++ /dev/null @@ -1,226 +0,0 @@ -/* - This file was autogenerated by raw2c. -Visit http://www.devkitpro.org -*/ - -const unsigned char Frame_s2[] = { - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, - 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x01, 0x28, 0x08, 0x06, 0x00, 0x00, 0x00, 0x75, 0x98, 0x3c, - 0x90, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x12, 0x00, 0x00, 0x0b, - 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x30, - 0x36, 0x2f, 0x30, 0x39, 0xb6, 0x25, 0x24, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, - 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, - 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x0c, 0xf3, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xdc, - 0x51, 0x6c, 0x95, 0xe5, 0x1d, 0xc7, 0xf1, 0xdf, 0x7b, 0x7a, 0x5a, 0x4e, 0x29, 0x1d, 0x20, 0xc3, - 0xe2, 0x16, 0xd0, 0xa9, 0xb0, 0x46, 0x61, 0x09, 0x2e, 0x04, 0x97, 0x08, 0x25, 0xf1, 0xc2, 0x1b, - 0x6f, 0x64, 0x62, 0x90, 0x8b, 0x6d, 0x61, 0x6a, 0xb8, 0x50, 0x92, 0x2d, 0xf1, 0x16, 0x17, 0x35, - 0x98, 0x19, 0x6f, 0x5c, 0x32, 0xcd, 0x06, 0x64, 0x2e, 0x24, 0x2b, 0x23, 0x82, 0x18, 0xb2, 0x18, - 0x9b, 0xc5, 0x84, 0xe0, 0x45, 0x43, 0x51, 0x43, 0x23, 0x1d, 0x5a, 0xa8, 0x20, 0x93, 0xa4, 0xe8, - 0x28, 0x50, 0xa0, 0xe7, 0xb4, 0x3d, 0xe7, 0xd9, 0xc5, 0xf3, 0xbe, 0x9c, 0x23, 0xb6, 0x05, 0x23, - 0xb6, 0xf2, 0xf3, 0xfb, 0x49, 0x9e, 0x14, 0xca, 0xa1, 0x9c, 0x6a, 0xfe, 0xfd, 0x3e, 0xef, 0x7b, - 0xde, 0xf7, 0x24, 0x21, 0x04, 0x7d, 0x0d, 0x39, 0x49, 0x05, 0x49, 0xd3, 0xd3, 0x95, 0x4f, 0x3f, - 0x1f, 0xd2, 0x05, 0xe0, 0xfa, 0x09, 0x92, 0x46, 0x25, 0x8d, 0x48, 0xba, 0x24, 0xa9, 0x94, 0xfe, - 0xfe, 0x9a, 0x67, 0x2d, 0x7f, 0xf5, 0x87, 0xa8, 0x4e, 0x52, 0xa3, 0xa4, 0x19, 0xe9, 0x6a, 0x54, - 0x1c, 0xee, 0x46, 0x49, 0xf5, 0xe9, 0x63, 0xca, 0x5f, 0xe7, 0x1f, 0x05, 0x30, 0xa1, 0x6c, 0x96, - 0x2a, 0x92, 0x86, 0x15, 0x87, 0xfb, 0x82, 0xa4, 0x8b, 0x92, 0x8a, 0x8a, 0x83, 0x3e, 0xa2, 0x38, - 0x77, 0x13, 0xba, 0xda, 0x80, 0xcf, 0x94, 0xf4, 0x63, 0x49, 0xcd, 0x8a, 0xc3, 0xdd, 0xa4, 0x38, - 0xd8, 0x0d, 0x8a, 0x83, 0x2f, 0xc5, 0x9f, 0x28, 0xe5, 0xf4, 0xc9, 0x00, 0xf8, 0xe6, 0xb2, 0x1d, - 0x71, 0x45, 0x71, 0x98, 0x87, 0x14, 0xe7, 0xae, 0x51, 0x71, 0xd0, 0x2f, 0x29, 0x0e, 0xfa, 0x70, - 0xba, 0xc6, 0x8d, 0xeb, 0x44, 0x03, 0x3e, 0x47, 0xd2, 0x62, 0x49, 0xf3, 0x25, 0xcd, 0x92, 0x34, - 0x4d, 0x71, 0xa8, 0x13, 0x55, 0xb7, 0x0e, 0xa3, 0xe9, 0x3f, 0x30, 0x2a, 0x06, 0x1c, 0xb8, 0x5e, - 0xb2, 0xe1, 0xae, 0xe8, 0xcb, 0x33, 0x97, 0x49, 0xd2, 0x95, 0x3d, 0x76, 0x44, 0xe3, 0x0c, 0xf9, - 0x78, 0x03, 0x3e, 0x53, 0xd2, 0x12, 0x49, 0x77, 0x49, 0xba, 0x55, 0xb1, 0xdc, 0x52, 0x1c, 0xe4, - 0xa2, 0xe2, 0x56, 0x21, 0xfb, 0xc9, 0x52, 0x14, 0x03, 0x0e, 0x5c, 0x4f, 0x59, 0xc1, 0xcb, 0x8a, - 0xc3, 0x3b, 0x92, 0x7e, 0xbe, 0x4e, 0xf1, 0xb0, 0x38, 0x9f, 0xfe, 0x3a, 0x77, 0xfc, 0xf8, 0xf1, - 0x5c, 0x57, 0x57, 0x57, 0x6e, 0xcd, 0x9a, 0x35, 0x63, 0x6e, 0xd7, 0x93, 0x31, 0x4e, 0xb2, 0xe5, - 0x15, 0xcb, 0xbd, 0x54, 0xd2, 0xdd, 0x92, 0x7e, 0x94, 0x7e, 0xb1, 0x21, 0x49, 0x03, 0xe9, 0x3a, - 0x93, 0xae, 0x0b, 0x8a, 0x03, 0xce, 0x16, 0x1d, 0xb8, 0x7e, 0x6a, 0xb7, 0xe8, 0xd9, 0x6c, 0x55, - 0x14, 0x07, 0xbd, 0xa8, 0xb8, 0x45, 0xbf, 0xd4, 0xdb, 0xdb, 0x5b, 0xda, 0xbb, 0x77, 0xef, 0xc8, - 0xb6, 0x6d, 0xdb, 0xca, 0x3d, 0x3d, 0x3d, 0xe5, 0x10, 0xc2, 0x57, 0x86, 0x7c, 0xac, 0x82, 0xdf, - 0xa4, 0x38, 0xd4, 0xb7, 0x48, 0x9a, 0xad, 0x78, 0xbc, 0x5d, 0x92, 0x74, 0xbe, 0xaf, 0xaf, 0x6f, - 0xf0, 0xfd, 0xf7, 0xdf, 0xff, 0xf5, 0xbc, 0x79, 0xf3, 0x7e, 0x52, 0x28, 0x14, 0xc6, 0xfa, 0xe1, - 0x00, 0xe0, 0x5b, 0x30, 0x34, 0x34, 0x14, 0x4e, 0x9d, 0x3a, 0xd5, 0x97, 0xcf, 0xe7, 0x7f, 0xf7, - 0xf0, 0xc3, 0x0f, 0x77, 0xf6, 0xf5, 0xf5, 0x0d, 0xbf, 0xf9, 0xe6, 0x9b, 0xe5, 0xed, 0xdb, 0xb7, - 0xe7, 0x7a, 0x7a, 0x7a, 0x12, 0x49, 0x49, 0x92, 0x24, 0x21, 0x84, 0xf0, 0xa5, 0xd0, 0x5e, 0x39, - 0xa4, 0xcd, 0x92, 0x7e, 0xa6, 0x58, 0xee, 0x9f, 0x4a, 0xba, 0x59, 0xb1, 0xde, 0x67, 0x5e, 0x7b, - 0xed, 0xb5, 0x5b, 0x5a, 0x5b, 0x5b, 0x57, 0xbf, 0xf3, 0xce, 0x3b, 0x6a, 0x6f, 0x6f, 0xd7, 0xd1, - 0xa3, 0x47, 0x55, 0x2c, 0x16, 0x27, 0xe9, 0xdb, 0x03, 0xbe, 0xbf, 0x0a, 0x85, 0x82, 0x5a, 0x5b, - 0x5b, 0xb5, 0x6e, 0xdd, 0x3a, 0xad, 0x58, 0xb1, 0x42, 0x6f, 0xbf, 0xfd, 0xf6, 0xdf, 0x42, 0x08, - 0x1b, 0x77, 0xec, 0xd8, 0x91, 0x7c, 0xf4, 0xd1, 0x47, 0x39, 0xc5, 0xe3, 0xf1, 0x6c, 0x3b, 0x5f, - 0x0a, 0x35, 0x43, 0x5d, 0x3b, 0xe0, 0x79, 0x49, 0xad, 0xaa, 0x0e, 0xf7, 0x2d, 0x8a, 0x67, 0xed, - 0x2e, 0xed, 0xdd, 0xbb, 0xb7, 0x65, 0xc6, 0x8c, 0x19, 0xab, 0xf7, 0xec, 0xd9, 0xa3, 0x43, 0x87, - 0x0e, 0x4d, 0xe6, 0xf7, 0x06, 0xa0, 0xc6, 0x3d, 0xf7, 0xdc, 0xa3, 0x35, 0x6b, 0xd6, 0xe8, 0xe0, - 0xc1, 0x83, 0x7f, 0xdb, 0xb8, 0x71, 0xe3, 0xef, 0x15, 0xe7, 0x36, 0x51, 0x75, 0x0b, 0x5f, 0x0a, - 0x21, 0x94, 0x2e, 0xff, 0x85, 0x10, 0x42, 0xb6, 0x66, 0x85, 0x10, 0xda, 0x42, 0x08, 0x4f, 0x86, - 0x10, 0x5e, 0x0a, 0x21, 0xfc, 0x25, 0x84, 0xf0, 0xe7, 0x9e, 0x9e, 0x9e, 0xcd, 0x1d, 0x1d, 0x1d, - 0xe5, 0xe5, 0xcb, 0x97, 0x67, 0xc7, 0x05, 0x2c, 0x16, 0x6b, 0x0a, 0xd7, 0x7d, 0xf7, 0xdd, 0x17, - 0x3a, 0x3a, 0x3a, 0x2a, 0x6b, 0xd7, 0xae, 0x7d, 0x40, 0x52, 0x8b, 0xaa, 0x87, 0xd4, 0x73, 0x15, - 0x77, 0xe1, 0x75, 0xd9, 0x5c, 0x67, 0xc7, 0xe0, 0xb9, 0xf4, 0x0f, 0x6f, 0x4a, 0x1f, 0x90, 0x57, - 0x7c, 0xf9, 0xeb, 0x6c, 0x6f, 0x6f, 0xef, 0x93, 0x1f, 0x7f, 0xfc, 0x71, 0xae, 0x50, 0x28, 0xa8, - 0xad, 0xad, 0x4d, 0x00, 0xa6, 0x5e, 0x6f, 0x6f, 0x6f, 0xf2, 0xc8, 0x23, 0x8f, 0xec, 0xd8, 0xb1, - 0x63, 0xc7, 0x5d, 0x4a, 0xcf, 0xa8, 0xa7, 0x1f, 0x83, 0xe2, 0x76, 0xfd, 0x92, 0x54, 0x3d, 0xc9, - 0x96, 0x5d, 0x7e, 0xda, 0x98, 0x3e, 0x70, 0x44, 0xd2, 0xe0, 0xae, 0x5d, 0xbb, 0x7e, 0xd0, 0xd2, - 0xd2, 0x32, 0xeb, 0xb9, 0xe7, 0x9e, 0xd3, 0xf9, 0xf3, 0xe7, 0x27, 0xfb, 0x7b, 0x00, 0x30, 0x8e, - 0x23, 0x47, 0x8e, 0xe8, 0xf5, 0xd7, 0x5f, 0x9f, 0xf5, 0xf8, 0xe3, 0x8f, 0xff, 0x6a, 0xcb, 0x96, - 0x2d, 0x3b, 0x15, 0x5f, 0x3e, 0x0b, 0x8a, 0xdb, 0xf5, 0xd1, 0x24, 0x49, 0x86, 0x43, 0x08, 0xa3, - 0xd9, 0x80, 0x37, 0x29, 0x0e, 0x78, 0x43, 0xfa, 0xa0, 0x4b, 0x92, 0xce, 0x56, 0x2a, 0x95, 0x47, - 0x0f, 0x1e, 0x3c, 0xa8, 0xa5, 0x4b, 0x97, 0x4e, 0xc5, 0xf7, 0x00, 0x60, 0x02, 0x3d, 0x3d, 0x3d, - 0x5a, 0xb9, 0x72, 0xe5, 0x6f, 0xb7, 0x6c, 0xd9, 0xb2, 0x5b, 0x31, 0xd2, 0xd9, 0x05, 0x30, 0x23, - 0x4a, 0xaf, 0x5b, 0xcf, 0x06, 0x7c, 0xba, 0xe2, 0x90, 0xd7, 0x2b, 0x1e, 0xac, 0x5f, 0x90, 0x74, - 0xe6, 0xd6, 0x5b, 0x6f, 0xbd, 0xe3, 0xa9, 0xa7, 0x9e, 0x52, 0x7f, 0x7f, 0xff, 0xe4, 0x3f, 0x7b, - 0x00, 0x13, 0x1a, 0x18, 0x18, 0xd0, 0xd6, 0xad, 0x5b, 0x17, 0x2a, 0xee, 0xba, 0xeb, 0xd3, 0x95, - 0xa8, 0x7a, 0x41, 0xda, 0x50, 0x36, 0xe0, 0x0d, 0xaa, 0x5e, 0x8a, 0x5a, 0x91, 0x34, 0xf4, 0xc6, - 0x1b, 0x6f, 0xfc, 0xa2, 0xb9, 0xb9, 0x59, 0xad, 0xad, 0xad, 0x6a, 0x6d, 0x6d, 0x9d, 0xfc, 0x67, - 0x0f, 0x60, 0x42, 0xb9, 0x5c, 0x4e, 0xa5, 0x52, 0x49, 0x9b, 0x36, 0x6d, 0xda, 0xf0, 0xec, 0xb3, - 0xcf, 0xfe, 0x53, 0xd5, 0x1d, 0x78, 0x83, 0xd2, 0xc3, 0xef, 0xcb, 0x97, 0xbc, 0xa9, 0x7a, 0xf3, - 0x48, 0x90, 0x34, 0xfa, 0xd9, 0x67, 0x9f, 0xdd, 0x7d, 0xfe, 0xfc, 0x79, 0xed, 0xdb, 0xb7, 0x6f, - 0x0a, 0x9e, 0x3a, 0x80, 0x6b, 0x71, 0xf8, 0xf0, 0x61, 0xe5, 0x72, 0xb9, 0x9f, 0x4b, 0x7a, 0x5d, - 0xb1, 0xe0, 0x65, 0xc5, 0xb9, 0xce, 0x25, 0x49, 0x92, 0xcb, 0x6b, 0xec, 0x9b, 0x48, 0x46, 0x16, - 0x2c, 0x58, 0xb0, 0xf8, 0xc0, 0x81, 0x03, 0x9c, 0x39, 0x07, 0xbe, 0xc3, 0x06, 0x07, 0x07, 0xb5, - 0x64, 0xc9, 0x92, 0x25, 0xaa, 0x1e, 0x7f, 0x67, 0xb1, 0xae, 0x93, 0x54, 0x97, 0x57, 0x3c, 0x38, - 0x2f, 0xa8, 0xfa, 0x82, 0xf9, 0xa8, 0xa4, 0xe1, 0xe1, 0xe1, 0xe1, 0x69, 0xbb, 0x76, 0xed, 0xd2, - 0x91, 0x23, 0x47, 0xa6, 0xe6, 0x99, 0x03, 0xb8, 0xaa, 0x5c, 0x2e, 0xa7, 0x0d, 0x1b, 0x36, 0x4c, - 0x53, 0x3c, 0xb4, 0x0e, 0x8a, 0x83, 0x9d, 0x57, 0xdc, 0xa6, 0x37, 0xe4, 0x55, 0x3d, 0xc1, 0xd6, - 0xa0, 0x38, 0xfd, 0x25, 0x49, 0x17, 0x6f, 0xbb, 0xed, 0xb6, 0xc6, 0x05, 0x0b, 0x16, 0xa8, 0xa5, - 0xa5, 0x65, 0x6a, 0x9e, 0x39, 0x80, 0xab, 0x9a, 0x3b, 0x77, 0xae, 0x6e, 0xbf, 0xfd, 0xf6, 0x46, - 0xc5, 0x33, 0xe7, 0xd9, 0x7b, 0x35, 0x64, 0x2f, 0x7b, 0x17, 0xf2, 0x8a, 0xd3, 0x5e, 0xaf, 0x38, - 0xdc, 0xd9, 0x0d, 0xe6, 0xc5, 0x10, 0x82, 0x3a, 0x3a, 0x3a, 0xa6, 0xe6, 0x59, 0x03, 0xb8, 0x26, - 0x4d, 0x4d, 0x4d, 0x7a, 0xfa, 0xe9, 0xa7, 0xa5, 0x58, 0xef, 0x9c, 0xe2, 0x21, 0x77, 0x45, 0xe9, - 0x3b, 0x2e, 0x65, 0xdb, 0xf2, 0xec, 0x5a, 0xd6, 0xec, 0x0d, 0x1c, 0x4a, 0x49, 0x92, 0x70, 0xfc, - 0x0d, 0xdc, 0x38, 0xea, 0x54, 0xad, 0x77, 0x50, 0x1c, 0xf4, 0xfa, 0xbc, 0xaa, 0x97, 0xb6, 0x8d, - 0xa8, 0xfa, 0x06, 0x6f, 0xe5, 0x10, 0x02, 0x67, 0xd0, 0x81, 0x1b, 0x47, 0xf6, 0x3a, 0x78, 0x83, - 0xe2, 0x1c, 0xe7, 0x25, 0x25, 0xd9, 0x80, 0x67, 0x37, 0x94, 0x5f, 0xbe, 0xb9, 0x9c, 0x82, 0x03, - 0x37, 0x94, 0xba, 0x2b, 0x56, 0x4e, 0xe9, 0x80, 0x8f, 0x89, 0x82, 0x03, 0x37, 0x94, 0xec, 0x25, - 0xb2, 0xec, 0xfe, 0xf0, 0x44, 0x13, 0x0d, 0x38, 0x05, 0x07, 0x6e, 0x7c, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, - 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, - 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, - 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, - 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, - 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, - 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, 0x14, 0x1c, 0x30, 0x46, 0xc1, 0x01, 0x63, - 0x57, 0x0e, 0x78, 0xc8, 0x3e, 0x52, 0x70, 0xe0, 0xc6, 0x97, 0x57, 0x1c, 0xea, 0x6c, 0x29, 0xfb, - 0x48, 0xc1, 0x81, 0x1b, 0x4e, 0x72, 0xe5, 0x27, 0xb2, 0x82, 0x07, 0x49, 0x15, 0x49, 0xe5, 0xf4, - 0x63, 0x85, 0x82, 0x03, 0x37, 0x94, 0x3a, 0x49, 0xb9, 0x9a, 0x95, 0x48, 0x71, 0xc0, 0x47, 0x25, - 0x0d, 0xa7, 0x2b, 0xfb, 0x7d, 0x45, 0x92, 0x56, 0xad, 0x5a, 0xa5, 0x10, 0xc2, 0x58, 0x5f, 0x0c, - 0xc0, 0x77, 0x40, 0xa1, 0x50, 0xc8, 0x7e, 0xd9, 0x90, 0xae, 0x3a, 0xc5, 0xe1, 0xae, 0x48, 0xaa, - 0xe4, 0x25, 0x8d, 0x48, 0x1a, 0x92, 0x54, 0x4c, 0xff, 0x70, 0x54, 0xe9, 0x36, 0xbd, 0xbb, 0xbb, - 0x5b, 0x67, 0xce, 0x9c, 0x99, 0xe4, 0xa7, 0x0c, 0xe0, 0x5a, 0x2d, 0x5c, 0xb8, 0x30, 0xfb, 0x65, - 0xa3, 0xa4, 0x69, 0x8a, 0x33, 0x1c, 0x14, 0xe7, 0x7a, 0x34, 0xaf, 0x38, 0xdc, 0x17, 0x24, 0x4d, - 0x57, 0x4d, 0xde, 0x4f, 0x9f, 0x3e, 0x3d, 0xb4, 0x7a, 0xf5, 0xea, 0xc6, 0xde, 0xde, 0xde, 0x49, - 0x7f, 0xd2, 0x00, 0xae, 0xcd, 0xd2, 0xa5, 0x4b, 0xd5, 0xdf, 0xdf, 0x3f, 0x24, 0xa9, 0x49, 0x52, - 0x41, 0xe9, 0x60, 0x4b, 0xba, 0x24, 0x69, 0x28, 0xaf, 0xb8, 0x35, 0x2f, 0x29, 0x16, 0x7c, 0x9a, - 0xa4, 0x7a, 0x49, 0xb9, 0x81, 0x81, 0x81, 0x52, 0xa9, 0x54, 0x6a, 0xe4, 0x38, 0x1c, 0xf8, 0xee, - 0x5a, 0xb6, 0x6c, 0x99, 0x3e, 0xff, 0xfc, 0xf3, 0x92, 0xaa, 0xb3, 0x3b, 0xa2, 0x78, 0x2e, 0x6d, - 0x58, 0x52, 0x29, 0x3b, 0xe6, 0x1e, 0x4d, 0x3f, 0x59, 0x56, 0x7a, 0xe2, 0xad, 0x52, 0xa9, 0x74, - 0xb7, 0xb5, 0xb5, 0xad, 0xfc, 0xf4, 0xd3, 0x4f, 0xa7, 0xe4, 0x89, 0x03, 0xb8, 0xba, 0xe5, 0xcb, - 0x97, 0xeb, 0xc4, 0x89, 0x13, 0x87, 0x15, 0x87, 0xbb, 0xf6, 0xa4, 0x79, 0x59, 0xe9, 0x80, 0x67, - 0x67, 0xcf, 0xb3, 0x21, 0xaf, 0x48, 0xd2, 0xe9, 0xd3, 0xa7, 0x3f, 0x58, 0xb4, 0x68, 0xd1, 0xca, - 0x77, 0xdf, 0x7d, 0x57, 0xe5, 0x72, 0x79, 0xf2, 0x9f, 0x39, 0x80, 0x09, 0xd5, 0xd7, 0xd7, 0xeb, - 0x99, 0x67, 0x9e, 0xd1, 0xee, 0xdd, 0xbb, 0x0f, 0x2b, 0x0e, 0x77, 0xf6, 0x32, 0xd9, 0xa8, 0xa4, - 0x72, 0x08, 0xa1, 0x9c, 0xa4, 0x67, 0xc9, 0x67, 0x49, 0xba, 0x49, 0xd2, 0x6c, 0xc5, 0x83, 0xf5, - 0xb2, 0xa4, 0x0b, 0x5d, 0x5d, 0x5d, 0xdd, 0x2f, 0xbd, 0xf4, 0x92, 0xfa, 0xfb, 0xfb, 0xa7, 0xe0, - 0xe9, 0x03, 0x98, 0xc8, 0xa2, 0x45, 0x8b, 0xf4, 0xc4, 0x13, 0x4f, 0x68, 0xd9, 0xb2, 0x65, 0xbf, - 0x91, 0x74, 0xb3, 0xe2, 0x09, 0xb6, 0x2f, 0x24, 0x1d, 0x97, 0xd4, 0x1b, 0x42, 0x38, 0x91, 0x25, - 0x7d, 0x58, 0xf1, 0x18, 0xbc, 0xa8, 0x78, 0x92, 0x4d, 0x92, 0x2a, 0x5d, 0x5d, 0x5d, 0x47, 0xe7, - 0xcf, 0x9f, 0x7f, 0xe7, 0xce, 0x9d, 0x3b, 0x27, 0xf7, 0x99, 0x03, 0xb8, 0xaa, 0xfb, 0xef, 0xbf, - 0x5f, 0xfb, 0xf6, 0xed, 0x3b, 0xa6, 0x18, 0xe7, 0x26, 0xc5, 0xf9, 0x1d, 0x51, 0x3c, 0x69, 0x7e, - 0x51, 0xaa, 0xee, 0xd9, 0x6b, 0x4f, 0xb4, 0x25, 0x8a, 0x43, 0x3e, 0xd2, 0xd0, 0xd0, 0xb0, 0xe5, - 0xc1, 0x07, 0x1f, 0xfc, 0xe3, 0xb1, 0x63, 0xc7, 0x34, 0x30, 0x30, 0x30, 0xd9, 0xcf, 0x1f, 0xc0, - 0x38, 0xe6, 0xcc, 0x99, 0xa3, 0xb6, 0xb6, 0x36, 0xbd, 0xfc, 0xf2, 0xcb, 0xff, 0x92, 0xf4, 0x43, - 0xc5, 0x63, 0xf0, 0x52, 0xba, 0x2e, 0x2a, 0x9e, 0x45, 0x57, 0x52, 0x73, 0x21, 0xcb, 0x0c, 0x49, - 0xcd, 0x8a, 0x5b, 0xf4, 0x3a, 0xa5, 0x55, 0xdf, 0xbe, 0x7d, 0xfb, 0x7f, 0x3e, 0xfc, 0xf0, 0xc3, - 0xd9, 0x2f, 0xbe, 0xf8, 0xe2, 0x24, 0x7f, 0x0b, 0x00, 0xc6, 0xb3, 0x79, 0xf3, 0x66, 0xcd, 0x9b, - 0x37, 0xef, 0xec, 0xfa, 0xf5, 0xeb, 0xff, 0xaa, 0x38, 0xb7, 0x23, 0x92, 0x4e, 0x49, 0x3a, 0x22, - 0xe9, 0xb0, 0xa4, 0xbe, 0x10, 0x42, 0xa5, 0xf6, 0x66, 0x93, 0xa2, 0xaa, 0xd7, 0xa6, 0xd7, 0x29, - 0x9e, 0x6c, 0x1b, 0x2d, 0x16, 0x8b, 0xbf, 0x7c, 0xe0, 0x81, 0x07, 0xfe, 0x5d, 0x2c, 0x16, 0x73, - 0x87, 0x0e, 0x1d, 0x9a, 0xdc, 0xef, 0x02, 0xc0, 0x57, 0x2c, 0x5e, 0xbc, 0x58, 0xf7, 0xde, 0x7b, - 0x6f, 0xe5, 0xb1, 0xc7, 0x1e, 0xdb, 0x22, 0x69, 0x8e, 0xe2, 0xbc, 0x16, 0x15, 0xcb, 0x7d, 0x56, - 0xd2, 0x17, 0x21, 0x84, 0x8a, 0xa4, 0x78, 0xdf, 0x77, 0xcd, 0x2a, 0x84, 0x10, 0x66, 0x86, 0x10, - 0xe6, 0xa4, 0x6b, 0x56, 0x08, 0xa1, 0x69, 0xd3, 0xa6, 0x4d, 0x5b, 0x3b, 0x3b, 0x3b, 0xc3, 0xaa, - 0x55, 0xab, 0x6a, 0x6f, 0x4c, 0x61, 0xb1, 0x58, 0x93, 0xbc, 0xd6, 0xad, 0x5b, 0x17, 0x3a, 0x3b, - 0x3b, 0xc3, 0xa3, 0x8f, 0x3e, 0xba, 0x5b, 0xd2, 0x36, 0x49, 0xff, 0x90, 0xb4, 0x55, 0xd2, 0x1f, - 0x24, 0xad, 0x95, 0xb4, 0x58, 0x52, 0x3e, 0x9b, 0xe9, 0x2b, 0x6f, 0x17, 0x2d, 0xa5, 0x1f, 0xcb, - 0x8a, 0xc7, 0xe1, 0x95, 0x93, 0x27, 0x4f, 0x56, 0x92, 0x24, 0x79, 0xf2, 0xc0, 0x81, 0x03, 0xc9, - 0x0b, 0x2f, 0xbc, 0xb0, 0xfe, 0xe8, 0xd1, 0xa3, 0xda, 0xbf, 0x7f, 0xbf, 0x8e, 0x1f, 0x3f, 0xae, - 0x52, 0xa9, 0x24, 0x00, 0xdf, 0xae, 0xa6, 0xa6, 0x26, 0xcd, 0x9f, 0x3f, 0x5f, 0x2b, 0x56, 0xac, - 0xd0, 0x9d, 0x77, 0xde, 0xa9, 0xf6, 0xf6, 0xf6, 0x5d, 0xed, 0xed, 0xed, 0xa7, 0x15, 0x8f, 0xbd, - 0x2b, 0x8a, 0xe5, 0xee, 0x97, 0xf4, 0x5f, 0x49, 0x27, 0x42, 0x08, 0xa3, 0xd9, 0xdf, 0x4d, 0xc6, - 0xb8, 0x99, 0x24, 0xa7, 0xf4, 0x6a, 0xb6, 0x93, 0x27, 0x4f, 0xaa, 0xb3, 0xb3, 0x53, 0xcf, 0x3f, - 0xff, 0x7c, 0xae, 0xbb, 0xbb, 0xbb, 0xe1, 0xa1, 0x87, 0x1e, 0xba, 0xb7, 0xad, 0xad, 0xed, 0x4f, - 0x4b, 0x96, 0x2c, 0xb9, 0xa3, 0xb9, 0xb9, 0xf9, 0x2b, 0xb7, 0xa6, 0xe1, 0xdb, 0x95, 0xfd, 0xbf, - 0x4a, 0x12, 0xfe, 0xd3, 0x7f, 0xdf, 0x0c, 0x0e, 0x0e, 0x86, 0xf7, 0xde, 0x7b, 0xaf, 0xef, 0xd5, - 0x57, 0x5f, 0xfd, 0xfb, 0x27, 0x9f, 0x7c, 0x32, 0x53, 0x52, 0x8b, 0xe2, 0xe5, 0xe5, 0x83, 0x92, - 0x8e, 0x49, 0xfa, 0x40, 0x52, 0x57, 0x08, 0xe1, 0x4b, 0xaf, 0x69, 0x8f, 0x35, 0xe0, 0x52, 0x7a, - 0xeb, 0xd9, 0x5b, 0x6f, 0xbd, 0x95, 0x7b, 0xe5, 0x95, 0x57, 0xea, 0xf6, 0xef, 0xdf, 0x3f, 0xed, - 0xdc, 0xb9, 0x73, 0x8d, 0x8a, 0xa7, 0xe2, 0x1b, 0x15, 0x7f, 0x00, 0x64, 0x67, 0xdb, 0xeb, 0x14, - 0x8f, 0xdd, 0xb3, 0xbb, 0x58, 0x00, 0x7c, 0x73, 0xd9, 0x7c, 0x4d, 0x53, 0x9c, 0xbb, 0x59, 0xe9, - 0x9a, 0x9d, 0xae, 0x19, 0xe9, 0xe3, 0xfa, 0x25, 0xf5, 0x28, 0x0e, 0x78, 0x77, 0x6d, 0xbd, 0xa5, - 0xf1, 0xdf, 0xb2, 0xa9, 0x2c, 0x29, 0xec, 0xd9, 0xb3, 0x47, 0x5d, 0x5d, 0x5d, 0xf9, 0x73, 0xe7, - 0xce, 0x65, 0x55, 0x9f, 0xa6, 0x38, 0xe0, 0x85, 0xf4, 0xef, 0xd6, 0xd7, 0xac, 0xda, 0x2b, 0x69, - 0x00, 0x7c, 0x73, 0x79, 0xc5, 0x5b, 0x40, 0x1b, 0x15, 0x07, 0x7a, 0xba, 0xe2, 0x8c, 0x5d, 0x54, - 0xbc, 0x49, 0xec, 0x92, 0xe2, 0xb6, 0xfc, 0x98, 0xa4, 0x63, 0x57, 0x0e, 0xb7, 0x34, 0x7e, 0xc1, - 0xe3, 0x1f, 0x26, 0x49, 0x36, 0xc4, 0x8d, 0xe9, 0x17, 0x6f, 0x56, 0xfc, 0x69, 0x32, 0x3d, 0x5d, - 0x85, 0x74, 0xd5, 0xab, 0x7a, 0xc3, 0x39, 0x80, 0xeb, 0x23, 0xdb, 0x1d, 0xd7, 0xee, 0x90, 0x83, - 0xe2, 0x71, 0x77, 0x49, 0xd2, 0x39, 0xc5, 0x97, 0xc6, 0x0e, 0x87, 0x10, 0xfe, 0x37, 0xd6, 0x17, - 0x18, 0xf7, 0x4d, 0x17, 0x53, 0xe5, 0xf4, 0x8b, 0x96, 0x54, 0xdd, 0x32, 0x28, 0xfd, 0x47, 0xb2, - 0x8f, 0x41, 0xf1, 0xda, 0xd7, 0xcb, 0xef, 0x22, 0x01, 0xe0, 0xba, 0xa8, 0x3d, 0xec, 0xbd, 0x7c, - 0x87, 0x98, 0x62, 0xc1, 0x2f, 0x2a, 0x1e, 0x7f, 0x9f, 0x0a, 0x21, 0x9c, 0x1f, 0xef, 0x0b, 0x4c, - 0x58, 0xf0, 0xcb, 0x0f, 0x4a, 0x92, 0xda, 0x2d, 0x7a, 0x41, 0xd5, 0x2d, 0x43, 0x76, 0x93, 0x79, - 0xb6, 0x3d, 0x67, 0xc0, 0x81, 0xeb, 0x27, 0xa7, 0xf4, 0x7a, 0x14, 0xc5, 0xed, 0x78, 0x51, 0x71, - 0x6b, 0x9e, 0x0d, 0xf8, 0x50, 0x08, 0x61, 0xc2, 0x3b, 0xc1, 0xae, 0x69, 0xc0, 0x2f, 0x3f, 0x38, - 0x9e, 0xbe, 0xad, 0x3d, 0x2e, 0x68, 0x10, 0xc3, 0x0d, 0x7c, 0x5b, 0xb2, 0x2d, 0xf9, 0xa8, 0xe2, - 0x60, 0x0f, 0x49, 0x2a, 0x5e, 0xbe, 0x88, 0xe5, 0x1a, 0xfc, 0x1f, 0xab, 0xd7, 0x27, 0x8b, 0xed, - 0xb6, 0xcc, 0x56, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 -}; -const int Frame_s2_size = sizeof(Frame_s2); diff --git a/source/ngc/png/Snap_empty.c b/source/ngc/png/Snap_empty.c deleted file mode 100644 index 5d72030..0000000 --- a/source/ngc/png/Snap_empty.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - This file was autogenerated by raw2c. -Visit http://www.devkitpro.org -*/ - -const unsigned char Snap_empty[] = { - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, - 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x74, 0x08, 0x06, 0x00, 0x00, 0x00, 0x0b, 0x8b, 0x99, - 0x6e, 0x00, 0x00, 0x00, 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x12, 0x00, 0x00, 0x0b, - 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x30, 0x34, 0x2f, 0x30, - 0x36, 0x2f, 0x30, 0x39, 0xb6, 0x25, 0x24, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x74, 0x45, 0x58, 0x74, - 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x4d, 0x58, - 0xbb, 0x91, 0x2a, 0x24, 0x00, 0x00, 0x02, 0xd6, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xd6, - 0xd1, 0x4a, 0xdc, 0x40, 0x18, 0x86, 0xe1, 0x7f, 0x67, 0xc6, 0x18, 0xa3, 0x21, 0x12, 0xa4, 0x28, - 0x78, 0x0f, 0x45, 0xbc, 0x87, 0xde, 0x54, 0xa5, 0x4b, 0x6b, 0xef, 0xaa, 0xb7, 0x10, 0xd0, 0x83, - 0x5e, 0x44, 0x05, 0x91, 0x65, 0x67, 0xdd, 0x24, 0xb3, 0x49, 0xec, 0x51, 0x29, 0x9e, 0x16, 0xb6, - 0xf9, 0x60, 0xdf, 0xe7, 0x2c, 0x0c, 0x81, 0xef, 0xe0, 0x25, 0x93, 0x45, 0xd3, 0x34, 0x66, 0x66, - 0x16, 0x63, 0xbc, 0x0a, 0x21, 0x7c, 0xcd, 0xb2, 0xec, 0xa3, 0xf7, 0xde, 0x1b, 0xb0, 0x67, 0xc3, - 0x30, 0x8c, 0x5d, 0xd7, 0x3d, 0xa6, 0x94, 0x96, 0x75, 0x5d, 0xff, 0x32, 0x33, 0x5b, 0x34, 0x4d, - 0x63, 0xab, 0xd5, 0xea, 0x53, 0x59, 0x96, 0xf7, 0xd3, 0x34, 0xf9, 0x18, 0xa3, 0xf5, 0x7d, 0x6f, - 0xaf, 0xaf, 0xaf, 0xef, 0x5e, 0x2e, 0x8a, 0xe2, 0xdd, 0xf3, 0x76, 0xbb, 0xe5, 0x9c, 0xf3, 0x7f, - 0x3e, 0x4f, 0x29, 0x59, 0x51, 0x14, 0x56, 0x55, 0x95, 0x79, 0xef, 0xc7, 0xae, 0xeb, 0xee, 0xce, - 0xce, 0xce, 0x7e, 0x84, 0x97, 0x97, 0x97, 0xab, 0xb2, 0x2c, 0xef, 0xdb, 0xb6, 0xf5, 0x31, 0x46, - 0x7b, 0x7b, 0x7b, 0x33, 0x60, 0xdf, 0x86, 0x61, 0xb0, 0xf5, 0x7a, 0x6d, 0x9b, 0xcd, 0xc6, 0xea, - 0xba, 0xf6, 0x65, 0x59, 0x7e, 0x8f, 0x31, 0xfe, 0x74, 0x59, 0x96, 0x2d, 0x77, 0xbb, 0x9d, 0x5f, - 0xaf, 0xd7, 0xc4, 0x88, 0xff, 0x6e, 0x9a, 0x26, 0x7b, 0x7e, 0x7e, 0xb6, 0x71, 0x1c, 0x7d, 0x08, - 0x61, 0xe9, 0x8e, 0x8f, 0x8f, 0x6f, 0x56, 0xab, 0xd5, 0xdc, 0xbb, 0x70, 0xe0, 0xb6, 0xdb, 0xad, - 0x65, 0x59, 0x76, 0xe3, 0x8e, 0x8e, 0x8e, 0x7c, 0xdb, 0xb6, 0x73, 0xef, 0xc1, 0x81, 0xeb, 0xfb, - 0xde, 0xbc, 0xf7, 0xde, 0x99, 0x19, 0x57, 0x35, 0x66, 0x37, 0x4d, 0x93, 0x99, 0x99, 0xb9, 0x99, - 0x77, 0x00, 0x66, 0xf6, 0xf7, 0xa3, 0x48, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, - 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, - 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, - 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, - 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, - 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, - 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, - 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, - 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, - 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, - 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, - 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, - 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, - 0x90, 0x90, 0x42, 0x90, 0x90, 0x42, 0x90, 0x90, 0xe2, 0xcc, 0xcc, 0x9c, 0xa3, 0x4b, 0xcc, 0xeb, - 0x4f, 0x83, 0x6e, 0xb7, 0xdb, 0x8d, 0x27, 0x27, 0x27, 0x33, 0xcf, 0xc1, 0xa1, 0xcb, 0xf3, 0xdc, - 0xc6, 0x71, 0x1c, 0x5d, 0xdf, 0xf7, 0x0f, 0xe7, 0xe7, 0xe7, 0x73, 0xef, 0xc1, 0x81, 0x3b, 0x3d, - 0x3d, 0xb5, 0x94, 0xd2, 0x83, 0x4b, 0x29, 0x2d, 0x43, 0x08, 0x43, 0x55, 0x55, 0xb6, 0x58, 0x2c, - 0xe6, 0xde, 0x85, 0x03, 0xe3, 0x9c, 0xb3, 0xcb, 0xcb, 0x4b, 0x73, 0xce, 0x8d, 0xc3, 0x30, 0x2c, - 0x5d, 0x5d, 0xd7, 0x4f, 0x9b, 0xcd, 0xe6, 0x2e, 0xcf, 0xf3, 0xf1, 0xe2, 0xe2, 0xc2, 0x8a, 0xa2, - 0xe0, 0x9f, 0x12, 0x7b, 0x17, 0x42, 0xb0, 0xaa, 0xaa, 0xec, 0xfa, 0xfa, 0xda, 0xf2, 0x3c, 0x1f, - 0xdb, 0xb6, 0xfd, 0x5c, 0x96, 0xe5, 0xd3, 0xa2, 0x69, 0x1a, 0x33, 0x33, 0x8b, 0x31, 0x7e, 0x08, - 0x21, 0x7c, 0xcb, 0xb2, 0xec, 0xc6, 0x7b, 0xef, 0x67, 0xde, 0x8b, 0x03, 0x30, 0x0c, 0xc3, 0xd8, - 0x75, 0xdd, 0x63, 0x4a, 0xe9, 0x4b, 0x5d, 0xd7, 0x4f, 0xb7, 0xb7, 0xb7, 0xf6, 0x1b, 0xe1, 0xe1, - 0xdd, 0x37, 0xf4, 0x57, 0x75, 0x74, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, - 0x60, 0x82 -}; -const int Snap_empty_size = sizeof(Snap_empty);