From 9a3d37b2e2f6a82f75e6969d48ed14312798c7bd Mon Sep 17 00:00:00 2001 From: William Emfinger Date: Thu, 22 Aug 2024 21:59:00 -0500 Subject: [PATCH] [BREAKING] Update espp for LVGL v9 and refactor some components (#87) * chore: Update to LVGL v9 * wip trying to get it working... * update espp to latest main * update espp submodule * update to latest espp * move haptics into box-emu component * wip guis * update color format * fix sms color * added log about how many were loaded * update menu task management * update gui to use HRT for task and have roller use quick animation * update to use latest apis - use new haptics apis and such * decrease default transition time and refresh period, add 80mhz flash freq * decrease lvgl memory from 60k to 40k * minor update * update styling and handle case that there is no gamepad * dont fail out of main if no haptics * update espp with latest apis for esp-box, display drivers fixes, and update box-emu accordingly * update lvgl memory after finding failure at 40k with selector in menu --- components/box-emu/CMakeLists.txt | 1 + components/box-emu/include/box-emu.hpp | 20 +- components/box-emu/src/box-emu.cpp | 70 +- components/box-emu/src/make_color.cpp | 2 +- components/espp | 2 +- .../gwenesis/src/vdp/gwenesis_vdp_mem.c | 12 +- components/gui/CMakeLists.txt | 4 +- components/gui/generated/CMakeLists.txt | 2 +- components/gui/generated/filelist.txt | 2 +- .../gui/generated/images/ui_temporary_image.c | 85 ++ .../gui/generated/screens/ui_romscreen.c | 42 +- .../gui/generated/screens/ui_settingsscreen.c | 84 +- components/gui/generated/ui.c | 12 +- components/gui/generated/ui.h | 9 +- components/gui/generated/ui_comp.c | 6 +- components/gui/generated/ui_events.h | 4 +- components/gui/generated/ui_helpers.c | 65 +- components/gui/generated/ui_helpers.h | 18 +- components/gui/include/gui.hpp | 78 +- components/gui/squareline/Themes.slt | 8 + components/gui/squareline/emu.sll | 43 +- components/gui/squareline/emu.spj | 893 +++++++++++------- components/gui/src/gui.cpp | 128 ++- components/jpeg/include/jpeg.hpp | 2 +- components/menu/CMakeLists.txt | 2 +- components/menu/generated/CMakeLists.txt | 2 +- components/menu/generated/filelist.txt | 2 +- .../generated/images/ui_temporary_image.c | 85 ++ .../menu/generated/screens/ui_Screen1.c | 94 +- components/menu/generated/ui.c | 13 +- components/menu/generated/ui.h | 9 +- components/menu/generated/ui_events.h | 4 +- components/menu/generated/ui_helpers.c | 62 +- components/menu/generated/ui_helpers.h | 18 +- components/menu/include/menu.hpp | 17 +- components/menu/squareline/Themes.slt | 8 + components/menu/squareline/menu.sll | 43 +- components/menu/squareline/menu.spj | 479 +++++++--- components/menu/src/menu.cpp | 34 +- components/nes/src/video_audio.cpp | 2 +- components/rom_info/src/rom_info.cpp | 1 + components/sms/smsplus/render.c | 2 +- main/cart.hpp | 7 +- main/carts.hpp | 2 +- main/main.cpp | 41 +- sdkconfig.defaults | 17 +- 46 files changed, 1623 insertions(+), 913 deletions(-) create mode 100644 components/gui/generated/images/ui_temporary_image.c create mode 100644 components/gui/squareline/Themes.slt create mode 100644 components/menu/generated/images/ui_temporary_image.c create mode 100644 components/menu/squareline/Themes.slt diff --git a/components/box-emu/CMakeLists.txt b/components/box-emu/CMakeLists.txt index fe11f99a..4238c715 100644 --- a/components/box-emu/CMakeLists.txt +++ b/components/box-emu/CMakeLists.txt @@ -18,6 +18,7 @@ idf_component_register( "button" "display" "display_drivers" + "drv2605" "mcp23x17" "input_drivers" "tt21100" diff --git a/components/box-emu/include/box-emu.hpp b/components/box-emu/include/box-emu.hpp index a32b46ee..51ad6821 100644 --- a/components/box-emu/include/box-emu.hpp +++ b/components/box-emu/include/box-emu.hpp @@ -22,6 +22,7 @@ #include "aw9523.hpp" #include "base_component.hpp" #include "button.hpp" +#include "drv2605.hpp" #include "events.hpp" #include "high_resolution_timer.hpp" #include "keypad_input.hpp" @@ -36,6 +37,8 @@ #include "gamepad_state.hpp" #include "video_setting.hpp" +#include "make_color.h" + class BoxEmu : public espp::BaseComponent { public: /// The Version of the BoxEmu @@ -59,10 +62,6 @@ class BoxEmu : public espp::BaseComponent { static constexpr char mount_point[] = "/sdcard"; - static uint16_t make_color(uint8_t r, uint8_t g, uint8_t b) { - return lv_color_make(r,g,b).full; - } - /// Get the version of the BoxEmu that was detected /// \return The version of the BoxEmu that was detected /// \see Version @@ -129,6 +128,16 @@ class BoxEmu : public espp::BaseComponent { VideoSetting video_setting() const; void video_setting(const VideoSetting setting); + ///////////////////////////////////////////////////////////////////////////// + // Haptic Motor (DRV2605) + ///////////////////////////////////////////////////////////////////////////// + + bool initialize_haptics(); + std::shared_ptr haptics() const; + void play_haptic_effect(); + void play_haptic_effect(int effect); + void set_haptic_effect(int effect); + ///////////////////////////////////////////////////////////////////////////// // USB ///////////////////////////////////////////////////////////////////////////// @@ -319,6 +328,9 @@ class BoxEmu : public espp::BaseComponent { const uint16_t* palette_{nullptr}; size_t palette_size_{256}; + // haptics + std::shared_ptr haptic_motor_{nullptr}; + // usb std::atomic usb_enabled_{false}; usb_phy_handle_t jtag_phy_; diff --git a/components/box-emu/src/box-emu.cpp b/components/box-emu/src/box-emu.cpp index c20fef6b..eaca075d 100644 --- a/components/box-emu/src/box-emu.cpp +++ b/components/box-emu/src/box-emu.cpp @@ -50,8 +50,15 @@ bool BoxEmu::initialize_box() { return false; } static constexpr size_t pixel_buffer_size = espp::EspBox::lcd_width() * num_rows_in_framebuffer; + static constexpr int update_period_ms = 16; + espp::Task::BaseConfig display_task_config = { + .name = "Display", + .stack_size_bytes = 6 * 1024, + .priority = 10, + .core_id = 1, + }; // initialize the LVGL display for the esp-box - if (!box.initialize_display(pixel_buffer_size)) { + if (!box.initialize_display(pixel_buffer_size, display_task_config, update_period_ms)) { logger_.error("Failed to initialize display!"); return false; } @@ -496,6 +503,67 @@ void BoxEmu::video_setting(const VideoSetting setting) { video_setting_ = setting; } +///////////////////////////////////////////////////////////////////////////// +// Haptic Motor +///////////////////////////////////////////////////////////////////////////// + +bool BoxEmu::initialize_haptics() { + if (haptic_motor_) { + logger_.error("Haptics already initialized!"); + return false; + } + logger_.info("Initializing haptics"); + haptic_motor_ = std::make_shared(espp::Drv2605::Config{ + .device_address = espp::Drv2605::DEFAULT_ADDRESS, + .write = std::bind(&espp::I2c::write, &external_i2c_, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + .read_register = std::bind(&espp::I2c::read_at_register, &external_i2c_, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4), + .motor_type = espp::Drv2605::MotorType::LRA + }); + // we're using an LRA motor, so select th LRA library. + std::error_code ec; + haptic_motor_->select_library(espp::Drv2605::Library::LRA, ec); + if (ec) { + logger_.error("Error selecting LRA library: {}", ec.message()); + return false; + } + return true; +} + +std::shared_ptr BoxEmu::haptics() const { + return haptic_motor_; +} + +void BoxEmu::play_haptic_effect() { + if (haptic_motor_ == nullptr) { + logger_.error("Haptic motor not initialized!"); + return; + } + std::error_code ec; + haptic_motor_->start(ec); + if (ec) { + logger_.error("Error starting haptic motor: {}", ec.message()); + } +} + +void BoxEmu::play_haptic_effect(int effect) { + if (haptic_motor_ == nullptr) { + logger_.error("Haptic motor not initialized!"); + return; + } + set_haptic_effect(effect); + play_haptic_effect(); +} + +void BoxEmu::set_haptic_effect(int effect) { + if (haptic_motor_ == nullptr) { + logger_.error("Haptic motor not initialized!"); + return; + } + std::error_code ec; + haptic_motor_->set_waveform(0, (espp::Drv2605::Waveform)(effect), ec); + haptic_motor_->set_waveform(1, espp::Drv2605::Waveform::END, ec); +} + ///////////////////////////////////////////////////////////////////////////// // USB ///////////////////////////////////////////////////////////////////////////// diff --git a/components/box-emu/src/make_color.cpp b/components/box-emu/src/make_color.cpp index a167a628..eec4bec3 100644 --- a/components/box-emu/src/make_color.cpp +++ b/components/box-emu/src/make_color.cpp @@ -3,5 +3,5 @@ #include extern "C" uint16_t make_color(uint8_t r, uint8_t g, uint8_t b) { - return lv_color_make(r,g,b).full; + return lv_color_to_u16(lv_color_make(r, g, b)); } diff --git a/components/espp b/components/espp index cb909293..2ded708a 160000 --- a/components/espp +++ b/components/espp @@ -1 +1 @@ -Subproject commit cb909293151c978ff06fb324984c40e57e8e07e7 +Subproject commit 2ded708a25ce30009a061a5fc0f6a7f90be6e694 diff --git a/components/genesis/gwenesis/src/vdp/gwenesis_vdp_mem.c b/components/genesis/gwenesis/src/vdp/gwenesis_vdp_mem.c index 0f7a667d..857b2730 100644 --- a/components/genesis/gwenesis/src/vdp/gwenesis_vdp_mem.c +++ b/components/genesis/gwenesis/src/vdp/gwenesis_vdp_mem.c @@ -36,10 +36,16 @@ __license__ = "GPLv3" #define VDP_MEM_DISABLE_LOGGING 1 static inline uint16_t to_pixel(uint16_t value) { + // convert rgb 444 to bgr 565 return - ((value & 0xe00) << 1) | - ((value & 0x0e0) >> 5) | - ((value & 0x00e) << 4); + ((value & 0xe00)) >> 7 | // red + ((value & 0x0e0)) << 3 | // green + ((value & 0x00e)) << 12; // blue + // was: + /* return */ + /* ((value & 0xe00) << 1) | */ + /* ((value & 0x0e0) >> 5) | */ + /* ((value & 0x00e) << 4); */ } #if !VDP_MEM_DISABLE_LOGGING diff --git a/components/gui/CMakeLists.txt b/components/gui/CMakeLists.txt index b309fd79..3c5cdab6 100644 --- a/components/gui/CMakeLists.txt +++ b/components/gui/CMakeLists.txt @@ -1,5 +1,5 @@ idf_component_register( - SRC_DIRS "src" "generated" "generated/screens" "generated/components" INCLUDE_DIRS "include" PRIV_INCLUDE_DIRS "generated" - REQUIRES lvgl task display logger jpeg rom_info box-emu) + SRC_DIRS "src" "generated" "generated/screens" "generated/components" "generated/images" + REQUIRES lvgl timer display logger jpeg rom_info box-emu) diff --git a/components/gui/generated/CMakeLists.txt b/components/gui/generated/CMakeLists.txt index fd0ca1d6..69c8d2c5 100644 --- a/components/gui/generated/CMakeLists.txt +++ b/components/gui/generated/CMakeLists.txt @@ -3,6 +3,6 @@ SET(SOURCES screens/ui_romscreen.c ui.c components/ui_comp_hook.c ui_helpers.c - ui_events.c) + ui_temporary_image.c) add_library(ui ${SOURCES}) diff --git a/components/gui/generated/filelist.txt b/components/gui/generated/filelist.txt index 08c02f26..a2fa166d 100644 --- a/components/gui/generated/filelist.txt +++ b/components/gui/generated/filelist.txt @@ -3,4 +3,4 @@ screens/ui_settingsscreen.c ui.c components/ui_comp_hook.c ui_helpers.c -ui_events.c +ui_temporary_image.c diff --git a/components/gui/generated/images/ui_temporary_image.c b/components/gui/generated/images/ui_temporary_image.c new file mode 100644 index 00000000..55d2bd3c --- /dev/null +++ b/components/gui/generated/images/ui_temporary_image.c @@ -0,0 +1,85 @@ +// LVGL Temporary Image. + +#include "../ui.h" + +#ifndef LV_ATTRIBUTE_MEM_ALIGN + #define LV_ATTRIBUTE_MEM_ALIGN +#endif + +// IMAGE DATA: TemporaryImage +const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui__temporary_image_data[] = { + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0xA4,0xFF,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xA4,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x50,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0x51,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x52,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x53,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0xE2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x5A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0xDC,0xDC,0xFF,0xA3,0xA3,0xA3,0xFF,0x8C,0x8C,0x8C,0xFF,0x81,0x81,0x81,0xFF,0x7E,0x7E,0x7E,0xFF,0x7A,0x7A,0x7A,0xFF,0x76,0x76,0x76,0xFF,0x75,0x75,0x75,0xFF,0x73,0x73,0x73,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x73,0x73,0x73,0xFF,0x74,0x74,0x74,0xFF,0x75,0x75,0x75,0xFF,0x76,0x76,0x76,0xFF,0x77,0x77,0x77,0xFF,0x78,0x78,0x78,0xFF,0x78,0x78,0x78,0xFF,0x7A,0x7A,0x7A,0xFF,0x7A,0x7A,0x7A,0xFF,0x76,0x76,0x76,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x73,0x73,0x73,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x76,0x76,0x76,0xFF,0x78,0x78,0x78,0xFF,0x79,0x79,0x79,0xFF,0x7D,0x7D,0x7D,0xFF,0x86,0x86,0x86,0xFF,0x91,0x91,0x91,0xFF,0xA9,0xA9,0xA9,0xFF,0xE1,0xE1,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0xFF,0x91,0x91,0x91,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8A,0x8A,0x8A,0xFF,0xEB,0xEB,0xEB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xFC,0xFF,0x70,0x70,0x70,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x5B,0x5B,0x5B,0xFF,0xE3,0xE3,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9A,0x9A,0x9A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8E,0x8E,0x8E,0xFF,0xC0,0xC0,0xC0,0xFF,0xD2,0xD2,0xD2,0xFF,0xD7,0xD7,0xD7,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xC4,0xC4,0xC4,0xFF,0x99,0x99,0x99,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x6D,0x6D,0x6D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xED,0xED,0xED,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xB7,0xB7,0xB7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0xC6,0xC6,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xAB,0xAB,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x99,0x99,0x99,0xFF,0x4F,0x4F,0x4F,0xFF,0x57,0x57,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8C,0x8C,0x8C,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC0,0xC0,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD1,0xD1,0xD1,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0x83,0x83,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCC,0xCC,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEB,0xEB,0xEB,0xFF,0xCA,0xCA,0xCA,0xFF,0xCD,0xCD,0xCD,0xFF,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7D,0x7D,0x7D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA3,0xA3,0xA3,0xFF,0x51,0x51,0x51,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xB0,0xB0,0xB0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xE1,0xE1,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0x7E,0x7E,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x95,0x95,0x95,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xB3,0xB3,0xB3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xDB,0xDB,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x57,0x57,0x57,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x52,0x52,0x52,0xFF,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x97,0x97,0x97,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xE9,0xE9,0xE9,0xFF,0xFF,0xFF,0xFF,0xFF,0x58,0x58,0x58,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x8F,0x8F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x52,0x52,0x52,0xFF,0xEA,0xEA,0xEA,0xFF,0xF3,0xF3,0xF3,0xFF,0x55,0x55,0x55,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC7,0xC7,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCE,0xCE,0xCE,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0x83,0x83,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x9E,0x9E,0x9E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0xFF,0x88,0x88,0x88,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8C,0x8C,0x8C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCD,0xCD,0xCD,0xFF,0x9A,0x9A,0x9A,0xFF,0x8E,0x8E,0x8E,0xFF,0x98,0x98,0x98,0xFF,0xC4,0xC4,0xC4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD2,0xD2,0xD2,0xFF,0xAB,0xAB,0xAB,0xFF,0xAD,0xAD,0xAD,0xFF,0xD3,0xD3,0xD3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xE1,0xE1,0xFF,0x7D,0x7D,0x7D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x72,0x72,0x72,0xFF,0xC9,0xC9,0xC9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCB,0xCB,0xCB,0xFF,0x50,0x50,0x50,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xAB,0xAB,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xCF,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x64,0x64,0x64,0xFF,0xB4,0xB4,0xB4,0xFF,0xC6,0xC6,0xC6,0xFF,0xB7,0xB7,0xB7,0xFF,0x6D,0x6D,0x6D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA4,0xA4,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xE1,0xE1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x81,0x81,0x81,0xFF,0xF9,0xF9,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x94,0x94,0x94,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xAB,0xAB,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xF6,0xF6,0xFF,0x5A,0x5A,0x5A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x6F,0x6F,0x6F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x97,0x97,0x97,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xBB,0xBB,0xBB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCC,0xCC,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x74,0x74,0x74,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x61,0x61,0x61,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8A,0x8A,0x8A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xB3,0xB3,0xB3,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0xF5,0xF5,0xFF,0x7C,0x7C,0x7C,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x56,0x56,0x56,0xFF,0xEB,0xEB,0xEB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x88,0x88,0x88,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xD6,0xD6,0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x78,0x78,0x78,0xFF,0xCF,0xCF,0xCF,0xFF,0x61,0x61,0x61,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xDC,0xDC,0xDC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0x81,0x81,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xE1,0xE1,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC2,0xC2,0xC2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x74,0x74,0x74,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xEC,0xEC,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA0,0xA0,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xFA,0xFA,0xFF,0x65,0x65,0x65,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x60,0x60,0x60,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7B,0x7B,0x7B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0xF2,0xF2,0xFF,0x5B,0x5B,0x5B,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x74,0x74,0x74,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x66,0x66,0x66,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE8,0xE8,0xE8,0xFF,0x5A,0x5A,0x5A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7A,0x7A,0x7A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xEC,0xEC,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xE2,0xE2,0xFF,0x50,0x50,0x50,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x83,0x83,0x83,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCA,0xCA,0xCA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0xD6,0xD6,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8E,0x8E,0x8E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xC1,0xC1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA6,0xA6,0xA6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC5,0xC5,0xC5,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB8,0xB8,0xB8,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xAE,0xAE,0xAE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCB,0xCB,0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA8,0xA8,0xA8,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xBC,0xBC,0xBC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCC,0xCC,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9A,0x9A,0x9A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCB,0xCB,0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0x87,0x87,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xD8,0xD8,0xD8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xE1,0xE1,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x73,0x73,0x73,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x57,0x57,0x57,0xFF,0xEA,0xEA,0xEA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF7,0xF7,0xFF,0x66,0x66,0x66,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x5F,0x5F,0x5F,0xFF,0xF5,0xF5,0xF5,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xDE,0xDE,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0x7E,0x7E,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEE,0xEE,0xEE,0xFF,0x52,0x52,0x52,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x68,0x68,0x68,0xFF,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xDE,0xDE,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCB,0xCB,0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0xDC,0xDC,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x78,0x78,0x78,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xE2,0xE2,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0x83,0x83,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC7,0xC7,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD2,0xD2,0xD2,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x74,0x74,0x74,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD1,0xD1,0xD1,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8D,0x8D,0x8D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC2,0xC2,0xC2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xC3,0xC3,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x64,0x64,0x64,0xFF,0xE7,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xB7,0xB7,0xB7,0xFF,0x4F,0x4F,0x4F,0xFF,0x58,0x58,0x58,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB1,0xB1,0xB1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x81,0x81,0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB4,0xB4,0xB4,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0xCF,0xCF,0xCF,0xFF,0x88,0x88,0x88,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0xF5,0xF5,0xFF,0x54,0x54,0x54,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA5,0xA5,0xA5,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB6,0xB6,0xB6,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB1,0xB1,0xB1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7D,0x7D,0x7D,0xFF,0xB9,0xB9,0xB9,0xFF,0xCF,0xCF,0xCF,0xFF,0xD7,0xD7,0xD7,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xCF,0xCF,0xCF,0xFF,0xC4,0xC4,0xC4,0xFF,0xBB,0xBB,0xBB,0xFF,0xA1,0xA1,0xA1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8A,0x8A,0x8A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8B,0x8B,0x8B,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x6D,0x6D,0x6D,0xFF,0xF6,0xF6,0xF6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA9,0xA9,0xA9,0xFF,0x62,0x62,0x62,0xFF,0x58,0x58,0x58,0xFF,0x57,0x57,0x57,0xFF,0x54,0x54,0x54,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x55,0x55,0x55,0xFF,0x56,0x56,0x56,0xFF,0x57,0x57,0x57,0xFF,0x57,0x57,0x57,0xFF,0x58,0x58,0x58,0xFF,0x58,0x58,0x58,0xFF,0x58,0x58,0x58,0xFF,0x5D,0x5D,0x5D,0xFF,0x97,0x97,0x97,0xFF,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x52,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0x52,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xAC,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xAC,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + +}; + +const lv_img_dsc_t ui__temporary_image = { + .header.w = 64, + .header.h = 64, + .data_size = sizeof(ui__temporary_image_data), + .header.cf = LV_COLOR_FORMAT_NATIVE_WITH_ALPHA, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .data = ui__temporary_image_data +}; diff --git a/components/gui/generated/screens/ui_romscreen.c b/components/gui/generated/screens/ui_romscreen.c index d57b3c43..65aef626 100644 --- a/components/gui/generated/screens/ui_romscreen.c +++ b/components/gui/generated/screens/ui_romscreen.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #include "../ui.h" @@ -8,33 +8,33 @@ void ui_romscreen_screen_init(void) { ui_romscreen = lv_obj_create(NULL); -lv_obj_clear_flag( ui_romscreen, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_romscreen, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_header = lv_obj_create(ui_romscreen); lv_obj_set_height( ui_header, 75); lv_obj_set_width( ui_header, lv_pct(100)); lv_obj_set_align( ui_header, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_header, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_header, LV_OBJ_FLAG_SCROLLABLE ); /// Flags -ui_settingsbutton = lv_btn_create(ui_header); +ui_settingsbutton = lv_button_create(ui_header); lv_obj_set_width( ui_settingsbutton, 48); lv_obj_set_height( ui_settingsbutton, 48); lv_obj_set_align( ui_settingsbutton, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_settingsbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_settingsbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_settingsbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Screen1_Label2 = lv_label_create(ui_settingsbutton); lv_obj_set_width( ui_Screen1_Label2, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Screen1_Label2, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Screen1_Label2, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Screen1_Label2,LV_SYMBOL_SETTINGS); +lv_label_set_text(ui_Screen1_Label2, LV_SYMBOL_SETTINGS); ui_battery_soc_symbol_1 = lv_label_create(ui_header); lv_obj_set_width( ui_battery_soc_symbol_1, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_battery_soc_symbol_1, LV_SIZE_CONTENT); /// 1 lv_obj_set_x( ui_battery_soc_symbol_1, 52 ); lv_obj_set_y( ui_battery_soc_symbol_1, 5 ); -lv_label_set_text(ui_battery_soc_symbol_1,LV_SYMBOL_BATTERY_EMPTY); +lv_label_set_text(ui_battery_soc_symbol_1, LV_SYMBOL_BATTERY_EMPTY); ui_battery_charging_symbol_1 = lv_label_create(ui_header); lv_obj_set_width( ui_battery_charging_symbol_1, LV_SIZE_CONTENT); /// 1 @@ -57,39 +57,41 @@ lv_obj_set_height( ui_Screen1_Label1, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Screen1_Label1, LV_ALIGN_CENTER ); lv_label_set_text(ui_Screen1_Label1,"Select Rom"); -ui_playbutton = lv_btn_create(ui_header); +ui_playbutton = lv_button_create(ui_header); lv_obj_set_width( ui_playbutton, 48); lv_obj_set_height( ui_playbutton, 48); lv_obj_set_align( ui_playbutton, LV_ALIGN_RIGHT_MID ); lv_obj_add_state( ui_playbutton, LV_STATE_CHECKED ); /// States lv_obj_add_flag( ui_playbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_playbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_playbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Screen1_Label3 = lv_label_create(ui_playbutton); lv_obj_set_width( ui_Screen1_Label3, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Screen1_Label3, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Screen1_Label3, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Screen1_Label3,LV_SYMBOL_PLAY); +lv_label_set_text(ui_Screen1_Label3, LV_SYMBOL_PLAY); -ui_rompanel = lv_obj_create(ui_romscreen); -lv_obj_set_width( ui_rompanel, 220); -lv_obj_set_height( ui_rompanel, 165); -lv_obj_set_align( ui_rompanel, LV_ALIGN_BOTTOM_LEFT ); -lv_obj_add_flag( ui_rompanel, LV_OBJ_FLAG_SCROLL_ON_FOCUS | LV_OBJ_FLAG_SCROLL_ONE ); /// Flags -lv_obj_set_scroll_dir(ui_rompanel, LV_DIR_VER); +ui_roms = lv_roller_create(ui_romscreen); +lv_roller_set_options( ui_roms, "Test\n2\n3", LV_ROLLER_MODE_INFINITE ); +lv_obj_set_width( ui_roms, 220); +lv_obj_set_height( ui_roms, 165); +lv_obj_set_align( ui_roms, LV_ALIGN_BOTTOM_LEFT ); +lv_obj_set_style_text_align(ui_roms, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN| LV_STATE_DEFAULT); ui_boxartpanel = lv_obj_create(ui_romscreen); lv_obj_set_width( ui_boxartpanel, 100); lv_obj_set_height( ui_boxartpanel, 165); lv_obj_set_align( ui_boxartpanel, LV_ALIGN_BOTTOM_RIGHT ); -lv_obj_clear_flag( ui_boxartpanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_boxartpanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags -ui_boxart = lv_img_create(ui_boxartpanel); +ui_boxart = lv_image_create(ui_boxartpanel); +lv_image_set_src(ui_boxart, &ui__temporary_image); lv_obj_set_width( ui_boxart, 100); lv_obj_set_height( ui_boxart, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_boxart, LV_ALIGN_CENTER ); lv_obj_add_flag( ui_boxart, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags -lv_obj_clear_flag( ui_boxart, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_boxart, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_image_set_inner_align( ui_boxart, LV_IMAGE_ALIGN_TILE ); lv_obj_add_event_cb(ui_settingsbutton, ui_event_settingsbutton, LV_EVENT_ALL, NULL); diff --git a/components/gui/generated/screens/ui_settingsscreen.c b/components/gui/generated/screens/ui_settingsscreen.c index 1c5b85af..408f21d4 100644 --- a/components/gui/generated/screens/ui_settingsscreen.c +++ b/components/gui/generated/screens/ui_settingsscreen.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #include "../ui.h" @@ -8,13 +8,13 @@ void ui_settingsscreen_screen_init(void) { ui_settingsscreen = lv_obj_create(NULL); -lv_obj_clear_flag( ui_settingsscreen, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_settingsscreen, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_header1 = lv_obj_create(ui_settingsscreen); lv_obj_set_height( ui_header1, 75); lv_obj_set_width( ui_header1, lv_pct(100)); lv_obj_set_align( ui_header1, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_header1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_header1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_battery_charging_symbol = lv_label_create(ui_header1); lv_obj_set_width( ui_battery_charging_symbol, LV_SIZE_CONTENT); /// 1 @@ -28,7 +28,7 @@ lv_obj_set_width( ui_battery_soc_symbol, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_battery_soc_symbol, LV_SIZE_CONTENT); /// 1 lv_obj_set_x( ui_battery_soc_symbol, 52 ); lv_obj_set_y( ui_battery_soc_symbol, 5 ); -lv_label_set_text(ui_battery_soc_symbol,LV_SYMBOL_BATTERY_EMPTY); +lv_label_set_text(ui_battery_soc_symbol, LV_SYMBOL_BATTERY_EMPTY); ui_battery_soc_text = lv_label_create(ui_header1); lv_obj_set_width( ui_battery_soc_text, LV_SIZE_CONTENT); /// 1 @@ -38,18 +38,18 @@ lv_obj_set_y( ui_battery_soc_text, -5 ); lv_obj_set_align( ui_battery_soc_text, LV_ALIGN_BOTTOM_LEFT ); lv_label_set_text(ui_battery_soc_text,"100%"); -ui_closebutton = lv_btn_create(ui_header1); +ui_closebutton = lv_button_create(ui_header1); lv_obj_set_width( ui_closebutton, 48); lv_obj_set_height( ui_closebutton, 48); lv_obj_set_align( ui_closebutton, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_closebutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_closebutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_closebutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Screen1_Label4 = lv_label_create(ui_closebutton); lv_obj_set_width( ui_Screen1_Label4, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Screen1_Label4, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Screen1_Label4, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Screen1_Label4,LV_SYMBOL_CLOSE); +lv_label_set_text(ui_Screen1_Label4, LV_SYMBOL_CLOSE); ui_Screen1_Label5 = lv_label_create(ui_header1); lv_obj_set_width( ui_Screen1_Label5, LV_SIZE_CONTENT); /// 1 @@ -72,7 +72,7 @@ ui_volumepanel = lv_obj_create(ui_settingspanel); lv_obj_set_height( ui_volumepanel, 50); lv_obj_set_width( ui_volumepanel, lv_pct(100)); lv_obj_set_align( ui_volumepanel, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_volumepanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_volumepanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_volumebar = lv_bar_create(ui_volumepanel); lv_bar_set_value(ui_volumebar,25,LV_ANIM_OFF); @@ -83,46 +83,48 @@ lv_obj_set_x( ui_volumebar, 25 ); lv_obj_set_y( ui_volumebar, 0 ); lv_obj_set_align( ui_volumebar, LV_ALIGN_CENTER ); -ui_mutebutton = lv_btn_create(ui_volumepanel); +//Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0 +if (lv_obj_get_style_pad_top(ui_volumebar,LV_PART_MAIN) > 0) lv_obj_set_style_pad_right( ui_volumebar, lv_obj_get_style_pad_right(ui_volumebar,LV_PART_MAIN) + 1, LV_PART_MAIN ); +ui_mutebutton = lv_button_create(ui_volumepanel); lv_obj_set_width( ui_mutebutton, 32); lv_obj_set_height( ui_mutebutton, 32); lv_obj_set_align( ui_mutebutton, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_mutebutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_mutebutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_mutebutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label1 = lv_label_create(ui_mutebutton); lv_obj_set_width( ui_settingsscreen_Label1, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label1, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label1, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label1,LV_SYMBOL_MUTE); +lv_label_set_text(ui_settingsscreen_Label1, LV_SYMBOL_MUTE); -ui_volumedownbutton = lv_btn_create(ui_volumepanel); +ui_volumedownbutton = lv_button_create(ui_volumepanel); lv_obj_set_width( ui_volumedownbutton, 32); lv_obj_set_height( ui_volumedownbutton, 32); lv_obj_set_x( ui_volumedownbutton, 52 ); lv_obj_set_y( ui_volumedownbutton, 0 ); lv_obj_set_align( ui_volumedownbutton, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_volumedownbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_volumedownbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_volumedownbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label2 = lv_label_create(ui_volumedownbutton); lv_obj_set_width( ui_settingsscreen_Label2, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label2, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label2, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label2,LV_SYMBOL_VOLUME_MID); +lv_label_set_text(ui_settingsscreen_Label2, LV_SYMBOL_VOLUME_MID); -ui_volumeupbutton = lv_btn_create(ui_volumepanel); +ui_volumeupbutton = lv_button_create(ui_volumepanel); lv_obj_set_width( ui_volumeupbutton, 32); lv_obj_set_height( ui_volumeupbutton, 32); lv_obj_set_align( ui_volumeupbutton, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_volumeupbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_volumeupbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_volumeupbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label3 = lv_label_create(ui_volumeupbutton); lv_obj_set_width( ui_settingsscreen_Label3, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label3, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label3, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label3,LV_SYMBOL_VOLUME_MAX); +lv_label_set_text(ui_settingsscreen_Label3, LV_SYMBOL_VOLUME_MAX); ui_brightnesspanel = lv_obj_create(ui_settingspanel); lv_obj_set_height( ui_brightnesspanel, 50); @@ -130,7 +132,7 @@ lv_obj_set_width( ui_brightnesspanel, lv_pct(100)); lv_obj_set_x( ui_brightnesspanel, 0 ); lv_obj_set_y( ui_brightnesspanel, 60 ); lv_obj_set_align( ui_brightnesspanel, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_brightnesspanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_brightnesspanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_brightnessbar = lv_bar_create(ui_brightnesspanel); lv_bar_set_value(ui_brightnessbar,100,LV_ANIM_OFF); @@ -139,31 +141,33 @@ lv_obj_set_width( ui_brightnessbar, 180); lv_obj_set_height( ui_brightnessbar, 10); lv_obj_set_align( ui_brightnessbar, LV_ALIGN_CENTER ); -ui_brightnessdownbutton = lv_btn_create(ui_brightnesspanel); +//Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0 +if (lv_obj_get_style_pad_top(ui_brightnessbar,LV_PART_MAIN) > 0) lv_obj_set_style_pad_right( ui_brightnessbar, lv_obj_get_style_pad_right(ui_brightnessbar,LV_PART_MAIN) + 1, LV_PART_MAIN ); +ui_brightnessdownbutton = lv_button_create(ui_brightnesspanel); lv_obj_set_width( ui_brightnessdownbutton, 32); lv_obj_set_height( ui_brightnessdownbutton, 32); lv_obj_set_align( ui_brightnessdownbutton, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_brightnessdownbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_brightnessdownbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_brightnessdownbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label10 = lv_label_create(ui_brightnessdownbutton); lv_obj_set_width( ui_settingsscreen_Label10, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label10, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label10, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label10,LV_SYMBOL_MINUS); +lv_label_set_text(ui_settingsscreen_Label10, LV_SYMBOL_MINUS); -ui_brightnessupbutton = lv_btn_create(ui_brightnesspanel); +ui_brightnessupbutton = lv_button_create(ui_brightnesspanel); lv_obj_set_width( ui_brightnessupbutton, 32); lv_obj_set_height( ui_brightnessupbutton, 32); lv_obj_set_align( ui_brightnessupbutton, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_brightnessupbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_brightnessupbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_brightnessupbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label11 = lv_label_create(ui_brightnessupbutton); lv_obj_set_width( ui_settingsscreen_Label11, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label11, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label11, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label11,LV_SYMBOL_PLUS); +lv_label_set_text(ui_settingsscreen_Label11, LV_SYMBOL_PLUS); ui_fillpanel = lv_obj_create(ui_settingspanel); lv_obj_set_height( ui_fillpanel, 50); @@ -171,7 +175,7 @@ lv_obj_set_width( ui_fillpanel, lv_pct(100)); lv_obj_set_x( ui_fillpanel, 0 ); lv_obj_set_y( ui_fillpanel, 120 ); lv_obj_set_align( ui_fillpanel, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_fillpanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_fillpanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label4 = lv_label_create(ui_fillpanel); lv_obj_set_width( ui_settingsscreen_Label4, LV_SIZE_CONTENT); /// 1 @@ -194,7 +198,7 @@ lv_obj_set_width( ui_hapticpanel, lv_pct(100)); lv_obj_set_x( ui_hapticpanel, 0 ); lv_obj_set_y( ui_hapticpanel, 180 ); lv_obj_set_align( ui_hapticpanel, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_hapticpanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_hapticpanel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label5 = lv_label_create(ui_hapticpanel); lv_obj_set_width( ui_settingsscreen_Label5, LV_SIZE_CONTENT); /// 1 @@ -208,7 +212,7 @@ lv_obj_set_height( ui_settingsscreen_Panel1, 50); lv_obj_set_x( ui_settingsscreen_Panel1, -30 ); lv_obj_set_y( ui_settingsscreen_Panel1, 0 ); lv_obj_set_align( ui_settingsscreen_Panel1, LV_ALIGN_RIGHT_MID ); -lv_obj_clear_flag( ui_settingsscreen_Panel1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_settingsscreen_Panel1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags lv_obj_set_style_border_color(ui_settingsscreen_Panel1, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT ); lv_obj_set_style_border_opa(ui_settingsscreen_Panel1, 0, LV_PART_MAIN| LV_STATE_DEFAULT); @@ -218,44 +222,44 @@ lv_obj_set_height( ui_hapticlabel, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_hapticlabel, LV_ALIGN_CENTER ); lv_label_set_text(ui_hapticlabel,"128"); -ui_hapticdownbutton = lv_btn_create(ui_settingsscreen_Panel1); +ui_hapticdownbutton = lv_button_create(ui_settingsscreen_Panel1); lv_obj_set_width( ui_hapticdownbutton, 32); lv_obj_set_height( ui_hapticdownbutton, 32); lv_obj_set_align( ui_hapticdownbutton, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_hapticdownbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_hapticdownbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_hapticdownbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label7 = lv_label_create(ui_hapticdownbutton); lv_obj_set_width( ui_settingsscreen_Label7, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label7, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label7, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label7,LV_SYMBOL_LEFT); +lv_label_set_text(ui_settingsscreen_Label7, LV_SYMBOL_LEFT); -ui_hapticupbutton = lv_btn_create(ui_settingsscreen_Panel1); +ui_hapticupbutton = lv_button_create(ui_settingsscreen_Panel1); lv_obj_set_width( ui_hapticupbutton, 32); lv_obj_set_height( ui_hapticupbutton, 32); lv_obj_set_align( ui_hapticupbutton, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_hapticupbutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_hapticupbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_hapticupbutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label6 = lv_label_create(ui_hapticupbutton); lv_obj_set_width( ui_settingsscreen_Label6, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label6, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label6, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label6,LV_SYMBOL_RIGHT); +lv_label_set_text(ui_settingsscreen_Label6, LV_SYMBOL_RIGHT); -ui_hapticplaybutton = lv_btn_create(ui_hapticpanel); +ui_hapticplaybutton = lv_button_create(ui_hapticpanel); lv_obj_set_width( ui_hapticplaybutton, 32); lv_obj_set_height( ui_hapticplaybutton, 32); lv_obj_set_align( ui_hapticplaybutton, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_hapticplaybutton, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_hapticplaybutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_hapticplaybutton, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label8 = lv_label_create(ui_hapticplaybutton); lv_obj_set_width( ui_settingsscreen_Label8, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_settingsscreen_Label8, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label8, LV_ALIGN_CENTER ); -lv_label_set_text(ui_settingsscreen_Label8,LV_SYMBOL_PLAY); +lv_label_set_text(ui_settingsscreen_Label8, LV_SYMBOL_PLAY); ui_usb_panel = lv_obj_create(ui_settingspanel); lv_obj_set_height( ui_usb_panel, 50); @@ -263,7 +267,7 @@ lv_obj_set_width( ui_usb_panel, lv_pct(100)); lv_obj_set_x( ui_usb_panel, 0 ); lv_obj_set_y( ui_usb_panel, 240 ); lv_obj_set_align( ui_usb_panel, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_usb_panel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_usb_panel, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_settingsscreen_Label9 = lv_label_create(ui_usb_panel); lv_obj_set_width( ui_settingsscreen_Label9, LV_SIZE_CONTENT); /// 1 @@ -271,12 +275,12 @@ lv_obj_set_height( ui_settingsscreen_Label9, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_settingsscreen_Label9, LV_ALIGN_LEFT_MID ); lv_label_set_text(ui_settingsscreen_Label9,"USB MSC (uSD)"); -ui_usb_button = lv_btn_create(ui_usb_panel); +ui_usb_button = lv_button_create(ui_usb_panel); lv_obj_set_height( ui_usb_button, 32); lv_obj_set_width( ui_usb_button, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_usb_button, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_usb_button, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_usb_button, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_usb_button, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_usb_label = lv_label_create(ui_usb_button); lv_obj_set_width( ui_usb_label, LV_SIZE_CONTENT); /// 1 diff --git a/components/gui/generated/ui.c b/components/gui/generated/ui.c index de2cefd7..9ab22b58 100644 --- a/components/gui/generated/ui.c +++ b/components/gui/generated/ui.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #include "ui.h" @@ -22,7 +22,7 @@ lv_obj_t *ui_battery_soc_text_1; lv_obj_t *ui_Screen1_Label1; lv_obj_t *ui_playbutton; lv_obj_t *ui_Screen1_Label3; -lv_obj_t *ui_rompanel; +lv_obj_t *ui_roms; lv_obj_t *ui_boxartpanel; lv_obj_t *ui_boxart; @@ -70,14 +70,12 @@ lv_obj_t *ui_usb_panel; lv_obj_t *ui_settingsscreen_Label9; lv_obj_t *ui_usb_button; lv_obj_t *ui_usb_label; +lv_obj_t *ui____initial_actions0; ///////////////////// TEST LVGL SETTINGS //////////////////// #if LV_COLOR_DEPTH != 16 #error "LV_COLOR_DEPTH should be 16bit to match SquareLine Studio's settings" #endif -#if LV_COLOR_16_SWAP !=1 - #error "LV_COLOR_16_SWAP should be 1 to match SquareLine Studio's settings" -#endif ///////////////////// ANIMATIONS //////////////////// @@ -99,7 +97,7 @@ if ( event_code == LV_EVENT_CLICKED) { void ui_init( void ) { -lv_disp_t *dispp = lv_disp_get_default(); +lv_disp_t *dispp = lv_display_get_default(); lv_theme_t *theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), true, LV_FONT_DEFAULT); lv_disp_set_theme(dispp, theme); ui_romscreen_screen_init(); diff --git a/components/gui/generated/ui.h b/components/gui/generated/ui.h index 341de1f3..ef7ae0f8 100644 --- a/components/gui/generated/ui.h +++ b/components/gui/generated/ui.h @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #ifndef _EMU_UI_H @@ -14,6 +14,7 @@ extern "C" { #include "ui_helpers.h" #include "ui_events.h" + // SCREEN: ui_romscreen void ui_romscreen_screen_init(void); extern lv_obj_t *ui_romscreen; @@ -27,7 +28,7 @@ extern lv_obj_t *ui_battery_soc_text_1; extern lv_obj_t *ui_Screen1_Label1; extern lv_obj_t *ui_playbutton; extern lv_obj_t *ui_Screen1_Label3; -extern lv_obj_t *ui_rompanel; +extern lv_obj_t *ui_roms; extern lv_obj_t *ui_boxartpanel; extern lv_obj_t *ui_boxart; // SCREEN: ui_settingsscreen @@ -75,6 +76,8 @@ extern lv_obj_t *ui_usb_button; extern lv_obj_t *ui_usb_label; extern lv_obj_t *ui____initial_actions0; +LV_IMG_DECLARE( ui__temporary_image ); + diff --git a/components/gui/generated/ui_comp.c b/components/gui/generated/ui_comp.c index a6e6f75d..fc70ccd0 100644 --- a/components/gui/generated/ui_comp.c +++ b/components/gui/generated/ui_comp.c @@ -19,7 +19,7 @@ lv_obj_t * ui_comp_get_child(lv_obj_t *comp, uint32_t child_idx) { ui_comp_get_child_t info; info.child = NULL; info.child_idx = child_idx; -lv_event_send(comp, LV_EVENT_GET_COMP_CHILD, &info); +lv_obj_send_event(comp, LV_EVENT_GET_COMP_CHILD, &info); return info.child; } @@ -31,7 +31,7 @@ info->child = c[info->child_idx]; void del_component_child_event_cb(lv_event_t* e) { lv_obj_t** c = lv_event_get_user_data(e); -lv_mem_free(c); +lv_free(c); } @@ -62,7 +62,7 @@ lv_obj_set_height( cui_label, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( cui_label, LV_ALIGN_BOTTOM_MID ); lv_obj_set_style_text_align(cui_label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN| LV_STATE_DEFAULT); -lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_ROM_NUM); +lv_obj_t ** children = lv_malloc(sizeof(lv_obj_t *) * _UI_COMP_ROM_NUM); children[UI_COMP_ROM_ROM] = cui_rom; children[UI_COMP_ROM_IMAGE] = cui_image; children[UI_COMP_ROM_LABEL] = cui_label; diff --git a/components/gui/generated/ui_events.h b/components/gui/generated/ui_events.h index 5dc9a30a..5c7e189a 100644 --- a/components/gui/generated/ui_events.h +++ b/components/gui/generated/ui_events.h @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #ifndef _UI_EVENTS_H diff --git a/components/gui/generated/ui_helpers.c b/components/gui/generated/ui_helpers.c index cc8e7562..05740e03 100644 --- a/components/gui/generated/ui_helpers.c +++ b/components/gui/generated/ui_helpers.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #include "ui_helpers.h" @@ -26,7 +26,7 @@ void _ui_dropdown_set_property( lv_obj_t *target, int id, int val) void _ui_image_set_property( lv_obj_t *target, int id, uint8_t *val) { - if (id == _UI_IMAGE_PROPERTY_IMAGE) lv_img_set_src(target, val); + if (id == _UI_IMAGE_PROPERTY_IMAGE) lv_image_set_src(target, val); } void _ui_label_set_property( lv_obj_t *target, int id, const char *val) @@ -46,18 +46,18 @@ void _ui_slider_set_property( lv_obj_t *target, int id, int val) if (id == _UI_SLIDER_PROPERTY_VALUE) lv_slider_set_value(target, val, LV_ANIM_OFF); } -void _ui_screen_change( lv_obj_t ** target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void)) +void _ui_screen_change( lv_obj_t ** target, lv_screen_load_anim_t fademode, int spd, int delay, void (*target_init)(void)) { if(*target == NULL) target_init(); - lv_scr_load_anim(*target, fademode, spd, delay, false); + lv_screen_load_anim(*target, fademode, spd, delay, false); } void _ui_screen_delete( lv_obj_t ** target ) { if(*target == NULL) { - lv_obj_del(*target); + lv_obj_delete(*target); target = NULL; } } @@ -66,7 +66,7 @@ void _ui_arc_increment( lv_obj_t *target, int val) { int old = lv_arc_get_value(target); lv_arc_set_value(target, old+val); - lv_event_send(target,LV_EVENT_VALUE_CHANGED, 0); + lv_obj_send_event(target,LV_EVENT_VALUE_CHANGED, 0); } void _ui_bar_increment( lv_obj_t *target, int val, int anm) @@ -79,7 +79,7 @@ void _ui_slider_increment( lv_obj_t *target, int val, int anm) { int old = lv_slider_get_value(target); lv_slider_set_value(target, old+val, anm); - lv_event_send(target,LV_EVENT_VALUE_CHANGED, 0); + lv_obj_send_event(target,LV_EVENT_VALUE_CHANGED, 0); } void _ui_keyboard_set_target( lv_obj_t *keyboard, lv_obj_t *textarea) @@ -91,27 +91,36 @@ void _ui_flag_modify( lv_obj_t *target, int32_t flag, int value) { if (value==_UI_MODIFY_FLAG_TOGGLE) { - if ( lv_obj_has_flag(target,flag) ) lv_obj_clear_flag(target,flag); + if ( lv_obj_has_flag(target,flag) ) lv_obj_remove_flag(target,flag); else lv_obj_add_flag(target,flag); } else if (value==_UI_MODIFY_FLAG_ADD) lv_obj_add_flag(target,flag); - else lv_obj_clear_flag(target,flag); + else lv_obj_remove_flag(target,flag); } void _ui_state_modify( lv_obj_t *target, int32_t state, int value) { if (value==_UI_MODIFY_STATE_TOGGLE) { - if ( lv_obj_has_state(target,state) ) lv_obj_clear_state(target,state); + if ( lv_obj_has_state(target,state) ) lv_obj_remove_state(target,state); else lv_obj_add_state(target,state); } else if (value==_UI_MODIFY_STATE_ADD) lv_obj_add_state(target,state); - else lv_obj_clear_state(target,state); + else lv_obj_remove_state(target,state); +} + +void _ui_textarea_move_cursor(lv_obj_t * target, int val) +{ + if (val==UI_MOVE_CURSOR_UP) lv_textarea_cursor_up(target); + if (val==UI_MOVE_CURSOR_RIGHT) lv_textarea_cursor_right(target); + if (val==UI_MOVE_CURSOR_DOWN) lv_textarea_cursor_down(target); + if (val==UI_MOVE_CURSOR_LEFT) lv_textarea_cursor_left(target); + lv_obj_add_state(target, LV_STATE_FOCUSED); } void scr_unloaded_delete_cb(lv_event_t * e) { lv_obj_t ** var = lv_event_get_user_data(e); - lv_obj_del(*var); + lv_obj_delete(*var); (*var) = NULL; } @@ -122,7 +131,7 @@ void _ui_opacity_set( lv_obj_t *target, int val) void _ui_anim_callback_free_user_data(lv_anim_t *a) { - lv_mem_free(a->user_data); + lv_free(a->user_data); a->user_data=NULL; } @@ -159,13 +168,13 @@ void _ui_anim_callback_set_opacity(lv_anim_t* a, int32_t v) void _ui_anim_callback_set_image_zoom(lv_anim_t* a, int32_t v) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - lv_img_set_zoom(usr->target, v); + lv_image_set_scale(usr->target, v); } void _ui_anim_callback_set_image_angle(lv_anim_t* a, int32_t v) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - lv_img_set_angle(usr->target, v); + lv_image_set_rotation(usr->target, v); } void _ui_anim_callback_set_image_frame(lv_anim_t* a, int32_t v) @@ -174,7 +183,7 @@ void _ui_anim_callback_set_image_frame(lv_anim_t* a, int32_t v) usr->val = v; if ( v<0 ) v=0; if ( v>=usr->imgset_size ) v=usr->imgset_size-1; - lv_img_set_src(usr->target, usr->imgset[v]); + lv_image_set_src(usr->target, usr->imgset[v]); } int32_t _ui_anim_callback_get_x(lv_anim_t* a) @@ -210,13 +219,13 @@ int32_t _ui_anim_callback_get_opacity(lv_anim_t* a) int32_t _ui_anim_callback_get_image_zoom(lv_anim_t* a) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - return lv_img_get_zoom(usr->target); + return lv_image_get_scale(usr->target); } int32_t _ui_anim_callback_get_image_angle(lv_anim_t* a) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - return lv_img_get_angle(usr->target); + return lv_image_get_rotation(usr->target); } int32_t _ui_anim_callback_get_image_frame(lv_anim_t* a) @@ -244,10 +253,18 @@ void _ui_checked_set_text_value( lv_obj_t *trg, lv_obj_t *src, const char *txt_o else lv_label_set_text(trg,txt_off); } -void _ui_spinbox_step( lv_obj_t *target, int val, int anm) -{ - int old = lv_slider_get_value(target); - lv_slider_set_value(target, old+val, anm); - lv_event_send(target,LV_EVENT_VALUE_CHANGED, 0); +void _ui_spinbox_step(lv_obj_t * target, int val) +{ + if(val > 0) lv_spinbox_increment(target); + else lv_spinbox_decrement(target); + + lv_obj_send_event(target,LV_EVENT_VALUE_CHANGED, 0); +} + +void _ui_switch_theme(int val) +{ +#ifdef UI_THEME_ACTIVE + ui_theme_set(val); +#endif } diff --git a/components/gui/generated/ui_helpers.h b/components/gui/generated/ui_helpers.h index a9b27876..c712414a 100644 --- a/components/gui/generated/ui_helpers.h +++ b/components/gui/generated/ui_helpers.h @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.3.3 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: emu #ifndef _EMU_UI_HELPERS_H @@ -40,7 +40,7 @@ void _ui_roller_set_property( lv_obj_t *target, int id, int val); #define _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM 1 void _ui_slider_set_property( lv_obj_t *target, int id, int val); -void _ui_screen_change( lv_obj_t ** target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void)); +void _ui_screen_change( lv_obj_t ** target, lv_screen_load_anim_t fademode, int spd, int delay, void (*target_init)(void)); void _ui_screen_delete( lv_obj_t ** target ); @@ -62,6 +62,12 @@ void _ui_flag_modify( lv_obj_t *target, int32_t flag, int value); #define _UI_MODIFY_STATE_TOGGLE 2 void _ui_state_modify( lv_obj_t *target, int32_t state, int value); +#define UI_MOVE_CURSOR_UP 0 +#define UI_MOVE_CURSOR_RIGHT 1 +#define UI_MOVE_CURSOR_DOWN 2 +#define UI_MOVE_CURSOR_LEFT 3 +void _ui_textarea_move_cursor(lv_obj_t * target, int val) ; + void scr_unloaded_delete_cb(lv_event_t * e); void _ui_opacity_set( lv_obj_t *target, int val); @@ -69,7 +75,7 @@ void _ui_opacity_set( lv_obj_t *target, int val); /** Describes an animation*/ typedef struct _ui_anim_user_data_t { lv_obj_t *target; - lv_img_dsc_t **imgset; + lv_image_dsc_t **imgset; int32_t imgset_size; int32_t val; } ui_anim_user_data_t; @@ -113,7 +119,9 @@ void _ui_slider_set_text_value( lv_obj_t *trg, lv_obj_t *src, const char *prefix void _ui_checked_set_text_value( lv_obj_t *trg, lv_obj_t *src, const char *txt_on, const char *txt_off); -void _ui_spinbox_step( lv_obj_t *target, int val, int anm); +void _ui_spinbox_step(lv_obj_t * target, int val) ; + +void _ui_switch_theme(int val) ; #ifdef __cplusplus } /*extern "C"*/ diff --git a/components/gui/include/gui.hpp b/components/gui/include/gui.hpp index f68a9e5c..98935147 100644 --- a/components/gui/include/gui.hpp +++ b/components/gui/include/gui.hpp @@ -8,7 +8,7 @@ #include "event_manager.hpp" #include "display.hpp" #include "jpeg.hpp" -#include "task.hpp" +#include "high_resolution_timer.hpp" #include "logger.hpp" #include "box-emu.hpp" @@ -24,8 +24,6 @@ class Gui { play_haptic_fn play_haptic; set_waveform_fn set_waveform; std::string metadata_filename = "metadata.csv"; - std::shared_ptr display; - size_t stack_size_bytes = 6 * 1024; espp::Logger::Verbosity log_level{espp::Logger::Verbosity::WARN}; }; @@ -33,19 +31,12 @@ class Gui { : play_haptic_(config.play_haptic), set_waveform_(config.set_waveform), metadata_filename_(config.metadata_filename), - display_(config.display), logger_({.tag="Gui", .level=config.log_level}) { init_ui(); update_shared_state(); // now start the gui updater task + task_.periodic(16 * 1000); using namespace std::placeholders; - task_ = espp::Task::make_unique({ - .name = "Gui Task", - .callback = std::bind(&Gui::update, this, _1, _2), - .stack_size_bytes = config.stack_size_bytes, - .core_id = 1, - }); - task_->start(); // register events espp::EventManager::get().add_subscriber(mute_button_topic, "gui", @@ -65,7 +56,7 @@ class Gui { espp::EventManager::get().remove_subscriber(mute_button_topic, "gui"); espp::EventManager::get().remove_subscriber(battery_topic, "gui"); espp::EventManager::get().remove_subscriber(volume_changed_topic, "gui"); - task_->stop(); + task_.stop(); deinit_ui(); } @@ -93,21 +84,23 @@ class Gui { void add_rom(const RomInfo& rom); - std::optional get_selected_rom() const { + std::optional get_selected_rom() const { if (focused_rom_ < 0 || focused_rom_ >= rom_infos_.size()) { return std::nullopt; } - return &rom_infos_[focused_rom_]; + return rom_infos_[focused_rom_]; } void pause() { - paused_ = true; freeze_focus(); + paused_ = true; + task_.stop(); } void resume() { update_shared_state(); - paused_ = false; focus_rommenu(); + task_.periodic(16 * 1000); + paused_ = false; } void set_haptic_waveform(int new_waveform) { @@ -156,7 +149,7 @@ class Gui { VideoSetting get_video_setting(); - void on_rom_focused(lv_obj_t *new_focus); + void on_rom_focused(int index); void on_mute_button_pressed(const std::vector& data) { set_mute(espp::EspBox::get().is_muted()); @@ -166,41 +159,26 @@ class Gui { void on_volume(const std::vector& data); - lv_img_dsc_t make_boxart(const std::string& path) { + lv_image_dsc_t make_boxart(const std::string& path) { // load the file - // auto start = std::chrono::high_resolution_clock::now(); decoder_.decode(path.c_str()); - // auto end = std::chrono::high_resolution_clock::now(); - // auto elapsed = std::chrono::duration(end-start).count(); - // fmt::print("Decoding took {:.3f}s\n", elapsed); // make the descriptor - lv_img_dsc_t img_desc = { - .header = { - .cf = LV_IMG_CF_TRUE_COLOR, - .always_zero = 0, - .reserved = 0, - .w = (uint32_t)decoder_.get_width(), - .h = (uint32_t)decoder_.get_height(), - }, - .data_size = (uint32_t)decoder_.get_size(), - .data = decoder_.get_decoded_data(), - }; + lv_image_dsc_t img_desc; + memset(&img_desc, 0, sizeof(img_desc)); + img_desc.header.cf = LV_COLOR_FORMAT_NATIVE; + img_desc.header.w = decoder_.get_width(); + img_desc.header.h = decoder_.get_height(); + img_desc.data_size = decoder_.get_size(); + img_desc.data = decoder_.get_decoded_data(); // and return it return img_desc; } - bool update(std::mutex& m, std::condition_variable& cv) { + void update() { if (!paused_) { std::lock_guard lk(mutex_); lv_task_handler(); } - { - using namespace std::chrono_literals; - std::unique_lock lk(m); - cv.wait_for(lk, 16ms); - } - // don't want to stop the task - return false; } static void event_callback(lv_event_t *e) { @@ -213,6 +191,9 @@ class Gui { switch (event_code) { case LV_EVENT_SHORT_CLICKED: break; + case LV_EVENT_SCROLL: + gui->on_scroll(e); + break; case LV_EVENT_PRESSED: case LV_EVENT_CLICKED: gui->on_pressed(e); @@ -225,9 +206,6 @@ class Gui { case LV_EVENT_KEY: gui->on_key(e); break; - case LV_EVENT_FOCUSED: - gui->on_rom_focused(lv_event_get_target(e)); - break; default: break; } @@ -236,12 +214,12 @@ class Gui { void on_pressed(lv_event_t *e); void on_value_changed(lv_event_t *e); void on_key(lv_event_t *e); + void on_scroll(lv_event_t *e); // LVLG gui objects std::vector rom_infos_; - std::vector roms_; std::atomic focused_rom_{-1}; - lv_img_dsc_t focused_boxart_; + lv_image_dsc_t focused_boxart_; // style for buttons lv_style_t button_style_; @@ -264,10 +242,12 @@ class Gui { std::string metadata_filename_; std::filesystem::file_time_type metadata_last_modified_; - std::atomic ready_to_play_{false}; std::atomic paused_{false}; - std::shared_ptr display_; - std::unique_ptr task_; + std::atomic ready_to_play_{false}; + espp::HighResolutionTimer task_{{ + .name = "Gui Task", + .callback = std::bind(&Gui::update, this), + }}; espp::Logger logger_; std::recursive_mutex mutex_; }; diff --git a/components/gui/squareline/Themes.slt b/components/gui/squareline/Themes.slt new file mode 100644 index 00000000..a7bdc7d4 --- /dev/null +++ b/components/gui/squareline/Themes.slt @@ -0,0 +1,8 @@ +{ + "deftheme": { + "name": "Default", + "properties": [] + }, + "themes": [], + "selected_theme": "Default" +} \ No newline at end of file diff --git a/components/gui/squareline/emu.sll b/components/gui/squareline/emu.sll index e15a8ab9..b7cc267c 100644 --- a/components/gui/squareline/emu.sll +++ b/components/gui/squareline/emu.sll @@ -1 +1,42 @@ -{"name":"emu.spj","depth":2,"width":320,"height":240,"rotation":0,"offset_x":0,"offset_y":0,"shape":"RECTANGLE","multilang":"DISABLE","description":"","board":"Eclipse with SDL for development on PC","board_version":"v1.0.1","editor_version":"1.3.4","image":"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","force_export_images":false,"flat_export":false,"pointfilter":false,"theme_simplified":false,"theme_dark":true,"theme_color1":5,"theme_color2":0,"uiExportFolderPath":"/Users/bob/esp-cpp/esp-box-emu/components/gui/generated","projectExportFolderPath":"/Users/bob/esp-cpp/esp-box-emu/components/gui/squareline","backup_cnt":46,"autosave_cnt":0,"lvgl_version":"8.3.3","callfuncsexport":"C_FILE","lvgl_include_path":""} \ No newline at end of file +{ + "name": "emu.spj", + "depth": 1, + "width": 320, + "height": 240, + "rotation": 0, + "offset_x": 0, + "offset_y": 0, + "shape": "RECTANGLE", + "multilang": "DISABLE", + "description": "", + "board": "Eclipse with SDL for development on PC", + "board_version": "v2.0.0", + "editor_version": "1.4.2", + "image": "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cPRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAp3/ACzptP8A4KQmMooopjCiiigAooooAKKKKACiiigApV+8KSlX71IGRWrvJEN64A4DZ61NtX1pCMcDoOBSUCsO2r60bV9abRQFh21fWjavrTaKAsO2r60bV9abRQFh21fWjavrTaKAsO2r60bV9abRQFh21fWjavrTaKAsO2r60bV9abRQFh21fWjavrTaKAsO2r60bV9abRQFh21fWjavrTaKAsO2r60bV9abRQFh21fWjavrTaKAsOwvr+tQ7Z/O37o9uMbc9vyqSigLDsL6/rRtX1ptFAWHbV9aNq+tNooCw7avrRtX1ptFAWHbV9aNq+tNooCw7avrRtX1ptFAWHbV9ahuneOI7FyDwWz0qSlAzweh4NAWBvvGgAsQACSeABQ33jVnTOdVswf+e6f+hCqhHmkl3FKXLFvsdFZ+EYzArXk0gkIyVjIAX2yQc1Y/4RDT/wDntc/99L/8TXQUV9XHAYeKtynycswxMnfmOf8A+EQ0/wD57XP/AH0v/wATR/wiGn/89rn/AL6X/wCJroKKr6jh/wCRE/XsT/Ozn/8AhENP/wCe1z/30v8A8TWXrPhs2EBubaRpIl++rfeX34612lVNU50m8/64P/6Caxr4DDum7RszahmGIVRXldHm1FaWj6T/AGsb/wDf+V9ks5Lr7m7fsx8vUYznrWza+DraUWVpc61FbaxfxpJbWZgZl+fmMPID8hbjAweozivlj6o5SiultPDFmlhbXOt6yulvds620Rt2lJCttLPgjYu4EZ5PB4qkfD1xHqOpaZM4TUbLdiADIm2ffCt64+YccgHvgEAx6K2L/QhZ6e04uS80PkfaIzHtCeahddrZO7AGDwOemRzWPQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA3dJ8PfbYBcXEjRxt91V6n39q0v+EVsf8Anrcf99L/AIVp6bxpdp/1xT+Qq1XiVcVVc3Z2Pu8LlOEVGPNC7tuzC/4RWx/563H/AH0v+FH/AAitj/z1uP8Avpf8K3aKz+s1v5jf+y8H/wA+0YX/AAitj/z1uP8Avpf8Kgu/CsYhLWk0hkAyFkwQ34jGK6SimsVWTvzEzynByi1yJHmhBUkEYI4INC/eFWNR41O7/wCuz/8AoRquv3hXuJ3Vz4GpHkk49gb7xq7okElzr2nQQrulluokRcgZJYADJqk33jWz4P8A+R20H/sI2/8A6MWri+Vpoza5o2Z6XNol/BbvO0cTxxjLmGeOTaPUhWJA96S00PUb63E8FvmJjtVndUDH0XcRn8K3Psa6dpOpTjS7rT5TB5avdy7g4ZgGVRtXnGfXoelVb/TrvWltLnTk+0W620cWxGGYWVQGVh25yc9Dmvqo4iT3aXn0/P8AU+TeHitk35dfy/QyodJvp76SyWArcRgs6SME2gdSSxAFPk0iW3dVu7m0twwJVjMJQcY4/d7iOvcVv+YjX0sPmrNNb6LJDNIpyC4Vu/fAIGfauQrWnOdR9l/X9bGdSEKa7/1/XU0E0mS4lEdlPDeNtLOYtyiMDHLF1UAc1R13Sr2z026SeHG+1ldGV1ZWAUkkMCQcY9a0dDsYb+6lSUPIUiLxwI4RpmBHygn8T68U7xCbqLTZrSaxWxhjsrpooQxLfNE2S2STk4Hp0rOtUlHmgnfR+u3r+nzNKNOMuWbXVfmvL9fked+GZ9OsdO1i5u9SiiuJrGa1htfKkLuzAYOQpUDqOSOlasWp+HrzUtK8Q3mpSwXVjFAJ9PFuzNM8KhV2OPlAYKuckEc9a5Gw0nUdVd007T7q8dBl1t4WkKj1O0HFLc6NqlleQ2d1pt5BdTY8qCWBld8nA2qRk5PHFfJH1x01xf6L4ptLKXV9VbTbu08xJVFu0omjaRpBs29GBdhhsDoc1Yu/E+mX91faqvk21w8kzrG8Ja4LbQLdkkA+XaQCfmXOD97OK5C30u6uL2WzxFBPFnzEu50t9pBwQTIVGc9uvX0qaTQNRS4ht4ooruabOyOxuI7pjjGciJmI69/6UAXPEOtnVYrcxTIsUiq8tqkQXypFBUDcB8y4+7knaG28Y5wasXun3umz+Rf2lxazYz5c8ZRseuCM017S5inSCS3lSaQKyRshDMGAKkDvkEEeuaAIgCxAAJJ4AHety68G6/Z2k1zPYbUgXfMizRtJEvq0YYso+o4rFkhkgneGdGikRijq6kFCDggjqCPSvS73wxq2iNf2/hzwxdXQa3aJtVkcytNE64YxquFG4HphmAPrQBxUXhPW59MGoJYn7O0bSpulRXdBnLKhO5hweQD0qtFoepTrYGG0eX+0GZbUIQxkKnDcDkYPriu+1O60aM2d54i0dIZkso4msbq2u4rh2jjCAIwcRhCQDnggHoT1ZpUk2j6B4X1O50+5ewFvfQzTLA7LEspKhiQQcc54IJGcGgDidR8OarpTQC6tR+/YpEYZUmDMMZXKE/NyOOvNP1HwrrWlQCe8siiGQRHZIkhRz0VgpJVuDwcGuwsVsorvS77QNAOqT2V+k9xPpNrdGNYx/wAs/wB6x+Y9c4GMDk5qG18F20OuWxXxBAk4vkJg1BfssqL97MiSEMWOVA2qwJJ5oA4zVdHvtEuRbahEkUxXdsWVHK84w20nacjocGkfRtQSexgNqxlv41ktUQhjIrMVXAB7kEYPNdH4r8LalP4w1f8AsqCXV1N1JJK+nwSSrCzMW8tiFxuAxnGfTqCB1rQeMtOTw0NN0ceTDpsa3DXVkg8tt7h1eRl3INpGfmGAfegDzq08K6zfS3MdvaowtpfJlkNxGsYf+6HLBWPHQE1Vl0TUoUv2mtHj+wMqXQchTGWOACDyckdq668h0PV0u9Csb97W307ULq5t5FgknjlgYLk/ICflEfBIxg9RUtxqmk6lba4l1dXFla38Vpb2F3PbO3nm3AVnbaD6DOMkbh1xQBxf9kX3m6fF5Hz6goa1G9f3gLlB34+ZSOcdKqzwSW1xLBMu2WJyjrnOCDgjivQHbw9HN4avH1idINJRU8xrGQLe7JDKfJOP7zlfm244Nc1feHfEd7dXOof8I7qqxTu0+77HIVCsS2c46c9aAMCippLS5iMIkt5UM6h4gyEeYpOAV9QSCMj0p39n3v2uS0+yT/aYt3mQ+Wd6bQS2VxkYAJPpimBXoq/Y6Pc6hCZYZbFFDbSJ76GFs4B+67gkc9cYqaLw1rVzLNHZ6bcX3kkB3sV+0oCRkDfHuXofWkBlUVdutH1SyaZbvTby3aFVeUSwMhRWOFLZHAJ4GetV4bee5LiCGSUojSOEUttUDJY46ADqaAPRNNtZj4etbzZ+4CxxF8j7xTOMdegNW1sblormTymC2wBm3cFMnaODz1NbPhgQ2fgOO6vFGbeWGaKFx/rXMPyD6chj6ge9XPtaan4V1a+kkBvxHFFcA9ZMSrtf8uD/ALo9a8OdJXevdn31LFzUIpLS8Vf1t+j3728zJ/4RjVtwTyYfMIBEYuYt5yMj5d2e/TFVLLSr7UJZI7a3ZjF/rCxCBP8AeJwB+NdxPpkU3iWG4m0e8MeIWN6ZtsIxGvzEbRwMc/N2Nc+FuNc0aS3tHWW9F7JcTwqcGUMBhlB64IYY7ZolRSf9f5CpY2pON3bpr0V++r/QyLrSb6zuIoLi3ZHmx5ZyCr544YHB/Op7jw/fWYZro20KowWQm5jYpzjlVJbj2BNaiwyabp1hp96Qt22oJMkO4Fokxg5x03Ejj/ZrH17/AJGLU/8Ar7l/9DNRKEYq50U61SpJRTVtdbb69Nf8zy/VVCaxfKrq4FxIA65w3zHkZAP5iqi/eFWNS/5Cl3/12f8A9CNV1+8K92Hwo/Pq/wDEl6sG+8as6Z/yFrP/AK7p/wChCqzfeNT2EixajayOcKkyMT6AEVtS0nH1OeprTfoemUUUV9qfEBRRRQAVU1P/AJBN5/1wf/0E1bqlq8ix6PeM5wDEy/iRgfqaiq7U5ejNKOtSPqjA8Ou8fg/xYyMysILbBU4P+vWl8LSPZRaj4muHLtp0QjtC5zm5kyqYz12je/8AwEVzcdzPFDNDHNIkUwAlRXIWQA5G4d8Hnmj7TP8AZfsvnyfZt/meTvOzfjG7HTOOM18SfbnQeKv+JlDp/iNME6hGY7rHa5jwr5/3gUf/AIEaj8JWNxfXGoCK/u7SCGzaa4WzUtLNGGX5FUEZ5IPJwACe1Yf2mf7L9l86T7Pv8zyt52bsY3Y6Zxxmi2urizuEuLWeWCZDlZInKsv0I5FAHW3y3PiOXQ9BtLO9t7aIytFc6i+52RsF3JwAEQKTgZxzySatautjqusaRrejtK9nDcQafKsuN6GPCxufQOigj3Vh2rkZ9Z1S5mkmn1K8llkjMTvJOzMyHqpJPIPp0qvBeXNsjpBcTRK5UuI3KhipyucdcHkehoA9H15tJsfEeo+Gbr7OTqd1LLd3pGfs0ruTAAfRARv/AOujjtV3U7aKDVPGltfyXMKx2WnpI1pGJJAQIRwCyg8+/SvKJppbiaSaaR5JZGLu7sSzMTkkk9Sauwa9rNrdSXNvq1/DcSqqySx3Lq7qBgAkHJAAAH0osB3QXS7bSvC8VxLd3Gj3GsGSeTUkEbIE2BlCZI2ENkkMc4xxiq0Evjo+PI0nfUTMlz86uW8hYi3zdflEW38MVxF9qV/qcwl1C9ubuUDAe4laQgemSTUh1rVTYCwOp3hsgMfZzO3l4/3c4oA6rVJbeLwhrTaW5Sz/AOEjxbmMkfuvLl2/hjFcS7vI5Z2ZmPUscmn/AGmcWptRNJ9nLiQxbzsLgYDY6ZwSM+9RUAdvoaWb/Dq7F7Pfwx/2tHhrKESuT5L8EFl46859Ku6rqkfh+68KHFzd6ctrI0hvBtmmhldkkjZP4RgNt5I5yDXFWGuatpUbx6dql7Zo5yy29w8YY+pCkZqtd3l1f3DXF5czXEzdZJnLsfxPNAHfeItmg6Le20Wk6faXWozG3tpbLzcy2g2sX+d24cmMDGOA9Yur2lyfBHhpRby5D3eRsPHzpXPHUb5praZr24MtqqrbuZW3QhTlQhz8oB5GOlaP/CY+J/8AoY9X/wDA6X/4qgC/rNtOPA3hvMEg2vdlsoeBvTrWz44jsP7WunN5rK3f2WAiKO1UwZ8hMDf5gOPU7eOetcpL4r8RzwvDN4g1WSKRSro95IVZTwQQTyKD4q8RGAwHX9UMJXZ5f2yTbtxjGM4xjtQB3C6pLp9x4Q+zeHINSnGmwlJtspmUmSQYQhtoI6glSQTn0qjY2GneGPEGt6nqFxPNpsNzNpluyMDJMzgq7Z77I2JJ7sVHeuRi8Sa7DZizi1rUY7VV2CBbpwgX025xiqMlzPLBFBJPI8MOfKjZyVTJydo6DJ64oAs6vpkuj6pPYysr+WQUlT7sqEZV19mBBH1rqtCS0f4dXYvJ7+GP+1o8NYwiVyfKfggsvHvn0rjJrie4EYmmkl8pBHHvYtsUdFGeg5PFWrDXNW0qN49O1S9s0c5Zbe4eMMfUhSM0Adj4Z0601C08U2z3lylgsNvJLcXaBJREsqs3y5b5sAgDJycetXtJurPxHa61qltbwWVzY6VdwPbR4G62MRETe5X7jHvlD6159c6vqd407XWo3c7TqqzGWdmMgU5UNk8gEZGelV4Lme2LmCaSIyI0bmNyu5CMFTjqCOooA73Tf+QXaf8AXFP/AEEVaqnpTrJpVoVOQIlX8QMH+VXK+dqfGz9Mw7Toxa7L8goooqDYKKKKAPPNS/5Cl3/12f8A9CNV1+8KnvnWXULmRDlWlZgfUEmoF+8K+jh8KPzGu06kmu7BvvGkpscizKGUjPcelP2n0qjJM1rPxJqFnAIQY5UUYXzFJIH1BFWP+Ev1D/njbf8AfLf/ABVYO0+lG0+ldUcbXirKbOaWDw8ndxRvf8JfqH/PG2/75b/4qj/hL9Q/5423/fLf/FVg7T6UbT6U/r2I/nYvqOG/kRvf8JfqH/PG2/75b/4qs/UdYvNTws7qEByEQYGao7T6UbT6VE8XWqR5ZSbRUMLQpy5oxSYlFLtPpRtPpXOdNxKKXafSjafSgLiUUu0+lG0+lAXEopdp9KNp9KAuJRS7T6UbT6UBcSil2n0o2n0oC4lFLtPpRtPpQFxKKXafSjafSgLiUUu0+lG0+lAXEopdp9KNp9KAuJRS7T6UbT6UBcSil2n0o2n0oC5dsNWu9OyIWBQnJRxkZq9/wlV9/wA8rf8A75b/ABrE2n0o2n0rKVCnJ3aOulmGJpR5ITaRt/8ACVX3/PK3/wC+W/xo/wCEqvv+eVv/AN8t/jWJtPpRtPpU/VqP8pp/auM/5+M2/wDhKr7/AJ5W/wD3y3+NQXfiG+u4TETHGrDDeWCCR+JNZe0+lG0+lNYekndRJnmWKnFxlUdmJSr94UbT6UySRYVLMRnsPWtjhbP/2Q==", + "force_export_images": false, + "flat_export": false, + "advanced_alpha": false, + "pointfilter": false, + "theme_simplified": false, + "theme_dark": true, + "theme_color1": 5, + "theme_color2": 0, + "uiExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/gui/generated", + "projectExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/gui/squareline", + "backup_cnt": 68, + "autosave_cnt": 0, + "lvgl_version": "9.1.0", + "callfuncsexport": "C_FILE", + "imageexport": "SOURCE", + "lvgl_include_path": "", + "drive_stdio": "-", + "drive_stdio_path": "", + "drive_posix": "-", + "drive_posix_path": "", + "drive_win32": "-", + "drive_win32_path": "", + "drive_fatfs": "-", + "drive_fatfs_path": "", + "naming": "", + "naming_force_lowercase": false +} \ No newline at end of file diff --git a/components/gui/squareline/emu.spj b/components/gui/squareline/emu.spj index 15fe518d..6fc52920 100644 --- a/components/gui/squareline/emu.spj +++ b/components/gui/squareline/emu.spj @@ -243,6 +243,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1756702888, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 274577618, "strtype": "LABEL/User_1", @@ -289,14 +295,8 @@ "childs": [], "nid": 1037011229, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 1195103384, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -527,6 +527,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 276304845, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1232877386, "strtype": "BUTTON/User_1", @@ -687,7 +693,7 @@ ], "nid": 1125857505, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -998,6 +1004,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1593326284, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1811167669, "strtype": "OBJECT/User_1", @@ -1044,14 +1056,8 @@ "childs": [], "nid": 233064373, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -1855626832, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -1285,6 +1291,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1431660374, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 968354392, "strtype": "OBJECT/User_1", @@ -1331,14 +1343,8 @@ "childs": [], "nid": 1074575697, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -684460972, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -1572,6 +1578,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -60722346, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1457544261, "strtype": "OBJECT/User_1", @@ -1618,14 +1630,8 @@ "childs": [], "nid": -718969157, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 1536253359, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -1859,6 +1865,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1181892425, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1544685538, "strtype": "LABEL/User_1", @@ -1905,14 +1917,8 @@ "childs": [], "nid": 1764472988, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -295841366, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -2149,6 +2155,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1588313710, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 605592415, "strtype": "LABEL/User_1", @@ -2195,14 +2207,8 @@ "childs": [], "nid": -169174998, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 1168885217, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -2432,6 +2438,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1223070125, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 160076551, "strtype": "BUTTON/User_1", @@ -2592,12 +2604,11 @@ ], "nid": 1961753684, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], - "saved_objtypeKey": "BUTTON", - "tree_closed": true + "saved_objtypeKey": "BUTTON" } ], "locked": false, @@ -2825,6 +2836,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1730638529, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1782615455, "strtype": "PANEL/User_1", @@ -2854,7 +2871,7 @@ "childs": [], "nid": -1875185321, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -2869,19 +2886,19 @@ "saved_objtypeKey": "PANEL" }, { - "guid": "GUID81773217-184225S9061311", - "deepid": -2106017550, + "guid": "GUID16575169-731042S85983226", + "deepid": -1895894873, "locked": false, "properties": [ { - "nid": 1624090982, + "nid": -348983909, "strtype": "OBJECT/Name", - "strval": "rompanel", + "strval": "roms", "InheritedType": 10 }, { - "nid": -1737501268, - "strtype": "PANEL/Layout", + "nid": -245501219, + "strtype": "OBJECT/Layout", "InheritedType": 1 }, { @@ -2892,18 +2909,18 @@ "CrossAlignment": 0, "TrackAlignment": 0, "LayoutType": 0, - "nid": -1430644174, - "strtype": "PANEL/Layout_type", + "nid": 723792131, + "strtype": "OBJECT/Layout_type", "strval": "No_layout", "InheritedType": 13 }, { - "nid": -125572465, + "nid": -1402546252, "strtype": "OBJECT/Transform", "InheritedType": 1 }, { - "nid": 594690190, + "nid": 1541450772, "flags": 17, "strtype": "OBJECT/Position", "intarray": [ @@ -2913,7 +2930,7 @@ "InheritedType": 7 }, { - "nid": 1493274914, + "nid": 599643156, "flags": 17, "strtype": "OBJECT/Size", "intarray": [ @@ -2923,221 +2940,216 @@ "InheritedType": 7 }, { - "nid": 783565123, + "nid": -979845172, "strtype": "OBJECT/Align", "strval": "BOTTOM_LEFT", "InheritedType": 3 }, { - "nid": -478748334, + "nid": 765774471, + "flags": 1048576, "strtype": "OBJECT/Flags", "InheritedType": 1 }, { - "nid": 257378300, + "nid": 429543565, "strtype": "OBJECT/Hidden", "strval": "False", "InheritedType": 2 }, { - "nid": 2004092468, + "nid": 814546957, "strtype": "OBJECT/Clickable", "strval": "True", "InheritedType": 2 }, { - "nid": 1644180872, + "nid": 1238093661, "strtype": "OBJECT/Checkable", "strval": "False", "InheritedType": 2 }, { - "nid": 291669969, + "nid": -1112955712, "strtype": "OBJECT/Press_lock", "strval": "True", "InheritedType": 2 }, { - "nid": -260397889, + "nid": -675889355, "strtype": "OBJECT/Click_focusable", "strval": "True", "InheritedType": 2 }, { - "nid": 1944124269, + "nid": -1195306912, "strtype": "OBJECT/Adv_hittest", "strval": "False", "InheritedType": 2 }, { - "nid": -371491316, + "nid": -192691061, "strtype": "OBJECT/Ignore_layout", "strval": "False", "InheritedType": 2 }, { - "nid": 813645260, + "nid": -2039653412, "strtype": "OBJECT/Floating", "strval": "False", "InheritedType": 2 }, { - "nid": -929333653, - "strtype": "PANEL/Overflow_visible", + "nid": -925515577, + "strtype": "OBJECT/Overflow_visible", "strval": "False", "InheritedType": 2 }, { - "nid": 944855108, - "strtype": "PANEL/Flex_in_new_track", + "nid": -1570391641, + "strtype": "OBJECT/Flex_in_new_track", "strval": "False", "InheritedType": 2 }, { - "nid": 793910599, + "nid": -1562855992, "strtype": "OBJECT/Event_bubble", "strval": "False", "InheritedType": 2 }, { - "nid": 1813277656, + "nid": 596126809, "strtype": "OBJECT/Gesture_bubble", "strval": "True", "InheritedType": 2 }, { - "nid": 1195017156, + "nid": 769324680, "strtype": "OBJECT/Snappable", "strval": "True", "InheritedType": 2 }, { - "nid": -432638701, - "strtype": "OBJECT/Scrollable", - "strval": "True", - "InheritedType": 2 - }, - { - "nid": -1348672465, - "strtype": "OBJECT/Scroll_elastic", - "strval": "True", - "InheritedType": 2 - }, - { - "nid": -332672446, - "strtype": "OBJECT/Scroll_momentum", - "strval": "True", - "InheritedType": 2 - }, - { - "nid": 555617621, - "strtype": "OBJECT/Scroll_on_focus", - "strval": "True", - "InheritedType": 2 - }, - { - "nid": -566057317, - "strtype": "OBJECT/Scroll_chain", - "strval": "True", - "InheritedType": 2 - }, - { - "nid": 318221835, - "strtype": "PANEL/Scroll_with_arrow", + "nid": -650664378, + "strtype": "OBJECT/Scroll_with_arrow", "strval": "False", "InheritedType": 2 }, { - "nid": 1251351714, - "strtype": "OBJECT/Scroll_one", - "strval": "True", - "InheritedType": 2 - }, - { - "nid": -2118778781, - "strtype": "OBJECT/Scrollbar_mode", - "strval": "AUTO", - "InheritedType": 3 - }, - { - "nid": -354263957, - "strtype": "OBJECT/Scroll_direction", - "strval": "VER", - "InheritedType": 3 - }, - { - "nid": -301932538, + "nid": 1780802486, "flags": 1048576, "strtype": "OBJECT/States", "InheritedType": 1 }, { - "nid": 1206873254, + "nid": -1005787040, "strtype": "OBJECT/Checked", "strval": "False", "InheritedType": 2 }, { - "nid": -1637185019, + "nid": -516931902, "strtype": "OBJECT/Disabled", "strval": "False", "InheritedType": 2 }, { - "nid": 1591254541, + "nid": -116809404, "strtype": "OBJECT/Focused", "strval": "False", "InheritedType": 2 }, { - "nid": 1123710285, + "nid": -69960336, "strtype": "OBJECT/Pressed", "strval": "False", "InheritedType": 2 }, { - "nid": 1933572328, - "strtype": "PANEL/User_1", + "nid": -24504736, + "strtype": "OBJECT/Edited", "strval": "False", "InheritedType": 2 }, { - "nid": 2058213407, - "strtype": "PANEL/User_2", + "nid": -741365000, + "strtype": "OBJECT/User_1", "strval": "False", "InheritedType": 2 }, { - "nid": -1619240045, - "strtype": "PANEL/User_3", + "nid": -1264350689, + "strtype": "OBJECT/User_2", "strval": "False", "InheritedType": 2 }, { - "nid": 880126800, - "strtype": "PANEL/User_4", + "nid": 770314600, + "strtype": "OBJECT/User_3", "strval": "False", "InheritedType": 2 }, + { + "nid": 704651201, + "strtype": "OBJECT/User_4", + "strval": "False", + "InheritedType": 2 + }, + { + "nid": 529808024, + "strtype": "ROLLER/Roller", + "InheritedType": 1 + }, + { + "nid": 1363487134, + "strtype": "ROLLER/Options", + "strval": "Test\\n2\\n3", + "InheritedType": 10 + }, + { + "nid": 1708248303, + "strtype": "ROLLER/Mode", + "strval": "INFINITE", + "InheritedType": 3 + }, + { + "nid": -2133158606, + "strtype": "ROLLER/Selected", + "InheritedType": 6 + }, { "part": "lv.PART.MAIN", - "childs": [], - "nid": 514781749, - "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "childs": [ + { + "nid": 515218742, + "strtype": "_style/StyleState", + "strval": "DEFAULT", + "childs": [ + { + "nid": -1397958973, + "strtype": "_style/Text_Align", + "strval": "LEFT", + "InheritedType": 3 + } + ], + "InheritedType": 1 + } + ], + "nid": -1260877772, + "strtype": "ROLLER/Style_main", + "strval": "lv.PART.MAIN, Text, Rectangle, Transform", "InheritedType": 11 }, { - "part": "lv.PART.SCROLLBAR", + "part": "lv.PART.SELECTED", "childs": [], - "nid": 1493062028, - "strtype": "PANEL/Style_scrollbar", - "strval": "lv.PART.SCROLLBAR, Rectangle, Pad", + "nid": 240506885, + "strtype": "ROLLER/Style_selected", + "strval": "lv.PART.SELECTED, Text, Rectangle", "InheritedType": 11 } ], - "saved_objtypeKey": "PANEL", - "tree_closed": true + "saved_objtypeKey": "ROLLER" }, { "guid": "GUID63675663-184735S481311", @@ -3371,6 +3383,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1465146244, + "strtype": "IMAGE/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1875283100, "strtype": "IMAGE/User_1", @@ -3403,11 +3421,12 @@ { "nid": -1142835856, "strtype": "IMAGE/Asset", - "strval": "", + "strval": "-", "InheritedType": 5 }, { "nid": 703339987, + "flags": 2097152, "strtype": "IMAGE/Pivot", "intarray": [ 0, @@ -3417,21 +3436,29 @@ }, { "nid": -1756705934, + "flags": 2097152, "strtype": "IMAGE/Rotation", "InheritedType": 6 }, { "nid": -226171153, + "flags": 2097152, "strtype": "IMAGE/Scale", "integer": 256, "InheritedType": 6 }, + { + "nid": 1971248099, + "strtype": "IMAGE/Inner_align", + "strval": "TILE", + "InheritedType": 3 + }, { "part": "lv.PART.MAIN", "childs": [], "nid": 1076877138, "strtype": "IMAGE/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Image", + "strval": "lv.PART.MAIN, Rectangle, Image, Transform", "InheritedType": 11 } ], @@ -3663,6 +3690,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1947381405, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1705847695, "strtype": "PANEL/User_1", @@ -3692,7 +3725,7 @@ "childs": [], "nid": -2002851217, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -3704,11 +3737,12 @@ "InheritedType": 11 } ], - "saved_objtypeKey": "PANEL", - "tree_closed": true + "saved_objtypeKey": "PANEL" } ], "isPage": true, + "editor_posx": 400, + "editor_posy": -400, "locked": false, "properties": [ { @@ -3860,6 +3894,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 218898043, + "strtype": "SCREEN/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1670638674, "strtype": "SCREEN/User_1", @@ -3895,6 +3935,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -169599917, + "strtype": "SCREEN/Don't export screen", + "strval": "False", + "InheritedType": 2 + }, { "part": "lv.PART.MAIN", "childs": [ @@ -3938,12 +3984,12 @@ "InheritedType": 1 }, { - "nid": 1654887382, + "nid": -2073654570, "strtype": "_style/StyleState", - "strval": "CHECKED|PRESSED", + "strval": "DISABLED", "childs": [ { - "nid": -1772694724, + "nid": -335591984, "strtype": "_style/Paddings", "InheritedType": 1 } @@ -3951,12 +3997,12 @@ "InheritedType": 1 }, { - "nid": -2073654570, + "nid": 1654887382, "strtype": "_style/StyleState", - "strval": "DISABLED", + "strval": "CHECKED|PRESSED", "childs": [ { - "nid": -335591984, + "nid": -1772694724, "strtype": "_style/Paddings", "InheritedType": 1 } @@ -4028,12 +4074,6 @@ "strtype": "SCREEN/Style_scrollbar", "strval": "lv.PART.SCROLLBAR, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -169599917, - "strtype": "SCREEN/Don't export screen", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "SCREEN" @@ -4274,6 +4314,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -766197798, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 690999965, "strtype": "OBJECT/User_1", @@ -4320,14 +4366,8 @@ "childs": [], "nid": 738953596, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 161410287, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -4561,6 +4601,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2091952206, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 533199250, "strtype": "OBJECT/User_1", @@ -4607,14 +4653,8 @@ "childs": [], "nid": -810936272, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -1362371227, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -4848,6 +4888,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1780197207, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -594792558, "strtype": "OBJECT/User_1", @@ -4894,14 +4940,8 @@ "childs": [], "nid": -97494653, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -610222201, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -5139,6 +5179,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1185952509, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 23475991, "strtype": "LABEL/User_1", @@ -5185,14 +5231,8 @@ "childs": [], "nid": -964379850, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -1347939066, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -5423,6 +5463,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2119033666, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 2091754339, "strtype": "BUTTON/User_1", @@ -5583,7 +5629,7 @@ ], "nid": 1693716685, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -5893,6 +5939,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1780296613, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1028724016, "strtype": "LABEL/User_1", @@ -5939,14 +5991,8 @@ "childs": [], "nid": 1508559270, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 748402945, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -6177,6 +6223,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -859481223, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 169045231, "strtype": "PANEL/User_1", @@ -6206,7 +6258,7 @@ "childs": [], "nid": 1730033866, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -6414,6 +6466,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -88837421, + "strtype": "BAR/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1773039634, "strtype": "BAR/User_1", @@ -6458,12 +6516,23 @@ "integer": 25, "InheritedType": 6 }, + { + "nid": -788568469, + "strtype": "BAR/Mode", + "strval": "NORMAL", + "InheritedType": 3 + }, + { + "nid": 595901786, + "strtype": "BAR/Value_start", + "InheritedType": 6 + }, { "part": "lv.PART.MAIN", "childs": [], "nid": 1818187202, "strtype": "BAR/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Anim1", + "strval": "lv.PART.MAIN, Rectangle, Pad, Anim1, Transform", "InheritedType": 11 }, { @@ -6473,17 +6542,6 @@ "strtype": "BAR/Style_indicator", "strval": "lv.PART.INDICATOR, Rectangle", "InheritedType": 11 - }, - { - "nid": -788568469, - "strtype": "BAR/Mode", - "strval": "NORMAL", - "InheritedType": 3 - }, - { - "nid": 595901786, - "strtype": "BAR/Value_start", - "InheritedType": 6 } ], "saved_objtypeKey": "BAR" @@ -6720,6 +6778,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1412373091, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 263484897, "strtype": "LABEL/User_1", @@ -6766,14 +6830,8 @@ "childs": [], "nid": -400461348, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -777522670, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -7005,6 +7063,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1238979996, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -2035581471, "strtype": "BUTTON/User_1", @@ -7165,7 +7229,7 @@ ], "nid": 1025397561, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -7403,6 +7467,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1670770859, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1862294777, "strtype": "LABEL/User_1", @@ -7449,14 +7519,8 @@ "childs": [], "nid": -656991961, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -523790132, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -7686,6 +7750,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2081732377, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1696273742, "strtype": "BUTTON/User_1", @@ -7846,7 +7916,7 @@ ], "nid": -1856289680, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -8084,6 +8154,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1472353532, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 120644699, "strtype": "LABEL/User_1", @@ -8130,14 +8206,8 @@ "childs": [], "nid": 1316225288, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 768272301, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -8369,6 +8439,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 762325060, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1941219782, "strtype": "BUTTON/User_1", @@ -8529,7 +8605,7 @@ ], "nid": -981339932, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -8761,6 +8837,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 604441744, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1411820450, "strtype": "PANEL/User_1", @@ -8790,7 +8872,7 @@ "childs": [], "nid": -1420950959, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -8994,6 +9076,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1380634550, + "strtype": "BAR/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -877389930, "strtype": "BAR/User_1", @@ -9038,12 +9126,23 @@ "integer": 100, "InheritedType": 6 }, + { + "nid": -1945140, + "strtype": "BAR/Mode", + "strval": "NORMAL", + "InheritedType": 3 + }, + { + "nid": -1406158434, + "strtype": "BAR/Value_start", + "InheritedType": 6 + }, { "part": "lv.PART.MAIN", "childs": [], "nid": -272316128, "strtype": "BAR/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Anim1", + "strval": "lv.PART.MAIN, Rectangle, Pad, Anim1, Transform", "InheritedType": 11 }, { @@ -9053,17 +9152,6 @@ "strtype": "BAR/Style_indicator", "strval": "lv.PART.INDICATOR, Rectangle", "InheritedType": 11 - }, - { - "nid": -1945140, - "strtype": "BAR/Mode", - "strval": "NORMAL", - "InheritedType": 3 - }, - { - "nid": -1406158434, - "strtype": "BAR/Value_start", - "InheritedType": 6 } ], "saved_objtypeKey": "BAR" @@ -9300,6 +9388,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1965509969, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1136043065, "strtype": "LABEL/User_1", @@ -9346,14 +9440,8 @@ "childs": [], "nid": 127800616, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 423766439, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -9583,6 +9671,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 135468287, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1146107216, "strtype": "BUTTON/User_1", @@ -9743,7 +9837,7 @@ ], "nid": -249148430, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -9981,6 +10075,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1618301210, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1236131485, "strtype": "LABEL/User_1", @@ -10027,14 +10127,8 @@ "childs": [], "nid": 414007950, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -2080162829, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -10266,6 +10360,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1527911175, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1844598422, "strtype": "BUTTON/User_1", @@ -10426,7 +10526,7 @@ ], "nid": 361840996, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -10658,6 +10758,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1037635416, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 900794096, "strtype": "PANEL/User_1", @@ -10687,7 +10793,7 @@ "childs": [], "nid": 891248898, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -10933,6 +11039,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 316529411, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1845005135, "strtype": "LABEL/User_1", @@ -10979,14 +11091,8 @@ "childs": [], "nid": 557783208, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -1308994622, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -11219,6 +11325,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -996399863, + "strtype": "DROPDOWN/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 403553676, "strtype": "DROPDOWN/User_1", @@ -11244,8 +11356,8 @@ "InheritedType": 2 }, { - "nid": 1723195836, - "strtype": "DROPDOWN/Label", + "nid": -1616276809, + "strtype": "DROPDOWN/Dropdown", "InheritedType": 1 }, { @@ -11277,7 +11389,7 @@ "childs": [], "nid": -1089257542, "strtype": "DROPDOWN/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 }, { @@ -11541,6 +11653,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 551161193, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -996734966, "strtype": "PANEL/User_1", @@ -11570,7 +11688,7 @@ "childs": [], "nid": 1248955287, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -11816,6 +11934,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 284449420, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 951516878, "strtype": "LABEL/User_1", @@ -11862,14 +11986,8 @@ "childs": [], "nid": -1148811272, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -1912129680, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -12106,6 +12224,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1403920151, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 50834297, "strtype": "LABEL/User_1", @@ -12152,14 +12276,8 @@ "childs": [], "nid": 692439944, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 2025898768, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -12396,6 +12514,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2132655715, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -2027685276, "strtype": "LABEL/User_1", @@ -12442,14 +12566,8 @@ "childs": [], "nid": -1895592964, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -118071692, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -12681,6 +12799,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2061102923, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1690553235, "strtype": "BUTTON/User_1", @@ -12841,7 +12965,7 @@ ], "nid": 250447315, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -13079,6 +13203,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 260004694, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1261504964, "strtype": "LABEL/User_1", @@ -13125,14 +13255,8 @@ "childs": [], "nid": 1957686224, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 1893833962, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -13364,6 +13488,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -607597870, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1367446507, "strtype": "BUTTON/User_1", @@ -13524,7 +13654,7 @@ ], "nid": -1615171284, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -13756,6 +13886,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -226546891, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -2111490187, "strtype": "PANEL/User_1", @@ -13805,7 +13941,7 @@ ], "nid": 1769957676, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -14051,6 +14187,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1251679041, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -421647348, "strtype": "LABEL/User_1", @@ -14097,14 +14239,8 @@ "childs": [], "nid": -898371069, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 508262012, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -14336,6 +14472,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1342969120, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 751850441, "strtype": "BUTTON/User_1", @@ -14496,7 +14638,7 @@ ], "nid": 45612525, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -14728,6 +14870,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1896887860, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 78034929, "strtype": "PANEL/User_1", @@ -14757,7 +14905,7 @@ "childs": [], "nid": -100527752, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -15004,6 +15152,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1537733057, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 551840187, "strtype": "LABEL/User_1", @@ -15050,14 +15204,8 @@ "childs": [], "nid": -245721745, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": -132230503, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -15294,6 +15442,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 224473038, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -278867550, "strtype": "LABEL/User_1", @@ -15340,14 +15494,8 @@ "childs": [], "nid": 1054046688, "strtype": "LABEL/Style_main", - "strval": "lv.PART.MAIN, Text, Rectangle, Pad", + "strval": "lv.PART.MAIN, Text, Rectangle, Pad, Transform", "InheritedType": 11 - }, - { - "nid": 428011472, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -15579,6 +15727,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1836300902, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1478380885, "strtype": "BUTTON/User_1", @@ -15739,7 +15893,7 @@ ], "nid": -1086559904, "strtype": "BUTTON/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text ", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 } ], @@ -15971,6 +16125,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 147049566, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -789930333, "strtype": "PANEL/User_1", @@ -16000,7 +16160,7 @@ "childs": [], "nid": -1687117505, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -16239,6 +16399,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1787812684, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -954894945, "strtype": "PANEL/User_1", @@ -16288,7 +16454,7 @@ ], "nid": -942187392, "strtype": "PANEL/Style_main", - "strval": "lv.PART.MAIN, Rectangle, Pad, Text", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", "InheritedType": 11 }, { @@ -16304,6 +16470,8 @@ } ], "isPage": true, + "editor_posx": 800, + "editor_posy": -400, "locked": false, "properties": [ { @@ -16455,6 +16623,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1976067615, + "strtype": "SCREEN/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1318432714, "strtype": "SCREEN/User_1", @@ -16490,6 +16664,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1348083556, + "strtype": "SCREEN/Don't export screen", + "strval": "False", + "InheritedType": 2 + }, { "part": "lv.PART.MAIN", "childs": [ @@ -16533,12 +16713,12 @@ "InheritedType": 1 }, { - "nid": 825373222, + "nid": -1794207221, "strtype": "_style/StyleState", - "strval": "CHECKED|PRESSED", + "strval": "DISABLED", "childs": [ { - "nid": 1004715997, + "nid": -1241220935, "strtype": "_style/Paddings", "InheritedType": 1 } @@ -16546,12 +16726,12 @@ "InheritedType": 1 }, { - "nid": -1794207221, + "nid": 825373222, "strtype": "_style/StyleState", - "strval": "DISABLED", + "strval": "CHECKED|PRESSED", "childs": [ { - "nid": -1241220935, + "nid": 1004715997, "strtype": "_style/Paddings", "InheritedType": 1 } @@ -16623,12 +16803,6 @@ "strtype": "SCREEN/Style_scrollbar", "strval": "lv.PART.SCROLLBAR, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -1348083556, - "strtype": "SCREEN/Don't export screen", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "SCREEN" @@ -16646,9 +16820,10 @@ "saved_objtypeKey": "STARTEVENTS" }, "animations": [], + "selected_theme": "Default", "info": { "name": "emu.spj", - "depth": 2, + "depth": 1, "width": 320, "height": 240, "rotation": 0, @@ -16658,11 +16833,12 @@ "multilang": "DISABLE", "description": "", "board": "Eclipse with SDL for development on PC", - "board_version": "v1.0.1", - "editor_version": "1.3.4", + "board_version": "v2.0.0", + "editor_version": "1.4.2", "image": "", "force_export_images": false, "flat_export": false, + "advanced_alpha": false, "pointfilter": false, "theme_simplified": false, "theme_dark": true, @@ -16670,11 +16846,22 @@ "theme_color2": 0, "uiExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/gui/generated", "projectExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/gui/squareline", - "backup_cnt": 45, + "backup_cnt": 67, "autosave_cnt": 0, - "lvgl_version": "8.3.3", + "lvgl_version": "9.1.0", "callfuncsexport": "C_FILE", + "imageexport": "SOURCE", "lvgl_include_path": "", + "drive_stdio": "-", + "drive_stdio_path": "", + "drive_posix": "-", + "drive_posix_path": "", + "drive_win32": "-", + "drive_win32_path": "", + "drive_fatfs": "-", + "drive_fatfs_path": "", + "naming": null, + "naming_force_lowercase": false, "BitDepth": 16, "Name": "emu" } diff --git a/components/gui/src/gui.cpp b/components/gui/src/gui.cpp index 7448a900..522921b2 100644 --- a/components/gui/src/gui.cpp +++ b/components/gui/src/gui.cpp @@ -39,11 +39,8 @@ VideoSetting Gui::get_video_setting() { void Gui::clear_rom_list() { // protect since this function is called from another thread context std::lock_guard lk(mutex_); - // clear the rom list - for (auto rom : roms_) { - lv_obj_del(rom); - } - roms_.clear(); + // empty the options from the rom roller + lv_roller_set_options(ui_roms, "", LV_ROLLER_MODE_INFINITE); rom_infos_.clear(); focused_rom_ = -1; } @@ -87,60 +84,29 @@ void Gui::add_rom(const RomInfo& rom_info) { if (std::find(rom_infos_.begin(), rom_infos_.end(), rom_info) != rom_infos_.end()) { return; } - // make a new rom, which is a button with a label in it - // make the rom's button - auto new_rom = lv_btn_create(ui_rompanel); - lv_obj_set_size(new_rom, LV_PCT(100), LV_SIZE_CONTENT); - lv_obj_add_flag(new_rom, LV_OBJ_FLAG_SCROLL_ON_FOCUS); - lv_obj_clear_flag(new_rom, LV_OBJ_FLAG_SCROLLABLE); - lv_obj_add_event_cb(new_rom, &Gui::event_callback, LV_EVENT_PRESSED, static_cast(this)); - lv_obj_add_event_cb(new_rom, &Gui::event_callback, LV_EVENT_KEY, static_cast(this)); - lv_obj_add_event_cb(new_rom, &Gui::event_callback, LV_EVENT_FOCUSED, static_cast(this)); - lv_obj_center(new_rom); - // set the rom's label text - auto label = lv_label_create(new_rom); - lv_label_set_long_mode(label, LV_LABEL_LONG_SCROLL_CIRCULAR); - lv_obj_set_width(label, LV_PCT(100)); - lv_obj_add_flag(label, LV_OBJ_FLAG_EVENT_BUBBLE); - lv_obj_add_flag(label, LV_OBJ_FLAG_GESTURE_BUBBLE); - lv_label_set_text(label, rom_info.name.c_str()); - lv_obj_add_style(label, &rom_label_style_, LV_STATE_DEFAULT); - lv_obj_center(label); - // and add it to our vectors - roms_.push_back(new_rom); + // add it to our vector rom_infos_.push_back(rom_info); + // build the list of roms from the rom_infos + std::string rom_list; + for (const auto& rom : rom_infos_) { + rom_list += rom.name + "\n"; + } + // remove the last newline + rom_list.pop_back(); + // update the rom roller with the new rom list + lv_roller_set_options(ui_roms, rom_list.c_str(), LV_ROLLER_MODE_INFINITE); if (focused_rom_ == -1) { // if we don't have a focused rom, then focus this newly added rom! - on_rom_focused(new_rom); + on_rom_focused(rom_infos_.size() - 1); } - // add the rom to the rom screen group - lv_group_add_obj(rom_screen_group_, new_rom); } -void Gui::on_rom_focused(lv_obj_t* new_focus) { +void Gui::on_rom_focused(int index) { std::lock_guard lk(mutex_); - if (roms_.size() == 0) { - return; - } - if (new_focus == nullptr) { - return; - } - if (new_focus == roms_[focused_rom_]) { - // already focused + focused_rom_ = index; + if (focused_rom_ < 0 || focused_rom_ >= rom_infos_.size()) { return; } - // unfocus all roms - for (int i=0; i < roms_.size(); i++) { - auto rom = roms_[i]; - lv_obj_clear_state(rom, LV_STATE_CHECKED); - if (rom == new_focus && i != focused_rom_) { - // if the focused_rom variable was not set correctly, set it now. - focused_rom_ = i; - } - } - // focus - lv_obj_add_state(new_focus, LV_STATE_CHECKED); - // lv_obj_scroll_to_view(new_focus, LV_ANIM_ON); // update the boxart auto boxart_path = rom_infos_[focused_rom_].boxart_path.c_str(); focused_boxart_ = make_boxart(boxart_path); @@ -178,18 +144,8 @@ void Gui::init_ui() { ui_init(); - // make the label scrolling animation - lv_anim_init(&rom_label_animation_template_); - lv_anim_set_delay(&rom_label_animation_template_, 1000); /*Wait 1 second to start the first scroll*/ - lv_anim_set_repeat_delay(&rom_label_animation_template_, - 3000); /*Repeat the scroll 3 seconds after the label scrolls back to the initial position*/ - - /*Initialize the label style with the animation template*/ - lv_style_init(&rom_label_style_); - lv_style_set_anim(&rom_label_style_, &rom_label_animation_template_); - - lv_obj_set_flex_flow(ui_rompanel, LV_FLEX_FLOW_COLUMN); - lv_obj_set_scroll_snap_y(ui_rompanel, LV_SCROLL_SNAP_CENTER); + // set the animation speed for the roller + lv_obj_set_style_anim_time(ui_roms, 30, LV_PART_MAIN); lv_bar_set_value(ui_volumebar, espp::EspBox::get().volume(), LV_ANIM_OFF); @@ -198,6 +154,11 @@ void Gui::init_ui() { lv_obj_add_event_cb(ui_closebutton, &Gui::event_callback, LV_EVENT_PRESSED, static_cast(this)); lv_obj_add_event_cb(ui_playbutton, &Gui::event_callback, LV_EVENT_PRESSED, static_cast(this)); + // rom roller + lv_obj_add_event_cb(ui_roms, &Gui::event_callback, LV_EVENT_VALUE_CHANGED, static_cast(this)); + lv_obj_add_event_cb(ui_roms, &Gui::event_callback, LV_EVENT_SCROLL, static_cast(this)); + lv_obj_add_event_cb(ui_roms, &Gui::event_callback, LV_EVENT_KEY, static_cast(this)); + // video settings lv_obj_add_event_cb(ui_videosettingdropdown, &Gui::event_callback, LV_EVENT_VALUE_CHANGED, static_cast(this)); @@ -235,6 +196,8 @@ void Gui::init_ui() { // ensure the waveform is set and the ui is updated set_haptic_waveform(haptic_waveform_); + lv_group_add_obj(rom_screen_group_, ui_roms); + // add all the settings buttons to the settings screen group lv_group_add_obj(settings_screen_group_, ui_mutebutton); lv_group_add_obj(settings_screen_group_, ui_volumedownbutton); @@ -286,7 +249,7 @@ void Gui::load_settings_screen() { } void Gui::on_value_changed(lv_event_t *e) { - lv_obj_t * target = lv_event_get_target(e); + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); logger_.info("Value changed: {}", fmt::ptr(target)); // is it the settings button? bool is_video_setting = (target == ui_videosettingdropdown); @@ -294,10 +257,21 @@ void Gui::on_value_changed(lv_event_t *e) { set_video_setting(this->get_video_setting()); return; } + bool is_roms = (target == ui_roms); + if (is_roms) { + // get the focused rom + auto focused_rom_index = lv_roller_get_selected(ui_roms); + // focus the rom + on_rom_focused(focused_rom_index); + return; + } } void Gui::on_pressed(lv_event_t *e) { - lv_obj_t * target = lv_event_get_target(e); + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); + logger_.info("Settings button: {}", fmt::ptr(ui_settingsbutton)); + logger_.info("Play button: {}", fmt::ptr(ui_playbutton)); + logger_.info("Close button: {}", fmt::ptr(ui_closebutton)); logger_.info("PRESSED: {}", fmt::ptr(target)); // is it the settings button? bool is_settings_button = (target == ui_settingsbutton); @@ -368,12 +342,6 @@ void Gui::on_pressed(lv_event_t *e) { toggle_usb(); return; } - // or is it one of the roms? - if (std::find(roms_.begin(), roms_.end(), target) != roms_.end()) { - // it's one of the roms, focus it! this was pressed, so don't scroll (it - // will already scroll) - on_rom_focused(target); - } } void Gui::on_volume(const std::vector& data) { @@ -471,6 +439,18 @@ void Gui::focus_settings() { } } +void Gui::on_scroll(lv_event_t *e) { + // see if the target is the videosettingdropdown + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); + bool is_roms = (target == ui_roms); + if (is_roms) { + // get the focused rom + auto focused_rom_index = lv_roller_get_selected(ui_roms); + // focus the rom + on_rom_focused(focused_rom_index); + } +} + void Gui::on_key(lv_event_t *e) { // print the key auto key = lv_indev_get_key(lv_indev_get_act()); @@ -481,7 +461,7 @@ void Gui::on_key(lv_event_t *e) { bool is_settings_edit = lv_group_get_editing(settings_screen_group_); // see if the target is the videosettingdropdown - lv_obj_t * target = lv_event_get_target(e); + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); // TODO: this is a really hacky way of getting the dropdown to work within a // group when managed by the keypad input device. I'm not sure if there's a // better way to do this, but this works for now. @@ -523,8 +503,7 @@ void Gui::on_key(lv_event_t *e) { lv_group_focus_next(settings_screen_group_); } } else if (is_rom_screen) { - // focus the next rom - lv_group_focus_next(rom_screen_group_); + on_rom_focused(lv_roller_get_selected(ui_roms)); } } else if (key == LV_KEY_LEFT || key == LV_KEY_UP) { if (is_settings_screen) { @@ -533,8 +512,7 @@ void Gui::on_key(lv_event_t *e) { lv_group_focus_prev(settings_screen_group_); } } else if (is_rom_screen) { - // focus the next rom - lv_group_focus_prev(rom_screen_group_); + on_rom_focused(lv_roller_get_selected(ui_roms)); } } } diff --git a/components/jpeg/include/jpeg.hpp b/components/jpeg/include/jpeg.hpp index bca30cc3..45239e3e 100644 --- a/components/jpeg/include/jpeg.hpp +++ b/components/jpeg/include/jpeg.hpp @@ -36,7 +36,7 @@ class Jpeg { read(encoded_data_, encoded_length); close(); decoder_.openRAM(encoded_data_, encoded_length, &Jpeg::on_data_decode); - decoder_.setPixelType(RGB565_BIG_ENDIAN); + decoder_.setPixelType(RGB565_LITTLE_ENDIAN); image_width_ = decoder_.getWidth(); image_height_ = decoder_.getHeight(); image_size_ = image_height_ * image_width_ * 2; diff --git a/components/menu/CMakeLists.txt b/components/menu/CMakeLists.txt index 49418c5a..6a138b10 100644 --- a/components/menu/CMakeLists.txt +++ b/components/menu/CMakeLists.txt @@ -1,5 +1,5 @@ idf_component_register( INCLUDE_DIRS "include" - SRC_DIRS "src" "generated" "generated/screens" "generated/components" PRIV_INCLUDE_DIRS "generated" + SRC_DIRS "src" "generated" "generated/screens" "generated/components" "generated/images" REQUIRES lvgl timer display logger jpeg box-emu statistics) diff --git a/components/menu/generated/CMakeLists.txt b/components/menu/generated/CMakeLists.txt index a6e73d85..6f270449 100644 --- a/components/menu/generated/CMakeLists.txt +++ b/components/menu/generated/CMakeLists.txt @@ -2,6 +2,6 @@ SET(SOURCES screens/ui_Screen1.c ui.c components/ui_comp_hook.c ui_helpers.c - ui_events.c) + ui_temporary_image.c) add_library(ui ${SOURCES}) diff --git a/components/menu/generated/filelist.txt b/components/menu/generated/filelist.txt index 56bfe02d..727bed31 100644 --- a/components/menu/generated/filelist.txt +++ b/components/menu/generated/filelist.txt @@ -2,4 +2,4 @@ screens/ui_Screen1.c ui.c components/ui_comp_hook.c ui_helpers.c -ui_events.c +ui_temporary_image.c diff --git a/components/menu/generated/images/ui_temporary_image.c b/components/menu/generated/images/ui_temporary_image.c new file mode 100644 index 00000000..55d2bd3c --- /dev/null +++ b/components/menu/generated/images/ui_temporary_image.c @@ -0,0 +1,85 @@ +// LVGL Temporary Image. + +#include "../ui.h" + +#ifndef LV_ATTRIBUTE_MEM_ALIGN + #define LV_ATTRIBUTE_MEM_ALIGN +#endif + +// IMAGE DATA: TemporaryImage +const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui__temporary_image_data[] = { + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0xA4,0xFF,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xA4,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x50,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0x51,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x52,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x53,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0xE2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x5A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0xDC,0xDC,0xFF,0xA3,0xA3,0xA3,0xFF,0x8C,0x8C,0x8C,0xFF,0x81,0x81,0x81,0xFF,0x7E,0x7E,0x7E,0xFF,0x7A,0x7A,0x7A,0xFF,0x76,0x76,0x76,0xFF,0x75,0x75,0x75,0xFF,0x73,0x73,0x73,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x73,0x73,0x73,0xFF,0x74,0x74,0x74,0xFF,0x75,0x75,0x75,0xFF,0x76,0x76,0x76,0xFF,0x77,0x77,0x77,0xFF,0x78,0x78,0x78,0xFF,0x78,0x78,0x78,0xFF,0x7A,0x7A,0x7A,0xFF,0x7A,0x7A,0x7A,0xFF,0x76,0x76,0x76,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x72,0x72,0x72,0xFF,0x73,0x73,0x73,0xFF,0x74,0x74,0x74,0xFF,0x74,0x74,0x74,0xFF,0x76,0x76,0x76,0xFF,0x78,0x78,0x78,0xFF,0x79,0x79,0x79,0xFF,0x7D,0x7D,0x7D,0xFF,0x86,0x86,0x86,0xFF,0x91,0x91,0x91,0xFF,0xA9,0xA9,0xA9,0xFF,0xE1,0xE1,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0xFF,0x91,0x91,0x91,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8A,0x8A,0x8A,0xFF,0xEB,0xEB,0xEB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xFC,0xFF,0x70,0x70,0x70,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x5B,0x5B,0x5B,0xFF,0xE3,0xE3,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9A,0x9A,0x9A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8E,0x8E,0x8E,0xFF,0xC0,0xC0,0xC0,0xFF,0xD2,0xD2,0xD2,0xFF,0xD7,0xD7,0xD7,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xC4,0xC4,0xC4,0xFF,0x99,0x99,0x99,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x6D,0x6D,0x6D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xED,0xED,0xED,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xB7,0xB7,0xB7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0xC6,0xC6,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xAB,0xAB,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x99,0x99,0x99,0xFF,0x4F,0x4F,0x4F,0xFF,0x57,0x57,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8C,0x8C,0x8C,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC0,0xC0,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD1,0xD1,0xD1,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0x83,0x83,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCC,0xCC,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEB,0xEB,0xEB,0xFF,0xCA,0xCA,0xCA,0xFF,0xCD,0xCD,0xCD,0xFF,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7D,0x7D,0x7D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA3,0xA3,0xA3,0xFF,0x51,0x51,0x51,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xB0,0xB0,0xB0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xE1,0xE1,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0x7E,0x7E,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x95,0x95,0x95,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xB3,0xB3,0xB3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xDB,0xDB,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x57,0x57,0x57,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x52,0x52,0x52,0xFF,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x97,0x97,0x97,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xE9,0xE9,0xE9,0xFF,0xFF,0xFF,0xFF,0xFF,0x58,0x58,0x58,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x8F,0x8F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x52,0x52,0x52,0xFF,0xEA,0xEA,0xEA,0xFF,0xF3,0xF3,0xF3,0xFF,0x55,0x55,0x55,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC7,0xC7,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCE,0xCE,0xCE,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0x83,0x83,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x9E,0x9E,0x9E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0xFF,0x88,0x88,0x88,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8C,0x8C,0x8C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCD,0xCD,0xCD,0xFF,0x9A,0x9A,0x9A,0xFF,0x8E,0x8E,0x8E,0xFF,0x98,0x98,0x98,0xFF,0xC4,0xC4,0xC4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD2,0xD2,0xD2,0xFF,0xAB,0xAB,0xAB,0xFF,0xAD,0xAD,0xAD,0xFF,0xD3,0xD3,0xD3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xE1,0xE1,0xFF,0x7D,0x7D,0x7D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x72,0x72,0x72,0xFF,0xC9,0xC9,0xC9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCB,0xCB,0xCB,0xFF,0x50,0x50,0x50,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xAB,0xAB,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xCF,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x64,0x64,0x64,0xFF,0xB4,0xB4,0xB4,0xFF,0xC6,0xC6,0xC6,0xFF,0xB7,0xB7,0xB7,0xFF,0x6D,0x6D,0x6D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA4,0xA4,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xE1,0xE1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x81,0x81,0x81,0xFF,0xF9,0xF9,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x94,0x94,0x94,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xAB,0xAB,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCF,0xCF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xF6,0xF6,0xFF,0x5A,0x5A,0x5A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x6F,0x6F,0x6F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x97,0x97,0x97,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xBB,0xBB,0xBB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCC,0xCC,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x74,0x74,0x74,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x61,0x61,0x61,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8A,0x8A,0x8A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCE,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xB3,0xB3,0xB3,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0xF5,0xF5,0xFF,0x7C,0x7C,0x7C,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x56,0x56,0x56,0xFF,0xEB,0xEB,0xEB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x88,0x88,0x88,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xD6,0xD6,0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x78,0x78,0x78,0xFF,0xCF,0xCF,0xCF,0xFF,0x61,0x61,0x61,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xDC,0xDC,0xDC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0x81,0x81,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xE1,0xE1,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC2,0xC2,0xC2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x74,0x74,0x74,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xEC,0xEC,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA0,0xA0,0xA0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xFA,0xFA,0xFF,0x65,0x65,0x65,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x60,0x60,0x60,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7B,0x7B,0x7B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0xF2,0xF2,0xFF,0x5B,0x5B,0x5B,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x74,0x74,0x74,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x66,0x66,0x66,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE8,0xE8,0xE8,0xFF,0x5A,0x5A,0x5A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7A,0x7A,0x7A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xEC,0xEC,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xE2,0xE2,0xFF,0x50,0x50,0x50,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x83,0x83,0x83,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCA,0xCA,0xCA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0xD6,0xD6,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8E,0x8E,0x8E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xC1,0xC1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA6,0xA6,0xA6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC5,0xC5,0xC5,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB8,0xB8,0xB8,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xAE,0xAE,0xAE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCB,0xCB,0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA8,0xA8,0xA8,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xBC,0xBC,0xBC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCC,0xCC,0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9A,0x9A,0x9A,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCB,0xCB,0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0x87,0x87,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xD8,0xD8,0xD8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xE1,0xE1,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x73,0x73,0x73,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x57,0x57,0x57,0xFF,0xEA,0xEA,0xEA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0xDF,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF7,0xF7,0xFF,0x66,0x66,0x66,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x5F,0x5F,0x5F,0xFF,0xF5,0xF5,0xF5,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xDE,0xDE,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0x7E,0x7E,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCD,0xCD,0xCD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEE,0xEE,0xEE,0xFF,0x52,0x52,0x52,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x68,0x68,0x68,0xFF,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xDE,0xDE,0xFF,0x4F,0x4F,0x4F,0xFF,0x51,0x51,0x51,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xCB,0xCB,0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0xDC,0xDC,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x78,0x78,0x78,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xE2,0xE2,0xFF,0x4F,0x4F,0x4F,0xFF,0x50,0x50,0x50,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0x83,0x83,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC7,0xC7,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD2,0xD2,0xD2,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x74,0x74,0x74,0xFF,0xF7,0xF7,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD1,0xD1,0xD1,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8D,0x8D,0x8D,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xC2,0xC2,0xC2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xC3,0xC3,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x64,0x64,0x64,0xFF,0xE7,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xB7,0xB7,0xB7,0xFF,0x4F,0x4F,0x4F,0xFF,0x58,0x58,0x58,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB1,0xB1,0xB1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x81,0x81,0x81,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB4,0xB4,0xB4,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x54,0x54,0x54,0xFF,0xCF,0xCF,0xCF,0xFF,0x88,0x88,0x88,0xFF,0x4F,0x4F,0x4F,0xFF,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0xF5,0xF5,0xFF,0x54,0x54,0x54,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xA5,0xA5,0xA5,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB6,0xB6,0xB6,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB1,0xB1,0xB1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x7D,0x7D,0x7D,0xFF,0xB9,0xB9,0xB9,0xFF,0xCF,0xCF,0xCF,0xFF,0xD7,0xD7,0xD7,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD5,0xD5,0xD5,0xFF,0xD6,0xD6,0xD6,0xFF,0xD6,0xD6,0xD6,0xFF,0xCF,0xCF,0xCF,0xFF,0xC4,0xC4,0xC4,0xFF,0xBB,0xBB,0xBB,0xFF,0xA1,0xA1,0xA1,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x8A,0x8A,0x8A,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8B,0x8B,0x8B,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x4F,0x4F,0x4F,0xFF,0x6D,0x6D,0x6D,0xFF,0xF6,0xF6,0xF6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA9,0xA9,0xA9,0xFF,0x62,0x62,0x62,0xFF,0x58,0x58,0x58,0xFF,0x57,0x57,0x57,0xFF,0x54,0x54,0x54,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x53,0x53,0x53,0xFF,0x55,0x55,0x55,0xFF,0x56,0x56,0x56,0xFF,0x57,0x57,0x57,0xFF,0x57,0x57,0x57,0xFF,0x58,0x58,0x58,0xFF,0x58,0x58,0x58,0xFF,0x58,0x58,0x58,0xFF,0x5D,0x5D,0x5D,0xFF,0x97,0x97,0x97,0xFF,0xFC,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x54,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x89,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x52,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDB,0xFF,0xFF,0xFF,0x52,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0xAC,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xAC,0xFF,0xFF,0xFF,0x5B,0xFF,0xFF,0xFF,0x06,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + 0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00, + +}; + +const lv_img_dsc_t ui__temporary_image = { + .header.w = 64, + .header.h = 64, + .data_size = sizeof(ui__temporary_image_data), + .header.cf = LV_COLOR_FORMAT_NATIVE_WITH_ALPHA, + .header.magic = LV_IMAGE_HEADER_MAGIC, + .data = ui__temporary_image_data +}; diff --git a/components/menu/generated/screens/ui_Screen1.c b/components/menu/generated/screens/ui_Screen1.c index dc8bb9fd..dd44dbc9 100644 --- a/components/menu/generated/screens/ui_Screen1.c +++ b/components/menu/generated/screens/ui_Screen1.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.2.0 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: menu #include "../ui.h" @@ -8,7 +8,7 @@ void ui_Screen1_screen_init(void) { ui_Screen1 = lv_obj_create(NULL); -lv_obj_clear_flag( ui_Screen1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Screen1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_menu_panel = lv_obj_create(ui_Screen1); lv_obj_set_width( ui_menu_panel, lv_pct(100)); @@ -19,7 +19,7 @@ ui_menu_battery_soc_symbol = lv_label_create(ui_menu_panel); lv_obj_set_width( ui_menu_battery_soc_symbol, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_menu_battery_soc_symbol, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_menu_battery_soc_symbol, LV_ALIGN_TOP_RIGHT ); -lv_label_set_text(ui_menu_battery_soc_symbol,LV_SYMBOL_BATTERY_EMPTY); +lv_label_set_text(ui_menu_battery_soc_symbol, LV_SYMBOL_BATTERY_EMPTY); ui_menu_battery_charging_symbol = lv_label_create(ui_menu_panel); lv_obj_set_width( ui_menu_battery_charging_symbol, LV_SIZE_CONTENT); /// 1 @@ -45,11 +45,11 @@ lv_obj_set_y( ui_fps_label, 20 ); lv_obj_set_align( ui_fps_label, LV_ALIGN_TOP_RIGHT ); lv_label_set_text(ui_fps_label,"200.5 FPS"); -ui_resume_btn = lv_btn_create(ui_menu_panel); +ui_resume_btn = lv_button_create(ui_menu_panel); lv_obj_set_width( ui_resume_btn, 100); lv_obj_set_height( ui_resume_btn, 40); lv_obj_add_flag( ui_resume_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_resume_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_resume_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label6 = lv_label_create(ui_resume_btn); lv_obj_set_width( ui_Label6, LV_SIZE_CONTENT); /// 1 @@ -63,39 +63,39 @@ lv_obj_set_width( ui_Panel3, lv_pct(100)); lv_obj_set_x( ui_Panel3, 0 ); lv_obj_set_y( ui_Panel3, 50 ); lv_obj_set_align( ui_Panel3, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_Panel3, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Panel3, LV_OBJ_FLAG_SCROLLABLE ); /// Flags lv_obj_set_style_pad_left(ui_Panel3, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_Panel3, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui_Panel3, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui_Panel3, 0, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_volume_mute_btn = lv_btn_create(ui_Panel3); +ui_volume_mute_btn = lv_button_create(ui_Panel3); lv_obj_set_width( ui_volume_mute_btn, 30); lv_obj_set_height( ui_volume_mute_btn, 30); lv_obj_set_align( ui_volume_mute_btn, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_volume_mute_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_volume_mute_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_volume_mute_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label10 = lv_label_create(ui_volume_mute_btn); lv_obj_set_width( ui_Label10, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Label10, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label10, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Label10,LV_SYMBOL_MUTE); +lv_label_set_text(ui_Label10, LV_SYMBOL_MUTE); -ui_volume_dec_btn = lv_btn_create(ui_Panel3); +ui_volume_dec_btn = lv_button_create(ui_Panel3); lv_obj_set_width( ui_volume_dec_btn, 30); lv_obj_set_height( ui_volume_dec_btn, 30); lv_obj_set_x( ui_volume_dec_btn, 35 ); lv_obj_set_y( ui_volume_dec_btn, 0 ); lv_obj_set_align( ui_volume_dec_btn, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_volume_dec_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_volume_dec_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_volume_dec_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label11 = lv_label_create(ui_volume_dec_btn); lv_obj_set_width( ui_Label11, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Label11, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label11, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Label11,LV_SYMBOL_VOLUME_MID); +lv_label_set_text(ui_Label11, LV_SYMBOL_VOLUME_MID); ui_Bar2 = lv_bar_create(ui_Panel3); lv_bar_set_value(ui_Bar2,25,LV_ANIM_OFF); @@ -106,18 +106,20 @@ lv_obj_set_x( ui_Bar2, -50 ); lv_obj_set_y( ui_Bar2, 0 ); lv_obj_set_align( ui_Bar2, LV_ALIGN_RIGHT_MID ); -ui_volume_inc_btn = lv_btn_create(ui_Panel3); +//Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0 +if (lv_obj_get_style_pad_top(ui_Bar2,LV_PART_MAIN) > 0) lv_obj_set_style_pad_right( ui_Bar2, lv_obj_get_style_pad_right(ui_Bar2,LV_PART_MAIN) + 1, LV_PART_MAIN ); +ui_volume_inc_btn = lv_button_create(ui_Panel3); lv_obj_set_width( ui_volume_inc_btn, 30); lv_obj_set_height( ui_volume_inc_btn, 30); lv_obj_set_align( ui_volume_inc_btn, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_volume_inc_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_volume_inc_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_volume_inc_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label8 = lv_label_create(ui_volume_inc_btn); lv_obj_set_width( ui_Label8, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Label8, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label8, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Label8,LV_SYMBOL_VOLUME_MAX); +lv_label_set_text(ui_Label8, LV_SYMBOL_VOLUME_MAX); ui_Panel5 = lv_obj_create(ui_menu_panel); lv_obj_set_height( ui_Panel5, 50); @@ -125,24 +127,24 @@ lv_obj_set_width( ui_Panel5, lv_pct(100)); lv_obj_set_x( ui_Panel5, 0 ); lv_obj_set_y( ui_Panel5, 100 ); lv_obj_set_align( ui_Panel5, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_Panel5, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Panel5, LV_OBJ_FLAG_SCROLLABLE ); /// Flags lv_obj_set_style_pad_left(ui_Panel5, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_Panel5, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui_Panel5, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui_Panel5, 0, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_brightness_dec_btn = lv_btn_create(ui_Panel5); +ui_brightness_dec_btn = lv_button_create(ui_Panel5); lv_obj_set_width( ui_brightness_dec_btn, 30); lv_obj_set_height( ui_brightness_dec_btn, 30); lv_obj_set_align( ui_brightness_dec_btn, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_brightness_dec_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_brightness_dec_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_brightness_dec_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label13 = lv_label_create(ui_brightness_dec_btn); lv_obj_set_width( ui_Label13, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Label13, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label13, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Label13,LV_SYMBOL_MINUS); +lv_label_set_text(ui_Label13, LV_SYMBOL_MINUS); ui_brightness_bar = lv_bar_create(ui_Panel5); lv_bar_set_value(ui_brightness_bar,25,LV_ANIM_OFF); @@ -151,18 +153,20 @@ lv_obj_set_width( ui_brightness_bar, 185); lv_obj_set_height( ui_brightness_bar, 10); lv_obj_set_align( ui_brightness_bar, LV_ALIGN_CENTER ); -ui_brightness_inc_btn = lv_btn_create(ui_Panel5); +//Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0 +if (lv_obj_get_style_pad_top(ui_brightness_bar,LV_PART_MAIN) > 0) lv_obj_set_style_pad_right( ui_brightness_bar, lv_obj_get_style_pad_right(ui_brightness_bar,LV_PART_MAIN) + 1, LV_PART_MAIN ); +ui_brightness_inc_btn = lv_button_create(ui_Panel5); lv_obj_set_width( ui_brightness_inc_btn, 30); lv_obj_set_height( ui_brightness_inc_btn, 30); lv_obj_set_align( ui_brightness_inc_btn, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_brightness_inc_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_brightness_inc_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_brightness_inc_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label14 = lv_label_create(ui_brightness_inc_btn); lv_obj_set_width( ui_Label14, LV_SIZE_CONTENT); /// 1 lv_obj_set_height( ui_Label14, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label14, LV_ALIGN_CENTER ); -lv_label_set_text(ui_Label14,LV_SYMBOL_PLUS); +lv_label_set_text(ui_Label14, LV_SYMBOL_PLUS); ui_Panel4 = lv_obj_create(ui_menu_panel); lv_obj_set_height( ui_Panel4, 50); @@ -170,18 +174,18 @@ lv_obj_set_width( ui_Panel4, lv_pct(100)); lv_obj_set_x( ui_Panel4, 0 ); lv_obj_set_y( ui_Panel4, 150 ); lv_obj_set_align( ui_Panel4, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_Panel4, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Panel4, LV_OBJ_FLAG_SCROLLABLE ); /// Flags lv_obj_set_style_pad_left(ui_Panel4, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_Panel4, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui_Panel4, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui_Panel4, 0, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_btn_slot_dec = lv_btn_create(ui_Panel4); +ui_btn_slot_dec = lv_button_create(ui_Panel4); lv_obj_set_width( ui_btn_slot_dec, 30); lv_obj_set_height( ui_btn_slot_dec, 30); lv_obj_set_align( ui_btn_slot_dec, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_btn_slot_dec, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_btn_slot_dec, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_btn_slot_dec, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label2 = lv_label_create(ui_btn_slot_dec); lv_obj_set_width( ui_Label2, LV_SIZE_CONTENT); /// 1 @@ -195,12 +199,12 @@ lv_obj_set_height( ui_slot_label, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_slot_label, LV_ALIGN_CENTER ); lv_label_set_text(ui_slot_label,"Save Slot 1"); -ui_btn_slot_inc = lv_btn_create(ui_Panel4); +ui_btn_slot_inc = lv_button_create(ui_Panel4); lv_obj_set_width( ui_btn_slot_inc, 30); lv_obj_set_height( ui_btn_slot_inc, 30); lv_obj_set_align( ui_btn_slot_inc, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_btn_slot_inc, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_btn_slot_inc, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_btn_slot_inc, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label1 = lv_label_create(ui_btn_slot_inc); lv_obj_set_width( ui_Label1, LV_SIZE_CONTENT); /// 1 @@ -215,18 +219,18 @@ lv_obj_set_x( ui_Panel2, 0 ); lv_obj_set_y( ui_Panel2, 200 ); lv_obj_set_align( ui_Panel2, LV_ALIGN_TOP_MID ); lv_obj_add_flag( ui_Panel2, LV_OBJ_FLAG_EVENT_BUBBLE ); /// Flags -lv_obj_clear_flag( ui_Panel2, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Panel2, LV_OBJ_FLAG_SCROLLABLE ); /// Flags lv_obj_set_style_pad_left(ui_Panel2, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_Panel2, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui_Panel2, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui_Panel2, 0, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_load_btn = lv_btn_create(ui_Panel2); +ui_load_btn = lv_button_create(ui_Panel2); lv_obj_set_width( ui_load_btn, 50); lv_obj_set_height( ui_load_btn, 40); lv_obj_set_align( ui_load_btn, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_load_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_load_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_load_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label4 = lv_label_create(ui_load_btn); lv_obj_set_width( ui_Label4, LV_SIZE_CONTENT); /// 1 @@ -234,12 +238,14 @@ lv_obj_set_height( ui_Label4, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label4, LV_ALIGN_CENTER ); lv_label_set_text(ui_Label4,"Load"); -ui_slot_image = lv_img_create(ui_Panel2); +ui_slot_image = lv_image_create(ui_Panel2); +lv_image_set_src(ui_slot_image, &ui__temporary_image); lv_obj_set_width( ui_slot_image, 80); lv_obj_set_height( ui_slot_image, 60); lv_obj_set_align( ui_slot_image, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_slot_image, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags -lv_obj_clear_flag( ui_slot_image, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_slot_image, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_image_set_inner_align( ui_slot_image, LV_IMAGE_ALIGN_TILE ); ui_Panel1 = lv_obj_create(ui_menu_panel); lv_obj_set_height( ui_Panel1, 100); @@ -247,18 +253,18 @@ lv_obj_set_width( ui_Panel1, lv_pct(100)); lv_obj_set_x( ui_Panel1, 0 ); lv_obj_set_y( ui_Panel1, 300 ); lv_obj_set_align( ui_Panel1, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_Panel1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Panel1, LV_OBJ_FLAG_SCROLLABLE ); /// Flags lv_obj_set_style_pad_left(ui_Panel1, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_Panel1, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui_Panel1, 0, LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui_Panel1, 0, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_save_btn = lv_btn_create(ui_Panel1); +ui_save_btn = lv_button_create(ui_Panel1); lv_obj_set_width( ui_save_btn, 50); lv_obj_set_height( ui_save_btn, 40); lv_obj_set_align( ui_save_btn, LV_ALIGN_LEFT_MID ); lv_obj_add_flag( ui_save_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_save_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_save_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label3 = lv_label_create(ui_save_btn); lv_obj_set_width( ui_Label3, LV_SIZE_CONTENT); /// 1 @@ -266,12 +272,14 @@ lv_obj_set_height( ui_Label3, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label3, LV_ALIGN_CENTER ); lv_label_set_text(ui_Label3,"Save"); -ui_pause_image = lv_img_create(ui_Panel1); +ui_pause_image = lv_image_create(ui_Panel1); +lv_image_set_src(ui_pause_image, &ui__temporary_image); lv_obj_set_width( ui_pause_image, 80); lv_obj_set_height( ui_pause_image, 60); lv_obj_set_align( ui_pause_image, LV_ALIGN_RIGHT_MID ); lv_obj_add_flag( ui_pause_image, LV_OBJ_FLAG_ADV_HITTEST ); /// Flags -lv_obj_clear_flag( ui_pause_image, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_pause_image, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_image_set_inner_align( ui_pause_image, LV_IMAGE_ALIGN_TILE ); ui_Panel6 = lv_obj_create(ui_menu_panel); lv_obj_set_height( ui_Panel6, 50); @@ -279,7 +287,7 @@ lv_obj_set_width( ui_Panel6, lv_pct(100)); lv_obj_set_x( ui_Panel6, 0 ); lv_obj_set_y( ui_Panel6, 400 ); lv_obj_set_align( ui_Panel6, LV_ALIGN_TOP_MID ); -lv_obj_clear_flag( ui_Panel6, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_Panel6, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label9 = lv_label_create(ui_Panel6); lv_obj_set_width( ui_Label9, LV_SIZE_CONTENT); /// 1 @@ -296,13 +304,13 @@ lv_obj_add_flag( ui_Dropdown2, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -ui_reset_btn = lv_btn_create(ui_menu_panel); +ui_reset_btn = lv_button_create(ui_menu_panel); lv_obj_set_width( ui_reset_btn, 100); lv_obj_set_height( ui_reset_btn, 40); lv_obj_set_x( ui_reset_btn, 0 ); lv_obj_set_y( ui_reset_btn, 455 ); lv_obj_add_flag( ui_reset_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_reset_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_reset_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label5 = lv_label_create(ui_reset_btn); lv_obj_set_width( ui_Label5, LV_SIZE_CONTENT); /// 1 @@ -310,14 +318,14 @@ lv_obj_set_height( ui_Label5, LV_SIZE_CONTENT); /// 1 lv_obj_set_align( ui_Label5, LV_ALIGN_CENTER ); lv_label_set_text(ui_Label5,"Reset"); -ui_quit_btn = lv_btn_create(ui_menu_panel); +ui_quit_btn = lv_button_create(ui_menu_panel); lv_obj_set_width( ui_quit_btn, 100); lv_obj_set_height( ui_quit_btn, 40); lv_obj_set_x( ui_quit_btn, 0 ); lv_obj_set_y( ui_quit_btn, 455 ); lv_obj_set_align( ui_quit_btn, LV_ALIGN_TOP_RIGHT ); lv_obj_add_flag( ui_quit_btn, LV_OBJ_FLAG_SCROLL_ON_FOCUS ); /// Flags -lv_obj_clear_flag( ui_quit_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_remove_flag( ui_quit_btn, LV_OBJ_FLAG_SCROLLABLE ); /// Flags ui_Label7 = lv_label_create(ui_quit_btn); lv_obj_set_width( ui_Label7, LV_SIZE_CONTENT); /// 1 diff --git a/components/menu/generated/ui.c b/components/menu/generated/ui.c index bd4d8d7a..f9d2163a 100644 --- a/components/menu/generated/ui.c +++ b/components/menu/generated/ui.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.2.0 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: menu #include "ui.h" @@ -54,15 +54,12 @@ lv_obj_t *ui_reset_btn; lv_obj_t *ui_Label5; lv_obj_t *ui_quit_btn; lv_obj_t *ui_Label7; -lv_obj_t *ui____initial_actions0; +lv_obj_t *ui____menu_initial_actions0; ///////////////////// TEST LVGL SETTINGS //////////////////// #if LV_COLOR_DEPTH != 16 #error "LV_COLOR_DEPTH should be 16bit to match SquareLine Studio's settings" #endif -#if LV_COLOR_16_SWAP !=1 - #error "LV_COLOR_16_SWAP should be 1 to match SquareLine Studio's settings" -#endif ///////////////////// ANIMATIONS //////////////////// @@ -72,10 +69,10 @@ lv_obj_t *ui____initial_actions0; void menu_ui_init( void ) { -lv_disp_t *dispp = lv_disp_get_default(); +lv_disp_t *dispp = lv_display_get_default(); lv_theme_t *theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), true, LV_FONT_DEFAULT); lv_disp_set_theme(dispp, theme); ui_Screen1_screen_init(); -ui____initial_actions0 = lv_obj_create(NULL); +ui____menu_initial_actions0 = lv_obj_create(NULL); lv_disp_load_scr( ui_Screen1); } diff --git a/components/menu/generated/ui.h b/components/menu/generated/ui.h index 1451cf70..422cc46c 100644 --- a/components/menu/generated/ui.h +++ b/components/menu/generated/ui.h @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.2.0 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: menu #ifndef _MENU_UI_H @@ -14,6 +14,7 @@ extern "C" { #include "ui_helpers.h" #include "ui_events.h" + // SCREEN: ui_Screen1 void ui_Screen1_screen_init(void); extern lv_obj_t *ui_Screen1; @@ -59,7 +60,9 @@ extern lv_obj_t *ui_reset_btn; extern lv_obj_t *ui_Label5; extern lv_obj_t *ui_quit_btn; extern lv_obj_t *ui_Label7; -extern lv_obj_t *ui____initial_actions0; +extern lv_obj_t *ui____menu_initial_actions0; + +LV_IMG_DECLARE( ui__temporary_image ); diff --git a/components/menu/generated/ui_events.h b/components/menu/generated/ui_events.h index 392eb78b..7b64ba50 100644 --- a/components/menu/generated/ui_events.h +++ b/components/menu/generated/ui_events.h @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.2.0 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: menu #ifndef _UI_EVENTS_H diff --git a/components/menu/generated/ui_helpers.c b/components/menu/generated/ui_helpers.c index 04cd6b57..2be2a840 100644 --- a/components/menu/generated/ui_helpers.c +++ b/components/menu/generated/ui_helpers.c @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.2.0 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: menu #include "ui_helpers.h" @@ -26,7 +26,7 @@ void _ui_dropdown_set_property( lv_obj_t *target, int id, int val) void _ui_image_set_property( lv_obj_t *target, int id, uint8_t *val) { - if (id == _UI_IMAGE_PROPERTY_IMAGE) lv_img_set_src(target, val); + if (id == _UI_IMAGE_PROPERTY_IMAGE) lv_image_set_src(target, val); } void _ui_label_set_property( lv_obj_t *target, int id, const char *val) @@ -46,18 +46,18 @@ void _ui_slider_set_property( lv_obj_t *target, int id, int val) if (id == _UI_SLIDER_PROPERTY_VALUE) lv_slider_set_value(target, val, LV_ANIM_OFF); } -void _ui_screen_change( lv_obj_t ** target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void)) +void _ui_screen_change( lv_obj_t ** target, lv_screen_load_anim_t fademode, int spd, int delay, void (*target_init)(void)) { if(*target == NULL) target_init(); - lv_scr_load_anim(*target, fademode, spd, delay, false); + lv_screen_load_anim(*target, fademode, spd, delay, false); } void _ui_screen_delete( lv_obj_t ** target ) { if(*target == NULL) { - lv_obj_del(*target); + lv_obj_delete(*target); target = NULL; } } @@ -66,7 +66,7 @@ void _ui_arc_increment( lv_obj_t *target, int val) { int old = lv_arc_get_value(target); lv_arc_set_value(target, old+val); - lv_event_send(target,LV_EVENT_VALUE_CHANGED, 0); + lv_obj_send_event(target,LV_EVENT_VALUE_CHANGED, 0); } void _ui_bar_increment( lv_obj_t *target, int val, int anm) @@ -79,7 +79,7 @@ void _ui_slider_increment( lv_obj_t *target, int val, int anm) { int old = lv_slider_get_value(target); lv_slider_set_value(target, old+val, anm); - lv_event_send(target,LV_EVENT_VALUE_CHANGED, 0); + lv_obj_send_event(target,LV_EVENT_VALUE_CHANGED, 0); } void _ui_keyboard_set_target( lv_obj_t *keyboard, lv_obj_t *textarea) @@ -91,27 +91,36 @@ void _ui_flag_modify( lv_obj_t *target, int32_t flag, int value) { if (value==_UI_MODIFY_FLAG_TOGGLE) { - if ( lv_obj_has_flag(target,flag) ) lv_obj_clear_flag(target,flag); + if ( lv_obj_has_flag(target,flag) ) lv_obj_remove_flag(target,flag); else lv_obj_add_flag(target,flag); } else if (value==_UI_MODIFY_FLAG_ADD) lv_obj_add_flag(target,flag); - else lv_obj_clear_flag(target,flag); + else lv_obj_remove_flag(target,flag); } void _ui_state_modify( lv_obj_t *target, int32_t state, int value) { if (value==_UI_MODIFY_STATE_TOGGLE) { - if ( lv_obj_has_state(target,state) ) lv_obj_clear_state(target,state); + if ( lv_obj_has_state(target,state) ) lv_obj_remove_state(target,state); else lv_obj_add_state(target,state); } else if (value==_UI_MODIFY_STATE_ADD) lv_obj_add_state(target,state); - else lv_obj_clear_state(target,state); + else lv_obj_remove_state(target,state); +} + +void _ui_textarea_move_cursor(lv_obj_t * target, int val) +{ + if (val==UI_MOVE_CURSOR_UP) lv_textarea_cursor_up(target); + if (val==UI_MOVE_CURSOR_RIGHT) lv_textarea_cursor_right(target); + if (val==UI_MOVE_CURSOR_DOWN) lv_textarea_cursor_down(target); + if (val==UI_MOVE_CURSOR_LEFT) lv_textarea_cursor_left(target); + lv_obj_add_state(target, LV_STATE_FOCUSED); } void scr_unloaded_delete_cb(lv_event_t * e) { lv_obj_t ** var = lv_event_get_user_data(e); - lv_obj_del(*var); + lv_obj_delete(*var); (*var) = NULL; } @@ -122,7 +131,7 @@ void _ui_opacity_set( lv_obj_t *target, int val) void _ui_anim_callback_free_user_data(lv_anim_t *a) { - lv_mem_free(a->user_data); + lv_free(a->user_data); a->user_data=NULL; } @@ -159,13 +168,13 @@ void _ui_anim_callback_set_opacity(lv_anim_t* a, int32_t v) void _ui_anim_callback_set_image_zoom(lv_anim_t* a, int32_t v) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - lv_img_set_zoom(usr->target, v); + lv_image_set_scale(usr->target, v); } void _ui_anim_callback_set_image_angle(lv_anim_t* a, int32_t v) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - lv_img_set_angle(usr->target, v); + lv_image_set_rotation(usr->target, v); } void _ui_anim_callback_set_image_frame(lv_anim_t* a, int32_t v) @@ -174,7 +183,7 @@ void _ui_anim_callback_set_image_frame(lv_anim_t* a, int32_t v) usr->val = v; if ( v<0 ) v=0; if ( v>=usr->imgset_size ) v=usr->imgset_size-1; - lv_img_set_src(usr->target, usr->imgset[v]); + lv_image_set_src(usr->target, usr->imgset[v]); } int32_t _ui_anim_callback_get_x(lv_anim_t* a) @@ -210,13 +219,13 @@ int32_t _ui_anim_callback_get_opacity(lv_anim_t* a) int32_t _ui_anim_callback_get_image_zoom(lv_anim_t* a) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - return lv_img_get_zoom(usr->target); + return lv_image_get_scale(usr->target); } int32_t _ui_anim_callback_get_image_angle(lv_anim_t* a) { ui_anim_user_data_t *usr = (ui_anim_user_data_t *)a->user_data; - return lv_img_get_angle(usr->target); + return lv_image_get_rotation(usr->target); } int32_t _ui_anim_callback_get_image_frame(lv_anim_t* a) @@ -244,3 +253,18 @@ void _ui_checked_set_text_value( lv_obj_t *trg, lv_obj_t *src, const char *txt_o else lv_label_set_text(trg,txt_off); } +void _ui_spinbox_step(lv_obj_t * target, int val) +{ + if(val > 0) lv_spinbox_increment(target); + else lv_spinbox_decrement(target); + + lv_obj_send_event(target,LV_EVENT_VALUE_CHANGED, 0); +} + +void _ui_switch_theme(int val) +{ +#ifdef UI_THEME_ACTIVE + ui_theme_set(val); +#endif +} + diff --git a/components/menu/generated/ui_helpers.h b/components/menu/generated/ui_helpers.h index ece98ce6..cfd58cea 100644 --- a/components/menu/generated/ui_helpers.h +++ b/components/menu/generated/ui_helpers.h @@ -1,6 +1,6 @@ // This file was generated by SquareLine Studio -// SquareLine Studio version: SquareLine Studio 1.3.4 -// LVGL version: 8.2.0 +// SquareLine Studio version: SquareLine Studio 1.4.2 +// LVGL version: 9.1.0 // Project name: menu #ifndef _MENU_UI_HELPERS_H @@ -40,7 +40,7 @@ void _ui_roller_set_property( lv_obj_t *target, int id, int val); #define _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM 1 void _ui_slider_set_property( lv_obj_t *target, int id, int val); -void _ui_screen_change( lv_obj_t ** target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void)); +void _ui_screen_change( lv_obj_t ** target, lv_screen_load_anim_t fademode, int spd, int delay, void (*target_init)(void)); void _ui_screen_delete( lv_obj_t ** target ); @@ -62,6 +62,12 @@ void _ui_flag_modify( lv_obj_t *target, int32_t flag, int value); #define _UI_MODIFY_STATE_TOGGLE 2 void _ui_state_modify( lv_obj_t *target, int32_t state, int value); +#define UI_MOVE_CURSOR_UP 0 +#define UI_MOVE_CURSOR_RIGHT 1 +#define UI_MOVE_CURSOR_DOWN 2 +#define UI_MOVE_CURSOR_LEFT 3 +void _ui_textarea_move_cursor(lv_obj_t * target, int val) ; + void scr_unloaded_delete_cb(lv_event_t * e); void _ui_opacity_set( lv_obj_t *target, int val); @@ -69,7 +75,7 @@ void _ui_opacity_set( lv_obj_t *target, int val); /** Describes an animation*/ typedef struct _ui_anim_user_data_t { lv_obj_t *target; - lv_img_dsc_t **imgset; + lv_image_dsc_t **imgset; int32_t imgset_size; int32_t val; } ui_anim_user_data_t; @@ -113,6 +119,10 @@ void _ui_slider_set_text_value( lv_obj_t *trg, lv_obj_t *src, const char *prefix void _ui_checked_set_text_value( lv_obj_t *trg, lv_obj_t *src, const char *txt_on, const char *txt_off); +void _ui_spinbox_step(lv_obj_t * target, int val) ; + +void _ui_switch_theme(int val) ; + #ifdef __cplusplus } /*extern "C"*/ #endif diff --git a/components/menu/include/menu.hpp b/components/menu/include/menu.hpp index f54a4624..9b1a7107 100644 --- a/components/menu/include/menu.hpp +++ b/components/menu/include/menu.hpp @@ -21,8 +21,6 @@ class Menu { typedef std::function slot_image_fn; struct Config { - std::shared_ptr display; - size_t stack_size_bytes = 4 * 1024; std::string paused_image_path; action_fn action_callback; slot_image_fn slot_image_callback; @@ -30,13 +28,11 @@ class Menu { }; explicit Menu(const Config& config) - : display_(config.display), - paused_image_path_(config.paused_image_path), + : paused_image_path_(config.paused_image_path), action_callback_(config.action_callback), slot_image_callback_(config.slot_image_callback), logger_({.tag="Menu", .level=config.log_level}) { init_ui(); - // now start the menu updater task task_.periodic(16 * 1000); // register events using namespace std::placeholders; @@ -101,17 +97,21 @@ class Menu { void set_video_setting(VideoSetting setting); bool is_paused() const { return paused_; } + void pause() { paused_ = true; + task_.stop(); lv_group_focus_freeze(group_, true); } + void resume() { update_shared_state(); update_slot_display(); update_pause_image(); update_fps_label(get_fps()); - paused_ = false; lv_group_focus_freeze(group_, false); + task_.periodic(16 * 1000); + paused_ = false; } protected: @@ -181,8 +181,8 @@ class Menu { lv_style_t button_style_; lv_group_t *group_{nullptr}; - lv_img_dsc_t state_image_; - lv_img_dsc_t paused_image_; + lv_image_dsc_t state_image_; + lv_image_dsc_t paused_image_; std::vector state_image_data_; std::vector paused_image_data_; @@ -191,7 +191,6 @@ class Menu { int selected_slot_{0}; std::atomic paused_{true}; - std::shared_ptr display_; std::string paused_image_path_; action_fn action_callback_; slot_image_fn slot_image_callback_; diff --git a/components/menu/squareline/Themes.slt b/components/menu/squareline/Themes.slt new file mode 100644 index 00000000..a7bdc7d4 --- /dev/null +++ b/components/menu/squareline/Themes.slt @@ -0,0 +1,8 @@ +{ + "deftheme": { + "name": "Default", + "properties": [] + }, + "themes": [], + "selected_theme": "Default" +} \ No newline at end of file diff --git a/components/menu/squareline/menu.sll b/components/menu/squareline/menu.sll index 6dbea519..65c374e7 100644 --- a/components/menu/squareline/menu.sll +++ b/components/menu/squareline/menu.sll @@ -1 +1,42 @@ -{"name":"menu.spj","depth":2,"width":320,"height":240,"rotation":0,"offset_x":0,"offset_y":0,"shape":"RECTANGLE","multilang":"","description":"The menu that the user can open while playing a rom.","board":"ESP-BOX","board_version":"1.0.0","editor_version":"1.3.4","image":"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","force_export_images":false,"flat_export":false,"pointfilter":false,"theme_simplified":false,"theme_dark":true,"theme_color1":5,"theme_color2":0,"uiExportFolderPath":"/Users/bob/esp-cpp/esp-box-emu/components/menu/generated","projectExportFolderPath":"/Users/bob/esp-cpp/esp-box-emu/components/menu/squareline","backup_cnt":17,"autosave_cnt":0,"lvgl_version":"8.2.0","callfuncsexport":"C_FILE","lvgl_include_path":""} \ No newline at end of file +{ + "name": "menu.spj", + "depth": 1, + "width": 320, + "height": 240, + "rotation": 0, + "offset_x": 0, + "offset_y": 0, + "shape": "RECTANGLE", + "multilang": "DISABLE", + "description": "The menu that the user can open while playing a rom.", + "board": "ESP-BOX", + "board_version": "2.0.0", + "editor_version": "1.4.1", + "image": "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", + "force_export_images": false, + "flat_export": false, + "advanced_alpha": false, + "pointfilter": false, + "theme_simplified": false, + "theme_dark": true, + "theme_color1": 5, + "theme_color2": 0, + "uiExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/menu/generated", + "projectExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/menu/squareline", + "backup_cnt": 17, + "autosave_cnt": 0, + "lvgl_version": "9.1.0", + "callfuncsexport": "C_FILE", + "imageexport": "SOURCE", + "lvgl_include_path": "", + "drive_stdio": "-", + "drive_stdio_path": "", + "drive_posix": "-", + "drive_posix_path": "", + "drive_win32": "-", + "drive_win32_path": "", + "drive_fatfs": "-", + "drive_fatfs_path": "", + "naming": "", + "naming_force_lowercase": false +} \ No newline at end of file diff --git a/components/menu/squareline/menu.spj b/components/menu/squareline/menu.spj index d9cdd30c..e6ec06a3 100644 --- a/components/menu/squareline/menu.spj +++ b/components/menu/squareline/menu.spj @@ -239,6 +239,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 295244737, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 384945531, "strtype": "OBJECT/User_1", @@ -287,12 +293,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 221469152, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -526,6 +526,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1781548631, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1925874615, "strtype": "OBJECT/User_1", @@ -574,12 +580,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 1720183809, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -813,6 +813,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1455785649, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1195825841, "strtype": "OBJECT/User_1", @@ -861,12 +867,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 976446039, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -1100,6 +1100,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1026408160, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -600876535, "strtype": "OBJECT/User_1", @@ -1148,12 +1154,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 111037878, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -1391,6 +1391,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1389556504, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 647660608, "strtype": "OBJECT/User_1", @@ -1439,12 +1445,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 1394652811, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -1675,6 +1675,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1697655023, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1536668838, "strtype": "OBJECT/User_1", @@ -1947,6 +1953,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1459685415, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1581189773, "strtype": "OBJECT/User_1", @@ -1995,12 +2007,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 1195661681, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -2231,6 +2237,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -470102720, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1625180693, "strtype": "OBJECT/User_1", @@ -2498,6 +2510,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -803710638, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1337143129, "strtype": "OBJECT/User_1", @@ -2546,12 +2564,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 746754206, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -2782,6 +2794,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -575232896, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 252096033, "strtype": "OBJECT/User_1", @@ -3003,6 +3021,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -107845689, + "strtype": "BAR/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1457932850, "strtype": "OBJECT/User_1", @@ -3047,6 +3071,17 @@ "integer": 25, "InheritedType": 6 }, + { + "nid": 1049614181, + "strtype": "BAR/Mode", + "strval": "NORMAL", + "InheritedType": 3 + }, + { + "nid": 2022888677, + "strtype": "BAR/Value_start", + "InheritedType": 6 + }, { "part": "lv.PART.MAIN", "childs": [], @@ -3062,17 +3097,6 @@ "strtype": "BAR/Style_indicator", "strval": "lv.PART.INDICATOR, Rectangle", "InheritedType": 11 - }, - { - "nid": 1049614181, - "strtype": "BAR/Mode", - "strval": "NORMAL", - "InheritedType": 3 - }, - { - "nid": 2022888677, - "strtype": "BAR/Value_start", - "InheritedType": 6 } ], "saved_objtypeKey": "BAR" @@ -3309,6 +3333,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 450258613, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1485314161, "strtype": "OBJECT/User_1", @@ -3357,12 +3387,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 238882901, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -3593,6 +3617,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -186110570, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -405802686, "strtype": "OBJECT/User_1", @@ -3854,6 +3884,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 408207499, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 875242211, "strtype": "OBJECT/User_1", @@ -4154,6 +4190,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1803129491, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1725387024, "strtype": "OBJECT/User_1", @@ -4202,12 +4244,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 1010699160, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -4438,6 +4474,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1089527084, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1311211138, "strtype": "OBJECT/User_1", @@ -4659,6 +4701,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1568666972, + "strtype": "BAR/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 2117999585, "strtype": "OBJECT/User_1", @@ -4703,6 +4751,17 @@ "integer": 25, "InheritedType": 6 }, + { + "nid": -1953051402, + "strtype": "BAR/Mode", + "strval": "NORMAL", + "InheritedType": 3 + }, + { + "nid": -1430096910, + "strtype": "BAR/Value_start", + "InheritedType": 6 + }, { "part": "lv.PART.MAIN", "childs": [], @@ -4718,17 +4777,6 @@ "strtype": "BAR/Style_indicator", "strval": "lv.PART.INDICATOR, Rectangle", "InheritedType": 11 - }, - { - "nid": -1953051402, - "strtype": "BAR/Mode", - "strval": "NORMAL", - "InheritedType": 3 - }, - { - "nid": -1430096910, - "strtype": "BAR/Value_start", - "InheritedType": 6 } ], "saved_objtypeKey": "BAR", @@ -4966,6 +5014,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1611295982, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -121657465, "strtype": "OBJECT/User_1", @@ -5014,12 +5068,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 2013309176, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -5250,6 +5298,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2097032199, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 427132326, "strtype": "OBJECT/User_1", @@ -5511,6 +5565,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -495100934, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 40974966, "strtype": "OBJECT/User_1", @@ -5811,6 +5871,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1779554527, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 726311761, "strtype": "OBJECT/User_1", @@ -5859,12 +5925,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -569953567, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -6096,6 +6156,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2121977452, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1184718918, "strtype": "OBJECT/User_1", @@ -6360,6 +6426,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 636662384, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1209197144, "strtype": "OBJECT/User_1", @@ -6408,12 +6480,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -651003914, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -6650,6 +6716,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -100408698, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -475168752, "strtype": "OBJECT/User_1", @@ -6698,12 +6770,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -60094814, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -6935,6 +7001,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1580266068, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -994384928, "strtype": "OBJECT/User_1", @@ -7197,6 +7269,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 643756896, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 1933678888, "strtype": "OBJECT/User_1", @@ -7497,6 +7575,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -698244647, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1081148549, "strtype": "OBJECT/User_1", @@ -7545,12 +7629,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -178799888, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -7781,6 +7859,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1262720231, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 2116596838, "strtype": "OBJECT/User_1", @@ -8044,6 +8128,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 399061743, + "strtype": "IMAGE/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 269245964, "strtype": "OBJECT/User_1", @@ -8076,7 +8166,7 @@ { "nid": -2050705194, "strtype": "IMAGE/Asset", - "strval": "", + "strval": "-", "InheritedType": 5 }, { @@ -8099,6 +8189,12 @@ "integer": 256, "InheritedType": 6 }, + { + "nid": -1723428367, + "strtype": "IMAGE/Inner_align", + "strval": "TILE", + "InheritedType": 3 + }, { "part": "lv.PART.MAIN", "childs": [], @@ -8336,6 +8432,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 166331042, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 528348720, "strtype": "OBJECT/User_1", @@ -8636,6 +8738,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 871587470, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 782929326, "strtype": "OBJECT/User_1", @@ -8684,12 +8792,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 1236560273, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -8920,6 +9022,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 180687253, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1713832652, "strtype": "OBJECT/User_1", @@ -9183,6 +9291,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -2099631526, + "strtype": "IMAGE/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -194903997, "strtype": "OBJECT/User_1", @@ -9215,7 +9329,7 @@ { "nid": 417204619, "strtype": "IMAGE/Asset", - "strval": "", + "strval": "-", "InheritedType": 5 }, { @@ -9238,6 +9352,12 @@ "integer": 256, "InheritedType": 6 }, + { + "nid": -1981376320, + "strtype": "IMAGE/Inner_align", + "strval": "TILE", + "InheritedType": 3 + }, { "part": "lv.PART.MAIN", "childs": [], @@ -9475,6 +9595,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -732593623, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -481378079, "strtype": "OBJECT/User_1", @@ -9771,6 +9897,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1022963420, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 897653180, "strtype": "OBJECT/User_1", @@ -9819,12 +9951,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": 5302283, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL", @@ -10058,6 +10184,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1656766666, + "strtype": "DROPDOWN/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -839181544, "strtype": "OBJECT/User_1", @@ -10083,8 +10215,8 @@ "InheritedType": 2 }, { - "nid": -829039333, - "strtype": "DROPDOWN/Label", + "nid": -1492346604, + "strtype": "DROPDOWN/Dropdown", "InheritedType": 1 }, { @@ -10380,6 +10512,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1112707759, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -678210922, "strtype": "OBJECT/User_1", @@ -10656,6 +10794,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1320354557, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -514342001, "strtype": "OBJECT/User_1", @@ -10704,12 +10848,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -1049192882, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -10940,6 +11078,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1019021200, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -1072890025, "strtype": "OBJECT/User_1", @@ -11208,6 +11352,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1261979294, + "strtype": "LABEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 901588131, "strtype": "OBJECT/User_1", @@ -11256,12 +11406,6 @@ "strtype": "LABEL/Style_main", "strval": "lv.PART.MAIN, Text, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -1707496824, - "strtype": "LABEL/Recolor", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "LABEL" @@ -11492,6 +11636,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": 1790893165, + "strtype": "BUTTON/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 929062255, "strtype": "OBJECT/User_1", @@ -11752,6 +11902,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -1656142992, + "strtype": "PANEL/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": 2033022967, "strtype": "PANEL/User_1", @@ -11797,6 +11953,8 @@ } ], "isPage": true, + "editor_posx": 400, + "editor_posy": -400, "locked": false, "properties": [ { @@ -11948,6 +12106,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -651741496, + "strtype": "SCREEN/Edited", + "strval": "False", + "InheritedType": 2 + }, { "nid": -4459963, "strtype": "SCREEN/User_1", @@ -11983,6 +12147,12 @@ "strval": "False", "InheritedType": 2 }, + { + "nid": -865144146, + "strtype": "SCREEN/Don't export screen", + "strval": "False", + "InheritedType": 2 + }, { "part": "lv.PART.MAIN", "childs": [ @@ -12026,12 +12196,12 @@ "InheritedType": 1 }, { - "nid": 779970414, + "nid": 316176925, "strtype": "_style/StyleState", - "strval": "CHECKED|PRESSED", + "strval": "DISABLED", "childs": [ { - "nid": -70467517, + "nid": -940136977, "strtype": "_style/Paddings", "InheritedType": 1 } @@ -12039,12 +12209,12 @@ "InheritedType": 1 }, { - "nid": 316176925, + "nid": 779970414, "strtype": "_style/StyleState", - "strval": "DISABLED", + "strval": "CHECKED|PRESSED", "childs": [ { - "nid": -940136977, + "nid": -70467517, "strtype": "_style/Paddings", "InheritedType": 1 } @@ -12116,12 +12286,6 @@ "strtype": "SCREEN/Style_scrollbar", "strval": "lv.PART.SCROLLBAR, Rectangle, Pad", "InheritedType": 11 - }, - { - "nid": -865144146, - "strtype": "SCREEN/Don't export screen", - "strval": "False", - "InheritedType": 2 } ], "saved_objtypeKey": "SCREEN" @@ -12139,23 +12303,25 @@ "saved_objtypeKey": "STARTEVENTS" }, "animations": [], + "selected_theme": "Default", "info": { "name": "menu.spj", - "depth": 2, + "depth": 1, "width": 320, "height": 240, "rotation": 0, "offset_x": 0, "offset_y": 0, "shape": "RECTANGLE", - "multilang": null, + "multilang": "DISABLE", "description": "The menu that the user can open while playing a rom.", "board": "ESP-BOX", - "board_version": "1.0.0", - "editor_version": "1.3.4", + "board_version": "2.0.0", + "editor_version": "1.4.1", "image": "", "force_export_images": false, "flat_export": false, + "advanced_alpha": false, "pointfilter": false, "theme_simplified": false, "theme_dark": true, @@ -12165,9 +12331,20 @@ "projectExportFolderPath": "/Users/bob/esp-cpp/esp-box-emu/components/menu/squareline", "backup_cnt": 16, "autosave_cnt": 0, - "lvgl_version": "8.2.0", + "lvgl_version": "9.1.0", "callfuncsexport": "C_FILE", + "imageexport": "SOURCE", "lvgl_include_path": "", + "drive_stdio": "-", + "drive_stdio_path": "", + "drive_posix": "-", + "drive_posix_path": "", + "drive_win32": "-", + "drive_win32_path": "", + "drive_fatfs": "-", + "drive_fatfs_path": "", + "naming": null, + "naming_force_lowercase": false, "BitDepth": 16, "Name": "menu" } diff --git a/components/menu/src/menu.cpp b/components/menu/src/menu.cpp index e514f07e..5d660383 100644 --- a/components/menu/src/menu.cpp +++ b/components/menu/src/menu.cpp @@ -154,20 +154,16 @@ void Menu::update_slot_image() { state_image_data_.resize(state_image_data_size); file.read((char*)state_image_data_.data(), state_image_data_size); file.close(); - state_image_.header.cf = LV_IMG_CF_TRUE_COLOR; - state_image_.header.always_zero = 0; - state_image_.header.reserved = 0; + memset(&state_image_, 0, sizeof(state_image_)); + state_image_.header.cf = LV_COLOR_FORMAT_NATIVE; state_image_.header.w = width; state_image_.header.h = height; state_image_.data_size = width * height * 2; state_image_.data = (const uint8_t*)state_image_data_.data(); lv_img_set_src(ui_slot_image, &state_image_); - lv_img_set_size_mode(ui_slot_image, LV_IMG_SIZE_MODE_REAL); // set the scaling so that the image fits in the slot - auto scale = std::min(80.0f / width, 60.0f / height); - logger_.info("Scaling image by {}", scale); - lv_img_set_zoom(ui_slot_image, (uint16_t)(scale * 256.)); - lv_obj_set_size(ui_slot_image, width * scale, height * scale); + lv_obj_set_size(ui_slot_image, 80, 60); + lv_image_set_inner_align(ui_slot_image, LV_IMAGE_ALIGN_STRETCH); } else { logger_.warn("No slot image callback set"); } @@ -197,21 +193,15 @@ void Menu::update_pause_image() { paused_image_data_.resize(paused_image_data_size); file.read((char*)paused_image_data_.data(), paused_image_data_size); file.close(); - paused_image_.header.cf = LV_IMG_CF_TRUE_COLOR; - paused_image_.header.always_zero = 0; - paused_image_.header.reserved = 0; + memset(&paused_image_, 0, sizeof(paused_image_)); + paused_image_.header.cf = LV_COLOR_FORMAT_NATIVE; paused_image_.header.w = width; paused_image_.header.h = height; paused_image_.data_size = width * height * 2; paused_image_.data = (const uint8_t*)paused_image_data_.data(); - lv_img_set_src(ui_pause_image, &paused_image_); - lv_img_set_size_mode(ui_pause_image, LV_IMG_SIZE_MODE_REAL); - // lv_img_set_size(ui_pause_image, width, height); - // set the scaling so that the image fits in the slot - auto scale = std::min(80.0f / width, 60.0f / height); - logger_.info("Setting pause image scale to {}", scale); - lv_img_set_zoom(ui_pause_image, uint16_t(scale * 256.)); - lv_obj_set_size(ui_pause_image, width * scale, height * scale); + lv_image_set_src(ui_pause_image, &paused_image_); + lv_obj_set_size(ui_pause_image, 80, 60); + lv_image_set_inner_align(ui_pause_image, LV_IMAGE_ALIGN_STRETCH); } void Menu::update_fps_label(float fps) { @@ -251,7 +241,7 @@ VideoSetting Menu::get_video_setting() { } void Menu::on_value_changed(lv_event_t *e) { - lv_obj_t * target = lv_event_get_target(e); + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); logger_.info("Value changed: {}", fmt::ptr(target)); // is it the settings button? bool is_video_setting = (target == ui_Dropdown2); @@ -262,7 +252,7 @@ void Menu::on_value_changed(lv_event_t *e) { } void Menu::on_pressed(lv_event_t *e) { - lv_obj_t * target = lv_event_get_target(e); + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); logger_.info("PRESSED: {}", fmt::ptr(target)); // emulation controls bool is_resume = (target == ui_resume_btn); @@ -372,7 +362,7 @@ void Menu::on_battery(const std::vector& data) { void Menu::on_key(lv_event_t *e) { // get the target of the event - lv_obj_t * target = lv_event_get_target(e); + lv_obj_t * target = (lv_obj_t*)lv_event_get_target(e); // determine if this is the dropdown and, if so if it is open // TODO: this is a really hacky way of getting the dropdown to work within a // group when managed by the keypad input device. I'm not sure if there's a diff --git a/components/nes/src/video_audio.cpp b/components/nes/src/video_audio.cpp index 26d77983..9ee6f608 100644 --- a/components/nes/src/video_audio.cpp +++ b/components/nes/src/video_audio.cpp @@ -140,7 +140,7 @@ static void set_palette(rgb_t *pal) printf("set palette!\n"); for (i = 0; i < 256; i++) { - c = BoxEmu::make_color(pal[i].r, pal[i].g, pal[i].b); + c = make_color(pal[i].r, pal[i].g, pal[i].b); myPalette[i]= c; } diff --git a/components/rom_info/src/rom_info.cpp b/components/rom_info/src/rom_info.cpp index 62023469..975b2f3f 100644 --- a/components/rom_info/src/rom_info.cpp +++ b/components/rom_info/src/rom_info.cpp @@ -73,6 +73,7 @@ std::vector parse_metadata(const std::string& metadata_path) { fmt::print("{}", infos.back()); } } + fmt::print("Loaded {} roms from metadata file {}\n", infos.size(), metadata_path); return infos; } diff --git a/components/sms/smsplus/render.c b/components/sms/smsplus/render.c index 489fd9f6..dc1ea17d 100644 --- a/components/sms/smsplus/render.c +++ b/components/sms/smsplus/render.c @@ -835,7 +835,7 @@ void palette_sync(int index) } uint16 color = MAKE_PIXEL(r, g, b); - pixel[index] = color; //(color >> 8) | (color << 8); + pixel[index] = (color >> 8) | (color << 8); } diff --git a/main/cart.hpp b/main/cart.hpp index 934702d9..0f86f472 100644 --- a/main/cart.hpp +++ b/main/cart.hpp @@ -20,11 +20,11 @@ /// - romdata class Cart { public: - + using Pixel = lv_color16_t; /// Configuration for the Cart class struct Config { RomInfo info; ///< rom info - std::shared_ptr display; ///< display pointer for the menu + std::shared_ptr> display; ///< display pointer for the menu espp::Logger::Verbosity verbosity = espp::Logger::Verbosity::WARN; ///< verbosity level for the logger }; @@ -43,7 +43,6 @@ class Cart { romdata_ = BoxEmu::get().romdata(); // create the menu menu_ = std::make_unique(Menu::Config{ - .display = display_, .paused_image_path = get_paused_image_path(), .action_callback = std::bind(&Cart::on_menu_action, this, std::placeholders::_1), @@ -306,6 +305,6 @@ class Cart { RomInfo info_; std::string savedir_; std::unique_ptr menu_; - std::shared_ptr display_; + std::shared_ptr> display_; espp::Logger logger_; }; diff --git a/main/carts.hpp b/main/carts.hpp index ebbcb3ad..a5c9c26b 100644 --- a/main/carts.hpp +++ b/main/carts.hpp @@ -9,7 +9,7 @@ #include "genesis_cart.hpp" #include "sms_cart.hpp" -std::unique_ptr make_cart(const RomInfo& info, std::shared_ptr display) { +std::unique_ptr make_cart(const RomInfo& info, std::shared_ptr> display) { switch (info.platform) { case Emulator::GAMEBOY: case Emulator::GAMEBOY_COLOR: diff --git a/main/main.cpp b/main/main.cpp index e7117fd6..2a34f2b2 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -6,7 +6,6 @@ #include #include -#include "drv2605.hpp" #include "logger.hpp" #include "task_monitor.hpp" #include "timer.hpp" @@ -21,12 +20,11 @@ using namespace std::chrono_literals; extern "C" void app_main(void) { - espp::Logger logger({.tag = "esp-box-emu", .level = espp::Logger::Verbosity::DEBUG}); + espp::Logger logger({.tag = "esp-box-emu", .level = espp::Logger::Verbosity::INFO}); logger.info("Bootup"); // initialize the hardware abstraction layer BoxEmu &emu = BoxEmu::get(); - emu.set_log_level(espp::Logger::Verbosity::INFO); espp::EspBox &box = espp::EspBox::get(); logger.info("Running on {}", box.box_type()); logger.info("Box Emu version: {}", emu.version()); @@ -62,27 +60,10 @@ extern "C" void app_main(void) { return; } - std::error_code ec; - - auto &external_i2c = emu.external_i2c(); - espp::Drv2605 haptic_motor(espp::Drv2605::Config{ - .device_address = espp::Drv2605::DEFAULT_ADDRESS, - .write = std::bind(&espp::I2c::write, &external_i2c, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), - .read_register = std::bind(&espp::I2c::read_at_register, &external_i2c, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4), - .motor_type = espp::Drv2605::MotorType::LRA - }); - // we're using an LRA motor, so select th LRA library. - haptic_motor.select_library(espp::Drv2605::Library::LRA, ec); - - auto play_haptic = [&haptic_motor]() { - std::error_code ec; - haptic_motor.start(ec); - }; - auto set_waveform = [&haptic_motor](int waveform) { - std::error_code ec; - haptic_motor.set_waveform(0, (espp::Drv2605::Waveform)(waveform), ec); - haptic_motor.set_waveform(1, espp::Drv2605::Waveform::END, ec); - }; + if (!emu.initialize_haptics()) { + logger.warn("Failed to initialize haptics!"); + logger.warn("This may happen if the gamepad is not connected."); + } logger.info("initializing gui..."); @@ -90,9 +71,8 @@ extern "C" void app_main(void) { // initialize the gui Gui gui({ - .play_haptic = play_haptic, - .set_waveform = set_waveform, - .display = display, + .play_haptic = [&emu]() { emu.play_haptic_effect(); }, + .set_waveform = [&emu](uint8_t waveform) { emu.set_haptic_effect(waveform); }, .log_level = espp::Logger::Verbosity::WARN }); @@ -106,15 +86,13 @@ extern "C" void app_main(void) { } // have broken out of the loop, let the user know we're processing... - haptic_motor.start(ec); + emu.play_haptic_effect(); - // Now pause the LVGL gui - display->pause(); gui.pause(); auto maybe_selected_rom = gui.get_selected_rom(); if (maybe_selected_rom.has_value()) { - auto selected_rom = *maybe_selected_rom.value(); + auto selected_rom = maybe_selected_rom.value(); logger.info("Selected rom:\n\t{}", selected_rom); print_heap_state(); @@ -123,6 +101,7 @@ extern "C" void app_main(void) { { std::unique_ptr cart(make_cart(selected_rom, display)); + display->pause(); if (cart) { while (cart->run()); } else { diff --git a/sdkconfig.defaults b/sdkconfig.defaults index afcee9a8..4713cb44 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -11,6 +11,7 @@ CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y CONFIG_ESPTOOLPY_FLASHSIZE="16MB" # over twice as fast as DIO CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_FREERTOS_HZ=1000 @@ -73,19 +74,9 @@ CONFIG_LV_BUILD_EXAMPLES=n # NOTE: this will need to be increased if more menu / UI elements are added, or # if there are a _lot_ of roms. -CONFIG_LV_MEM_SIZE_KILOBYTES=60 +CONFIG_LV_MEM_SIZE_KILOBYTES=50 -# -# LVGL configuration - # Color settings -# -# CONFIG_LV_COLOR_DEPTH_32 is not set -CONFIG_LV_COLOR_DEPTH_16=y -# CONFIG_LV_COLOR_DEPTH_8 is not set -# CONFIG_LV_COLOR_DEPTH_1 is not set -CONFIG_LV_COLOR_DEPTH=16 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_COLOR_MIX_ROUND_OFS=128 -CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +CONFIG_LV_DEF_REFR_PERIOD=16 # # LVGL configuration - # Themes @@ -93,4 +84,4 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 CONFIG_LV_USE_THEME_DEFAULT=y CONFIG_LV_THEME_DEFAULT_DARK=y CONFIG_LV_THEME_DEFAULT_GROW=y -CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=30